diff --git a/backend/my_work/routers/apiUsers.go b/backend/my_work/routers/apiUsers.go
index 0d5d77e..a3aa578 100644
--- a/backend/my_work/routers/apiUsers.go
+++ b/backend/my_work/routers/apiUsers.go
@@ -107,6 +107,39 @@ func AuthenticationAuthorityFromCookie(c string) (*models.TabUser_, error) {
} else {
return nil, errors.New("cookie 参数错误")
}
+}
+
+func GetUserInfoFromUserID(userID uint) (*models.TabUserInfo_){
+ //通过id获取用户info
+
+ if(userID <=0){
+ return nil
+ }
+
+ //先查询用户是否存在
+ var user models.TabUser_
+ user.ID = userID
+
+ if models.DB.Where(&user).First(&user).Error==nil{
+ var userinfo models.TabUserInfo_
+ userinfo.UserID=user.ID
+ if models.DB.Where(&userinfo).First(&userinfo).Error==nil{
+ return &userinfo
+ }else{
+ //无记录,创建一条
+ userinfo.Username=user.Name
+ userinfo.FirstName=user.Email
+ userinfo.Birthdate=(time.Now())
+ models.DB.Create(&userinfo)
+ return &userinfo
+ }
+ }
+
+ return nil
+
+
+
+
}
func AuthenticationAuthority(ctx *gin.Context) (bool, models.TabUser_, map[string]interface{}) {
@@ -130,6 +163,8 @@ func AuthenticationAuthority(ctx *gin.Context) (bool, models.TabUser_, map[strin
}
+
+
func ApiUser(r *gin.RouterGroup) {
r.GET("/test", func(ctx *gin.Context) {
@@ -139,6 +174,23 @@ func ApiUser(r *gin.RouterGroup) {
ReturnJson(ctx, "apiOK", nil)
})
+ //get获取用户info
+ r.GET("/getuserinfo/:id",func(ctx *gin.Context) {
+ idStr := ctx.Param("id")
+ id, err := strconv.Atoi(idStr)
+ var redata map[string]interface{} = make(map[string]interface{})
+ if err == nil {
+ userinfo:=GetUserInfoFromUserID(uint(id))
+ if(userinfo!=nil){
+ redata["userinfo"]=*userinfo
+ }
+
+ }
+
+ ReturnJson(ctx, "apiOK", redata)
+
+ })
+
//修改用户密码
r.POST("/changePassword", func(ctx *gin.Context) {
isAuth, user, data := AuthenticationAuthority(ctx)
@@ -343,26 +395,15 @@ func ApiUser(r *gin.RouterGroup) {
isAuth, user, _ := AuthenticationAuthority(ctx)
if isAuth {
//载入用户info
- var userinfo models.TabUserInfo_
- userinfo.UserID = user.ID
+
//fmt.Println(userInfo)
var redata map[string]interface{} = make(map[string]interface{})
- if models.DB.Where(&userinfo).First(&userinfo).Error == nil {
- redata["userInfo"] = userinfo
- } else {
- //无记录,创建一条
- userinfo.Username=user.Name
- userinfo.FirstName=user.Email
- userinfo.Birthdate=(time.Now())
- models.DB.Create(&userinfo)
- //重新拉一条数据
-
- redata["userInfo"] = userinfo
- }
+
+ info:=GetUserInfoFromUserID(user.ID)
+ redata["userInfo"] = *info
user.Pass = ""
user.Salt = ""
-
redata["user"] = user
ReturnJson(ctx, "apiOK", redata)
diff --git a/frontend/ops_vue_js/src/api/users.js b/frontend/ops_vue_js/src/api/users.js
new file mode 100644
index 0000000..59e9db1
--- /dev/null
+++ b/frontend/ops_vue_js/src/api/users.js
@@ -0,0 +1,8 @@
+import { api } from './index'
+
+export const usersApi = {
+
+ getUserInfoFromUserID(UserID) {
+ return api.get('/users/getuserinfo/'+UserID)
+ },
+}
\ No newline at end of file
diff --git a/frontend/ops_vue_js/src/components/AppHeader.vue b/frontend/ops_vue_js/src/components/AppHeader.vue
index 41ed532..144e77a 100644
--- a/frontend/ops_vue_js/src/components/AppHeader.vue
+++ b/frontend/ops_vue_js/src/components/AppHeader.vue
@@ -122,7 +122,7 @@ const navItems = computed(() => [
alt="avatar"
/>
{{
- userStore.user?.Name || ""
+ userStore.userInfo?userStore.userInfo.Username:userStore.user.Name
}}
{
const usersInfo =ref([]);
function getUsernameFromUserID(userID){
-
- return "123"
+ //console.log(userID)
+ //先在usersInfo找找有没有
+ const target = usersInfo.value?.find(item => item.UserID === userID)
+ if(target){
+ return target.Username //有的话直接返回
+ }else{
+ //没有的话 询问后端
+ usersApi.getUserInfoFromUserID(userID).then((r)=>{
+ //console.log(r)
+ if(r.errCode==0)
+ {
+ switch(r.raw.err_code){
+ case 0:
+ if(r.raw.return.userinfo){
+ usersInfo.value.push(r.raw.return.userinfo)
+ }
+ break;
+ }
+ }
+ })
+
+ return "..." // 第一次返回这个,不会空白/报错
+ }
}
return{