chore: 低代码平台可配置拦截器
This commit is contained in:
		
							parent
							
								
									32d5e41f2b
								
							
						
					
					
						commit
						7b23a51134
					
				
							
								
								
									
										31
									
								
								apps/platform/src/components/renderer/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								apps/platform/src/components/renderer/index.vue
									
									
									
									
									
										Normal 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> | ||||||
| @ -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(() => {}); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -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: '静态文件列表', | ||||||
|  | |||||||
| @ -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); | ||||||
|       } |       } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 wangxuefeng
						wangxuefeng