"use strict"; const common_vendor = require("../common/vendor.js"); const utils_api = require("./api.js"); const TOKEN_KEY = "user_token"; const USER_INFO_KEY = "user_info"; const setToken = (token) => { common_vendor.index.setStorageSync(TOKEN_KEY, token); }; const getToken = () => { return common_vendor.index.getStorageSync(TOKEN_KEY) || null; }; const removeToken = () => { common_vendor.index.removeStorageSync(TOKEN_KEY); }; const setUserInfo = (userInfo) => { common_vendor.index.setStorageSync(USER_INFO_KEY, JSON.stringify(userInfo)); }; const getUserInfo = () => { const userInfo = common_vendor.index.getStorageSync(USER_INFO_KEY); return userInfo ? JSON.parse(userInfo) : null; }; const removeUserInfo = () => { common_vendor.index.removeStorageSync(USER_INFO_KEY); }; const isLoggedIn = () => { return !!getToken(); }; const logout = () => { removeToken(); removeUserInfo(); }; const wxSilentLogin = async (loginCode) => { try { console.log("[静默登录] 开始检查用户状态, code:", loginCode); const result = await utils_api.wxSilentLoginApi({ loginCode }); console.log("[静默登录] 后端响应:", result); if (result.code === 200 && result.data.isSign === "true" && result.data.token) { setToken(result.data.token); console.log("[静默登录] 老用户登录成功"); await fetchAndSaveUserInfo(); } return result.data; } catch (error) { console.error("[静默登录] 失败:", error); throw error; } }; const wxPhoneLogin = async (params) => { try { console.log("[手机号登录] 开始验证手机号"); const result = await utils_api.wxPhoneLoginApi(params); console.log("[手机号登录] 后端响应:", result); if (result.code === 200 && result.data.isSign === "true" && result.data.token) { setToken(result.data.token); console.log("[手机号登录] 已注册用户登录成功"); await fetchAndSaveUserInfo(); } return result.data; } catch (error) { console.error("[手机号登录] 失败:", error); throw error; } }; const wxCompleteUserInfo = async (userInfo) => { try { console.log("[完善信息] 提交用户信息"); const result = await utils_api.wxCompleteUserInfoApi(userInfo); console.log("[完善信息] 后端响应:", result); if (result.code === 200 && result.data.token) { setToken(result.data.token); console.log("[完善信息] 注册成功"); await fetchAndSaveUserInfo(); return true; } else { throw new Error(result.message || "注册失败"); } } catch (error) { console.error("[完善信息] 失败:", error); throw error; } }; const fetchAndSaveUserInfo = async () => { try { const result = await utils_api.getUserInfoApi(); if (result.code === 200 && result.data) { setUserInfo(result.data); console.log("[用户信息] 获取成功"); } } catch (error) { console.error("[用户信息] 获取失败:", error); } }; const checkLogin = (callback) => { if (isLoggedIn()) { return true; } common_vendor.index.showModal({ title: "登录提示", content: '此功能需要登录后使用,请点击"立即登录"按钮进行授权', showCancel: false, confirmText: "我知道了" }); return false; }; exports.checkLogin = checkLogin; exports.getUserInfo = getUserInfo; exports.isLoggedIn = isLoggedIn; exports.logout = logout; exports.setUserInfo = setUserInfo; exports.wxCompleteUserInfo = wxCompleteUserInfo; exports.wxPhoneLogin = wxPhoneLogin; exports.wxSilentLogin = wxSilentLogin;