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) { | ||||
|       const userStore = useUserStore(); | ||||
|       console.log('用户未授权或登录已过期,即将跳转...'); | ||||
|       // userStore.logout();
 | ||||
|       userStore.logout(); | ||||
|       // 返回一个永远不会resolve的Promise,防止后续代码执行
 | ||||
|       return new Promise(() => {}); | ||||
|     } | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| 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 { router } from '#/router'; | ||||
| 
 | ||||
| @ -17,7 +16,7 @@ const routes: RouteRecordRaw[] = [ | ||||
|       { | ||||
|         path: '/static-file/list', | ||||
|         name: 'StaticFileList', | ||||
|         component: WujieVueRendererAdapter, | ||||
|         component: Renderer, | ||||
|         meta: { | ||||
|           icon: 'ant-design:file-text', | ||||
|           title: '静态文件列表', | ||||
|  | ||||
| @ -34,7 +34,6 @@ export const useUserStore = defineStore( | ||||
|         setTimeout(() => { | ||||
|           getCurrentUser().then((res) => { | ||||
|             userInfo.value = res.data.data; | ||||
|             console.log('userInfo', userInfo.value); | ||||
|           }); | ||||
|         }, 1000); | ||||
|       } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 wangxuefeng
						wangxuefeng