2 lines
1.8 KiB
JavaScript
2 lines
1.8 KiB
JavaScript
"use strict";const e=require("../common/vendor.js"),o="http://115.190.188.216:2850";function t(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map((e=>t(e)));const o={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){o[r.replace(/_([a-z])/g,((e,o)=>o.toUpperCase()))]=t(e[r])}return o}function r(r){const{url:s,method:a="GET",data:i,header:c={}}=r,d=e.index.getStorageSync("token")||"";return new Promise(((r,l)=>{e.index.request({url:`${o}${s}`,method:a,data:i,header:{"Content-Type":"application/json",...d?{Authorization:`Bearer ${d}`}:{},...c},success(o){const s=o.statusCode;if(401===s)return e.index.removeStorageSync("token"),e.index.showToast({title:"请重新登录",icon:"none"}),n(),void l(new Error("未授权"));if(s>=200&&s<300){const n=o.data;if(0===n.code){const e=t(n.data);r(e)}else e.index.showToast({title:n.message||"请求失败",icon:"none"}),l(new Error(n.message))}else e.index.showToast({title:"网络异常,请稍后重试",icon:"none"}),l(new Error(`HTTP ${s}`))},fail(o){e.index.showToast({title:"网络异常,请稍后重试",icon:"none"}),l(o)}})}))}function n(){return new Promise(((o,t)=>{e.index.login({provider:"weixin",success:async n=>{if(n.code)try{const t=await r({url:"/api/auth/wx-login",method:"POST",data:{code:n.code}});e.index.setStorageSync("token",t.token),o()}catch(s){console.error("登录接口调用失败:",s),t(s)}else console.error("微信登录获取 code 失败"),t(new Error("获取微信 code 失败"))},fail:e=>{console.error("uni.login 失败:",e),t(e)}})}))}exports.BASE_URL=o,exports.autoLogin=n,exports.del=(e,o)=>r({url:e,method:"DELETE",data:o}),exports.get=(e,o)=>r({url:e,method:"GET",data:o}),exports.post=(e,o)=>r({url:e,method:"POST",data:o}),exports.put=(e,o)=>r({url:e,method:"PUT",data:o});
|