文件
fenleixinxi/uniapp/common/config/index.js
MiAn b0eb1134a5 feat: 新增微信小程序虚拟支付提审防审模式及相关功能
本次提交主要实现微信小程序虚拟支付提审防审机制,包括:
1. 后台配置虚拟支付防审开关,支持开启/关闭模式
2. 前端根据开关状态及设备类型,iOS设备自动触发合规提示
3. 分销模块调整提现规则,无门槛即时提现
4. 登录页面优化,增加返回和暂不登录入口,符合微信审核规范
5. 新增提现记录页面,优化分销中心界面布局

该功能确保微信提审期间能顺利通过审核,审核通过后可一键切换为正常运营模式,无需重新发布小程序代码。
2026-11-01 22:41:27 +08:00

96 行
3.2 KiB
JavaScript

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

/**
* 全局配置
*
* 环境(无需手动切换):
* - HBuilderX「运行」 → NODE_ENV=development → dev:本地后端
* - HBuilderX「发行/打包」→ NODE_ENV=production → prod:远程正式后端
*/
/**
* 检测当前运行环境是否为生产环境(prod)
*
* 解决 HBuilderX 发行小程序时后台地址未生效的问题:
* 1. 编译期静态宏替换:
* 在 HBuilderX 发行/构建时,构建工具(Vite/Webpack)会直接将 `process.env.NODE_ENV` 宏替换为 `"production"`。
* 千万不能在外部包裹 `typeof process !== 'undefined'`,否则编译后保留该判断,
* 而在微信小程序运行时环境中全局没有 process 对象,导致判断为 false 误回退为开发环境。
* 2. 微信小程序运行态兜底:
* 通过 uni.getAccountInfoSync 读取小程序 envVersion,体验版(trial)和正式版(release)均自动切换为生产接口。
*
* @returns {boolean} 是否为生产环境
*/
function detectIsProduction() {
// 1. 编译期宏替换判断(发行模式下 process.env.NODE_ENV 在打包时会被替换为 'production')
if (process.env.NODE_ENV === 'production') {
return true
}
// 2. 微信小程序运行期环境版本兜底判断
// #ifdef MP-WEIXIN
try {
const accountInfo = typeof uni !== 'undefined' && uni.getAccountInfoSync && uni.getAccountInfoSync()
const envVersion = accountInfo && accountInfo.miniProgram && accountInfo.miniProgram.envVersion
if (envVersion === 'release' || envVersion === 'trial') {
return true
}
} catch (e) {
// 忽略异常,降级处理
}
// #endif
return false
}
// 生产环境标识
const IS_PROD = detectIsProduction()
const IS_DEV = !IS_PROD
const ENV = IS_PROD ? 'production' : 'development'
// 各环境后端域名(dev=运行 / prod=发行)
const HOSTS = {
dev: 'https://5d7ae990.r9.cpolar.cn', // 本地后端(phpstudy 虚拟域名与端口 9980)
prod: 'https://shanjianxiaocang.com', // 远程正式后端
}
// 接口统一前缀
const API_PREFIX = '/api'
// 网关 = 域名 + /api(版本号由下方 apiVersion 拼接)
const BASE_URL = (IS_PROD ? HOSTS.prod : HOSTS.dev) + API_PREFIX
export const config = {
// 当前环境:'development'(HBuilderX 运行)| 'production'(发行)
env: ENV,
// 是否开发环境便于页面按需分支
isDev: IS_DEV,
// 后端服务地址(后台地址来自 AGENTS.md)
baseURL: BASE_URL,
// 接口版本
apiVersion: 'v1',
// 请求超时(ms)
timeout: 15000,
// 默认支付方式:'balance' 余额支付 / 'wxpay' 微信支付
defaultPayType: 'wxpay',
// 本地存储键
storageKeys: {
token: 'fc_token',
refreshToken: 'fc_refresh_token',
userInfo: 'fc_user_info',
userType: 'fc_user_type',
history: 'fc_search_history',
cart: 'fc_purchase_cart',
},
// 业务常量
constants: {
// 用户类型:个人 / 商家
USER_TYPE: { PERSON: 1, BUSINESS: 2 },
// 付费方式:微信 / 余额
PAY_TYPE: { WXPAY: 'wxpay', BALANCE: 'balance' },
// 信息审核状态
AUDIT: { PENDING: 0, PASS: 1, REJECT: 2 },
// 分佣层级
DIST_LEVEL: { L1: 1, L2: 2 },
},
}
export default config