ソースを参照

fix: 修复登录token失效之后页面显示404的问题。修复设备详情中属性值精度显示,之前只对float进行小数表留,增加double类型

yanglzh 1 年間 前
コミット
3f3a786ab5

+ 1 - 1
src/components/upload-wrapper/index.vue

@@ -16,7 +16,7 @@ const uploadUrl: string = getOrigin(import.meta.env.VITE_API_URL + '/common/sing
 const source = localStorage.uploadFileWay
 
 const headers = {
-  Authorization: 'Bearer ' + localStorage.token,
+  Authorization: 'Bearer ' + sessionStorage.token,
 };
 
 const emit = defineEmits(['setImg', 'setImgs']);

+ 1 - 1
src/components/upload/button.vue

@@ -23,7 +23,7 @@ import type { UploadProps } from 'element-plus';
 import getOrigin from '/@/utils/origin';
 
 const headers = {
-	Authorization: 'Bearer ' + localStorage.token,
+	Authorization: 'Bearer ' + sessionStorage.token,
 };
 
 const emit = defineEmits(['update']);

+ 1 - 1
src/components/upload/index.vue

@@ -33,7 +33,7 @@ import getOrigin from '/@/utils/origin'
 const uploadUrl: string = getOrigin(import.meta.env.VITE_API_URL + '/common/singleImg')
 
 const headers = {
-	Authorization: 'Bearer ' + localStorage.token,
+	Authorization: 'Bearer ' + sessionStorage.token,
 }
 
 const emit = defineEmits(['setImg', 'setImgs'])

+ 1 - 1
src/components/upload/uploadFile.vue

@@ -16,7 +16,7 @@ import getOrigin from '/@/utils/origin';
 const source = localStorage.uploadFileWay
 
 const headers = {
-	Authorization: 'Bearer ' + localStorage.token,
+	Authorization: 'Bearer ' + sessionStorage.token,
 };
 
 const emit = defineEmits(['update']);

+ 1 - 0
src/layout/navBars/breadcrumb/user.vue

@@ -172,6 +172,7 @@ export default defineComponent({
             ElMessage.success(t('message.user.logOutSuccess'));
             setTimeout(() => {
               localStorage.clear(); // 清除缓存/token等
+              sessionStorage.clear(); // 清除缓存/token等
               window.location.href = ''; // 去登录页
             }, 500);
           })

+ 1 - 1
src/router/backEnd.ts

@@ -28,7 +28,7 @@ export async function initBackEndControlRoutes() {
 	// 界面 loading 动画开始执行
 	if (window.nextLoading === undefined) NextLoading.start();
 	// 无 token 停止执行下一步
-	if (!localStorage.token) return false;
+	if (!sessionStorage.token) return false;
 	// 触发初始化用户信息
 	store.dispatch('userInfos/setUserInfos');
 	// store.dispatch('userInfos/setPermissions');

+ 1 - 1
src/router/frontEnd.ts

@@ -13,7 +13,7 @@ export async function initFrontEndControlRoutes() {
 	// 界面 loading 动画开始执行
 	if (window.nextLoading === undefined) NextLoading.start();
 	// 无 token 停止执行下一步
-	if (!localStorage.token) return false;
+	if (!sessionStorage.token) return false;
 	// 触发初始化用户信息
 	store.dispatch('userInfos/setUserInfos');
 	store.dispatch('userInfos/setPermissions');

+ 1 - 1
src/router/index.ts

@@ -221,7 +221,7 @@ router.beforeEach(async (to, from, next) => {
 
 
 	// 正常流程
-	const token = localStorage.token;
+	const token = sessionStorage.token;
 	if (whiteList.includes(to.path) && !token) {
 		next();
 		NProgress.done();

+ 6 - 4
src/utils/request.ts

@@ -13,8 +13,8 @@ const service = axios.create({
 service.interceptors.request.use(
 	(config) => {
 		// 在发送请求之前做些什么 token
-		if (localStorage.token) {
-			(<any>config.headers).common['Authorization'] = `Bearer ${localStorage.token}`;
+		if (sessionStorage.token) {
+			(<any>config.headers).common['Authorization'] = `Bearer ${sessionStorage.token}`;
 		}
 		return config;
 	},
@@ -32,13 +32,15 @@ service.interceptors.response.use(
 		const code = response.data.code
 		if (code === 401) {
 			if (Date.now() - sessionStorage.comeTime < 1000) {
-				localStorage.clear(); // 清除浏览器全部临时缓存
+				localStorage.clear(); // 清除缓存/token等
+				sessionStorage.clear(); // 清除缓存/token等
 				window.location.href = '/'; // 去登录页
 			}
 			ElMessageBox.alert('登录状态已过期,请重新登录', '提示',
 				{ confirmButtonText: '确定', showCancelButton: false, closeOnHashChange: false, closeOnPressEscape: false, closeOnClickModal: false, showClose: false })
 				.then(() => {
-					localStorage.clear(); // 清除浏览器全部临时缓存
+					localStorage.clear(); // 清除缓存/token等
+					sessionStorage.clear(); // 清除缓存/token等
 					window.location.href = '/'; // 去登录页
 				})
 		} else if (code === undefined && res.message === undefined) { // 可能是下载文件

+ 4 - 3
src/utils/request_ice104.ts

@@ -14,8 +14,8 @@ const service = axios.create({
 service.interceptors.request.use(
 	(config) => {
 		// 在发送请求之前做些什么 token
-		if (localStorage.token) {
-			(<any>config.headers).common['Authorization'] = `Bearer ${localStorage.token}`;
+		if (sessionStorage.token) {
+			(<any>config.headers).common['Authorization'] = `Bearer ${sessionStorage.token}`;
 		}
 		return config;
 	},
@@ -35,7 +35,8 @@ service.interceptors.response.use(
 			ElMessageBox.alert('登录状态已过期,请重新登录', '提示',
 				{ confirmButtonText: '确定', showCancelButton: false, closeOnHashChange: false, closeOnPressEscape: false, closeOnClickModal: false, showClose: false })
 				.then(() => {
-					localStorage.clear(); // 清除浏览器全部临时缓存
+					localStorage.clear(); // 清除缓存/token等
+					sessionStorage.clear(); // 清除缓存/token等
 					window.location.href = '/'; // 去登录页
 				})
 				.catch(() => { });

+ 4 - 3
src/utils/request_modbus.ts

@@ -13,8 +13,8 @@ const service = axios.create({
 service.interceptors.request.use(
 	(config) => {
 		// 在发送请求之前做些什么 token
-		if (localStorage.token) {
-			(<any>config.headers).common['Authorization'] = `Bearer ${localStorage.token}`;
+		if (sessionStorage.token) {
+			(<any>config.headers).common['Authorization'] = `Bearer ${sessionStorage.token}`;
 		}
 		return config;
 	},
@@ -34,7 +34,8 @@ service.interceptors.response.use(
 			ElMessageBox.alert('登录状态已过期,请重新登录', '提示',
 				{ confirmButtonText: '确定', showCancelButton: false, closeOnHashChange: false, closeOnPressEscape: false, closeOnClickModal: false, showClose: false })
 				.then(() => {
-					localStorage.clear(); // 清除浏览器全部临时缓存
+					localStorage.clear(); // 清除缓存/token等
+					sessionStorage.clear(); // 清除缓存/token等
 					window.location.href = '/'; // 去登录页
 				})
 				.catch(() => { });

+ 2 - 1
src/utils/storage.ts

@@ -21,7 +21,8 @@ export const Local = {
 	},
 	// 移除全部永久缓存
 	clear() {
-		window.localStorage.clear();
+		localStorage.clear(); // 清除缓存/token等
+		sessionStorage.clear(); // 清除缓存/token等
 	},
 };
 

+ 1 - 1
src/views/iot/device/instance/component/excel.vue

@@ -68,7 +68,7 @@ export default defineComponent({
 
     const uploadUrl: string = getOrigin(import.meta.env.VITE_API_URL + "/product/device/import");
     const headers = {
-      Authorization: 'Bearer ' + localStorage.token,
+      Authorization: 'Bearer ' + sessionStorage.token,
     };
     const formRef = ref<HTMLElement | null>(null);
     const tagRef = ref<HTMLElement | null>(null);

+ 1 - 1
src/views/iot/device/instance/detail.vue

@@ -901,7 +901,7 @@ export default defineComponent({
         if (option) {
           return option.text;
         }
-      } else if (item?.type === 'float' && item?.decimals) {
+      } else if (['float', 'double'].includes(item?.type) && item?.decimals) {
         //  根据属性确定保留小数位数
         return Number(value).toFixed(item.decimals)
       } else {

+ 1 - 1
src/views/iot/device/product/detail.vue

@@ -237,7 +237,7 @@ export default defineComponent({
 
 		const uploadUrl: string = getOrigin(import.meta.env.VITE_API_URL + "/product/tsl/import");
 		const headers = {
-			Authorization: 'Bearer ' + localStorage.token,
+			Authorization: 'Bearer ' + sessionStorage.token,
 		};
 		const route = useRoute();
 		const editDicRef = ref();

+ 1 - 1
src/views/iot/ota-update/update/component/edit.vue

@@ -135,7 +135,7 @@ export default defineComponent({
   name: 'otaEditUpdateData',
   setup(prop, { emit }) {
     const formRef = ref<HTMLElement | null>(null);
-    const headers = { Authorization: 'Bearer ' + localStorage.token, };
+    const headers = { Authorization: 'Bearer ' + sessionStorage.token, };
     const source = JSON.parse(localStorage.sysinfo || '{"uploadFileWay": 0}').uploadFileWay;
     const productRef = ref();
     const editDicRef = ref();

+ 1 - 1
src/views/iot/property/dossier/component/from.vue

@@ -54,7 +54,7 @@ export default defineComponent({
   setup(prop, { emit }) {
     const uploadUrl = getOrigin(import.meta.env.VITE_API_URL + '/common/singleFile')
     const headers = {
-      Authorization: 'Bearer ' + localStorage.token,
+      Authorization: 'Bearer ' + sessionStorage.token,
     }
     // const emit = defineEmits(['SetSaveData'])
 

+ 1 - 1
src/views/iot/rule-engine/edit.vue

@@ -41,7 +41,7 @@ const props = defineProps({
 });
 
 const headers = {
-	Authorization: 'Bearer ' + localStorage.token,
+	Authorization: 'Bearer ' + sessionStorage.token,
 };
 const flowsUrl = window.location.origin + '/rule-engine/flow';
 // const flowsUrl = 'http://zhgy.sagoo.cn/rule-engine/flow';

+ 2 - 2
src/views/iot/rule-engine/index.vue

@@ -51,7 +51,7 @@ const editFormRef = ref();
 const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { types: 0 });
 
 const headers = {
-	Authorization: 'Bearer ' + localStorage.token,
+	Authorization: 'Bearer ' + sessionStorage.token,
 };
 
 const flowsUrl = window.location.origin + '/rule-engine/flows';
@@ -97,7 +97,7 @@ const setStatus = async (row: any, status: number) => {
 };
 
 const edit = async (row: any) => {
-	localStorage.setItem('auth-tokens', `{"access_token":"${localStorage.token}"}`);
+	localStorage.setItem('auth-tokens', `{"access_token":"${sessionStorage.token}"}`);
 	const url = '/rule-engine/#flow/' + row.flowId;
 	window.open(url);
 };

+ 2 - 2
src/views/iot/rule-engine/send.vue

@@ -57,7 +57,7 @@ const editFormRef = ref();
 const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { types: 1 });
 
 const headers = {
-  Authorization: 'Bearer ' + localStorage.token,
+  Authorization: 'Bearer ' + sessionStorage.token,
 };
 const flowsUrl = window.location.origin + '/rule-engine/flows';
 
@@ -101,7 +101,7 @@ const setStatus = async (row: any, status: number) => {
 };
 
 const edit = async (row: any) => {
-  localStorage.setItem('auth-tokens', `{"access_token":"${localStorage.token}"}`);
+  localStorage.setItem('auth-tokens', `{"access_token":"${sessionStorage.token}"}`);
   const url = '/rule-engine/#flow/' + row.flowId;
   window.open(url);
 };

+ 1 - 1
src/views/login/component/account.vue

@@ -153,7 +153,7 @@ export default defineComponent({
 									})
 								}
 
-								localStorage.setItem('token', res.token);
+								sessionStorage.setItem('token', res.token);
 								const userInfos = res.userInfo;
 								userInfos.avatar = proxy.getUpFileUrl(userInfos.avatar);
 								// 存储 token 到浏览器缓存

+ 1 - 1
src/views/sso/component/account.vue

@@ -136,7 +136,7 @@ export default defineComponent({
 									})
 								}
 
-								localStorage.setItem('token', res.token);
+								sessionStorage.setItem('token', res.token);
 								const userInfos = res.userInfo;
 								userInfos.avatar = proxy.getUpFileUrl(userInfos.avatar);
 								// 存储 token 到浏览器缓存

+ 1 - 1
src/views/sso/index.vue

@@ -60,7 +60,7 @@ export default defineComponent({
 			state: ''
 		}).then(async (res: any) => {
 
-			localStorage.setItem('token', res.token);
+			sessionStorage.setItem('token', res.token);
 			const userInfos = res.userInfo;
 			userInfos.avatar = proxy.getUpFileUrl(userInfos.avatar);
 			// 存储 token 到浏览器缓存