| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- "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;
|