diff --git a/server/router/sys_base.go b/server/router/sys_base.go index 20da80dc..da4159b8 100644 --- a/server/router/sys_base.go +++ b/server/router/sys_base.go @@ -2,11 +2,12 @@ package router import ( "gin-vue-admin/api/v1" + "gin-vue-admin/middleware" "github.com/gin-gonic/gin" ) func InitBaseRouter(Router *gin.RouterGroup) (R gin.IRoutes) { - BaseRouter := Router.Group("base") + BaseRouter := Router.Group("base").Use(middleware.NeedInit()) { BaseRouter.POST("login", v1.Login) BaseRouter.POST("captcha", v1.Captcha) diff --git a/web/src/App.vue b/web/src/App.vue index 252ddedf..356b6470 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -9,15 +9,7 @@ import { checkDB } from "@/api/initdb" export default { name: 'app', async created(){ - const res = await checkDB() - if(res.code == 0 && res.data.needInit){ - this.$message({ - type:"info", - message:"您是第一次使用,请初始化" - }) - this.$store.commit("user/NeedInit") - this.$router.push({name:"init"}) - } + await checkDB() } } diff --git a/web/src/utils/request.js b/web/src/utils/request.js index c92c4b76..576591dd 100644 --- a/web/src/utils/request.js +++ b/web/src/utils/request.js @@ -2,6 +2,8 @@ import axios from 'axios'; // 引入axios import { Message } from 'element-ui'; import { store } from '@/store/index' import context from '@/main.js' +import router from '@/router/index' + const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, timeout: 99999 @@ -59,10 +61,19 @@ service.interceptors.request.use( service.interceptors.response.use( response => { closeLoading() + if (response.headers["new-token"]) { store.commit('user/setToken', response.headers["new-token"]) } if (response.data.code == 0 || response.headers.success === "true") { + if(response.data.data.needInit){ + Message({ + type:"info", + message:"您是第一次使用,请初始化" + }) + store.commit("user/NeedInit") + router.push({name:"init"}) + } return response.data } else { Message({