"use strict"; const common_vendor = require("../common/vendor.js"); const DEV_BASE_URL = "http://192.168.1.3:8080"; const BASE_URL = DEV_BASE_URL; const getToken = () => { return common_vendor.index.getStorageSync("user_token") || null; }; const request = (options) => { return new Promise((resolve, reject) => { const token = getToken(); const header = options.header || {}; if (token) { header["Authorization"] = `Bearer ${token}`; } common_vendor.index.request({ url: `${BASE_URL}${options.url}`, method: options.method || "GET", data: options.data || {}, header, success: (res) => { if (res.statusCode === 200) { resolve(res.data); } else if (res.statusCode === 401) { common_vendor.index.showToast({ title: "登录已过期,请重新登录", icon: "none", duration: 2e3 }); common_vendor.index.removeStorageSync("user_token"); common_vendor.index.removeStorageSync("user_info"); setTimeout(() => { common_vendor.index.showModal({ title: "登录提示", content: '登录已过期,请前往"模拟排名"或"强势池"页面重新登录', confirmText: "去登录", cancelText: "取消", success: (modalRes) => { if (modalRes.confirm) { common_vendor.index.switchTab({ url: "/pages/rank/rank" }); } } }); }, 2e3); reject(new Error("未授权")); } else { reject(new Error(res.data.message || "服务暂不可用")); } }, fail: (err) => { reject(new Error("网络异常")); } }); }); }; const wxLogin = (params) => { return request({ url: "/v1/auth/wxLogin", method: "POST", header: { "content-type": "application/json" }, data: params }); }; const updateUserProfile = (data) => { return request({ url: "/v1/user/profile", method: "PUT", header: { "content-type": "application/json" }, data }); }; const getSuggestions = (keyword) => { return request({ url: "/v1/stock/suggestion", method: "GET", data: { keyword } }); }; const searchStocks = (keyword) => { return request({ url: "/v1/stock/search", method: "POST", header: { "content-type": "application/json" }, data: { keyword } }); }; const getUserPortfolio = () => { return request({ url: "/v1/user/portfolio", method: "GET" }); }; const getLeaderboard = () => { return request({ url: "/v1/rank/leaderboard", method: "GET" }); }; exports.getLeaderboard = getLeaderboard; exports.getSuggestions = getSuggestions; exports.getUserPortfolio = getUserPortfolio; exports.searchStocks = searchStocks; exports.updateUserProfile = updateUserProfile; exports.wxLogin = wxLogin;