显示创建用户
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import { api } from './index'
|
||||
|
||||
export const usersApi = {
|
||||
|
||||
getUserInfoFromUserID(UserID) {
|
||||
return api.get('/users/getuserinfo/'+UserID)
|
||||
},
|
||||
}
|
||||
@@ -122,7 +122,7 @@ const navItems = computed(() => [
|
||||
alt="avatar"
|
||||
/>
|
||||
<span class="max-w-24 truncate">{{
|
||||
userStore.user?.Name || ""
|
||||
userStore.userInfo?userStore.userInfo.Username:userStore.user.Name
|
||||
}}</span>
|
||||
</button>
|
||||
<Transition
|
||||
|
||||
@@ -2,13 +2,35 @@
|
||||
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref } from 'vue'
|
||||
import { usersApi } from '@/api/users';
|
||||
|
||||
export const useUsersStore = defineStore('users', () => {
|
||||
const usersInfo =ref([]);
|
||||
|
||||
function getUsernameFromUserID(userID){
|
||||
//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 "123"
|
||||
return "..." // 第一次返回这个,不会空白/报错
|
||||
}
|
||||
}
|
||||
|
||||
return{
|
||||
|
||||
Reference in New Issue
Block a user