vue2-client 1.8.259 → 1.8.261
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.
- package/.env +19 -19
- package/.eslintrc.js +90 -90
- package/CHANGELOG.md +824 -824
- package/Components.md +60 -60
- package/babel.config.js +21 -21
- package/docs/index.md +30 -30
- package/docs/lowcode.md +188 -188
- package/docs/lowcodeForDeveloper.md +200 -192
- package/index.js +31 -31
- package/jest-transform-stub.js +8 -8
- package/jest.config.js +21 -21
- package/jest.setup.js +7 -7
- package/package.json +95 -95
- package/public/index.html +27 -27
- package/src/App.vue +188 -188
- package/src/ReportView.js +19 -19
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/assets/svg/badtwo.svg +1 -1
- package/src/assets/svg/goodtwo.svg +1 -1
- package/src/base-client/components/common/AMisRender/index.js +3 -3
- package/src/base-client/components/common/AMisRender/index.vue +263 -263
- package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +413 -413
- package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
- package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
- package/src/base-client/components/common/CitySelect/CitySelect.vue +348 -348
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
- package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
- package/src/base-client/components/common/CreateQuery/index.js +3 -3
- package/src/base-client/components/common/CreateQuery/index.md +42 -42
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
- package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
- package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
- package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
- package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
- package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
- package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
- package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
- package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
- package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +394 -355
- package/src/base-client/components/common/LowCodePageRender/LowCodePageRender.vue +29 -29
- package/src/base-client/components/common/LowCodePageRender/editorPageRender.vue +533 -467
- package/src/base-client/components/common/LowCodePageRender/index.js +3 -3
- package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Tree/Tree.vue +149 -149
- package/src/base-client/components/common/Tree/index.js +2 -2
- package/src/base-client/components/common/Upload/Upload.vue +197 -197
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XAddForm/XAddForm.vue +98 -98
- package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +732 -732
- package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
- package/src/base-client/components/common/XAddNativeForm/lowcodeEditorRegister.js +16 -12
- package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
- package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
- package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
- package/src/base-client/components/common/XBadge/XBadge.vue +78 -78
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
- package/src/base-client/components/common/XDataDrawer/index.js +3 -3
- package/src/base-client/components/common/XDataDrawer/index.md +41 -41
- package/src/base-client/components/common/XDescriptions/XDescriptions.vue +167 -167
- package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +299 -299
- package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
- package/src/base-client/components/common/XDescriptions/index.js +3 -3
- package/src/base-client/components/common/XDescriptions/index.md +83 -83
- package/src/base-client/components/common/XDescriptions/lowcodeEditorRegister.js +15 -5
- package/src/base-client/components/common/XDetailsView/XDetailsView.vue +214 -214
- package/src/base-client/components/common/XDetailsView/index.js +3 -3
- package/src/base-client/components/common/XForm/XForm.vue +281 -281
- package/src/base-client/components/common/XForm/XFormItem.vue +807 -807
- package/src/base-client/components/common/XForm/XTreeSelect.vue +206 -206
- package/src/base-client/components/common/XForm/index.md +178 -178
- package/src/base-client/components/common/XFormCol/XFormCol.vue +36 -36
- package/src/base-client/components/common/XFormGroup/XFormGroup.vue +241 -241
- package/src/base-client/components/common/XFormGroup/demo.vue +40 -40
- package/src/base-client/components/common/XFormGroup/index.js +3 -3
- package/src/base-client/components/common/XFormGroup/index.md +38 -38
- package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
- package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
- package/src/base-client/components/common/XFormTable/XFormTable.vue +519 -519
- package/src/base-client/components/common/XFormTable/index.md +98 -98
- package/src/base-client/components/common/XFormTable/lowcodeEditorRegister.js +16 -12
- package/src/base-client/components/common/XImportExcel/XImportExcel.vue +147 -147
- package/src/base-client/components/common/XReport/XReport.vue +843 -843
- package/src/base-client/components/common/XReport/XReportDemo.vue +2233 -2233
- package/src/base-client/components/common/XReport/XReportDesign.vue +470 -470
- package/src/base-client/components/common/XReport/XReportJsonRender.vue +267 -267
- package/src/base-client/components/common/XReport/XReportTrGroup.vue +745 -742
- package/src/base-client/components/common/XReport/index.js +3 -3
- package/src/base-client/components/common/XReport/index.md +44 -44
- package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
- package/src/base-client/components/common/XReportSlot/index.js +3 -3
- package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
- package/src/base-client/components/common/XStepView/index.js +3 -3
- package/src/base-client/components/common/XStepView/index.md +31 -31
- package/src/base-client/components/common/XTable/XTable.vue +636 -636
- package/src/base-client/components/common/XTable/index.md +255 -255
- package/src/base-client/components/common/XTree/XTree.vue +318 -318
- package/src/base-client/components/common/XTree/index.js +3 -3
- package/src/base-client/components/common/XTree/index.md +36 -36
- package/src/base-client/components/common/XTreeOne/XTreeOne.vue +114 -114
- package/src/base-client/components/common/XTreeOne/lowcodeEditorRegister.js +11 -9
- package/src/base-client/components/index.js +51 -51
- package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
- package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
- package/src/base-client/plugins/AppData.js +115 -115
- package/src/base-client/plugins/Config.js +19 -19
- package/src/base-client/plugins/GetLoginInfoService.js +183 -183
- package/src/base-client/plugins/tabs-page-plugin.js +39 -39
- package/src/bootstrap.js +39 -39
- package/src/components/CodeMirror/inedx.vue +118 -118
- package/src/components/CodeMirror/setting.js +40 -40
- package/src/components/FilePreview/FilePreview.vue +166 -166
- package/src/components/NumberInfo/NumberInfo.vue +54 -54
- package/src/components/STable/index.js +323 -323
- package/src/components/checkbox/ColorCheckbox.vue +157 -157
- package/src/components/checkbox/ImgCheckbox.vue +163 -163
- package/src/components/menu/SideMenu.vue +75 -75
- package/src/components/menu/menu.js +273 -273
- package/src/components/tool/AStepItem.vue +60 -60
- package/src/config/CreateQueryConfig.js +322 -322
- package/src/config/default/antd.config.js +89 -89
- package/src/config/default/setting.config.js +55 -55
- package/src/font-style/font.css +4 -4
- package/src/layouts/CommonLayout.vue +56 -56
- package/src/layouts/PageLayout.vue +151 -151
- package/src/layouts/SinglePageView.vue +138 -138
- package/src/layouts/header/AdminHeader.vue +132 -132
- package/src/layouts/header/HeaderNotice.vue +177 -177
- package/src/layouts/tabs/TabsHead.vue +189 -189
- package/src/layouts/tabs/TabsView.vue +387 -387
- package/src/lib.js +1 -1
- package/src/main.js +26 -26
- package/src/mock/extend/index.js +84 -84
- package/src/mock/goods/index.js +108 -108
- package/src/pages/AMisDemo/AMisDemo.vue +325 -325
- package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
- package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
- package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/DynamicStatistics/FavoriteList.vue +51 -51
- package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
- package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
- package/src/pages/DynamicStatistics/index.vue +282 -282
- package/src/pages/Example/index.vue +32 -32
- package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
- package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/NewDynamicStatistics/FavoriteList.vue +51 -51
- package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
- package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
- package/src/pages/NewDynamicStatistics/index.vue +258 -258
- package/src/pages/ServiceReview/index.vue +284 -284
- package/src/pages/XReportView/index.vue +62 -62
- package/src/pages/login/Login.vue +378 -378
- package/src/pages/login/LoginV3.vue +389 -389
- package/src/pages/lowCode/lowCodeEditor.vue +1501 -1285
- package/src/pages/lowCode/lowCodeRender.vue +39 -39
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/pages/system/dictionary/index.vue +44 -44
- package/src/pages/system/monitor/loginInfor/index.vue +37 -37
- package/src/pages/system/monitor/operLog/index.vue +37 -37
- package/src/pages/system/settings/modifyPassword.vue +117 -117
- package/src/pages/system/ticket/index.vue +480 -480
- package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
- package/src/router/async/config.async.js +33 -33
- package/src/router/async/router.map.js +107 -107
- package/src/router/guards.js +220 -220
- package/src/router/index.js +27 -27
- package/src/router.js +19 -19
- package/src/services/api/TicketDetailsViewApi.js +46 -46
- package/src/services/api/cas.js +79 -79
- package/src/services/api/common.js +284 -284
- package/src/services/api/entity.js +18 -18
- package/src/services/api/index.js +17 -17
- package/src/services/api/restTools.js +46 -46
- package/src/services/apiService.js +14 -14
- package/src/services/user.js +71 -71
- package/src/store/modules/setting.js +119 -119
- package/src/theme/default/style.less +57 -57
- package/src/theme/global.less +130 -130
- package/src/utils/authority-utils.js +85 -85
- package/src/utils/errorCode.js +6 -6
- package/src/utils/htmlToPDF.js +108 -108
- package/src/utils/htmlToPDFApi.js +5 -5
- package/src/utils/indexedDB.js +201 -201
- package/src/utils/login.js +144 -144
- package/src/utils/lowcode/lowcodeComponentMixin.js +112 -78
- package/src/utils/lowcode/lowcodeLog.js +29 -29
- package/src/utils/lowcode/lowcodeUtils.js +276 -129
- package/src/utils/lowcode/registerComponentForEditor.js +11 -11
- package/src/utils/lowcode/registerComponentForRender.js +11 -11
- package/src/utils/map-utils.js +47 -47
- package/src/utils/reg.js +19 -19
- package/src/utils/request.js +343 -343
- package/src/utils/routerUtil.js +435 -435
- package/src/utils/runEvalFunction.js +6 -6
- package/src/utils/util.js +241 -241
- package/src/utils/waterMark.js +31 -31
- package/test/Amis.spec.js +163 -163
- package/test/Tree.spec.js +167 -167
- package/test/myDialog.spec.js +46 -46
- package/vue.config.js +177 -177
- package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
package/src/utils/login.js
CHANGED
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
import { getRoutesConfig, login } 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
|
-
// 认证类型
|
|
14
|
-
const AUTH_TYPE = {
|
|
15
|
-
BEARER: 'Bearer',
|
|
16
|
-
SinglePage: 'SinglePage',
|
|
17
|
-
BASIC: 'basic',
|
|
18
|
-
AUTH1: 'auth1',
|
|
19
|
-
AUTH2: 'auth2',
|
|
20
|
-
}
|
|
21
|
-
export function checkSingleAuthorization (authType = AUTH_TYPE.BEARER, token) {
|
|
22
|
-
switch (authType) {
|
|
23
|
-
case AUTH_TYPE.BEARER:
|
|
24
|
-
if (localStorage.getItem(V4_ACCESS_TOKEN)) {
|
|
25
|
-
return true
|
|
26
|
-
}
|
|
27
|
-
break
|
|
28
|
-
case AUTH_TYPE.SinglePage:
|
|
29
|
-
return token === localStorage.getItem('SinglePage_TOKEN')
|
|
30
|
-
case AUTH_TYPE.BASIC:
|
|
31
|
-
case AUTH_TYPE.AUTH1:
|
|
32
|
-
case AUTH_TYPE.AUTH2:
|
|
33
|
-
default:
|
|
34
|
-
break
|
|
35
|
-
}
|
|
36
|
-
return false
|
|
37
|
-
}
|
|
38
|
-
function setSingleAuthorization (auth, authType = AUTH_TYPE.BEARER) {
|
|
39
|
-
switch (authType) {
|
|
40
|
-
case AUTH_TYPE.BEARER:
|
|
41
|
-
localStorage.setItem(V4_ACCESS_TOKEN, 'Bearer ' + auth.token)
|
|
42
|
-
break
|
|
43
|
-
case AUTH_TYPE.BASIC:
|
|
44
|
-
case AUTH_TYPE.AUTH1:
|
|
45
|
-
case AUTH_TYPE.AUTH2:
|
|
46
|
-
default:
|
|
47
|
-
break
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
function setAccessToken (data) {
|
|
51
|
-
if (data) {
|
|
52
|
-
localStorage.setItem(ACCESS_TOKEN, data)
|
|
53
|
-
let timestamp = new Date().getTime() // 当前的时间戳
|
|
54
|
-
timestamp = timestamp + 12 * 60 * 60 * 1000
|
|
55
|
-
// 格式化时间获取年月日, 登陆过期时间
|
|
56
|
-
const dateAfter = new Date(timestamp)
|
|
57
|
-
setSingleAuthorization({ token: data, expireAt: dateAfter })
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
function afterGeneral (result, options) {
|
|
61
|
-
const { password, store } = options
|
|
62
|
-
const user = Object.assign(
|
|
63
|
-
{
|
|
64
|
-
id: result.id,
|
|
65
|
-
username: result.ename,
|
|
66
|
-
password: password,
|
|
67
|
-
name: result.name,
|
|
68
|
-
avatar:
|
|
69
|
-
'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png',
|
|
70
|
-
address: '西安市',
|
|
71
|
-
position: positions[0],
|
|
72
|
-
},
|
|
73
|
-
result
|
|
74
|
-
)
|
|
75
|
-
const setUser = store._mutations['account/setUser'][0]
|
|
76
|
-
const setPermissions = store._mutations['account/setPermissions'][0]
|
|
77
|
-
const setRoles = store._mutations['account/setRoles'][0]
|
|
78
|
-
setUser(user)
|
|
79
|
-
setPermissions([{ id: 'queryForm', operation: ['add', 'edit'] }])
|
|
80
|
-
setRoles([{ id: 'admin', operation: ['add', 'edit', 'delete'] }])
|
|
81
|
-
loadRoutes(funcToRouter(user.functions))
|
|
82
|
-
// 每次重新登录时,清除indexedDB缓存
|
|
83
|
-
indexedDB.clear()
|
|
84
|
-
message.success(timeFix().CN + `,${result.name} 欢迎回来`, 3)
|
|
85
|
-
}
|
|
86
|
-
function afterLogin (res, options) {
|
|
87
|
-
const { name, password, store, router, pathname } = options
|
|
88
|
-
const setting = store.state.setting
|
|
89
|
-
const loginRes = res.states
|
|
90
|
-
if (loginRes === '登录成功') {
|
|
91
|
-
const encrypt = new JSEncrypt()
|
|
92
|
-
encrypt.setPublicKey(
|
|
93
|
-
'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB'
|
|
94
|
-
)
|
|
95
|
-
const data = encrypt.encrypt(
|
|
96
|
-
JSON.stringify({ username: name, password: password })
|
|
97
|
-
)
|
|
98
|
-
// 获取路由配置
|
|
99
|
-
getRoutesConfig(data, setting.routeName)
|
|
100
|
-
.then((result) => {
|
|
101
|
-
Vue.$login
|
|
102
|
-
.login(result)
|
|
103
|
-
.then(() => {
|
|
104
|
-
// V3任何情况首位加入资源管理
|
|
105
|
-
const resourceManageMain = {
|
|
106
|
-
name: '资源管理',
|
|
107
|
-
icon: 'api',
|
|
108
|
-
position: 1,
|
|
109
|
-
link: 'resourceManageMain',
|
|
110
|
-
}
|
|
111
|
-
result.functions.unshift(resourceManageMain)
|
|
112
|
-
afterGeneral(result, options)
|
|
113
|
-
setAccessToken(data)
|
|
114
|
-
if (result.deps === '用户工单登记') {
|
|
115
|
-
router.push(setting.ticketPage).catch(() => {
|
|
116
|
-
})
|
|
117
|
-
} else {
|
|
118
|
-
console.log('去往的页面', pathname)
|
|
119
|
-
router.push(pathname).catch(() => {
|
|
120
|
-
})
|
|
121
|
-
}
|
|
122
|
-
})
|
|
123
|
-
.finally(() => {
|
|
124
|
-
})
|
|
125
|
-
})
|
|
126
|
-
.catch((res) => {
|
|
127
|
-
})
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
export function startLogin (options) {
|
|
131
|
-
const { name, password, store } = options
|
|
132
|
-
const setting = store.state.setting
|
|
133
|
-
switch (setting.compatible) {
|
|
134
|
-
case 'V2':
|
|
135
|
-
case 'V3': {
|
|
136
|
-
login(name, password)
|
|
137
|
-
.then((res) => {
|
|
138
|
-
afterLogin(res, options)
|
|
139
|
-
})
|
|
140
|
-
.catch((msg) => {})
|
|
141
|
-
break
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
1
|
+
import { getRoutesConfig, login } 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
|
+
// 认证类型
|
|
14
|
+
const AUTH_TYPE = {
|
|
15
|
+
BEARER: 'Bearer',
|
|
16
|
+
SinglePage: 'SinglePage',
|
|
17
|
+
BASIC: 'basic',
|
|
18
|
+
AUTH1: 'auth1',
|
|
19
|
+
AUTH2: 'auth2',
|
|
20
|
+
}
|
|
21
|
+
export function checkSingleAuthorization (authType = AUTH_TYPE.BEARER, token) {
|
|
22
|
+
switch (authType) {
|
|
23
|
+
case AUTH_TYPE.BEARER:
|
|
24
|
+
if (localStorage.getItem(V4_ACCESS_TOKEN)) {
|
|
25
|
+
return true
|
|
26
|
+
}
|
|
27
|
+
break
|
|
28
|
+
case AUTH_TYPE.SinglePage:
|
|
29
|
+
return token === localStorage.getItem('SinglePage_TOKEN')
|
|
30
|
+
case AUTH_TYPE.BASIC:
|
|
31
|
+
case AUTH_TYPE.AUTH1:
|
|
32
|
+
case AUTH_TYPE.AUTH2:
|
|
33
|
+
default:
|
|
34
|
+
break
|
|
35
|
+
}
|
|
36
|
+
return false
|
|
37
|
+
}
|
|
38
|
+
function setSingleAuthorization (auth, authType = AUTH_TYPE.BEARER) {
|
|
39
|
+
switch (authType) {
|
|
40
|
+
case AUTH_TYPE.BEARER:
|
|
41
|
+
localStorage.setItem(V4_ACCESS_TOKEN, 'Bearer ' + auth.token)
|
|
42
|
+
break
|
|
43
|
+
case AUTH_TYPE.BASIC:
|
|
44
|
+
case AUTH_TYPE.AUTH1:
|
|
45
|
+
case AUTH_TYPE.AUTH2:
|
|
46
|
+
default:
|
|
47
|
+
break
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function setAccessToken (data) {
|
|
51
|
+
if (data) {
|
|
52
|
+
localStorage.setItem(ACCESS_TOKEN, data)
|
|
53
|
+
let timestamp = new Date().getTime() // 当前的时间戳
|
|
54
|
+
timestamp = timestamp + 12 * 60 * 60 * 1000
|
|
55
|
+
// 格式化时间获取年月日, 登陆过期时间
|
|
56
|
+
const dateAfter = new Date(timestamp)
|
|
57
|
+
setSingleAuthorization({ token: data, expireAt: dateAfter })
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function afterGeneral (result, options) {
|
|
61
|
+
const { password, store } = options
|
|
62
|
+
const user = Object.assign(
|
|
63
|
+
{
|
|
64
|
+
id: result.id,
|
|
65
|
+
username: result.ename,
|
|
66
|
+
password: password,
|
|
67
|
+
name: result.name,
|
|
68
|
+
avatar:
|
|
69
|
+
'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png',
|
|
70
|
+
address: '西安市',
|
|
71
|
+
position: positions[0],
|
|
72
|
+
},
|
|
73
|
+
result
|
|
74
|
+
)
|
|
75
|
+
const setUser = store._mutations['account/setUser'][0]
|
|
76
|
+
const setPermissions = store._mutations['account/setPermissions'][0]
|
|
77
|
+
const setRoles = store._mutations['account/setRoles'][0]
|
|
78
|
+
setUser(user)
|
|
79
|
+
setPermissions([{ id: 'queryForm', operation: ['add', 'edit'] }])
|
|
80
|
+
setRoles([{ id: 'admin', operation: ['add', 'edit', 'delete'] }])
|
|
81
|
+
loadRoutes(funcToRouter(user.functions))
|
|
82
|
+
// 每次重新登录时,清除indexedDB缓存
|
|
83
|
+
indexedDB.clear()
|
|
84
|
+
message.success(timeFix().CN + `,${result.name} 欢迎回来`, 3)
|
|
85
|
+
}
|
|
86
|
+
function afterLogin (res, options) {
|
|
87
|
+
const { name, password, store, router, pathname } = options
|
|
88
|
+
const setting = store.state.setting
|
|
89
|
+
const loginRes = res.states
|
|
90
|
+
if (loginRes === '登录成功') {
|
|
91
|
+
const encrypt = new JSEncrypt()
|
|
92
|
+
encrypt.setPublicKey(
|
|
93
|
+
'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB'
|
|
94
|
+
)
|
|
95
|
+
const data = encrypt.encrypt(
|
|
96
|
+
JSON.stringify({ username: name, password: password })
|
|
97
|
+
)
|
|
98
|
+
// 获取路由配置
|
|
99
|
+
getRoutesConfig(data, setting.routeName)
|
|
100
|
+
.then((result) => {
|
|
101
|
+
Vue.$login
|
|
102
|
+
.login(result)
|
|
103
|
+
.then(() => {
|
|
104
|
+
// V3任何情况首位加入资源管理
|
|
105
|
+
const resourceManageMain = {
|
|
106
|
+
name: '资源管理',
|
|
107
|
+
icon: 'api',
|
|
108
|
+
position: 1,
|
|
109
|
+
link: 'resourceManageMain',
|
|
110
|
+
}
|
|
111
|
+
result.functions.unshift(resourceManageMain)
|
|
112
|
+
afterGeneral(result, options)
|
|
113
|
+
setAccessToken(data)
|
|
114
|
+
if (result.deps === '用户工单登记') {
|
|
115
|
+
router.push(setting.ticketPage).catch(() => {
|
|
116
|
+
})
|
|
117
|
+
} else {
|
|
118
|
+
console.log('去往的页面', pathname)
|
|
119
|
+
router.push(pathname).catch(() => {
|
|
120
|
+
})
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
.finally(() => {
|
|
124
|
+
})
|
|
125
|
+
})
|
|
126
|
+
.catch((res) => {
|
|
127
|
+
})
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export function startLogin (options) {
|
|
131
|
+
const { name, password, store } = options
|
|
132
|
+
const setting = store.state.setting
|
|
133
|
+
switch (setting.compatible) {
|
|
134
|
+
case 'V2':
|
|
135
|
+
case 'V3': {
|
|
136
|
+
login(name, password)
|
|
137
|
+
.then((res) => {
|
|
138
|
+
afterLogin(res, options)
|
|
139
|
+
})
|
|
140
|
+
.catch((msg) => {})
|
|
141
|
+
break
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
@@ -1,78 +1,112 @@
|
|
|
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
|
-
mixinComponentId: {
|
|
8
|
-
type: String,
|
|
9
|
-
required: false,
|
|
10
|
-
default: uuid()
|
|
11
|
-
},
|
|
12
|
-
propsData: {
|
|
13
|
-
type: Object,
|
|
14
|
-
default: () => {}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
+
mixinComponentId: {
|
|
8
|
+
type: String,
|
|
9
|
+
required: false,
|
|
10
|
+
default: uuid()
|
|
11
|
+
},
|
|
12
|
+
propsData: {
|
|
13
|
+
type: Object,
|
|
14
|
+
default: () => {}
|
|
15
|
+
},
|
|
16
|
+
lifeCycleFunction: {
|
|
17
|
+
type: Array,
|
|
18
|
+
default: undefined
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
data () {
|
|
22
|
+
return {
|
|
23
|
+
dataForLowCode: {}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
methods: {
|
|
27
|
+
// 处理目标为本组件的通信
|
|
28
|
+
handleComponentCommunication (actionType, data, targetKey = undefined, eventOriginalVM = undefined) {
|
|
29
|
+
lowcodeLog(
|
|
30
|
+
` 事件数据:${data},\n 目标key:${targetKey}`,
|
|
31
|
+
'响应组件接收到事件',
|
|
32
|
+
actionType,
|
|
33
|
+
false,
|
|
34
|
+
true
|
|
35
|
+
)
|
|
36
|
+
switch (actionType) {
|
|
37
|
+
case 'changeValue':
|
|
38
|
+
this.handleComponentChangeValue(data, targetKey)
|
|
39
|
+
break
|
|
40
|
+
case 'log':
|
|
41
|
+
this.handleComponentLog(data)
|
|
42
|
+
break
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
handleComponentLog (data) {
|
|
46
|
+
console.warn('vm', this)
|
|
47
|
+
console.warn('data', data)
|
|
48
|
+
},
|
|
49
|
+
handleComponentChangeValue (data, targetKey = undefined) {
|
|
50
|
+
if (targetKey) {
|
|
51
|
+
this[targetKey] = data
|
|
52
|
+
return
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const keys = Object.keys(data)
|
|
56
|
+
keys.forEach(key => {
|
|
57
|
+
this[key] = data[key]
|
|
58
|
+
})
|
|
59
|
+
},
|
|
60
|
+
// 处理本组件发出的事件
|
|
61
|
+
$lowCodeEmit (eventType, data) {
|
|
62
|
+
// emit的时候大概率需要传递给外层一个值,所以将其保存后再emit
|
|
63
|
+
this.dataForLowCode[eventType] = data
|
|
64
|
+
if (this.mixinComponentId) {
|
|
65
|
+
this.$emit('onEvent', data, eventType, this.mixinComponentId)
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
// 保存值到变量中供低代码平台调用
|
|
69
|
+
$lowCodeSetData (key, value) {
|
|
70
|
+
this.dataForLowCode[key] = value
|
|
71
|
+
},
|
|
72
|
+
resolveLifeCycleFunctionAndRun (lifeCycleName) {
|
|
73
|
+
if (this.lifeCycleFunction && this.lifeCycleFunction.length > 0) {
|
|
74
|
+
this.lifeCycleFunction.forEach(param => {
|
|
75
|
+
if (param.lifeCycleName === lifeCycleName) {
|
|
76
|
+
// eslint-disable-next-line no-eval
|
|
77
|
+
const receivedFunction = eval('(' + param.functionStr + ')')
|
|
78
|
+
receivedFunction(this)
|
|
79
|
+
}
|
|
80
|
+
})
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
created () {
|
|
85
|
+
this.resolveLifeCycleFunctionAndRun('created')
|
|
86
|
+
},
|
|
87
|
+
beforeMount () {
|
|
88
|
+
this.resolveLifeCycleFunctionAndRun('beforeMount')
|
|
89
|
+
},
|
|
90
|
+
mounted () {
|
|
91
|
+
this.resolveLifeCycleFunctionAndRun('mounted')
|
|
92
|
+
if (this.mixinComponentId) {
|
|
93
|
+
this.$emit('componentDidMounted', this, this.mixinComponentId)
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
beforeUpdate () {
|
|
97
|
+
this.resolveLifeCycleFunctionAndRun('beforeUpdate')
|
|
98
|
+
},
|
|
99
|
+
updated () {
|
|
100
|
+
this.resolveLifeCycleFunctionAndRun('updated')
|
|
101
|
+
},
|
|
102
|
+
beforeDestroy () {
|
|
103
|
+
this.resolveLifeCycleFunctionAndRun('beforeDestroy')
|
|
104
|
+
},
|
|
105
|
+
destroyed () {
|
|
106
|
+
this.resolveLifeCycleFunctionAndRun('destroyed')
|
|
107
|
+
},
|
|
108
|
+
supportedEventType: [
|
|
109
|
+
'changeValue',
|
|
110
|
+
'log'
|
|
111
|
+
],
|
|
112
|
+
}
|
|
@@ -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
|
+
}
|