@maketribe/ms-app 3.0.0 → 3.0.3

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 (417) hide show
  1. package/dist/cjs/DataModelDefines.d.ts +23 -0
  2. package/dist/cjs/DataModelDefines.js +28 -0
  3. package/dist/cjs/DataModelDefines.js.map +1 -0
  4. package/dist/cjs/MSAppClient.d.ts +15 -8
  5. package/dist/cjs/MSAppClient.js +25 -102
  6. package/dist/cjs/MSAppClient.js.map +1 -1
  7. package/dist/cjs/MSDataFormComponents.js +1 -1
  8. package/dist/cjs/MSDataFormComponents.js.map +1 -1
  9. package/dist/cjs/PageManager.d.ts +16 -0
  10. package/dist/cjs/PageManager.js +121 -0
  11. package/dist/cjs/PageManager.js.map +1 -0
  12. package/dist/cjs/Router.js +6 -8
  13. package/dist/cjs/Router.js.map +1 -1
  14. package/dist/cjs/UserSession.d.ts +10 -1
  15. package/dist/cjs/UserSession.js +37 -8
  16. package/dist/cjs/UserSession.js.map +1 -1
  17. package/dist/cjs/components/image-select/image-select.js +2 -2
  18. package/dist/cjs/components/image-select/image-select.js.map +1 -1
  19. package/dist/cjs/components/material-list/material-group.vue2.js +5 -5
  20. package/dist/cjs/components/material-list/material-group.vue2.js.map +1 -1
  21. package/dist/cjs/components/member-table/member-table.vue2.js +2 -10
  22. package/dist/cjs/components/member-table/member-table.vue2.js.map +1 -1
  23. package/dist/cjs/components/verify-dialog/index.d.ts +8 -2
  24. package/dist/cjs/components/verify-dialog/verify-dialog-option.d.ts +1 -1
  25. package/dist/cjs/components/verify-dialog/verify-dialog-option.js.map +1 -1
  26. package/dist/cjs/components/verify-dialog/verify-dialog.d.ts +8 -2
  27. package/dist/cjs/components/verify-dialog/verify-dialog.js +2 -25
  28. package/dist/cjs/components/verify-dialog/verify-dialog.js.map +1 -1
  29. package/dist/cjs/constants/index.d.ts +1 -0
  30. package/dist/cjs/constants/index.js +2 -0
  31. package/dist/cjs/constants/index.js.map +1 -1
  32. package/dist/cjs/constants/menu.d.ts +4 -0
  33. package/dist/cjs/constants/menu.js +10 -0
  34. package/dist/cjs/constants/menu.js.map +1 -0
  35. package/dist/cjs/dataview/config/ConfigForm.js +9 -9
  36. package/dist/cjs/dataview/config/ConfigForm.js.map +1 -1
  37. package/dist/cjs/dataview/config/ConfigTable.js +2 -1
  38. package/dist/cjs/dataview/config/ConfigTable.js.map +1 -1
  39. package/dist/cjs/dataview/department/DepartmentForm.js +2 -1
  40. package/dist/cjs/dataview/department/DepartmentForm.js.map +1 -1
  41. package/dist/cjs/dataview/department/DepartmentTable.js +2 -1
  42. package/dist/cjs/dataview/department/DepartmentTable.js.map +1 -1
  43. package/dist/cjs/dataview/material/MaterialForm.js +2 -1
  44. package/dist/cjs/dataview/material/MaterialForm.js.map +1 -1
  45. package/dist/cjs/dataview/material/MaterialMan.js +1 -0
  46. package/dist/cjs/dataview/material/MaterialMan.js.map +1 -1
  47. package/dist/cjs/dataview/material/MaterialTable.js +2 -1
  48. package/dist/cjs/dataview/material/MaterialTable.js.map +1 -1
  49. package/dist/cjs/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
  50. package/dist/cjs/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
  51. package/dist/cjs/dataview/member/MemberForm.js +2 -1
  52. package/dist/cjs/dataview/member/MemberForm.js.map +1 -1
  53. package/dist/cjs/dataview/member/MemberTable.js +4 -3
  54. package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
  55. package/dist/cjs/dataview/menu/MenuForm.d.ts +2 -0
  56. package/dist/cjs/dataview/menu/MenuForm.js +52 -10
  57. package/dist/cjs/dataview/menu/MenuForm.js.map +1 -1
  58. package/dist/cjs/dataview/menu/MenuTable.d.ts +1 -1
  59. package/dist/cjs/dataview/menu/MenuTable.js +2 -1
  60. package/dist/cjs/dataview/menu/MenuTable.js.map +1 -1
  61. package/dist/cjs/dataview/role/RoleForm.js +2 -1
  62. package/dist/cjs/dataview/role/RoleForm.js.map +1 -1
  63. package/dist/cjs/dataview/role/RoleTable.js +2 -1
  64. package/dist/cjs/dataview/role/RoleTable.js.map +1 -1
  65. package/dist/cjs/dataview/route/RouteForm.js +10 -6
  66. package/dist/cjs/dataview/route/RouteForm.js.map +1 -1
  67. package/dist/cjs/dataview/route/RouteTable.js +2 -1
  68. package/dist/cjs/dataview/route/RouteTable.js.map +1 -1
  69. package/dist/cjs/define-data-form.d.ts +2 -0
  70. package/dist/cjs/define-data-form.js +14 -0
  71. package/dist/cjs/define-data-form.js.map +1 -0
  72. package/dist/cjs/define-data-table.d.ts +2 -0
  73. package/dist/cjs/define-data-table.js +14 -0
  74. package/dist/cjs/define-data-table.js.map +1 -0
  75. package/dist/cjs/index.d.ts +3 -0
  76. package/dist/cjs/index.js +26 -16
  77. package/dist/cjs/index.js.map +1 -1
  78. package/dist/cjs/init-application.js +24 -22
  79. package/dist/cjs/init-application.js.map +1 -1
  80. package/dist/cjs/layouts/common/lock/index.d.ts +2 -0
  81. package/dist/cjs/layouts/common/lock/index.js +11 -0
  82. package/dist/cjs/layouts/common/lock/index.js.map +1 -0
  83. package/dist/cjs/layouts/common/lock/lock.d.ts +2 -0
  84. package/dist/cjs/layouts/common/lock/lock.js +100 -0
  85. package/dist/cjs/layouts/common/lock/lock.js.map +1 -0
  86. package/dist/cjs/layouts/default/components/bar/index.d.ts +10 -0
  87. package/dist/cjs/layouts/default/components/bar/index.js +73 -0
  88. package/dist/cjs/layouts/default/components/bar/index.js.map +1 -0
  89. package/dist/cjs/layouts/default/components/index.d.ts +2 -0
  90. package/dist/cjs/layouts/default/components/index.js +10 -0
  91. package/dist/cjs/layouts/default/components/index.js.map +1 -0
  92. package/dist/cjs/layouts/default/components/menu/index.d.ts +10 -0
  93. package/dist/cjs/layouts/default/components/menu/index.js +62 -0
  94. package/dist/cjs/layouts/default/components/menu/index.js.map +1 -0
  95. package/dist/cjs/layouts/default/components/menu/menu-item.d.ts +13 -0
  96. package/dist/cjs/layouts/default/components/menu/menu-item.js +51 -0
  97. package/dist/cjs/layouts/default/components/menu/menu-item.js.map +1 -0
  98. package/dist/cjs/layouts/default/index.d.ts +1 -0
  99. package/dist/cjs/layouts/default/index.js +80 -0
  100. package/dist/cjs/layouts/default/index.js.map +1 -0
  101. package/dist/cjs/layouts/index.d.ts +1 -0
  102. package/dist/cjs/layouts/index.js +2 -0
  103. package/dist/cjs/layouts/index.js.map +1 -1
  104. package/dist/cjs/layouts/manager-system/components/header/nav/nav.js +8 -16
  105. package/dist/cjs/layouts/manager-system/components/header/nav/nav.js.map +1 -1
  106. package/dist/cjs/layouts/manager-system/components/menu/index.d.ts +2 -0
  107. package/dist/cjs/layouts/manager-system/components/menu/index.js +11 -0
  108. package/dist/cjs/layouts/manager-system/components/menu/index.js.map +1 -0
  109. package/dist/cjs/layouts/manager-system/components/menu/logo.d.ts +2 -0
  110. package/dist/cjs/layouts/manager-system/components/menu/logo.js +31 -0
  111. package/dist/cjs/layouts/manager-system/components/menu/logo.js.map +1 -0
  112. package/dist/cjs/layouts/manager-system/components/menu/menu.d.ts +2 -0
  113. package/dist/cjs/layouts/manager-system/components/menu/menu.js +107 -0
  114. package/dist/cjs/layouts/manager-system/components/menu/menu.js.map +1 -0
  115. package/dist/cjs/layouts/manager-system/manager-system.js +55 -5
  116. package/dist/cjs/layouts/manager-system/manager-system.js.map +1 -1
  117. package/dist/cjs/menu/Menu.d.ts +1 -0
  118. package/dist/cjs/menu/Menu.js +1 -1
  119. package/dist/cjs/menu/Menu.js.map +1 -1
  120. package/dist/cjs/page/index/404.vue.d.ts +2 -0
  121. package/dist/cjs/page/index/404.vue.js +13 -0
  122. package/dist/cjs/page/index/404.vue.js.map +1 -0
  123. package/dist/cjs/page/index/dv/default/add.vue.js +2 -2
  124. package/dist/cjs/page/index/dv/default/add.vue2.js +2 -2
  125. package/dist/cjs/page/index/dv/default/add.vue2.js.map +1 -1
  126. package/dist/cjs/page/index/dv/default/edit.vue.js +2 -2
  127. package/dist/cjs/page/index/dv/default/edit.vue2.js +2 -2
  128. package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
  129. package/dist/cjs/page/index/dv/default/index.vue2.js +13 -15
  130. package/dist/cjs/page/index/dv/default/index.vue2.js.map +1 -1
  131. package/dist/cjs/page/index/dv/default/tree.vue.js +2 -2
  132. package/dist/cjs/page/index/dv/default/tree.vue2.js +3 -3
  133. package/dist/cjs/page/index/dv/default/tree.vue2.js.map +1 -1
  134. package/dist/cjs/page/index/dv/ms-member/index.vue.js +2 -2
  135. package/dist/cjs/page/index/dv/ms-member/index.vue2.js +2 -2
  136. package/dist/cjs/page/index/dv/ms-member/index.vue2.js.map +1 -1
  137. package/dist/cjs/page/index/dv/ms-role/index.vue.js +2 -2
  138. package/dist/cjs/page/index/material/index.vue.js +2 -2
  139. package/dist/cjs/page/index/material/index.vue2.js.map +1 -1
  140. package/dist/cjs/page/index.vue.d.ts +2 -0
  141. package/dist/cjs/page/index.vue.js +9 -0
  142. package/dist/cjs/page/index.vue.js.map +1 -0
  143. package/dist/cjs/page/index.vue2.js +30 -0
  144. package/dist/cjs/page/index.vue2.js.map +1 -0
  145. package/dist/cjs/page/login/index.vue.js +2 -2
  146. package/dist/cjs/page/login/index.vue2.js +2 -17
  147. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  148. package/dist/cjs/page/signup/index.vue.js +2 -2
  149. package/dist/cjs/page/signup/index.vue2.js +2 -18
  150. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  151. package/dist/cjs/router-middleware/auth.d.ts +2 -1
  152. package/dist/cjs/router-middleware/auth.js +2 -8
  153. package/dist/cjs/router-middleware/auth.js.map +1 -1
  154. package/dist/cjs/utils.d.ts +6 -0
  155. package/dist/cjs/utils.js +151 -0
  156. package/dist/cjs/utils.js.map +1 -0
  157. package/dist/esm/DataModelDefines.d.ts +23 -0
  158. package/dist/esm/DataModelDefines.js +26 -0
  159. package/dist/esm/DataModelDefines.js.map +1 -0
  160. package/dist/esm/MSAppClient.d.ts +15 -8
  161. package/dist/esm/MSAppClient.js +27 -104
  162. package/dist/esm/MSAppClient.js.map +1 -1
  163. package/dist/esm/MSDataFormComponents.js +1 -1
  164. package/dist/esm/MSDataFormComponents.js.map +1 -1
  165. package/dist/esm/PageManager.d.ts +16 -0
  166. package/dist/esm/PageManager.js +117 -0
  167. package/dist/esm/PageManager.js.map +1 -0
  168. package/dist/esm/Router.js +4 -8
  169. package/dist/esm/Router.js.map +1 -1
  170. package/dist/esm/UserSession.d.ts +10 -1
  171. package/dist/esm/UserSession.js +38 -9
  172. package/dist/esm/UserSession.js.map +1 -1
  173. package/dist/esm/components/image-select/image-select.js +1 -1
  174. package/dist/esm/components/image-select/image-select.js.map +1 -1
  175. package/dist/esm/components/material-list/material-group.vue2.js +1 -1
  176. package/dist/esm/components/material-list/material-group.vue2.js.map +1 -1
  177. package/dist/esm/components/member-table/member-table.vue2.js +2 -10
  178. package/dist/esm/components/member-table/member-table.vue2.js.map +1 -1
  179. package/dist/esm/components/verify-dialog/index.d.ts +8 -2
  180. package/dist/esm/components/verify-dialog/verify-dialog-option.d.ts +1 -1
  181. package/dist/esm/components/verify-dialog/verify-dialog-option.js.map +1 -1
  182. package/dist/esm/components/verify-dialog/verify-dialog.d.ts +8 -2
  183. package/dist/esm/components/verify-dialog/verify-dialog.js +2 -25
  184. package/dist/esm/components/verify-dialog/verify-dialog.js.map +1 -1
  185. package/dist/esm/constants/index.d.ts +1 -0
  186. package/dist/esm/constants/index.js +1 -0
  187. package/dist/esm/constants/index.js.map +1 -1
  188. package/dist/esm/constants/menu.d.ts +4 -0
  189. package/dist/esm/constants/menu.js +8 -0
  190. package/dist/esm/constants/menu.js.map +1 -0
  191. package/dist/esm/dataview/config/ConfigForm.js +9 -9
  192. package/dist/esm/dataview/config/ConfigForm.js.map +1 -1
  193. package/dist/esm/dataview/config/ConfigTable.js +2 -1
  194. package/dist/esm/dataview/config/ConfigTable.js.map +1 -1
  195. package/dist/esm/dataview/department/DepartmentForm.js +2 -1
  196. package/dist/esm/dataview/department/DepartmentForm.js.map +1 -1
  197. package/dist/esm/dataview/department/DepartmentTable.js +2 -1
  198. package/dist/esm/dataview/department/DepartmentTable.js.map +1 -1
  199. package/dist/esm/dataview/material/MaterialForm.js +2 -1
  200. package/dist/esm/dataview/material/MaterialForm.js.map +1 -1
  201. package/dist/esm/dataview/material/MaterialMan.js +2 -1
  202. package/dist/esm/dataview/material/MaterialMan.js.map +1 -1
  203. package/dist/esm/dataview/material/MaterialTable.js +2 -1
  204. package/dist/esm/dataview/material/MaterialTable.js.map +1 -1
  205. package/dist/esm/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
  206. package/dist/esm/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
  207. package/dist/esm/dataview/member/MemberForm.js +2 -1
  208. package/dist/esm/dataview/member/MemberForm.js.map +1 -1
  209. package/dist/esm/dataview/member/MemberTable.js +4 -3
  210. package/dist/esm/dataview/member/MemberTable.js.map +1 -1
  211. package/dist/esm/dataview/menu/MenuForm.d.ts +2 -0
  212. package/dist/esm/dataview/menu/MenuForm.js +52 -10
  213. package/dist/esm/dataview/menu/MenuForm.js.map +1 -1
  214. package/dist/esm/dataview/menu/MenuTable.d.ts +1 -1
  215. package/dist/esm/dataview/menu/MenuTable.js +2 -1
  216. package/dist/esm/dataview/menu/MenuTable.js.map +1 -1
  217. package/dist/esm/dataview/role/RoleForm.js +2 -1
  218. package/dist/esm/dataview/role/RoleForm.js.map +1 -1
  219. package/dist/esm/dataview/role/RoleTable.js +2 -1
  220. package/dist/esm/dataview/role/RoleTable.js.map +1 -1
  221. package/dist/esm/dataview/route/RouteForm.js +10 -6
  222. package/dist/esm/dataview/route/RouteForm.js.map +1 -1
  223. package/dist/esm/dataview/route/RouteTable.js +2 -1
  224. package/dist/esm/dataview/route/RouteTable.js.map +1 -1
  225. package/dist/esm/define-data-form.d.ts +2 -0
  226. package/dist/esm/define-data-form.js +12 -0
  227. package/dist/esm/define-data-form.js.map +1 -0
  228. package/dist/esm/define-data-table.d.ts +2 -0
  229. package/dist/esm/define-data-table.js +12 -0
  230. package/dist/esm/define-data-table.js.map +1 -0
  231. package/dist/esm/index.d.ts +3 -0
  232. package/dist/esm/index.js +5 -0
  233. package/dist/esm/index.js.map +1 -1
  234. package/dist/esm/init-application.js +24 -22
  235. package/dist/esm/init-application.js.map +1 -1
  236. package/dist/esm/layouts/common/lock/index.d.ts +2 -0
  237. package/dist/esm/layouts/common/lock/index.js +6 -0
  238. package/dist/esm/layouts/common/lock/index.js.map +1 -0
  239. package/dist/esm/layouts/common/lock/lock.d.ts +2 -0
  240. package/dist/esm/layouts/common/lock/lock.js +98 -0
  241. package/dist/esm/layouts/common/lock/lock.js.map +1 -0
  242. package/dist/esm/layouts/default/components/bar/index.d.ts +10 -0
  243. package/dist/esm/layouts/default/components/bar/index.js +71 -0
  244. package/dist/esm/layouts/default/components/bar/index.js.map +1 -0
  245. package/dist/esm/layouts/default/components/index.d.ts +2 -0
  246. package/dist/esm/layouts/default/components/index.js +3 -0
  247. package/dist/esm/layouts/default/components/index.js.map +1 -0
  248. package/dist/esm/layouts/default/components/menu/index.d.ts +10 -0
  249. package/dist/esm/layouts/default/components/menu/index.js +60 -0
  250. package/dist/esm/layouts/default/components/menu/index.js.map +1 -0
  251. package/dist/esm/layouts/default/components/menu/menu-item.d.ts +13 -0
  252. package/dist/esm/layouts/default/components/menu/menu-item.js +49 -0
  253. package/dist/esm/layouts/default/components/menu/menu-item.js.map +1 -0
  254. package/dist/esm/layouts/default/index.d.ts +1 -0
  255. package/dist/esm/layouts/default/index.js +78 -0
  256. package/dist/esm/layouts/default/index.js.map +1 -0
  257. package/dist/esm/layouts/index.d.ts +1 -0
  258. package/dist/esm/layouts/index.js +1 -0
  259. package/dist/esm/layouts/index.js.map +1 -1
  260. package/dist/esm/layouts/manager-system/components/header/nav/nav.js +8 -16
  261. package/dist/esm/layouts/manager-system/components/header/nav/nav.js.map +1 -1
  262. package/dist/esm/layouts/manager-system/components/menu/index.d.ts +2 -0
  263. package/dist/esm/layouts/manager-system/components/menu/index.js +6 -0
  264. package/dist/esm/layouts/manager-system/components/menu/index.js.map +1 -0
  265. package/dist/esm/layouts/manager-system/components/menu/logo.d.ts +2 -0
  266. package/dist/esm/layouts/manager-system/components/menu/logo.js +29 -0
  267. package/dist/esm/layouts/manager-system/components/menu/logo.js.map +1 -0
  268. package/dist/esm/layouts/manager-system/components/menu/menu.d.ts +2 -0
  269. package/dist/esm/layouts/manager-system/components/menu/menu.js +105 -0
  270. package/dist/esm/layouts/manager-system/components/menu/menu.js.map +1 -0
  271. package/dist/esm/layouts/manager-system/manager-system.js +56 -6
  272. package/dist/esm/layouts/manager-system/manager-system.js.map +1 -1
  273. package/dist/esm/menu/Menu.d.ts +1 -0
  274. package/dist/esm/menu/Menu.js +1 -1
  275. package/dist/esm/menu/Menu.js.map +1 -1
  276. package/dist/esm/page/index/404.vue.d.ts +2 -0
  277. package/dist/esm/page/index/404.vue.js +11 -0
  278. package/dist/esm/page/index/404.vue.js.map +1 -0
  279. package/dist/esm/page/index/dv/default/add.vue.js +2 -2
  280. package/dist/esm/page/index/dv/default/add.vue2.js +2 -2
  281. package/dist/esm/page/index/dv/default/add.vue2.js.map +1 -1
  282. package/dist/esm/page/index/dv/default/edit.vue.js +2 -2
  283. package/dist/esm/page/index/dv/default/edit.vue2.js +2 -2
  284. package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
  285. package/dist/esm/page/index/dv/default/index.vue2.js +15 -17
  286. package/dist/esm/page/index/dv/default/index.vue2.js.map +1 -1
  287. package/dist/esm/page/index/dv/default/tree.vue.js +2 -2
  288. package/dist/esm/page/index/dv/default/tree.vue2.js +3 -3
  289. package/dist/esm/page/index/dv/default/tree.vue2.js.map +1 -1
  290. package/dist/esm/page/index/dv/ms-member/index.vue.js +2 -2
  291. package/dist/esm/page/index/dv/ms-member/index.vue2.js +2 -2
  292. package/dist/esm/page/index/dv/ms-member/index.vue2.js.map +1 -1
  293. package/dist/esm/page/index/dv/ms-role/index.vue.js +2 -2
  294. package/dist/esm/page/index/material/index.vue.js +2 -2
  295. package/dist/esm/page/index/material/index.vue2.js.map +1 -1
  296. package/dist/esm/page/index.vue.d.ts +2 -0
  297. package/dist/esm/page/index.vue.js +7 -0
  298. package/dist/esm/page/index.vue.js.map +1 -0
  299. package/dist/esm/page/index.vue2.js +28 -0
  300. package/dist/esm/page/index.vue2.js.map +1 -0
  301. package/dist/esm/page/login/index.vue.js +2 -2
  302. package/dist/esm/page/login/index.vue2.js +2 -17
  303. package/dist/esm/page/login/index.vue2.js.map +1 -1
  304. package/dist/esm/page/signup/index.vue.js +2 -2
  305. package/dist/esm/page/signup/index.vue2.js +2 -18
  306. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  307. package/dist/esm/router-middleware/auth.d.ts +2 -1
  308. package/dist/esm/router-middleware/auth.js +2 -8
  309. package/dist/esm/router-middleware/auth.js.map +1 -1
  310. package/dist/esm/utils.d.ts +6 -0
  311. package/dist/esm/utils.js +149 -0
  312. package/dist/esm/utils.js.map +1 -0
  313. package/dist/style/index.css +2 -2
  314. package/dist/style/layouts/common/index.css +1 -0
  315. package/dist/style/layouts/common/lock.css +1 -0
  316. package/dist/style/layouts/default/bar.css +1 -0
  317. package/dist/style/layouts/default/index.css +1 -0
  318. package/dist/style/layouts/default/menu.css +1 -0
  319. package/dist/style/layouts/index.css +1 -1
  320. package/dist/style/layouts/manager-system/aside.css +1 -1
  321. package/dist/style/layouts/manager-system/header.css +1 -1
  322. package/dist/style/layouts/manager-system/index.css +1 -1
  323. package/dist/style/layouts/manager-system/logo.css +1 -0
  324. package/dist/style/layouts/manager-system/manager-system.css +1 -1
  325. package/dist/style/layouts/manager-system/menu.css +1 -1
  326. package/dist/style/src/layouts/common/index.scss +1 -0
  327. package/dist/style/src/layouts/common/lock.scss +27 -0
  328. package/dist/style/src/layouts/default/bar.scss +83 -0
  329. package/dist/style/src/layouts/default/index.scss +37 -0
  330. package/dist/style/src/layouts/default/menu.scss +17 -0
  331. package/dist/style/src/layouts/index.scss +3 -1
  332. package/dist/style/src/layouts/manager-system/aside.scss +48 -0
  333. package/dist/style/src/layouts/manager-system/header.scss +13 -7
  334. package/dist/style/src/layouts/manager-system/index.scss +2 -1
  335. package/dist/style/src/layouts/manager-system/logo.scss +26 -0
  336. package/dist/style/src/layouts/manager-system/manager-system.scss +45 -1
  337. package/dist/style/src/layouts/manager-system/menu.scss +208 -26
  338. package/package.json +11 -7
  339. package/src/DataModelDefines.ts +53 -0
  340. package/src/MSAppClient.ts +39 -136
  341. package/src/MSDataFormComponents.ts +1 -1
  342. package/src/PageManager.ts +145 -0
  343. package/src/Router.ts +8 -8
  344. package/src/UserSession.ts +58 -15
  345. package/src/components/image-select/image-select.tsx +1 -1
  346. package/src/components/material-list/material-group.vue +1 -1
  347. package/src/components/verify-dialog/verify-dialog-option.ts +1 -1
  348. package/src/components/verify-dialog/verify-dialog.tsx +1 -1
  349. package/src/constants/index.ts +1 -0
  350. package/src/constants/menu.ts +4 -0
  351. package/src/dataview/config/ConfigForm.ts +13 -10
  352. package/src/dataview/config/ConfigTable.ts +1 -1
  353. package/src/dataview/department/DepartmentForm.ts +2 -6
  354. package/src/dataview/department/DepartmentTable.ts +2 -6
  355. package/src/dataview/material/MaterialForm.ts +2 -6
  356. package/src/dataview/material/MaterialMan.ts +5 -1
  357. package/src/dataview/material/MaterialTable.ts +1 -1
  358. package/src/dataview/material/material-group/MaterialGroupForm.ts +1 -6
  359. package/src/dataview/material/material-group/MaterialGroupTable.ts +1 -6
  360. package/src/dataview/member/MemberForm.ts +2 -6
  361. package/src/dataview/member/MemberTable.tsx +3 -3
  362. package/src/dataview/menu/MenuForm.ts +60 -9
  363. package/src/dataview/menu/MenuTable.ts +2 -2
  364. package/src/dataview/role/RoleForm.ts +2 -6
  365. package/src/dataview/role/RoleTable.ts +2 -1
  366. package/src/dataview/route/RouteForm.ts +11 -10
  367. package/src/dataview/route/RouteTable.ts +1 -1
  368. package/src/define-data-form.ts +12 -0
  369. package/src/define-data-table.ts +12 -0
  370. package/src/index.ts +3 -1
  371. package/src/init-application.ts +25 -27
  372. package/src/layouts/common/lock/index.ts +5 -0
  373. package/src/layouts/common/lock/lock.tsx +92 -0
  374. package/src/layouts/default/components/bar/index.tsx +76 -0
  375. package/src/layouts/default/components/index.ts +2 -0
  376. package/src/layouts/default/components/menu/index.tsx +57 -0
  377. package/src/layouts/default/components/menu/menu-item.tsx +63 -0
  378. package/src/layouts/default/index.tsx +72 -0
  379. package/src/layouts/index.ts +1 -0
  380. package/src/layouts/manager-system/components/header/nav/nav.tsx +9 -18
  381. package/src/layouts/manager-system/components/menu/index.ts +5 -0
  382. package/src/layouts/manager-system/components/menu/logo.tsx +29 -0
  383. package/src/layouts/manager-system/components/menu/menu.tsx +112 -0
  384. package/src/layouts/manager-system/manager-system.tsx +80 -4
  385. package/src/menu/Menu.ts +2 -2
  386. package/src/page/index/404.vue +3 -0
  387. package/src/page/index/dv/default/add.vue +3 -2
  388. package/src/page/index/dv/default/edit.vue +3 -2
  389. package/src/page/index/dv/default/index.vue +11 -16
  390. package/src/page/index/dv/default/tree.vue +4 -3
  391. package/src/page/index/dv/ms-member/index.vue +2 -2
  392. package/src/page/index/material/index.vue +0 -1
  393. package/src/page/index.vue +16 -0
  394. package/src/router-middleware/auth.ts +12 -9
  395. package/src/utils.ts +233 -0
  396. package/gulpfile.ts +0 -1
  397. package/rollup.config.mjs +0 -11
  398. package/style/components/image-select.scss +0 -13
  399. package/style/components/index.scss +0 -9
  400. package/style/components/material-group.scss +0 -38
  401. package/style/components/material-item.scss +0 -20
  402. package/style/components/material-list.scss +0 -67
  403. package/style/components/material-select.scss +0 -23
  404. package/style/components/member-table.scss +0 -9
  405. package/style/components/menu-permission-table.scss +0 -43
  406. package/style/components/role-permission-config.scss +0 -18
  407. package/style/components/verify-dialog.scss +0 -16
  408. package/style/index.scss +0 -4
  409. package/style/layouts/index.scss +0 -1
  410. package/style/layouts/manager-system/aside.scss +0 -116
  411. package/style/layouts/manager-system/header.scss +0 -129
  412. package/style/layouts/manager-system/index.scss +0 -4
  413. package/style/layouts/manager-system/manager-system.scss +0 -26
  414. package/style/layouts/manager-system/menu.scss +0 -47
  415. package/style/page/login.scss +0 -107
  416. package/tsconfig.build.json +0 -10
  417. package/tsconfig.json +0 -14
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from './index.vue2.js';
2
2
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js';
3
3
 
4
- var MaterialListPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/chenyu/Documents/develop/maketribe/make-appclient/packages/ms-app/src/page/index/material/index.vue"]]);
4
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/chenyu/Documents/develop/maketribe/make-appclient/packages/ms-app/src/page/index/material/index.vue"]]);
5
5
 
6
- export { MaterialListPage as default };
6
+ export { index as default };
7
7
  //# sourceMappingURL=index.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../src/page/index/material/index.vue"],"sourcesContent":["<template>\n <MKMaterialList :material-man=\"materialMan\" />\n</template>\n<script setup lang=\"ts\">\nimport { reactive } from \"vue\";\nimport { MaterialMan } from \"../../../dataview\";\nimport { MKMaterialList } from \"../../../components\";\nimport { MaterialComponents } from \"../../../MaterialComponents\";\n\nconst materialMan = reactive(\n new MaterialMan({ components: new MaterialComponents() })\n) as MaterialMan;\n</script>\n<style lang=\"scss\"></style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAA,MAAM,WAAc,GAAA,QAAA;AAAA,MAClB,IAAI,WAAY,CAAA,EAAE,YAAY,IAAI,kBAAA,IAAsB,CAAA;AAAA,KAC1D,CAAA;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../src/page/index/material/index.vue"],"sourcesContent":["<template>\n <MKMaterialList :material-man=\"materialMan\" />\n</template>\n<script setup lang=\"ts\">\nimport { reactive } from \"vue\";\nimport { MaterialMan } from \"../../../dataview\";\nimport { MKMaterialList } from \"../../../components\";\nimport { MaterialComponents } from \"../../../MaterialComponents\";\n\nconst materialMan = reactive(\n new MaterialMan({ components: new MaterialComponents() })\n) as MaterialMan;\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAA,MAAM,WAAc,GAAA,QAAA;AAAA,MAClB,IAAI,WAAY,CAAA,EAAE,YAAY,IAAI,kBAAA,IAAsB,CAAA;AAAA,KAC1D,CAAA;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from './index.vue2.js';
2
+ import _export_sfc from '../_virtual/_plugin-vue_export-helper.js';
3
+
4
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/chenyu/Documents/develop/maketribe/make-appclient/packages/ms-app/src/page/index.vue"]]);
5
+
6
+ export { index as default };
7
+ //# sourceMappingURL=index.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,28 @@
1
+ import { defineComponent, resolveComponent, openBlock, createBlock, unref, withCtx, createVNode } from 'vue';
2
+ import '../layouts/manager-system/index.js';
3
+ import { MKLayoutDefault } from '../layouts/default/index.js';
4
+
5
+ var _sfc_main = /* @__PURE__ */ defineComponent({
6
+ ...{
7
+ mkRoute: {
8
+ name: "mk-ms-main",
9
+ path: "/"
10
+ }
11
+ },
12
+ __name: "index",
13
+ setup(__props) {
14
+ return (_ctx, _cache) => {
15
+ const _component_RouterView = resolveComponent("RouterView");
16
+ return openBlock(), createBlock(unref(MKLayoutDefault), null, {
17
+ default: withCtx(() => [
18
+ createVNode(_component_RouterView)
19
+ ]),
20
+ _: 1
21
+ /* STABLE */
22
+ });
23
+ };
24
+ }
25
+ });
26
+
27
+ export { _sfc_main as default };
28
+ //# sourceMappingURL=index.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from './index.vue2.js';
2
2
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
3
3
 
4
- var LoginPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/chenyu/Documents/develop/maketribe/make-appclient/packages/ms-app/src/page/login/index.vue"]]);
4
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/chenyu/Documents/develop/maketribe/make-appclient/packages/ms-app/src/page/login/index.vue"]]);
5
5
 
6
- export { LoginPage as default };
6
+ export { index as default };
7
7
  //# sourceMappingURL=index.vue.js.map
@@ -5,30 +5,15 @@ import '@maketribe/request';
5
5
  import '@maketribe/dm';
6
6
  import '@maketribe/locale';
7
7
  import '@maketribe/utils';
8
- import '@maketribe/dm-ui';
9
- import '../../components/image-select/index.js';
8
+ import { useMSAppClient } from '../../composables/use-ms-app-client.js';
10
9
  import '../../components/system-provider/index.js';
11
10
  import '../../components/material-list/index.js';
12
11
  import '../../components/material-select/index.js';
13
12
  import '../../components/role-permission-config/index.js';
14
13
  import '../../components/menu-permission-table/index.js';
14
+ import '../../components/image-select/index.js';
15
15
  import { MKVerifyDialog } from '../../components/verify-dialog/index.js';
16
16
  import '../../components/member-table/index.js';
17
- import '../../dataview/department/DepartmentForm.js';
18
- import '../../dataview/department/DepartmentTable.js';
19
- import '../../dataview/member/MemberForm.js';
20
- import '../../dataview/member/MemberTable.js';
21
- import '../../dataview/menu/MenuForm.js';
22
- import '../../dataview/menu/MenuTable.js';
23
- import '../../dataview/role/RoleForm.js';
24
- import '../../dataview/role/RoleTable.js';
25
- import '../../dataview/route/RouteForm.js';
26
- import '../../dataview/route/RouteTable.js';
27
- import '../../dataview/config/ConfigForm.js';
28
- import '../../dataview/config/ConfigTable.js';
29
- import '../../dataview/material/MaterialForm.js';
30
- import '../../dataview/material/MaterialTable.js';
31
- import { useMSAppClient } from '../../composables/use-ms-app-client.js';
32
17
 
33
18
  const _hoisted_1 = { class: "login-wrap" };
34
19
  const _hoisted_2 = /* @__PURE__ */ createElementVNode(
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号登录\n <span class=\"notify\">\n 没有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/signup')\"\n >\n 申请使用\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"loginFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n @submit.native.prevent\n >\n <ElFormItem prop=\"account\">\n <ElInput\n v-model=\"loginFormData.account\"\n placeholder=\"帐号\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem prop=\"password\" v-if=\"!forgotPassword\">\n <ElInput\n v-model=\"loginFormData.password\"\n type=\"password\"\n placeholder=\"密码\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem>\n <ElRow style=\"width: 100%\">\n <ElCol :span=\"12\">\n <ElButton\n link\n class=\"operaBtn\"\n @click=\"forgotPassword = !forgotPassword\"\n >{{\n forgotPassword ? \"返回登陆\" : \"忘记密码?\"\n }}</ElButton\n >\n </ElCol>\n </ElRow>\n </ElFormItem>\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"loginDisabled\"\n v-if=\"!forgotPassword\"\n >\n 登陆\n </ElButton>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"resetDisabled\"\n v-else\n >\n 重置\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @verifySuccessful=\"handleLogin\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\nimport { useMSAppClient } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\n\ndefineOptions({\n mkRoute: {\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n\nconst formEl: Ref<any> = ref(null);\n\nconst system = useMSAppClient()!;\n\nconst router = useRouter();\n\nconst loading = ref(false);\n\nconst loginDisabled = computed(\n () => !loginFormData.account || !loginFormData.password\n);\nconst resetDisabled = computed(() => !loginFormData.account);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\n\nconst rules = {\n account: [{ required: true, message: \"账号必填\" }],\n password: [{ required: true, message: \"密码必填\" }],\n};\n\nconst loginFormData = reactive({\n account: \"\",\n password: \"\",\n vCode: \"code\",\n});\nconst verifyVisible = ref(false);\n\nconst verifyHandle = async () => {\n const result = await formEl.value?.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst handleLogin = async (v: string) => {\n loginFormData.vCode = v;\n try {\n loading.value = true;\n if (forgotPassword.value) {\n const { data } = await system.modifyPassword(\n loginFormData.account,\n loginFormData.vCode\n );\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"重置邮箱失败!\");\n return;\n }\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\n verifyVisible.value = false;\n forgotPassword.value = false;\n } else {\n const { data } = await system.login(\n loginFormData.account,\n loginFormData.password,\n loginFormData.vCode\n );\n\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"登录失败!\");\n return;\n }\n verifyVisible.value = false;\n\n router.push({ path: \"/\" });\n }\n } finally {\n loading.value = false;\n }\n};\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号登录\n <span class=\"notify\">\n 没有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/signup')\"\n >\n 申请使用\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"loginFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n @submit.native.prevent\n >\n <ElFormItem prop=\"account\">\n <ElInput\n v-model=\"loginFormData.account\"\n placeholder=\"帐号\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem prop=\"password\" v-if=\"!forgotPassword\">\n <ElInput\n v-model=\"loginFormData.password\"\n type=\"password\"\n placeholder=\"密码\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem>\n <ElRow style=\"width: 100%\">\n <ElCol :span=\"12\">\n <ElButton\n link\n class=\"operaBtn\"\n @click=\"forgotPassword = !forgotPassword\"\n >{{\n forgotPassword ? \"返回登陆\" : \"忘记密码?\"\n }}</ElButton\n >\n </ElCol>\n </ElRow>\n </ElFormItem>\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"loginDisabled\"\n v-if=\"!forgotPassword\"\n >\n 登陆\n </ElButton>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"resetDisabled\"\n v-else\n >\n 重置\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @verifySuccessful=\"handleLogin\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\nimport { useMSAppClient } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\n\ndefineOptions({\n mkRoute: {\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n\nconst formEl: Ref<any> = ref(null);\n\nconst system = useMSAppClient()!;\n\nconst router = useRouter();\n\nconst loading = ref(false);\n\nconst loginDisabled = computed(\n () => !loginFormData.account || !loginFormData.password\n);\nconst resetDisabled = computed(() => !loginFormData.account);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\n\nconst rules = {\n account: [{ required: true, message: \"账号必填\" }],\n password: [{ required: true, message: \"密码必填\" }],\n};\n\nconst loginFormData = reactive({\n account: \"\",\n password: \"\",\n vCode: \"code\",\n});\nconst verifyVisible = ref(false);\n\nconst verifyHandle = async () => {\n const result = await formEl.value?.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst handleLogin = async (v: string) => {\n loginFormData.vCode = v;\n try {\n loading.value = true;\n if (forgotPassword.value) {\n const { data } = await system.modifyPassword(\n loginFormData.account,\n loginFormData.vCode\n );\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"重置邮箱失败!\");\n return;\n }\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\n verifyVisible.value = false;\n forgotPassword.value = false;\n } else {\n const { data } = await system.login(\n loginFormData.account,\n loginFormData.password,\n loginFormData.vCode\n );\n\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"登录失败!\");\n return;\n }\n verifyVisible.value = false;\n\n router.push({ path: \"/\" });\n }\n } finally {\n loading.value = false;\n }\n};\n</script>\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from './index.vue2.js';
2
2
  import _export_sfc from '../../_virtual/_plugin-vue_export-helper.js';
3
3
 
4
- var SignUpPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/chenyu/Documents/develop/maketribe/make-appclient/packages/ms-app/src/page/signup/index.vue"]]);
4
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/chenyu/Documents/develop/maketribe/make-appclient/packages/ms-app/src/page/signup/index.vue"]]);
5
5
 
6
- export { SignUpPage as default };
6
+ export { index as default };
7
7
  //# sourceMappingURL=index.vue.js.map
@@ -4,31 +4,15 @@ import { Messager } from '@maketribe/dm';
4
4
  import '@maketribe/request';
5
5
  import '@maketribe/locale';
6
6
  import '@maketribe/utils';
7
- import 'element-plus';
8
- import '@maketribe/dm-ui';
9
- import '../../components/image-select/index.js';
7
+ import { useHttpRequest } from '../../composables/use-http-request.js';
10
8
  import '../../components/system-provider/index.js';
11
9
  import '../../components/material-list/index.js';
12
10
  import '../../components/material-select/index.js';
13
11
  import '../../components/role-permission-config/index.js';
14
12
  import '../../components/menu-permission-table/index.js';
13
+ import '../../components/image-select/index.js';
15
14
  import { MKVerifyDialog } from '../../components/verify-dialog/index.js';
16
15
  import '../../components/member-table/index.js';
17
- import '../../dataview/department/DepartmentForm.js';
18
- import '../../dataview/department/DepartmentTable.js';
19
- import '../../dataview/member/MemberForm.js';
20
- import '../../dataview/member/MemberTable.js';
21
- import '../../dataview/menu/MenuForm.js';
22
- import '../../dataview/menu/MenuTable.js';
23
- import '../../dataview/role/RoleForm.js';
24
- import '../../dataview/role/RoleTable.js';
25
- import '../../dataview/route/RouteForm.js';
26
- import '../../dataview/route/RouteTable.js';
27
- import '../../dataview/config/ConfigForm.js';
28
- import '../../dataview/config/ConfigTable.js';
29
- import '../../dataview/material/MaterialForm.js';
30
- import '../../dataview/material/MaterialTable.js';
31
- import { useHttpRequest } from '../../composables/use-http-request.js';
32
16
 
33
17
  const _hoisted_1 = { class: "login-wrap" };
34
18
  const _hoisted_2 = /* @__PURE__ */ createElementVNode(
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/signup/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号注册\n <span class=\"notify\">\n 已有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/login')\"\n >\n 返回登录\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"signFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n >\n <ElFormItem prop=\"account\">\n <ElInput v-model=\"signFormData.account\" placeholder=\"帐号\" />\n </ElFormItem>\n <ElFormItem prop=\"email\">\n <ElInput v-model=\"signFormData.email\" placeholder=\"邮箱\" />\n </ElFormItem>\n <ElFormItem prop=\"name\">\n <ElInput v-model=\"signFormData.name\" placeholder=\"姓名\" />\n </ElFormItem>\n <ElFormItem prop=\"nickName\">\n <ElInput v-model=\"signFormData.nickName\" placeholder=\"昵称\" />\n </ElFormItem>\n <ElFormItem prop=\"phone\">\n <ElInput v-model=\"signFormData.phone\" placeholder=\"手机号\" />\n </ElFormItem>\n\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n >\n 提交申请\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @verifySuccessful=\"handleSign\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { FormRules } from \"element-plus\";\nimport { Messager } from \"@maketribe/dm\";\nimport { useHttpRequest } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\n\ndefineOptions({\n mkRoute: {\n name: \"signup\",\n path: \"/signup\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\nconst formEl: Ref<any> = ref(null);\n\nconst router = useRouter();\n\nconst httpRequest = useHttpRequest();\n\nconst loading = ref(false);\n\nconst verifyVisible = ref(false);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\nconst rules: FormRules = {\n account: [{ required: true, message: \"账号必填\" }],\n email: [\n {\n required: true,\n trigger: \"change\",\n validator: (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"邮箱必填\"));\n } else if (\n !/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/.test(value)\n ) {\n callback(new Error(\"邮箱规则不符\"));\n } else {\n callback();\n }\n },\n },\n ],\n name: [{ required: true, message: \"姓名必填\" }],\n};\n\nconst verifyHandle = async () => {\n const result = await formEl.value.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst signFormData = reactive({\n account: \"\",\n email: \"\",\n name: \"\",\n nickName: \"\",\n phone: \"\",\n});\n\nconst handleSign = async (v: string) => {\n const result = await httpRequest.post(\n \"/api/dv/ms-member/apply/account\",\n signFormData\n );\n if (result.data.code != 200) {\n Messager.instance.error(result.data.msg || \"注册失败\");\n return;\n }\n verifyVisible.value = false;\n Messager.instance.success({ message: \"注册成功,请联系管理员通过验证\" });\n};\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyFA,IAAM,MAAA,MAAA,GAAmB,IAAI,IAAI,CAAA,CAAA;AAEjC,IAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AAEzB,IAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AAEnC,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AAEzB,IAAM,MAAA,aAAA,GAAgB,IAAI,KAAK,CAAA,CAAA;AAE/B,IAAM,MAAA,cAAA,GAAiB,IAAI,KAAK,CAAA,CAAA;AAChC,IAAA,MAAM,KAAQ,GAAA,QAAA;AAAA,MAAS,MACrB,cAAe,CAAA,KAAA,GAAQ,gBAAmB,GAAA,OAAA;AAAA,KAC5C,CAAA;AACA,IAAA,MAAM,KAAmB,GAAA;AAAA,MACvB,SAAS,CAAC,EAAE,UAAU,IAAM,EAAA,OAAA,EAAS,4BAAQ,CAAA;AAAA,MAC7C,KAAO,EAAA;AAAA,QACL;AAAA,UACE,QAAU,EAAA,IAAA;AAAA,UACV,OAAS,EAAA,QAAA;AAAA,UACT,SAAW,EAAA,CAAC,IAAM,EAAA,KAAA,EAAO,QAAa,KAAA;AACpC,YAAA,IAAI,CAAC,KAAO,EAAA;AACV,cAAS,QAAA,CAAA,IAAI,KAAM,CAAA,0BAAM,CAAC,CAAA,CAAA;AAAA,aAE1B,MAAA,IAAA,CAAC,oDAAqD,CAAA,IAAA,CAAK,KAAK,CAChE,EAAA;AACA,cAAS,QAAA,CAAA,IAAI,KAAM,CAAA,sCAAQ,CAAC,CAAA,CAAA;AAAA,aACvB,MAAA;AACL,cAAS,QAAA,EAAA,CAAA;AAAA,aACX;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,MACA,MAAM,CAAC,EAAE,UAAU,IAAM,EAAA,OAAA,EAAS,4BAAQ,CAAA;AAAA,KAC5C,CAAA;AAEA,IAAA,MAAM,eAAe,YAAY;AAC/B,MAAA,MAAM,MAAS,GAAA,MAAM,MAAO,CAAA,KAAA,CAAM,QAAS,EAAA,CAAA;AAC3C,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,OAAA;AAAA,OACF;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,MAAM,eAAe,QAAS,CAAA;AAAA,MAC5B,OAAS,EAAA,EAAA;AAAA,MACT,KAAO,EAAA,EAAA;AAAA,MACP,IAAM,EAAA,EAAA;AAAA,MACN,QAAU,EAAA,EAAA;AAAA,MACV,KAAO,EAAA,EAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAa,OAAO,CAAc,KAAA;AACtC,MAAM,MAAA,MAAA,GAAS,MAAM,WAAY,CAAA,IAAA;AAAA,QAC/B,iCAAA;AAAA,QACA,YAAA;AAAA,OACF,CAAA;AACA,MAAI,IAAA,MAAA,CAAO,IAAK,CAAA,IAAA,IAAQ,GAAK,EAAA;AAC3B,QAAA,QAAA,CAAS,QAAS,CAAA,KAAA,CAAM,MAAO,CAAA,IAAA,CAAK,OAAO,0BAAM,CAAA,CAAA;AACjD,QAAA,OAAA;AAAA,OACF;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,QAAA,CAAS,QAAS,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,yFAAmB,CAAA,CAAA;AAAA,KAC1D,CAAA;AAGA,IAA2B,IAAI,KAAK,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../src/page/signup/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号注册\n <span class=\"notify\">\n 已有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/login')\"\n >\n 返回登录\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"signFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n >\n <ElFormItem prop=\"account\">\n <ElInput v-model=\"signFormData.account\" placeholder=\"帐号\" />\n </ElFormItem>\n <ElFormItem prop=\"email\">\n <ElInput v-model=\"signFormData.email\" placeholder=\"邮箱\" />\n </ElFormItem>\n <ElFormItem prop=\"name\">\n <ElInput v-model=\"signFormData.name\" placeholder=\"姓名\" />\n </ElFormItem>\n <ElFormItem prop=\"nickName\">\n <ElInput v-model=\"signFormData.nickName\" placeholder=\"昵称\" />\n </ElFormItem>\n <ElFormItem prop=\"phone\">\n <ElInput v-model=\"signFormData.phone\" placeholder=\"手机号\" />\n </ElFormItem>\n\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n >\n 提交申请\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @verifySuccessful=\"handleSign\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { FormRules } from \"element-plus\";\nimport { Messager } from \"@maketribe/dm\";\nimport { useHttpRequest } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\n\ndefineOptions({\n mkRoute: {\n name: \"signup\",\n path: \"/signup\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\nconst formEl: Ref<any> = ref(null);\n\nconst router = useRouter();\n\nconst httpRequest = useHttpRequest();\n\nconst loading = ref(false);\n\nconst verifyVisible = ref(false);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\nconst rules: FormRules = {\n account: [{ required: true, message: \"账号必填\" }],\n email: [\n {\n required: true,\n trigger: \"change\",\n validator: (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"邮箱必填\"));\n } else if (\n !/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$/.test(value)\n ) {\n callback(new Error(\"邮箱规则不符\"));\n } else {\n callback();\n }\n },\n },\n ],\n name: [{ required: true, message: \"姓名必填\" }],\n};\n\nconst verifyHandle = async () => {\n const result = await formEl.value.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst signFormData = reactive({\n account: \"\",\n email: \"\",\n name: \"\",\n nickName: \"\",\n phone: \"\",\n});\n\nconst handleSign = async (v: string) => {\n const result = await httpRequest.post(\n \"/api/dv/ms-member/apply/account\",\n signFormData\n );\n if (result.data.code != 200) {\n Messager.instance.error(result.data.msg || \"注册失败\");\n return;\n }\n verifyVisible.value = false;\n Messager.instance.success({ message: \"注册成功,请联系管理员通过验证\" });\n};\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyFA,IAAM,MAAA,MAAA,GAAmB,IAAI,IAAI,CAAA,CAAA;AAEjC,IAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AAEzB,IAAA,MAAM,cAAc,cAAe,EAAA,CAAA;AAEnC,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AAEzB,IAAM,MAAA,aAAA,GAAgB,IAAI,KAAK,CAAA,CAAA;AAE/B,IAAM,MAAA,cAAA,GAAiB,IAAI,KAAK,CAAA,CAAA;AAChC,IAAA,MAAM,KAAQ,GAAA,QAAA;AAAA,MAAS,MACrB,cAAe,CAAA,KAAA,GAAQ,gBAAmB,GAAA,OAAA;AAAA,KAC5C,CAAA;AACA,IAAA,MAAM,KAAmB,GAAA;AAAA,MACvB,SAAS,CAAC,EAAE,UAAU,IAAM,EAAA,OAAA,EAAS,4BAAQ,CAAA;AAAA,MAC7C,KAAO,EAAA;AAAA,QACL;AAAA,UACE,QAAU,EAAA,IAAA;AAAA,UACV,OAAS,EAAA,QAAA;AAAA,UACT,SAAW,EAAA,CAAC,IAAM,EAAA,KAAA,EAAO,QAAa,KAAA;AACpC,YAAA,IAAI,CAAC,KAAO,EAAA;AACV,cAAS,QAAA,CAAA,IAAI,KAAM,CAAA,0BAAM,CAAC,CAAA,CAAA;AAAA,aAE1B,MAAA,IAAA,CAAC,oDAAqD,CAAA,IAAA,CAAK,KAAK,CAChE,EAAA;AACA,cAAS,QAAA,CAAA,IAAI,KAAM,CAAA,sCAAQ,CAAC,CAAA,CAAA;AAAA,aACvB,MAAA;AACL,cAAS,QAAA,EAAA,CAAA;AAAA,aACX;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,MACA,MAAM,CAAC,EAAE,UAAU,IAAM,EAAA,OAAA,EAAS,4BAAQ,CAAA;AAAA,KAC5C,CAAA;AAEA,IAAA,MAAM,eAAe,YAAY;AAC/B,MAAA,MAAM,MAAS,GAAA,MAAM,MAAO,CAAA,KAAA,CAAM,QAAS,EAAA,CAAA;AAC3C,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,OAAA;AAAA,OACF;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,MAAM,eAAe,QAAS,CAAA;AAAA,MAC5B,OAAS,EAAA,EAAA;AAAA,MACT,KAAO,EAAA,EAAA;AAAA,MACP,IAAM,EAAA,EAAA;AAAA,MACN,QAAU,EAAA,EAAA;AAAA,MACV,KAAO,EAAA,EAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAa,OAAO,CAAc,KAAA;AACtC,MAAM,MAAA,MAAA,GAAS,MAAM,WAAY,CAAA,IAAA;AAAA,QAC/B,iCAAA;AAAA,QACA,YAAA;AAAA,OACF,CAAA;AACA,MAAI,IAAA,MAAA,CAAO,IAAK,CAAA,IAAA,IAAQ,GAAK,EAAA;AAC3B,QAAA,QAAA,CAAS,QAAS,CAAA,KAAA,CAAM,MAAO,CAAA,IAAA,CAAK,OAAO,0BAAM,CAAA,CAAA;AACjD,QAAA,OAAA;AAAA,OACF;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,MAAA,QAAA,CAAS,QAAS,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,yFAAmB,CAAA,CAAA;AAAA,KAC1D,CAAA;AAGA,IAA2B,IAAI,KAAK,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,3 @@
1
+ import type { MSAppClient } from "../MSAppClient";
1
2
  import { RouteLocationNormalized, RouteLocationRaw } from "vue-router";
2
- export declare const authBeforeEach: (to: RouteLocationNormalized, from: RouteLocationNormalized) => Promise<RouteLocationRaw | void>;
3
+ export declare const authBeforeEach: (msAppClient: MSAppClient, to: RouteLocationNormalized, from: RouteLocationNormalized) => Promise<RouteLocationRaw | void>;
@@ -1,11 +1,9 @@
1
- import { MSAppClient } from '../MSAppClient.js';
2
1
  import { isSameRoute } from '@maketribe/utils';
3
2
 
4
- const authBeforeEach = async (to, from) => {
3
+ const authBeforeEach = async (msAppClient, to, from) => {
5
4
  if (to.meta.isAuthorization === false) {
6
5
  return;
7
6
  }
8
- const msAppClient = MSAppClient.instance;
9
7
  let userSession = msAppClient.userSession;
10
8
  if (!userSession) {
11
9
  try {
@@ -23,11 +21,7 @@ const authBeforeEach = async (to, from) => {
23
21
  const router = userSession.router;
24
22
  const route = router.getRouteByName(to.name);
25
23
  if (!route) {
26
- const menuNode = userSession.menu.getFirstLeafMenuNode();
27
- if (!menuNode || !menuNode.route) {
28
- return { name: "login" };
29
- }
30
- return { name: menuNode.route.name };
24
+ return;
31
25
  }
32
26
  const matched = to.matched[to.matched.length - 1];
33
27
  if (matched) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../src/router-middleware/auth.ts"],"sourcesContent":["import { MSAppClient } from \"../MSAppClient\";\nimport { isSameRoute } from \"@maketribe/utils\";\nimport { RouteLocationNormalized, RouteLocationRaw } from \"vue-router\";\n\nexport const authBeforeEach = async (\n to: RouteLocationNormalized,\n from: RouteLocationNormalized\n): Promise<RouteLocationRaw | void> => {\n if (to.meta.isAuthorization === false) {\n return;\n }\n \n const msAppClient = MSAppClient.instance!;\n\n let userSession = msAppClient.userSession;\n\n if (!userSession) {\n try {\n await msAppClient.loadCurrentUserSession();\n\n userSession = msAppClient.userSession;\n\n if (!userSession) {\n return { name: \"login\" };\n }\n\n // 因为登陆成功会添加用户可以访问的路由,这里给到vue-router去重新resolve\n return { path: to.path };\n } catch (e) {\n return { name: \"login\" };\n }\n }\n\n const tabs = userSession.tabs;\n const router = userSession.router;\n\n const route = router.getRouteByName(to.name as string);\n\n if (!route) {\n // 前往第一个菜单\n const menuNode = userSession.menu.getFirstLeafMenuNode();\n\n if (!menuNode || !menuNode.route) {\n return { name: \"login\" };\n }\n\n return { name: menuNode.route.name };\n }\n\n const matched = to.matched[to.matched.length - 1];\n\n if (matched) {\n if (!isSameRoute(router.currentRoute, to)) {\n router.changeRoute(to);\n }\n\n const tab = tabs.getTabByID(to.name as string);\n\n if (tab) {\n tab.affix = matched.meta.affix as boolean;\n tab.realRoute = to;\n }\n }\n};\n"],"names":[],"mappings":";;;AAIa,MAAA,cAAA,GAAiB,OAC5B,EAAA,EACA,IACqC,KAAA;AACrC,EAAI,IAAA,EAAA,CAAG,IAAK,CAAA,eAAA,KAAoB,KAAO,EAAA;AACrC,IAAA,OAAA;AAAA,GACF;AAEA,EAAA,MAAM,cAAc,WAAY,CAAA,QAAA,CAAA;AAEhC,EAAA,IAAI,cAAc,WAAY,CAAA,WAAA,CAAA;AAE9B,EAAA,IAAI,CAAC,WAAa,EAAA;AAChB,IAAI,IAAA;AACF,MAAA,MAAM,YAAY,sBAAuB,EAAA,CAAA;AAEzC,MAAA,WAAA,GAAc,WAAY,CAAA,WAAA,CAAA;AAE1B,MAAA,IAAI,CAAC,WAAa,EAAA;AAChB,QAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,OACzB;AAGA,MAAO,OAAA,EAAE,IAAM,EAAA,EAAA,CAAG,IAAK,EAAA,CAAA;AAAA,aAChB,CAAG,EAAA;AACV,MAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,KACzB;AAAA,GACF;AAEA,EAAA,MAAM,OAAO,WAAY,CAAA,IAAA,CAAA;AACzB,EAAA,MAAM,SAAS,WAAY,CAAA,MAAA,CAAA;AAE3B,EAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,cAAe,CAAA,EAAA,CAAG,IAAc,CAAA,CAAA;AAErD,EAAA,IAAI,CAAC,KAAO,EAAA;AAEV,IAAM,MAAA,QAAA,GAAW,WAAY,CAAA,IAAA,CAAK,oBAAqB,EAAA,CAAA;AAEvD,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,CAAS,KAAO,EAAA;AAChC,MAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,KACzB;AAEA,IAAA,OAAO,EAAE,IAAA,EAAM,QAAS,CAAA,KAAA,CAAM,IAAK,EAAA,CAAA;AAAA,GACrC;AAEA,EAAA,MAAM,UAAU,EAAG,CAAA,OAAA,CAAQ,EAAG,CAAA,OAAA,CAAQ,SAAS,CAAC,CAAA,CAAA;AAEhD,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,IAAI,CAAC,WAAA,CAAY,MAAO,CAAA,YAAA,EAAc,EAAE,CAAG,EAAA;AACzC,MAAA,MAAA,CAAO,YAAY,EAAE,CAAA,CAAA;AAAA,KACvB;AAEA,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,UAAW,CAAA,EAAA,CAAG,IAAc,CAAA,CAAA;AAE7C,IAAA,IAAI,GAAK,EAAA;AACP,MAAI,GAAA,CAAA,KAAA,GAAQ,QAAQ,IAAK,CAAA,KAAA,CAAA;AACzB,MAAA,GAAA,CAAI,SAAY,GAAA,EAAA,CAAA;AAAA,KAClB;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"auth.js","sources":["../../../src/router-middleware/auth.ts"],"sourcesContent":["import type { MSAppClient } from \"../MSAppClient\";\nimport { isSameRoute } from \"@maketribe/utils\";\nimport { RouteLocationNormalized, RouteLocationRaw } from \"vue-router\";\n\nexport const authBeforeEach = async (\n msAppClient: MSAppClient,\n to: RouteLocationNormalized,\n from: RouteLocationNormalized\n): Promise<RouteLocationRaw | void> => {\n if (to.meta.isAuthorization === false) {\n return;\n }\n\n let userSession = msAppClient.userSession;\n\n if (!userSession) {\n try {\n await msAppClient.loadCurrentUserSession();\n\n userSession = msAppClient.userSession;\n\n if (!userSession) {\n return { name: \"login\" };\n }\n\n // 因为登陆成功会添加用户可以访问的路由,这里给到vue-router去重新resolve\n return { path: to.path };\n } catch (e) {\n return { name: \"login\" };\n }\n }\n\n const tabs = userSession.tabs;\n const router = userSession.router;\n\n const route = router.getRouteByName(to.name as string);\n\n if (!route) {\n // return { name: \"notFound\" };\n // // 前往第一个菜单\n // const menuNode = userSession.menu.getFirstLeafMenuNode();\n\n // if (!menuNode || !menuNode.route) {\n // return { name: \"login\" };\n // }\n\n // // return { name: menuNode.route.name };\n // return to;\n\n return;\n }\n\n const matched = to.matched[to.matched.length - 1];\n\n if (matched) {\n if (!isSameRoute(router.currentRoute, to)) {\n router.changeRoute(to);\n }\n\n const tab = tabs.getTabByID(to.name as string);\n\n if (tab) {\n tab.affix = matched.meta.affix as boolean;\n tab.realRoute = to;\n }\n }\n};\n"],"names":[],"mappings":";;AAIO,MAAM,cAAiB,GAAA,OAC5B,WACA,EAAA,EAAA,EACA,IACqC,KAAA;AACrC,EAAI,IAAA,EAAA,CAAG,IAAK,CAAA,eAAA,KAAoB,KAAO,EAAA;AACrC,IAAA,OAAA;AAAA,GACF;AAEA,EAAA,IAAI,cAAc,WAAY,CAAA,WAAA,CAAA;AAE9B,EAAA,IAAI,CAAC,WAAa,EAAA;AAChB,IAAI,IAAA;AACF,MAAA,MAAM,YAAY,sBAAuB,EAAA,CAAA;AAEzC,MAAA,WAAA,GAAc,WAAY,CAAA,WAAA,CAAA;AAE1B,MAAA,IAAI,CAAC,WAAa,EAAA;AAChB,QAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,OACzB;AAGA,MAAO,OAAA,EAAE,IAAM,EAAA,EAAA,CAAG,IAAK,EAAA,CAAA;AAAA,aAChB,CAAG,EAAA;AACV,MAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,KACzB;AAAA,GACF;AAEA,EAAA,MAAM,OAAO,WAAY,CAAA,IAAA,CAAA;AACzB,EAAA,MAAM,SAAS,WAAY,CAAA,MAAA,CAAA;AAE3B,EAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,cAAe,CAAA,EAAA,CAAG,IAAc,CAAA,CAAA;AAErD,EAAA,IAAI,CAAC,KAAO,EAAA;AAYV,IAAA,OAAA;AAAA,GACF;AAEA,EAAA,MAAM,UAAU,EAAG,CAAA,OAAA,CAAQ,EAAG,CAAA,OAAA,CAAQ,SAAS,CAAC,CAAA,CAAA;AAEhD,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,IAAI,CAAC,WAAA,CAAY,MAAO,CAAA,YAAA,EAAc,EAAE,CAAG,EAAA;AACzC,MAAA,MAAA,CAAO,YAAY,EAAE,CAAA,CAAA;AAAA,KACvB;AAEA,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,UAAW,CAAA,EAAA,CAAG,IAAc,CAAA,CAAA;AAE7C,IAAA,IAAI,GAAK,EAAA;AACP,MAAI,GAAA,CAAA,KAAA,GAAQ,QAAQ,IAAK,CAAA,KAAA,CAAA;AACzB,MAAA,GAAA,CAAI,SAAY,GAAA,EAAA,CAAA;AAAA,KAClB;AAAA,GACF;AACF;;;;"}
@@ -0,0 +1,6 @@
1
+ interface ScannedFile {
2
+ path: string;
3
+ module: any;
4
+ }
5
+ export declare function generateRoutesFromFiles(files: ScannedFile[]): any[];
6
+ export {};
@@ -0,0 +1,149 @@
1
+ import { encodePath } from 'ufo';
2
+
3
+ function generateRoutesFromFiles(files) {
4
+ const routes = [];
5
+ for (const file of files) {
6
+ const segments = file.path.split("/");
7
+ const route = {
8
+ meta: {},
9
+ ...file.module.mkRoute,
10
+ key: "",
11
+ path: "",
12
+ component: async () => file.module,
13
+ children: []
14
+ };
15
+ let parent = routes;
16
+ for (const segment of segments) {
17
+ const tokens = parseSegment(segment);
18
+ const segmentName = tokens.map(({ value }) => value).join("");
19
+ route.key += (route.key && "/") + segmentName;
20
+ const path = route.path + getRoutePath(tokens).replace(/\/index$/, "/");
21
+ const child = parent.find(
22
+ (parentRoute) => parentRoute.key === route.key && parentRoute.path === path
23
+ );
24
+ if (child && child.children) {
25
+ parent = child.children;
26
+ route.path = "";
27
+ } else if (segmentName === "index" && !route.path) {
28
+ route.path += "/";
29
+ } else if (segmentName !== "index") {
30
+ route.path += getRoutePath(tokens);
31
+ }
32
+ }
33
+ route.path = file.module.mkRoute.path || route.path;
34
+ parent.push(route);
35
+ }
36
+ return prepareRoutes(routes);
37
+ }
38
+ function getRoutePath(tokens) {
39
+ return tokens.reduce((path, token) => {
40
+ return path + (token.type === 2 /* optional */ ? `:${token.value}?` : token.type === 1 /* dynamic */ ? `:${token.value}()` : token.type === 3 /* catchall */ ? `:${token.value}(.*)*` : encodePath(token.value).replace(/:/g, "\\:"));
41
+ }, "/");
42
+ }
43
+ const PARAM_CHAR_RE = /[\w\d_.]/;
44
+ function parseSegment(segment) {
45
+ let state = 0 /* initial */;
46
+ let i = 0;
47
+ let buffer = "";
48
+ const tokens = [];
49
+ function consumeBuffer() {
50
+ if (!buffer) {
51
+ return;
52
+ }
53
+ if (state === 0 /* initial */) {
54
+ throw new Error("\u9519\u8BEF\u7684\u72B6\u6001");
55
+ }
56
+ tokens.push({
57
+ type: state === 1 /* static */ ? 0 /* static */ : state === 2 /* dynamic */ ? 1 /* dynamic */ : state === 3 /* optional */ ? 2 /* optional */ : 3 /* catchall */,
58
+ value: buffer
59
+ });
60
+ buffer = "";
61
+ }
62
+ while (i < segment.length) {
63
+ const c = segment[i];
64
+ switch (state) {
65
+ case 0 /* initial */:
66
+ buffer = "";
67
+ if (c === "[") {
68
+ state = 2 /* dynamic */;
69
+ } else {
70
+ i--;
71
+ state = 1 /* static */;
72
+ }
73
+ break;
74
+ case 1 /* static */:
75
+ if (c === "[") {
76
+ consumeBuffer();
77
+ state = 2 /* dynamic */;
78
+ } else {
79
+ buffer += c;
80
+ }
81
+ break;
82
+ case 4 /* catchall */:
83
+ case 2 /* dynamic */:
84
+ case 3 /* optional */:
85
+ if (buffer === "...") {
86
+ buffer = "";
87
+ state = 4 /* catchall */;
88
+ }
89
+ if (c === "[" && state === 2 /* dynamic */) {
90
+ state = 3 /* optional */;
91
+ }
92
+ if (c === "]" && (state !== 3 /* optional */ || segment[i - 1] === "]")) {
93
+ if (!buffer) {
94
+ throw new Error("\u7A7A\u53C2\u6570");
95
+ }
96
+ consumeBuffer();
97
+ state = 0 /* initial */;
98
+ } else if (PARAM_CHAR_RE.test(c)) {
99
+ buffer += c;
100
+ }
101
+ break;
102
+ }
103
+ i++;
104
+ }
105
+ if (state === 2 /* dynamic */) {
106
+ throw new Error(`Unfinished param "${buffer}"`);
107
+ }
108
+ consumeBuffer();
109
+ return tokens;
110
+ }
111
+ function findRouteByKey(key, routes) {
112
+ for (const route of routes) {
113
+ if (route.key === key) {
114
+ return route;
115
+ }
116
+ }
117
+ return findRouteByKey(key, routes);
118
+ }
119
+ function prepareRoutes(routes, parent, keys = /* @__PURE__ */ new Set()) {
120
+ for (const route of routes) {
121
+ if (route.key) {
122
+ route.key = route.key.replace(/\/index$/, "").replace(/\//g, "-");
123
+ if (keys.has(route.key)) {
124
+ const existingRoute = findRouteByKey(route.key, routes);
125
+ const extra = existingRoute?.name ? `is the same as \`${existingRoute.file}\`` : "is a duplicate";
126
+ console.warn(
127
+ `Route name generated for \`${route.file}\` ${extra}. You may wish to set a custom name using \`definePageMeta\` within the page file.`
128
+ );
129
+ }
130
+ }
131
+ route.path = route.path.replace(/\/\//g, "/");
132
+ if (parent && route.path.startsWith("/")) {
133
+ route.path = route.path.slice(1);
134
+ }
135
+ if (route.children?.length) {
136
+ route.children = prepareRoutes(route.children, route, keys);
137
+ }
138
+ if (route.children?.find((childRoute) => childRoute.path === "")) {
139
+ delete route.key;
140
+ }
141
+ if (route.key) {
142
+ keys.add(route.key);
143
+ }
144
+ }
145
+ return routes;
146
+ }
147
+
148
+ export { generateRoutesFromFiles };
149
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import { encodePath } from \"ufo\";\n\nenum SegmentParserState {\n initial,\n static,\n dynamic,\n optional,\n catchall,\n}\n\ninterface ScannedFile {\n path: string;\n module: any;\n}\n\nenum SegmentTokenType {\n static,\n dynamic,\n optional,\n catchall,\n}\n\ninterface SegmentToken {\n type: SegmentTokenType;\n value: string;\n}\n\nexport function generateRoutesFromFiles(files: ScannedFile[]) {\n const routes: any[] = [];\n\n for (const file of files) {\n const segments = file.path.split(\"/\");\n\n const route: Record<string, any> = {\n meta: {},\n ...file.module.mkRoute,\n key: \"\",\n path: \"\",\n component: async () => file.module,\n children: [],\n };\n\n let parent = routes;\n\n for (const segment of segments) {\n const tokens = parseSegment(segment);\n const segmentName = tokens.map(({ value }) => value).join(\"\");\n\n route.key += (route.key && \"/\") + segmentName;\n\n const path = route.path + getRoutePath(tokens).replace(/\\/index$/, \"/\");\n const child = parent.find(\n (parentRoute) =>\n parentRoute.key === route.key && parentRoute.path === path\n );\n\n if (child && child.children) {\n parent = child.children;\n route.path = \"\";\n } else if (segmentName === \"index\" && !route.path) {\n route.path += \"/\";\n } else if (segmentName !== \"index\") {\n route.path += getRoutePath(tokens);\n }\n }\n\n route.path = file.module.mkRoute.path || route.path;\n\n parent.push(route);\n }\n\n return prepareRoutes(routes);\n}\n\nfunction getRoutePath(tokens: SegmentToken[]) {\n return tokens.reduce((path, token) => {\n return (\n path +\n (token.type === SegmentTokenType.optional\n ? `:${token.value}?`\n : token.type === SegmentTokenType.dynamic\n ? `:${token.value}()`\n : token.type === SegmentTokenType.catchall\n ? `:${token.value}(.*)*`\n : encodePath(token.value).replace(/:/g, \"\\\\:\"))\n );\n }, \"/\");\n}\n\nconst PARAM_CHAR_RE = /[\\w\\d_.]/;\n\nfunction parseSegment(segment: string) {\n let state: SegmentParserState = SegmentParserState.initial;\n\n let i = 0;\n\n let buffer = \"\";\n const tokens: SegmentToken[] = [];\n\n function consumeBuffer() {\n if (!buffer) {\n return;\n }\n\n if (state === SegmentParserState.initial) {\n throw new Error(\"错误的状态\");\n }\n\n tokens.push({\n type:\n state === SegmentParserState.static\n ? SegmentTokenType.static\n : state === SegmentParserState.dynamic\n ? SegmentTokenType.dynamic\n : state === SegmentParserState.optional\n ? SegmentTokenType.optional\n : SegmentTokenType.catchall,\n value: buffer,\n });\n\n buffer = \"\";\n }\n\n while (i < segment.length) {\n const c = segment[i];\n\n switch (state) {\n case SegmentParserState.initial:\n buffer = \"\";\n\n if (c === \"[\") {\n state = SegmentParserState.dynamic;\n } else {\n i--;\n state = SegmentParserState.static;\n }\n\n break;\n case SegmentParserState.static:\n if (c === \"[\") {\n consumeBuffer();\n state = SegmentParserState.dynamic;\n } else {\n buffer += c;\n }\n break;\n case SegmentParserState.catchall:\n case SegmentParserState.dynamic:\n case SegmentParserState.optional:\n if (buffer === \"...\") {\n buffer = \"\";\n state = SegmentParserState.catchall;\n }\n\n if (c === \"[\" && state === SegmentParserState.dynamic) {\n state = SegmentParserState.optional;\n }\n\n if (\n c === \"]\" &&\n (state !== SegmentParserState.optional || segment[i - 1] === \"]\")\n ) {\n if (!buffer) {\n throw new Error(\"空参数\");\n }\n consumeBuffer();\n state = SegmentParserState.initial;\n } else if (PARAM_CHAR_RE.test(c)) {\n buffer += c;\n }\n break;\n }\n\n i++;\n }\n\n if (state === SegmentParserState.dynamic) {\n throw new Error(`Unfinished param \"${buffer}\"`);\n }\n\n consumeBuffer();\n\n return tokens;\n}\n\nfunction findRouteByKey(key: string, routes: any[]): any | undefined {\n for (const route of routes) {\n if (route.key === key) {\n return route;\n }\n }\n return findRouteByKey(key, routes);\n}\n\nfunction prepareRoutes(routes: any[], parent?: any, keys = new Set<string>()) {\n for (const route of routes) {\n // Remove -index\n if (route.key) {\n route.key = route.key.replace(/\\/index$/, \"\").replace(/\\//g, \"-\");\n\n if (keys.has(route.key)) {\n const existingRoute = findRouteByKey(route.key, routes);\n const extra = existingRoute?.name\n ? `is the same as \\`${existingRoute.file}\\``\n : \"is a duplicate\";\n console.warn(\n `Route name generated for \\`${route.file}\\` ${extra}. You may wish to set a custom name using \\`definePageMeta\\` within the page file.`\n );\n }\n }\n\n route.path = route.path.replace(/\\/\\//g, \"/\");\n\n // Remove leading / if children route\n if (parent && route.path.startsWith(\"/\")) {\n route.path = route.path.slice(1);\n }\n\n if (route.children?.length) {\n route.children = prepareRoutes(route.children, route, keys);\n }\n\n if (route.children?.find((childRoute: any) => childRoute.path === \"\")) {\n delete route.key;\n }\n\n if (route.key) {\n keys.add(route.key);\n }\n }\n\n return routes;\n}\n"],"names":[],"mappings":"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"}