chore: 低代码平台可配置拦截器

This commit is contained in:
wangxuefeng 2025-03-25 16:33:41 +08:00
parent 32d5e41f2b
commit 7b23a51134
4 changed files with 34 additions and 5 deletions

View File

@ -0,0 +1,31 @@
<script setup lang="ts">
import WujieVueRendererAdapter from '@sy/wujie-vue3-renderer-adapter';
import axios from 'axios';
import { useUserStore } from '#/store/user';
const props = defineProps<{
[key: string]: any;
fileId: string;
projectId: number;
}>();
const userStore = useUserStore();
const instance = axios.create({});
instance.interceptors.request.use(
(config) => {
config.headers.Authorization = `Bearer ${userStore.token}`;
return config;
},
(error) => Promise.reject(error),
);
</script>
<template>
<WujieVueRendererAdapter
v-bind="props"
:interceptors="instance.interceptors"
/>
</template>

View File

@ -29,7 +29,7 @@ instance.interceptors.response.use(
if (response.data.code === 401) { if (response.data.code === 401) {
const userStore = useUserStore(); const userStore = useUserStore();
console.log('用户未授权或登录已过期,即将跳转...'); console.log('用户未授权或登录已过期,即将跳转...');
// userStore.logout(); userStore.logout();
// 返回一个永远不会resolve的Promise防止后续代码执行 // 返回一个永远不会resolve的Promise防止后续代码执行
return new Promise(() => {}); return new Promise(() => {});
} }

View File

@ -1,7 +1,6 @@
import type { RouteRecordRaw } from 'vue-router'; import type { RouteRecordRaw } from 'vue-router';
import WujieVueRendererAdapter from '@sy/wujie-vue3-renderer-adapter'; import Renderer from '#/components/renderer/index.vue';
import { VITE_RENDERER_URL } from '#/constants'; import { VITE_RENDERER_URL } from '#/constants';
import { router } from '#/router'; import { router } from '#/router';
@ -17,7 +16,7 @@ const routes: RouteRecordRaw[] = [
{ {
path: '/static-file/list', path: '/static-file/list',
name: 'StaticFileList', name: 'StaticFileList',
component: WujieVueRendererAdapter, component: Renderer,
meta: { meta: {
icon: 'ant-design:file-text', icon: 'ant-design:file-text',
title: '静态文件列表', title: '静态文件列表',

View File

@ -34,7 +34,6 @@ export const useUserStore = defineStore(
setTimeout(() => { setTimeout(() => {
getCurrentUser().then((res) => { getCurrentUser().then((res) => {
userInfo.value = res.data.data; userInfo.value = res.data.data;
console.log('userInfo', userInfo.value);
}); });
}, 1000); }, 1000);
} }