index.html 70 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331
  1. <!DOCTYPE html><html><head>
  2. <title>index</title>
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css">
  6. <script src="https://cdn.jsdelivr.net/npm/mermaid@11.1.1/dist/mermaid.min.js"></script>
  7. <style>
  8. code[class*=language-],pre[class*=language-]{color:#333;background:0 0;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.4;-moz-tab-size:8;-o-tab-size:8;tab-size:8;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:.8em;overflow:auto;border-radius:3px;background:#f5f5f5}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal;background:#f5f5f5}.token.blockquote,.token.comment{color:#969896}.token.cdata{color:#183691}.token.doctype,.token.macro.property,.token.punctuation,.token.variable{color:#333}.token.builtin,.token.important,.token.keyword,.token.operator,.token.rule{color:#a71d5d}.token.attr-value,.token.regex,.token.string,.token.url{color:#183691}.token.atrule,.token.boolean,.token.code,.token.command,.token.constant,.token.entity,.token.number,.token.property,.token.symbol{color:#0086b3}.token.prolog,.token.selector,.token.tag{color:#63a35c}.token.attr-name,.token.class,.token.class-name,.token.function,.token.id,.token.namespace,.token.pseudo-class,.token.pseudo-element,.token.url-reference .token.variable{color:#795da3}.token.entity{cursor:help}.token.title,.token.title .token.punctuation{font-weight:700;color:#1d3e81}.token.list{color:#ed6a43}.token.inserted{background-color:#eaffea;color:#55a532}.token.deleted{background-color:#ffecec;color:#bd2c00}.token.bold{font-weight:700}.token.italic{font-style:italic}.language-json .token.property{color:#183691}.language-markup .token.tag .token.punctuation{color:#333}.language-css .token.function,code.language-css{color:#0086b3}.language-yaml .token.atrule{color:#63a35c}code.language-yaml{color:#183691}.language-ruby .token.function{color:#333}.language-markdown .token.url{color:#795da3}.language-makefile .token.symbol{color:#795da3}.language-makefile .token.variable{color:#183691}.language-makefile .token.builtin{color:#0086b3}.language-bash .token.keyword{color:#0086b3}pre[data-line]{position:relative;padding:1em 0 1em 3em}pre[data-line] .line-highlight-wrapper{position:absolute;top:0;left:0;background-color:transparent;display:block;width:100%}pre[data-line] .line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}pre[data-line] .line-highlight:before,pre[data-line] .line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}pre[data-line] .line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}html body{font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ol,html body>ul{margin-bottom:16px}html body ol,html body ul{padding-left:2em}html body ol.no-list,html body ul.no-list{padding:0;list-style-type:none}html body ol ol,html body ol ul,html body ul ol,html body ul ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:700;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::after,html body code::before{letter-spacing:-.2em;content:'\00a0'}html body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:after,html body pre code:before,html body pre tt:after,html body pre tt:before{content:normal}html body blockquote,html body dl,html body ol,html body p,html body pre,html body ul{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body code,html body pre{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview ul{list-style:disc}.markdown-preview ul ul{list-style:circle}.markdown-preview ul ul ul{list-style:square}.markdown-preview ol{list-style:decimal}.markdown-preview ol ol,.markdown-preview ul ol{list-style-type:lower-roman}.markdown-preview ol ol ol,.markdown-preview ol ul ol,.markdown-preview ul ol ol,.markdown-preview ul ul ol{list-style-type:lower-alpha}.markdown-preview .newpage,.markdown-preview .pagebreak{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center!important}.markdown-preview:not([data-for=preview]) .code-chunk .code-chunk-btn-group{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .status{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .output-div{margin-bottom:16px}.markdown-preview .md-toc{padding:0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link div,.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}.markdown-preview .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0;min-height:100vh}@media screen and (min-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{font-size:14px!important;padding:1em}}@media print{html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc{padding:0 16px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div,html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% - 300px);padding:2em calc(50% - 457px - 300px / 2);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
  9. /* Please visit the URL below for more information: */
  10. /* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
  11. </style>
  12. <!-- The content below will be included at the end of the <head> element. --><script type="text/javascript">
  13. document.addEventListener("DOMContentLoaded", function () {
  14. // your code here
  15. });
  16. </script></head><body for="html-export">
  17. <div class="crossnote markdown-preview ">
  18. <h3 id="总流程">总流程 </h3>
  19. <p></p><div class="mermaid"> flowchart LR
  20. Start((开始)) --&gt; Login[登录/注册]
  21. Login --&gt; UserLogin[用户登录]
  22. Login --&gt; TechLogin[技师登录]
  23. %% 用户主要流程
  24. UserLogin --&gt; UserOrder[用户下单]
  25. UserOrder --&gt; SelectTech[选择技师]
  26. UserOrder --&gt; SelectService[选择服务项目]
  27. SelectTech &amp; SelectService --&gt; Payment[订单支付]
  28. Payment --&gt; OfflineService[线下服务]
  29. OfflineService --&gt; EndOrder[订单结束]
  30. EndOrder --&gt; Settlement[分账结算]
  31. Settlement --&gt; End
  32. %% 用户其他功能
  33. UserLogin --&gt; Wallet[用户钱包]
  34. Wallet --&gt; Recharge[用户充值]
  35. Wallet --&gt; Withdraw[用户提现]
  36. UserLogin --&gt; Marketing[营销券]
  37. UserLogin --&gt; UserTeam[我的团队]
  38. UserTeam --&gt; TeamMember[团队成员]
  39. UserTeam --&gt; TeamCommission[团队佣金]
  40. UserTeam --&gt; ShareMoney[分享赚钱]
  41. UserLogin --&gt; Member[嘀咚会员]
  42. UserLogin --&gt; Channel[渠道合作]
  43. Channel --&gt; TechApply[技师申请]
  44. Channel --&gt; BusinessApply[业务员申请]
  45. UserLogin --&gt; Logout[注销账号]
  46. %% 技师主要流程
  47. TechLogin --&gt; ServiceSetting[服务项目设置]
  48. TechLogin --&gt; OrderSetting[接单设置]
  49. TechLogin --&gt; TechAccept[技师接单]
  50. TechLogin --&gt; TechGrab[技师抢单]
  51. TechAccept &amp; TechGrab --&gt; StartService[线下服务]
  52. StartService --&gt; EndOrder[订单结束]
  53. EndOrder --&gt; Settlement[分账结算]
  54. Settlement --&gt; End
  55. %% 技师其他功能
  56. TechLogin --&gt; TechTeam[技师团队]
  57. TechTeam --&gt; TeamMember[团队成员]
  58. TechTeam --&gt; TeamCommission[团队佣金]
  59. TechTeam --&gt; ShareMoney[分享赚钱]
  60. TechLogin --&gt; TechWallet[技师钱包]
  61. TechWallet --&gt; TechRecharge[技师充值]
  62. TechWallet --&gt; TechWithdraw[技师提现]
  63. TechLogin --&gt; Contract[合同解约]
  64. TechLogin --&gt; CheckIn[异地签到]
  65. TechLogin --&gt; LogoutJ[注销账号]
  66. %% 样式设置
  67. classDef primary fill:#e1f5fe,stroke:#01579b,stroke-width:2px
  68. classDef secondary fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
  69. classDef process fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px
  70. class UserLogin,TechLogin primary
  71. class UserOrder,TechAccept,TechGrab secondary
  72. class Payment,OfflineService,Settlement process
  73. click UserLogin href "#用户登录哈"
  74. click Wallet href "#用户钱包哈"
  75. click Recharge href "#用户充值哈"
  76. click Withdraw href "#用户提现哈"
  77. click Marketing href "#营销券"
  78. click UserTeam href "#我的团队哈"
  79. click Member href "#嘀咚会员"
  80. click TechApply href "#技师申请"
  81. click TechLogin href "#技师登录"
  82. click TechTeam href "#技师团队"
  83. click TechWallet href "#技师钱包"
  84. click TechRecharge href "#技师充值"
  85. click TechWithdraw href "#技师提现"
  86. click ServiceSetting href "#项目设置哈"
  87. click OrderSetting href "#接单设置哈"
  88. click Contract href "#合同解约"
  89. click CheckIn href "#异地签到"
  90. click TeamMember href "#团队成员"
  91. click TeamCommission href "#团队佣金"
  92. click ShareMoney href "#分享赚钱"
  93. click SelectTech,TechAccept href "#选择技师下单"
  94. click SelectService,TechGrab href "#选择项目下单哈"
  95. click Payment href "#订单支付"
  96. click OfflineService,EndOrder,StartService href "#服务流程"
  97. click Settlement href "#分账结算"
  98. click Logout href "#用户注销账号"
  99. click LogoutJ href "#技师注销账号"
  100. </div><h4 id="用户登录哈">用户登录哈 </h4>
  101. <p><strong><em>后台逻辑:</em></strong></p>
  102. <ol>
  103. <li><a href="#%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95">用户登录</a></li>
  104. <li><a href="#%E5%BE%AE%E4%BF%A1%E7%99%BB%E5%BD%95">微信登录</a></li>
  105. </ol>
  106. <p><strong><em>前端逻辑:</em></strong><br>
  107. –SUDOQ–</p>
  108. <h4 id="用户钱包哈">用户钱包哈 </h4>
  109. <p><strong><em>后台逻辑:</em></strong></p>
  110. <ol>
  111. <li>用户点击钱包</li>
  112. <li><a href="#%E7%94%A8%E6%88%B7%E9%92%B1%E5%8C%85">用户钱包</a></li>
  113. </ol>
  114. <p><strong><em>UI 图:</em></strong></p>
  115. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E9%92%B1%E5%8C%85.png" alt=""></p>
  116. <h4 id="用户充值哈">用户充值哈 </h4>
  117. <p><strong><em>后台逻辑:</em></strong></p>
  118. <ol>
  119. <li>用户选择充值类型(平台充值、技师充值),充值方式,充值金额</li>
  120. <li><a href="#%E7%94%A8%E6%88%B7%E5%85%85%E5%80%BC">用户充值</a> --SUDOH–</li>
  121. </ol>
  122. <p><strong><em>UI 图:</em></strong></p>
  123. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE%E5%85%85%E5%80%BC.png" alt=""></p>
  124. <h4 id="用户提现哈">用户提现哈 </h4>
  125. <p><strong><em>后台逻辑:</em></strong></p>
  126. <ol>
  127. <li>用户点击体现、提现方式、体现金额</li>
  128. <li><a href="#%E7%94%A8%E6%88%B7%E6%8F%90%E7%8E%B0">用户提现</a></li>
  129. </ol>
  130. <p><strong><em>UI 图:</em></strong></p>
  131. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E6%8F%90%E7%8E%B0.png" alt=""></p>
  132. <h4 id="营销券">营销券 </h4>
  133. <p><strong><em>后台逻辑:</em></strong></p>
  134. <ol>
  135. <li>用户点击营销券</li>
  136. <li>–SUDOH–</li>
  137. </ol>
  138. <p><strong><em>UI 图:</em></strong></p>
  139. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E8%90%A5%E9%94%80%E5%88%B8.png" alt=""></p>
  140. <h4 id="我的团队哈">我的团队哈 </h4>
  141. <p><strong><em>后台逻辑:</em></strong></p>
  142. <ol>
  143. <li>用户点击我的团队</li>
  144. <li><a href="#%E6%88%91%E7%9A%84%E5%9B%A2%E9%98%9F">我的团队</a></li>
  145. </ol>
  146. <p><strong><em>UI 图:</em></strong><br>
  147. –SUDOQ–</p>
  148. <h4 id="团队成员">团队成员 </h4>
  149. <p><strong><em>后台逻辑:</em></strong></p>
  150. <ol>
  151. <li>用户点击团队成员</li>
  152. <li>–SUDOH–</li>
  153. </ol>
  154. <p><strong><em>UI 图:</em></strong><br>
  155. –SUDOQ–</p>
  156. <h4 id="团队佣金">团队佣金 </h4>
  157. <p><strong><em>后台逻辑:</em></strong></p>
  158. <ol>
  159. <li>用户点击团队佣金<br>
  160. –SUDOH–</li>
  161. </ol>
  162. <p><strong><em>UI 图:</em></strong></p>
  163. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E5%9B%A2%E9%98%9F%E4%BD%A3%E9%87%91.png" alt=""></p>
  164. <h4 id="分享赚钱">分享赚钱 </h4>
  165. <p><strong><em>后台逻辑:</em></strong></p>
  166. <ol>
  167. <li>用户点击分享赚钱</li>
  168. <li>–SUDOH–</li>
  169. </ol>
  170. <p><strong><em>UI 图:</em></strong><br>
  171. –SUDOQ–</p>
  172. <h4 id="嘀咚会员">嘀咚会员 </h4>
  173. <p><strong><em>后台逻辑:</em></strong></p>
  174. <ol>
  175. <li>用户点击嘀咚会员</li>
  176. <li>–SUDOH–</li>
  177. </ol>
  178. <p><strong><em>UI 图:</em></strong></p>
  179. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E5%98%80%E5%92%9A%E4%BC%9A%E5%91%98.png" alt=""></p>
  180. <h4 id="渠道合作">渠道合作 </h4>
  181. <p><strong><em>UI 图:</em></strong></p>
  182. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E6%B8%A0%E9%81%93%E5%90%88%E4%BD%9C.png" alt=""></p>
  183. <h4 id="技师申请">技师申请 </h4>
  184. <p><a href="#%E6%8A%80%E5%B8%88%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B">技师注册</a></p>
  185. <h4 id="业务员申请">业务员申请 </h4>
  186. <p><strong><em>后台逻辑:</em></strong><br>
  187. –SUDOH–</p>
  188. <p><strong><em>UI 图:</em></strong><br>
  189. –SUDOQ–</p>
  190. <h4 id="技师登录">技师登录 </h4>
  191. <p>1.技师登录就是用户登录</p>
  192. <h4 id="技师钱包">技师钱包 </h4>
  193. <p><strong><em>后台逻辑:</em></strong></p>
  194. <ol>
  195. <li>技师点击钱包</li>
  196. <li><a href="#%E8%8E%B7%E5%8F%96%E9%92%B1%E5%8C%85">技师钱包</a></li>
  197. </ol>
  198. <p><strong><em>UI 图:</em></strong></p>
  199. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E6%8A%80%E5%B8%88%E9%92%B1%E5%8C%85.png" alt=""></p>
  200. <h4 id="技师充值">技师充值 </h4>
  201. <p><strong><em>后台逻辑:</em></strong></p>
  202. <ol>
  203. <li>技师点击充值</li>
  204. <li>–SUDOH–</li>
  205. </ol>
  206. <p><strong><em>UI 图:</em></strong><br>
  207. –SUDOQ–</p>
  208. <h4 id="技师提现">技师提现 </h4>
  209. <p><strong><em>后台逻辑:</em></strong></p>
  210. <ol>
  211. <li>技师点击提现</li>
  212. <li><a href="#%E6%8F%90%E7%8E%B0">技师提现</a></li>
  213. </ol>
  214. <p><strong><em>UI 图:</em></strong><br>
  215. –SUDOQ–</p>
  216. <h4 id="项目设置哈">项目设置哈 </h4>
  217. <p><strong><em>后台逻辑:</em></strong></p>
  218. <ol>
  219. <li>针对每个项目进行设置</li>
  220. <li><a href="#%E8%8E%B7%E5%8F%96%E9%A1%B9%E7%9B%AE">技师项目列表</a></li>
  221. <li><a href="#%E8%AE%BE%E7%BD%AE%E9%A1%B9%E7%9B%AE">项目设置</a></li>
  222. </ol>
  223. <p><strong><em>UI 图:</em></strong></p>
  224. <p>1.技师项目列表</p>
  225. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E7%82%B9%E5%87%BB%E9%A1%B9%E7%9B%AE%E8%AE%BE%E7%BD%AE.png" alt=""></p>
  226. <p>2.技师项目设置</p>
  227. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E8%AE%BE%E7%BD%AE%E9%A1%B9%E7%9B%AE.png" alt=""></p>
  228. <h4 id="接单设置哈">接单设置哈 </h4>
  229. <p><strong><em>后台逻辑:</em></strong></p>
  230. <ol>
  231. <li>点击接单设置</li>
  232. <li><a href="#%E8%AE%BE%E7%BD%AE%E5%B7%A5%E6%97%B6">接单设置</a></li>
  233. </ol>
  234. <p><strong><em>UI 图:</em></strong></p>
  235. <p><img src="./assets/%E6%80%BB%E6%B5%81%E7%A8%8B%E6%B6%89%E5%8F%8A%E5%88%B0%E7%9A%84%E5%9B%BE/%E6%8E%A5%E5%8D%95%E8%AE%BE%E7%BD%AE.png" alt=""></p>
  236. <h4 id="选择技师下单">选择技师下单 </h4>
  237. <p><a href="#%E9%80%89%E6%8B%A9%E6%8A%80%E5%B8%88%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B">选择技师下单</a></p>
  238. <h4 id="选择项目下单哈">选择项目下单哈 </h4>
  239. <p><a href="#%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95">选择项目下单</a></p>
  240. <h4 id="订单支付">订单支付 </h4>
  241. <p><strong><em>后台逻辑:</em></strong></p>
  242. <ol>
  243. <li>用户点击订单支付</li>
  244. <li>–SUDOH–</li>
  245. </ol>
  246. <h4 id="线下服务">线下服务 </h4>
  247. <p><a href="#%E6%9C%8D%E5%8A%A1%E6%B5%81%E7%A8%8B">线下服务</a></p>
  248. <h4 id="分账结算">分账结算 </h4>
  249. <p><strong><em>后台逻辑:</em></strong></p>
  250. <ol>
  251. <li>订单结束</li>
  252. <li><a href="#%E5%88%86%E8%B4%A6%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1">分账结算</a></li>
  253. </ol>
  254. <h4 id="合同解约">合同解约 </h4>
  255. <p><strong><em>后台逻辑:</em></strong><br>
  256. –SUDOH–</p>
  257. <p><strong><em>UI 图:</em></strong><br>
  258. –SUDOQ–</p>
  259. <h4 id="异地签到">异地签到 </h4>
  260. <p><strong><em>后台逻辑:</em></strong><br>
  261. –SUDOH–</p>
  262. <p><strong><em>UI 图:</em></strong><br>
  263. –SUDOQ–</p>
  264. <h4 id="技师注销账号">技师注销账号 </h4>
  265. <p><strong><em>后台逻辑:</em></strong><br>
  266. –SUDOH–</p>
  267. <h4 id="用户注销账号">用户注销账号 </h4>
  268. <p><strong><em>后台逻辑:</em></strong><br>
  269. <a href="#%E7%94%A8%E6%88%B7%E6%B3%A8%E9%94%80">用户注销账号</a></p>
  270. <p></p>
  271. <h3 id="技师注册流程">技师注册流程 </h3>
  272. <p></p><div class="mermaid">flowchart TD
  273. A[用户端申请成为技师] --&gt; B[客服登录后台管理进行审核]
  274. B --&gt;|审核中| C[申请页面显示正在审核]
  275. B --&gt;|拒绝| D[可以修改个人信息重新申请]
  276. B --&gt;|通过| E[申请页面变成切换身份进入技端]
  277. E --&gt; F[进入技师端]
  278. F --&gt; G[支付宝实名认证,技师上传认证资料]
  279. G --&gt; I[客服再次对技师进行审核]
  280. I --&gt; J[签合同]
  281. J --&gt; Z[初始化项目设置、接单设置默认值,后台]
  282. click A href "#技师申请" _self
  283. click F href "#技师端" _self
  284. click G href "#技师认证" _self
  285. click I href "#技师认证审核" _self
  286. click J href "#签合同" _self
  287. </div><h4 id="技师申请-1">技师申请 </h4>
  288. <p><strong><em>后台逻辑</em></strong></p>
  289. <p>申请信息:姓名、性别、出生日期、联系方式、意向城市<br>
  290. 状态:审核中、拒绝、通过</p>
  291. <p><strong><em>UI 图</em></strong></p>
  292. <p><img src="./assets/%E6%8A%80%E5%B8%88%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B%E5%9B%BE/%E6%8A%80%E5%B8%88%E7%94%B3%E8%AF%B7.png" alt=""></p>
  293. <h4 id="技师端">技师端 </h4>
  294. <p><strong><em>UI 图</em></strong></p>
  295. <p><img src="./assets/%E6%8A%80%E5%B8%88%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B%E5%9B%BE/%E6%8A%80%E5%B8%88%E7%AB%AF%E8%A1%A5%E5%85%85.png" alt=""></p>
  296. <h4 id="技师认证">技师认证 </h4>
  297. <p><strong><em>后台逻辑</em></strong></p>
  298. <p>上传资料:按摩证、营业执照、健康证、身份证正反面、手持身份证</p>
  299. <p><strong><em>UI 图</em></strong></p>
  300. <p><img src="./assets/%E6%8A%80%E5%B8%88%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B%E5%9B%BE/%E6%9F%A5%E7%9C%8B%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF.png" alt=""><br>
  301. <img src="./assets/%E6%8A%80%E5%B8%88%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B%E5%9B%BE/%E8%A1%A5%E5%85%85%E4%BF%A1%E6%81%AF.png" alt=""></p>
  302. <h4 id="技师认证审核">技师认证审核 </h4>
  303. <p><strong><em>后台逻辑</em></strong></p>
  304. <p>审核:通过、拒绝</p>
  305. <p><strong><em>UI 图</em></strong></p>
  306. <p><img src="./assets/%E6%8A%80%E5%B8%88%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B%E5%9B%BE/%E5%B9%B3%E5%8F%B0%E5%AE%A1%E6%A0%B8.png" alt=""></p>
  307. <h4 id="签合同">签合同 </h4>
  308. <p><mark>TODOQ</mark> 待画签合同页面<br>
  309. <mark>TODOH</mark> 签合同逻辑</p>
  310. <p></p>
  311. <h3 id="下单流程">下单流程 </h3>
  312. <p></p><p><span>[CROSSNOTETOC]</span></p>
  313. <h4 id="选择技师下单流程">选择技师下单流程 </h4>
  314. <div class="mermaid"> flowchart TD
  315. %% 基础选择流程
  316. Start([开始]) --&gt; A[用户选择服务位置]
  317. A --&gt; B[查询附近技师列表]
  318. B --&gt; C[用户选择技师]
  319. C --&gt; D[展示技师项目列表]
  320. D --&gt; E[用户选择项目]
  321. E --&gt; F[展示项目详情]
  322. F --&gt; G[用户选择服务时间]
  323. G --&gt; H[用户选择营销卷]
  324. H --&gt; I[计算订单费用]
  325. %% 支付流程
  326. I --&gt; J[用户确认下单]
  327. J --&gt; K{支付结果}
  328. %% 支付失败处理
  329. K --&gt;|失败| L[订单状态:待付款]
  330. L --&gt; M[客服跟进]
  331. M --&gt; N{用户选择}
  332. N --&gt;|重新支付| J
  333. N --&gt;|取消订单| O[退款处理]
  334. %% 支付成功处理
  335. K --&gt;|成功| P[订单状态:已支付]
  336. P --&gt; Q[推送订单给技师]
  337. %% 技师处理流程
  338. Q --&gt; R{技师处理}
  339. %% 技师接单分支
  340. R --&gt;|接单| S[订单状态:已接单]
  341. S --&gt; T[技师确认出发]
  342. T --&gt; U[订单状态:已出发]
  343. %% 技师拒单分支
  344. R --&gt;|拒单| V[订单状态:已拒绝]
  345. V --&gt; W[客服处理]
  346. W --&gt; X{处理方案}
  347. X --&gt;|更换技师| Q
  348. X --&gt;|用户退款| O
  349. %% 接单超时处理
  350. R --&gt;|超时| Y[客服跟进]
  351. Y --&gt; Z{处理结果}
  352. Z --&gt;|联系上技师| R
  353. Z --&gt;|更换技师| Q
  354. Z --&gt;|取消订单| O
  355. %% 结束节点
  356. U --&gt; End([开始服务])
  357. O --&gt; Cancel([订单结束])
  358. %% 样式定义
  359. classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px
  360. classDef process fill:#dcedc8,stroke:#33691e
  361. classDef decision fill:#fff3e0,stroke:#e65100
  362. classDef status fill:#e3f2fd,stroke:#0d47a1
  363. %% 应用样式
  364. class K,R,X,Z decision
  365. class L,P,S,U,V status
  366. class A,B,C,D,E,F,G,H,I process
  367. click A,B,C href "#用户选择技师"
  368. click D,E,F href "#用户选择项目"
  369. click G href "#用户选择可服务时间"
  370. click H,I href "#用户选择营销卷"
  371. click J href "#用户点击立即结算"
  372. click L href "#支付失败"
  373. click P href "#支付成功"
  374. click S href "#技师接单"
  375. click V href "#技师拒绝接单"
  376. click X href "#订单超时"
  377. </div><h5 id="用户选择技师">用户选择技师 </h5>
  378. <p><strong><em>后台逻辑:</em></strong></p>
  379. <ol>
  380. <li>获取前端传递的经纬度,根据经纬度查询出附近的技师</li>
  381. <li><a href="#%E8%8E%B7%E5%8F%96%E6%8A%80%E5%B8%88%E5%88%97%E8%A1%A8">获取技师列表</a></li>
  382. <li><a href="#%E8%8E%B7%E5%8F%96%E6%8A%80%E5%B8%88%E8%AF%A6%E6%83%85">获取技师详情</a></li>
  383. </ol>
  384. <p><strong><em>UI 图:</em></strong><br>
  385. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E9%80%89%E6%8B%A9%E6%8A%80%E5%B8%88%E4%B8%8B%E5%8D%95.png" alt=""></p>
  386. <h5 id="用户选择项目">用户选择项目 </h5>
  387. <p><strong><em>后台逻辑:</em></strong></p>
  388. <ol>
  389. <li>获取前端传递的技师 id,查询出该技师下可服务项目</li>
  390. <li>获取前端传递的区域地址,查询出该区域地址可服务项目(370602 或 156370602)</li>
  391. <li><a href="#%E8%8E%B7%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%88%97%E8%A1%A8-%E6%8A%80%E5%B8%88%E5%BC%80%E9%80%9A%E7%A7%9F%E6%88%B7%E9%A1%B9%E7%9B%AE">获取项目列表</a></li>
  392. <li><a href="#%E8%8E%B7%E5%8F%96%E9%A1%B9%E7%9B%AE%E8%AF%A6%E6%83%85-%E7%A7%9F%E6%88%B7%E9%A1%B9%E7%9B%AE">获取项目详情</a></li>
  393. </ol>
  394. <p><strong><em>UI 图:</em></strong><br>
  395. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE.png" alt=""></p>
  396. <h5 id="用户选择可服务时间">用户选择可服务时间 </h5>
  397. <p><strong>前端逻辑</strong></p>
  398. <ol>
  399. <li>获取前端传递的技师 id 和项目 id,查询出该技师下,该项目的可服务时间,以及下单详情信息</li>
  400. <li>获取前端传递的区域地址,计算订单金额(370602 或 156370602)</li>
  401. <li>获取前端传递的路程,计算订单金额</li>
  402. </ol>
  403. <p><strong><em>后台逻辑:</em></strong></p>
  404. <ol>
  405. <li><a href="#%E8%AE%A1%E7%AE%97%E8%AE%A2%E5%8D%95%E9%87%91%E9%A2%9D">计算订单金额</a></li>
  406. <li><a href="#%E8%AE%A2%E5%8D%95%E5%88%9D%E5%A7%8B%E5%8C%96-%E5%89%8D%E7%AB%AF%E5%88%9D%E5%A7%8B%E5%8C%96">订单详情</a></li>
  407. </ol>
  408. <p><strong><em>UI 图:</em></strong><br>
  409. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E9%80%89%E6%8B%A9%E5%8F%AF%E6%9C%8D%E5%8A%A1%E6%97%B6%E9%97%B4.png" alt=""></p>
  410. <h5 id="用户选择营销卷">用户选择营销卷 </h5>
  411. <p><strong><em>后台逻辑:</em></strong></p>
  412. <ol>
  413. <li>获取前端传递的技师 id 和项目 id,查询出该技师下,该项目的可使用的营销卷</li>
  414. <li>选择优惠劵</li>
  415. <li><a href="#%E8%AE%A1%E7%AE%97%E8%AE%A2%E5%8D%95%E9%87%91%E9%A2%9D">计算订单金额</a></li>
  416. </ol>
  417. <p><strong><em>UI 图:</em></strong><br>
  418. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E9%80%89%E6%8B%A9%E4%BC%98%E6%83%A0%E5%8A%B5.png" alt=""></p>
  419. <h5 id="用户点击立即结算">用户点击立即结算 </h5>
  420. <p><strong><em>后台逻辑:</em></strong></p>
  421. <ol>
  422. <li>创建订单,并判断使用的那种支付方式</li>
  423. <li><a href="#%E5%88%9B%E5%BB%BA%E8%AE%A2%E5%8D%95">创建订单</a></li>
  424. <li><a href="#%E8%8E%B7%E5%8F%96%E6%94%AF%E4%BB%98%E9%85%8D%E7%BD%AE">调用支付</a></li>
  425. </ol>
  426. <p><strong><em>UI 图:</em></strong><br>
  427. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E7%AB%8B%E5%8D%B3%E7%BB%93%E7%AE%97.png" alt=""></p>
  428. <h5 id="支付失败">支付失败 </h5>
  429. <p><strong><em>后台逻辑:</em></strong></p>
  430. <ol>
  431. <li>支付超时、取消支付导致的用户支付失败,极光推送客服用户支付失败</li>
  432. <li><a href="#%E6%94%AF%E4%BB%98%E5%A4%B1%E8%B4%A5">支付失败</a> TODO:??</li>
  433. </ol>
  434. <p><strong><em>UI 图:</em></strong><br>
  435. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E6%94%AF%E4%BB%98%E5%A4%B1%E8%B4%A5%E3%80%81%E6%94%AF%E4%BB%98%E8%B6%85%E6%97%B6.png" alt=""></p>
  436. <h5 id="支付成功">支付成功 </h5>
  437. <p><strong><em>后台逻辑:</em></strong></p>
  438. <ol>
  439. <li>支付成功,后台更改订单,且极光推送技师接单</li>
  440. <li><a href="#%E6%94%AF%E4%BB%98%E6%88%90%E5%8A%9F">支付成功</a> TODO:??</li>
  441. </ol>
  442. <p><strong><em>UI 图:</em></strong><br>
  443. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E5%B7%B2%E6%94%AF%E4%BB%98%E3%80%81%E5%BE%85%E6%8E%A5%E5%8D%95.png" alt=""></p>
  444. <h5 id="技师接单">技师接单 </h5>
  445. <p><strong><em>后台逻辑:</em></strong></p>
  446. <ol>
  447. <li>技师接单,用户同步数据</li>
  448. <li><a href="#%E6%8E%A5%E5%8D%95">技师接单</a></li>
  449. </ol>
  450. <p><strong><em>UI 图:</em></strong><br>
  451. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E6%8A%80%E5%B8%88%E7%A1%AE%E8%AE%A4%E6%8E%A5%E5%8D%95.png" alt=""></p>
  452. <h5 id="技师拒绝接单">技师拒绝接单 </h5>
  453. <p><strong><em>后台逻辑:</em></strong></p>
  454. <ol>
  455. <li>技师拒绝接单,客服介入,联系用户,更改技师或者用户取消订单退款</li>
  456. <li><a href="#%E6%8B%92%E7%BB%9D%E6%8E%A5%E5%8D%95">技师拒绝接单</a></li>
  457. </ol>
  458. <p><strong><em>UI 图:</em></strong><br>
  459. <img src="./assets/%E4%B8%8B%E5%8D%95%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%89%87/%E6%8A%80%E5%B8%88%E6%8B%92%E7%BB%9D%E6%8E%A5%E5%8D%95.png" alt=""></p>
  460. <h5 id="订单超时">订单超时 </h5>
  461. <p><strong><em>后台逻辑:</em></strong></p>
  462. <ol>
  463. <li>技师没有在规定时间内接单,客服介入,联系技师</li>
  464. <li><a href="#%E8%AE%A2%E5%8D%95%E8%B6%85%E6%97%B6">订单超时</a> TODO: 客服介入后,对订单进行处理(更换技师、用户退款、取消订单、转公单等)</li>
  465. </ol>
  466. <h4 id="选择项目下单">选择项目下单 </h4>
  467. <div class="mermaid"> flowchart TD
  468. %% 主流程起点
  469. Start[开始] --&gt; Init[初始化订单]
  470. %% 订单创建阶段
  471. subgraph 订单创建
  472. Init --&gt; A1[获取用户位置]
  473. A1 --&gt; A2[查询区域服务]
  474. A2 --&gt; A3[用户选择服务]
  475. A3 --&gt; A4[选择地址/时间/优惠券]
  476. A4 --&gt; A5[创建空订单]
  477. end
  478. %% 抢单阶段
  479. subgraph 抢单流程
  480. A5 --&gt; B1[进入抢单池]
  481. B1 --&gt; B2[推送给技师]
  482. B2 --&gt; B3{是否有技师抢单?}
  483. B3 --&gt;|是| B4[展示技师列表]
  484. B3 --&gt;|否| B5[等待5-8分钟]
  485. B5 --&gt; B6[客服介入]
  486. end
  487. %% 用户选择阶段
  488. subgraph 用户选择
  489. B4 --&gt; C1{用户是否选择?}
  490. C1 --&gt;|是| C2[锁定技师]
  491. C1 --&gt;|否| C3[等待30分钟]
  492. C2 --&gt; C4[计算费用]
  493. C3 --&gt; B6
  494. end
  495. %% 支付阶段
  496. subgraph 支付流程
  497. C4 --&gt; D1[展示订单详情]
  498. D1 --&gt; D2{用户支付?}
  499. D2 --&gt;|是| D3[支付处理]
  500. D2 --&gt;|否| D4[3分钟超时]
  501. D3 --&gt; D5{支付结果}
  502. D5 --&gt;|成功| D6[更新订单状态]
  503. D5 --&gt;|失败| D7[客服介入]
  504. D4 --&gt; D8[解绑技师]
  505. end
  506. %% 服务阶段
  507. subgraph 服务执行
  508. D6 --&gt; E1[通知技师]
  509. E1 --&gt; jh1[技师拒绝订单]
  510. jh1 --&gt; jh2[客服介入?]
  511. jh2 --&gt;|技师接单| E2[技师出发]
  512. jh2 --&gt;|技师拒单| jh3[客服介入,联系用户?]
  513. jh3 --&gt; jh4[用户接受更换技师]
  514. jh4 --&gt; E2
  515. jh3 --&gt; jh5[用户不接受更换技师]
  516. jh5 --&gt; Cancel
  517. E1 --&gt; E2[技师出发]
  518. E2 --&gt; E3[服务进行中]
  519. E3 --&gt; E4[服务完成]
  520. end
  521. %% 取消订单流程
  522. subgraph 取消处理
  523. Cancel[取消订单] --&gt; F1[客服确认]
  524. F1 --&gt; F2{是否可挽回?}
  525. F2 --&gt;|是| F3[恢复订单]
  526. F2 --&gt;|否| F4[退款处理]
  527. end
  528. %% 异常处理连接
  529. D7 --&gt; Cancel
  530. B6 --&gt; Cancel
  531. D8 --&gt; B1
  532. %% 结束节点
  533. E4 --&gt; End[结束]
  534. F4 --&gt; End
  535. F3 --&gt; D1
  536. %% 样式定义
  537. classDef success fill:#baffc9,stroke:#333,stroke-width:2px;
  538. classDef warning fill:#ffffba,stroke:#333,stroke-width:2px;
  539. classDef error fill:#ffb3ba,stroke:#333,stroke-width:2px;
  540. classDef normal fill:#f9f9f9,stroke:#333,stroke-width:2px;
  541. %% 应用样式
  542. class D6,E4 success;
  543. class D7,B6,Cancel warning;
  544. class F4 error;
  545. class Start,End normal;
  546. click A1,A2,A3 href "#用户选择项目"
  547. click A4,A5,B1,B2 href "#创建抢单类型订单,推送给技师"
  548. click B3,B4 href "#有技师抢单"
  549. click B5,B6 href "#无技师抢单"
  550. click C1,C2,C4 href "#用户选择技师"
  551. click C3,B6 href "#用户不反选技师"
  552. click D2,D3,D6,E1 href "#支付成功"
  553. click jh1,jh2,jh3,jh4,jh5 href "#技师拒绝接单"
  554. click D4,D7,D8 href "#支付失败"
  555. click E2 href "#技师出发"
  556. </div><h5 id="用户选择项目-1">用户选择项目 </h5>
  557. <p><strong><em>后台逻辑:</em></strong></p>
  558. <ol>
  559. <li>传递用户当前位置信息</li>
  560. <li><a href="#%E8%8E%B7%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%88%97%E8%A1%A8-%E6%8A%80%E5%B8%88%E5%BC%80%E9%80%9A%E7%A7%9F%E6%88%B7%E9%A1%B9%E7%9B%AE">服务项目列表</a></li>
  561. <li><a href="#%E8%8E%B7%E5%8F%96%E9%A1%B9%E7%9B%AE%E8%AF%A6%E6%83%85-%E7%A7%9F%E6%88%B7%E9%A1%B9%E7%9B%AE">服务项目详情</a></li>
  562. </ol>
  563. <p><strong><em>UI 图:</em></strong><br>
  564. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE.png" alt=""></p>
  565. <h5 id="创建抢单类型订单推送给技师">创建抢单类型订单,推送给技师 </h5>
  566. <p><strong><em>后台逻辑:</em></strong></p>
  567. <ol>
  568. <li>传递用户服务时间、服务地址、服务项目 id、优惠劵 id</li>
  569. <li><a href="#%E5%88%9B%E5%BB%BA%E8%AE%A2%E5%8D%95">创建订单</a></li>
  570. </ol>
  571. <p><strong><em>UI 图:</em></strong><br>
  572. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E4%B8%8B%E5%8D%95%E7%AD%89%E5%BE%85%E6%8A%80%E5%B8%88%E6%8A%A2%E5%8D%95.png" alt=""></p>
  573. <h5 id="有技师抢单">有技师抢单 </h5>
  574. <p><strong><em>后台逻辑:</em></strong></p>
  575. <ol>
  576. <li>传递技师 id,所抢订单 id,计算路费、技师代金卷等等一些逻辑</li>
  577. <li><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">用户取消订单</a></li>
  578. </ol>
  579. <p><strong><em>UI 图:</em></strong><br>
  580. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E6%9C%89%E6%8A%80%E5%B8%88%E6%8A%A2%E5%8D%95.png" alt=""></p>
  581. <h5 id="无技师抢单">无技师抢单 </h5>
  582. <p><strong><em>后台逻辑:</em></strong></p>
  583. <ol>
  584. <li>用户的抢单类型的订单无技师去抢,客服介入,联系附近技师</li>
  585. <li>包含超时的情况,记得处理</li>
  586. <li><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">用户取消订单</a></li>
  587. </ol>
  588. <p><strong><em>UI 图:</em></strong><br>
  589. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E6%97%A0%E6%8A%80%E5%B8%88%E6%8A%A2%E5%8D%95.png" alt=""></p>
  590. <h5 id="用户选择技师-1">用户选择技师 </h5>
  591. <p><strong><em>后台逻辑:</em></strong></p>
  592. <ol>
  593. <li>传递技师 id,所抢订单 id,用户 id,订单费用</li>
  594. <li>用户选择技师后,3 分钟内不支付,则技师解绑该订单,记得处理</li>
  595. <li><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">用户取消订单</a></li>
  596. <li><a href="#%E6%8C%87%E5%AE%9A%E6%8A%80%E5%B8%88%E4%BF%AE%E6%94%B9%E8%AE%A2%E5%8D%95">指定技师</a></li>
  597. </ol>
  598. <p><strong><em>UI 图:</em></strong><br>
  599. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E7%94%A8%E6%88%B7%E5%8F%8D%E9%80%89%E6%8A%80%E5%B8%88.png" alt=""></p>
  600. <h5 id="用户不反选技师">用户不反选技师 </h5>
  601. <p><strong><em>后台逻辑:</em></strong></p>
  602. <ol>
  603. <li>用户不反选技师</li>
  604. <li><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">用户取消订单</a></li>
  605. </ol>
  606. <p><strong><em>UI 图:</em></strong><br>
  607. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E7%94%A8%E6%88%B7%E4%B8%8D%E5%8F%8D%E9%80%89%E6%8A%80%E5%B8%88.png" alt=""></p>
  608. <h5 id="支付成功-1">支付成功 </h5>
  609. <p><strong><em>后台逻辑:</em></strong></p>
  610. <ol>
  611. <li>订单支付成功,技师和用户的推送提醒</li>
  612. <li><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">用户取消订单</a></li>
  613. </ol>
  614. <p><strong><em>UI 图:</em></strong><br>
  615. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E6%94%AF%E4%BB%98%E6%88%90%E5%8A%9F.png" alt=""></p>
  616. <h5 id="技师拒绝接单-1">技师拒绝接单 </h5>
  617. <p><strong><em>后台逻辑:</em></strong></p>
  618. <ol>
  619. <li>技师拒绝接单,客服介入,联系技师</li>
  620. <li><a href="#%E6%8E%A5%E5%8D%95">接单</a></li>
  621. <li><a href="#%E6%8B%92%E5%8D%95">拒单</a></li>
  622. <li>客服联系用户,用户接受更改技师或者取消订单</li>
  623. </ol>
  624. <p><strong><em>UI 图:</em></strong><br>
  625. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E6%8A%80%E5%B8%88%E6%8B%92%E7%BB%9D%E6%8E%A5%E5%8D%95.png" alt=""></p>
  626. <h5 id="支付失败-1">支付失败 </h5>
  627. <p><strong><em>后台逻辑:</em></strong></p>
  628. <ol>
  629. <li>支付失败,订单状态为待付款</li>
  630. <li>用户取消订单、选择技师、再次付款。存在超时的以及时间差的处理</li>
  631. <li><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">用户取消订单</a></li>
  632. <li><a href="#%E8%8E%B7%E5%8F%96%E6%94%AF%E4%BB%98%E9%85%8D%E7%BD%AE">支付订单</a></li>
  633. </ol>
  634. <p><strong><em>UI 图:</em></strong><br>
  635. <img src="./assets/%E7%94%A8%E6%88%B7%E9%80%89%E6%8B%A9%E9%A1%B9%E7%9B%AE%E4%B8%8B%E5%8D%95/%E6%94%AF%E4%BB%98%E5%A4%B1%E8%B4%A5.png" alt=""></p>
  636. <h5 id="技师出发">技师出发 </h5>
  637. <p><strong><em>后台逻辑:</em></strong></p>
  638. <ol>
  639. <li>技师出发,用户推送提醒</li>
  640. <li><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">用取消订单</a></li>
  641. </ol>
  642. <p></p>
  643. <h3 id="服务流程">服务流程 </h3>
  644. <p></p><div class="mermaid">flowchart TD
  645. %% 开始
  646. Start([开始服务流程]) --&gt; A
  647. %% 主要服务状态
  648. A[技师出发] --&gt; B[技师到达]
  649. B --&gt; C[开始服务]
  650. C --&gt; D[服务进行中]
  651. D --&gt; E[服务结束]
  652. E --&gt; F[用户确认技师离开]
  653. F --&gt; G[技师撤离]
  654. G --&gt; H[订单结算]
  655. H --&gt; EndNode([订单完成])
  656. %% 技师出发阶段异常
  657. A --&gt; A1{用户取消订单?}
  658. A1 --&gt;|是| A2[客服介入沟通]
  659. A2 --&gt; A3{用户是否继续?}
  660. A3 --&gt;|是| A
  661. A3 --&gt;|否| A4[技师撤离]
  662. A4 --&gt; A5[扣除违约金]
  663. A5 --&gt; EndNode
  664. A --&gt; B1{技师终止订单?}
  665. B1 --&gt;|是| B2[客服介入沟通]
  666. B2 --&gt; B3{技师是否继续?}
  667. B3 --&gt;|是| A
  668. B3 --&gt;|否| B4[客服联系用户]
  669. B4 --&gt; B5{是否更换技师?}
  670. B5 --&gt;|是| B6[重新分配技师]
  671. B6 --&gt; A
  672. B5 --&gt;|否| B7[订单结束]
  673. B7 --&gt; EndNode
  674. %% 技师到达阶段异常
  675. B --&gt; C1{线下用户取消订单?}
  676. C1 --&gt;|是| C2[客服介入沟通]
  677. C2 --&gt; C3{用户是否继续?}
  678. C3 --&gt;|是| B
  679. C3 --&gt;|否| C4[技师撤离]
  680. C4 --&gt; C5[扣除违约金]
  681. C5 --&gt; EndNode
  682. B --&gt; D1{联系不上用户?}
  683. D1 --&gt;|是| D2[技师等待]
  684. D2 --&gt; D3{等待&gt;10分钟?}
  685. D3 --&gt;|否| D2
  686. D3 --&gt;|是| D4[技师撤离]
  687. D4 --&gt; D5[扣除违约金]
  688. D5 --&gt; EndNode
  689. %% 服务进行中操作
  690. D --&gt; E1{用户结束订单?}
  691. E1 --&gt;|是| E2[更新订单状态]
  692. E2 --&gt; E
  693. D --&gt; F1{用户打赏?}
  694. F1 --&gt;|是| F2[创建打赏订单]
  695. F2 --&gt; D
  696. D --&gt; G1{用户加钟?}
  697. G1 --&gt;|是| G2[更新服务时长]
  698. G2 --&gt;G3{是否发生下一个客户服务时间冲突}
  699. G3 --&gt;|是|G4[客服介入]
  700. G4 --&gt; G5{技师和下一个用户协商往后延时?}
  701. G5 --&gt;|下一个用户不同意| G7[下一个用户与平台继续协商]
  702. G7 --&gt;G8{是否同意更换技师}
  703. G8 --&gt;|是| G9[更换技师]
  704. G8 --&gt;|否| G10[订单结束]
  705. G5 --&gt;|下一个用户同意| G6[更改下一订单开始服务时间]
  706. G6 --&gt; EndNode
  707. G2 --&gt; D
  708. %% 样式定义
  709. classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px
  710. classDef startEnd fill:#b2dfdb,stroke:#004d40,stroke-width:2px
  711. classDef process fill:#c8e6c9,stroke:#1b5e20,stroke-width:2px
  712. classDef decision fill:#fff3e0,stroke:#e65100,stroke-width:2px
  713. %% 应用样式
  714. class Start,EndNode startEnd
  715. class A,B,C,D,E,F,G,H process
  716. class A1,B1,C1,D1,E1,F1,G1,A3,B3,B5,C3,D3 decision
  717. click A href "#技师出发"
  718. click A1 href "#技师出发中,用户取消订单"
  719. click B1 href "#技师出发中,技师终止订单"
  720. click B href "#技师到达"
  721. click C1 href "#技师到达中,用户线下取消订单"
  722. click D1 href "#技师到达,联系不上用户"
  723. click D href "#开始服务"
  724. click E1 href "#服务进行中,用户结束订单"
  725. click F1 href "#服务进行中,用户打赏"
  726. click G1 href "#服务进行中,用户加钟"
  727. click E href "#服务结束"
  728. click F href "#用户确认技师离开"
  729. click G href "#技师撤离"
  730. click H href "#订单结算"
  731. </div><h4 id="技师出发-1">技师出发 </h4>
  732. <p><strong><em>后台逻辑:</em></strong></p>
  733. <ol>
  734. <li>技师点击确认<a href="#%E5%87%BA%E5%8F%91">出发</a></li>
  735. </ol>
  736. <h4 id="技师出发中用户取消订单用户取消订单">技师出发中,用户<a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">取消订单</a> </h4>
  737. <p><strong><em>后台逻辑:</em></strong></p>
  738. <ol>
  739. <li>技师未到达前,用户点击<a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">取消订单</a>,算是订单结束,扣除违约金<br>
  740. TODO:技师到达前,用户取消订单,客服介入,联系用户,确认取消,订单取消,扣除违约金(50%项目金额+车费)</li>
  741. <li>线下客服介入,联系用户</li>
  742. </ol>
  743. <h4 id="技师出发中技师终止订单">技师出发中,技师终止订单 </h4>
  744. <p><strong><em>后台逻辑:</em></strong></p>
  745. <ol>
  746. <li>技师点击终止订单,扣除违约金,客服介入,联系技师<br>
  747. TODO: 技师无法线上终止订单,联系客服</li>
  748. </ol>
  749. <h4 id="技师到达前用户线下取消订单">技师到达前,用户线下取消订单 </h4>
  750. <p><strong><em>后台逻辑:</em></strong></p>
  751. <ol>
  752. <li>技师未到达前,用户线下<a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">取消订单</a>,算是订单结束,扣除违约金<br>
  753. TODO:技师到达前,用户取消订单,客服介入,联系用户,确认取消,订单取消,扣除违约金(50%项目金额+车费)</li>
  754. <li>线下客服介入,联系用户,联系技师</li>
  755. </ol>
  756. <h4 id="技师到达联系不上用户">技师到达,联系不上用户 </h4>
  757. <p><strong><em>后台逻辑:</em></strong></p>
  758. <ol>
  759. <li>技师等待,等待时间超过 10 分钟,技师点击撤离,扣除违约金,订单结束</li>
  760. <li>客服介入,联系用户,联系技师</li>
  761. </ol>
  762. <h4 id="开始服务">开始服务 </h4>
  763. <p><strong><em>后台逻辑:</em></strong></p>
  764. <ol>
  765. <li>技师点击开始服务,进行扫码</li>
  766. </ol>
  767. <h4 id="服务进行中用户结束订单">服务进行中,用户结束订单 </h4>
  768. <p><strong><em>后台逻辑:</em></strong></p>
  769. <ol>
  770. <li>用户点击<a href="#%E7%BB%93%E6%9D%9F%E8%AE%A2%E5%8D%95">结束订单</a>,算是服务结束</li>
  771. </ol>
  772. <h4 id="服务进行中用户打赏">服务进行中,用户打赏 </h4>
  773. <p><strong><em>后台逻辑:</em></strong></p>
  774. <ol>
  775. <li>用户打赏,后台创建一个关联订单的子订单的打赏订单<br>
  776. TODO: 后台暂无打赏逻辑</li>
  777. </ol>
  778. <h4 id="服务进行中用户加钟">服务进行中,用户加钟 </h4>
  779. <p><strong><em>后台逻辑:</em></strong></p>
  780. <ol>
  781. <li>用户获取<a href="#%E8%8E%B7%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%88%97%E8%A1%A8-%E5%8A%A0%E9%92%9F">加钟项目列表</a></li>
  782. <li>用户点击<a href="#%E5%8A%A0%E9%92%9F">加钟</a>,后台创建新的订单和目前的订单有关联即可</li>
  783. <li>在原有剩余的时长增加时长</li>
  784. </ol>
  785. <h4 id="服务结束">服务结束 </h4>
  786. <p><strong><em>后台逻辑:</em></strong></p>
  787. <ol>
  788. <li>服务时长结束,服务结束<br>
  789. TODO:系统自动结束订单</li>
  790. </ol>
  791. <h4 id="用户确认技师离开">用户确认技师离开 </h4>
  792. <p><strong><em>后台逻辑:</em></strong></p>
  793. <ol>
  794. <li>用户点击<a href="#%E7%A1%AE%E8%AE%A4%E6%8A%80%E5%B8%88%E7%A6%BB%E5%BC%80">确认技师离开</a></li>
  795. </ol>
  796. <h4 id="技师撤离">技师撤离 </h4>
  797. <p><strong><em>后台逻辑:</em></strong></p>
  798. <ol>
  799. <li>技师点击<a href="#%E6%92%A4%E7%A6%BB">撤离</a>,订单结束</li>
  800. </ol>
  801. <h4 id="订单结算">订单结算 </h4>
  802. <p><strong><em>后台逻辑:</em></strong></p>
  803. <ol>
  804. <li>订单结算</li>
  805. </ol>
  806. <p></p>
  807. <h3 id="推广用户">推广用户 </h3>
  808. <h3 id="推荐技师">推荐技师 </h3>
  809. <p></p><pre class="language-text">渠道:业务员、技师、用户三种角色
  810. - 渠道推荐技师:
  811. - 渠道永久拥推荐技师1%的接单奖
  812. - 渠道获取平台奖励的1000元上限,从推荐技师每次订单金额中3%中提取。
  813. </pre>
  814. <p></p>
  815. <h3 id="分账">分账 </h3>
  816. <p></p><h4 id="分账简介版">分账简介版 </h4>
  817. <ul>
  818. <li>
  819. <p>涉及到的角色用户、技师、业务员、代理、店铺、平台</p>
  820. </li>
  821. <li>
  822. <p>用户可以成为技师、业务员、代理、店铺</p>
  823. </li>
  824. <li>
  825. <p>技师、业务员、代理、店铺角色可以互相切换</p>
  826. </li>
  827. <li>
  828. <p>所有分账建立在最后平台所得订单金额</p>
  829. </li>
  830. <li>
  831. <p>订单分为上门订单和救急订单和店铺订单</p>
  832. <ul>
  833. <li>A 订单金额(上门订单) = 技师劳动所得 + 技师上级(上下级渠道) + 用户(二级渠道)+ 平台所得(平台+代理)</li>
  834. <li>B 订单金额(救急订单) = 平台抽成 10%</li>
  835. <li>c 订单金额(店铺订单)= 店铺所得 + 平台抽取 20%(渠道推荐用户 10%)</li>
  836. </ul>
  837. </li>
  838. <li>
  839. <p>前端要实现,用户可以申请任何角色以及角色之间的互相切换</p>
  840. </li>
  841. <li>
  842. <p>后端要实现,分账逻辑,分账金额,分账比例,分账时间,分账状态,分账记录</p>
  843. </li>
  844. </ul>
  845. <h4 id="分账流程设计">分账流程设计 </h4>
  846. <ul>
  847. <li>用到的人物 A 技师 B 用户 C 代理 D 业务员 E 店铺 F 平台 G 渠道</li>
  848. <li>订单分类
  849. <ul>
  850. <li>上门订单
  851. <ul>
  852. <li>B 用户对 A 技师下单</li>
  853. <li>A 技师接单</li>
  854. <li>A 技师服务完 B 用户</li>
  855. <li>B 用户确认离开</li>
  856. <li>A 技师撤离</li>
  857. <li>订单结束</li>
  858. <li></li>
  859. </ul>
  860. </li>
  861. <li>救急订单</li>
  862. <li>店铺订单</li>
  863. </ul>
  864. </li>
  865. </ul>
  866. <p></p>
  867. <h3 id="营销">营销 </h3>
  868. </div>
  869. <div class="md-sidebar-toc">
  870. <div class="md-toc">
  871. <details style="padding:0;;padding-left:0px;" open="">
  872. <summary class="md-toc-link-wrapper">
  873. <a href="#总流程" class="md-toc-link"><p>总流程</p>
  874. </a>
  875. </summary>
  876. <div>
  877. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  878. <a href="#用户登录哈" class="md-toc-link">
  879. <p>用户登录哈</p>
  880. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  881. <a href="#用户钱包哈" class="md-toc-link">
  882. <p>用户钱包哈</p>
  883. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  884. <a href="#用户充值哈" class="md-toc-link">
  885. <p>用户充值哈</p>
  886. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  887. <a href="#用户提现哈" class="md-toc-link">
  888. <p>用户提现哈</p>
  889. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  890. <a href="#营销券" class="md-toc-link">
  891. <p>营销券</p>
  892. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  893. <a href="#我的团队哈" class="md-toc-link">
  894. <p>我的团队哈</p>
  895. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  896. <a href="#团队成员" class="md-toc-link">
  897. <p>团队成员</p>
  898. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  899. <a href="#团队佣金" class="md-toc-link">
  900. <p>团队佣金</p>
  901. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  902. <a href="#分享赚钱" class="md-toc-link">
  903. <p>分享赚钱</p>
  904. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  905. <a href="#嘀咚会员" class="md-toc-link">
  906. <p>嘀咚会员</p>
  907. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  908. <a href="#渠道合作" class="md-toc-link">
  909. <p>渠道合作</p>
  910. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  911. <a href="#技师申请" class="md-toc-link">
  912. <p>技师申请</p>
  913. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  914. <a href="#业务员申请" class="md-toc-link">
  915. <p>业务员申请</p>
  916. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  917. <a href="#技师登录" class="md-toc-link">
  918. <p>技师登录</p>
  919. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  920. <a href="#技师钱包" class="md-toc-link">
  921. <p>技师钱包</p>
  922. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  923. <a href="#技师充值" class="md-toc-link">
  924. <p>技师充值</p>
  925. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  926. <a href="#技师提现" class="md-toc-link">
  927. <p>技师提现</p>
  928. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  929. <a href="#项目设置哈" class="md-toc-link">
  930. <p>项目设置哈</p>
  931. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  932. <a href="#接单设置哈" class="md-toc-link">
  933. <p>接单设置哈</p>
  934. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  935. <a href="#选择技师下单" class="md-toc-link">
  936. <p>选择技师下单</p>
  937. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  938. <a href="#选择项目下单哈" class="md-toc-link">
  939. <p>选择项目下单哈</p>
  940. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  941. <a href="#订单支付" class="md-toc-link">
  942. <p>订单支付</p>
  943. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  944. <a href="#线下服务" class="md-toc-link">
  945. <p>线下服务</p>
  946. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  947. <a href="#分账结算" class="md-toc-link">
  948. <p>分账结算</p>
  949. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  950. <a href="#合同解约" class="md-toc-link">
  951. <p>合同解约</p>
  952. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  953. <a href="#异地签到" class="md-toc-link">
  954. <p>异地签到</p>
  955. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  956. <a href="#技师注销账号" class="md-toc-link">
  957. <p>技师注销账号</p>
  958. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  959. <a href="#用户注销账号" class="md-toc-link">
  960. <p>用户注销账号</p>
  961. </a></div>
  962. </div>
  963. </details>
  964. <details style="padding:0;;padding-left:0px;" open="">
  965. <summary class="md-toc-link-wrapper">
  966. <a href="#技师注册流程" class="md-toc-link"><p>技师注册流程</p>
  967. </a>
  968. </summary>
  969. <div>
  970. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  971. <a href="#技师申请-1" class="md-toc-link">
  972. <p>技师申请</p>
  973. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  974. <a href="#技师端" class="md-toc-link">
  975. <p>技师端</p>
  976. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  977. <a href="#技师认证" class="md-toc-link">
  978. <p>技师认证</p>
  979. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  980. <a href="#技师认证审核" class="md-toc-link">
  981. <p>技师认证审核</p>
  982. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  983. <a href="#签合同" class="md-toc-link">
  984. <p>签合同</p>
  985. </a></div>
  986. </div>
  987. </details>
  988. <details style="padding:0;;padding-left:0px;" open="">
  989. <summary class="md-toc-link-wrapper">
  990. <a href="#下单流程" class="md-toc-link"><p>下单流程</p>
  991. </a>
  992. </summary>
  993. <div>
  994. <details style="padding:0;;padding-left:24px;" open="">
  995. <summary class="md-toc-link-wrapper">
  996. <a href="#选择技师下单流程" class="md-toc-link"><p>选择技师下单流程</p>
  997. </a>
  998. </summary>
  999. <div>
  1000. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1001. <a href="#用户选择技师" class="md-toc-link">
  1002. <p>用户选择技师</p>
  1003. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1004. <a href="#用户选择项目" class="md-toc-link">
  1005. <p>用户选择项目</p>
  1006. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1007. <a href="#用户选择可服务时间" class="md-toc-link">
  1008. <p>用户选择可服务时间</p>
  1009. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1010. <a href="#用户选择营销卷" class="md-toc-link">
  1011. <p>用户选择营销卷</p>
  1012. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1013. <a href="#用户点击立即结算" class="md-toc-link">
  1014. <p>用户点击立即结算</p>
  1015. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1016. <a href="#支付失败" class="md-toc-link">
  1017. <p>支付失败</p>
  1018. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1019. <a href="#支付成功" class="md-toc-link">
  1020. <p>支付成功</p>
  1021. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1022. <a href="#技师接单" class="md-toc-link">
  1023. <p>技师接单</p>
  1024. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1025. <a href="#技师拒绝接单" class="md-toc-link">
  1026. <p>技师拒绝接单</p>
  1027. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1028. <a href="#订单超时" class="md-toc-link">
  1029. <p>订单超时</p>
  1030. </a></div>
  1031. </div>
  1032. </details>
  1033. <details style="padding:0;;padding-left:24px;" open="">
  1034. <summary class="md-toc-link-wrapper">
  1035. <a href="#选择项目下单" class="md-toc-link"><p>选择项目下单</p>
  1036. </a>
  1037. </summary>
  1038. <div>
  1039. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1040. <a href="#用户选择项目-1" class="md-toc-link">
  1041. <p>用户选择项目</p>
  1042. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1043. <a href="#创建抢单类型订单推送给技师" class="md-toc-link">
  1044. <p>创建抢单类型订单,推送给技师</p>
  1045. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1046. <a href="#有技师抢单" class="md-toc-link">
  1047. <p>有技师抢单</p>
  1048. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1049. <a href="#无技师抢单" class="md-toc-link">
  1050. <p>无技师抢单</p>
  1051. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1052. <a href="#用户选择技师-1" class="md-toc-link">
  1053. <p>用户选择技师</p>
  1054. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1055. <a href="#用户不反选技师" class="md-toc-link">
  1056. <p>用户不反选技师</p>
  1057. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1058. <a href="#支付成功-1" class="md-toc-link">
  1059. <p>支付成功</p>
  1060. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1061. <a href="#技师拒绝接单-1" class="md-toc-link">
  1062. <p>技师拒绝接单</p>
  1063. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1064. <a href="#支付失败-1" class="md-toc-link">
  1065. <p>支付失败</p>
  1066. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1067. <a href="#技师出发" class="md-toc-link">
  1068. <p>技师出发</p>
  1069. </a></div>
  1070. </div>
  1071. </details>
  1072. </div>
  1073. </details>
  1074. <details style="padding:0;;padding-left:0px;" open="">
  1075. <summary class="md-toc-link-wrapper">
  1076. <a href="#服务流程" class="md-toc-link"><p>服务流程</p>
  1077. </a>
  1078. </summary>
  1079. <div>
  1080. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1081. <a href="#技师出发-1" class="md-toc-link">
  1082. <p>技师出发</p>
  1083. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1084. <a href="#技师出发中用户取消订单用户取消订单" class="md-toc-link">
  1085. </a><p><a href="#技师出发中用户取消订单用户取消订单" class="md-toc-link">技师出发中,用户</a><a href="#%E7%94%A8%E6%88%B7%E5%8F%96%E6%B6%88%E8%AE%A2%E5%8D%95">取消订单</a></p>
  1086. </div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1087. <a href="#技师出发中技师终止订单" class="md-toc-link">
  1088. <p>技师出发中,技师终止订单</p>
  1089. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1090. <a href="#技师到达前用户线下取消订单" class="md-toc-link">
  1091. <p>技师到达前,用户线下取消订单</p>
  1092. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1093. <a href="#技师到达联系不上用户" class="md-toc-link">
  1094. <p>技师到达,联系不上用户</p>
  1095. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1096. <a href="#开始服务" class="md-toc-link">
  1097. <p>开始服务</p>
  1098. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1099. <a href="#服务进行中用户结束订单" class="md-toc-link">
  1100. <p>服务进行中,用户结束订单</p>
  1101. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1102. <a href="#服务进行中用户打赏" class="md-toc-link">
  1103. <p>服务进行中,用户打赏</p>
  1104. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1105. <a href="#服务进行中用户加钟" class="md-toc-link">
  1106. <p>服务进行中,用户加钟</p>
  1107. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1108. <a href="#服务结束" class="md-toc-link">
  1109. <p>服务结束</p>
  1110. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1111. <a href="#用户确认技师离开" class="md-toc-link">
  1112. <p>用户确认技师离开</p>
  1113. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1114. <a href="#技师撤离" class="md-toc-link">
  1115. <p>技师撤离</p>
  1116. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1117. <a href="#订单结算" class="md-toc-link">
  1118. <p>订单结算</p>
  1119. </a></div>
  1120. </div>
  1121. </details>
  1122. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:18px">
  1123. <a href="#推广用户" class="md-toc-link">
  1124. <p>推广用户</p>
  1125. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:18px">
  1126. <a href="#推荐技师" class="md-toc-link">
  1127. <p>推荐技师</p>
  1128. </a></div><details style="padding:0;;padding-left:0px;" open="">
  1129. <summary class="md-toc-link-wrapper">
  1130. <a href="#分账" class="md-toc-link"><p>分账</p>
  1131. </a>
  1132. </summary>
  1133. <div>
  1134. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1135. <a href="#分账简介版" class="md-toc-link">
  1136. <p>分账简介版</p>
  1137. </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
  1138. <a href="#分账流程设计" class="md-toc-link">
  1139. <p>分账流程设计</p>
  1140. </a></div>
  1141. </div>
  1142. </details>
  1143. <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:18px">
  1144. <a href="#营销" class="md-toc-link">
  1145. <p>营销</p>
  1146. </a></div>
  1147. </div>
  1148. </div>
  1149. <a id="sidebar-toc-btn">≡</a>
  1150. <script type="module">
  1151. // TODO: If ZenUML gets integrated into mermaid in the future,
  1152. // we can remove the following lines.
  1153. var MERMAID_CONFIG = ({"startOnLoad":true,"securityLevel":"loose"});
  1154. if (typeof MERMAID_CONFIG !== 'undefined') {
  1155. MERMAID_CONFIG.startOnLoad = false
  1156. MERMAID_CONFIG.cloneCssStyles = false
  1157. MERMAID_CONFIG.theme = "default"
  1158. }
  1159. mermaid.initialize(MERMAID_CONFIG || {})
  1160. if (typeof(window['Reveal']) !== 'undefined') {
  1161. function mermaidRevealHelper(event) {
  1162. var currentSlide = event.currentSlide
  1163. var diagrams = currentSlide.querySelectorAll('.mermaid')
  1164. for (var i = 0; i < diagrams.length; i++) {
  1165. var diagram = diagrams[i]
  1166. if (!diagram.hasAttribute('data-processed')) {
  1167. mermaid.init(null, diagram, ()=> {
  1168. Reveal.slide(event.indexh, event.indexv)
  1169. })
  1170. }
  1171. }
  1172. }
  1173. Reveal.addEventListener('slidetransitionend', mermaidRevealHelper)
  1174. Reveal.addEventListener('ready', mermaidRevealHelper)
  1175. await mermaid.run({
  1176. nodes: document.querySelectorAll('.mermaid')
  1177. })
  1178. } else {
  1179. await mermaid.run({
  1180. nodes: document.querySelectorAll('.mermaid')
  1181. })
  1182. }
  1183. </script>
  1184. <script>
  1185. document.body.setAttribute('html-show-sidebar-toc', true)
  1186. var sidebarTOCBtn = document.getElementById('sidebar-toc-btn')
  1187. sidebarTOCBtn.addEventListener('click', function(event) {
  1188. event.stopPropagation()
  1189. if (document.body.hasAttribute('html-show-sidebar-toc')) {
  1190. document.body.removeAttribute('html-show-sidebar-toc')
  1191. } else {
  1192. document.body.setAttribute('html-show-sidebar-toc', true)
  1193. }
  1194. })
  1195. </script>
  1196. </body></html>