63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
const DEFAULT_API_BASE_URL = 'https://ghxiangqin.com/api/v1'
|
|
const API_BASE_URL_KEY = 'api_base_url'
|
|
const CUSTOMER_SERVICE_WECHAT_KEY = 'customer_service_wechat'
|
|
|
|
function getApiBaseUrl() {
|
|
return normalizeApiBaseUrl(wx.getStorageSync(API_BASE_URL_KEY) || DEFAULT_API_BASE_URL)
|
|
}
|
|
|
|
function normalizeApiBaseUrl(url) {
|
|
let value = String(url || '').trim()
|
|
if (!value) {
|
|
return DEFAULT_API_BASE_URL
|
|
}
|
|
if (/^https?:\/\/[^/]/i.test(value)) {
|
|
value = value.replace(/^([a-z]+:)\/(?!\/)/i, '$1//')
|
|
}
|
|
if (/^https?:\/\/[^/]+\/https?:\/\//i.test(value)) {
|
|
value = value.replace(/^https?:\/\/[^/]+\//i, '')
|
|
}
|
|
if (/^\/v1\//i.test(value)) {
|
|
value = value.replace(/^\/v1\//i, '/api/v1/')
|
|
}
|
|
if (/^\/static\//i.test(value)) {
|
|
value = `/api/v1${value}`
|
|
}
|
|
if (/^https?:\/\/[^/]+\/v1\//i.test(value)) {
|
|
value = value.replace(/^https?:\/\/[^/]+\/v1\//i, 'https://ghxiangqin.com/api/v1/')
|
|
}
|
|
if (!/^https?:\/\//i.test(value) && !value.startsWith('/')) {
|
|
value = `https://${value}`
|
|
}
|
|
return value.replace(/\/+$/, '')
|
|
}
|
|
|
|
function setApiBaseUrl(url) {
|
|
if (!url) {
|
|
return
|
|
}
|
|
wx.setStorageSync(API_BASE_URL_KEY, url)
|
|
}
|
|
|
|
function getCustomerServiceWechat() {
|
|
return wx.getStorageSync(CUSTOMER_SERVICE_WECHAT_KEY) || 'service_wechat_001'
|
|
}
|
|
|
|
function setCustomerServiceWechat(value) {
|
|
if (!value) {
|
|
return
|
|
}
|
|
wx.setStorageSync(CUSTOMER_SERVICE_WECHAT_KEY, value)
|
|
}
|
|
|
|
module.exports = {
|
|
DEFAULT_API_BASE_URL,
|
|
API_BASE_URL_KEY,
|
|
CUSTOMER_SERVICE_WECHAT_KEY,
|
|
getApiBaseUrl,
|
|
normalizeApiBaseUrl,
|
|
setApiBaseUrl,
|
|
getCustomerServiceWechat,
|
|
setCustomerServiceWechat
|
|
}
|