zzd
This commit is contained in:
1 parent
26fc9d27ed
commit
df64d5cbc3
1 file changed
+14
-3
@@ -222,12 +222,17 @@ const autoLogin = async (): Promise<boolean> => {
|
||||
function isZzdNeedSmsVerify(data: unknown): data is { needSmsVerify: true; bindSessionId: string; displayName?: string } {
|
||||
if (!data || typeof data !== "object") return false
|
||||
const o = data as Record<string, unknown>
|
||||
return o.needSmsVerify === true && typeof o.bindSessionId === "string"
|
||||
const need =
|
||||
o.needSmsVerify === true || o.needSmsVerify === "true" || o.needSmsVerify === 1 || o.needSmsVerify === "1"
|
||||
const sid = o.bindSessionId
|
||||
const sidStr = typeof sid === "string" ? sid : sid != null ? String(sid) : ""
|
||||
return need && sidStr.length > 0
|
||||
}
|
||||
|
||||
function goZzdSmsVerify(data: { bindSessionId: string; displayName?: string }) {
|
||||
const sid = typeof data.bindSessionId === "string" ? data.bindSessionId : String(data.bindSessionId || "")
|
||||
const name = typeof data.displayName === "string" ? data.displayName : ""
|
||||
const q = `bindSessionId=${encodeURIComponent(data.bindSessionId)}&displayName=${encodeURIComponent(name)}`
|
||||
const q = `bindSessionId=${encodeURIComponent(sid)}&displayName=${encodeURIComponent(name)}`
|
||||
uni.reLaunch({ url: `/pages/user/zzdSmsVerify?${q}` })
|
||||
}
|
||||
|
||||
@@ -252,9 +257,14 @@ async function zzdLoginCore(): Promise<"ok" | "sms" | "failed"> {
|
||||
const res: any = await userApi.auth({ authCode })
|
||||
if (res?.code == 0) {
|
||||
if (isZzdNeedSmsVerify(res.data)) {
|
||||
goZzdSmsVerify(res.data)
|
||||
goZzdSmsVerify(res.data as { bindSessionId: string; displayName?: string })
|
||||
return "sms"
|
||||
}
|
||||
const d = res.data
|
||||
if (!d || typeof d !== "object" || (!d.accessToken && !d.refreshToken)) {
|
||||
uni.showToast({ title: "登录返回数据异常,请重试", icon: "none", duration: 4000 })
|
||||
return "failed"
|
||||
}
|
||||
uni.setStorageSync(TOKEN_KEY, res.data)
|
||||
const { data: userData } = await userApi.userInfo()
|
||||
uni.setStorageSync(USER_INFO_KEY, userData)
|
||||
@@ -263,6 +273,7 @@ async function zzdLoginCore(): Promise<"ok" | "sms" | "failed"> {
|
||||
if (res?.msg) {
|
||||
uni.showToast({ title: res.msg, icon: "none", duration: 4000 })
|
||||
}
|
||||
return "failed"
|
||||
} catch (e) {
|
||||
console.warn("[loginByZzd] authCode 登录未成功,尝试 uabaseToken", e)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user