From bf9ff43046b860bcab7e5653c8799bb95e539945 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期四, 07 八月 2025 10:09:12 +0800
Subject: [PATCH] 更新项目配置,将登录方式从账号密码登录改为验证码登录,以支持新的登录策略。
---
api/request.js | 105 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 87 insertions(+), 18 deletions(-)
diff --git a/api/request.js b/api/request.js
index 29411f7..ab0c6e7 100644
--- a/api/request.js
+++ b/api/request.js
@@ -1,7 +1,7 @@
// 寮曞叆鐘舵�佺爜statusCode
const statusCode = require('./statusCode')
// 瀹氫箟璇锋眰璺緞, BASEURL: 鏅�氳姹侫PI; CBASEURL: 涓彴API,涓嶄娇鐢ㄤ腑鍙板彲涓嶅紩鍏BASEURL
-const { BASEURL } = require('./config')
+const config = require('./config')
// 瀹氫箟榛樿鍙傛暟
const defaultOptions = {
data: {},
@@ -17,12 +17,32 @@
* ignoreToken: <Boolean> 鏄惁蹇界暐token楠岃瘉
* form: <Boolean> 鏄惁浣跨敤formData璇锋眰
*/
-function request (options) {
- let _options = Object.assign(defaultOptions, options)
- let { method, url, data, ignoreToken, form } = _options
+function request(options) {
+ // let _options = Object.assign(defaultOptions, options)
+ let _options = {
+ ...defaultOptions,
+ ...options
+ }
+ let {
+ method,
+ url,
+ data,
+ ignoreToken,
+ form,
+ isShowLoding,
+ timeout,
+ header,
+ useParams
+ } = _options
+
+ // 妫�鏌rl鏄惁涓簎ndefined
+ if (!url) {
+ console.error('璇锋眰URL涓嶈兘涓虹┖');
+ return Promise.reject(new Error('璇锋眰URL涓嶈兘涓虹┖'));
+ }
+
const app = getApp()
// 璁剧疆璇锋眰澶�
- let header = {}
if (form) {
header = {
'content-type': 'application/x-www-form-urlencoded'
@@ -32,23 +52,58 @@
'content-type': 'application/json' //鑷畾涔夎姹傚ご淇℃伅
}
}
+ if (!timeout) {
+ timeout = 60000
+ }
+
if (!ignoreToken) {
// 浠庡叏灞�鍙橀噺涓幏鍙杢oken
let token = app.globalData.token
header.Authorization = `Bearer ${token}`
}
+ header.tag = app.globalData.tag;
+ header.appId = app.globalData.AppID;
return new Promise((resolve, reject) => {
+ // 鑾峰彇鏈�鏂扮殑 BASEURL
+ let currentBaseUrl = app.globalData.baseUrl || config.BASEURL;
+
+ console.log("url:" + currentBaseUrl + url);
+ if (isShowLoding) {
+ wx.showLoading({
+ title: '閫氫俊涓�...', // 鍔犺浇鍔ㄧ敾鏍囬
+ mask: true, // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫�
+ });
+ }
+ let myUrl;
+ if (url.startsWith('http')) {
+ myUrl = url;
+ } else {
+ myUrl = currentBaseUrl + url;
+ }
+ // 濡傛灉 useParams 涓� true锛屾嫾鎺ユ煡璇㈠弬鏁�
+ if (useParams && data) {
+ const queryString = objToQueryString(data); // 浣跨敤涓婇潰瀹氫箟鐨勫嚱鏁�
+ myUrl += `?${queryString}`; // 鎷兼帴鏌ヨ瀛楃涓�
+ data = {}; // 璇锋眰浣撴暟鎹涓虹┖
+ }
wx.request({
- url: BASEURL + url,
+ url: myUrl,
data,
header,
method,
+ timeout: timeout,
success: (res) => {
- let { statusCode: code } = res
+ let {
+ statusCode: code
+ } = res
+ console.log("success statusCode:" + code);
+ if (isShowLoding) {
+ wx.hideLoading(); // 闅愯棌鍔犺浇鍔ㄧ敾
+ }
if (code === statusCode.SUCCESS) {
- if (res.data.code !== 0) {
+ if (res.data.code !== "0001") {
// 缁熶竴澶勭悊璇锋眰閿欒
- showToast(res.data.errorMsg)
+ // showToast(res.data.errorMsg)
reject(res.data)
return
}
@@ -58,21 +113,33 @@
showToast(`鐧诲綍杩囨湡, 璇烽噸鏂板埛鏂伴〉闈)
reject(res.data)
} else {
- showToast(`璇锋眰閿欒${url}, CODE: ${code}`)
+ // showToast(`璇锋眰閿欒${url}, CODE: ${code}`)
+ console.log("success 璇锋眰閿欒:" + code);
reject(res.data)
}
+ console.log("success statusCode:1111111111");
},
fail: (err) => {
- console.log('%c err', 'color: red;font-weight: bold', err)
- showToast(err.errMsg)
+ console.log("Error " + err);
+ if (isShowLoding) {
+ wx.hideLoading(); // 闅愯棌鍔犺浇鍔ㄧ敾
+ }
+ // showToast(err.errMsg)
reject(err)
}
})
})
}
-
+function objToQueryString(obj) {
+ return Object.keys(obj)
+ .map(key => {
+ // 瀵归敭鍜屽�艰繘琛� URL 缂栫爜
+ return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
+ })
+ .join('&'); // 灏嗘墍鏈夐敭鍊煎鐢� '&' 杩炴帴璧锋潵
+}
// 灏佽toast鍑芥暟
-function showToast (title, icon='none', duration=2500, mask=false) {
+function showToast(title, icon = 'none', duration = 2500, mask = false) {
wx.showToast({
title: title || '',
icon,
@@ -81,14 +148,14 @@
});
}
-function get (options) {
+function get(options) {
return request({
method: 'GET',
...options
})
}
-function post (options) {
+function post(options) {
// url, data = {}, ignoreToken, form
return request({
method: 'POST',
@@ -97,5 +164,7 @@
}
module.exports = {
- request, get, post
-}
+ request,
+ get,
+ post
+}
\ No newline at end of file
--
Gitblit v1.8.0