优化uniapp

This commit is contained in:
hero920103 committed 2026-11-11 16:58:30 +08:00
1 parent 4f1acaa451
commit 8fc52c574f
49 files changed
+1952 -197

No files matched your search

+2 -2
View File
@@ -111,7 +111,7 @@ func (c *AuthAppTicketController) Exchange() {
}
var req struct {
Ticket string `json:"ticket"`
Token string `json:"token"` // 兼容 mp-login 的命名
Token string `json:"token"` // 兼容 mp-login 的命名
ClientID string `json:"client_id"`
}
if err := json.Unmarshal(body, &req); err != nil {
@@ -143,7 +143,7 @@ func (c *AuthAppTicketController) Exchange() {
return
}
username := "云泽用户"
username := "温新云用户"
if identity.Nickname != nil && strings.TrimSpace(*identity.Nickname) != "" {
username = strings.TrimSpace(*identity.Nickname)
}
+15 -11
View File
@@ -17,7 +17,7 @@ import (
// 小程序登录失败原因(前端按此分支给出不同引导)
const (
MiniReasonNotConfigured = "not_configured" // 服务端未配置小程序
MiniReasonIdentityNotFound = "identity_not_found" // 微信未匹配到云泽账号
MiniReasonIdentityNotFound = "identity_not_found" // 微信未匹配到温新云账号
MiniReasonNoTenant = "no_tenant" // 账号未加入任何企业
MiniReasonWechatAPI = "wechat_api_error" // 微信接口报错
)
@@ -120,7 +120,7 @@ func (c *AuthWechatMiniController) Login() {
return
}
// 定位云泽身份:手机号优先(已通过微信验证),其次查已绑定的小程序 openid
// 定位温新云身份:手机号优先(已通过微信验证),其次查已绑定的小程序 openid
var mobile string
if req.PhoneCode != "" {
phone, perr := wechatmini.GetPhoneNumber(cfg, req.PhoneCode)
@@ -137,7 +137,7 @@ func (c *AuthWechatMiniController) Login() {
identity, err := c.resolveIdentity(cfg, mobile, session)
if err != nil {
c.fail(MiniReasonIdentityNotFound, 404, "该微信未绑定云泽账号,请使用手机号一键登录或先注册")
c.fail(MiniReasonIdentityNotFound, 404, "该微信未绑定温新云账号,请使用手机号一键登录或先注册")
return
}
if identity.Status != models.AuthIdentityStatusEnabled {
@@ -147,15 +147,18 @@ func (c *AuthWechatMiniController) Login() {
// 企业选择:单企业直接进入,多企业签发待选令牌由前端展示选择界面
tenants, lerr := authsvc.ListTenantOptions(identity.ID)
if lerr != nil || len(tenants) == 0 {
c.fail(MiniReasonNoTenant, 403, "该账号未加入任何企业,请联系管理员")
if lerr != nil {
c.fail("", 400, "获取企业列表失败,请重试")
return
}
// 新流程:账号已注册但尚未加入企业时仍签发正式令牌(tid=0),
// 端上可继续使用原免登录模块,并在进入需企业模块时引导创建/挂靠企业。
noTenant := len(tenants) == 0
tid := uint64(0)
needChoose := false
if len(tenants) == 1 {
tid = tenants[0].Tid
} else {
} else if len(tenants) > 1 {
tid = authsvc.PendingTenantID
needChoose = true
}
@@ -174,11 +177,12 @@ func (c *AuthWechatMiniController) Login() {
}
resp := map[string]interface{}{
"code": 200,
"msg": "登录成功",
"tokens": tokens,
"tenants": tenants,
"identity": map[string]interface{}{"id": identity.ID, "nickname": username, "mobile": mobileOr(identity)},
"code": 200,
"msg": "登录成功",
"tokens": tokens,
"tenants": tenants,
"identity": map[string]interface{}{"id": identity.ID, "nickname": username, "mobile": mobileOr(identity)},
"need_tenant": noTenant,
}
if needChoose {
resp["need_choose_tenant"] = true