From 483cb4ec8cf2ba52fb71fbb61efea06d7df4bdd1 Mon Sep 17 00:00:00 2001 From: jhy <184825448@qq.com> Date: Fri, 16 Oct 2026 19:42:41 +0800 Subject: [PATCH] feat: add account settings and router dependency --- frontend/package-lock.json | 24 +++++- frontend/package.json | 25 +++++- frontend/src/router.ts | 1 + frontend/src/views/AccountSettingsView.vue | 96 ++++++++++++++++++++++ frontend/src/views/ProfileView.vue | 2 +- 5 files changed, 142 insertions(+), 6 deletions(-) create mode 100644 frontend/src/views/AccountSettingsView.vue diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2814320..f3d774d 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,7 +9,8 @@ "version": "0.1.0", "dependencies": { "lucide-vue-next": "^0.468.0", - "vue": "^3.5.13" + "vue": "^3.5.13", + "vue-router": "^4.6.4" }, "devDependencies": { "@types/node": "^22.10.2", @@ -1043,6 +1044,12 @@ "he": "^1.2.0" } }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, "node_modules/@vue/language-core": { "version": "2.2.12", "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.2.12.tgz", @@ -1565,6 +1572,21 @@ } } }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, "node_modules/vue-tsc": { "version": "2.2.12", "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.2.12.tgz", diff --git a/frontend/package.json b/frontend/package.json index 4ad8c9b..533fa60 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,23 @@ { - "name": "nalati-rag-frontend", "private": true, "version": "0.1.0", "type": "module", - "scripts": {"dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview"}, - "dependencies": {"lucide-vue-next": "^0.468.0", "vue": "^3.5.13"}, - "devDependencies": {"@types/node": "^22.10.2", "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.2", "vite": "^6.0.5", "vue-tsc": "^2.2.0"} + "name": "nalati-rag-frontend", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "lucide-vue-next": "^0.468.0", + "vue": "^3.5.13", + "vue-router": "^4.6.4" + }, + "devDependencies": { + "@types/node": "^22.10.2", + "@vitejs/plugin-vue": "^5.2.1", + "typescript": "~5.7.2", + "vite": "^6.0.5", + "vue-tsc": "^2.2.0" + } } diff --git a/frontend/src/router.ts b/frontend/src/router.ts index 8866a6a..6171ca7 100644 --- a/frontend/src/router.ts +++ b/frontend/src/router.ts @@ -9,6 +9,7 @@ const router=createRouter({history:createWebHistory(),routes:[ {path:'/login',component:()=>import('./views/LoginView.vue'),meta:{public:true}}, {path:'/register',component:()=>import('./views/RegisterView.vue'),meta:{public:true}}, {path:'/profile',component:()=>import('./views/ProfileView.vue')}, + {path:'/settings',component:()=>import('./views/AccountSettingsView.vue')}, {path:'/admin',component:()=>import('./views/AdminView.vue'),meta:{role:'admin'}}, ]}) router.beforeEach(async to=>{if(to.meta.public)return true;try{role=(await getCurrentUser()).role}catch{return {path:'/login',query:{redirect:to.fullPath}}}if(to.meta.role&&role!==to.meta.role)return {path:'/profile',query:{forbidden:'1'}};return true}) diff --git a/frontend/src/views/AccountSettingsView.vue b/frontend/src/views/AccountSettingsView.vue new file mode 100644 index 0000000..612fd15 --- /dev/null +++ b/frontend/src/views/AccountSettingsView.vue @@ -0,0 +1,96 @@ + + + diff --git a/frontend/src/views/ProfileView.vue b/frontend/src/views/ProfileView.vue index 2faf2d1..e211c86 100644 --- a/frontend/src/views/ProfileView.vue +++ b/frontend/src/views/ProfileView.vue @@ -1 +1 @@ - +