From f90b7c7764c2a040aa42b50179223e1e01765843 Mon Sep 17 00:00:00 2001 From: gouki Date: Sun, 9 Aug 2026 00:10:05 +0000 Subject: [PATCH] =?UTF-8?q?fix(mini):=20BASE=5FURL=20=E6=8C=89=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E7=8E=AF=E5=A2=83=E8=87=AA=E5=8A=A8=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - develop 走本地开发服务,trial/release 走 https://lunar.neatcn.com(原为硬编码 localhost:8080,线上无法连通) - 401 时清除失效 token 交由页面引导重新登录,不再跳转设置页 - 补交 version-badge 组件源码 --- .../components/version-badge/version-badge.js | 46 +++++++++++++++++++ .../version-badge/version-badge.json | 4 ++ .../version-badge/version-badge.wxml | 6 +++ .../version-badge/version-badge.wxss | 22 +++++++++ mini/utils/request.js | 24 ++++++++-- 5 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 mini/components/version-badge/version-badge.js create mode 100644 mini/components/version-badge/version-badge.json create mode 100644 mini/components/version-badge/version-badge.wxml create mode 100644 mini/components/version-badge/version-badge.wxss diff --git a/mini/components/version-badge/version-badge.js b/mini/components/version-badge/version-badge.js new file mode 100644 index 0000000..391da78 --- /dev/null +++ b/mini/components/version-badge/version-badge.js @@ -0,0 +1,46 @@ +/** + * 版本号显示组件 + * 使用方法: + * + */ + +const versionInfo = require('../../utils/version.js'); + +Component({ + properties: { + // 是否显示详细信息(构建编号、commit SHA) + showDetail: { + type: Boolean, + value: false + }, + // 是否显示构建时间 + showTime: { + type: Boolean, + value: false + } + }, + + data: { + version: versionInfo.version, + buildNumber: versionInfo.buildNumber, + buildTime: versionInfo.buildTime, + commitSha: versionInfo.commitSha + }, + + lifetimes: { + attached() { + // 格式化构建时间 + if (this.data.buildTime && this.data.buildTime !== 'unknown') { + const date = new Date(this.data.buildTime); + const formatted = date.toLocaleString('zh-CN', { + year: 'numeric', + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit' + }); + this.setData({ formattedTime: formatted }); + } + } + } +}); diff --git a/mini/components/version-badge/version-badge.json b/mini/components/version-badge/version-badge.json new file mode 100644 index 0000000..a89ef4d --- /dev/null +++ b/mini/components/version-badge/version-badge.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} diff --git a/mini/components/version-badge/version-badge.wxml b/mini/components/version-badge/version-badge.wxml new file mode 100644 index 0000000..2512230 --- /dev/null +++ b/mini/components/version-badge/version-badge.wxml @@ -0,0 +1,6 @@ + + v{{version}} + #{{buildNumber}} + ({{commitSha}}) + {{formattedTime}} + diff --git a/mini/components/version-badge/version-badge.wxss b/mini/components/version-badge/version-badge.wxss new file mode 100644 index 0000000..17d273a --- /dev/null +++ b/mini/components/version-badge/version-badge.wxss @@ -0,0 +1,22 @@ +.version-badge { + display: inline-flex; + align-items: center; + gap: 4px; + font-size: 12px; + color: #9E8E7E; +} + +.version-text { + font-weight: 500; +} + +.version-detail { + font-size: 11px; + opacity: 0.8; +} + +.version-time { + font-size: 11px; + opacity: 0.6; + margin-left: 4px; +} diff --git a/mini/utils/request.js b/mini/utils/request.js index c14cdf0..a900f86 100644 --- a/mini/utils/request.js +++ b/mini/utils/request.js @@ -1,5 +1,23 @@ // 网络请求封装 -const BASE_URL = 'http://localhost:8080'; // 开发环境 +// 按小程序运行环境自动切换后端地址: +// - develop(开发者工具):本地开发服务 +// - trial/release(体验版/正式版):生产域名(需在微信公众平台配置为 request 合法域名) +const API_HOSTS = { + develop: 'http://localhost:8080', + trial: 'https://lunar.neatcn.com', + release: 'https://lunar.neatcn.com', +}; + +function resolveBaseUrl() { + try { + const envVersion = wx.getAccountInfoSync().miniProgram.envVersion; + return API_HOSTS[envVersion] || API_HOSTS.release; + } catch (e) { + return API_HOSTS.release; + } +} + +const BASE_URL = resolveBaseUrl(); // 请求拦截器 function request(options) { @@ -20,8 +38,8 @@ function request(options) { if (res.statusCode === 200) { resolve(res.data); } else if (res.statusCode === 401) { - // 未授权,跳转登录 - wx.navigateTo({ url: '/pages/settings/settings' }); + // 未授权:清除失效 token,由页面引导重新登录 + wx.removeStorageSync('token'); reject(new Error('未授权')); } else { reject(new Error(res.data.msg || '请求失败'));