mm_os 2.8.9 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/cache/sys/main/config.json +1 -0
  2. package/cache/user/main/config.json +1 -0
  3. package/core/com/sql/drive.js +6 -6
  4. package/core/com/static/drive.js +22 -18
  5. package/core/com/static/index.js +1 -1
  6. package/demo/app/dev/LICENSE +201 -0
  7. package/demo/app/dev/README.md +1 -0
  8. package/demo/app/dev/app.js +147 -0
  9. package/demo/app/dev/app.json +12 -0
  10. package/demo/app/dev/event_api/client/event.json +10 -0
  11. package/demo/app/dev/event_api/client/main.js +17 -0
  12. package/demo/app/dev/plugin/main/api_dev_client/api/api.json +10 -0
  13. package/demo/app/dev/plugin/main/api_dev_client/api/index.js +54 -0
  14. package/demo/app/dev/plugin/main/api_dev_client/api/param.json +31 -0
  15. package/demo/app/dev/plugin/main/api_dev_client/com.js +348 -0
  16. package/demo/app/dev/plugin/main/api_dev_client/event/api.json +10 -0
  17. package/demo/app/dev/plugin/main/api_dev_client/event/index.js +31 -0
  18. package/demo/app/dev/plugin/main/api_dev_client/event/param.json +31 -0
  19. package/demo/app/sys/.gitmodules +3 -0
  20. package/demo/app/sys/LICENSE +201 -0
  21. package/demo/app/sys/README.md +1 -0
  22. package/demo/app/sys/app.js +148 -0
  23. package/demo/app/sys/app.json +10 -0
  24. package/demo/app/sys/event_api/api/after.js +12 -0
  25. package/demo/app/sys/event_api/api/before.js +78 -0
  26. package/demo/app/sys/event_api/api/check.js +56 -0
  27. package/demo/app/sys/event_api/api/event.json +41 -0
  28. package/demo/app/sys/event_api/api/main.js +17 -0
  29. package/demo/app/sys/event_api/apis/before.js +76 -0
  30. package/demo/app/sys/event_api/apis/event.json +21 -0
  31. package/demo/app/sys/event_api/apis/main.js +17 -0
  32. package/demo/app/sys/event_api/client/event.json +10 -0
  33. package/demo/app/sys/event_api/client/main.js +15 -0
  34. package/demo/app/sys/event_api/manage/event.json +10 -0
  35. package/demo/app/sys/event_api/manage/main.js +15 -0
  36. package/demo/app/sys/event_api/upload/event.json +10 -0
  37. package/demo/app/sys/event_api/upload/main.js +15 -0
  38. package/demo/app/sys/event_api/web/check.js +34 -0
  39. package/demo/app/sys/event_api/web/event.json +39 -0
  40. package/demo/app/sys/event_api/web/main.js +36 -0
  41. package/demo/app/sys/event_api/ws/event.json +10 -0
  42. package/demo/app/sys/event_api/ws/main.js +15 -0
  43. package/demo/app/sys/plugin/main/api_client/activation/api.json +29 -0
  44. package/demo/app/sys/plugin/main/api_client/activation/index.js +185 -0
  45. package/demo/app/sys/plugin/main/api_client/activation/param.json +56 -0
  46. package/demo/app/sys/plugin/main/api_client/app_balance/api.json +18 -0
  47. package/demo/app/sys/plugin/main/api_client/app_balance/index.js +61 -0
  48. package/demo/app/sys/plugin/main/api_client/app_balance/param.json +36 -0
  49. package/demo/app/sys/plugin/main/api_client/app_pay/api.json +23 -0
  50. package/demo/app/sys/plugin/main/api_client/app_pay/index.js +65 -0
  51. package/demo/app/sys/plugin/main/api_client/app_pay/param.json +61 -0
  52. package/demo/app/sys/plugin/main/api_client/app_state/api.json +27 -0
  53. package/demo/app/sys/plugin/main/api_client/app_state/index.js +46 -0
  54. package/demo/app/sys/plugin/main/api_client/app_state/param.json +36 -0
  55. package/demo/app/sys/plugin/main/api_client/component/api.json +27 -0
  56. package/demo/app/sys/plugin/main/api_client/component/index.js +331 -0
  57. package/demo/app/sys/plugin/main/api_client/config/api.json +37 -0
  58. package/demo/app/sys/plugin/main/api_client/config/index.js +36 -0
  59. package/demo/app/sys/plugin/main/api_client/config/param.json +27 -0
  60. package/demo/app/sys/plugin/main/api_client/download/api.json +37 -0
  61. package/demo/app/sys/plugin/main/api_client/download/index.js +60 -0
  62. package/demo/app/sys/plugin/main/api_client/download/param.json +34 -0
  63. package/demo/app/sys/plugin/main/api_client/install/api.json +24 -0
  64. package/demo/app/sys/plugin/main/api_client/install/index.js +216 -0
  65. package/demo/app/sys/plugin/main/api_client/install/param.json +64 -0
  66. package/demo/app/sys/plugin/main/api_client/nav/api.json +15 -0
  67. package/demo/app/sys/plugin/main/api_client/nav/index.js +37 -0
  68. package/demo/app/sys/plugin/main/api_client/nav/param.json +87 -0
  69. package/demo/app/sys/plugin/main/api_client/overview/api.json +24 -0
  70. package/demo/app/sys/plugin/main/api_client/overview/index.js +29 -0
  71. package/demo/app/sys/plugin/main/api_client/overview/param.json +130 -0
  72. package/demo/app/sys/plugin/main/api_client/overview/sql.json +70 -0
  73. package/demo/app/sys/plugin/main/api_client/query/api.json +35 -0
  74. package/demo/app/sys/plugin/main/api_client/query/index.js +48 -0
  75. package/demo/app/sys/plugin/main/api_client/theme/api.json +37 -0
  76. package/demo/app/sys/plugin/main/api_client/theme/index.js +30 -0
  77. package/demo/app/sys/plugin/main/api_client/theme/param.json +31 -0
  78. package/demo/app/sys/plugin/main/api_client/version/api.json +29 -0
  79. package/demo/app/sys/plugin/main/api_client/version/index.js +132 -0
  80. package/demo/app/sys/plugin/main/api_client/version/param.json +130 -0
  81. package/demo/app/sys/plugin/main/api_client/zip/api.json +31 -0
  82. package/demo/app/sys/plugin/main/api_client/zip/index.js +29 -0
  83. package/demo/app/sys/plugin/main/api_client/zip/param.json +48 -0
  84. package/demo/app/sys/plugin/main/api_sys_client/count/api.json +27 -0
  85. package/demo/app/sys/plugin/main/api_sys_client/count/index.js +73 -0
  86. package/demo/app/sys/plugin/main/api_sys_client/lang/api.json +37 -0
  87. package/demo/app/sys/plugin/main/api_sys_client/lang/index.js +28 -0
  88. package/demo/app/sys/plugin/main/api_sys_client/lang/param.json +22 -0
  89. package/demo/app/sys/plugin/main/api_sys_client/log/api.json +29 -0
  90. package/demo/app/sys/plugin/main/api_sys_client/log/index.js +42 -0
  91. package/demo/app/sys/plugin/main/api_sys_client/log/param.json +130 -0
  92. package/demo/app/sys/plugin/main/api_sys_client/options/api.json +30 -0
  93. package/demo/app/sys/plugin/main/api_sys_client/options/index.js +28 -0
  94. package/demo/app/sys/plugin/main/api_sys_client/options/param.json +130 -0
  95. package/demo/app/sys/plugin/main/api_sys_client/query/api.json +35 -0
  96. package/demo/app/sys/plugin/main/api_sys_client/query/index.js +48 -0
  97. package/demo/app/sys/plugin/main/api_sys_client/theme/api.json +37 -0
  98. package/demo/app/sys/plugin/main/api_sys_client/theme/index.js +30 -0
  99. package/demo/app/sys/plugin/main/api_sys_client/theme/param.json +31 -0
  100. package/demo/app/sys/plugin/main/api_sys_web/index/api.json +37 -0
  101. package/demo/app/sys/plugin/main/api_sys_web/index/index.js +26 -0
  102. package/demo/app/sys/plugin/main/api_upload/chunk/api.json +29 -0
  103. package/demo/app/sys/plugin/main/api_upload/chunk/index.js +38 -0
  104. package/demo/app/sys/plugin/main/api_upload/chunk/param.json +27 -0
  105. package/demo/app/sys/plugin/main/api_upload/delete/api.json +29 -0
  106. package/demo/app/sys/plugin/main/api_upload/delete/index.js +38 -0
  107. package/demo/app/sys/plugin/main/api_upload/delete/param.json +27 -0
  108. package/demo/app/sys/plugin/main/api_upload/file/api.json +15 -0
  109. package/demo/app/sys/plugin/main/api_upload/file/index.js +114 -0
  110. package/demo/app/sys/plugin/main/api_upload/file/param.json +9 -0
  111. package/demo/app/sys/plugin/main/api_upload/image/api.json +16 -0
  112. package/demo/app/sys/plugin/main/api_upload/image/index.js +45 -0
  113. package/demo/app/sys/plugin/main/api_upload/image/param.json +9 -0
  114. package/demo/app/sys/plugin/main/api_upload/merge/api.json +29 -0
  115. package/demo/app/sys/plugin/main/api_upload/merge/index.js +38 -0
  116. package/demo/app/sys/plugin/main/api_upload/merge/param.json +27 -0
  117. package/demo/app/sys/plugin/main/api_upload/video/api.json +29 -0
  118. package/demo/app/sys/plugin/main/api_upload/video/index.js +48 -0
  119. package/demo/app/sys/plugin/main/api_upload/video/param.json +25 -0
  120. package/demo/app/sys/plugin/main/index.js +127 -0
  121. package/demo/app/sys/plugin/main/plugin.json +19 -0
  122. package/demo/app/sys/plugin/main/static/article_list.vue +488 -0
  123. package/demo/app/sys/plugin/main/static/img/logo.png +0 -0
  124. package/demo/app/sys/plugin/main/static/static.json +18 -0
  125. package/demo/app/sys/plugin/server/api_sys_client/ad/api.json +12 -0
  126. package/demo/app/sys/plugin/server/api_sys_client/ad/param.json +685 -0
  127. package/demo/app/sys/plugin/server/api_sys_client/ad/sql.json +114 -0
  128. package/demo/app/sys/plugin/server/api_sys_client/address_province/api.json +12 -0
  129. package/demo/app/sys/plugin/server/api_sys_client/address_province/param.json +156 -0
  130. package/demo/app/sys/plugin/server/api_sys_client/address_province/sql.json +25 -0
  131. package/demo/app/sys/plugin/server/api_sys_client/app/api.json +12 -0
  132. package/demo/app/sys/plugin/server/api_sys_client/app/param.json +437 -0
  133. package/demo/app/sys/plugin/server/api_sys_client/app/sql.json +71 -0
  134. package/demo/app/sys/plugin/server/api_sys_client/app_refresh/api.json +12 -0
  135. package/demo/app/sys/plugin/server/api_sys_client/app_refresh/param.json +158 -0
  136. package/demo/app/sys/plugin/server/api_sys_client/app_refresh/sql.json +28 -0
  137. package/demo/app/sys/plugin/server/api_sys_client/block/api.json +12 -0
  138. package/demo/app/sys/plugin/server/api_sys_client/block/param.json +318 -0
  139. package/demo/app/sys/plugin/server/api_sys_client/block/sql.json +48 -0
  140. package/demo/app/sys/plugin/server/api_sys_client/config/api.json +12 -0
  141. package/demo/app/sys/plugin/server/api_sys_client/config/param.json +259 -0
  142. package/demo/app/sys/plugin/server/api_sys_client/config/sql.json +93 -0
  143. package/demo/app/sys/plugin/server/api_sys_client/file/api.json +12 -0
  144. package/demo/app/sys/plugin/server/api_sys_client/file/param.json +268 -0
  145. package/demo/app/sys/plugin/server/api_sys_client/file/sql.json +30 -0
  146. package/demo/app/sys/plugin/server/api_sys_client/lang/api.json +12 -0
  147. package/demo/app/sys/plugin/server/api_sys_client/lang/param.json +175 -0
  148. package/demo/app/sys/plugin/server/api_sys_client/lang/sql.json +40 -0
  149. package/demo/app/sys/plugin/server/api_sys_client/message/api.json +13 -0
  150. package/demo/app/sys/plugin/server/api_sys_client/message/index.js +31 -0
  151. package/demo/app/sys/plugin/server/api_sys_client/message/param.json +147 -0
  152. package/demo/app/sys/plugin/server/api_sys_client/message/sql.json +24 -0
  153. package/demo/app/sys/plugin/server/api_sys_client/nav/api.json +13 -0
  154. package/demo/app/sys/plugin/server/api_sys_client/nav/index.js +52 -0
  155. package/demo/app/sys/plugin/server/api_sys_client/nav/param.json +295 -0
  156. package/demo/app/sys/plugin/server/api_sys_client/nav/sql.json +63 -0
  157. package/demo/app/sys/plugin/server/api_sys_client/pay/api.json +12 -0
  158. package/demo/app/sys/plugin/server/api_sys_client/pay/param.json +391 -0
  159. package/demo/app/sys/plugin/server/api_sys_client/pay/sql.json +76 -0
  160. package/demo/app/sys/plugin/server/api_sys_client/pay_type/api.json +12 -0
  161. package/demo/app/sys/plugin/server/api_sys_client/pay_type/param.json +242 -0
  162. package/demo/app/sys/plugin/server/api_sys_client/pay_type/sql.json +74 -0
  163. package/demo/app/sys/plugin/server/api_sys_client/project/api.json +12 -0
  164. package/demo/app/sys/plugin/server/api_sys_client/project/param.json +796 -0
  165. package/demo/app/sys/plugin/server/api_sys_client/project/sql.json +163 -0
  166. package/demo/app/sys/plugin/server/api_sys_client/recharge/api.json +12 -0
  167. package/demo/app/sys/plugin/server/api_sys_client/recharge/param.json +311 -0
  168. package/demo/app/sys/plugin/server/api_sys_client/recharge/sql.json +102 -0
  169. package/demo/app/sys/plugin/server/api_sys_client/scene/api.json +12 -0
  170. package/demo/app/sys/plugin/server/api_sys_client/scene/param.json +226 -0
  171. package/demo/app/sys/plugin/server/api_sys_client/scene/sql.json +49 -0
  172. package/demo/app/sys/plugin/server/api_sys_client/seo/api.json +12 -0
  173. package/demo/app/sys/plugin/server/api_sys_client/seo/param.json +145 -0
  174. package/demo/app/sys/plugin/server/api_sys_client/seo/sql.json +49 -0
  175. package/demo/app/sys/plugin/server/api_sys_client/withdrawal/api.json +12 -0
  176. package/demo/app/sys/plugin/server/api_sys_client/withdrawal/param.json +378 -0
  177. package/demo/app/sys/plugin/server/api_sys_client/withdrawal/sql.json +92 -0
  178. package/demo/app/sys/plugin/server/api_sys_manage/ad/api.json +19 -0
  179. package/demo/app/sys/plugin/server/api_sys_manage/ad/index.js +27 -0
  180. package/demo/app/sys/plugin/server/api_sys_manage/ad/param.json +685 -0
  181. package/demo/app/sys/plugin/server/api_sys_manage/ad/sql.json +111 -0
  182. package/demo/app/sys/plugin/server/api_sys_manage/address_province/api.json +18 -0
  183. package/demo/app/sys/plugin/server/api_sys_manage/address_province/param.json +156 -0
  184. package/demo/app/sys/plugin/server/api_sys_manage/address_province/sql.json +23 -0
  185. package/demo/app/sys/plugin/server/api_sys_manage/app/api.json +18 -0
  186. package/demo/app/sys/plugin/server/api_sys_manage/app/param.json +437 -0
  187. package/demo/app/sys/plugin/server/api_sys_manage/app/sql.json +69 -0
  188. package/demo/app/sys/plugin/server/api_sys_manage/app_refresh/api.json +18 -0
  189. package/demo/app/sys/plugin/server/api_sys_manage/app_refresh/param.json +158 -0
  190. package/demo/app/sys/plugin/server/api_sys_manage/app_refresh/sql.json +27 -0
  191. package/demo/app/sys/plugin/server/api_sys_manage/block/api.json +18 -0
  192. package/demo/app/sys/plugin/server/api_sys_manage/block/param.json +318 -0
  193. package/demo/app/sys/plugin/server/api_sys_manage/block/sql.json +47 -0
  194. package/demo/app/sys/plugin/server/api_sys_manage/config/api.json +19 -0
  195. package/demo/app/sys/plugin/server/api_sys_manage/config/index.js +35 -0
  196. package/demo/app/sys/plugin/server/api_sys_manage/config/param.json +261 -0
  197. package/demo/app/sys/plugin/server/api_sys_manage/config/sql.json +92 -0
  198. package/demo/app/sys/plugin/server/api_sys_manage/file/api.json +18 -0
  199. package/demo/app/sys/plugin/server/api_sys_manage/file/param.json +268 -0
  200. package/demo/app/sys/plugin/server/api_sys_manage/file/sql.json +29 -0
  201. package/demo/app/sys/plugin/server/api_sys_manage/lang/api.json +19 -0
  202. package/demo/app/sys/plugin/server/api_sys_manage/lang/index.js +27 -0
  203. package/demo/app/sys/plugin/server/api_sys_manage/lang/param.json +175 -0
  204. package/demo/app/sys/plugin/server/api_sys_manage/lang/sql.json +40 -0
  205. package/demo/app/sys/plugin/server/api_sys_manage/message/api.json +18 -0
  206. package/demo/app/sys/plugin/server/api_sys_manage/message/param.json +152 -0
  207. package/demo/app/sys/plugin/server/api_sys_manage/message/sql.json +21 -0
  208. package/demo/app/sys/plugin/server/api_sys_manage/nav/api.json +19 -0
  209. package/demo/app/sys/plugin/server/api_sys_manage/nav/index.js +27 -0
  210. package/demo/app/sys/plugin/server/api_sys_manage/nav/param.json +295 -0
  211. package/demo/app/sys/plugin/server/api_sys_manage/nav/sql.json +61 -0
  212. package/demo/app/sys/plugin/server/api_sys_manage/pay/api.json +18 -0
  213. package/demo/app/sys/plugin/server/api_sys_manage/pay/param.json +391 -0
  214. package/demo/app/sys/plugin/server/api_sys_manage/pay/sql.json +75 -0
  215. package/demo/app/sys/plugin/server/api_sys_manage/pay_type/api.json +18 -0
  216. package/demo/app/sys/plugin/server/api_sys_manage/pay_type/param.json +242 -0
  217. package/demo/app/sys/plugin/server/api_sys_manage/pay_type/sql.json +73 -0
  218. package/demo/app/sys/plugin/server/api_sys_manage/project/api.json +18 -0
  219. package/demo/app/sys/plugin/server/api_sys_manage/project/param.json +796 -0
  220. package/demo/app/sys/plugin/server/api_sys_manage/project/sql.json +162 -0
  221. package/demo/app/sys/plugin/server/api_sys_manage/recharge/api.json +18 -0
  222. package/demo/app/sys/plugin/server/api_sys_manage/recharge/param.json +311 -0
  223. package/demo/app/sys/plugin/server/api_sys_manage/recharge/sql.json +101 -0
  224. package/demo/app/sys/plugin/server/api_sys_manage/scene/api.json +18 -0
  225. package/demo/app/sys/plugin/server/api_sys_manage/scene/param.json +226 -0
  226. package/demo/app/sys/plugin/server/api_sys_manage/scene/sql.json +48 -0
  227. package/demo/app/sys/plugin/server/api_sys_manage/seo/api.json +19 -0
  228. package/demo/app/sys/plugin/server/api_sys_manage/seo/index.js +26 -0
  229. package/demo/app/sys/plugin/server/api_sys_manage/seo/param.json +145 -0
  230. package/demo/app/sys/plugin/server/api_sys_manage/seo/sql.json +48 -0
  231. package/demo/app/sys/plugin/server/api_sys_manage/withdrawal/api.json +18 -0
  232. package/demo/app/sys/plugin/server/api_sys_manage/withdrawal/param.json +378 -0
  233. package/demo/app/sys/plugin/server/api_sys_manage/withdrawal/sql.json +91 -0
  234. package/demo/app/sys/plugin/server/db/ad.db.json +622 -0
  235. package/demo/app/sys/plugin/server/db/address_province.db.json +82 -0
  236. package/demo/app/sys/plugin/server/db/app.db.json +369 -0
  237. package/demo/app/sys/plugin/server/db/app_refresh.db.json +117 -0
  238. package/demo/app/sys/plugin/server/db/block.db.json +352 -0
  239. package/demo/app/sys/plugin/server/db/config.db.json +226 -0
  240. package/demo/app/sys/plugin/server/db/file.db.json +172 -0
  241. package/demo/app/sys/plugin/server/db/lang.db.json +208 -0
  242. package/demo/app/sys/plugin/server/db/message.db.json +99 -0
  243. package/demo/app/sys/plugin/server/db/nav.db.json +298 -0
  244. package/demo/app/sys/plugin/server/db/pay.db.json +316 -0
  245. package/demo/app/sys/plugin/server/db/pay_type.db.json +226 -0
  246. package/demo/app/sys/plugin/server/db/project.db.json +622 -0
  247. package/demo/app/sys/plugin/server/db/recharge.db.json +226 -0
  248. package/demo/app/sys/plugin/server/db/scene.db.json +208 -0
  249. package/demo/app/sys/plugin/server/db/seo.db.json +136 -0
  250. package/demo/app/sys/plugin/server/db/withdrawal.db.json +298 -0
  251. package/demo/app/user/LICENSE +201 -0
  252. package/demo/app/user/app.js +144 -0
  253. package/demo/app/user/app.json +10 -0
  254. package/demo/app/user/event_api/client/event.json +10 -0
  255. package/demo/app/user/event_api/client/main.js +17 -0
  256. package/demo/app/user/event_api/manage/event.json +10 -0
  257. package/demo/app/user/event_api/manage/main.js +17 -0
  258. package/demo/app/user/event_api/web/event.json +20 -0
  259. package/demo/app/user/event_api/web/main.js +39 -0
  260. package/demo/app/user/plugin/main/api_user_client/account/api.json +41 -0
  261. package/demo/app/user/plugin/main/api_user_client/account/index.js +54 -0
  262. package/demo/app/user/plugin/main/api_user_client/account/param.json +130 -0
  263. package/demo/app/user/plugin/main/api_user_client/account/sql.json +70 -0
  264. package/demo/app/user/plugin/main/api_user_client/address_login/api.json +27 -0
  265. package/demo/app/user/plugin/main/api_user_client/address_login/index.js +35 -0
  266. package/demo/app/user/plugin/main/api_user_client/address_login/param.json +130 -0
  267. package/demo/app/user/plugin/main/api_user_client/base/api.json +27 -0
  268. package/demo/app/user/plugin/main/api_user_client/base/index.js +92 -0
  269. package/demo/app/user/plugin/main/api_user_client/base/param.json +130 -0
  270. package/demo/app/user/plugin/main/api_user_client/count/api.json +27 -0
  271. package/demo/app/user/plugin/main/api_user_client/count/chongzhi.js +103 -0
  272. package/demo/app/user/plugin/main/api_user_client/count/index.js +24 -0
  273. package/demo/app/user/plugin/main/api_user_client/count/param.json +40 -0
  274. package/demo/app/user/plugin/main/api_user_client/count/sql.json +70 -0
  275. package/demo/app/user/plugin/main/api_user_client/data_count/api.json +37 -0
  276. package/demo/app/user/plugin/main/api_user_client/data_count/index.js +61 -0
  277. package/demo/app/user/plugin/main/api_user_client/email_code/api.json +37 -0
  278. package/demo/app/user/plugin/main/api_user_client/email_code/email_code.js +300 -0
  279. package/demo/app/user/plugin/main/api_user_client/email_code/index.js +18 -0
  280. package/demo/app/user/plugin/main/api_user_client/email_code/param.json +56 -0
  281. package/demo/app/user/plugin/main/api_user_client/forgot/api.json +37 -0
  282. package/demo/app/user/plugin/main/api_user_client/forgot/index.js +36 -0
  283. package/demo/app/user/plugin/main/api_user_client/forgot/param.json +57 -0
  284. package/demo/app/user/plugin/main/api_user_client/ip/api.json +39 -0
  285. package/demo/app/user/plugin/main/api_user_client/ip/index.js +43 -0
  286. package/demo/app/user/plugin/main/api_user_client/ip/param.json +130 -0
  287. package/demo/app/user/plugin/main/api_user_client/ip/sql.json +70 -0
  288. package/demo/app/user/plugin/main/api_user_client/message/api.json +29 -0
  289. package/demo/app/user/plugin/main/api_user_client/message/index.js +19 -0
  290. package/demo/app/user/plugin/main/api_user_client/message/param.json +36 -0
  291. package/demo/app/user/plugin/main/api_user_client/message/sql.json +21 -0
  292. package/demo/app/user/plugin/main/api_user_client/oauth/WXBizDataCrypt.js +33 -0
  293. package/demo/app/user/plugin/main/api_user_client/oauth/api.json +31 -0
  294. package/demo/app/user/plugin/main/api_user_client/oauth/index.js +16 -0
  295. package/demo/app/user/plugin/main/api_user_client/oauth/oauth.js +315 -0
  296. package/demo/app/user/plugin/main/api_user_client/oauth/oauth.json +88 -0
  297. package/demo/app/user/plugin/main/api_user_client/oauth/param.json +111 -0
  298. package/demo/app/user/plugin/main/api_user_client/password/api.json +21 -0
  299. package/demo/app/user/plugin/main/api_user_client/password/index.js +64 -0
  300. package/demo/app/user/plugin/main/api_user_client/password/param.json +45 -0
  301. package/demo/app/user/plugin/main/api_user_client/phone_code/aliyun.js +230 -0
  302. package/demo/app/user/plugin/main/api_user_client/phone_code/api.json +37 -0
  303. package/demo/app/user/plugin/main/api_user_client/phone_code/index.js +18 -0
  304. package/demo/app/user/plugin/main/api_user_client/phone_code/param.json +58 -0
  305. package/demo/app/user/plugin/main/api_user_client/phone_code/phone_code.js +297 -0
  306. package/demo/app/user/plugin/main/api_user_client/realname/api.json +21 -0
  307. package/demo/app/user/plugin/main/api_user_client/realname/index.js +45 -0
  308. package/demo/app/user/plugin/main/api_user_client/realname/param.json +74 -0
  309. package/demo/app/user/plugin/main/api_user_client/servicer/api.json +29 -0
  310. package/demo/app/user/plugin/main/api_user_client/servicer/index.js +19 -0
  311. package/demo/app/user/plugin/main/api_user_client/servicer/param.json +41 -0
  312. package/demo/app/user/plugin/main/api_user_client/servicer/sql.json +113 -0
  313. package/demo/app/user/plugin/main/api_user_client/set_address/api.json +37 -0
  314. package/demo/app/user/plugin/main/api_user_client/set_address/index.js +98 -0
  315. package/demo/app/user/plugin/main/api_user_client/set_address/param.json +165 -0
  316. package/demo/app/user/plugin/main/api_user_client/set_avatar/api.json +35 -0
  317. package/demo/app/user/plugin/main/api_user_client/set_avatar/index.js +77 -0
  318. package/demo/app/user/plugin/main/api_user_client/set_info/api.json +35 -0
  319. package/demo/app/user/plugin/main/api_user_client/set_info/index.js +44 -0
  320. package/demo/app/user/plugin/main/api_user_client/set_nickname/api.json +35 -0
  321. package/demo/app/user/plugin/main/api_user_client/set_nickname/index.js +46 -0
  322. package/demo/app/user/plugin/main/api_user_client/set_pay_password/api.json +21 -0
  323. package/demo/app/user/plugin/main/api_user_client/set_pay_password/index.js +64 -0
  324. package/demo/app/user/plugin/main/api_user_client/sign_address/api.json +39 -0
  325. package/demo/app/user/plugin/main/api_user_client/sign_address/index.js +114 -0
  326. package/demo/app/user/plugin/main/api_user_client/sign_address/param.json +130 -0
  327. package/demo/app/user/plugin/main/api_user_client/sign_address/sql.json +70 -0
  328. package/demo/app/user/plugin/main/api_user_client/sign_auto/api.json +29 -0
  329. package/demo/app/user/plugin/main/api_user_client/sign_auto/index.js +141 -0
  330. package/demo/app/user/plugin/main/api_user_client/sign_auto/param.json +42 -0
  331. package/demo/app/user/plugin/main/api_user_client/sign_in/api.json +11 -0
  332. package/demo/app/user/plugin/main/api_user_client/sign_in/index.js +274 -0
  333. package/demo/app/user/plugin/main/api_user_client/sign_in/param.json +125 -0
  334. package/demo/app/user/plugin/main/api_user_client/sign_in/state.js +37 -0
  335. package/demo/app/user/plugin/main/api_user_client/sign_out/api.json +9 -0
  336. package/demo/app/user/plugin/main/api_user_client/sign_out/index.js +28 -0
  337. package/demo/app/user/plugin/main/api_user_client/sign_up/api.json +12 -0
  338. package/demo/app/user/plugin/main/api_user_client/sign_up/index.js +189 -0
  339. package/demo/app/user/plugin/main/api_user_client/sign_up/param.json +83 -0
  340. package/demo/app/user/plugin/main/api_user_client/sign_up_in/api.json +37 -0
  341. package/demo/app/user/plugin/main/api_user_client/sign_up_in/index.js +137 -0
  342. package/demo/app/user/plugin/main/api_user_client/sign_up_in/param.json +33 -0
  343. package/demo/app/user/plugin/main/api_user_client/state/api.json +9 -0
  344. package/demo/app/user/plugin/main/api_user_client/state/index.js +19 -0
  345. package/demo/app/user/plugin/main/api_user_client/token/api.json +25 -0
  346. package/demo/app/user/plugin/main/api_user_client/token/index.js +20 -0
  347. package/demo/app/user/plugin/main/api_user_client/token/param.json +16 -0
  348. package/demo/app/user/plugin/main/api_user_client/unsubscribe/api.json +29 -0
  349. package/demo/app/user/plugin/main/api_user_client/unsubscribe/index.js +91 -0
  350. package/demo/app/user/plugin/main/api_user_client/unsubscribe/param.json +71 -0
  351. package/demo/app/user/plugin/main/api_user_client/yun_avatar/api.json +31 -0
  352. package/demo/app/user/plugin/main/api_user_client/yun_avatar/index.js +56 -0
  353. package/demo/app/user/plugin/main/api_user_client/yun_avatar/param.json +50 -0
  354. package/demo/app/user/plugin/main/api_user_web/avatar/api.json +28 -0
  355. package/demo/app/user/plugin/main/api_user_web/avatar/index.js +51 -0
  356. package/demo/app/user/plugin/main/api_user_web/login/api.json +37 -0
  357. package/demo/app/user/plugin/main/api_user_web/login/index.js +12 -0
  358. package/demo/app/user/plugin/main/api_user_web/root/api.json +38 -0
  359. package/demo/app/user/plugin/main/api_user_web/root/index.js +67 -0
  360. package/demo/app/user/plugin/main/index.js +144 -0
  361. package/demo/app/user/plugin/main/plugin.json +20 -0
  362. package/demo/app/user/plugin/server/api_user_client/address/api.json +16 -0
  363. package/demo/app/user/plugin/server/api_user_client/address/index.js +79 -0
  364. package/demo/app/user/plugin/server/api_user_client/address/param.json +288 -0
  365. package/demo/app/user/plugin/server/api_user_client/address/sql.json +56 -0
  366. package/demo/app/user/plugin/server/api_user_client/count/api.json +12 -0
  367. package/demo/app/user/plugin/server/api_user_client/count/param.json +646 -0
  368. package/demo/app/user/plugin/server/api_user_client/count/sql.json +82 -0
  369. package/demo/app/user/plugin/server/api_user_client/info/api.json +16 -0
  370. package/demo/app/user/plugin/server/api_user_client/info/index.js +42 -0
  371. package/demo/app/user/plugin/server/api_user_client/info/param.json +531 -0
  372. package/demo/app/user/plugin/server/api_user_client/info/sql.json +84 -0
  373. package/demo/app/user/plugin/server/api_user_client/message/api.json +12 -0
  374. package/demo/app/user/plugin/server/api_user_client/message/param.json +366 -0
  375. package/demo/app/user/plugin/server/api_user_client/message/sql.json +88 -0
  376. package/demo/app/user/plugin/server/api_user_client/nation/api.json +12 -0
  377. package/demo/app/user/plugin/server/api_user_client/nation/param.json +74 -0
  378. package/demo/app/user/plugin/server/api_user_client/nation/sql.json +18 -0
  379. package/demo/app/user/plugin/server/api_user_manage/account/api.json +18 -0
  380. package/demo/app/user/plugin/server/api_user_manage/account/param.json +620 -0
  381. package/demo/app/user/plugin/server/api_user_manage/account/sql.json +105 -0
  382. package/demo/app/user/plugin/server/api_user_manage/address/api.json +19 -0
  383. package/demo/app/user/plugin/server/api_user_manage/address/index.js +57 -0
  384. package/demo/app/user/plugin/server/api_user_manage/address/param.json +288 -0
  385. package/demo/app/user/plugin/server/api_user_manage/address/sql.json +44 -0
  386. package/demo/app/user/plugin/server/api_user_manage/admin/api.json +18 -0
  387. package/demo/app/user/plugin/server/api_user_manage/admin/param.json +147 -0
  388. package/demo/app/user/plugin/server/api_user_manage/admin/sql.json +24 -0
  389. package/demo/app/user/plugin/server/api_user_manage/admin_log/api.json +18 -0
  390. package/demo/app/user/plugin/server/api_user_manage/admin_log/param.json +226 -0
  391. package/demo/app/user/plugin/server/api_user_manage/admin_log/sql.json +32 -0
  392. package/demo/app/user/plugin/server/api_user_manage/count/api.json +18 -0
  393. package/demo/app/user/plugin/server/api_user_manage/count/param.json +646 -0
  394. package/demo/app/user/plugin/server/api_user_manage/count/sql.json +72 -0
  395. package/demo/app/user/plugin/server/api_user_manage/group/api.json +18 -0
  396. package/demo/app/user/plugin/server/api_user_manage/group/param.json +187 -0
  397. package/demo/app/user/plugin/server/api_user_manage/group/sql.json +39 -0
  398. package/demo/app/user/plugin/server/api_user_manage/group_log/api.json +18 -0
  399. package/demo/app/user/plugin/server/api_user_manage/group_log/param.json +235 -0
  400. package/demo/app/user/plugin/server/api_user_manage/group_log/sql.json +32 -0
  401. package/demo/app/user/plugin/server/api_user_manage/info/api.json +18 -0
  402. package/demo/app/user/plugin/server/api_user_manage/info/param.json +531 -0
  403. package/demo/app/user/plugin/server/api_user_manage/info/sql.json +71 -0
  404. package/demo/app/user/plugin/server/api_user_manage/message/api.json +18 -0
  405. package/demo/app/user/plugin/server/api_user_manage/message/param.json +366 -0
  406. package/demo/app/user/plugin/server/api_user_manage/message/sql.json +75 -0
  407. package/demo/app/user/plugin/server/api_user_manage/nation/api.json +18 -0
  408. package/demo/app/user/plugin/server/api_user_manage/nation/param.json +74 -0
  409. package/demo/app/user/plugin/server/api_user_manage/nation/sql.json +16 -0
  410. package/demo/app/user/plugin/server/api_user_manage/state/api.json +18 -0
  411. package/demo/app/user/plugin/server/api_user_manage/state/param.json +98 -0
  412. package/demo/app/user/plugin/server/api_user_manage/state/sql.json +29 -0
  413. package/demo/app/user/plugin/server/db/account.db.json +460 -0
  414. package/demo/app/user/plugin/server/db/address.db.json +262 -0
  415. package/demo/app/user/plugin/server/db/admin.db.json +117 -0
  416. package/demo/app/user/plugin/server/db/admin_log.db.json +189 -0
  417. package/demo/app/user/plugin/server/db/count.db.json +298 -0
  418. package/demo/app/user/plugin/server/db/group.db.json +117 -0
  419. package/demo/app/user/plugin/server/db/group_log.db.json +190 -0
  420. package/demo/app/user/plugin/server/db/info.db.json +496 -0
  421. package/demo/app/user/plugin/server/db/message.db.json +262 -0
  422. package/demo/app/user/plugin/server/db/nation.db.json +46 -0
  423. package/demo/app/user/plugin/server/db/state.db.json +64 -0
  424. package/demo/config/development.json +109 -0
  425. package/demo/config/local.json +111 -0
  426. package/demo/config/lock.cache +5 -0
  427. package/demo/config/test.json +109 -0
  428. package/demo/config/tpl.json +107 -0
  429. package/demo/index.js +5 -3
  430. package/demo/static/file/image/1.png +0 -0
  431. package/index.js +7 -6
  432. package/middleware/cors/index.js +1 -1
  433. package/middleware/cors/middleware.json +3 -1
  434. package/middleware/log/index.js +1 -1
  435. package/middleware/log/middleware.json +1 -1
  436. package/middleware/mqtt_base/index.js +1 -1
  437. package/middleware/mqtt_base/middleware.json +3 -1
  438. package/middleware/waf/index.js +1 -1
  439. package/middleware/waf/middleware.json +1 -1
  440. package/middleware/waf_ip/index.js +1 -1
  441. package/middleware/waf_ip/middleware.json +1 -1
  442. package/middleware/web_after/index.js +20 -0
  443. package/middleware/web_after/middleware.json +9 -0
  444. package/middleware/web_base/index.js +1 -1
  445. package/middleware/web_base/middleware.json +1 -1
  446. package/middleware/web_before/index.js +27 -0
  447. package/middleware/web_before/middleware.json +9 -0
  448. package/middleware/web_check/index.js +22 -0
  449. package/middleware/web_check/middleware.json +9 -0
  450. package/middleware/web_main/index.js +22 -0
  451. package/middleware/web_main/middleware.json +9 -0
  452. package/middleware/web_proxy/index.js +1 -1
  453. package/middleware/web_proxy/middleware.json +1 -1
  454. package/middleware/web_render/index.js +81 -0
  455. package/middleware/web_render/middleware.json +9 -0
  456. package/middleware/web_socket/index.js +1 -1
  457. package/middleware/web_socket/middleware.json +1 -1
  458. package/middleware/web_static/index.js +1 -1
  459. package/middleware/web_static/middleware.json +1 -1
  460. package/package.json +2 -2
  461. package/middleware/web_event/index.js +0 -413
  462. package/middleware/web_event/middleware.json +0 -10
  463. package/middleware/web_router/index.js +0 -33
  464. package/middleware/web_router/middleware.json +0 -10
@@ -0,0 +1,189 @@
1
+ /**
2
+ * 新建邀请码
3
+ * @param {Object} 数据库管理器
4
+ * @param {String} username
5
+ * @param {String} password
6
+ */
7
+ $.newInviteCode = async function(db, username, password) {
8
+ var db1 = db.new("user_account", "user_id");
9
+ var date = new Date();
10
+ var str = (date.toISOString() + username + password).md5();
11
+
12
+ var n = 8;
13
+ var len = n.rand(6);
14
+ var code = "";
15
+ for (var i = 0; i < 20; i++) {
16
+ var invite_code = str.substring(0, len).toLocaleLowerCase();
17
+ var count = await db1.count({
18
+ invite_code
19
+ }, false);
20
+ if (count === 0) {
21
+ code = invite_code;
22
+ break;
23
+ }
24
+ }
25
+ return code;
26
+ };
27
+
28
+ /**
29
+ * @description 接口主函数
30
+ * @param {Object} ctx HTTP上下文
31
+ * @param {Object} db 数据管理器,如: { next: async function{}, ret: {} }
32
+ * @return {Object} 执行结果
33
+ */
34
+ async function main(ctx, db) {
35
+ var by = ctx.request.body;
36
+ var {
37
+ mode,
38
+ username,
39
+ account,
40
+ phone,
41
+ email,
42
+ password,
43
+ nickname,
44
+ code,
45
+ invite_code,
46
+ activate_code
47
+ } = by;
48
+ if (!phone && account) {
49
+ phone = account;
50
+ }
51
+ if (!username && account) {
52
+ username = account;
53
+ }
54
+
55
+ // 判断用户是否已存在
56
+ var db1 = db.new("user_account", "user_id");
57
+ var count = await db1.count({
58
+ username
59
+ }, "", "", false);
60
+ if (count > 0) {
61
+ return $.ret.error(10007, '注册失败,用户名已存在!');
62
+ }
63
+ if (phone) {
64
+ count = await db1.count({
65
+ phone
66
+ });
67
+ if (count > 0) {
68
+ return $.ret.error(10007, '注册失败,该手机号已绑定其他账户!');
69
+ }
70
+ }
71
+ if (email) {
72
+ count = await db1.count({
73
+ email
74
+ });
75
+ if (count > 0) {
76
+ return $.ret.error(10007, '注册失败,该邮箱已绑定其他账户!');
77
+ }
78
+ }
79
+
80
+ var key;
81
+ if (mode == 1) {
82
+ key = phone;
83
+ } else if (mode == 2) {
84
+ key = email;
85
+ }
86
+ if (key) {
87
+ var code_check = await $.getCode("sign_up", key);
88
+ if (!code_check) {
89
+ return $.ret.error(30001, '请先获取验证码!');
90
+ }
91
+ if (code !== code_check) {
92
+ return $.ret.error(30007, '验证码错误!');
93
+ }
94
+ }
95
+
96
+ var conf = await $.config.conf();
97
+
98
+ // 添加邀请码
99
+ var referee_id = 0;
100
+ if (invite_code) {
101
+ var inviter = await db1.getObj({
102
+ invite_code
103
+ }, "", "", false);
104
+ if (inviter) {
105
+ referee_id = inviter.user_id;
106
+ } else {
107
+ return $.ret.error(70001, '邀请人不存在!');
108
+ }
109
+ } else if (conf.register_mode == 2) {
110
+ return $.ret.error(30001, '邀请码(invite_code)是必须的!');
111
+ }
112
+
113
+ // 验证激活码
114
+ var db2 = db.new("source_activate_code", "code_id");
115
+ var activation;
116
+ if (activate_code) {
117
+ activation = await db2.getObj({
118
+ state: 1,
119
+ group: "注册码",
120
+ activate_code
121
+ }, "", "", false);
122
+ if (!activation) {
123
+ return $.ret.error(30002, '无效的注册码!');
124
+ }
125
+ } else if (conf.register_mode == 3) {
126
+ return $.ret.error(30001, '注册码(activate_code)是必须的!');
127
+ }
128
+
129
+ var salt = password.substring(0, 6);
130
+ var pass = (password + salt).md5();
131
+
132
+ // 生成邀请码
133
+ var icode = await $.newInviteCode(db, username, pass);
134
+
135
+ var index = await db1.add({
136
+ username,
137
+ salt,
138
+ phone,
139
+ email,
140
+ nickname,
141
+ referee_id,
142
+ password: pass,
143
+ invite_code: icode
144
+ });
145
+
146
+ if (index > 0) {
147
+ var user;
148
+ if (mode == 1) {
149
+ user = await db1.getObj({
150
+ phone
151
+ }, "", "", false);
152
+ } else if (mode == 2) {
153
+ user = await db1.getObj({
154
+ email
155
+ }, "", "", false);
156
+ } else {
157
+ user = await db1.getObj({
158
+ username
159
+ }, "", "", false);
160
+ }
161
+
162
+ if (user) {
163
+ var db3 = db.new("user_count", "user_id");
164
+ var user_id = user.user_id;
165
+ await db3.add({
166
+ user_id
167
+ });
168
+ }
169
+ if (activation) {
170
+ var now = new Date();
171
+ var time_activate = now.toStr('yyyy-MM-dd hh:mm:ss');
172
+ var time_validity = now.addDays(activation.period).toStr('yyyy-MM-dd hh:mm:ss');
173
+ await db2.set({
174
+ code_id: activation.code_id
175
+ }, {
176
+ state: 3,
177
+ user_id: user.user_id,
178
+ time_activate,
179
+ time_validity
180
+ });
181
+ await $.activate_flow(db, user.user_id, user.user_id, "使用", activation.activate_code, "注册激活");
182
+ }
183
+ return $.ret.bl(true, '注册成功');
184
+ } else {
185
+ return $.ret.error(10000, '数据库业务逻辑错误。 ' + JSON.stringify(db1.error, true));
186
+ }
187
+ };
188
+
189
+ exports.main = main;
@@ -0,0 +1,83 @@
1
+ {
2
+ "title": "用户注册验证模型",
3
+ "name": "user_sign_up",
4
+ "filter": true,
5
+ "file": "",
6
+ "post": {
7
+ "body": ["invite_code", "account", "nickname", "username", "mode"],
8
+ "body_required": ["password", "confirm_password", "code"]
9
+ },
10
+ "list": [{
11
+ "name": "mode",
12
+ "title": "方式",
13
+ "type": "number",
14
+ "string": {
15
+ "min": 0,
16
+ "max": 3
17
+ }
18
+ },
19
+ {
20
+ "name": "account",
21
+ "title": "账号",
22
+ "type": "string",
23
+ "string": {
24
+ "min": 5,
25
+ "max": 16,
26
+ "format": "username"
27
+ }
28
+ },
29
+ {
30
+ "name": "username",
31
+ "title": "用户名",
32
+ "type": "string",
33
+ "string": {
34
+ "min": 5,
35
+ "max": 16,
36
+ "format": "username"
37
+ }
38
+ },
39
+ {
40
+ "name": "nickname",
41
+ "title": "角色昵称",
42
+ "type": "string",
43
+ "string": {
44
+ "min": 5,
45
+ "max": 16
46
+ }
47
+ },
48
+ {
49
+ "name": "password",
50
+ "title": "密码",
51
+ "type": "string",
52
+ "string": {
53
+ "min": 32,
54
+ "max": 32,
55
+ "format": "password",
56
+ "different": "username"
57
+ }
58
+ },
59
+ {
60
+ "name": "confirm_password",
61
+ "title": "确认密码",
62
+ "type": "string",
63
+ "string": {
64
+ "format": "password",
65
+ "identical": "password"
66
+ }
67
+ },
68
+ {
69
+ "name": "code",
70
+ "title": "短信验证码",
71
+ "type": "string",
72
+ "string": {
73
+ "min": 4,
74
+ "max": 8
75
+ }
76
+ },
77
+ {
78
+ "name": "invite_code",
79
+ "title": "邀请码",
80
+ "type": "string"
81
+ }
82
+ ]
83
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ // 路由路径
3
+ "path": "/api/user/sign_up_in",
4
+ // 名称, 用于动态增删改API配置
5
+ "name": "user_sign_up_in",
6
+ // 标题, 用于开发文档显示
7
+ "title": "注册并登录",
8
+ // 描述, 用于介绍该路由的作用
9
+ "description": "用于注册和登录",
10
+ // 函数文件, 用于驱动脚本, 实现业务
11
+ "func_file": "./index.js",
12
+ // 请求方法, 选填 GET, POST, ALL。 ALL指同时支持GET/POST
13
+ "method": "ALL",
14
+ // 开放域, 如果域未开放, 则只有特定的协议头才能访问该API, 同时API文档不接见
15
+ "scope": true,
16
+ // 缓存时长, 单位: 分钟。使用缓存后, 二次访问API直接从缓存读取, 不重复执行业务脚本
17
+ "cache": 0,
18
+ // 是否客户端缓存, 使用客户端则不再访问服务器, 直接从浏览器中拿; 使用服务端缓存则会访问服务器
19
+ "client_cache": false,
20
+ // 参数配置路径, 用于校验API请求参数是否正确, 同时显示在API文档中
21
+ "param_path": "./param.json",
22
+ /* 授权协议 */
23
+ "oauth": {
24
+ // 是否需要登录, true表示需要登录才能访问该接口
25
+ "signIn": false,
26
+ // 会员权限级别, 如果小于该值, 则无法访问, 0为不限制
27
+ "vip": 0,
28
+ // 管理员权限级别, 如果小于该值, 则无法访问, 0为不限制
29
+ "gm": 0,
30
+ // 商户/第三方权限级别, 如果小于该值, 则无法访问, 0为不限制
31
+ "mc": 0,
32
+ // 用户组, 允许访问该接口的普通用户群体, 传ID数组,例如: [1,5]
33
+ "user_group": [],
34
+ // 管理组, 允许访问该接口的管理员群体, 传ID数组,例如: [1,5]
35
+ "user_admin": []
36
+ }
37
+ }
@@ -0,0 +1,137 @@
1
+ /**
2
+ * @description 接口主函数
3
+ * @param {Object} ctx HTTP上下文
4
+ * @param {Object} db 数据管理器,如: { next: async function{}, ret: {} }
5
+ * @return {Object} 执行结果
6
+ */
7
+ async function main(ctx, db) {
8
+ db.table = "user_account";
9
+
10
+ var by = ctx.request.body;
11
+ var {
12
+ username,
13
+ phone,
14
+ code,
15
+ openid,
16
+ info
17
+ } = by;
18
+
19
+ // 短信验证码判断
20
+ if (code) {
21
+ var key = "code_sign_up_in_" + phone;
22
+ var value = await $.cache.get(key);
23
+ if (!value) {
24
+ return $.ret.error(10000, '请先发送验证码!');
25
+ }
26
+ var json = value.toJson();
27
+ if (code !== json.code) {
28
+ return $.ret.bl(false, '验证码不正确!');
29
+ }
30
+ }
31
+
32
+ // 判断用户是否已存在
33
+ var user = await db.getObj({
34
+ username
35
+ });
36
+ if (!user) {
37
+ //没有账号进行注册
38
+ var nickname = info.nickName
39
+ var avatar = info.avatarUrl
40
+ var index = await db.add({
41
+ username,
42
+ phone,
43
+ nickname,
44
+ avatar
45
+ });
46
+ if (index > 0) {
47
+ user = await db.getObj({
48
+ username
49
+ });
50
+ if (user) {
51
+ var user_id = user.user_id;
52
+ db.table = "user_count";
53
+ await db.add({
54
+ user_id,
55
+ coin: 0
56
+ });
57
+ db.table = "user_info";
58
+ await db.add({
59
+ user_id
60
+ });
61
+ db.table = "user_sns";
62
+ await db.add({
63
+ user_id
64
+ });
65
+ } else {
66
+ return $.ret.error(10000, '数据库业务逻辑错误。 ' + JSON.stringify(db.error, true));
67
+ }
68
+ } else {
69
+ return $.ret.error(10000, '数据库业务逻辑错误。 ' + JSON.stringify(db.error, true));
70
+ }
71
+ }
72
+ // 进行登录
73
+ ctx.session.user = user;
74
+ var token = ctx.session.uuid;
75
+ var login_period = await $.config.get('login_period') || 7200;
76
+ // 7200为2小时
77
+ $.cache.set("ofName_" + user.nickname, token, login_period);
78
+ $.cache.set("ofToken_" + token, user.nickname, login_period);
79
+ $.cache.set($.dict.session_id + "_" + token, user, login_period);
80
+
81
+ db.table = "user_state";
82
+ var state = await db.get({
83
+ user_id
84
+ });
85
+ if (state) {
86
+ await db.set({
87
+ user_id
88
+ }, {
89
+ token,
90
+ times: state.times + 1
91
+ });
92
+ } else {
93
+ await db.add({
94
+ user_id
95
+ }, {
96
+ token,
97
+ times: 1
98
+ });
99
+ }
100
+
101
+ var body = $.ret.body({
102
+ token,
103
+ user
104
+ });
105
+
106
+ //绑定微信信息
107
+ var user_id = user.user_id;
108
+ if (!openid) {
109
+ return $.ret.error(10000, '数据库业务逻辑错误。 ' + JSON.stringify(db.error, true));
110
+ }
111
+ var way = by.way || "wechat";
112
+ db.table = way + "_info";
113
+ var wx_info = await db.getObj({
114
+ openid: openid
115
+ });
116
+ info = JSON.stringify(by.info)
117
+ if (wx_info) {
118
+ var obj = {
119
+ info,
120
+ user_id,
121
+ openid: openid
122
+ }
123
+ db.set({
124
+ openid: openid
125
+ }, obj);
126
+ } else {
127
+ db.add({
128
+ info,
129
+ user_id,
130
+ openid: openid
131
+ });
132
+ }
133
+
134
+ return body;
135
+ };
136
+
137
+ exports.main = main;
@@ -0,0 +1,33 @@
1
+ {
2
+ "title": "用户注册登录验证模型",
3
+ "name": "user_sign_up",
4
+ "filter": true,
5
+ "file": "",
6
+ "post": {
7
+ "body": [],
8
+ "body_required": ["username", "phone", "code"]
9
+ },
10
+ "list": [{
11
+ "name": "username",
12
+ "title": "用户名",
13
+ "type": "string",
14
+ "string": {
15
+ "min": 5,
16
+ "max": 16,
17
+ "format": "username"
18
+ }
19
+ }, {
20
+ "name": "phone",
21
+ "title": "手机号码",
22
+ "type": "string",
23
+ "string": {
24
+ "format": "phone"
25
+ }
26
+ },
27
+ {
28
+ "name": "code",
29
+ "title": "短信验证码",
30
+ "type": "string"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "path": "/api/user/state",
3
+ "type": "api",
4
+ "name": "user_state",
5
+ "title": "获取登录态",
6
+ "cache": 0,
7
+ "func_file": "./index.js",
8
+ "method": "GET"
9
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @description 接口主函数
3
+ * @param {Object} ctx HTTP上下文
4
+ * @param {Object} db 数据管理器,如: { next: async function{}, ret: {} }
5
+ * @return {Object} 执行结果
6
+ */
7
+ async function main(ctx, db) {
8
+ var o = await this.get_state(ctx, db);
9
+ if (o) {
10
+ return $.ret.body(o);
11
+ }
12
+ var token = ctx.headers[$.dict.token];
13
+ if (token) {
14
+ return $.ret.error(50000, '非法访问');
15
+ }
16
+ return $.ret.error(40000, '用户未登录');
17
+ }
18
+
19
+ exports.main = main;
@@ -0,0 +1,25 @@
1
+ {
2
+ // 路由路径
3
+ "path": "/api/user/token",
4
+ // 名称, 用于动态增删改API配置
5
+ "name": "user_token",
6
+ // 标题, 用于开发文档显示
7
+ "title": "临时访问牌",
8
+ // 描述, 用于介绍该路由的作用
9
+ "description": "用于获取通讯用的临时访问牌",
10
+ // 函数文件, 用于驱动脚本, 实现业务
11
+ "func_file": "./index.js",
12
+ // 请求方法, 选填 GET, POST, ALL。 ALL指同时支持GET/POST
13
+ "method": "ALL",
14
+ // 开放域, 如果域未开放, 则只有特定的协议头才能访问该API, 同时API文档不接见
15
+ "scope": true,
16
+ // 缓存时长, 单位: 分钟。使用缓存后, 二次访问API直接从缓存读取, 不重复执行业务脚本
17
+ "cache": 0,
18
+ // 是否客户端缓存, 使用客户端则不再访问服务器, 直接从浏览器中拿; 使用服务端缓存则会访问服务器
19
+ "client_cache": false,
20
+ /* 授权协议 */
21
+ "oauth": {
22
+ // 是否需要登录, true表示需要登录才能访问该接口
23
+ "signIn": false
24
+ }
25
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 接口主函数
3
+ * @param {Object} ctx HTTP上下文
4
+ * @param {Object} db 数据管理器,如: { next: async function{}, ret: {} }
5
+ * @return {Object} 执行结果
6
+ */
7
+ async function main(ctx, db) {
8
+ // 获取请求参数
9
+ var req = ctx.request;
10
+ var {
11
+ query,
12
+ body
13
+ } = req;
14
+ ctx.session.user = {};
15
+ return $.ret.body({
16
+ token: ctx.session.uuid
17
+ });
18
+ };
19
+
20
+ exports.main = main;
@@ -0,0 +1,16 @@
1
+ {
2
+ // 是否启用过滤, 启用过滤后, 不符合的参数会被过滤掉
3
+ "filter": true,
4
+ // 校验脚本文件, 可以使用脚本的方式加一步进行校验, 让传参更加安全
5
+ "func_file": "",
6
+ // get请求
7
+ "get": {
8
+ // 查询参数校验项
9
+ "query": [],
10
+ // 查询必填参数
11
+ "query_required": []
12
+ },
13
+ // 校验列表
14
+ "list": [
15
+ ]
16
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ // 路由路径
3
+ "path": "/api/user/unsubscribe",
4
+ // 名称, 用于动态增删改API配置
5
+ "name": "user_unsubscribe",
6
+ // 标题, 用于开发文档显示
7
+ "title": "注销账户",
8
+ // 描述, 用于介绍该路由的作用
9
+ "description": "用户注销自己已存在我方平台的账户,注销后将不再保留用户信息",
10
+ // 函数文件, 用于驱动脚本, 实现业务
11
+ "func_file": "./index.js",
12
+ // 请求方法, 选填 GET, POST, ALL。 ALL指同时支持GET/POST
13
+ "method": "ALL",
14
+ // 开放域, 如果域未开放, 则只有特定的协议头才能访问该API, 同时API文档不接见
15
+ "scope": true,
16
+ // 缓存时长, 单位: 分钟。使用缓存后, 二次访问API直接从缓存读取, 不重复执行业务脚本
17
+ "cache": 0,
18
+ // 是否启用
19
+ "state": 1,
20
+ // 是否客户端缓存, 使用客户端则不再访问服务器, 直接从浏览器中拿; 使用服务端缓存则会访问服务器
21
+ "client_cache": false,
22
+ // 参数配置路径, 用于校验API请求参数是否正确, 同时显示在API文档中
23
+ "param_path": "./param.json",
24
+ /* 授权协议 */
25
+ "oauth": {
26
+ // 是否需要登录, true表示需要登录才能访问该接口
27
+ "signIn": true
28
+ }
29
+ }
@@ -0,0 +1,91 @@
1
+ /**
2
+ * 接口主函数
3
+ * @param {Object} ctx HTTP上下文
4
+ * @param {Object} db 数据管理器, 如: { next: async function{}, ret: {} }
5
+ * @return {Object} 执行结果
6
+ */
7
+ async function main(ctx, db) {
8
+ // 获取请求参数
9
+ var req = ctx.request;
10
+ var {
11
+ query,
12
+ body
13
+ } = req;
14
+
15
+ var pm = Object.assign({}, query, body);
16
+ // 操作sql模板
17
+ var {
18
+ username,
19
+ phone,
20
+ code
21
+ } = pm;
22
+ var user = await this.get_state(ctx, db);
23
+ if (user.username !== username) {
24
+ return $.ret.error(10000, "注销失败!原因:申请注销的账户非本人所有");
25
+ }
26
+
27
+ var key = "code_unsubscribe_" + phone;
28
+ var value = await $.cache.get(key);
29
+ if (!value) {
30
+ return $.ret.error(60001, "请先发送验证码!");
31
+ }
32
+ if (value !== code) {
33
+ return $.ret.error(70001, "验证码错误!");
34
+ }
35
+
36
+ var user_id = user.user_id;
37
+ db.table = "user_account";
38
+ var bl = await db.del({
39
+ user_id,
40
+ username
41
+ });
42
+ if (bl > 0) {
43
+ // 删除用户信息
44
+ db.table = "user_info";
45
+ await db.del({
46
+ user_id
47
+ });
48
+
49
+ // 删除用户积分
50
+ db.table = "user_count";
51
+ await db.del({
52
+ user_id
53
+ });
54
+
55
+ // 删除用户微信信息
56
+ db.table = "wechat_info";
57
+ await db.del({
58
+ user_id
59
+ });
60
+
61
+ // // 删除录入的用户信息
62
+ // db.table = "face_enter";
63
+ // await db.del({
64
+ // user_id
65
+ // });
66
+
67
+ // // 删除开门记录
68
+ // db.table = "face_log";
69
+ // await db.del({
70
+ // user_id
71
+ // });
72
+
73
+ // // 删除考勤记录
74
+ // db.table = "face_attendance";
75
+ // await db.del({
76
+ // user_id
77
+ // });
78
+ ctx.session.user = null;
79
+ var token = ctx.headers[$.dict.token];
80
+ if (token) {
81
+ $.cache.del($.dict.session_id + '_' + token);
82
+ var nickname = await $.cache.get("ofToken_" + token);
83
+ $.cache.del("ofName_" + nickname);
84
+ $.cache.del("ofToken_" + token);
85
+ }
86
+ return $.ret.bl("注销成功!");
87
+ }
88
+ return $.ret.error(10000, "注销失败!原因:数据库连接失败");
89
+ };
90
+
91
+ exports.main = main;