vue2-client 1.15.84 → 1.15.86

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 (377) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.editorconfig +9 -9
  3. package/.env +20 -20
  4. package/.env.development +1 -1
  5. package/.env.iot +19 -19
  6. package/.env.message +19 -19
  7. package/.env.revenue +19 -19
  8. package/.env.runtime +19 -19
  9. package/.eslintrc.json +5 -5
  10. package/CLAUDE.md +89 -89
  11. package/README.md +65 -65
  12. package/babel.config.js +21 -21
  13. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -46
  14. package/docs/notice.md +22 -22
  15. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +179 -179
  16. package/jest.config.js +22 -22
  17. package/package.json +111 -111
  18. package/src/App.vue +196 -196
  19. package/src/ReportView.js +13 -13
  20. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +532 -532
  21. package/src/base-client/components/common/AddressSearchCombobox/index.js +3 -3
  22. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  23. package/src/base-client/components/common/CitySelect/CitySelect.vue +376 -376
  24. package/src/base-client/components/common/CitySelect/demo.vue +43 -43
  25. package/src/base-client/components/common/ColorPickerCombobox/ColorPickerCombobox.vue +99 -99
  26. package/src/base-client/components/common/ColorPickerCombobox/demo.vue +34 -34
  27. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +146 -146
  28. package/src/base-client/components/common/JSONToTree/index.js +3 -3
  29. package/src/base-client/components/common/Upload/Upload.vue +323 -323
  30. package/src/base-client/components/common/XAddForm/index.js +3 -3
  31. package/src/base-client/components/common/XAddForm/index.md +61 -61
  32. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1169 -1169
  33. package/src/base-client/components/common/XAddNativeForm/demo.vue +54 -40
  34. package/src/base-client/components/common/XAddNativeForm/index.js +3 -3
  35. package/src/base-client/components/common/XAddReport/XAddReport.vue +212 -212
  36. package/src/base-client/components/common/XBadge/index.js +3 -3
  37. package/src/base-client/components/common/XBadge/index.md +39 -39
  38. package/src/base-client/components/common/XButtons/XButtons.vue +284 -284
  39. package/src/base-client/components/common/XCalendar/XCalendar.vue +369 -369
  40. package/src/base-client/components/common/XCalendar/index.md +284 -284
  41. package/src/base-client/components/common/XCard/index.js +3 -3
  42. package/src/base-client/components/common/XCard/index.md +43 -43
  43. package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -300
  44. package/src/base-client/components/common/XCollapse/XCollapse.vue +354 -354
  45. package/src/base-client/components/common/XConversation/XConversation.vue +576 -576
  46. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  47. package/src/base-client/components/common/XDataCard/XDataCard.vue +629 -629
  48. package/src/base-client/components/common/XDatePicker/index.vue +276 -276
  49. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
  50. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
  51. package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
  52. package/src/base-client/components/common/XForm/XForm.vue +420 -420
  53. package/src/base-client/components/common/XForm/XFormItem.vue +1474 -1390
  54. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  55. package/src/base-client/components/common/XForm/demo.vue +105 -105
  56. package/src/base-client/components/common/XForm/index.js +3 -3
  57. package/src/base-client/components/common/XFormCol/XFormCol.vue +157 -157
  58. package/src/base-client/components/common/XFormCol/index.js +3 -3
  59. package/src/base-client/components/common/XFormCol/index.md +35 -35
  60. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +301 -301
  61. package/src/base-client/components/common/XFormGroup/demo.vue +41 -41
  62. package/src/base-client/components/common/XFormTable/XFormTable.vue +938 -938
  63. package/src/base-client/components/common/XFormTable/demo.vue +87 -87
  64. package/src/base-client/components/common/XFormTable/index.js +3 -3
  65. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +174 -174
  66. package/src/base-client/components/common/XImportExcel/index.js +3 -3
  67. package/src/base-client/components/common/XImportExcel/index.md +38 -38
  68. package/src/base-client/components/common/XInput/XInput.vue +128 -128
  69. package/src/base-client/components/common/XInput/index.js +3 -3
  70. package/src/base-client/components/common/XInput/index.md +97 -97
  71. package/src/base-client/components/common/XIntervalPicker/XIntervalPicker.vue +121 -121
  72. package/src/base-client/components/common/XLicensePlate/index.js +3 -3
  73. package/src/base-client/components/common/XLicensePlate/index.md +38 -38
  74. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  75. package/src/base-client/components/common/XPrint/PrintBill.vue +308 -308
  76. package/src/base-client/components/common/XRate/demo.vue +102 -102
  77. package/src/base-client/components/common/XRate/index.vue +149 -149
  78. package/src/base-client/components/common/XReport/XReport.vue +963 -963
  79. package/src/base-client/components/common/XReport/XReportDemo.vue +70 -70
  80. package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
  81. package/src/base-client/components/common/XReport/index.md +103 -103
  82. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  83. package/src/base-client/components/common/XReportGrid/XReport.vue +1075 -1075
  84. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +44 -44
  85. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +620 -620
  86. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +723 -723
  87. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  88. package/src/base-client/components/common/XTab/XTab.vue +299 -299
  89. package/src/base-client/components/common/XTable/ExportExcel.vue +283 -283
  90. package/src/base-client/components/common/XTable/XTable.vue +1599 -1599
  91. package/src/base-client/components/common/XTable/XTableWrapper.vue +597 -597
  92. package/src/base-client/components/common/XTable/index.js +3 -3
  93. package/src/base-client/components/common/XTimeline/XTimeline.vue +358 -358
  94. package/src/base-client/components/common/XTimeline/index.md +191 -191
  95. package/src/base-client/components/common/XTree/XTreePro.vue +452 -452
  96. package/src/base-client/components/common/XTreeOne/index.js +3 -3
  97. package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
  98. package/src/base-client/components/his/XCharge/XCharge.vue +238 -238
  99. package/src/base-client/components/his/XCheckbox/XCheckbox.vue +105 -105
  100. package/src/base-client/components/his/XCheckbox/index.md +253 -253
  101. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +430 -430
  102. package/src/base-client/components/his/XHDescriptions/index.md +217 -217
  103. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +629 -629
  104. package/src/base-client/components/his/XHisEditor/diagnosisAutocomplete.js +263 -263
  105. package/src/base-client/components/his/XList/XList.vue +495 -495
  106. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.json +3 -3
  107. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +106 -106
  108. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +51 -51
  109. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +269 -269
  110. package/src/base-client/components/his/XRadio/XRadio.vue +125 -125
  111. package/src/base-client/components/his/XRadio/index.md +234 -234
  112. package/src/base-client/components/his/XSelect/XSelect.vue +72 -72
  113. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +234 -234
  114. package/src/base-client/components/his/XShiftSchedule/dome.vue +29 -29
  115. package/src/base-client/components/his/XSidebar/XSidebar.vue +240 -240
  116. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  117. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +162 -162
  118. package/src/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue +23 -23
  119. package/src/base-client/components/his/XTitle/README.md +113 -113
  120. package/src/base-client/components/his/XTitle/XTitle.vue +123 -123
  121. package/src/base-client/components/his/XTreeRows/TreeNode.vue +107 -107
  122. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +307 -307
  123. package/src/base-client/components/his/threeTestOrders/dome.vue +68 -68
  124. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  125. package/src/base-client/components/his/threeTestOrders/textBox.vue +457 -457
  126. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +475 -475
  127. package/src/base-client/components/layout/XPageView/RenderRow.vue +88 -88
  128. package/src/base-client/components/layout/XPageView/XErrorView.vue +22 -22
  129. package/src/base-client/components/layout/XPageView/XPageRowTemplate.vue +37 -37
  130. package/src/base-client/components/layout/XPageView/XPageView.vue +223 -223
  131. package/src/base-client/components/layout/XPageView/XTab/XTab.vue +96 -96
  132. package/src/base-client/components/layout/XPageView/XTab/index.js +3 -3
  133. package/src/base-client/components/layout/XPageView/componentTypes.js +22 -22
  134. package/src/base-client/components/layout/XPageView/index.js +2 -2
  135. package/src/base-client/components/layout/XPageView/index.md +96 -96
  136. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -3
  137. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -41
  138. package/src/base-client/components/system/LogDetailsView/LogDetailsView.vue +376 -376
  139. package/src/base-client/components/system/LogDetailsView/index.js +3 -3
  140. package/src/base-client/components/system/LogDetailsView/index.md +41 -41
  141. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -3
  142. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  143. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -3
  144. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  145. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  146. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -3
  147. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  148. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -3
  149. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  150. package/src/base-client/plugins/AppData.js +126 -126
  151. package/src/base-client/plugins/PagedList.js +177 -177
  152. package/src/base-client/plugins/__tests__/selectValueTypeHelper.test.js +154 -0
  153. package/src/base-client/plugins/authority-plugin.js +167 -167
  154. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  155. package/src/base-client/plugins/i18n-extend.js +32 -32
  156. package/src/base-client/plugins/moment.js +8 -8
  157. package/src/base-client/plugins/selectValueTypeHelper.js +281 -0
  158. package/src/bootstrap.js +51 -51
  159. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  160. package/src/components/Ellipsis/index.js +3 -3
  161. package/src/components/Ellipsis/index.md +38 -38
  162. package/src/components/FileImageItem/FileItem.vue +320 -320
  163. package/src/components/FileImageItem/FileItemGroup.vue +197 -197
  164. package/src/components/FileImageItem/ImageItem.vue +107 -107
  165. package/src/components/FileImageItem/index.js +4 -4
  166. package/src/components/FilePreview/FilePreview.vue +181 -181
  167. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  168. package/src/components/FilePreview/index.js +3 -3
  169. package/src/components/HeightScanner/index.vue +615 -615
  170. package/src/components/STable/README.md +341 -341
  171. package/src/components/STable/index.js +558 -558
  172. package/src/components/TableSetting/TableSetting.vue +143 -143
  173. package/src/components/TableSetting/index.js +3 -3
  174. package/src/components/Trend/Trend.vue +41 -41
  175. package/src/components/Trend/index.js +3 -3
  176. package/src/components/Trend/index.less +41 -41
  177. package/src/components/Trend/index.md +45 -45
  178. package/src/components/_util/util.js +46 -46
  179. package/src/components/cache/AKeepAlive.js +179 -179
  180. package/src/components/exception/typeConfig.js +19 -19
  181. package/src/components/form/FormRow.vue +52 -52
  182. package/src/components/index.less +5 -5
  183. package/src/components/menu/Contextmenu.vue +84 -84
  184. package/src/components/menu/index.less +38 -38
  185. package/src/components/page/header/PageHeader.vue +64 -64
  186. package/src/components/page/header/index.less +40 -40
  187. package/src/components/result/Result.vue +77 -77
  188. package/src/components/setting/SettingItem.vue +26 -26
  189. package/src/components/setting/i18n.js +117 -117
  190. package/src/components/table/StandardTable.vue +141 -141
  191. package/src/components/table/advance/ActionColumns.vue +158 -158
  192. package/src/components/table/advance/ActionSize.vue +45 -45
  193. package/src/components/table/advance/AdvanceTable.vue +275 -275
  194. package/src/components/table/advance/SearchArea.vue +355 -355
  195. package/src/components/table/advance/index.js +2 -2
  196. package/src/components/table/api/ApiTable.vue +50 -50
  197. package/src/components/task/TaskGroup.vue +80 -80
  198. package/src/components/task/TaskItem.vue +26 -26
  199. package/src/components/tool/AvatarList.vue +68 -68
  200. package/src/components/tool/DetailList.vue +157 -157
  201. package/src/components/tool/Drawer.vue +142 -142
  202. package/src/components/tool/FooterToolBar.vue +30 -30
  203. package/src/components/tool/HeadInfo.vue +35 -35
  204. package/src/components/tool/TagSelect.vue +83 -83
  205. package/src/components/tool/TagSelectOption.vue +33 -33
  206. package/src/components/transition/PageToggleTransition.vue +97 -97
  207. package/src/config/default/admin.config.js +18 -18
  208. package/src/config/default/animate.config.js +21 -21
  209. package/src/config/default/index.js +6 -6
  210. package/src/config/index.js +3 -3
  211. package/src/config/replacer/index.js +10 -10
  212. package/src/config/replacer/resolve.config.js +67 -67
  213. package/src/expression/ExpressionRunner.js +26 -26
  214. package/src/expression/TestExpression.js +509 -509
  215. package/src/expression/core/Delegate.js +115 -115
  216. package/src/expression/core/Expression.js +1358 -1358
  217. package/src/expression/core/Program.js +932 -932
  218. package/src/expression/core/Token.js +27 -27
  219. package/src/expression/enums/ExpressionType.js +81 -81
  220. package/src/expression/enums/TokenType.js +11 -11
  221. package/src/expression/exception/BreakWayException.js +2 -2
  222. package/src/expression/exception/ContinueWayException.js +2 -2
  223. package/src/expression/exception/ExpressionException.js +28 -28
  224. package/src/expression/exception/ReturnWayException.js +14 -14
  225. package/src/expression/exception/ServiceException.js +22 -22
  226. package/src/expression/instances/LogicConsole.js +44 -44
  227. package/src/expression/ts/ExpressionRunner.ts +28 -28
  228. package/src/expression/ts/TestExpression.ts +509 -509
  229. package/src/expression/ts/core/Delegate.ts +114 -114
  230. package/src/expression/ts/core/Expression.ts +1309 -1309
  231. package/src/expression/ts/core/Program.ts +950 -950
  232. package/src/expression/ts/core/Token.ts +29 -29
  233. package/src/expression/ts/enums/ExpressionType.ts +81 -81
  234. package/src/expression/ts/enums/TokenType.ts +13 -13
  235. package/src/expression/ts/exception/BreakWayException.ts +2 -2
  236. package/src/expression/ts/exception/ContinueWayException.ts +2 -2
  237. package/src/expression/ts/exception/ExpressionException.ts +28 -28
  238. package/src/expression/ts/exception/ReturnWayException.ts +14 -14
  239. package/src/expression/ts/exception/ServiceException.ts +22 -22
  240. package/src/expression/ts/instances/JSONArray.ts +48 -48
  241. package/src/expression/ts/instances/JSONObject.ts +109 -109
  242. package/src/expression/ts/instances/LogicConsole.ts +32 -32
  243. package/src/layouts/AdminLayout.vue +176 -176
  244. package/src/layouts/BlankView.vue +79 -79
  245. package/src/layouts/ComponentLayoutOne.vue +47 -47
  246. package/src/layouts/GridView.vue +43 -43
  247. package/src/layouts/PageView.vue +55 -55
  248. package/src/layouts/footer/PageFooter.vue +49 -49
  249. package/src/layouts/header/HeaderAvatar.vue +64 -64
  250. package/src/layouts/header/HeaderSearch.vue +67 -67
  251. package/src/layouts/header/index.less +92 -92
  252. package/src/layouts/tabs/TabsView.vue +383 -383
  253. package/src/layouts/tabs/i18n.js +25 -25
  254. package/src/layouts/tabs/index.js +2 -2
  255. package/src/logic/LogicRunner.js +62 -62
  256. package/src/logic/TestLogic.js +13 -13
  257. package/src/logic/plugins/common/DateTools.js +35 -35
  258. package/src/logic/plugins/common/VueTools.js +30 -30
  259. package/src/logic/plugins/index.js +7 -7
  260. package/src/logic/ts/LogicRunner.ts +67 -67
  261. package/src/logic/ts/TestLogic.ts +13 -13
  262. package/src/main.js +33 -33
  263. package/src/mixins/formValidationMixin.js +46 -46
  264. package/src/mock/common/activityData.js +32 -32
  265. package/src/mock/common/index.js +89 -89
  266. package/src/mock/common/reportData.js +20 -20
  267. package/src/mock/common/tableData.js +118 -118
  268. package/src/mock/index.js +12 -12
  269. package/src/mock/project/index.js +17 -17
  270. package/src/mock/user/current.js +13 -13
  271. package/src/mock/user/login.js +39 -39
  272. package/src/mock/user/routes.js +61 -61
  273. package/src/mock/workplace/index.js +15 -15
  274. package/src/pages/LogicCallExample/index.vue +46 -46
  275. package/src/pages/ReportGrid/index.vue +76 -76
  276. package/src/pages/ReportView.vue +50 -50
  277. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -47
  278. package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +204 -204
  279. package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -203
  280. package/src/pages/WorkflowDetail/WorkflowDetail.vue +391 -391
  281. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
  282. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +415 -415
  283. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1766 -1765
  284. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  285. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowPreview.vue +109 -109
  286. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +929 -929
  287. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +222 -222
  288. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +243 -243
  289. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +188 -188
  290. package/src/pages/WorkflowDetail/WorkflowPageDetail/components/WorkflowPersonSelector.vue +109 -109
  291. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +97 -97
  292. package/src/pages/XPageViewExample/index.vue +149 -149
  293. package/src/pages/addressSelect/addressDemo.vue +24 -24
  294. package/src/pages/addressSelect/index.vue +270 -270
  295. package/src/pages/dashboard/workplace/i18n.js +40 -40
  296. package/src/pages/dashboard/workplace/index.js +2 -2
  297. package/src/pages/dashboard/workplace/index.less +59 -59
  298. package/src/pages/exception/403.vue +21 -21
  299. package/src/pages/exception/404.vue +24 -24
  300. package/src/pages/exception/500.vue +21 -21
  301. package/src/pages/login/index.js +2 -2
  302. package/src/pages/report/ReportTableHome.vue +28 -28
  303. package/src/pages/resourceManage/depListManage.vue +23 -23
  304. package/src/pages/resourceManage/funListManage.vue +23 -23
  305. package/src/pages/resourceManage/index.js +15 -15
  306. package/src/pages/resourceManage/resourceManageMain.vue +57 -57
  307. package/src/pages/resourceManage/roleListManage.vue +23 -23
  308. package/src/pages/resourceManage/staffListManage.vue +23 -23
  309. package/src/pages/system/file/Info.vue +56 -56
  310. package/src/pages/system/file/index.vue +317 -317
  311. package/src/pages/system/settings/index.vue +126 -126
  312. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +77 -77
  313. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +75 -75
  314. package/src/pages/userInfoDetailManage/InsuranceDetailQuery/index.vue +64 -64
  315. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +75 -75
  316. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +75 -75
  317. package/src/pages/userInfoDetailManage/PriceAdjustments/index.vue +64 -64
  318. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +94 -94
  319. package/src/pages/userInfoDetailManage/UserException/index.vue +64 -64
  320. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +87 -87
  321. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +74 -74
  322. package/src/pages/userInfoDetailManage/index.vue +290 -290
  323. package/src/pages/userInfoDetailManage/uploadFilesHistory/ImagePreview.vue +101 -101
  324. package/src/pages/userInfoDetailManage/uploadFilesHistory/index.vue +129 -129
  325. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +144 -144
  326. package/src/plugins/HiPrintPlugin.js +164 -164
  327. package/src/router/async/router.map.js +126 -126
  328. package/src/router/guards.js +262 -262
  329. package/src/router/i18n.js +57 -57
  330. package/src/router.js +17 -17
  331. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  332. package/src/services/api/LogDetailsViewApi.js +10 -10
  333. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  334. package/src/services/api/logininfor/index.js +6 -6
  335. package/src/services/api/manage.js +8 -8
  336. package/src/services/api/restTools.js +215 -215
  337. package/src/services/api/workFlow.js +57 -57
  338. package/src/services/apiService.js +16 -16
  339. package/src/services/dataSource.js +12 -12
  340. package/src/services/index.js +7 -7
  341. package/src/services/user.js +92 -92
  342. package/src/services/v3Api.js +116 -116
  343. package/src/store/index.js +5 -5
  344. package/src/store/mutation-types.js +4 -4
  345. package/src/theme/antd/ant-menu.less +2 -2
  346. package/src/theme/antd/ant-message.less +3 -3
  347. package/src/theme/antd/ant-table.less +22 -22
  348. package/src/theme/antd/ant-time-picker.less +3 -3
  349. package/src/theme/antd/index.less +3 -3
  350. package/src/theme/default/color.less +43 -43
  351. package/src/theme/default/index.less +3 -3
  352. package/src/theme/default/nprogress.less +76 -76
  353. package/src/theme/global.less +279 -279
  354. package/src/theme/index.less +5 -5
  355. package/src/theme/reportTable.less +58 -58
  356. package/src/theme/theme.less +1 -1
  357. package/src/utils/EncryptUtil.js +162 -162
  358. package/src/utils/Objects.js +25 -25
  359. package/src/utils/axios-interceptors.js +100 -100
  360. package/src/utils/colors.js +107 -107
  361. package/src/utils/common.js +10 -10
  362. package/src/utils/excel/Blob.js +180 -180
  363. package/src/utils/excel/Export2Excel.js +141 -141
  364. package/src/utils/filter.js +21 -21
  365. package/src/utils/i18n.js +80 -80
  366. package/src/utils/indexedDB.js +549 -549
  367. package/src/utils/microAppUtils.js +49 -49
  368. package/src/utils/request.js +395 -395
  369. package/src/utils/routerUtil.js +553 -553
  370. package/src/utils/themeUtil.js +100 -100
  371. package/test/Tree.spec.js +168 -168
  372. package/test/myDialog.spec.js +47 -47
  373. package/test/request.test.js +17 -17
  374. package/test/util.test.js +53 -53
  375. package/test/v3Api.test.js +1984 -1984
  376. package/tests/unit/ReportTable.spec.js +16 -16
  377. package/vue.config.js +222 -222
@@ -1,162 +1,162 @@
1
- import CryptoJS from 'crypto-js'
2
- import RsaEncryptJS from 'jsencrypt'
3
-
4
- export default {
5
- /**
6
- * AES加密
7
- * @param word
8
- * @returns {*}
9
- */
10
- AESEncrypt (word, encryKey) {
11
- const key = CryptoJS.enc.Utf8.parse(encryKey)
12
- const srcs = CryptoJS.enc.Utf8.parse(word)
13
- const encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
14
- return encrypted.toString()
15
- },
16
- /**
17
- * AES解密
18
- * @param word
19
- * @returns {*}
20
- */
21
- AESDecrypt (word, encryKey) {
22
- const key = CryptoJS.enc.Utf8.parse(encryKey)
23
- const decrypt = CryptoJS.AES.decrypt(word, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
24
- const ret = CryptoJS.enc.Utf8.stringify(decrypt).toString()
25
- try {
26
- return JSON.parse(ret)
27
- } catch (e) {
28
- return ret
29
- }
30
- },
31
- /**
32
- * RSA加密
33
- * @param word
34
- * @returns {*}
35
- */
36
- RSAEncrypt (word) {
37
- const encrypt = new RsaEncryptJS()
38
- encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB')
39
- const resdata = encrypt.encrypt(word)
40
- return resdata.toString()
41
- },
42
- /**
43
- * RSA解密
44
- * @param word
45
- * @returns {*}
46
- */
47
- RSADecrypt (word) {
48
- const encrypt = new RsaEncryptJS()
49
- encrypt.setPrivateKey('MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKo++i9J9dzAFtbxwowKDCo2mxi7MXxE8A8VvssaydWjjgmEz/HHMPLOhi1182a1si4pWL0/MizKnquD7T2Bu4jpQbAFnkNYEMEyq/kw904Xl0JCQHYFuvnI99RE8Q3KlTP6kEUGDjV34EL6vBGJcQvArLtj1xoP8y0nIfJ2Pw5TAgMBAAECgYAGGB8IllMwxceLhjf6n1l0IWRH7FuHIUieoZ6k0p6rASHSgWiYNRMxfecbtX8zDAoG0QAWNi7rn40ygpR5gS1fWDAKhmnhKgQIT6wW0VmD4hraaeyP78iy8BLhlvblri2nCPIhDH5+l96v7D47ZZi3ZSOzcj89s1eS/k7/N4peEQJBAPEtGGJY+lBoCxQMhGyzuzDmgcS1Un1ZE2pt+XNCVl2b+T8fxWJH3tRRR8wOY5uvtPiK1HM/IjT0T5qwQeH8Yk0CQQC0tcv3d/bDb7bOe9QzUFDQkUSpTdPWAgMX2OVPxjdq3Sls9oA5+fGNYEy0OgyqTjde0b4iRzlD1O0OhLqPSUMfAkEAh5FIvqezdRU2/PsYSR4yoAdCdLdT+h/jGRVefhqQ/6eYUJJkWp15tTFHQX3pIe9/s6IeT/XyHYAjaxmevxAmlQJBAKSdhvQjf9KAjZKDEsa7vyJ/coCXuQUWSCMNHbcR5aGfXgE4e45UtUoIE1eKGcd6AM6LWhx3rR6xdFDpb9je8BkCQB0SpevGfOQkMk5i8xkEt9eeYP0fi8nv6eOUcK96EXbzs4jV2SAoQJ9oJegPtPROHbhIvVUmNQTbuP10Yjg59+8=')
50
- const resdata = encrypt.decrypt(word)
51
- return JSON.parse(resdata.toString())
52
- },
53
-
54
- AESEncryptCBC (data, CRYPTO_KEY) {
55
- // 生成随机IV(每次加密不同)
56
- const iv = CryptoJS.lib.WordArray.random(16)
57
-
58
- // 使用 AES CBC 模式进行加密
59
- const encrypted = CryptoJS.AES.encrypt(
60
- JSON.stringify(data),
61
- CryptoJS.enc.Hex.parse(CRYPTO_KEY),
62
- {
63
- iv: iv, // IV
64
- mode: CryptoJS.mode.CBC,
65
- padding: CryptoJS.pad.Pkcs7
66
- }
67
- )
68
-
69
- // 组合IV和密文,分别Base64编码:IV(base64) + : + 密文(base64)
70
- const ivBase64 = iv.toString(CryptoJS.enc.Base64)
71
- const encryptedBase64 = encrypted.toString()
72
-
73
- return `${ivBase64}:${encryptedBase64}`
74
- },
75
- /**
76
- * AES CBC模式解密
77
- *
78
- * @param combinedText 格式:Base64(iv):Base64(ciphertext)
79
- * @param hexKey 十六进制格式的加密密钥
80
- * @returns 解密后的原始字符串
81
- */
82
- AESDecryptCBC (combinedText, hexKey) {
83
- try {
84
- // 分离 IV 和 密文
85
- const parts = combinedText.split(':')
86
- if (parts.length !== 2) {
87
- throw new Error('Invalid encrypted data format')
88
- }
89
-
90
- const ivBase64 = parts[0]
91
- const encryptedBase64 = parts[1]
92
-
93
- // 解析IV和密文
94
- const iv = CryptoJS.enc.Base64.parse(ivBase64)
95
- const key = CryptoJS.enc.Hex.parse(hexKey)
96
-
97
- // 解密
98
- const decrypted = CryptoJS.AES.decrypt(encryptedBase64, key, {
99
- iv,
100
- mode: CryptoJS.mode.CBC,
101
- padding: CryptoJS.pad.Pkcs7
102
- })
103
-
104
- // 将解密后的数据转换为字符串
105
- return decrypted.toString(CryptoJS.enc.Utf8)
106
- } catch (error) {
107
- throw new Error(`AES-CBC解密失败: ${error}`)
108
- }
109
- },
110
- /**
111
- * 安全的AES-CBC解密(失败时返回null) 用于响应自动解密,解密失败时不抛出异常
112
- *
113
- * @param combinedText 格式:Base64(iv):Base64(ciphertext)
114
- * @param hexKey 十六进制格式的密钥
115
- * @returns 解密后的字符串,失败时返回null
116
- */
117
- safeAESDecryptCBC (combinedText, hexKey) {
118
- try {
119
- return this.AESDecryptCBC(combinedText, hexKey)
120
- } catch {
121
- // AES-CBC解密失败,静默处理
122
- return null
123
- }
124
- },
125
- /**
126
- * 智能响应解密 自动检测响应数据格式并进行解密
127
- *
128
- * @param responseData 响应数据
129
- * @param sessionKey 会话密钥
130
- * @returns 解密后的数据,失败时返回原数据
131
- */
132
- decryptResponse (responseData, sessionKey) {
133
- try {
134
- let dataStr = ''
135
-
136
- // 处理不同类型的响应数据
137
- if (typeof responseData === 'string') {
138
- dataStr = responseData
139
- } else if (typeof responseData === 'object') {
140
- dataStr = JSON.stringify(responseData)
141
- } else {
142
- dataStr = String(responseData)
143
- }
144
-
145
- // 尝试解密
146
- const decryptedStr = this.safeAESDecryptCBC(dataStr, sessionKey)
147
- if (decryptedStr) {
148
- try {
149
- return JSON.parse(decryptedStr)
150
- } catch {
151
- return decryptedStr
152
- }
153
- }
154
- } catch (e) {
155
- console.warn(e)
156
- // 响应解密处理失败,静默处理
157
- }
158
-
159
- // 解密失败或数据格式不正确时,返回原数据
160
- return responseData
161
- }
162
- }
1
+ import CryptoJS from 'crypto-js'
2
+ import RsaEncryptJS from 'jsencrypt'
3
+
4
+ export default {
5
+ /**
6
+ * AES加密
7
+ * @param word
8
+ * @returns {*}
9
+ */
10
+ AESEncrypt (word, encryKey) {
11
+ const key = CryptoJS.enc.Utf8.parse(encryKey)
12
+ const srcs = CryptoJS.enc.Utf8.parse(word)
13
+ const encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
14
+ return encrypted.toString()
15
+ },
16
+ /**
17
+ * AES解密
18
+ * @param word
19
+ * @returns {*}
20
+ */
21
+ AESDecrypt (word, encryKey) {
22
+ const key = CryptoJS.enc.Utf8.parse(encryKey)
23
+ const decrypt = CryptoJS.AES.decrypt(word, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
24
+ const ret = CryptoJS.enc.Utf8.stringify(decrypt).toString()
25
+ try {
26
+ return JSON.parse(ret)
27
+ } catch (e) {
28
+ return ret
29
+ }
30
+ },
31
+ /**
32
+ * RSA加密
33
+ * @param word
34
+ * @returns {*}
35
+ */
36
+ RSAEncrypt (word) {
37
+ const encrypt = new RsaEncryptJS()
38
+ encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB')
39
+ const resdata = encrypt.encrypt(word)
40
+ return resdata.toString()
41
+ },
42
+ /**
43
+ * RSA解密
44
+ * @param word
45
+ * @returns {*}
46
+ */
47
+ RSADecrypt (word) {
48
+ const encrypt = new RsaEncryptJS()
49
+ encrypt.setPrivateKey('MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKo++i9J9dzAFtbxwowKDCo2mxi7MXxE8A8VvssaydWjjgmEz/HHMPLOhi1182a1si4pWL0/MizKnquD7T2Bu4jpQbAFnkNYEMEyq/kw904Xl0JCQHYFuvnI99RE8Q3KlTP6kEUGDjV34EL6vBGJcQvArLtj1xoP8y0nIfJ2Pw5TAgMBAAECgYAGGB8IllMwxceLhjf6n1l0IWRH7FuHIUieoZ6k0p6rASHSgWiYNRMxfecbtX8zDAoG0QAWNi7rn40ygpR5gS1fWDAKhmnhKgQIT6wW0VmD4hraaeyP78iy8BLhlvblri2nCPIhDH5+l96v7D47ZZi3ZSOzcj89s1eS/k7/N4peEQJBAPEtGGJY+lBoCxQMhGyzuzDmgcS1Un1ZE2pt+XNCVl2b+T8fxWJH3tRRR8wOY5uvtPiK1HM/IjT0T5qwQeH8Yk0CQQC0tcv3d/bDb7bOe9QzUFDQkUSpTdPWAgMX2OVPxjdq3Sls9oA5+fGNYEy0OgyqTjde0b4iRzlD1O0OhLqPSUMfAkEAh5FIvqezdRU2/PsYSR4yoAdCdLdT+h/jGRVefhqQ/6eYUJJkWp15tTFHQX3pIe9/s6IeT/XyHYAjaxmevxAmlQJBAKSdhvQjf9KAjZKDEsa7vyJ/coCXuQUWSCMNHbcR5aGfXgE4e45UtUoIE1eKGcd6AM6LWhx3rR6xdFDpb9je8BkCQB0SpevGfOQkMk5i8xkEt9eeYP0fi8nv6eOUcK96EXbzs4jV2SAoQJ9oJegPtPROHbhIvVUmNQTbuP10Yjg59+8=')
50
+ const resdata = encrypt.decrypt(word)
51
+ return JSON.parse(resdata.toString())
52
+ },
53
+
54
+ AESEncryptCBC (data, CRYPTO_KEY) {
55
+ // 生成随机IV(每次加密不同)
56
+ const iv = CryptoJS.lib.WordArray.random(16)
57
+
58
+ // 使用 AES CBC 模式进行加密
59
+ const encrypted = CryptoJS.AES.encrypt(
60
+ JSON.stringify(data),
61
+ CryptoJS.enc.Hex.parse(CRYPTO_KEY),
62
+ {
63
+ iv: iv, // IV
64
+ mode: CryptoJS.mode.CBC,
65
+ padding: CryptoJS.pad.Pkcs7
66
+ }
67
+ )
68
+
69
+ // 组合IV和密文,分别Base64编码:IV(base64) + : + 密文(base64)
70
+ const ivBase64 = iv.toString(CryptoJS.enc.Base64)
71
+ const encryptedBase64 = encrypted.toString()
72
+
73
+ return `${ivBase64}:${encryptedBase64}`
74
+ },
75
+ /**
76
+ * AES CBC模式解密
77
+ *
78
+ * @param combinedText 格式:Base64(iv):Base64(ciphertext)
79
+ * @param hexKey 十六进制格式的加密密钥
80
+ * @returns 解密后的原始字符串
81
+ */
82
+ AESDecryptCBC (combinedText, hexKey) {
83
+ try {
84
+ // 分离 IV 和 密文
85
+ const parts = combinedText.split(':')
86
+ if (parts.length !== 2) {
87
+ throw new Error('Invalid encrypted data format')
88
+ }
89
+
90
+ const ivBase64 = parts[0]
91
+ const encryptedBase64 = parts[1]
92
+
93
+ // 解析IV和密文
94
+ const iv = CryptoJS.enc.Base64.parse(ivBase64)
95
+ const key = CryptoJS.enc.Hex.parse(hexKey)
96
+
97
+ // 解密
98
+ const decrypted = CryptoJS.AES.decrypt(encryptedBase64, key, {
99
+ iv,
100
+ mode: CryptoJS.mode.CBC,
101
+ padding: CryptoJS.pad.Pkcs7
102
+ })
103
+
104
+ // 将解密后的数据转换为字符串
105
+ return decrypted.toString(CryptoJS.enc.Utf8)
106
+ } catch (error) {
107
+ throw new Error(`AES-CBC解密失败: ${error}`)
108
+ }
109
+ },
110
+ /**
111
+ * 安全的AES-CBC解密(失败时返回null) 用于响应自动解密,解密失败时不抛出异常
112
+ *
113
+ * @param combinedText 格式:Base64(iv):Base64(ciphertext)
114
+ * @param hexKey 十六进制格式的密钥
115
+ * @returns 解密后的字符串,失败时返回null
116
+ */
117
+ safeAESDecryptCBC (combinedText, hexKey) {
118
+ try {
119
+ return this.AESDecryptCBC(combinedText, hexKey)
120
+ } catch {
121
+ // AES-CBC解密失败,静默处理
122
+ return null
123
+ }
124
+ },
125
+ /**
126
+ * 智能响应解密 自动检测响应数据格式并进行解密
127
+ *
128
+ * @param responseData 响应数据
129
+ * @param sessionKey 会话密钥
130
+ * @returns 解密后的数据,失败时返回原数据
131
+ */
132
+ decryptResponse (responseData, sessionKey) {
133
+ try {
134
+ let dataStr = ''
135
+
136
+ // 处理不同类型的响应数据
137
+ if (typeof responseData === 'string') {
138
+ dataStr = responseData
139
+ } else if (typeof responseData === 'object') {
140
+ dataStr = JSON.stringify(responseData)
141
+ } else {
142
+ dataStr = String(responseData)
143
+ }
144
+
145
+ // 尝试解密
146
+ const decryptedStr = this.safeAESDecryptCBC(dataStr, sessionKey)
147
+ if (decryptedStr) {
148
+ try {
149
+ return JSON.parse(decryptedStr)
150
+ } catch {
151
+ return decryptedStr
152
+ }
153
+ }
154
+ } catch (e) {
155
+ console.warn(e)
156
+ // 响应解密处理失败,静默处理
157
+ }
158
+
159
+ // 解密失败或数据格式不正确时,返回原数据
160
+ return responseData
161
+ }
162
+ }
@@ -1,25 +1,25 @@
1
- /**
2
- * 给对象注入属性
3
- * @param keys 属性key数组, 如 keys = ['config', 'path'] , 则会给对象注入 object.config.path 的属性
4
- * @param value 属性值
5
- * @returns {Object}
6
- */
7
- // eslint-disable-next-line no-extend-native
8
- Object.defineProperty(Object.prototype, 'assignProps', {
9
- writable: false,
10
- enumerable: false,
11
- configurable: true,
12
- value: function (keys, value) {
13
- let props = this
14
- for (let i = 0; i < keys.length; i++) {
15
- const key = keys[i]
16
- if (i === keys.length - 1) {
17
- props[key] = value
18
- } else {
19
- props[key] = props[key] === undefined ? {} : props[key]
20
- props = props[key]
21
- }
22
- }
23
- return this
24
- }
25
- })
1
+ /**
2
+ * 给对象注入属性
3
+ * @param keys 属性key数组, 如 keys = ['config', 'path'] , 则会给对象注入 object.config.path 的属性
4
+ * @param value 属性值
5
+ * @returns {Object}
6
+ */
7
+ // eslint-disable-next-line no-extend-native
8
+ Object.defineProperty(Object.prototype, 'assignProps', {
9
+ writable: false,
10
+ enumerable: false,
11
+ configurable: true,
12
+ value: function (keys, value) {
13
+ let props = this
14
+ for (let i = 0; i < keys.length; i++) {
15
+ const key = keys[i]
16
+ if (i === keys.length - 1) {
17
+ props[key] = value
18
+ } else {
19
+ props[key] = props[key] === undefined ? {} : props[key]
20
+ props = props[key]
21
+ }
22
+ }
23
+ return this
24
+ }
25
+ })
@@ -1,100 +1,100 @@
1
- import Cookie from 'js-cookie'
2
- // 401拦截
3
- const resp401 = {
4
- /**
5
- * 响应数据之前做点什么
6
- * @param response 响应对象
7
- * @param options 应用配置 包含: {router, i18n, store, message}
8
- * @returns {*}
9
- */
10
- onFulfilled (response, options) {
11
- const { message } = options
12
- if (response.code === 401) {
13
- message.error('无此权限')
14
- }
15
- return response
16
- },
17
- /**
18
- * 响应出错时执行
19
- * @param error 错误对象
20
- * @param options 应用配置 包含: {router, i18n, store, message}
21
- * @returns {Promise<never>}
22
- */
23
- onRejected (error, options) {
24
- const { message } = options
25
- const { response } = error
26
- if (response.status === 401) {
27
- message.error('无此权限')
28
- }
29
- return Promise.reject(error)
30
- }
31
- }
32
-
33
- const resp403 = {
34
- onFulfilled (response, options) {
35
- const { message } = options
36
- if (response.code === 403) {
37
- message.error('请求被拒绝')
38
- }
39
- return response
40
- },
41
- onRejected (error, options) {
42
- const { message } = options
43
- const { response } = error
44
- if (response.status === 403) {
45
- message.error('请求被拒绝')
46
- }
47
- return Promise.reject(error)
48
- }
49
- }
50
-
51
- const resp413 = {
52
- onFulfilled (response, options) {
53
- const { message } = options
54
- if (response.code === 413) {
55
- message.error('上传文件过大')
56
- }
57
- return response
58
- },
59
- onRejected (error, options) {
60
- const { message } = options
61
- const { response } = error
62
- if (response.status === 413) {
63
- message.error('上传文件过大')
64
- }
65
- return Promise.reject(error)
66
- }
67
- }
68
-
69
- const reqCommon = {
70
- /**
71
- * 发送请求之前做些什么
72
- * @param config axios config
73
- * @param options 应用配置 包含: {router, i18n, store, message}
74
- * @returns {*}
75
- */
76
- onFulfilled (config, options) {
77
- const { message } = options
78
- const { url, xsrfCookieName } = config
79
- if (url.indexOf('Login') === -1 && xsrfCookieName && !Cookie.get(xsrfCookieName)) {
80
- message.warning('认证 token 已过期,请重新登录')
81
- }
82
- return config
83
- },
84
- /**
85
- * 请求出错时做点什么
86
- * @param error 错误对象
87
- * @param options 应用配置 包含: {router, i18n, store, message}
88
- * @returns {Promise<never>}
89
- */
90
- onRejected (error, options) {
91
- const { message } = options
92
- message.error(error.message)
93
- return Promise.reject(error)
94
- }
95
- }
96
-
97
- export default {
98
- request: [reqCommon], // 请求拦截
99
- response: [resp401, resp403, resp413] // 响应拦截
100
- }
1
+ import Cookie from 'js-cookie'
2
+ // 401拦截
3
+ const resp401 = {
4
+ /**
5
+ * 响应数据之前做点什么
6
+ * @param response 响应对象
7
+ * @param options 应用配置 包含: {router, i18n, store, message}
8
+ * @returns {*}
9
+ */
10
+ onFulfilled (response, options) {
11
+ const { message } = options
12
+ if (response.code === 401) {
13
+ message.error('无此权限')
14
+ }
15
+ return response
16
+ },
17
+ /**
18
+ * 响应出错时执行
19
+ * @param error 错误对象
20
+ * @param options 应用配置 包含: {router, i18n, store, message}
21
+ * @returns {Promise<never>}
22
+ */
23
+ onRejected (error, options) {
24
+ const { message } = options
25
+ const { response } = error
26
+ if (response.status === 401) {
27
+ message.error('无此权限')
28
+ }
29
+ return Promise.reject(error)
30
+ }
31
+ }
32
+
33
+ const resp403 = {
34
+ onFulfilled (response, options) {
35
+ const { message } = options
36
+ if (response.code === 403) {
37
+ message.error('请求被拒绝')
38
+ }
39
+ return response
40
+ },
41
+ onRejected (error, options) {
42
+ const { message } = options
43
+ const { response } = error
44
+ if (response.status === 403) {
45
+ message.error('请求被拒绝')
46
+ }
47
+ return Promise.reject(error)
48
+ }
49
+ }
50
+
51
+ const resp413 = {
52
+ onFulfilled (response, options) {
53
+ const { message } = options
54
+ if (response.code === 413) {
55
+ message.error('上传文件过大')
56
+ }
57
+ return response
58
+ },
59
+ onRejected (error, options) {
60
+ const { message } = options
61
+ const { response } = error
62
+ if (response.status === 413) {
63
+ message.error('上传文件过大')
64
+ }
65
+ return Promise.reject(error)
66
+ }
67
+ }
68
+
69
+ const reqCommon = {
70
+ /**
71
+ * 发送请求之前做些什么
72
+ * @param config axios config
73
+ * @param options 应用配置 包含: {router, i18n, store, message}
74
+ * @returns {*}
75
+ */
76
+ onFulfilled (config, options) {
77
+ const { message } = options
78
+ const { url, xsrfCookieName } = config
79
+ if (url.indexOf('Login') === -1 && xsrfCookieName && !Cookie.get(xsrfCookieName)) {
80
+ message.warning('认证 token 已过期,请重新登录')
81
+ }
82
+ return config
83
+ },
84
+ /**
85
+ * 请求出错时做点什么
86
+ * @param error 错误对象
87
+ * @param options 应用配置 包含: {router, i18n, store, message}
88
+ * @returns {Promise<never>}
89
+ */
90
+ onRejected (error, options) {
91
+ const { message } = options
92
+ message.error(error.message)
93
+ return Promise.reject(error)
94
+ }
95
+ }
96
+
97
+ export default {
98
+ request: [reqCommon], // 请求拦截
99
+ response: [resp401, resp403, resp413] // 响应拦截
100
+ }