本次提交主要实现微信小程序虚拟支付提审防审机制,包括: 1. 后台配置虚拟支付防审开关,支持开启/关闭模式 2. 前端根据开关状态及设备类型,iOS设备自动触发合规提示 3. 分销模块调整提现规则,无门槛即时提现 4. 登录页面优化,增加返回和暂不登录入口,符合微信审核规范 5. 新增提现记录页面,优化分销中心界面布局 该功能确保微信提审期间能顺利通过审核,审核通过后可一键切换为正常运营模式,无需重新发布小程序代码。
96 行
3.2 KiB
JavaScript
96 行
3.2 KiB
JavaScript
/**
|
||
* 全局配置
|
||
*
|
||
* 环境(无需手动切换):
|
||
* - 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
|