vue2-client 1.8.310 → 1.8.311

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 (215) hide show
  1. package/.env +19 -19
  2. package/.eslintrc.js +90 -90
  3. package/CHANGELOG.md +824 -824
  4. package/Components.md +60 -60
  5. package/babel.config.js +21 -21
  6. package/docs/LowCode/lowcode.md +155 -155
  7. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  8. package/docs/index.md +30 -30
  9. package/index.js +31 -31
  10. package/jest-transform-stub.js +8 -8
  11. package/jest.config.js +21 -21
  12. package/jest.setup.js +7 -7
  13. package/package.json +97 -97
  14. package/public/index.html +27 -27
  15. package/src/App.vue +188 -188
  16. package/src/ReportView.js +19 -19
  17. package/src/assets/img/querySlotDemo.svg +15 -15
  18. package/src/assets/svg/badtwo.svg +1 -1
  19. package/src/assets/svg/goodtwo.svg +1 -1
  20. package/src/base-client/components/common/AMisRender/index.js +3 -3
  21. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  22. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +438 -416
  23. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  24. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  25. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  26. package/src/base-client/components/common/CitySelect/CitySelect.vue +342 -342
  27. package/src/base-client/components/common/CitySelect/index.js +3 -3
  28. package/src/base-client/components/common/CitySelect/index.md +109 -109
  29. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  30. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  31. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  32. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  33. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  34. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  35. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  36. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  37. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  38. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  39. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  40. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  41. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  42. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  43. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  44. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  45. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +350 -350
  46. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  47. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +699 -699
  48. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  49. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +162 -162
  50. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  51. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  52. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  53. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  54. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  55. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  56. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  57. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  58. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  59. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  60. package/src/base-client/components/common/Tree/index.js +2 -2
  61. package/src/base-client/components/common/Upload/Upload.vue +239 -239
  62. package/src/base-client/components/common/Upload/index.js +3 -3
  63. package/src/base-client/components/common/XAddForm/XAddForm.vue +105 -105
  64. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +807 -807
  65. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  66. package/src/base-client/components/common/XAddNativeForm/lowcodeEditorRegister.js +16 -16
  67. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  68. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  69. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  70. package/src/base-client/components/common/XBadge/XBadge.vue +78 -78
  71. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  72. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  73. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  74. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  75. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +187 -187
  76. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +306 -306
  77. package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
  78. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  79. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  80. package/src/base-client/components/common/XDescriptions/lowcodeEditorRegister.js +31 -31
  81. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +214 -214
  82. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  83. package/src/base-client/components/common/XForm/XForm.vue +294 -294
  84. package/src/base-client/components/common/XForm/XFormItem.vue +911 -911
  85. package/src/base-client/components/common/XForm/XTreeSelect.vue +207 -207
  86. package/src/base-client/components/common/XForm/index.md +178 -178
  87. package/src/base-client/components/common/XFormCol/XFormCol.vue +36 -36
  88. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +241 -241
  89. package/src/base-client/components/common/XFormGroup/demo.vue +40 -40
  90. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  91. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  92. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  93. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  94. package/src/base-client/components/common/XFormTable/XFormTable.vue +539 -539
  95. package/src/base-client/components/common/XFormTable/demo.vue +72 -72
  96. package/src/base-client/components/common/XFormTable/index.md +98 -98
  97. package/src/base-client/components/common/XFormTable/lowcodeEditorRegister.js +30 -30
  98. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +147 -147
  99. package/src/base-client/components/common/XReport/XReport.vue +858 -858
  100. package/src/base-client/components/common/XReport/XReportDemo.vue +266 -266
  101. package/src/base-client/components/common/XReport/XReportDesign.vue +509 -509
  102. package/src/base-client/components/common/XReport/XReportJsonRender.vue +295 -295
  103. package/src/base-client/components/common/XReport/XReportTrGroup.vue +801 -801
  104. package/src/base-client/components/common/XReport/index.js +3 -3
  105. package/src/base-client/components/common/XReport/index.md +44 -44
  106. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  107. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  108. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  109. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  110. package/src/base-client/components/common/XStepView/index.js +3 -3
  111. package/src/base-client/components/common/XStepView/index.md +31 -31
  112. package/src/base-client/components/common/XTable/XTable.vue +676 -676
  113. package/src/base-client/components/common/XTable/index.md +255 -255
  114. package/src/base-client/components/common/XTree/XTree.vue +423 -423
  115. package/src/base-client/components/common/XTree/index.js +3 -3
  116. package/src/base-client/components/common/XTree/index.md +36 -36
  117. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +114 -114
  118. package/src/base-client/components/common/XTreeOne/lowcodeEditorRegister.js +11 -11
  119. package/src/base-client/components/index.js +51 -51
  120. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  121. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  122. package/src/base-client/plugins/AppData.js +121 -121
  123. package/src/base-client/plugins/Config.js +19 -19
  124. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  125. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  126. package/src/bootstrap.js +39 -39
  127. package/src/components/FilePreview/FilePreview.vue +166 -166
  128. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  129. package/src/components/STable/index.js +361 -361
  130. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  131. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  132. package/src/components/menu/SideMenu.vue +75 -75
  133. package/src/components/menu/menu.js +273 -273
  134. package/src/components/tool/AStepItem.vue +60 -60
  135. package/src/config/default/antd.config.js +89 -89
  136. package/src/config/default/setting.config.js +55 -55
  137. package/src/font-style/font.css +4 -4
  138. package/src/layouts/CommonLayout.vue +56 -56
  139. package/src/layouts/PageLayout.vue +151 -151
  140. package/src/layouts/SinglePageView.vue +138 -138
  141. package/src/layouts/header/AdminHeader.vue +132 -132
  142. package/src/layouts/header/HeaderNotice.vue +177 -177
  143. package/src/layouts/tabs/TabsHead.vue +189 -189
  144. package/src/layouts/tabs/TabsView.vue +387 -387
  145. package/src/lib.js +1 -1
  146. package/src/main.js +26 -26
  147. package/src/mock/extend/index.js +84 -84
  148. package/src/mock/goods/index.js +108 -108
  149. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  150. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  151. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  152. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  153. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  154. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  155. package/src/pages/DynamicStatistics/FavoriteList.vue +51 -51
  156. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  157. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  158. package/src/pages/DynamicStatistics/index.vue +282 -282
  159. package/src/pages/Example/index.vue +33 -33
  160. package/src/pages/ServiceReview/index.vue +284 -284
  161. package/src/pages/XReportView/index.vue +62 -62
  162. package/src/pages/login/Login.vue +378 -378
  163. package/src/pages/login/LoginV3.vue +389 -389
  164. package/src/pages/lowCode/lowCodeEditor.vue +1030 -1030
  165. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  166. package/src/pages/resourceManage/orgListManage.vue +98 -98
  167. package/src/pages/system/dictionary/index.vue +44 -44
  168. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  169. package/src/pages/system/monitor/operLog/index.vue +37 -37
  170. package/src/pages/system/settings/modifyPassword.vue +117 -117
  171. package/src/pages/system/ticket/index.vue +480 -480
  172. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  173. package/src/router/async/config.async.js +34 -34
  174. package/src/router/async/router.map.js +104 -104
  175. package/src/router/guards.js +223 -223
  176. package/src/router/index.js +27 -27
  177. package/src/router.js +19 -19
  178. package/src/services/api/TicketDetailsViewApi.js +46 -46
  179. package/src/services/api/cas.js +79 -79
  180. package/src/services/api/common.js +307 -307
  181. package/src/services/api/entity.js +18 -18
  182. package/src/services/api/index.js +17 -17
  183. package/src/services/api/restTools.js +46 -46
  184. package/src/services/apiService.js +14 -14
  185. package/src/services/user.js +71 -71
  186. package/src/services/v3Api.js +81 -81
  187. package/src/store/modules/index.js +5 -5
  188. package/src/store/modules/lowCode.js +33 -33
  189. package/src/store/modules/setting.js +119 -119
  190. package/src/theme/default/style.less +58 -58
  191. package/src/theme/global.less +139 -139
  192. package/src/utils/authority-utils.js +85 -85
  193. package/src/utils/errorCode.js +6 -6
  194. package/src/utils/formatter.js +80 -80
  195. package/src/utils/htmlToPDF.js +108 -108
  196. package/src/utils/htmlToPDFApi.js +5 -5
  197. package/src/utils/indexedDB.js +258 -258
  198. package/src/utils/login.js +188 -188
  199. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  200. package/src/utils/lowcode/lowcodeLog.js +29 -29
  201. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  202. package/src/utils/lowcode/registerComponentForEditor.js +11 -11
  203. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  204. package/src/utils/map-utils.js +47 -47
  205. package/src/utils/reg.js +95 -95
  206. package/src/utils/request.js +347 -347
  207. package/src/utils/routerUtil.js +435 -435
  208. package/src/utils/runEvalFunction.js +6 -6
  209. package/src/utils/util.js +241 -241
  210. package/src/utils/waterMark.js +31 -31
  211. package/test/Amis.spec.js +163 -163
  212. package/test/Tree.spec.js +167 -167
  213. package/test/myDialog.spec.js +46 -46
  214. package/vue.config.js +181 -181
  215. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,188 +1,188 @@
1
- import { getRoutesConfig, login, V4Login } from '@vue2-client/services/user'
2
- import { loadRoutes, funcToRouter } from '@vue2-client/utils/routerUtil'
3
- import JSEncrypt from 'jsencrypt'
4
- import { positions } from '@vue2-client/mock/common'
5
- import { timeFix } from '@vue2-client/utils/util'
6
- import { indexedDB } from '@vue2-client/utils/indexedDB'
7
- import Vue from 'vue'
8
- import { message } from 'ant-design-vue'
9
- import {
10
- ACCESS_TOKEN,
11
- V4_ACCESS_TOKEN,
12
- } from '@vue2-client/store/mutation-types'
13
- import { setAuthorization } from '@vue2-client/utils/request'
14
- import { loginGen } from '@vue2-client/base-client/plugins/GetLoginInfoService'
15
- // 认证类型
16
- const AUTH_TYPE = {
17
- BEARER: 'Bearer',
18
- SinglePage: 'SinglePage',
19
- BASIC: 'basic',
20
- AUTH1: 'auth1',
21
- AUTH2: 'auth2',
22
- }
23
-
24
- export function checkSingleAuthorization (authType = AUTH_TYPE.BEARER, token) {
25
- switch (authType) {
26
- case AUTH_TYPE.BEARER:
27
- if (localStorage.getItem(V4_ACCESS_TOKEN)) {
28
- return true
29
- }
30
- break
31
- case AUTH_TYPE.SinglePage:
32
- return token === localStorage.getItem('SinglePage_TOKEN')
33
- case AUTH_TYPE.BASIC:
34
- case AUTH_TYPE.AUTH1:
35
- case AUTH_TYPE.AUTH2:
36
- default:
37
- break
38
- }
39
- return false
40
- }
41
-
42
- function setSingleAuthorization (auth, authType = AUTH_TYPE.BEARER) {
43
- switch (authType) {
44
- case AUTH_TYPE.BEARER:
45
- localStorage.setItem(V4_ACCESS_TOKEN, 'Bearer ' + auth.token)
46
- break
47
- case AUTH_TYPE.BASIC:
48
- case AUTH_TYPE.AUTH1:
49
- case AUTH_TYPE.AUTH2:
50
- default:
51
- break
52
- }
53
- }
54
-
55
- function setAccessToken (data) {
56
- if (data) {
57
- localStorage.setItem(ACCESS_TOKEN, data)
58
- let timestamp = new Date().getTime() // 当前的时间戳
59
- timestamp = timestamp + 12 * 60 * 60 * 1000
60
- // 格式化时间获取年月日, 登陆过期时间
61
- const dateAfter = new Date(timestamp)
62
- setSingleAuthorization({ token: data, expireAt: dateAfter })
63
- }
64
- }
65
-
66
- function afterGeneral (result, options) {
67
- return new Promise((resolve) => {
68
- const { password, store } = options
69
- const user = Object.assign(
70
- {
71
- id: result.id,
72
- username: result.ename,
73
- password: password,
74
- name: result.name,
75
- avatar:
76
- 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png',
77
- address: '西安市',
78
- position: positions[0],
79
- },
80
- result
81
- )
82
- const setUser = store._mutations['account/setUser'][0]
83
- const setPermissions = store._mutations['account/setPermissions'][0]
84
- const setRoles = store._mutations['account/setRoles'][0]
85
- setUser(user)
86
- setPermissions([{ id: 'queryForm', operation: ['add', 'edit'] }])
87
- setRoles([{ id: 'admin', operation: ['add', 'edit', 'delete'] }])
88
- loadRoutes(funcToRouter(user.functions))
89
- // 每次重新登录时,清除indexedDB缓存
90
- indexedDB.clear()
91
- message.success(timeFix().CN + `,${result.name} 欢迎回来`, 3)
92
- resolve()
93
- })
94
- }
95
-
96
- function afterLogin (res, options) {
97
- const { name, password, store, router, pathname } = options
98
- const setting = store.state.setting
99
- const loginRes = res.states
100
- if (loginRes === '登录成功') {
101
- const encrypt = new JSEncrypt()
102
- encrypt.setPublicKey(
103
- 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB'
104
- )
105
- const data = encrypt.encrypt(
106
- JSON.stringify({ username: name, password: password })
107
- )
108
- // 获取路由配置
109
- getRoutesConfig(data, setting.routeName)
110
- .then((result) => {
111
- Vue.$login
112
- .login(result)
113
- .then(() => {
114
- // V3任何情况首位加入资源管理
115
- const resourceManageMain = {
116
- name: '资源管理',
117
- icon: 'api',
118
- position: 1,
119
- link: 'resourceManageMain',
120
- }
121
- result.functions.unshift(resourceManageMain)
122
- afterGeneral(result, options)
123
- setAccessToken(data)
124
- if (result.deps === '用户工单登记') {
125
- router.push(setting.ticketPage).catch(() => {
126
- })
127
- } else {
128
- console.log('去往的页面', pathname)
129
- router.push(pathname).catch(() => {
130
- })
131
- }
132
- })
133
- .finally(() => {
134
- })
135
- })
136
- .catch((res) => {
137
- })
138
- }
139
- }
140
-
141
- function afterLoginV4 (res, option) {
142
- const { router, pathname } = option
143
- setV4AccessToken(res)
144
- let data = res.resources
145
- if (data.data) {
146
- data = data.data
147
- }
148
- loginGen(data).then(() => {
149
- afterGeneral(data, option).then(() => {
150
- router.push(pathname)
151
- })
152
- }).catch(res => {
153
- }).finally(() => {
154
- })
155
- }
156
-
157
- export function setV4AccessToken (res) {
158
- localStorage.setItem(ACCESS_TOKEN, res.access_token)
159
- let timestamp = new Date().getTime()// 当前的时间戳
160
- timestamp = timestamp + res.expire * 60 * 1000
161
- // 格式化时间获取年月日, 登陆过期时间
162
- const dateAfter = new Date(timestamp)
163
- setAuthorization({ token: res.access_token, expireAt: dateAfter })
164
- }
165
-
166
- export function startLogin (options) {
167
- const { name, password, store } = options
168
- const setting = store.state.setting
169
- switch (setting.compatible) {
170
- case 'V2':
171
- case 'V3': {
172
- login(name, password)
173
- .then((res) => {
174
- afterLogin(res, options)
175
- })
176
- .catch((msg) => {
177
- })
178
- break
179
- }
180
- case 'V4': {
181
- V4Login(name, password, '智慧燃气').then((res) => {
182
- afterLoginV4(res, options)
183
- }).catch(msg => {
184
- })
185
- break
186
- }
187
- }
188
- }
1
+ import { getRoutesConfig, login, V4Login } from '@vue2-client/services/user'
2
+ import { loadRoutes, funcToRouter } from '@vue2-client/utils/routerUtil'
3
+ import JSEncrypt from 'jsencrypt'
4
+ import { positions } from '@vue2-client/mock/common'
5
+ import { timeFix } from '@vue2-client/utils/util'
6
+ import { indexedDB } from '@vue2-client/utils/indexedDB'
7
+ import Vue from 'vue'
8
+ import { message } from 'ant-design-vue'
9
+ import {
10
+ ACCESS_TOKEN,
11
+ V4_ACCESS_TOKEN,
12
+ } from '@vue2-client/store/mutation-types'
13
+ import { setAuthorization } from '@vue2-client/utils/request'
14
+ import { loginGen } from '@vue2-client/base-client/plugins/GetLoginInfoService'
15
+ // 认证类型
16
+ const AUTH_TYPE = {
17
+ BEARER: 'Bearer',
18
+ SinglePage: 'SinglePage',
19
+ BASIC: 'basic',
20
+ AUTH1: 'auth1',
21
+ AUTH2: 'auth2',
22
+ }
23
+
24
+ export function checkSingleAuthorization (authType = AUTH_TYPE.BEARER, token) {
25
+ switch (authType) {
26
+ case AUTH_TYPE.BEARER:
27
+ if (localStorage.getItem(V4_ACCESS_TOKEN)) {
28
+ return true
29
+ }
30
+ break
31
+ case AUTH_TYPE.SinglePage:
32
+ return token === localStorage.getItem('SinglePage_TOKEN')
33
+ case AUTH_TYPE.BASIC:
34
+ case AUTH_TYPE.AUTH1:
35
+ case AUTH_TYPE.AUTH2:
36
+ default:
37
+ break
38
+ }
39
+ return false
40
+ }
41
+
42
+ function setSingleAuthorization (auth, authType = AUTH_TYPE.BEARER) {
43
+ switch (authType) {
44
+ case AUTH_TYPE.BEARER:
45
+ localStorage.setItem(V4_ACCESS_TOKEN, 'Bearer ' + auth.token)
46
+ break
47
+ case AUTH_TYPE.BASIC:
48
+ case AUTH_TYPE.AUTH1:
49
+ case AUTH_TYPE.AUTH2:
50
+ default:
51
+ break
52
+ }
53
+ }
54
+
55
+ function setAccessToken (data) {
56
+ if (data) {
57
+ localStorage.setItem(ACCESS_TOKEN, data)
58
+ let timestamp = new Date().getTime() // 当前的时间戳
59
+ timestamp = timestamp + 12 * 60 * 60 * 1000
60
+ // 格式化时间获取年月日, 登陆过期时间
61
+ const dateAfter = new Date(timestamp)
62
+ setSingleAuthorization({ token: data, expireAt: dateAfter })
63
+ }
64
+ }
65
+
66
+ function afterGeneral (result, options) {
67
+ return new Promise((resolve) => {
68
+ const { password, store } = options
69
+ const user = Object.assign(
70
+ {
71
+ id: result.id,
72
+ username: result.ename,
73
+ password: password,
74
+ name: result.name,
75
+ avatar:
76
+ 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png',
77
+ address: '西安市',
78
+ position: positions[0],
79
+ },
80
+ result
81
+ )
82
+ const setUser = store._mutations['account/setUser'][0]
83
+ const setPermissions = store._mutations['account/setPermissions'][0]
84
+ const setRoles = store._mutations['account/setRoles'][0]
85
+ setUser(user)
86
+ setPermissions([{ id: 'queryForm', operation: ['add', 'edit'] }])
87
+ setRoles([{ id: 'admin', operation: ['add', 'edit', 'delete'] }])
88
+ loadRoutes(funcToRouter(user.functions))
89
+ // 每次重新登录时,清除indexedDB缓存
90
+ indexedDB.clear()
91
+ message.success(timeFix().CN + `,${result.name} 欢迎回来`, 3)
92
+ resolve()
93
+ })
94
+ }
95
+
96
+ function afterLogin (res, options) {
97
+ const { name, password, store, router, pathname } = options
98
+ const setting = store.state.setting
99
+ const loginRes = res.states
100
+ if (loginRes === '登录成功') {
101
+ const encrypt = new JSEncrypt()
102
+ encrypt.setPublicKey(
103
+ 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB'
104
+ )
105
+ const data = encrypt.encrypt(
106
+ JSON.stringify({ username: name, password: password })
107
+ )
108
+ // 获取路由配置
109
+ getRoutesConfig(data, setting.routeName)
110
+ .then((result) => {
111
+ Vue.$login
112
+ .login(result)
113
+ .then(() => {
114
+ // V3任何情况首位加入资源管理
115
+ const resourceManageMain = {
116
+ name: '资源管理',
117
+ icon: 'api',
118
+ position: 1,
119
+ link: 'resourceManageMain',
120
+ }
121
+ result.functions.unshift(resourceManageMain)
122
+ afterGeneral(result, options)
123
+ setAccessToken(data)
124
+ if (result.deps === '用户工单登记') {
125
+ router.push(setting.ticketPage).catch(() => {
126
+ })
127
+ } else {
128
+ console.log('去往的页面', pathname)
129
+ router.push(pathname).catch(() => {
130
+ })
131
+ }
132
+ })
133
+ .finally(() => {
134
+ })
135
+ })
136
+ .catch((res) => {
137
+ })
138
+ }
139
+ }
140
+
141
+ function afterLoginV4 (res, option) {
142
+ const { router, pathname } = option
143
+ setV4AccessToken(res)
144
+ let data = res.resources
145
+ if (data.data) {
146
+ data = data.data
147
+ }
148
+ loginGen(data).then(() => {
149
+ afterGeneral(data, option).then(() => {
150
+ router.push(pathname)
151
+ })
152
+ }).catch(res => {
153
+ }).finally(() => {
154
+ })
155
+ }
156
+
157
+ export function setV4AccessToken (res) {
158
+ localStorage.setItem(ACCESS_TOKEN, res.access_token)
159
+ let timestamp = new Date().getTime()// 当前的时间戳
160
+ timestamp = timestamp + res.expire * 60 * 1000
161
+ // 格式化时间获取年月日, 登陆过期时间
162
+ const dateAfter = new Date(timestamp)
163
+ setAuthorization({ token: res.access_token, expireAt: dateAfter })
164
+ }
165
+
166
+ export function startLogin (options) {
167
+ const { name, password, store } = options
168
+ const setting = store.state.setting
169
+ switch (setting.compatible) {
170
+ case 'V2':
171
+ case 'V3': {
172
+ login(name, password)
173
+ .then((res) => {
174
+ afterLogin(res, options)
175
+ })
176
+ .catch((msg) => {
177
+ })
178
+ break
179
+ }
180
+ case 'V4': {
181
+ V4Login(name, password, '智慧燃气').then((res) => {
182
+ afterLoginV4(res, options)
183
+ }).catch(msg => {
184
+ })
185
+ break
186
+ }
187
+ }
188
+ }
@@ -1,120 +1,120 @@
1
- // eslint-disable-next-line no-unused-vars
2
- import Vue from 'vue'
3
- import lowcodeLog from '@vue2-client/utils/lowcode/lowcodeLog'
4
- import { uuid } from '@vue2-client/utils/util'
5
- export default {
6
- props: {
7
- // 组件ID用于注册组件到Map中
8
- mixinComponentId: {
9
- type: String,
10
- required: false,
11
- default: uuid()
12
- },
13
- // 所有Props的集合
14
- propsData: {
15
- type: Object,
16
- default: () => {}
17
- },
18
- // 钩子函数
19
- lifeCycleFunction: {
20
- type: Array,
21
- default: undefined
22
- }
23
- },
24
- data () {
25
- return {
26
- // 组件暴露给低代码平台的变量
27
- // 该变量由各个组件选择性暴露
28
- // 比如XFormTable可以将点击action后,该行信息保存在此变量中,便于其他组件调用
29
- // 使用$lowCodeSetData来修改此变量的值
30
- dataForLowCode: {}
31
- }
32
- },
33
- methods: {
34
- // 处理目标为本组件的通信
35
- handleComponentCommunication (actionType, data, targetKey = undefined, eventOriginalVM = undefined) {
36
- lowcodeLog(
37
- ` 事件数据:${data},\n 目标key:${targetKey}`,
38
- '响应组件接收到事件',
39
- actionType,
40
- false,
41
- true
42
- )
43
- switch (actionType) {
44
- case 'changeValue':
45
- this.handleComponentChangeValue(data, targetKey)
46
- break
47
- case 'log':
48
- this.handleComponentLog(data)
49
- break
50
- }
51
- },
52
- handleComponentLog (data) {
53
- console.warn('vm', this)
54
- console.warn('data', data)
55
- },
56
- handleComponentChangeValue (data, targetKey = undefined) {
57
- if (targetKey) {
58
- this[targetKey] = data
59
- return
60
- }
61
-
62
- const keys = Object.keys(data)
63
- keys.forEach(key => {
64
- this[key] = data[key]
65
- })
66
- },
67
- // 处理本组件发出的事件
68
- $lowCodeEmit (eventType, data) {
69
- // emit的时候大概率需要传递给外层一个值,所以将其保存后再emit
70
- this.dataForLowCode[eventType] = data
71
- if (this.mixinComponentId) {
72
- this.$emit('onEvent', data, eventType, this.mixinComponentId)
73
- }
74
- },
75
- // 保存值到变量中供低代码平台调用
76
- $lowCodeSetData (key, value) {
77
- this.dataForLowCode[key] = value
78
- },
79
- // 解析传入的钩子函数并执行
80
- resolveLifeCycleFunctionAndRun (lifeCycleName) {
81
- if (this.lifeCycleFunction && this.lifeCycleFunction.length > 0) {
82
- this.lifeCycleFunction.forEach(param => {
83
- if (param.lifeCycleName === lifeCycleName) {
84
- // eslint-disable-next-line no-eval
85
- const receivedFunction = eval('(' + param.functionStr + ')')
86
- receivedFunction(this)
87
- }
88
- })
89
- }
90
- }
91
- },
92
- created () {
93
- this.resolveLifeCycleFunctionAndRun('created')
94
- },
95
- beforeMount () {
96
- this.resolveLifeCycleFunctionAndRun('beforeMount')
97
- },
98
- mounted () {
99
- this.resolveLifeCycleFunctionAndRun('mounted')
100
- if (this.mixinComponentId) {
101
- this.$emit('componentDidMounted', this, this.mixinComponentId)
102
- }
103
- },
104
- beforeUpdate () {
105
- this.resolveLifeCycleFunctionAndRun('beforeUpdate')
106
- },
107
- updated () {
108
- this.resolveLifeCycleFunctionAndRun('updated')
109
- },
110
- beforeDestroy () {
111
- this.resolveLifeCycleFunctionAndRun('beforeDestroy')
112
- },
113
- destroyed () {
114
- this.resolveLifeCycleFunctionAndRun('destroyed')
115
- },
116
- supportedEventType: [
117
- 'changeValue',
118
- 'log'
119
- ],
120
- }
1
+ // eslint-disable-next-line no-unused-vars
2
+ import Vue from 'vue'
3
+ import lowcodeLog from '@vue2-client/utils/lowcode/lowcodeLog'
4
+ import { uuid } from '@vue2-client/utils/util'
5
+ export default {
6
+ props: {
7
+ // 组件ID用于注册组件到Map中
8
+ mixinComponentId: {
9
+ type: String,
10
+ required: false,
11
+ default: uuid()
12
+ },
13
+ // 所有Props的集合
14
+ propsData: {
15
+ type: Object,
16
+ default: () => {}
17
+ },
18
+ // 钩子函数
19
+ lifeCycleFunction: {
20
+ type: Array,
21
+ default: undefined
22
+ }
23
+ },
24
+ data () {
25
+ return {
26
+ // 组件暴露给低代码平台的变量
27
+ // 该变量由各个组件选择性暴露
28
+ // 比如XFormTable可以将点击action后,该行信息保存在此变量中,便于其他组件调用
29
+ // 使用$lowCodeSetData来修改此变量的值
30
+ dataForLowCode: {}
31
+ }
32
+ },
33
+ methods: {
34
+ // 处理目标为本组件的通信
35
+ handleComponentCommunication (actionType, data, targetKey = undefined, eventOriginalVM = undefined) {
36
+ lowcodeLog(
37
+ ` 事件数据:${data},\n 目标key:${targetKey}`,
38
+ '响应组件接收到事件',
39
+ actionType,
40
+ false,
41
+ true
42
+ )
43
+ switch (actionType) {
44
+ case 'changeValue':
45
+ this.handleComponentChangeValue(data, targetKey)
46
+ break
47
+ case 'log':
48
+ this.handleComponentLog(data)
49
+ break
50
+ }
51
+ },
52
+ handleComponentLog (data) {
53
+ console.warn('vm', this)
54
+ console.warn('data', data)
55
+ },
56
+ handleComponentChangeValue (data, targetKey = undefined) {
57
+ if (targetKey) {
58
+ this[targetKey] = data
59
+ return
60
+ }
61
+
62
+ const keys = Object.keys(data)
63
+ keys.forEach(key => {
64
+ this[key] = data[key]
65
+ })
66
+ },
67
+ // 处理本组件发出的事件
68
+ $lowCodeEmit (eventType, data) {
69
+ // emit的时候大概率需要传递给外层一个值,所以将其保存后再emit
70
+ this.dataForLowCode[eventType] = data
71
+ if (this.mixinComponentId) {
72
+ this.$emit('onEvent', data, eventType, this.mixinComponentId)
73
+ }
74
+ },
75
+ // 保存值到变量中供低代码平台调用
76
+ $lowCodeSetData (key, value) {
77
+ this.dataForLowCode[key] = value
78
+ },
79
+ // 解析传入的钩子函数并执行
80
+ resolveLifeCycleFunctionAndRun (lifeCycleName) {
81
+ if (this.lifeCycleFunction && this.lifeCycleFunction.length > 0) {
82
+ this.lifeCycleFunction.forEach(param => {
83
+ if (param.lifeCycleName === lifeCycleName) {
84
+ // eslint-disable-next-line no-eval
85
+ const receivedFunction = eval('(' + param.functionStr + ')')
86
+ receivedFunction(this)
87
+ }
88
+ })
89
+ }
90
+ }
91
+ },
92
+ created () {
93
+ this.resolveLifeCycleFunctionAndRun('created')
94
+ },
95
+ beforeMount () {
96
+ this.resolveLifeCycleFunctionAndRun('beforeMount')
97
+ },
98
+ mounted () {
99
+ this.resolveLifeCycleFunctionAndRun('mounted')
100
+ if (this.mixinComponentId) {
101
+ this.$emit('componentDidMounted', this, this.mixinComponentId)
102
+ }
103
+ },
104
+ beforeUpdate () {
105
+ this.resolveLifeCycleFunctionAndRun('beforeUpdate')
106
+ },
107
+ updated () {
108
+ this.resolveLifeCycleFunctionAndRun('updated')
109
+ },
110
+ beforeDestroy () {
111
+ this.resolveLifeCycleFunctionAndRun('beforeDestroy')
112
+ },
113
+ destroyed () {
114
+ this.resolveLifeCycleFunctionAndRun('destroyed')
115
+ },
116
+ supportedEventType: [
117
+ 'changeValue',
118
+ 'log'
119
+ ],
120
+ }
@@ -1,29 +1,29 @@
1
- const banner = `
2
- _____ .__ .___
3
- _____ _/ ____\\ | | ______ _ __ ____ ____ __| _/____
4
- \\__ \\\\ __\\ ______ | | / _ \\ \\/ \\/ // ___\\/ _ \\ / __ |/ __ \\
5
- / __ \\| | /_____/ | |_( <_> ) /\\ \\__( <_> ) /_/ \\ ___/
6
- (____ /__| |____/\\____/ \\/\\_/ \\___ >____/\\____ |\\___ >
7
- \\/ \\/ \\/ \\/
8
- `
9
-
10
- const end = '========事件处理结束========'
11
-
12
- const styleTitle1 = ` font-size: 20px; font-weight: 600; color: rgb(244,167,89); `
13
- const styleTitle2 = ` font-style: oblique; font-size:14px; color: rgb(244,167,89); font-weight: 400; `
14
- const styleContent = ` color:rgb(30,152,255);margin-top:15px `
15
-
16
- export default function lowcodeLog (content, title1 = '', title2 = '', withBanner = false, withEnd = false) {
17
- if (withBanner) {
18
- console.log(banner)
19
- }
20
- console.log(
21
- `%c${title1} %c${title2} %c${content}`,
22
- styleTitle1,
23
- styleTitle2,
24
- styleContent
25
- )
26
- if (withEnd) {
27
- console.log(`%c${end}`, styleTitle1)
28
- }
29
- }
1
+ const banner = `
2
+ _____ .__ .___
3
+ _____ _/ ____\\ | | ______ _ __ ____ ____ __| _/____
4
+ \\__ \\\\ __\\ ______ | | / _ \\ \\/ \\/ // ___\\/ _ \\ / __ |/ __ \\
5
+ / __ \\| | /_____/ | |_( <_> ) /\\ \\__( <_> ) /_/ \\ ___/
6
+ (____ /__| |____/\\____/ \\/\\_/ \\___ >____/\\____ |\\___ >
7
+ \\/ \\/ \\/ \\/
8
+ `
9
+
10
+ const end = '========事件处理结束========'
11
+
12
+ const styleTitle1 = ` font-size: 20px; font-weight: 600; color: rgb(244,167,89); `
13
+ const styleTitle2 = ` font-style: oblique; font-size:14px; color: rgb(244,167,89); font-weight: 400; `
14
+ const styleContent = ` color:rgb(30,152,255);margin-top:15px `
15
+
16
+ export default function lowcodeLog (content, title1 = '', title2 = '', withBanner = false, withEnd = false) {
17
+ if (withBanner) {
18
+ console.log(banner)
19
+ }
20
+ console.log(
21
+ `%c${title1} %c${title2} %c${content}`,
22
+ styleTitle1,
23
+ styleTitle2,
24
+ styleContent
25
+ )
26
+ if (withEnd) {
27
+ console.log(`%c${end}`, styleTitle1)
28
+ }
29
+ }