vue2-client 1.11.6 → 1.12.1

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 (57) hide show
  1. package/.babelrc +3 -0
  2. package/babel.config.js +18 -21
  3. package/jest.config.js +22 -21
  4. package/package.json +5 -4
  5. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
  6. package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
  7. package/src/base-client/components/common/XFormGroup/demo.vue +39 -39
  8. package/src/expression/ExpressionRunner.js +26 -0
  9. package/src/expression/TestExpression.js +509 -0
  10. package/src/expression/core/Delegate.js +115 -0
  11. package/src/expression/core/Expression.js +1358 -0
  12. package/src/expression/core/Program.js +932 -0
  13. package/src/expression/core/Token.js +27 -0
  14. package/src/expression/enums/ExpressionType.js +81 -0
  15. package/src/expression/enums/TokenType.js +11 -0
  16. package/src/expression/exception/ExpressionException.js +28 -0
  17. package/src/expression/exception/ReturnWayException.js +14 -0
  18. package/src/expression/exception/ServiceException.js +22 -0
  19. package/src/expression/instances/LogicConsole.js +44 -0
  20. package/src/expression/{core → ts/core}/Expression.ts +17 -3
  21. package/src/expression/ts/exception/BreakWayException.ts +2 -0
  22. package/src/expression/ts/exception/ContinueWayException.ts +2 -0
  23. package/src/logic/LogicRunner.js +62 -0
  24. package/src/logic/TestLogic.js +13 -0
  25. package/src/logic/plugins/common/DateTools.js +32 -0
  26. package/src/logic/plugins/index.js +5 -0
  27. package/src/logic/ts/LogicRunner.ts +67 -0
  28. package/src/logic/ts/TestLogic.ts +13 -0
  29. package/src/pages/LogicCallExample/index.vue +36 -0
  30. package/src/router/async/router.map.js +1 -0
  31. package/src/services/apiService.js +2 -1
  32. package/src/services/user.js +92 -90
  33. package/src/store/mutation-types.js +1 -0
  34. package/src/utils/EncryptUtil.js +23 -0
  35. package/src/utils/request.js +381 -362
  36. package/test/Amis.spec.js +1 -0
  37. package/test/Tree.spec.js +1 -0
  38. package/test/myDialog.spec.js +1 -0
  39. package/test/request.test.js +17 -0
  40. package/test/util.test.js +1 -0
  41. package/test/v3Api.test.js +2 -1
  42. package/tests/unit/ReportTable.spec.js +1 -0
  43. /package/src/expression/exception/{BreakWayException.ts → BreakWayException.js} +0 -0
  44. /package/src/expression/exception/{ContinueWayException.ts → ContinueWayException.js} +0 -0
  45. /package/src/expression/{ExpressionRunner.ts → ts/ExpressionRunner.ts} +0 -0
  46. /package/src/expression/{TestExpression.ts → ts/TestExpression.ts} +0 -0
  47. /package/src/expression/{core → ts/core}/Delegate.ts +0 -0
  48. /package/src/expression/{core → ts/core}/Program.ts +0 -0
  49. /package/src/expression/{core → ts/core}/Token.ts +0 -0
  50. /package/src/expression/{enums → ts/enums}/ExpressionType.ts +0 -0
  51. /package/src/expression/{enums → ts/enums}/TokenType.ts +0 -0
  52. /package/src/expression/{exception → ts/exception}/ExpressionException.ts +0 -0
  53. /package/src/expression/{exception → ts/exception}/ReturnWayException.ts +0 -0
  54. /package/src/expression/{exception → ts/exception}/ServiceException.ts +0 -0
  55. /package/src/expression/{instances → ts/instances}/JSONArray.ts +0 -0
  56. /package/src/expression/{instances → ts/instances}/JSONObject.ts +0 -0
  57. /package/src/expression/{instances → ts/instances}/LogicConsole.ts +0 -0
@@ -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
- * @param name 账户名
16
- * @param password 账户密码
17
- * @returns {Promise<AxiosResponse<T>>}
18
- */
19
- export async function login (name, password) {
20
- let data = {
21
- name: name,
22
- password: password
23
- }
24
- data = '$' + EncryptUtil.RSAEncrypt(JSON.stringify(data))
25
- return request(LOGIN, METHOD.POST, data)
26
- }
27
-
28
- export async function modifyPassword (name, password, newPassword) {
29
- return request(MODIFY_PASSWORD, METHOD.POST, {
30
- data: {
31
- ename: name,
32
- password: password,
33
- newpassword: newPassword,
34
- affirmpassword: newPassword
35
- }
36
- })
37
- }
38
-
39
- export async function V4Login (name, password, routeName) {
40
- return request(V4_LOGIN, METHOD.POST, {
41
- username: name,
42
- password: password,
43
- resourceName: routeName
44
- })
45
- }
46
-
47
- export async function V4RefreshToken () {
48
- const { AESDecrypt } = EncryptUtil
49
- const info = AESDecrypt(localStorage.getItem('SinglePage_TOKEN'), '3KMKqvgwR8ULbR8Z')
50
- return axios.post(V4_LOGIN, {
51
- username: info.name,
52
- password: info.password,
53
- resourceName: '智慧燃气'
54
- })
55
- }
56
-
57
- export async function V4GetInfo () {
58
- return request(V4_GET_INFO, METHOD.POST, {})
59
- }
60
-
61
- export async function getRoutesConfig (value, routeName = '智慧燃气') {
62
- return request(ROUTES + '/' + routeName, METHOD.POST, value)
63
- }
64
-
65
- /**
66
- * 退出登录
67
- */
68
- export function logout () {
69
- if (window.__MICRO_APP_ENVIRONMENT__) {
70
- window.microApp.dispatch({ type: 'logout' })
71
- }
72
- return new Promise((resolve, reject) => {
73
- request(V4_LOGOUT, METHOD.DELETE, {}).then(() => {
74
- resolve()
75
- }).catch(error => {
76
- reject(error)
77
- }).finally(() => {
78
- localStorage.removeItem(process.env.VUE_APP_ROUTES_KEY)
79
- localStorage.removeItem(process.env.VUE_APP_PERMISSIONS_KEY)
80
- localStorage.removeItem(process.env.VUE_APP_ROLES_KEY)
81
- removeAuthorization()
82
- })
83
- })
84
- }
85
- export default {
86
- login,
87
- logout,
88
- getRoutesConfig,
89
- V4RefreshToken
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
+ }
@@ -1,3 +1,4 @@
1
1
  export const ACCESS_TOKEN = 'Access-Token'
2
2
  export const V4_ACCESS_TOKEN = 'Authorization'
3
3
  export const SYSTEM_VERSION = 'systemVersion'
4
+ export const V4_SESSION_KEY = 'v4-session-key'
@@ -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
  }