fix: 修复license页面无法访问问题
This commit is contained in:
parent
8933b9498d
commit
4392dda0c2
|
@ -25,7 +25,7 @@
|
||||||
"event-source-polyfill": "^1.0.31",
|
"event-source-polyfill": "^1.0.31",
|
||||||
"global": "^4.4.0",
|
"global": "^4.4.0",
|
||||||
"jetlinks-store": "^0.0.3",
|
"jetlinks-store": "^0.0.3",
|
||||||
"jetlinks-ui-components": "^1.0.9",
|
"jetlinks-ui-components": "^1.0.12",
|
||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
"less": "^4.1.3",
|
"less": "^4.1.3",
|
||||||
"less-loader": "^11.1.0",
|
"less-loader": "^11.1.0",
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 232 KiB |
|
@ -1,5 +1,5 @@
|
||||||
import { createRouter, createWebHashHistory } from 'vue-router'
|
import { createRouter, createWebHashHistory } from 'vue-router'
|
||||||
import menus, { AccountCenterBindPath, InitHomePath, LoginPath, OauthPath } from './menu'
|
import menus, { AccountCenterBindPath, InitHomePath, InitLicense, LoginPath, OauthPath } from './menu'
|
||||||
import { cleanToken, getToken } from '@/utils/comm'
|
import { cleanToken, getToken } from '@/utils/comm'
|
||||||
import { useUserInfo } from '@/store/userInfo'
|
import { useUserInfo } from '@/store/userInfo'
|
||||||
import { useSystem } from '@/store/system'
|
import { useSystem } from '@/store/system'
|
||||||
|
@ -15,7 +15,7 @@ const router = createRouter({
|
||||||
})
|
})
|
||||||
|
|
||||||
const filterPath = [ InitHomePath ]
|
const filterPath = [ InitHomePath ]
|
||||||
const noTokenPath = [ AccountCenterBindPath, OauthPath ]
|
const noTokenPath = [ AccountCenterBindPath, OauthPath, InitLicense ]
|
||||||
|
|
||||||
router.beforeEach((to, from, next) => {
|
router.beforeEach((to, from, next) => {
|
||||||
// TODO 切换路由取消请求
|
// TODO 切换路由取消请求
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { BASE_API_PATH, TOKEN_KEY } from '@/utils/variable'
|
import { BASE_API_PATH, TOKEN_KEY } from '@/utils/variable'
|
||||||
import { notification as Notification } from 'jetlinks-ui-components'
|
import { notification as Notification, Modal } from 'jetlinks-ui-components'
|
||||||
import router from '@/router'
|
import router from '@/router'
|
||||||
import { LoginPath } from '@/router/menu'
|
import { LoginPath } from '@/router/menu'
|
||||||
import { cleanToken, getToken, LocalStore } from '@/utils/comm'
|
import { cleanToken, getToken, LocalStore } from '@/utils/comm'
|
||||||
|
@ -21,7 +21,8 @@ const filterApiUrl = [
|
||||||
'/authorize/captcha/image',
|
'/authorize/captcha/image',
|
||||||
'/application/sso/bind-code',
|
'/application/sso/bind-code',
|
||||||
'/authorize/login',
|
'/authorize/login',
|
||||||
'/application/'
|
'/application/',
|
||||||
|
'/license'
|
||||||
]
|
]
|
||||||
|
|
||||||
export const request = axios.create({
|
export const request = axios.create({
|
||||||
|
@ -149,7 +150,23 @@ const errorHandler = (error: any) => {
|
||||||
if (error.response) {
|
if (error.response) {
|
||||||
const data = error.response.data
|
const data = error.response.data
|
||||||
const status = error.response.status
|
const status = error.response.status
|
||||||
if (status === 403) {
|
if (data?.code === 'license required') {
|
||||||
|
Modal.error({
|
||||||
|
key: 'License',
|
||||||
|
title: 'License已到期或者错误',
|
||||||
|
content: h(
|
||||||
|
'a',
|
||||||
|
{
|
||||||
|
onClick: () =>
|
||||||
|
{
|
||||||
|
Modal.destroyAll?.();
|
||||||
|
window.location.href = '/#/init-license';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'请更新License'
|
||||||
|
)
|
||||||
|
})
|
||||||
|
} else if (status === 403) {
|
||||||
showNotification('Forbidden', (data.message + '').substr(0, 90), '403')
|
showNotification('Forbidden', (data.message + '').substr(0, 90), '403')
|
||||||
} else if (status === 500) {
|
} else if (status === 500) {
|
||||||
showNotification('Server Side Error', (data.message + '').substr(0, 90), '500')
|
showNotification('Server Side Error', (data.message + '').substr(0, 90), '500')
|
||||||
|
@ -158,13 +175,15 @@ const errorHandler = (error: any) => {
|
||||||
} else if (status === 401) {
|
} else if (status === 401) {
|
||||||
showNotification('Unauthorized', '用户未登录', '401')
|
showNotification('Unauthorized', '用户未登录', '401')
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// cleanToken()
|
cleanToken()
|
||||||
// router.replace({
|
router.replace({
|
||||||
// path: LoginPath
|
path: LoginPath
|
||||||
// })
|
})
|
||||||
}, 0)
|
}, 0)
|
||||||
} else if (status === 404) {
|
} else if (status === 404) {
|
||||||
showNotification(error?.code, error?.response?.data?.message, '404')
|
const data = error?.response?.data
|
||||||
|
const message = error?.response?.data?.message || `${data?.error} ${data?.path}`
|
||||||
|
showNotification(error?.code, message, '404')
|
||||||
}
|
}
|
||||||
} else if (error.response === undefined) {
|
} else if (error.response === undefined) {
|
||||||
if (error.message.includes('timeout')) {
|
if (error.message.includes('timeout')) {
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<j-col :span="12"><DeviceCountCard /></j-col>
|
<j-col :span="12"><DeviceCountCard /></j-col>
|
||||||
<j-col :span="12"><BasicCountCard /></j-col>
|
<j-col :span="12"><BasicCountCard /></j-col>
|
||||||
<j-col :span="24" style="margin-top: 24px">
|
<j-col :span="24" style="margin-top: 24px">
|
||||||
<PlatformPicCard image="/images/home/content.png" />
|
<PlatformPicCard image="/images/home/content1.svg" />
|
||||||
</j-col>
|
</j-col>
|
||||||
</j-row>
|
</j-row>
|
||||||
</j-col>
|
</j-col>
|
||||||
|
|
|
@ -3922,50 +3922,50 @@ export default [
|
||||||
accessSupport: { text: "不支持", value: "unsupported" },
|
accessSupport: { text: "不支持", value: "unsupported" },
|
||||||
supportDataAccess: false
|
supportDataAccess: false
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
code: 'system/License',
|
// code: 'system/License',
|
||||||
name: 'License管理',
|
// name: 'License管理',
|
||||||
owner: 'iot',
|
// owner: 'iot',
|
||||||
//parentId: '3',
|
// //parentId: '3',
|
||||||
id: '3-12',
|
// id: '3-12',
|
||||||
sortIndex: 12,
|
// sortIndex: 12,
|
||||||
url: '/system/License',
|
// url: '/system/License',
|
||||||
icon: 'icon-zidingyiguize',
|
// icon: 'icon-zidingyiguize',
|
||||||
showPage: ['license'],
|
// showPage: ['license'],
|
||||||
permissions: [
|
// permissions: [
|
||||||
{
|
// {
|
||||||
permission: 'license',
|
// permission: 'license',
|
||||||
actions: ['query', 'save'],
|
// actions: ['query', 'save'],
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
buttons: [
|
// buttons: [
|
||||||
{
|
// {
|
||||||
id: 'update',
|
// id: 'update',
|
||||||
name: '编辑',
|
// name: '编辑',
|
||||||
description: null,
|
// description: null,
|
||||||
permissions: [
|
// permissions: [
|
||||||
{
|
// {
|
||||||
permission: 'license',
|
// permission: 'license',
|
||||||
actions: ['query', 'save'],
|
// actions: ['query', 'save'],
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
options: null,
|
// options: null,
|
||||||
},
|
// },
|
||||||
|
//
|
||||||
{
|
// {
|
||||||
id: 'view',
|
// id: 'view',
|
||||||
name: '查看',
|
// name: '查看',
|
||||||
description: null,
|
// description: null,
|
||||||
permissions: [
|
// permissions: [
|
||||||
{
|
// {
|
||||||
permission: 'license"',
|
// permission: 'license"',
|
||||||
actions: ['query'],
|
// actions: ['query'],
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
options: null,
|
// options: null,
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
//物联卡
|
//物联卡
|
||||||
|
|
|
@ -186,9 +186,13 @@ const onDragend = (info: AntTreeNodeDropEvent) => {
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getSystemPermission_api().then((resp: any) => {
|
getSystemPermission_api().then((resp: any) => {
|
||||||
|
const filterBaseMenu = BaseMenu.filter(item => ![
|
||||||
|
USER_CENTER_MENU_CODE,
|
||||||
|
MESSAGE_SUBSCRIBE_MENU_CODE,
|
||||||
|
].includes(item.code))
|
||||||
baseMenu.value = filterMenu(
|
baseMenu.value = filterMenu(
|
||||||
resp.result.map((item: any) => JSON.parse(item).id),
|
resp.result.map((item: any) => JSON.parse(item).id),
|
||||||
BaseMenu,
|
filterBaseMenu,
|
||||||
);
|
);
|
||||||
getMenuTree_api(params).then((resp: any) => {
|
getMenuTree_api(params).then((resp: any) => {
|
||||||
if (resp.status == 200) {
|
if (resp.status == 200) {
|
||||||
|
@ -205,7 +209,7 @@ onMounted(() => {
|
||||||
selectedKeys.value = systemMenuData.checkedKeys;
|
selectedKeys.value = systemMenuData.checkedKeys;
|
||||||
|
|
||||||
const AllMenu = mergeArr(
|
const AllMenu = mergeArr(
|
||||||
cloneDeep(BaseMenu),
|
cloneDeep(filterBaseMenu),
|
||||||
cloneDeep(systemMenu.value),
|
cloneDeep(systemMenu.value),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
22
yarn.lock
22
yarn.lock
|
@ -3823,29 +3823,15 @@ jetlinks-store@^0.0.3:
|
||||||
resolved "https://registry.npmjs.org/jetlinks-store/-/jetlinks-store-0.0.3.tgz"
|
resolved "https://registry.npmjs.org/jetlinks-store/-/jetlinks-store-0.0.3.tgz"
|
||||||
integrity sha512-AZf/soh1hmmwjBZ00fr1emuMEydeReaI6IBTGByQYhTmK1Zd5pQAxC7WLek2snRAn/HHDgJfVz2hjditKThl6Q==
|
integrity sha512-AZf/soh1hmmwjBZ00fr1emuMEydeReaI6IBTGByQYhTmK1Zd5pQAxC7WLek2snRAn/HHDgJfVz2hjditKThl6Q==
|
||||||
|
|
||||||
jetlinks-ui-components@1.0.5:
|
jetlinks-ui-components@^1.0.12:
|
||||||
version "1.0.5"
|
version "1.0.12"
|
||||||
resolved "https://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.5.tgz#f91a7e1e0c72addcc6f2cadb260039010c481eaf"
|
resolved "https://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.12.tgz#b3bd976b6ec7f6e45efe011cd3c6234734a064c2"
|
||||||
integrity sha512-ZcR0ukT9bZn2syyOk9lKjjZ1cHpmMBvdHuTqayZgXwq6+pZSM5nqtVMgdUu0AXQ+pL0KbWes4L0NweYSW7XJOg==
|
integrity sha512-P2PMuiOGRNKB58nr13UXbn1z6No3VyLJgyV5YmAtm8qmjU5WGHJDLJbYLY4lSPHbMhjGzisP4OJ4/z9rjlRZKg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@vueuse/core" "^9.12.0"
|
"@vueuse/core" "^9.12.0"
|
||||||
"@vueuse/router" "^9.13.0"
|
"@vueuse/router" "^9.13.0"
|
||||||
ant-design-vue "^3.2.15"
|
ant-design-vue "^3.2.15"
|
||||||
colorpicker-v3 "^2.10.2"
|
colorpicker-v3 "^2.10.2"
|
||||||
jetlinks-ui-components "1.0.5"
|
|
||||||
lodash-es "^4.17.21"
|
|
||||||
monaco-editor "^0.35.0"
|
|
||||||
|
|
||||||
jetlinks-ui-components@^1.0.9:
|
|
||||||
version "1.0.9"
|
|
||||||
resolved "https://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.9.tgz#c71e593e65b9e8dd16c746cebf16d45339a0d340"
|
|
||||||
integrity sha512-NRKA20IYMvaGabJTnt180ahjL6ERJz8rDohAMtaP4bWQeSAq89hBB5s6XMRJK4VexliEEo4+V3E/edK2iNsGWg==
|
|
||||||
dependencies:
|
|
||||||
"@vueuse/core" "^9.12.0"
|
|
||||||
"@vueuse/router" "^9.13.0"
|
|
||||||
ant-design-vue "^3.2.15"
|
|
||||||
colorpicker-v3 "^2.10.2"
|
|
||||||
jetlinks-ui-components "1.0.5"
|
|
||||||
lodash-es "^4.17.21"
|
lodash-es "^4.17.21"
|
||||||
monaco-editor "^0.35.0"
|
monaco-editor "^0.35.0"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue