diff --git a/src/api/modules/user.js b/src/api/modules/user.js
index 05cc251..16c3138 100644
--- a/src/api/modules/user.js
+++ b/src/api/modules/user.js
@@ -24,11 +24,16 @@ export function getUserDetail(id) {
return get(`/user/detail/${id}`)
}
-export function getUserInfo() {
+export function getUserInfo(userName) {
+ // 兼容老逻辑:不传 userName 走 system 接口
+ // 新逻辑:有 userName 则按用户名走对应接口
+ if (userName) {
+ return getUserInfoByUserName(encodeURIComponent(userName))
+ }
return get('/system/user/getInfo')
}
// 获取用户信息(按用户名)
export function getUserInfoByUserName(userName) {
return get(`/user/getInfo/${userName}`)
-}
+}
\ No newline at end of file
diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index 9ed6912..a689730 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -84,6 +84,9 @@ async function handleLogin() {
if (response.refreshToken) {
userStore.setRefreshToken(response.refreshToken)
}
+
+ // 记录登录账号,供后续页面按用户名取用户信息
+ userStore.setUserName({ userName: formData.username })
}
uni.showToast({ title: '登录成功', icon: 'success' })
diff --git a/src/pages/user/index.vue b/src/pages/user/index.vue
index 0fc6e65..c2eea7b 100644
--- a/src/pages/user/index.vue
+++ b/src/pages/user/index.vue
@@ -8,13 +8,13 @@
width="120rpx" height="120rpx" />
- {{ userInfo.name }}-{{ userInfo.position }}
- 所属单位:{{ userInfo.unit }}
+ {{ userInfo.nickName }}-{{ userInfo.remark }}
+ 所属单位:{{ userInfo.deptName }}
- 联系方式:{{ userInfo.phone }} 邮箱:{{ userInfo.email }}
+ 联系方式:{{ userInfo.phonenumber }} 邮箱:{{ userInfo.email }}
@@ -40,7 +40,7 @@ import { getUserInfo } from '@/api'
const userInfo = ref({
id: '', // 用户ID2
- name: '', // 用户名
+ nickName: '', // 用户名
phone: '', // 手机号
email: '', // 邮箱
position: '', // 职位
@@ -52,24 +52,36 @@ const getInfo = async () => {
const res = await getUserInfo()
if (res?.code === 200) {
- const data = res.user || {}
- const dept = res.user.dept || {}
- const role = Array.isArray(res.user.roles) ? res.user.roles[0] : null
+ // const data = res.user || {}
+ // const dept = data.dept || {}
+ // roles 可能为空/不存在,兜底成空对象,避免 role 为 null/undefined 时取 roleName 报错
+ // const role = Array.isArray(data.roles) ? (data.roles[0] || {}) : {}
+
+ // userInfo.value = {
+ // id: data.userId ?? data.id ?? '',
+ // name: data.nickName ?? data.userName ?? '',
+ // phone: data.phonenumber ?? '',
+ // email: data.email ?? '',
+ // // 后端若有 remark/roleName 取其中一个;字段不存在则为空字符串
+ // position: data.remark ?? role.roleName ?? '',
+ // unit: dept.deptName ?? '',
+ // avatar: data.avatar ?? data.avatarUrl ?? '',
+ // }
+ // console.log(userInfo.value)
userInfo.value = {
- id: data.userId ?? data.id ?? '',
- name: data.nickName ?? data.userName ?? '',
- phone: data.phonenumber ?? '',
- email: data.email ?? '',
-
- // position: data.remark ?? role?.roleName ?? '',
- position: role.roleName ?? '',
- unit: dept.deptName ?? '',
- avatar: data.avatar ?? data.avatarUrl ?? '',
+ // id: res.data.userId ?? data.id ?? '',
+ nickName: res.user.nickName,
+ phonenumber: res.user.phonenumber ?? '',
+ email: res.user.email ?? '',
+ remark: res.user.remark ?? res.user.roleNames ?? '',
+ deptName: res.user.dept.deptName ?? '',
+ avatar: res.user.avatar ?? res.user.avatarUrl ?? '',
}
+ console.log(userInfo.value)
} else {
uni.showToast({
- title: res?.msg || '获取用户信息失败',
+ title: res?.msg || '获取用户信息失败1',
icon: 'none',
})
}