vue2-client 1.11.6 → 1.12.2
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/.babelrc +3 -0
- package/babel.config.js +18 -21
- package/jest.config.js +22 -21
- package/package.json +5 -4
- package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
- package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
- package/src/base-client/components/common/XFormGroup/demo.vue +39 -39
- package/src/expression/ExpressionRunner.js +26 -0
- package/src/expression/TestExpression.js +509 -0
- package/src/expression/core/Delegate.js +115 -0
- package/src/expression/core/Expression.js +1358 -0
- package/src/expression/core/Program.js +932 -0
- package/src/expression/core/Token.js +27 -0
- package/src/expression/enums/ExpressionType.js +81 -0
- package/src/expression/enums/TokenType.js +11 -0
- package/src/expression/exception/ExpressionException.js +28 -0
- package/src/expression/exception/ReturnWayException.js +14 -0
- package/src/expression/exception/ServiceException.js +22 -0
- package/src/expression/instances/LogicConsole.js +44 -0
- package/src/expression/{core → ts/core}/Expression.ts +17 -3
- package/src/expression/ts/exception/BreakWayException.ts +2 -0
- package/src/expression/ts/exception/ContinueWayException.ts +2 -0
- package/src/layouts/BlankView.vue +4 -2
- package/src/logic/LogicRunner.js +62 -0
- package/src/logic/TestLogic.js +13 -0
- package/src/logic/plugins/common/DateTools.js +32 -0
- package/src/logic/plugins/index.js +5 -0
- package/src/logic/ts/LogicRunner.ts +67 -0
- package/src/logic/ts/TestLogic.ts +13 -0
- package/src/pages/LogicCallExample/index.vue +36 -0
- package/src/router/async/router.map.js +1 -0
- package/src/services/apiService.js +2 -1
- package/src/services/user.js +92 -90
- package/src/store/mutation-types.js +1 -0
- package/src/utils/EncryptUtil.js +23 -0
- package/src/utils/request.js +381 -362
- package/test/Amis.spec.js +1 -0
- package/test/Tree.spec.js +1 -0
- package/test/myDialog.spec.js +1 -0
- package/test/request.test.js +17 -0
- package/test/util.test.js +1 -0
- package/test/v3Api.test.js +2 -1
- package/tests/unit/ReportTable.spec.js +1 -0
- /package/src/expression/exception/{BreakWayException.ts → BreakWayException.js} +0 -0
- /package/src/expression/exception/{ContinueWayException.ts → ContinueWayException.js} +0 -0
- /package/src/expression/{ExpressionRunner.ts → ts/ExpressionRunner.ts} +0 -0
- /package/src/expression/{TestExpression.ts → ts/TestExpression.ts} +0 -0
- /package/src/expression/{core → ts/core}/Delegate.ts +0 -0
- /package/src/expression/{core → ts/core}/Program.ts +0 -0
- /package/src/expression/{core → ts/core}/Token.ts +0 -0
- /package/src/expression/{enums → ts/enums}/ExpressionType.ts +0 -0
- /package/src/expression/{enums → ts/enums}/TokenType.ts +0 -0
- /package/src/expression/{exception → ts/exception}/ExpressionException.ts +0 -0
- /package/src/expression/{exception → ts/exception}/ReturnWayException.ts +0 -0
- /package/src/expression/{exception → ts/exception}/ServiceException.ts +0 -0
- /package/src/expression/{instances → ts/instances}/JSONArray.ts +0 -0
- /package/src/expression/{instances → ts/instances}/JSONObject.ts +0 -0
- /package/src/expression/{instances → ts/instances}/LogicConsole.ts +0 -0
package/src/services/user.js
CHANGED
|
@@ -1,90 +1,92 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LOGIN,
|
|
3
|
-
MODIFY_PASSWORD,
|
|
4
|
-
ROUTES,
|
|
5
|
-
V4_GET_INFO,
|
|
6
|
-
V4_LOGIN,
|
|
7
|
-
V4_LOGOUT
|
|
8
|
-
} from '@vue2-client/services/apiService'
|
|
9
|
-
import { request, METHOD, removeAuthorization } from '@vue2-client/utils/request'
|
|
10
|
-
import EncryptUtil from '@vue2-client/utils/EncryptUtil'
|
|
11
|
-
import axios from 'axios'
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*
|
|
16
|
-
* @param
|
|
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
|
-
const
|
|
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
|
-
|
|
79
|
-
localStorage.removeItem(process.env.
|
|
80
|
-
localStorage.removeItem(process.env.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
1
|
+
import {
|
|
2
|
+
LOGIN,
|
|
3
|
+
MODIFY_PASSWORD,
|
|
4
|
+
ROUTES,
|
|
5
|
+
V4_GET_INFO,
|
|
6
|
+
V4_LOGIN,
|
|
7
|
+
V4_LOGOUT
|
|
8
|
+
} from '@vue2-client/services/apiService'
|
|
9
|
+
import { request, METHOD, removeAuthorization } from '@vue2-client/utils/request'
|
|
10
|
+
import EncryptUtil from '@vue2-client/utils/EncryptUtil'
|
|
11
|
+
import axios from 'axios'
|
|
12
|
+
import { V4_SESSION_KEY } from '@vue2-client/store/mutation-types'
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 登录服务
|
|
16
|
+
* @param name 账户名
|
|
17
|
+
* @param password 账户密码
|
|
18
|
+
* @returns {Promise<AxiosResponse<T>>}
|
|
19
|
+
*/
|
|
20
|
+
export async function login (name, password) {
|
|
21
|
+
let data = {
|
|
22
|
+
name: name,
|
|
23
|
+
password: password
|
|
24
|
+
}
|
|
25
|
+
data = '$' + EncryptUtil.RSAEncrypt(JSON.stringify(data))
|
|
26
|
+
return request(LOGIN, METHOD.POST, data)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export async function modifyPassword (name, password, newPassword) {
|
|
30
|
+
return request(MODIFY_PASSWORD, METHOD.POST, {
|
|
31
|
+
data: {
|
|
32
|
+
ename: name,
|
|
33
|
+
password: password,
|
|
34
|
+
newpassword: newPassword,
|
|
35
|
+
affirmpassword: newPassword
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export async function V4Login (name, password, routeName) {
|
|
41
|
+
return request(V4_LOGIN, METHOD.POST, {
|
|
42
|
+
username: name,
|
|
43
|
+
password: password,
|
|
44
|
+
resourceName: routeName
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export async function V4RefreshToken () {
|
|
49
|
+
const { AESDecrypt } = EncryptUtil
|
|
50
|
+
const info = AESDecrypt(localStorage.getItem('SinglePage_TOKEN'), '3KMKqvgwR8ULbR8Z')
|
|
51
|
+
return axios.post(V4_LOGIN, {
|
|
52
|
+
username: info.name,
|
|
53
|
+
password: info.password,
|
|
54
|
+
resourceName: '智慧燃气'
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export async function V4GetInfo () {
|
|
59
|
+
return request(V4_GET_INFO, METHOD.POST, {})
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export async function getRoutesConfig (value, routeName = '智慧燃气') {
|
|
63
|
+
return request(ROUTES + '/' + routeName, METHOD.POST, value)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 退出登录
|
|
68
|
+
*/
|
|
69
|
+
export function logout () {
|
|
70
|
+
if (window.__MICRO_APP_ENVIRONMENT__) {
|
|
71
|
+
window.microApp.dispatch({ type: 'logout' })
|
|
72
|
+
}
|
|
73
|
+
return new Promise((resolve, reject) => {
|
|
74
|
+
request(V4_LOGOUT, METHOD.DELETE, {}).then(() => {
|
|
75
|
+
resolve()
|
|
76
|
+
}).catch(error => {
|
|
77
|
+
reject(error)
|
|
78
|
+
}).finally(() => {
|
|
79
|
+
localStorage.removeItem(process.env.VUE_APP_ROUTES_KEY)
|
|
80
|
+
localStorage.removeItem(process.env.VUE_APP_PERMISSIONS_KEY)
|
|
81
|
+
localStorage.removeItem(process.env.VUE_APP_ROLES_KEY)
|
|
82
|
+
localStorage.removeItem(V4_SESSION_KEY)
|
|
83
|
+
removeAuthorization()
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
}
|
|
87
|
+
export default {
|
|
88
|
+
login,
|
|
89
|
+
logout,
|
|
90
|
+
getRoutesConfig,
|
|
91
|
+
V4RefreshToken
|
|
92
|
+
}
|
package/src/utils/EncryptUtil.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AesEncryptJS from 'crypto-js'
|
|
2
|
+
import CryptoJS from 'crypto-js'
|
|
2
3
|
import RsaEncryptJS from 'jsencrypt'
|
|
3
4
|
|
|
4
5
|
export default {
|
|
@@ -50,4 +51,26 @@ export default {
|
|
|
50
51
|
const resdata = encrypt.decrypt(word)
|
|
51
52
|
return JSON.parse(resdata.toString())
|
|
52
53
|
},
|
|
54
|
+
|
|
55
|
+
AESEncryptCBC (data, CRYPTO_KEY) {
|
|
56
|
+
// 生成随机IV(每次加密不同)
|
|
57
|
+
const iv = CryptoJS.lib.WordArray.random(16)
|
|
58
|
+
|
|
59
|
+
// 使用 AES CBC 模式进行加密
|
|
60
|
+
const encrypted = CryptoJS.AES.encrypt(
|
|
61
|
+
JSON.stringify(data),
|
|
62
|
+
CryptoJS.enc.Hex.parse(CRYPTO_KEY),
|
|
63
|
+
{
|
|
64
|
+
iv: iv, // IV
|
|
65
|
+
mode: CryptoJS.mode.CBC,
|
|
66
|
+
padding: CryptoJS.pad.Pkcs7
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
// 组合IV和密文,分别Base64编码:IV(base64) + : + 密文(base64)
|
|
71
|
+
const ivBase64 = iv.toString(CryptoJS.enc.Base64)
|
|
72
|
+
const encryptedBase64 = encrypted.toString()
|
|
73
|
+
|
|
74
|
+
return `${ivBase64}:${encryptedBase64}`
|
|
75
|
+
}
|
|
53
76
|
}
|