feat: 接入微信隐私授权API和用户信息获取
- WxSDK 新增隐私授权检查和用户信息获取方法 - StorageManager 新增用户信息本地缓存方法 - PageHome 进入时检查隐私授权状态 - PageWriteLevels 分享时获取用户头像昵称并上传服务端 - ApiConfig 新增用户信息 API 端点 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,9 @@ export class StorageManager {
|
||||
/** 认证 token 存储键 */
|
||||
private static readonly KEY_TOKEN = 'auth_token';
|
||||
|
||||
/** 用户信息存储键 */
|
||||
private static readonly KEY_USER_INFO = 'user_info';
|
||||
|
||||
/** 默认积分 */
|
||||
private static readonly DEFAULT_POINTS = 10;
|
||||
|
||||
@@ -264,6 +267,48 @@ export class StorageManager {
|
||||
StorageManager.resetPoints();
|
||||
StorageManager.resetProgress();
|
||||
StorageManager.clearToken();
|
||||
StorageManager.clearUserInfo();
|
||||
console.log('[StorageManager] 所有数据已重置');
|
||||
}
|
||||
|
||||
// ==================== 用户信息管理 ====================
|
||||
|
||||
/**
|
||||
* 用户信息结构
|
||||
*/
|
||||
interface UserInfo {
|
||||
avatarUrl: string;
|
||||
nickName: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存用户信息(头像、昵称)
|
||||
* @param userInfo 用户信息对象
|
||||
*/
|
||||
static setUserInfo(userInfo: UserInfo): void {
|
||||
sys.localStorage.setItem(StorageManager.KEY_USER_INFO, JSON.stringify(userInfo));
|
||||
console.log('[StorageManager] 用户信息已保存');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取本地缓存的用户信息
|
||||
* @returns 用户信息对象或 null
|
||||
*/
|
||||
static getUserInfo(): UserInfo | null {
|
||||
const data = sys.localStorage.getItem(StorageManager.KEY_USER_INFO);
|
||||
if (!data) return null;
|
||||
try {
|
||||
return JSON.parse(data) as UserInfo;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除用户信息缓存
|
||||
*/
|
||||
static clearUserInfo(): void {
|
||||
sys.localStorage.removeItem(StorageManager.KEY_USER_INFO);
|
||||
console.log('[StorageManager] 用户信息已清除');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user