feat(小程序): 修复运行时与登录链路

This commit is contained in:
stu2not
2026-04-22 17:25:03 +08:00
parent 24b1d1025b
commit d7df6f565c
12 changed files with 297 additions and 426 deletions

View File

@@ -1,5 +1,9 @@
import Taro from '@tarojs/taro'
import {
clearLoginSession,
getCurrentUserId as getStoredCurrentUserId,
getToken as getStoredToken,
saveLoginSession,
} from './session'
import { request } from './api'
export interface WechatLoginPayload {
@@ -25,40 +29,19 @@ export interface Parent {
status: number
}
// 微信登录
export async function wechatLogin(data: WechatLoginPayload): Promise<LoginSession> {
const session = await request<LoginSession>('/auth/login', {
method: 'POST',
data,
})
Taro.setStorageSync('token', session.access_token)
Taro.setStorageSync('token_type', session.token_type)
Taro.setStorageSync('user_id', session.user_id)
Taro.setStorageSync('expires_in', session.expires_in)
saveLoginSession(session)
return session
}
// 创建家长
export async function createParent(data: {
openid: string
unionid?: string
nickname?: string
avatar_url?: string
}): Promise<Parent> {
return request<Parent>('/parents', {
method: 'POST',
data,
})
}
// 获取家长信息
export async function getParent(userId: number): Promise<Parent> {
return request<Parent>(`/parents/${userId}`)
}
// 更新家长信息
export async function updateParent(
userId: number,
data: { nickname?: string; avatar_url?: string; phone?: string }
@@ -69,20 +52,14 @@ export async function updateParent(
})
}
// 获取 token
export function getToken(): string {
return Taro.getStorageSync('token')
return getStoredToken()
}
// 清除 token
export function clearToken(): void {
Taro.removeStorageSync('token')
Taro.removeStorageSync('token_type')
Taro.removeStorageSync('user_id')
Taro.removeStorageSync('expires_in')
clearLoginSession()
}
// 获取当前用户ID
export function getCurrentUserId(): number {
return Taro.getStorageSync('user_id') || 0
return getStoredCurrentUserId()
}