From 0969af5ade82ed252d7c9a8924d5ffe04c944499 Mon Sep 17 00:00:00 2001 From: Cxx0822 <1556464090@qq.com> Date: Sat, 28 Jun 2025 15:54:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9B=B4=E6=96=B0=E6=9C=8B=E5=8F=8B?= =?UTF-8?q?=E5=9C=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + pnpm-lock.yaml | 15 ++ src/apis/user.ts | 15 +- src/components/Food/FoodCard.vue | 4 +- src/components/Food/FoodMaterialDialog.vue | 2 +- src/components/Food/FoodStepDialog.vue | 10 +- src/components/Login/CommonLogin.vue | 28 ++-- src/components/Moment/MomentCard.vue | 33 +++- src/components/Profile/ProfileCard.vue | 120 ++++++++++++++ src/layout/index.vue | 6 +- src/store/app.ts | 2 +- src/store/auth.ts | 12 +- src/store/food.ts | 1 + src/store/user.ts | 12 +- src/styles/life.detail.module.scss | 4 +- src/types/auth.ts | 2 - src/utils/element/elRules.ts | 28 ++++ src/views/moment/{momentForm.vue => form.vue} | 0 src/views/moment/profile.vue | 28 ++++ src/views/profile/index.vue | 150 +++++++++++++++--- src/views/profile/info.vue | 125 +++++++++++++++ src/views/profile/password.vue | 70 ++++++++ 22 files changed, 598 insertions(+), 70 deletions(-) create mode 100644 src/components/Profile/ProfileCard.vue rename src/views/moment/{momentForm.vue => form.vue} (100%) create mode 100644 src/views/moment/profile.vue create mode 100644 src/views/profile/info.vue create mode 100644 src/views/profile/password.vue diff --git a/package.json b/package.json index 1bdd3ed..e573be6 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ }, "dependencies": { "@vueuse/core": "^13.1.0", + "element-china-area-data": "^6.1.0", "element-plus": "^2.9.7", "vue": "^3.5.13", "vue3-common": "git+https://gitee.com/Cxx0822/vue3-common", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 20540f0..c26c6e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@vueuse/core': specifier: ^13.1.0 version: 13.4.0(vue@3.5.17(typescript@5.8.3)) + element-china-area-data: + specifier: ^6.1.0 + version: 6.1.0 element-plus: specifier: ^2.9.7 version: 2.10.2(vue@3.5.17(typescript@5.8.3)) @@ -833,6 +836,9 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + china-division@2.7.0: + resolution: {integrity: sha512-4uUPAT+1WfqDh5jytq7omdCmHNk3j+k76zEG/2IqaGcYB90c2SwcixttcypdsZ3T/9tN1TTpBDoeZn+Yw/qBEA==} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -958,6 +964,9 @@ packages: echarts@5.6.0: resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==} + element-china-area-data@6.1.0: + resolution: {integrity: sha512-IkpcjwQv2A/2AxFiSoaISZ+oMw1rZCPUSOg5sOCwT5jKc96TaawmKZeY81xfxXsO0QbKxU5LLc6AirhG52hUmg==} + element-plus@2.10.2: resolution: {integrity: sha512-p2KiAa0jEGXrzdlTAfpiS7HQFAhla4gvx6H7RuDf+OO0uC3DGpolxvdHjFR8gt7+vaWyxQNcHa1sAdBkmjqlgA==} peerDependencies: @@ -2772,6 +2781,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + china-division@2.7.0: {} + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -2891,6 +2902,10 @@ snapshots: tslib: 2.3.0 zrender: 5.6.1 + element-china-area-data@6.1.0: + dependencies: + china-division: 2.7.0 + element-plus@2.10.2(vue@3.5.17(typescript@5.8.3)): dependencies: '@ctrl/tinycolor': 3.6.1 diff --git a/src/apis/user.ts b/src/apis/user.ts index d3e0c14..28c0523 100644 --- a/src/apis/user.ts +++ b/src/apis/user.ts @@ -1,9 +1,22 @@ import { cloudService } from './index' import type { ISession, IUser } from '@/types/auth' -export const registerApi = (user: IUser): Promise => +export const registerApi = (username: string, password: string): Promise => cloudService({ url: '/food-service/user', method: 'post', + params: { username, password } + }) + +export const queryUserApi = (id: number): Promise => + cloudService({ + url: `/food-service/user/${id}`, + method: 'get' + }) + +export const updateUserApi = (id: number, user: IUser): Promise => + cloudService({ + url: `/food-service/user/${id}`, + method: 'put', data: user }) diff --git a/src/components/Food/FoodCard.vue b/src/components/Food/FoodCard.vue index f7c3b9e..0e7c22e 100644 --- a/src/components/Food/FoodCard.vue +++ b/src/components/Food/FoodCard.vue @@ -28,7 +28,7 @@
- @@ -59,7 +59,7 @@ diff --git a/src/components/Moment/MomentCard.vue b/src/components/Moment/MomentCard.vue index 388fa65..cad1151 100644 --- a/src/components/Moment/MomentCard.vue +++ b/src/components/Moment/MomentCard.vue @@ -1,6 +1,6 @@