From d44cf3af14c46fc96cd94525e46d191e5f700463 Mon Sep 17 00:00:00 2001
From: Jacob <hlnie@tohours.com>
Date: 星期三, 14 十月 2026 13:20:03 +0800
Subject: [PATCH] Merge branch 'master' into sit
---
utils/request.js | 88 +++++++++++++++++++++++++++++++++++++++++++-
mixins/pageLog.js | 28 ++++++++++++++
main.js | 4 ++
3 files changed, 118 insertions(+), 2 deletions(-)
diff --git a/main.js b/main.js
index 25b063b..7755f77 100644
--- a/main.js
+++ b/main.js
@@ -222,6 +222,10 @@
import miniCollect from './libs/miniCollect';
Vue.mixin(miniCollect);
+
+// 鍏ㄥ眬椤甸潰鏃ュ織 mixin锛氳繘鍏ラ〉闈㈡椂鎵撳嵃椤甸潰鍦板潃涓庢墍鏈夊叆鍙�
+import pageLog from '@/mixins/pageLog';
+Vue.mixin(pageLog);
import BigNumber from 'bignumber.js';
Vue.prototype.toNumber = function(number) {
if (isNaN(number)) {
diff --git a/mixins/pageLog.js b/mixins/pageLog.js
new file mode 100644
index 0000000..75366fe
--- /dev/null
+++ b/mixins/pageLog.js
@@ -0,0 +1,28 @@
+/**
+ * 鍏ㄥ眬椤甸潰鏃ュ織 mixin
+ * 姣忎釜椤甸潰 onLoad 鏃舵墦鍗帮細杩涘叆椤甸潰璺緞 + 瀹屾暣鍦板潃 + 鎵�鏈夊叆鍙� options
+ *
+ * 涓婄嚎鍓嶅彲缃� ENABLE_PAGE_LOG 涓� false 鍏抽棴
+ */
+const ENABLE_PAGE_LOG = true;
+
+export default {
+ onLoad(options = {}) {
+ if (!ENABLE_PAGE_LOG) return;
+
+ // onLoad 鏃跺綋鍓嶉〉闈㈠凡鍏ユ爤锛屽彲浠ヤ粠椤甸潰鏍堣鍙栬矾寰�
+ const pages = getCurrentPages();
+ const curPage = pages[pages.length - 1] || {};
+ const route = curPage.route || (curPage.$page && curPage.$page.route) || '';
+ const fullPath = (curPage.$page && curPage.$page.fullPath) || '';
+
+ console.log('\n鈹忊攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲敁');
+ console.log('鈹� 馃搫 杩涘叆椤甸潰 [' + new Date().toLocaleString() + ']');
+ console.log('鈹b攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲敨');
+ console.log('鈹� 椤甸潰璺緞: ' + (route || '(鏈煡)'));
+ console.log('鈹� 瀹屾暣鍦板潃: ' + (fullPath || '(鏈煡)'));
+ console.log('鈹� 鍏ュ弬 options:');
+ console.log(options || {});
+ console.log('鈹椻攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲敍\n');
+ }
+}
diff --git a/utils/request.js b/utils/request.js
index 3fd5c29..7414c34 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -10,6 +10,49 @@
} from '../libs/login';
import store from '../store';
+// ========== 鎺ュ彛璇锋眰鏃ュ織寮�鍏充笌宸ュ叿 ==========
+// 鏄惁鍚敤鎺ュ彛璇︾粏鏃ュ織锛坱rue 寮�鍚紝false 鍏抽棴锛涗笂绾垮墠鍙疆涓� false锛�
+const ENABLE_REQUEST_LOG = true;
+
+/**
+ * 缁熶竴鎵撳嵃鎺ュ彛璇锋眰鏃ュ織锛堣姹傜粨鏉熷悗璋冪敤锛�
+ * 鍖呭惈锛氳姹傚湴鍧�銆佽姹傛柟娉曘�佽姹傚弬鏁般�佸搷搴旂姸鎬併�佸搷搴旀姤鏂囥�佽�楁椂
+ */
+function printRequestLog({
+ url,
+ method,
+ data,
+ status,
+ response,
+ isError,
+ startTime,
+ errMsg
+}) {
+ if (!ENABLE_REQUEST_LOG) return;
+
+ const baseUrl = HTTP_REQUEST_URL || 'http://api.front.hdq.xbdzz.cn';
+ const fullUrl = baseUrl + '/api/front/' + url;
+ const costTime = startTime ? (Date.now() - startTime) + 'ms' : 'N/A';
+ const tag = isError ? '鉁� 鎺ュ彛璇锋眰澶辫触' : '鉁� 鎺ュ彛璇锋眰瀹屾垚';
+ const time = new Date().toLocaleString();
+
+ console.log('\n鈹忊攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲敁');
+ console.log('鈹� ' + tag + ' [' + time + ']');
+ console.log('鈹b攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲敨');
+ console.log('鈹� 璇锋眰鍦板潃: ' + fullUrl);
+ console.log('鈹� 璇锋眰鏂规硶: ' + ((method || 'GET').toUpperCase()));
+ console.log('鈹� 璇锋眰鍙傛暟:');
+ console.log(data || {});
+ console.log('鈹� 鍝嶅簲鐘舵��: ' + (status !== undefined ? status : (isError ? '璇锋眰澶辫触' : 'N/A')));
+ console.log('鈹� 鍝嶅簲鎶ユ枃:');
+ console.log(response);
+ if (isError && errMsg) {
+ console.log('鈹� 閿欒淇℃伅: ' + errMsg);
+ }
+ console.log('鈹� 璇锋眰鑰楁椂: ' + costTime);
+ console.log('鈹椻攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲攣鈹佲敍\n');
+}
+
function filterData(data) {
if (!data) return {}
if (Array.isArray(data)) return data
@@ -35,7 +78,6 @@
if (params != undefined) {
header = HEADERPARAMS;
}
- console.log(123123123123123123, url)
if (!noAuth) {
//鐧诲綍杩囨湡鑷姩鐧诲綍
if (!store.state.app.token && !checkLogin()) {
@@ -55,23 +97,45 @@
return new Promise((resolve, reject) => {
Url = HTTP_REQUEST_URL || 'http://api.front.hdq.xbdzz.cn';
let app = getApp();
+ const startTime = Date.now();
+ const reqData = filterData(data);
uni.request({
url: Url + '/api/front/' + url,
method: method || 'GET',
header: header,
- data: filterData(data),
+ data: reqData,
success: (res) => {
// if(url.indexOf('pre/order')>=0){
// res.data.code=601;
// }
+ // 鎴愬姛 / 闈炶嚧鍛藉垎鏀細缁熶竴鎵撳嵃涓�浠芥棩蹇楋紙gio/log 涓� noVerify 璧扮櫧鍚嶅崟锛屼笉鎵撴棩蹇楋級
if (url.indexOf('gio/log') >= 0) {
resolve(res.data, res);
} else if (noVerify) {
resolve(res.data, res);
} else if (res.data.code == 200) {
+ printRequestLog({
+ url,
+ method,
+ data: reqData,
+ status: res.statusCode,
+ response: res.data,
+ isError: false,
+ startTime
+ });
resolve(res.data, res);
} else if ([410000, 410001, 410002, 401].indexOf(res.data.code) !== -1) {
//鎺ュ彛杩斿洖闇�瑕佺櫥褰�
+ printRequestLog({
+ url,
+ method,
+ data: reqData,
+ status: res.statusCode,
+ response: res.data,
+ isError: true,
+ startTime,
+ errMsg: '闇�瑕佺櫥褰� code=' + res.data.code
+ });
console.log('闇�瑕佺櫥褰� url ' + url, res.data)
uni.$emit('needLogin');
uni.showToast({
@@ -79,6 +143,16 @@
});
reject(res.data);
} else {
+ printRequestLog({
+ url,
+ method,
+ data: reqData,
+ status: res.statusCode,
+ response: res.data,
+ isError: true,
+ startTime,
+ errMsg: res.data.message || '绯荤粺閿欒'
+ });
if (app) {
uni.$emit("showTips", {
'title': res.data.message || '绯荤粺閿欒',
@@ -95,6 +169,16 @@
}
},
fail: (msg) => {
+ printRequestLog({
+ url,
+ method,
+ data: reqData,
+ status: undefined,
+ response: msg,
+ isError: true,
+ startTime,
+ errMsg: '缃戠粶璇锋眰澶辫触'
+ });
console.log(url, msg);
if (app) {
uni.$emit("showTips", {
--
Gitblit v1.4.0