From 212abe0084fd7eabba4ebda1480ce9ee1834c1c9 Mon Sep 17 00:00:00 2001
From: xiaolai <1372917576@qq.com>
Date: Mon, 16 Dec 2024 16:55:26 +0800
Subject: [PATCH] 11
---
src/router1.js | 126 ++++++++++++++++++++++++++
src/view/register1.vue | 201 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 327 insertions(+)
create mode 100644 src/router1.js
create mode 100644 src/view/register1.vue
diff --git a/src/router1.js b/src/router1.js
new file mode 100644
index 0000000..f07e281
--- /dev/null
+++ b/src/router1.js
@@ -0,0 +1,126 @@
+import {
+ createRouter,
+ createWebHistory
+} from 'vue-router';
+import {
+ userStore,
+ useExpressStore
+} from './store';
+import {
+ ElMessage
+} from 'element-plus';
+
+
+import request from "./request"
+
+const router = createRouter({
+ history: createWebHistory(),
+ routes: [{
+ path: "/",
+ redirect: "login"
+ },
+ {
+ path: '/login',
+ name: 'Login',
+ component: () => import("./view/login.vue")
+ },
+ {
+ path: "/register",
+ name: "Register",
+ component: () => import("./view/register.vue")
+ },
+ {
+ path: '/user',
+ name: 'User',
+ redirect: localStorage.getItem("isAdmin") ? '/user/expressList' : '/user/myInfo',
+ component: () => import("./view/user/index.vue"),
+ children: [{
+ path: 'myInfo',
+ component: () => import("./view/user/MyInfo.vue"),
+ },
+ {
+ path: 'expressList',
+ component: () => import("./view/user/ExpressList.vue"),
+ },
+ {
+ path: 'expressForm',
+ component: () => import("./view/user/ExpressForm.vue"),
+ },
+ {
+ path: "signed",
+ component: () => import("./view/user/SignedList.vue"),
+ }
+ ]
+ },
+ ]
+});
+
+router.beforeEach((to, from, next) => {
+ const userStore_ = userStore()
+ if (to.name === 'Login' || to.name === "Register") {
+ next();
+ } else {
+ const token = localStorage.getItem("token")
+ if (token) {
+ //重新请求express
+ const expressStore = useExpressStore()
+ request({
+ method: "get",
+ url: "/express",
+ }).then(({
+ data
+ }) => {
+ if (data.code === 0) {
+ expressStore.setExpress(data.data)
+ console.log(data.data, "重新设置express成功")
+
+ }
+ })
+
+ //有秘钥,重新请求userInfo
+ request({
+ method: "get",
+ url: "/user/whoami",
+ }).then(({
+ data
+ }) => {
+ //获取用户信息
+ if (data.code === 0) {
+ //重新设置信息
+ userStore_.setUserInfo(data.data)
+ //重新设置秘钥
+ userStore_.setToken(token)
+ userStore_.setAdmin(localStorage.getItem("isAdmin"))
+
+ console.log("重新响应成功", data.data)
+ if (localStorage.getItem("isAdmin") && token.name === "User") {
+ next({
+ path: "/user/expressList"
+ })
+ } else {
+ next()
+ }
+ } else {
+ //获取失败,秘钥过期
+ ElMessage({
+ message: "登录已过期,请重新登录",
+ type: "error"
+ })
+ //将过期的token删除
+ localStorage.removeItem("token")
+ next({
+ name: "Login"
+ })
+ }
+ })
+ //有秘钥就通过
+ } else {
+ next({
+ name: "Login"
+ })
+ }
+ }
+})
+
+
+export default router;
\ No newline at end of file
diff --git a/src/view/register1.vue b/src/view/register1.vue
new file mode 100644
index 0000000..a9fca19
--- /dev/null
+++ b/src/view/register1.vue
@@ -0,0 +1,201 @@
+
+
+
注册
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我是快递员
+
+
+
+
+
+ 我已阅读并同意《用户协议》
+
+
+
+
+
+ 注册
+ 返回登录
+
+
+
+
+
+
+
+
+