From 4760bf3fd980f9c41a38b1453f94e8629fcee3bf Mon Sep 17 00:00:00 2001 From: gct <184852591@qq.com> Date: Thu, 21 Nov 2024 18:38:14 +0800 Subject: [PATCH] version2 --- README.md | 5 +- _1.gitignore | 24 -- index_1.html | 13 - package.json | 2 +- public/logo.png | Bin 2316 -> 0 bytes src/assets/user.png | Bin 0 -> 2882 bytes src/components/HelloWorld.vue | 43 --- src/main.js | 6 +- src/router.js | 161 ++++++++--- src/store/index.js | 29 +- src/store/user.js | 26 ++ src/stores/ageStore.js | 19 -- src/view/Login.vue | 255 ++++++++++++------ src/view/Register.vue | 178 +++++++++++++ src/view/Regiter.vue | 88 ------ src/view/courier/DeliveryTracking.vue | 162 ++++++++++++ src/view/courier/Feedback.vue | 78 ++++++ src/view/courier/Home.vue | 111 ++++++++ src/view/courier/Index.vue | 183 +++++++++++++ src/view/courier/OrderHistory.vue | 283 ++++++++++++++++++++ src/view/courier/OrderProcessing.vue | 192 ++++++++++++++ src/view/user/Address.vue | 193 ++++++++++++++ src/view/user/CourierComplaint.vue | 105 ++++++++ src/view/user/ExpressForm.vue | 368 ++++++++++++++------------ src/view/user/ExpressList.vue | 153 ----------- src/view/user/Home.vue | 142 ++++++++++ src/view/user/Index.vue | 229 +++++++++------- src/view/user/MyInfo.vue | 143 ---------- src/view/user/OrderManagement.vue | 240 +++++++++++++++++ src/view/user/ShipmentQuery.vue | 100 +++++++ src/view/user/userProfile.vue | 176 ++++++++++++ yarn.lock | 4 +- 32 files changed, 2826 insertions(+), 885 deletions(-) delete mode 100644 _1.gitignore delete mode 100644 index_1.html delete mode 100644 public/logo.png create mode 100644 src/assets/user.png delete mode 100644 src/components/HelloWorld.vue create mode 100644 src/store/user.js delete mode 100644 src/stores/ageStore.js create mode 100644 src/view/Register.vue delete mode 100644 src/view/Regiter.vue create mode 100644 src/view/courier/DeliveryTracking.vue create mode 100644 src/view/courier/Feedback.vue create mode 100644 src/view/courier/Home.vue create mode 100644 src/view/courier/Index.vue create mode 100644 src/view/courier/OrderHistory.vue create mode 100644 src/view/courier/OrderProcessing.vue create mode 100644 src/view/user/Address.vue create mode 100644 src/view/user/CourierComplaint.vue delete mode 100644 src/view/user/ExpressList.vue create mode 100644 src/view/user/Home.vue delete mode 100644 src/view/user/MyInfo.vue create mode 100644 src/view/user/OrderManagement.vue create mode 100644 src/view/user/ShipmentQuery.vue create mode 100644 src/view/user/userProfile.vue diff --git a/README.md b/README.md index fe09ed1..1511959 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ -# uml +# Vue 3 + Vite +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` - - diff --git a/package.json b/package.json index 699536d..a48a135 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "axios": "1.2.1", "element-plus": "2.2.19", "pinia": "2.0.27", - "pinia-plugin-persist": "1.0.0", + "pinia-plugin-persist": "^1.0.0", "vant": "4.0.0", "vue": "^3.4.37", "vue-router": "4" diff --git a/public/logo.png b/public/logo.png deleted file mode 100644 index 20a2c5700aa2e82d8061b5749a72422ad9973004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2316 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 literal 0 HcmV?d00001 diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index 546ebbc..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - - diff --git a/src/main.js b/src/main.js index a8fb35a..8dd3a1f 100644 --- a/src/main.js +++ b/src/main.js @@ -2,13 +2,15 @@ import { createApp } from 'vue' import './style.css' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' -//import App from './view/Regiter.vue' +//import App from './components/App.vue' import App from './App.vue' import router from './router' -import { PiniaVuePlugin, createPinia } from 'pinia' +import { PiniaVuePlugin,createPinia } from 'pinia' +import piniaPluginPersist from 'pinia-plugin-persist' const app=createApp(App) app.use(ElementPlus) app.use(router) const pinia=createPinia() +pinia.use(piniaPluginPersist) app.use(pinia) app.mount('#app') diff --git a/src/router.js b/src/router.js index 65ea83c..9e421c3 100644 --- a/src/router.js +++ b/src/router.js @@ -1,54 +1,133 @@ -import { createRouter,createWebHashHistory } from "vue-router"; +import { createRouter, createWebHashHistory } from "vue-router"; import { userStore } from "./store"; import { storeToRefs } from "pinia"; const router = createRouter({ - history:createWebHashHistory(), - routes:[{ - path:'/', - redirect:'login' - }, + history: createWebHashHistory(), + routes: [ + { + path: '/', + redirect: 'login' + }, + { + path: '/login', + name: 'Login', + component: () => import('./view/Login.vue'), + meta: { requiresAuth: false } // 不需要登录 + }, + { + path: '/register', + name: 'Register', + component: () => import('./view/Register.vue'), + meta: { requiresAuth: false } // 不需要登录 + }, + { + path: '/User', + name: 'User', + component: () => import("./view/user/Index.vue"), + redirect: "/User/Head", + children: [ + { + path: 'Head', + name: 'Head', + component: () => import("./view/user/Home.vue"), + meta: { requiresAuth: true } + }, + { + path: 'userProfile', + name: 'userProfile', + component: () => import("./view/user/userProfile.vue"), + meta: { requiresAuth: true } + }, + { + path: 'OrderManagement', + name: 'OrderManagement', + component: () => import("./view/user/OrderManagement.vue"), + meta: { requiresAuth: true } + }, + { + path: 'ExpressForm', + name: 'ExpressForm', + component: () => import("./view/user/ExpressForm.vue"), + meta: { requiresAuth: true } + }, + { + path: 'Address', + name: 'Address', + component: () => import("./view/user/Address.vue"), + meta: { requiresAuth: true } + }, + { + path: 'ShipmentQuery', + name: 'ShipmentQuery', + component: () => import("./view/user/ShipmentQuery.vue"), + meta: { requiresAuth: true } + }, + { + path: 'CourierComplaint', + name: 'CourierComplaint', + component: () => import("./view/user/CourierComplaint.vue"), + meta: { requiresAuth: true } + }, + ] + }, { - path:'/login', - name:'Login', - component:()=>import('./view/Login.vue') - }, - { - path:'/User', - name:'User', - component:()=>import("./view/user/index.vue"), - redirect:"/User/myInfo", - children:[ + path: '/Courier', + name: 'Courier', + component: () => import("./view/courier/index.vue"), + redirect: "/Courier/Home", + children: [ + { + path: 'Home', + name: 'Home', + component: () => import("./view/courier/Home.vue"), + meta: { requiresAuth: true }, + }, + { + path: 'orderProcessing', + name: 'orderProcessing', + component: () => import("./view/courier/OrderProcessing.vue"), + meta: { requiresAuth: true }, + }, { - path:'myInfo', - component:()=>import('./view/user/MyInfo.vue') + path: 'deliveryTracking', + name: 'deliveryTracking', + component: () => import("./view/courier/DeliveryTracking.vue"), + meta: { requiresAuth: true }, }, { - path:"expressList", - component:()=>import('./view/user/ExpressList.vue') + path: 'orderHistory', + name: 'orderHistory', + component: () => import("./view/courier/OrderHistory.vue"), + meta: { requiresAuth: true }, }, { - path:"expressForm", - component:()=>import('./view/user/ExpressForm.vue') + path: 'feedback', + name: 'feedback', + component: () => import("./view/courier/Feedback.vue"), + meta: { requiresAuth: true }, } ] } - ] -}) -router.beforeEach((to,from,next)=>{ - const store=userStore() - const {loginState}=storeToRefs(store) - console.log("路由守卫:",loginState.value) - if(to.name=="Login"){ - next() - }else{ - if(loginState.value){ - next() - }else{ - next({ - name:"Login" - }) - } - } -}) -export default router \ No newline at end of file + ] +}); + +router.beforeEach((to, from, next) => { + const store = userStore(); + const { loginState } = storeToRefs(store); + console.log("路由守卫:", loginState.value); + + // 如果路由的 meta.requiresAuth 为 false,直接允许访问 + if (to.meta.requiresAuth === false) { + next(); + } else { + // 否则检查登录状态 + if (loginState.value) { + next(); + } else { + next({ name: "Login" }); + } + } +}); + +export default router; diff --git a/src/store/index.js b/src/store/index.js index 9c32866..10b8319 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,15 +1,26 @@ -import { defineStore } from "pinia"; +import { + defineStore +} from "pinia"; -export const userStore = defineStore('storeId',{ - state:()=>{ - return{ - loginState:false +export const userStore = defineStore('storeId', { + state: () => { + return { + loginState: false } }, - getters:{}, - actions:{ - setLoginState(state){ - this.loginState=state + getters: {}, + actions: { + setLoginState(state) { + this.loginState = state } + }, + persist: { + enabled: true, // 开启数据缓存 + strategies: [{ + key: 'storeId', // 当前store的id + storage: localStorage, // 存储方式 + paths: ['loginState'] // 指定要持久化的字段 + }] } + }) \ No newline at end of file diff --git a/src/store/user.js b/src/store/user.js new file mode 100644 index 0000000..2dbc061 --- /dev/null +++ b/src/store/user.js @@ -0,0 +1,26 @@ +import { defineStore } from 'pinia'; + +export const useUserStore = defineStore('user', { + state: () => ({ + username: '用户', + email: 'user@example.com', + gender: '', + birthdate: new Date(), + phone: '', + selectedRegion: [], + }), + actions: { + updateProfile(profile) { + this.username = profile.username; + this.email = profile.email; + this.gender = profile.gender; + this.birthdate = profile.birthdate; + this.phone = profile.phone; + this.selectedRegion = profile.selectedRegion; + }, + }, + persist: { + key: 'user-profile', // 存储的键名 + storage: localStorage, // 使用 localStorage 持久化 + }, +}); diff --git a/src/stores/ageStore.js b/src/stores/ageStore.js deleted file mode 100644 index c3c2b2d..0000000 --- a/src/stores/ageStore.js +++ /dev/null @@ -1,19 +0,0 @@ -// stores/ageStore.js -import { defineStore } from 'pinia' - -export const useAgeStore = defineStore('ageStore', { - state: () => ({ - age: 20 // 设置初始年龄为20 - }), - actions: { - incrementAge() { - this.age++ - } - }, - persist: { - enabled: true, - strategies: [ - { storage: localStorage, paths: ['age'] } // 将age字段持久化到localStorage - ] - } -}) diff --git a/src/view/Login.vue b/src/view/Login.vue index 703b1e0..ba73efc 100644 --- a/src/view/Login.vue +++ b/src/view/Login.vue @@ -1,102 +1,191 @@ \ No newline at end of file diff --git a/src/view/Register.vue b/src/view/Register.vue new file mode 100644 index 0000000..5647a47 --- /dev/null +++ b/src/view/Register.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/view/Regiter.vue b/src/view/Regiter.vue deleted file mode 100644 index a46f092..0000000 --- a/src/view/Regiter.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - \ No newline at end of file diff --git a/src/view/courier/DeliveryTracking.vue b/src/view/courier/DeliveryTracking.vue new file mode 100644 index 0000000..f855e10 --- /dev/null +++ b/src/view/courier/DeliveryTracking.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/src/view/courier/Feedback.vue b/src/view/courier/Feedback.vue new file mode 100644 index 0000000..806ff60 --- /dev/null +++ b/src/view/courier/Feedback.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/view/courier/Home.vue b/src/view/courier/Home.vue new file mode 100644 index 0000000..dfdd6e0 --- /dev/null +++ b/src/view/courier/Home.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/view/courier/Index.vue b/src/view/courier/Index.vue new file mode 100644 index 0000000..18e4600 --- /dev/null +++ b/src/view/courier/Index.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/src/view/courier/OrderHistory.vue b/src/view/courier/OrderHistory.vue new file mode 100644 index 0000000..2e3593b --- /dev/null +++ b/src/view/courier/OrderHistory.vue @@ -0,0 +1,283 @@ + + + + + diff --git a/src/view/courier/OrderProcessing.vue b/src/view/courier/OrderProcessing.vue new file mode 100644 index 0000000..2a48644 --- /dev/null +++ b/src/view/courier/OrderProcessing.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/src/view/user/Address.vue b/src/view/user/Address.vue new file mode 100644 index 0000000..03a50c9 --- /dev/null +++ b/src/view/user/Address.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/view/user/CourierComplaint.vue b/src/view/user/CourierComplaint.vue new file mode 100644 index 0000000..d9736f8 --- /dev/null +++ b/src/view/user/CourierComplaint.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/view/user/ExpressForm.vue b/src/view/user/ExpressForm.vue index a911e4b..29c01fe 100644 --- a/src/view/user/ExpressForm.vue +++ b/src/view/user/ExpressForm.vue @@ -1,203 +1,241 @@ + diff --git a/src/view/user/ExpressList.vue b/src/view/user/ExpressList.vue deleted file mode 100644 index 6b16741..0000000 --- a/src/view/user/ExpressList.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/view/user/Home.vue b/src/view/user/Home.vue new file mode 100644 index 0000000..e3b5270 --- /dev/null +++ b/src/view/user/Home.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/view/user/Index.vue b/src/view/user/Index.vue index 57d1223..8094f7b 100644 --- a/src/view/user/Index.vue +++ b/src/view/user/Index.vue @@ -1,82 +1,77 @@ - - \ No newline at end of file + .user-controls { + display: flex; + align-items: center; + } + diff --git a/src/view/user/MyInfo.vue b/src/view/user/MyInfo.vue deleted file mode 100644 index 16b9e89..0000000 --- a/src/view/user/MyInfo.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/view/user/OrderManagement.vue b/src/view/user/OrderManagement.vue new file mode 100644 index 0000000..ef9c162 --- /dev/null +++ b/src/view/user/OrderManagement.vue @@ -0,0 +1,240 @@ + + + + + \ No newline at end of file diff --git a/src/view/user/ShipmentQuery.vue b/src/view/user/ShipmentQuery.vue new file mode 100644 index 0000000..c4dae5c --- /dev/null +++ b/src/view/user/ShipmentQuery.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/view/user/userProfile.vue b/src/view/user/userProfile.vue new file mode 100644 index 0000000..2c6389d --- /dev/null +++ b/src/view/user/userProfile.vue @@ -0,0 +1,176 @@ + + + + + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index dacd5b9..bfc8dd1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -691,9 +691,9 @@ picocolors@^1.0.1: resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== -pinia-plugin-persist@1.0.0: +pinia-plugin-persist@^1.0.0: version "1.0.0" - resolved "https://registry.npmmirror.com/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz#fc696f225527f30bd5955109fafadd43c725e888" + resolved "https://registry.yarnpkg.com/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz#fc696f225527f30bd5955109fafadd43c725e888" integrity sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw== dependencies: vue-demi "^0.12.1"