diff --git a/src/pagesMember/profile/profile.vue b/src/pagesMember/profile/profile.vue index f1c0a52..35cd517 100644 --- a/src/pagesMember/profile/profile.vue +++ b/src/pagesMember/profile/profile.vue @@ -22,7 +22,7 @@ 昵称 - + 性别 @@ -66,7 +66,7 @@ - + @@ -75,13 +75,13 @@ import { onLoad } from '@dcloudio/uni-app' import { ref } from 'vue' import type { Gender, ProfileDetail } from '@/types/member' -import { getMemberProfileAPI } from '@/services/profile' +import { getMemberProfileAPI, putMemberProfileAPI } from '@/services/profile' // 获取屏幕边界到安全区域距离 const { safeAreaInsets } = uni.getSystemInfoSync() -// 获取个人信息 -const profile = ref() +// 获取个人信息,修改个人信息需提供初始值 +const profile = ref({} as ProfileDetail) const getMemberProfileData = async () => { const res = await getMemberProfileAPI() profile.value = res.result @@ -120,6 +120,17 @@ const onAvatarChange = () => { }) } +const onSubmit = async () => { + //修改个人信息 + const res = await putMemberProfileAPI({ + nickname: profile.value.nickname, + }) + // 成功提示 + uni.showToast({ + icon: 'success', + title: '保存成功', + }) +} onLoad(() => { getMemberProfileData() }) diff --git a/src/services/profile.ts b/src/services/profile.ts index eb224f0..eb6d200 100644 --- a/src/services/profile.ts +++ b/src/services/profile.ts @@ -1,4 +1,4 @@ -import type { ProfileDetail } from '@/types/member' +import type { ProfileDetail, ProfileParams } from '@/types/member' import { http } from '@/utils/http' /** @@ -10,3 +10,15 @@ export const getMemberProfileAPI = () => { url: '/member/profile', }) } + +/** + * 修改个人信息 + * @param data 请求体参数 + */ +export const putMemberProfileAPI = (data: ProfileParams) => { + return http({ + method: 'PUT', + url: '/member/profile', + data, + }) +} diff --git a/src/types/member.d.ts b/src/types/member.d.ts index 85dda74..a31fc0f 100644 --- a/src/types/member.d.ts +++ b/src/types/member.d.ts @@ -31,3 +31,16 @@ export type ProfileDetail = BaseProfile & { } /** 性别 */ export type Gender = '女' | '男' + +/** 个人信息 修改请求体参数 */ +export type ProfileParams = Pick< + ProfileDetail, + 'nickname' | 'gender' | 'birthday' | 'profession' +> & { + /** 省份编码 */ + provinceCode?: string + /** 城市编码 */ + cityCode?: string + /** 区/县编码 */ + countyCode?: string +}