init
This commit is contained in:
18
config/constants.js
Normal file
18
config/constants.js
Normal file
@@ -0,0 +1,18 @@
|
||||
const STORAGE_KEYS = {
|
||||
session: 'app.session'
|
||||
}
|
||||
|
||||
const RESULT_CODES = {
|
||||
success: 0
|
||||
}
|
||||
|
||||
const REQUEST_TIMEOUT = 10000
|
||||
|
||||
const AUTH_EXPIRED_CODES = [401, 419, 10001]
|
||||
|
||||
module.exports = {
|
||||
AUTH_EXPIRED_CODES,
|
||||
REQUEST_TIMEOUT,
|
||||
RESULT_CODES,
|
||||
STORAGE_KEYS
|
||||
}
|
||||
57
config/env.js
Normal file
57
config/env.js
Normal file
@@ -0,0 +1,57 @@
|
||||
const { REQUEST_TIMEOUT } = require('./constants')
|
||||
|
||||
const ENVIRONMENTS = {
|
||||
dev: {
|
||||
name: 'dev',
|
||||
baseURL: 'https://dev-api.example.com',
|
||||
timeout: REQUEST_TIMEOUT
|
||||
},
|
||||
test: {
|
||||
name: 'test',
|
||||
baseURL: 'https://test-api.example.com',
|
||||
timeout: REQUEST_TIMEOUT
|
||||
},
|
||||
prod: {
|
||||
name: 'prod',
|
||||
baseURL: 'https://api.example.com',
|
||||
timeout: REQUEST_TIMEOUT
|
||||
}
|
||||
}
|
||||
|
||||
function resolveRuntimeEnv(envVersion) {
|
||||
const runtime = envVersion || getWxEnvVersion()
|
||||
|
||||
if (runtime === 'release' || runtime === 'prod') {
|
||||
return 'prod'
|
||||
}
|
||||
|
||||
if (runtime === 'trial' || runtime === 'test') {
|
||||
return 'test'
|
||||
}
|
||||
|
||||
return 'dev'
|
||||
}
|
||||
|
||||
function getWxEnvVersion() {
|
||||
if (typeof wx === 'undefined' || typeof wx.getAccountInfoSync !== 'function') {
|
||||
return process.env.MINIPROGRAM_ENV || 'develop'
|
||||
}
|
||||
|
||||
try {
|
||||
const accountInfo = wx.getAccountInfoSync()
|
||||
return accountInfo?.miniProgram?.envVersion || 'develop'
|
||||
} catch (error) {
|
||||
return 'develop'
|
||||
}
|
||||
}
|
||||
|
||||
function getRuntimeConfig(envVersion) {
|
||||
const envKey = resolveRuntimeEnv(envVersion)
|
||||
return ENVIRONMENTS[envKey]
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
ENVIRONMENTS,
|
||||
getRuntimeConfig,
|
||||
resolveRuntimeEnv
|
||||
}
|
||||
Reference in New Issue
Block a user