vue2-client 1.22.39 → 1.22.42

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 (100) hide show
  1. package/.claude/settings.local.json +30 -30
  2. package/.eslintrc.js +74 -74
  3. package/.idea/MarsCodeWorkspaceAppSettings.xml +1 -1
  4. package/.idea/google-java-format.xml +6 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +18 -0
  6. package/.idea/jsLinters/eslint.xml +6 -0
  7. package/.idea/modules.xml +1 -1
  8. package/.idea/vue2-client.iml +12 -0
  9. package/.vscode/settings.json +28 -0
  10. package/Components.md +60 -60
  11. package/index.js +31 -31
  12. package/jest-transform-stub.js +8 -8
  13. package/jest.setup.js +7 -7
  14. package/package.json +1 -1
  15. package/src/assets/img/querySlotDemo.svg +15 -15
  16. package/src/assets/svg/unknown-icon.svg +3 -3
  17. package/src/base-client/components/common/AfMap/InfoWindowComponent.vue +141 -141
  18. package/src/base-client/components/common/AfMap/demo.vue +492 -492
  19. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  20. package/src/base-client/components/common/CitySelect/index.js +3 -3
  21. package/src/base-client/components/common/CitySelect/index.md +109 -109
  22. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  23. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  24. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  25. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  26. package/src/base-client/components/common/Tree/index.js +2 -2
  27. package/src/base-client/components/common/Upload/index.js +3 -3
  28. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  29. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  30. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  31. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  32. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  33. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  34. package/src/base-client/components/common/XDescriptions/index.md +382 -382
  35. package/src/base-client/components/common/XForm/index.md +178 -178
  36. package/src/base-client/components/common/XInspectionDetailDrawer/components/DeviceStatus.vue +1 -1
  37. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  38. package/src/base-client/components/common/XStepView/index.js +3 -3
  39. package/src/base-client/components/common/XStepView/index.md +31 -31
  40. package/src/base-client/components/common/XTable/index.md +255 -255
  41. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  42. package/src/base-client/plugins/Config.js +19 -19
  43. package/src/base-client/plugins/GetLoginInfoService.js +1 -1
  44. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  45. package/src/components/Charts/Bar.vue +62 -62
  46. package/src/components/Charts/ChartCard.vue +134 -134
  47. package/src/components/Charts/Liquid.vue +67 -67
  48. package/src/components/Charts/MiniArea.vue +39 -39
  49. package/src/components/Charts/MiniBar.vue +39 -39
  50. package/src/components/Charts/MiniProgress.vue +75 -75
  51. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  52. package/src/components/Charts/Radar.vue +68 -68
  53. package/src/components/Charts/RankList.vue +77 -77
  54. package/src/components/Charts/TagCloud.vue +113 -113
  55. package/src/components/Charts/TransferBar.vue +64 -64
  56. package/src/components/Charts/Trend.vue +82 -82
  57. package/src/components/Charts/chart.less +12 -12
  58. package/src/components/Charts/smooth.area.less +13 -13
  59. package/src/components/ImagePreview/ImagePreview.vue +323 -323
  60. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  61. package/src/components/NumberInfo/index.js +3 -3
  62. package/src/components/NumberInfo/index.less +54 -54
  63. package/src/components/NumberInfo/index.md +43 -43
  64. package/src/components/STable/index.js +953 -953
  65. package/src/components/card/ChartCard.vue +79 -79
  66. package/src/components/chart/Bar.vue +60 -60
  67. package/src/components/chart/MiniArea.vue +67 -67
  68. package/src/components/chart/MiniBar.vue +59 -59
  69. package/src/components/chart/MiniProgress.vue +57 -57
  70. package/src/components/chart/Radar.vue +80 -80
  71. package/src/components/chart/RankingList.vue +60 -60
  72. package/src/components/chart/Trend.vue +79 -79
  73. package/src/components/chart/index.less +9 -9
  74. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  75. package/src/components/input/IInput.vue +66 -66
  76. package/src/components/menu/SideMenu.vue +75 -75
  77. package/src/components/menu/menu.js +273 -273
  78. package/src/components/tool/AStepItem.vue +60 -60
  79. package/src/config/default/setting.config.js +1 -1
  80. package/src/layouts/CommonLayout.vue +56 -56
  81. package/src/lib.js +1 -1
  82. package/src/mock/extend/index.js +84 -84
  83. package/src/mock/goods/index.js +108 -108
  84. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  85. package/src/pages/system/dictionary/index.vue +44 -44
  86. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  87. package/src/pages/system/monitor/operLog/index.vue +37 -37
  88. package/src/services/api/cas.js +79 -79
  89. package/src/store/modules/setting.js +119 -119
  90. package/src/utils/EncryptUtil.js +7 -2
  91. package/src/utils/errorCode.js +6 -6
  92. package/src/utils/login.js +7 -2
  93. package/src/utils/request.js +2 -2
  94. package/vue.config.js +7 -1
  95. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  96. package/.idea/af-vue2-client.iml +0 -9
  97. package/.idea/deployment.xml +0 -14
  98. package/.idea/encodings.xml +0 -6
  99. package/.idea/gradle.xml +0 -7
  100. package/.idea/misc.xml +0 -6
@@ -1,79 +1,79 @@
1
- import { post } from '@vue2-client/services/api/restTools'
2
- import notification from 'ant-design-vue/lib/notification'
3
- import { logout } from '@vue2-client/services/user'
4
- import Cookie from 'js-cookie'
5
-
6
- const casApi = {
7
- // 根据用户信息校验服务访问权限并生成ST
8
- createSTByUserInfo: '/api/af-sso/logic/createSTByUserInfo',
9
- // 根据TGC生成ST
10
- createSTByTGC: '/api/af-sso/logic/createSTByTGC',
11
- // 验证ST
12
- serviceValidate: '/api/af-sso/logic/openapi/serviceValidate',
13
- // 其他验证
14
- otherValidate: '/api/af-sso/logic'
15
- }
16
-
17
- function setTGTCookie (cookie) {
18
- return Cookie.set('TGT-Cookie', cookie)
19
- }
20
- function removeTGTCookie () {
21
- return Cookie.remove('TGT-Cookie')
22
- }
23
- export function getTGTCookie () {
24
- return Cookie.get('TGT-Cookie')
25
- }
26
-
27
- export function CASLoginByAuth (serviceKey) {
28
- return new Promise((resolve, reject) => {
29
- post(casApi.createSTByUserInfo, {
30
- serviceKey: serviceKey
31
- }).then(res => {
32
- setTGTCookie(res.tgc)
33
- resolve(res)
34
- }).catch(msg => {
35
- reject(msg)
36
- })
37
- })
38
- }
39
-
40
- export function CASLogin (serviceKey, inner) {
41
- // 从第三方跳转登录
42
- const tgc = getTGTCookie()
43
- if (tgc && !inner) {
44
- return new Promise((resolve, reject) => {
45
- post(casApi.createSTByTGC, {
46
- serviceKey: serviceKey,
47
- tgc: tgc
48
- }).then(res => {
49
- resolve(res)
50
- }).catch(msg => {
51
- if (msg === '当前操作没有权限') {
52
- removeTGTCookie()
53
- notification.error({
54
- message: '授权已过期,请重新登录',
55
- description: '2秒后自动跳转回登陆页面'
56
- })
57
- logout().then(() => {
58
- setTimeout(() => {
59
- window.location.href = '/login?serviceKey=' + serviceKey
60
- }, 1500)
61
- })
62
- } else {
63
- reject(msg)
64
- }
65
- })
66
- })
67
- } else {
68
- return CASLoginByAuth(serviceKey)
69
- }
70
- }
71
-
72
- export function doOtherValidate (logicName, st, serviceKey) {
73
- return post(casApi.otherValidate + '/' + logicName, {
74
- st: st,
75
- serviceKey: serviceKey
76
- }, null)
77
- }
78
-
79
- export default casApi
1
+ import { post } from '@vue2-client/services/api/restTools'
2
+ import notification from 'ant-design-vue/lib/notification'
3
+ import { logout } from '@vue2-client/services/user'
4
+ import Cookie from 'js-cookie'
5
+
6
+ const casApi = {
7
+ // 根据用户信息校验服务访问权限并生成ST
8
+ createSTByUserInfo: '/api/af-sso/logic/createSTByUserInfo',
9
+ // 根据TGC生成ST
10
+ createSTByTGC: '/api/af-sso/logic/createSTByTGC',
11
+ // 验证ST
12
+ serviceValidate: '/api/af-sso/logic/openapi/serviceValidate',
13
+ // 其他验证
14
+ otherValidate: '/api/af-sso/logic'
15
+ }
16
+
17
+ function setTGTCookie (cookie) {
18
+ return Cookie.set('TGT-Cookie', cookie)
19
+ }
20
+ function removeTGTCookie () {
21
+ return Cookie.remove('TGT-Cookie')
22
+ }
23
+ export function getTGTCookie () {
24
+ return Cookie.get('TGT-Cookie')
25
+ }
26
+
27
+ export function CASLoginByAuth (serviceKey) {
28
+ return new Promise((resolve, reject) => {
29
+ post(casApi.createSTByUserInfo, {
30
+ serviceKey: serviceKey
31
+ }).then(res => {
32
+ setTGTCookie(res.tgc)
33
+ resolve(res)
34
+ }).catch(msg => {
35
+ reject(msg)
36
+ })
37
+ })
38
+ }
39
+
40
+ export function CASLogin (serviceKey, inner) {
41
+ // 从第三方跳转登录
42
+ const tgc = getTGTCookie()
43
+ if (tgc && !inner) {
44
+ return new Promise((resolve, reject) => {
45
+ post(casApi.createSTByTGC, {
46
+ serviceKey: serviceKey,
47
+ tgc: tgc
48
+ }).then(res => {
49
+ resolve(res)
50
+ }).catch(msg => {
51
+ if (msg === '当前操作没有权限') {
52
+ removeTGTCookie()
53
+ notification.error({
54
+ message: '授权已过期,请重新登录',
55
+ description: '2秒后自动跳转回登陆页面'
56
+ })
57
+ logout().then(() => {
58
+ setTimeout(() => {
59
+ window.location.href = '/login?serviceKey=' + serviceKey
60
+ }, 1500)
61
+ })
62
+ } else {
63
+ reject(msg)
64
+ }
65
+ })
66
+ })
67
+ } else {
68
+ return CASLoginByAuth(serviceKey)
69
+ }
70
+ }
71
+
72
+ export function doOtherValidate (logicName, st, serviceKey) {
73
+ return post(casApi.otherValidate + '/' + logicName, {
74
+ st: st,
75
+ serviceKey: serviceKey
76
+ }, null)
77
+ }
78
+
79
+ export default casApi
@@ -1,119 +1,119 @@
1
- import config from '@vue2-client/config'
2
- import { ADMIN } from '@vue2-client/config/default'
3
- import { formatFullPath } from '@vue2-client/utils/i18n'
4
- import { filterMenu } from '@vue2-client/utils/authority-utils'
5
- import { getLocalSetting } from '@vue2-client/utils/themeUtil'
6
- import deepClone from 'lodash.clonedeep'
7
-
8
- const localSetting = getLocalSetting(true)
9
- const customTitlesStr = sessionStorage.getItem(process.env.VUE_APP_TBAS_TITLES_KEY)
10
- const customTitles = (customTitlesStr && JSON.parse(customTitlesStr)) || []
11
-
12
- export default {
13
- namespaced: true,
14
- state: {
15
- isMobile: false,
16
- animates: ADMIN.animates,
17
- palettes: ADMIN.palettes,
18
- pageMinHeight: 0,
19
- menuData: [],
20
- activatedFirst: undefined,
21
- customTitles,
22
- ...config,
23
- ...localSetting
24
- },
25
- getters: {
26
- menuData (state, getters, rootState) {
27
- if (state.filterMenu) {
28
- const { permissions, roles } = rootState.account
29
- return filterMenu(deepClone(state.menuData), permissions, roles)
30
- }
31
- return state.menuData
32
- },
33
- firstMenu (state, getters) {
34
- const { menuData } = getters
35
- if (menuData.length > 0 && !menuData[0].fullPath) {
36
- formatFullPath(menuData)
37
- }
38
- return menuData.map(item => {
39
- const menuItem = { ...item }
40
- delete menuItem.children
41
- return menuItem
42
- })
43
- },
44
- subMenu (state) {
45
- const { menuData, activatedFirst } = state
46
- if (menuData.length > 0 && !menuData[0].fullPath) {
47
- formatFullPath(menuData)
48
- }
49
- const current = menuData.find(menu => menu.fullPath === activatedFirst)
50
- return current && current.children || []
51
- }
52
- },
53
- mutations: {
54
- setDevice (state, isMobile) {
55
- state.isMobile = isMobile
56
- },
57
- setTheme (state, theme) {
58
- state.theme = theme
59
- },
60
- setLayout (state, layout) {
61
- state.layout = layout
62
- },
63
- setMultiPage (state, multiPage) {
64
- state.multiPage = multiPage
65
- },
66
- setAnimate (state, animate) {
67
- state.animate = animate
68
- },
69
- setWeekMode (state, weekMode) {
70
- state.weekMode = weekMode
71
- },
72
- setFixedHeader (state, fixedHeader) {
73
- state.fixedHeader = fixedHeader
74
- },
75
- setFixedSideBar (state, fixedSideBar) {
76
- state.fixedSideBar = fixedSideBar
77
- },
78
- setLang (state, lang) {
79
- state.lang = lang
80
- },
81
- setHideSetting (state, hideSetting) {
82
- state.hideSetting = hideSetting
83
- },
84
- correctPageMinHeight (state, minHeight) {
85
- state.pageMinHeight += minHeight
86
- },
87
- setMenuData (state, menuData) {
88
- state.menuData = menuData
89
- },
90
- setAsyncRoutes (state, asyncRoutes) {
91
- state.asyncRoutes = asyncRoutes
92
- },
93
- setPageWidth (state, pageWidth) {
94
- state.pageWidth = pageWidth
95
- },
96
- setActivatedFirst (state, activatedFirst) {
97
- state.activatedFirst = activatedFirst
98
- },
99
- setFixedTabs (state, fixedTabs) {
100
- state.fixedTabs = fixedTabs
101
- },
102
- setCustomTitle (state, { path, title }) {
103
- if (title) {
104
- const obj = state.customTitles.find(item => item.path === path)
105
- if (obj) {
106
- obj.title = title
107
- } else {
108
- state.customTitles.push({ path, title })
109
- }
110
- sessionStorage.setItem(process.env.VUE_APP_TBAS_TITLES_KEY, JSON.stringify(state.customTitles))
111
- }
112
- },
113
- setSetting (state, setting) {
114
- for (const key in setting) {
115
- state[key] = setting[key]
116
- }
117
- }
118
- }
119
- }
1
+ import config from '@vue2-client/config'
2
+ import { ADMIN } from '@vue2-client/config/default'
3
+ import { formatFullPath } from '@vue2-client/utils/i18n'
4
+ import { filterMenu } from '@vue2-client/utils/authority-utils'
5
+ import { getLocalSetting } from '@vue2-client/utils/themeUtil'
6
+ import deepClone from 'lodash.clonedeep'
7
+
8
+ const localSetting = getLocalSetting(true)
9
+ const customTitlesStr = sessionStorage.getItem(process.env.VUE_APP_TBAS_TITLES_KEY)
10
+ const customTitles = (customTitlesStr && JSON.parse(customTitlesStr)) || []
11
+
12
+ export default {
13
+ namespaced: true,
14
+ state: {
15
+ isMobile: false,
16
+ animates: ADMIN.animates,
17
+ palettes: ADMIN.palettes,
18
+ pageMinHeight: 0,
19
+ menuData: [],
20
+ activatedFirst: undefined,
21
+ customTitles,
22
+ ...config,
23
+ ...localSetting
24
+ },
25
+ getters: {
26
+ menuData (state, getters, rootState) {
27
+ if (state.filterMenu) {
28
+ const { permissions, roles } = rootState.account
29
+ return filterMenu(deepClone(state.menuData), permissions, roles)
30
+ }
31
+ return state.menuData
32
+ },
33
+ firstMenu (state, getters) {
34
+ const { menuData } = getters
35
+ if (menuData.length > 0 && !menuData[0].fullPath) {
36
+ formatFullPath(menuData)
37
+ }
38
+ return menuData.map(item => {
39
+ const menuItem = { ...item }
40
+ delete menuItem.children
41
+ return menuItem
42
+ })
43
+ },
44
+ subMenu (state) {
45
+ const { menuData, activatedFirst } = state
46
+ if (menuData.length > 0 && !menuData[0].fullPath) {
47
+ formatFullPath(menuData)
48
+ }
49
+ const current = menuData.find(menu => menu.fullPath === activatedFirst)
50
+ return current && current.children || []
51
+ }
52
+ },
53
+ mutations: {
54
+ setDevice (state, isMobile) {
55
+ state.isMobile = isMobile
56
+ },
57
+ setTheme (state, theme) {
58
+ state.theme = theme
59
+ },
60
+ setLayout (state, layout) {
61
+ state.layout = layout
62
+ },
63
+ setMultiPage (state, multiPage) {
64
+ state.multiPage = multiPage
65
+ },
66
+ setAnimate (state, animate) {
67
+ state.animate = animate
68
+ },
69
+ setWeekMode (state, weekMode) {
70
+ state.weekMode = weekMode
71
+ },
72
+ setFixedHeader (state, fixedHeader) {
73
+ state.fixedHeader = fixedHeader
74
+ },
75
+ setFixedSideBar (state, fixedSideBar) {
76
+ state.fixedSideBar = fixedSideBar
77
+ },
78
+ setLang (state, lang) {
79
+ state.lang = lang
80
+ },
81
+ setHideSetting (state, hideSetting) {
82
+ state.hideSetting = hideSetting
83
+ },
84
+ correctPageMinHeight (state, minHeight) {
85
+ state.pageMinHeight += minHeight
86
+ },
87
+ setMenuData (state, menuData) {
88
+ state.menuData = menuData
89
+ },
90
+ setAsyncRoutes (state, asyncRoutes) {
91
+ state.asyncRoutes = asyncRoutes
92
+ },
93
+ setPageWidth (state, pageWidth) {
94
+ state.pageWidth = pageWidth
95
+ },
96
+ setActivatedFirst (state, activatedFirst) {
97
+ state.activatedFirst = activatedFirst
98
+ },
99
+ setFixedTabs (state, fixedTabs) {
100
+ state.fixedTabs = fixedTabs
101
+ },
102
+ setCustomTitle (state, { path, title }) {
103
+ if (title) {
104
+ const obj = state.customTitles.find(item => item.path === path)
105
+ if (obj) {
106
+ obj.title = title
107
+ } else {
108
+ state.customTitles.push({ path, title })
109
+ }
110
+ sessionStorage.setItem(process.env.VUE_APP_TBAS_TITLES_KEY, JSON.stringify(state.customTitles))
111
+ }
112
+ },
113
+ setSetting (state, setting) {
114
+ for (const key in setting) {
115
+ state[key] = setting[key]
116
+ }
117
+ }
118
+ }
119
+ }
@@ -68,14 +68,19 @@ export default {
68
68
  return null
69
69
  }
70
70
  },
71
-
71
+ normalizeEncryptData (data) {
72
+ if (typeof data === 'string') {
73
+ return data
74
+ }
75
+ return JSON.stringify(data)
76
+ },
72
77
  AESEncryptCBC(data, CRYPTO_KEY) {
73
78
  // 生成随机IV(每次加密不同)
74
79
  const iv = CryptoJS.lib.WordArray.random(16)
75
80
 
76
81
  // 使用 AES CBC 模式进行加密
77
82
  const encrypted = CryptoJS.AES.encrypt(
78
- JSON.stringify(data),
83
+ this.normalizeEncryptData(data),
79
84
  CryptoJS.enc.Hex.parse(CRYPTO_KEY),
80
85
  {
81
86
  iv: iv, // IV
@@ -1,6 +1,6 @@
1
- export default {
2
- 401: '认证失败,无法访问系统资源',
3
- 403: '当前操作没有权限',
4
- 404: '访问资源不存在',
5
- default: '系统未知错误,请反馈给管理员'
6
- }
1
+ export default {
2
+ 401: '认证失败,无法访问系统资源',
3
+ 403: '当前操作没有权限',
4
+ 404: '访问资源不存在',
5
+ default: '系统未知错误,请反馈给管理员'
6
+ }
@@ -99,8 +99,9 @@ function afterLogin(res, options) {
99
99
  const jwt = res.jwtNew
100
100
  // 如果返回字段有s说明是走的V3XuanJian网关
101
101
  if(res.s || res.session) {
102
- setV4SessionKey({session: res.s || res.session})
102
+ setSessionKey({session: res.s || res.session})
103
103
  }
104
+ setAccessToken(data, jwt)
104
105
  // 获取路由配置
105
106
  getRoutesConfig(data, setting.routeName)
106
107
  .then((result) => {
@@ -116,7 +117,6 @@ function afterLogin(res, options) {
116
117
  }
117
118
  result.functions.unshift(resourceManageMain)
118
119
  afterGeneral(result, options)
119
- setAccessToken(data, jwt)
120
120
  if (result.deps === '用户工单登记') {
121
121
  router.push(setting.ticketPage).catch(() => {
122
122
  })
@@ -181,6 +181,11 @@ export function setV4SessionKey(res) {
181
181
  if (sessionKey) localStorage.setItem(V4_SESSION_KEY, sessionKey)
182
182
  }
183
183
 
184
+ export function setSessionKey(res) {
185
+ const sessionKey = EncryptUtil.RSADecryptRaw(res.session, 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKo++i9J9dzAFtbxwowKDCo2mxi7MXxE8A8VvssaydWjjgmEz/HHMPLOhi1182a1si4pWL0/MizKnquD7T2Bu4jpQbAFnkNYEMEyq/kw904Xl0JCQHYFuvnI99RE8Q3KlTP6kEUGDjV34EL6vBGJcQvArLtj1xoP8y0nIfJ2Pw5TAgMBAAECgYAGGB8IllMwxceLhjf6n1l0IWRH7FuHIUieoZ6k0p6rASHSgWiYNRMxfecbtX8zDAoG0QAWNi7rn40ygpR5gS1fWDAKhmnhKgQIT6wW0VmD4hraaeyP78iy8BLhlvblri2nCPIhDH5+l96v7D47ZZi3ZSOzcj89s1eS/k7/N4peEQJBAPEtGGJY+lBoCxQMhGyzuzDmgcS1Un1ZE2pt+XNCVl2b+T8fxWJH3tRRR8wOY5uvtPiK1HM/IjT0T5qwQeH8Yk0CQQC0tcv3d/bDb7bOe9QzUFDQkUSpTdPWAgMX2OVPxjdq3Sls9oA5+fGNYEy0OgyqTjde0b4iRzlD1O0OhLqPSUMfAkEAh5FIvqezdRU2/PsYSR4yoAdCdLdT+h/jGRVefhqQ/6eYUJJkWp15tTFHQX3pIe9/s6IeT/XyHYAjaxmevxAmlQJBAKSdhvQjf9KAjZKDEsa7vyJ/coCXuQUWSCMNHbcR5aGfXgE4e45UtUoIE1eKGcd6AM6LWhx3rR6xdFDpb9je8BkCQB0SpevGfOQkMk5i8xkEt9eeYP0fi8nv6eOUcK96EXbzs4jV2SAoQJ9oJegPtPROHbhIvVUmNQTbuP10Yjg59+8=')
186
+ if (sessionKey) localStorage.setItem(V4_SESSION_KEY, sessionKey)
187
+ }
188
+
184
189
  export function setV4AccessToken(res) {
185
190
  const payload = unwrapV4LoginPayload(res)
186
191
  if (!payload?.access_token) return
@@ -233,7 +233,7 @@ function loadInterceptors() {
233
233
  if (token) {
234
234
  if (config.url !== V4_LOGIN) {
235
235
  // V4 环境则添加 V4请求头
236
- config.headers[V4_ACCESS_TOKEN] = token
236
+ config.headers[V4_ACCESS_TOKEN] = `Bearer ${token}`
237
237
  config.headers[ACCESS_TOKEN] = token
238
238
  }
239
239
  }
@@ -249,7 +249,7 @@ function loadInterceptors() {
249
249
  !config.url.includes('/logic/openapi/') &&
250
250
  !config.url.includes('devApi') &&
251
251
  !config.url.includes('auth/login') &&
252
- config.url.includes('api/af-')
252
+ (config.url.includes('api/af-') || config.url.includes('rs/user/userLogin'))
253
253
  ) {
254
254
  if (config.data && !(config.data instanceof FormData)) {
255
255
  if (v4SessionKey) {
package/vue.config.js CHANGED
@@ -12,7 +12,7 @@ const isProd = process.env.NODE_ENV === 'production'
12
12
 
13
13
  // v4 产品演示
14
14
  const liuli = 'http://192.168.50.67:31567'
15
- const v3Server = 'http://192.168.50.67:31567'
15
+ const v3Server = 'http://127.0.0.1:8077'
16
16
  const geoserver = 'http://192.168.50.67:31567'
17
17
  // const gateway = 'http://192.168.50.67:31467'
18
18
  // const testUpload = 'http://123.60.214.109:8406'
@@ -36,6 +36,12 @@ module.exports = {
36
36
  port: 8020,
37
37
  // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
38
38
  proxy: {
39
+ '/rs/logic/getLogin': {
40
+ pathRewrite: {
41
+ '^/rs/logic/getLogin': '/getLogin'
42
+ },
43
+ target: v3Server,
44
+ },
39
45
  // '/apply-image': {
40
46
  // target: revenue,
41
47
  // },
@@ -1,15 +1,15 @@
1
- # vue2迁移vue3
2
-
3
- 1. 完成vue-cli,webpack,babel,eslint的升级
4
- - core-js 3.30.1 -> 3.33.0
5
- - add regenerator-runtime
6
- - @babel/core 7.21.4 -> 7.22.20
7
- - babel-eslint 10.1.0 -> @babel/eslint-parser 7.22.15
8
- - @vue/cli 4.5.19 -> 5.0.8
9
- - babel-jest 25.5.1 -> 26.6.3
10
- - eslint 6.8.0 -> 7.32.0
11
- - jest 24.0.0 -> 26.6.3
12
- - webpack 4.46.0 -> 5.88.2
13
- 2. 完成vue2的2.7升级
14
- - vue 2.6.14 -> 2.7.14
15
- - eslint 7.32.0 -> 8.51.0
1
+ # vue2迁移vue3
2
+
3
+ 1. 完成vue-cli,webpack,babel,eslint的升级
4
+ - core-js 3.30.1 -> 3.33.0
5
+ - add regenerator-runtime
6
+ - @babel/core 7.21.4 -> 7.22.20
7
+ - babel-eslint 10.1.0 -> @babel/eslint-parser 7.22.15
8
+ - @vue/cli 4.5.19 -> 5.0.8
9
+ - babel-jest 25.5.1 -> 26.6.3
10
+ - eslint 6.8.0 -> 7.32.0
11
+ - jest 24.0.0 -> 26.6.3
12
+ - webpack 4.46.0 -> 5.88.2
13
+ 2. 完成vue2的2.7升级
14
+ - vue 2.6.14 -> 2.7.14
15
+ - eslint 7.32.0 -> 8.51.0
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="JAVA_MODULE" version="4">
3
- <component name="NewModuleRootManager" inherit-compiler-output="true">
4
- <exclude-output />
5
- <content url="file://$MODULE_DIR$" />
6
- <orderEntry type="inheritedJdk" />
7
- <orderEntry type="sourceFolder" forTests="false" />
8
- </component>
9
- </module>
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
4
- <serverData>
5
- <paths name="50.4">
6
- <serverdata>
7
- <mappings>
8
- <mapping local="$PROJECT_DIR$" web="/" />
9
- </mappings>
10
- </serverdata>
11
- </paths>
12
- </serverData>
13
- </component>
14
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Encoding" native2AsciiForPropertiesFiles="true" defaultCharsetForPropertiesFiles="UTF-8">
4
- <file url="PROJECT" charset="UTF-8" />
5
- </component>
6
- </project>
package/.idea/gradle.xml DELETED
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="GradleMigrationSettings" migrationVersion="1" />
4
- <component name="GradleSettings">
5
- <option name="parallelModelFetch" value="true" />
6
- </component>
7
- </project>
package/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <project version="4">
2
- <component name="ExternalStorageConfigurationManager" enabled="true" />
3
- <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="corretto-21" project-jdk-type="JavaSDK">
4
- <output url="file://$PROJECT_DIR$/out" />
5
- </component>
6
- </project>