diff --git a/package-lock.json b/package-lock.json index 55ea88b..d2df880 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@ant-design/icons-vue": "^7.0.1", "ant-design-vue": "^4.2.6", "axios": "^1.8.2", + "dayjs": "^1.11.13", "vue": "^3.5.13", "vue-router": "^4.5.0", "vue3-slide-verify": "^1.1.6", diff --git a/package.json b/package.json index bef64fa..0a4f2ac 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@ant-design/icons-vue": "^7.0.1", "ant-design-vue": "^4.2.6", "axios": "^1.8.2", + "dayjs": "^1.11.13", "vue": "^3.5.13", "vue-router": "^4.5.0", "vue3-slide-verify": "^1.1.6", diff --git a/src/App.vue b/src/App.vue index dd6c8a0..cb526aa 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,9 +1,19 @@ diff --git a/src/main.js b/src/main.js index b8c5180..d4f4336 100644 --- a/src/main.js +++ b/src/main.js @@ -4,6 +4,8 @@ import router from "./router/index.js"; import Antd from 'ant-design-vue'; import App from './App.vue' import 'ant-design-vue/dist/reset.css'; +import store from "@/store/index.js"; let app = createApp(App) +app.use(store) app.use(router).use(Antd).mount('#app') diff --git a/src/pages/IndexPage.vue b/src/pages/IndexPage.vue index 71f0be9..8f90595 100644 --- a/src/pages/IndexPage.vue +++ b/src/pages/IndexPage.vue @@ -14,7 +14,13 @@ const isAdmin = computed(() => store.state.user.info?.isAdmin || false) onMounted(async () => { await store.dispatch('user/initialize') }) - +// 跳转后台 +const goToBackend = () => { + console.log("go to backend") + router.push({ + path: '/back', + }) +} const logout = () => { // 调用 Vuex action store.dispatch('user/logout') @@ -98,7 +104,7 @@ const handleBorrow = (book) => {

- 进入后台 + 进入后台 退出登录

diff --git a/src/pages/back/BackIndex.vue b/src/pages/back/BackIndex.vue new file mode 100644 index 0000000..ac2aabb --- /dev/null +++ b/src/pages/back/BackIndex.vue @@ -0,0 +1,5 @@ + + diff --git a/src/pages/back/BackUser.vue b/src/pages/back/BackUser.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/back/BookVueAdmin.vue b/src/pages/back/BookVueAdmin.vue new file mode 100644 index 0000000..4efede2 --- /dev/null +++ b/src/pages/back/BookVueAdmin.vue @@ -0,0 +1,333 @@ + + + + + diff --git a/src/router/index.js b/src/router/index.js index 9916821..ff97295 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -20,7 +20,17 @@ const routes = [ path: '/auth', name: 'AuthView', component: () => import('../views/AuthView.vue'), - } + }, + { + name:'BackView', + path:'/back', + component:()=>import('../views/BackView.vue'), + redirect:'/back/index', + children:[ + {name:'BackIndex',path:'/back/index',component:()=>import('../pages/back/BackIndex.vue')}, + {name:'BackUser',path:'user',component:()=>import('../pages/back/BackUser.vue')}, + {name:'BackBookAdmin',path:'/back/admin/book',component:()=>import('../pages/back/BookVueAdmin.vue')}, + ]}, ]; // 创建路由实例 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 8c1d792..654ea0a 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,17 @@ import service from '@/apis/axios'; import axios from 'axios'; import {auth_logout} from "@/apis/apis_auth.js"; +// 清除会话的辅助函数 +const clearSession = (state, commit) => { + state.info = null; + state.lastLogin = null; + localStorage.removeItem('userInfo'); + if (state.refreshTimer) { + clearTimeout(state.refreshTimer); + state.refreshTimer = null; + } + commit('CLEAR_SESSION'); +}; export default { namespaced: true, @@ -18,13 +29,14 @@ export default { state.lastLogin = new Date().toISOString(); }, CLEAR_SESSION(state) { - state.info = null; - state.lastLogin = null; - localStorage.removeItem('userInfo'); - if (state.refreshTimer) { - clearTimeout(state.refreshTimer); - state.refreshTimer = null; - } + // state.info = null; + // state.lastLogin = null; + // localStorage.removeItem('userInfo'); + // if (state.refreshTimer) { + // clearTimeout(state.refreshTimer); + // state.refreshTimer = null; + // } + clearSession(state, () => {}); }, }, actions: { @@ -44,8 +56,9 @@ export default { } }, CLEAR_SESSION({ commit }) { - commit('CLEAR_SESSION'); - localStorage.removeItem('userInfo'); + // commit('CLEAR_SESSION'); + // localStorage.removeItem('userInfo'); + clearSession(this.state, commit); }, async logout({commit}) { //向后端发起退出登录的请求 diff --git a/src/views/BackView.vue b/src/views/BackView.vue index 5176044..df439c0 100644 --- a/src/views/BackView.vue +++ b/src/views/BackView.vue @@ -1,11 +1,49 @@ - - -