1
This commit is contained in:
+90
-90
@@ -1,91 +1,91 @@
|
||||
// 检查是否登录,未登录跳转登录页,抛出异常中断后续操作
|
||||
export function isLogin() {
|
||||
return new Promise((resolve, reject) => {
|
||||
let token = uni.getStorageSync('token');
|
||||
if (!token) {
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
return reject('未登录');
|
||||
}
|
||||
return resolve('已登录');
|
||||
});
|
||||
}
|
||||
|
||||
export const TOKEN_NAME = 'fcc-token';// 用户对象
|
||||
export const USER_KEY = 'fcc-user-key';// 用来无感登录
|
||||
export const USER_DATA = 'fcc-user-data';// 当前登录的对象
|
||||
export const USER_LOGIN_TIME = 'fcc-login-time';// 当前登录的时间
|
||||
export const SYS_LANGUAGE_TIME = 'fcc-sys-language';// 当前系统语言
|
||||
|
||||
/**
|
||||
* 设置token
|
||||
* @param {Object} token
|
||||
*/
|
||||
export function setStorageFun(key, value, sync = true){
|
||||
try {
|
||||
if (sync) {
|
||||
return uni.setStorageSync(key, value);
|
||||
} else {
|
||||
uni.setStorage({
|
||||
key: key,
|
||||
data: value
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取token
|
||||
*/
|
||||
export function getStorageFun(key,sync = true){
|
||||
try {
|
||||
if(sync){
|
||||
return uni.getStorageSync(key);
|
||||
}else{
|
||||
let data = '';
|
||||
uni.getStorage({
|
||||
key:key,
|
||||
success: function (res) {
|
||||
data = res.data;
|
||||
}
|
||||
});
|
||||
return data;
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//移除
|
||||
export function del(key, sync = true){
|
||||
try {
|
||||
if (sync) {
|
||||
return uni.removeStorageSync(key);
|
||||
} else {
|
||||
uni.removeStorage({
|
||||
key: key
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//清空
|
||||
export function clear(sync = true){
|
||||
try {
|
||||
if (sync) {
|
||||
return uni.clearStorageSync();
|
||||
} else {
|
||||
uni.clearStorage();
|
||||
}
|
||||
uni.removeStorage({
|
||||
key: 'isForcedLogin',
|
||||
});
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
// 检查是否登录,未登录跳转登录页,抛出异常中断后续操作
|
||||
export function isLogin() {
|
||||
return new Promise((resolve, reject) => {
|
||||
let token = uni.getStorageSync('token');
|
||||
if (!token) {
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
return reject('未登录');
|
||||
}
|
||||
return resolve('已登录');
|
||||
});
|
||||
}
|
||||
|
||||
export const TOKEN_NAME = 'fcc-token';// 用户对象
|
||||
export const USER_KEY = 'fcc-user-key';// 用来无感登录
|
||||
export const USER_DATA = 'fcc-user-data';// 当前登录的对象
|
||||
export const USER_LOGIN_TIME = 'fcc-login-time';// 当前登录的时间
|
||||
export const SYS_LANGUAGE_TIME = 'fcc-sys-language';// 当前系统语言
|
||||
|
||||
/**
|
||||
* 设置token
|
||||
* @param {Object} token
|
||||
*/
|
||||
export function setStorageFun(key, value, sync = true){
|
||||
try {
|
||||
if (sync) {
|
||||
return uni.setStorageSync(key, value);
|
||||
} else {
|
||||
uni.setStorage({
|
||||
key: key,
|
||||
data: value
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取token
|
||||
*/
|
||||
export function getStorageFun(key,sync = true){
|
||||
try {
|
||||
if(sync){
|
||||
return uni.getStorageSync(key);
|
||||
}else{
|
||||
let data = '';
|
||||
uni.getStorage({
|
||||
key:key,
|
||||
success: function (res) {
|
||||
data = res.data;
|
||||
}
|
||||
});
|
||||
return data;
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//移除
|
||||
export function del(key, sync = true){
|
||||
try {
|
||||
if (sync) {
|
||||
return uni.removeStorageSync(key);
|
||||
} else {
|
||||
uni.removeStorage({
|
||||
key: key
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//清空
|
||||
export function clear(sync = true){
|
||||
try {
|
||||
if (sync) {
|
||||
return uni.clearStorageSync();
|
||||
} else {
|
||||
uni.clearStorage();
|
||||
}
|
||||
uni.removeStorage({
|
||||
key: 'isForcedLogin',
|
||||
});
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+18
-18
@@ -1,19 +1,19 @@
|
||||
|
||||
export const BASE_URL="https://frontend.jdns360.com/api"; // 正式环境
|
||||
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
|
||||
|
||||
export const PRIVACY_EN="https://www.finecc.net/?Privacy-Agreement/";//隐私协议地址(英文版)
|
||||
export const PRIVACY_CN="https://www.finecc.net/?Privac |y/";//隐私协议地址(中文版)
|
||||
|
||||
export const USER_EN="https://www.finecc.net/?FAQ/3421.html";//用户协议(英文版)
|
||||
export const USER_CN="https://www.finecc.net/?wenti/3422.html";//用户协议(中文版)
|
||||
|
||||
// 德商汇 测试环境
|
||||
// export const Authorization = "JETZ/vKlEkgrxD4f14YBDNjmh2i2KoPF2ToNtDnIqtHV33tZdyZU8YfMBZV+5OT2cCc5URvFuhE9jCbnDScnjV/QtJMZK57dVWL9nmkByJ1epgDjkOO0w9gN8hVmcnDl8Rt415b2PDfagNmTZ6yThBGEjA+9w4rnkDQxec6SI/EcYDjX5EDQC8WQd3+1jyyfSrVpNOktB1/wlkP9B1VUATCD3agxQG5BrUvLWxiCPre12/mHv2N9cnNbgbu698RaWF2LsvULRGNciS0OJJYaKz7RPCZnA4C34C1m85beBgrrvJUaJtimlB9GU9c9NX5atdc3z/gRbVaEXhv24mpQVA==";
|
||||
|
||||
// 认证平台
|
||||
// 德商汇 正式环境
|
||||
export const Authorization = "bxboAtH04huysyO1DO2E4FNomvQaFItp0gzHRv0aM+Hx4Rb9pijiAlWdRPUtB4HUJrwa1yVGoKFyCmXGZYja9v+GPz+SFVnDJJk/yit2LLMxX85SpnzRzVySJSsDTBLSTrh5BhGPST2iymdcGvQAdNIW9gAQoeDGIr8o3ctgLF08cdJiEQc255Ql7LxdqiHgP/SgY2JUrlGxGzE5iXDETCmXCvBxqbxEzhe4JbgdEMlKjjA0jcFDam0ArHPD2CoHI7WemdJZDw2+OAokFnoSF8dMyt1G9+nHqD40iMcK5bG6BFUNJwVMFgIZvQz5OqotqaNKnq/80UNDyOyeaaj9Lw==";
|
||||
|
||||
export const CUSTOMER_SERVICE_PHONE_NUMBER="138 8888 8888";// 客服联系方式
|
||||
|
||||
export const BASE_URL="https://frontend.jdns360.com/api"; // 正式环境
|
||||
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
|
||||
|
||||
export const PRIVACY_EN="https://www.finecc.net/?Privacy-Agreement/";//隐私协议地址(英文版)
|
||||
export const PRIVACY_CN="https://www.finecc.net/?Privac |y/";//隐私协议地址(中文版)
|
||||
|
||||
export const USER_EN="https://www.finecc.net/?FAQ/3421.html";//用户协议(英文版)
|
||||
export const USER_CN="https://www.finecc.net/?wenti/3422.html";//用户协议(中文版)
|
||||
|
||||
// 信任桥 测试环境
|
||||
// export const Authorization = "JETZ/vKlEkgrxD4f14YBDNjmh2i2KoPF2ToNtDnIqtHV33tZdyZU8YfMBZV+5OT2cCc5URvFuhE9jCbnDScnjV/QtJMZK57dVWL9nmkByJ1epgDjkOO0w9gN8hVmcnDl8Rt415b2PDfagNmTZ6yThBGEjA+9w4rnkDQxec6SI/EcYDjX5EDQC8WQd3+1jyyfSrVpNOktB1/wlkP9B1VUATCD3agxQG5BrUvLWxiCPre12/mHv2N9cnNbgbu698RaWF2LsvULRGNciS0OJJYaKz7RPCZnA4C34C1m85beBgrrvJUaJtimlB9GU9c9NX5atdc3z/gRbVaEXhv24mpQVA==";
|
||||
|
||||
// 认证平台
|
||||
// 信任桥 正式环境
|
||||
export const Authorization = "bxboAtH04huysyO1DO2E4FNomvQaFItp0gzHRv0aM+Hx4Rb9pijiAlWdRPUtB4HUJrwa1yVGoKFyCmXGZYja9v+GPz+SFVnDJJk/yit2LLMxX85SpnzRzVySJSsDTBLSTrh5BhGPST2iymdcGvQAdNIW9gAQoeDGIr8o3ctgLF08cdJiEQc255Ql7LxdqiHgP/SgY2JUrlGxGzE5iXDETCmXCvBxqbxEzhe4JbgdEMlKjjA0jcFDam0ArHPD2CoHI7WemdJZDw2+OAokFnoSF8dMyt1G9+nHqD40iMcK5bG6BFUNJwVMFgIZvQz5OqotqaNKnq/80UNDyOyeaaj9Lw==";
|
||||
|
||||
export const CUSTOMER_SERVICE_PHONE_NUMBER="138 8888 8888";// 客服联系方式
|
||||
export const CLOUD_SERVICE_PHONE_NUMBER="186 5566 5566";// 云仓客服联系方式
|
||||
@@ -1,10 +1,10 @@
|
||||
|
||||
/**
|
||||
* 订单的状态 状态:1-待支付,2-支付处理中,3-已支付,4-待评价
|
||||
*/
|
||||
export const ORDER_STATUS_CSS={
|
||||
1:"#5486FF",//待支付,不管
|
||||
2:"#FF0050",//待发货
|
||||
3:"#FF0050",//待收货
|
||||
4:"#999999",//待评价
|
||||
|
||||
/**
|
||||
* 订单的状态 状态:1-待支付,2-支付处理中,3-已支付,4-待评价
|
||||
*/
|
||||
export const ORDER_STATUS_CSS={
|
||||
1:"#5486FF",//待支付,不管
|
||||
2:"#FF0050",//待发货
|
||||
3:"#FF0050",//待收货
|
||||
4:"#999999",//待评价
|
||||
}
|
||||
+374
-348
@@ -1,348 +1,355 @@
|
||||
|
||||
|
||||
/**
|
||||
* 根据key获取value
|
||||
* @param optionArr
|
||||
* @param key
|
||||
*/
|
||||
export function getValue(optionArr, key) {
|
||||
let resultVal = "";
|
||||
if (!optionArr || optionArr.length === 0) {
|
||||
return resultVal;
|
||||
}
|
||||
optionArr.map(item => {
|
||||
if (item.type === key || item.key === key ) {
|
||||
resultVal = item.value || item.name ;
|
||||
}
|
||||
});
|
||||
return resultVal;
|
||||
}
|
||||
|
||||
// 短信类型:passwd-设置密码,login-登录,changepassword-修改密码
|
||||
export const SMS_TYPE = {
|
||||
"PASSWD":"passwd",
|
||||
"LOGIN":"login",
|
||||
"REGISTER":"register",
|
||||
}
|
||||
|
||||
// 图片类型 图片分类:COMMON-公共,CATEGORY-商品类目图标,BRAND-品牌LOGO,SHOP-店铺LOGO,GOODS-商品图片,SPECS-商品规格图片
|
||||
export const IMG_TYPE = {
|
||||
"COMMON":"COMMON",
|
||||
"CATEGORY":"CATEGORY",
|
||||
"BRAND":"BRAND",
|
||||
"SHOP":"SHOP",
|
||||
"GOODS":"GOODS",
|
||||
"SPECS":"SPECS",
|
||||
}
|
||||
// 订单的 状态:1-待支付,2-待发货,3-待收货,4-交易成功,5-售后(我加的)
|
||||
export const MINE_ORDER_TYPE = {
|
||||
"UNPAID":1,
|
||||
"UNSHIPPED":2,
|
||||
"NOT_RECEIVE":3,
|
||||
"SUCCEED":4,
|
||||
"AFTER_SALE":5,
|
||||
}
|
||||
|
||||
// 订单的 状态:0-待支付,1-支付中,2-待发货,3-待收货,4-交易成功,5-交易关闭
|
||||
export const ORDER_TYPE = {
|
||||
"UNPAID":0,
|
||||
"PAYMENT_IMG":1,
|
||||
"UNSHIPPED":2,
|
||||
"NOT_RECEIVE":3,
|
||||
"SUCCEED":4,
|
||||
"CLOSE":5,
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单的状态 状态:0-待支付,1-支付中,2-待发货,3-待收货,4-交易成功,5-交易关闭
|
||||
*/
|
||||
export const ORDER_STATUS=[
|
||||
{
|
||||
key:0,
|
||||
name:"待支付"
|
||||
},{
|
||||
key:1,
|
||||
name:"支付中"
|
||||
},{
|
||||
key:2,
|
||||
name:"待发货"
|
||||
},{
|
||||
key:3,
|
||||
name:"待收货"
|
||||
},{
|
||||
key:4,
|
||||
name:"交易成功"
|
||||
},{
|
||||
key:5,
|
||||
name:"交易关闭"
|
||||
}
|
||||
]
|
||||
/**
|
||||
* 支付方式 1-微信支付,2-支付宝
|
||||
*/
|
||||
export const PAYMENT_WAY = {
|
||||
"WECHAT":1,
|
||||
"ALIPAY":2,
|
||||
}
|
||||
|
||||
export const PAYMENT_WAY_ = [
|
||||
{
|
||||
key: 1,
|
||||
value: "微信支付"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "支付宝支付"
|
||||
}
|
||||
];
|
||||
|
||||
/**
|
||||
* 发货时效:1-24小时内发货,2-48小时内发货,3-大于48小时发货
|
||||
* @type {[{value: string, key: number},{value: string, key: number}]}
|
||||
*/
|
||||
export const PRODUCT_DELIVERY_TIME = [
|
||||
{
|
||||
key: 1,
|
||||
value: "24小时内发货"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "48小时内发货"
|
||||
},{
|
||||
key: 3,
|
||||
value: "大于48小时发货"
|
||||
}
|
||||
];
|
||||
|
||||
// 0-普通,1-爆单专区,2-好物专区
|
||||
export const SEARCH_TYPE={
|
||||
NORMAL:0,
|
||||
EXPLOSIVE:1,
|
||||
SOMETHING:2,
|
||||
}
|
||||
|
||||
export const WAY_LIST = [
|
||||
{
|
||||
disabled:false,
|
||||
id:PAYMENT_WAY.WECHAT,
|
||||
name:"微信支付",
|
||||
path:"/static/product/way_wx.png",
|
||||
},
|
||||
{
|
||||
disabled:false,
|
||||
id:PAYMENT_WAY.ALIPAY,
|
||||
name:"支付宝支付",
|
||||
path:"/static/product/way_zfb.png",
|
||||
},
|
||||
]
|
||||
|
||||
/**
|
||||
* 发货状态 0-无需发货,1-待发货,2-已发货,3-已收货
|
||||
*/
|
||||
export const DELIVER_STATUS = {
|
||||
NO_DELIVERY_REQUIRED:0,
|
||||
AWAIT_DELIVERY_REQUIRED:1,
|
||||
YES_DELIVERY_REQUIRED:2,
|
||||
RECEIVED:3,
|
||||
}
|
||||
|
||||
export const DELIVER_STATUS_ = [
|
||||
{
|
||||
key: 0,
|
||||
value: "无需发货"
|
||||
},{
|
||||
key: 1,
|
||||
value: "待发货"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "已发货"
|
||||
},{
|
||||
key: 3,
|
||||
value: "已收货"
|
||||
}
|
||||
];
|
||||
/**
|
||||
* 余额类型:1-消费获得,2-抽奖获得,3-直推获得,4-间推获得,5-差奖,6-平级奖,7-充值,8-提现,9-支付,10-转出,11-转入,12-兑换,13-释放转出,14-释放转入,15-协议变更,16-买入,17-卖出
|
||||
*/
|
||||
export const BALANCE_TYPE = [
|
||||
{
|
||||
key: 1,
|
||||
value: "消费获得"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "抽奖获得"
|
||||
},
|
||||
{
|
||||
key: 3,
|
||||
value: "直推获得"
|
||||
},
|
||||
{
|
||||
key: 4,
|
||||
value: "间推获得"
|
||||
},
|
||||
{
|
||||
key: 5,
|
||||
value: "级差奖"
|
||||
},
|
||||
{
|
||||
key: 6,
|
||||
value: "平级奖"
|
||||
},
|
||||
{
|
||||
key: 7,
|
||||
value: "充值"
|
||||
},
|
||||
{
|
||||
key: 8,
|
||||
value: "提现"
|
||||
},{
|
||||
key: 9,
|
||||
value: "支付"
|
||||
},{
|
||||
key: 10,
|
||||
value: "转出"
|
||||
},{
|
||||
key: 11,
|
||||
value: "转入"
|
||||
},{
|
||||
key: 12,
|
||||
value: "兑换"
|
||||
},{
|
||||
key: 13,
|
||||
value: "释放转出"
|
||||
},{
|
||||
key: 14,
|
||||
value: "释放转入"
|
||||
},
|
||||
{
|
||||
key: 15,
|
||||
value: "协议变更"
|
||||
},
|
||||
{
|
||||
key: 16,
|
||||
value: "买入"
|
||||
},
|
||||
{
|
||||
key: 17,
|
||||
value: "卖出"
|
||||
},
|
||||
{
|
||||
key: 18,
|
||||
value: "系统赠送"
|
||||
},
|
||||
{
|
||||
key: 19,
|
||||
value: "区域代理收益"
|
||||
},
|
||||
]
|
||||
/**
|
||||
* 证状证件类型:1-居民身份证,2-护照
|
||||
*/
|
||||
export const CERT_OPTION= [
|
||||
{
|
||||
key: 1,
|
||||
value: "居民身份证"
|
||||
},{
|
||||
key: 2,
|
||||
value: "护照"
|
||||
},
|
||||
]
|
||||
|
||||
/**
|
||||
* 实名认证状态:0-未认证,1-审核中,2-已认证,3-认证失败
|
||||
*/
|
||||
export const CERT_STATUS_OPTION= [
|
||||
{
|
||||
key: 0,
|
||||
value: "未认证"
|
||||
},{
|
||||
key: 1,
|
||||
value: "审核中"
|
||||
},{
|
||||
key: 2,
|
||||
value: "已认证"
|
||||
},{
|
||||
key: 3,
|
||||
value: "认证失败"
|
||||
},
|
||||
]
|
||||
/**
|
||||
* 账户类别
|
||||
* @type {[{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},null,null]}
|
||||
*/
|
||||
export const ACCOUNT_CATEGORY = [
|
||||
{
|
||||
key: "expend",
|
||||
value: "贡献值"
|
||||
},
|
||||
{
|
||||
key: "raffle",
|
||||
value: "抽奖次数"
|
||||
},
|
||||
{
|
||||
key: "exchange",
|
||||
value: "兑换券"
|
||||
},
|
||||
{
|
||||
key: "deduction",
|
||||
value: "抵扣券"
|
||||
},
|
||||
{
|
||||
key: "vcoin",
|
||||
value: "交易币"
|
||||
},
|
||||
{
|
||||
key: "bonus",
|
||||
value: "推荐佣金"
|
||||
},
|
||||
{
|
||||
key: "redpacket",
|
||||
value: "现金红包"
|
||||
},
|
||||
{
|
||||
key: "balance",
|
||||
value: "现金余额"
|
||||
}
|
||||
];
|
||||
/**
|
||||
* 账户类型
|
||||
* @type {[{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},null,null]}
|
||||
*/
|
||||
export const ACCOUNT_TYPE = [
|
||||
{
|
||||
key: "lock",
|
||||
value: "锁定账户"
|
||||
},
|
||||
{
|
||||
key: "current",
|
||||
value: "活期账户"
|
||||
},
|
||||
{
|
||||
key: "quicken",
|
||||
value: "加速释放账户"
|
||||
}
|
||||
];
|
||||
|
||||
/**
|
||||
* 提现结果:1-已打款,2-拒绝
|
||||
* @type {[{value: string, key: number},{value: string, key: number}]}
|
||||
*/
|
||||
export const FINANCE_WITHDRAWAL_STATUS = [
|
||||
{
|
||||
key: 0,
|
||||
value: "审核中"
|
||||
}, {
|
||||
key: 1,
|
||||
value: "已打款"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "拒绝"
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据key获取value
|
||||
* @param optionArr
|
||||
* @param key
|
||||
*/
|
||||
export function getValue(optionArr, key) {
|
||||
let resultVal = "";
|
||||
if (!optionArr || optionArr.length === 0) {
|
||||
return resultVal;
|
||||
}
|
||||
optionArr.map(item => {
|
||||
if (item.type === key || item.key === key ) {
|
||||
resultVal = item.value || item.name ;
|
||||
}
|
||||
});
|
||||
return resultVal;
|
||||
}
|
||||
|
||||
// 短信类型:passwd-设置密码,login-登录,changepassword-修改密码
|
||||
export const SMS_TYPE = {
|
||||
"PASSWD":"passwd",
|
||||
"LOGIN":"login",
|
||||
"REGISTER":"register",
|
||||
}
|
||||
|
||||
// 图片类型 图片分类:COMMON-公共,CATEGORY-商品类目图标,BRAND-品牌LOGO,SHOP-店铺LOGO,GOODS-商品图片,SPECS-商品规格图片
|
||||
export const IMG_TYPE = {
|
||||
"COMMON":"COMMON",
|
||||
"CATEGORY":"CATEGORY",
|
||||
"BRAND":"BRAND",
|
||||
"SHOP":"SHOP",
|
||||
"GOODS":"GOODS",
|
||||
"SPECS":"SPECS",
|
||||
}
|
||||
// 订单的 状态:1-待支付,2-待发货,3-待收货,4-交易成功,5-售后(我加的)
|
||||
export const MINE_ORDER_TYPE = {
|
||||
"UNPAID":1,
|
||||
"UNSHIPPED":2,
|
||||
"NOT_RECEIVE":3,
|
||||
"SUCCEED":4,
|
||||
"AFTER_SALE":5,
|
||||
}
|
||||
|
||||
// 订单的 状态:0-待支付,1-支付中,2-待发货,3-待收货,4-交易成功,5-交易关闭
|
||||
export const ORDER_TYPE = {
|
||||
"UNPAID":0,
|
||||
"PAYMENT_IMG":1,
|
||||
"UNSHIPPED":2,
|
||||
"NOT_RECEIVE":3,
|
||||
"SUCCEED":4,
|
||||
"CLOSE":5,
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单的状态 状态:0-待支付,1-支付中,2-待发货,3-待收货,4-交易成功,5-交易关闭
|
||||
*/
|
||||
export const ORDER_STATUS=[
|
||||
{
|
||||
key:0,
|
||||
name:"待支付"
|
||||
},{
|
||||
key:1,
|
||||
name:"支付中"
|
||||
},{
|
||||
key:2,
|
||||
name:"待发货"
|
||||
},{
|
||||
key:3,
|
||||
name:"待收货"
|
||||
},{
|
||||
key:4,
|
||||
name:"交易成功"
|
||||
},{
|
||||
key:5,
|
||||
name:"交易关闭"
|
||||
}
|
||||
]
|
||||
/**
|
||||
* 支付方式 1-微信支付,2-支付宝
|
||||
*/
|
||||
export const PAYMENT_WAY = {
|
||||
"WECHAT":1,
|
||||
"ALIPAY":2,
|
||||
}
|
||||
|
||||
export const PAYMENT_WAY_ = [
|
||||
{
|
||||
key: 1,
|
||||
value: "微信支付"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "支付宝支付"
|
||||
}
|
||||
];
|
||||
|
||||
/**
|
||||
* 发货时效:1-24小时内发货,2-48小时内发货,3-大于48小时发货
|
||||
* @type {[{value: string, key: number},{value: string, key: number}]}
|
||||
*/
|
||||
export const PRODUCT_DELIVERY_TIME = [
|
||||
{
|
||||
key: 1,
|
||||
value: "24小时内发货"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "48小时内发货"
|
||||
},{
|
||||
key: 3,
|
||||
value: "大于48小时发货"
|
||||
}
|
||||
];
|
||||
|
||||
// 0-普通,1-爆单专区,2-好物专区
|
||||
export const SEARCH_TYPE={
|
||||
NORMAL:0,
|
||||
EXPLOSIVE:1,
|
||||
SOMETHING:2,
|
||||
}
|
||||
|
||||
export const WAY_LIST = [
|
||||
{
|
||||
disabled:false,
|
||||
id:PAYMENT_WAY.WECHAT,
|
||||
name:"微信支付",
|
||||
path:"/static/product/way_wx.png",
|
||||
},
|
||||
{
|
||||
disabled:false,
|
||||
id:PAYMENT_WAY.ALIPAY,
|
||||
name:"支付宝支付",
|
||||
path:"/static/product/way_zfb.png",
|
||||
},
|
||||
]
|
||||
|
||||
/**
|
||||
* 发货状态 0-无需发货,1-待发货,2-已发货,3-已收货
|
||||
*/
|
||||
export const DELIVER_STATUS = {
|
||||
NO_DELIVERY_REQUIRED:0,
|
||||
AWAIT_DELIVERY_REQUIRED:1,
|
||||
YES_DELIVERY_REQUIRED:2,
|
||||
RECEIVED:3,
|
||||
}
|
||||
|
||||
export const DELIVER_STATUS_ = [
|
||||
{
|
||||
key: 0,
|
||||
value: "无需发货"
|
||||
},{
|
||||
key: 1,
|
||||
value: "待发货"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "已发货"
|
||||
},{
|
||||
key: 3,
|
||||
value: "已收货"
|
||||
}
|
||||
];
|
||||
/**
|
||||
* 余额类型:1-消费获得,2-抽奖获得,3-直推获得,4-间推获得,5-差奖,6-平级奖,7-充值,8-提现,9-支付,10-转出,11-转入,12-兑换,13-释放转出,14-释放转入,15-协议变更,16-买入,17-卖出
|
||||
*/
|
||||
export const BALANCE_TYPE = [
|
||||
{
|
||||
key: 1,
|
||||
value: "消费获得"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "抽奖获得"
|
||||
},
|
||||
{
|
||||
key: 3,
|
||||
value: "直推获得"
|
||||
},
|
||||
{
|
||||
key: 4,
|
||||
value: "间推获得"
|
||||
},
|
||||
{
|
||||
key: 5,
|
||||
value: "级差奖"
|
||||
},
|
||||
{
|
||||
key: 6,
|
||||
value: "平级奖"
|
||||
},
|
||||
{
|
||||
key: 7,
|
||||
value: "充值"
|
||||
},
|
||||
{
|
||||
key: 8,
|
||||
value: "提现"
|
||||
},{
|
||||
key: 9,
|
||||
value: "支付"
|
||||
},{
|
||||
key: 10,
|
||||
value: "转出"
|
||||
},{
|
||||
key: 11,
|
||||
value: "转入"
|
||||
},{
|
||||
key: 12,
|
||||
value: "兑换"
|
||||
},{
|
||||
key: 13,
|
||||
value: "释放转出"
|
||||
},{
|
||||
key: 14,
|
||||
value: "释放转入"
|
||||
},
|
||||
{
|
||||
key: 15,
|
||||
value: "协议变更"
|
||||
},
|
||||
{
|
||||
key: 16,
|
||||
value: "买入"
|
||||
},
|
||||
{
|
||||
key: 17,
|
||||
value: "卖出"
|
||||
},
|
||||
{
|
||||
key: 18,
|
||||
value: "系统赠送"
|
||||
},
|
||||
{
|
||||
key: 19,
|
||||
value: "区域代理收益"
|
||||
},{
|
||||
key: 20,
|
||||
value: "分红"
|
||||
},
|
||||
{
|
||||
key: 21,
|
||||
value: "退款"
|
||||
},
|
||||
]
|
||||
/**
|
||||
* 证状证件类型:1-居民身份证,2-护照
|
||||
*/
|
||||
export const CERT_OPTION= [
|
||||
{
|
||||
key: 1,
|
||||
value: "居民身份证"
|
||||
},{
|
||||
key: 2,
|
||||
value: "护照"
|
||||
},
|
||||
]
|
||||
|
||||
/**
|
||||
* 实名认证状态:0-未认证,1-审核中,2-已认证,3-认证失败
|
||||
*/
|
||||
export const CERT_STATUS_OPTION= [
|
||||
{
|
||||
key: 0,
|
||||
value: "未认证"
|
||||
},{
|
||||
key: 1,
|
||||
value: "审核中"
|
||||
},{
|
||||
key: 2,
|
||||
value: "已认证"
|
||||
},{
|
||||
key: 3,
|
||||
value: "认证失败"
|
||||
},
|
||||
]
|
||||
/**
|
||||
* 账户类别
|
||||
* @type {[{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},null,null]}
|
||||
*/
|
||||
export const ACCOUNT_CATEGORY = [
|
||||
{
|
||||
key: "expend",
|
||||
value: "贡献值"
|
||||
},
|
||||
{
|
||||
key: "raffle",
|
||||
value: "抽奖次数"
|
||||
},
|
||||
{
|
||||
key: "exchange",
|
||||
value: "兑换券"
|
||||
},
|
||||
{
|
||||
key: "deduction",
|
||||
value: "抵扣券"
|
||||
},
|
||||
{
|
||||
key: "vcoin",
|
||||
value: "交易币"
|
||||
},
|
||||
{
|
||||
key: "bonus",
|
||||
value: "推荐佣金"
|
||||
},
|
||||
{
|
||||
key: "redpacket",
|
||||
value: "现金红包"
|
||||
},
|
||||
{
|
||||
key: "balance",
|
||||
value: "现金余额"
|
||||
}
|
||||
];
|
||||
/**
|
||||
* 账户类型
|
||||
* @type {[{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},{value: string, key: number},null,null]}
|
||||
*/
|
||||
export const ACCOUNT_TYPE = [
|
||||
{
|
||||
key: "lock",
|
||||
value: "锁定账户"
|
||||
},
|
||||
{
|
||||
key: "current",
|
||||
value: "活期账户"
|
||||
},
|
||||
{
|
||||
key: "quicken",
|
||||
value: "加速释放账户"
|
||||
}
|
||||
];
|
||||
|
||||
/**
|
||||
* 提现结果:1-已打款,2-拒绝
|
||||
* @type {[{value: string, key: number},{value: string, key: number}]}
|
||||
*/
|
||||
export const FINANCE_WITHDRAWAL_STATUS = [
|
||||
{
|
||||
key: 0,
|
||||
value: "审核中"
|
||||
}, {
|
||||
key: 1,
|
||||
value: "已打款"
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
value: "拒绝"
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
* 页面:1-APP首页,2-APP分类页,3-商学院资讯,4-爆单区,5-好物区,6-积分专区
|
||||
* @type {[{value: string, key: string}]}
|
||||
@@ -352,10 +359,10 @@ export const APP_PAGE_TYPE = {
|
||||
SORT:2,
|
||||
NEWS:3,
|
||||
HOT:4,
|
||||
GOOD:5,
|
||||
GOOD:5,
|
||||
INTEGRAL:6,
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* 新闻:类型:1-推荐,2-热门,3-新闻,4-RWA资讯,5-商学院
|
||||
* @type {[{value: string, key: string}]}
|
||||
@@ -377,4 +384,23 @@ export const NEWS_TYPE = [
|
||||
key: 4,
|
||||
value: "RWA资讯"
|
||||
},
|
||||
];
|
||||
/**
|
||||
* RWA 状态:0-未提交,1-待确认,2-交易成功,3-交易失败
|
||||
* @type {[{value: string, key: string}]}
|
||||
*/
|
||||
export const RWA_STATUS = [
|
||||
{
|
||||
key: 0,
|
||||
value: "申请中"
|
||||
},{
|
||||
key: 1,
|
||||
value: "待交易所确认"
|
||||
},{
|
||||
key: 2,
|
||||
value: "交易成功"
|
||||
},{
|
||||
key: 3,
|
||||
value: "交易失败"
|
||||
},
|
||||
];
|
||||
+344
-344
@@ -1,345 +1,345 @@
|
||||
import dayjs from 'dayjs';
|
||||
import { PRIVACY_EN,PRIVACY_CN,USER_EN,USER_CN } from './config.js';
|
||||
|
||||
/**
|
||||
* 创建随机字符串
|
||||
* @param num
|
||||
* @returns {string}
|
||||
*/
|
||||
export function randomString(num) {
|
||||
const chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
|
||||
let res = ''
|
||||
for (let i = 0; i < num; i++) {
|
||||
var id = Math.ceil(Math.random() * 35)
|
||||
res += chars[id]
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
export const tencentMapKey="S2DBZ-W6S6B-KRXUN-NHF2N-DE2U6-7UBBD";// 腾讯地图key
|
||||
|
||||
/**
|
||||
* 转换时间格式
|
||||
* @param date 时间格式
|
||||
* @returns {string} HH:mm
|
||||
*/
|
||||
export function formatDate(date){
|
||||
if(!date){
|
||||
return "";
|
||||
}
|
||||
return dayjs(date).format("YYYY-MM-DD HH:mm:ss");
|
||||
}
|
||||
/**
|
||||
* 转换时间格式
|
||||
* @param date 时间格式
|
||||
* @returns {string} HH:mm
|
||||
*/
|
||||
export function formatDate1(date){
|
||||
if(!date){
|
||||
return "";
|
||||
}
|
||||
const newDate = dayjs(date).format("HH:mm:ss");
|
||||
return dayjs(date).format("HH:mm:ss");
|
||||
}
|
||||
|
||||
/**
|
||||
* 千米转换
|
||||
* @param {Object} distanceInMeters
|
||||
*/
|
||||
export function formatDistance(distanceInMeters) {
|
||||
if (distanceInMeters >= 1000) {
|
||||
// 将距离从米转换为千米,并保留两位小数
|
||||
const distanceInKilometers = (distanceInMeters / 1000).toFixed(2);
|
||||
return `${distanceInKilometers}km`;
|
||||
} else {
|
||||
return `${distanceInMeters.toFixed(2)}m`;
|
||||
}
|
||||
}
|
||||
|
||||
export function findItemByCode(items, value) {
|
||||
return items.find(item => item.value === value);
|
||||
}
|
||||
|
||||
export function timestampToTime(timestamp) {
|
||||
var date = new Date(timestamp); // 时间戳为毫秒级别
|
||||
var year = date.getFullYear();
|
||||
var month = date.getMonth() + 1;
|
||||
var day = date.getDate();
|
||||
var hours = date.getHours();
|
||||
var minutes = date.getMinutes();
|
||||
var seconds = date.getSeconds();
|
||||
|
||||
// 补零操作
|
||||
month = month < 10 ? '0' + month : month;
|
||||
day = day < 10 ? '0' + day : day;
|
||||
hours = hours < 10 ? '0' + hours : hours;
|
||||
minutes = minutes < 10 ? '0' + minutes : minutes;
|
||||
seconds = seconds < 10 ? '0' + seconds : seconds;
|
||||
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
}
|
||||
|
||||
|
||||
export function getParameter(path,name) {
|
||||
var url = path;
|
||||
var params = new Object();
|
||||
if (url.indexOf("?") != -1) {
|
||||
const str = url.substr(1);
|
||||
const pathUrl = str.split("?")[1];
|
||||
const strs = pathUrl.split("&");
|
||||
for (var i = 0; i < strs.length; i++) {
|
||||
params[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
|
||||
}
|
||||
}
|
||||
if(name){
|
||||
return params[name];
|
||||
}else{
|
||||
return params;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export function addAmount(amount){
|
||||
if(amount && amount > 0){
|
||||
return "+"+amount;
|
||||
}
|
||||
return amount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Object} url
|
||||
*/
|
||||
export function GetWxMiniProgramUrlParam(url) {
|
||||
let theRequest = {};
|
||||
if (url.indexOf("#") != -1) {
|
||||
const str = url.split("#")[1];
|
||||
const strs = str.split("&");
|
||||
for (let i = 0; i < strs.length; i++) {
|
||||
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
|
||||
}
|
||||
} else if (url.indexOf("?") != -1) {
|
||||
const str = url.split("?")[1];
|
||||
const strs = str.split("&");
|
||||
for (let i = 0; i < strs.length; i++) {
|
||||
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
|
||||
}
|
||||
}
|
||||
return theRequest;
|
||||
};
|
||||
|
||||
export function zhScenePath(scene){
|
||||
const options = [];
|
||||
for (var i = 0; i < scene.split('&').length;i++){
|
||||
var arr = scene.split('&')[i].split('=');
|
||||
options[arr[0]] = arr[1];
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
export function isNull(val){
|
||||
if(val){
|
||||
return val;
|
||||
}
|
||||
return "--";
|
||||
}
|
||||
// 保留四位小数
|
||||
export function reservedDecimal(val,digit=4){
|
||||
let result = val;
|
||||
if(val){
|
||||
result = parseInt(val,10).toFixed(digit)
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证正负数
|
||||
* @param {Object} str
|
||||
*/
|
||||
export function isPositiveNegativeOrZero(str) {
|
||||
if(str){
|
||||
const currentStr = parseInt(str);
|
||||
return currentStr>0;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
/**
|
||||
* 获取当前语言
|
||||
*/
|
||||
export function getCurrentLanguage() {
|
||||
let sysLanguage = uni.getLocale();
|
||||
if(sysLanguage === "zh-Hans" || sysLanguage === "zh-Hant"){
|
||||
sysLanguage = "zh_HK";
|
||||
}
|
||||
return sysLanguage;
|
||||
}
|
||||
/**
|
||||
* 获取当前系统时间
|
||||
*/
|
||||
export function getCurrentSysLanguage(){
|
||||
const systemLanguage = uni.getSystemInfoSync().language;
|
||||
// 设置默认语言
|
||||
let currentLanguage = 'zh_HK'; // 默认繁体
|
||||
if (systemLanguage === 'en_US' || systemLanguage === 'en' || systemLanguage === 'ja') {
|
||||
currentLanguage = 'en'; // 如果是英文系统,则设置默认英文
|
||||
}else if (systemLanguage === 'zh_TW' || systemLanguage === 'zh_HK' || systemLanguage === 'zh_CN') {
|
||||
currentLanguage = 'zh_HK'; // 繁体
|
||||
}
|
||||
return currentLanguage;
|
||||
}
|
||||
|
||||
export function getBrowserUrl(type){
|
||||
const locale = uni.getLocale();
|
||||
let url = '';
|
||||
if(type === "privacy" && (locale==="zh-Hans" || locale==="zh-Hant" || locale==="zh_CN" || locale==="zh_TW" || locale==="zh_HK")){
|
||||
url= PRIVACY_CN;
|
||||
}else if(type === "privacy" && (locale==="en" || locale==="ja")){
|
||||
url= PRIVACY_EN;
|
||||
}else if(type === "user" && (locale==="zh-Hans" || locale==="zh-Hant" || locale==="zh_CN" || locale==="zh_TW" || locale==="zh_HK")){
|
||||
url= USER_CN;
|
||||
}else if(type === "user" && (locale==="en" || locale==="ja")){
|
||||
url= USER_EN;
|
||||
}
|
||||
return url;
|
||||
}
|
||||
/**
|
||||
* 获取当前系统
|
||||
*/
|
||||
export function getCurrentSysPlatform(){
|
||||
return uni.getSystemInfoSync().platform;
|
||||
// return "ios";
|
||||
}
|
||||
/**
|
||||
* 拷贝
|
||||
* @param {Object} val
|
||||
*/
|
||||
export function copyData(val){
|
||||
const then = this;
|
||||
uni.setClipboardData({
|
||||
data: val,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export function addChildNode(parentId, subNodes, treeOption) {
|
||||
for (let i = 0; i < treeOption.length; i++) {
|
||||
if (treeOption[i].parentId === parentId) {
|
||||
// 将子节点插入到父节点的children数组中
|
||||
treeOption[i].children = subNodes;
|
||||
return; // 找到后直接返回,避免重复插入(假设树中不会有重复的parentId和value)
|
||||
}
|
||||
// 如果当前节点有children,则递归查找(但在这个特定情况下,我们不需要递归,因为parentId是直接的)
|
||||
// 不过,为了通用性,这里还是保留递归的逻辑(虽然在这个例子中不会用到)
|
||||
if (treeOption[i].children) {
|
||||
addChildNode(parentId, subNodes, treeOption[i].children);
|
||||
}
|
||||
}
|
||||
// 注意:在这个特定例子中,我们不需要上面的递归调用,因为parentId直接指向了树的一层节点
|
||||
// 但如果你有一个更复杂的树结构,并且子节点可能需要插入到更深层次的节点中,那么递归调用就是必要的
|
||||
}
|
||||
|
||||
/**
|
||||
* 从新组装地址
|
||||
* @param addressObj 需要组装的地址
|
||||
*/
|
||||
export function assembleAddress(addressObj){
|
||||
const resutlObj={};
|
||||
if(!addressObj || Object.keys(addressObj).length === 0){
|
||||
return resutlObj;
|
||||
}
|
||||
const ids=[];
|
||||
if(addressObj.countryId){
|
||||
ids.push(addressObj.countryId)
|
||||
}
|
||||
if(addressObj.provinceId){
|
||||
ids.push(addressObj.provinceId)
|
||||
}
|
||||
if(addressObj.cityId){
|
||||
ids.push(addressObj.cityId)
|
||||
}
|
||||
if(addressObj.areaId){
|
||||
ids.push(addressObj.areaId)
|
||||
}
|
||||
const names=[];
|
||||
if(addressObj.countryName){
|
||||
names.push(addressObj.countryName);
|
||||
}
|
||||
if(addressObj.provinceName){
|
||||
names.push(addressObj.provinceName);
|
||||
}
|
||||
if(addressObj.cityName){
|
||||
names.push(addressObj.cityName);
|
||||
}
|
||||
if(addressObj.areaName){
|
||||
names.push(addressObj.areaName);
|
||||
}
|
||||
resutlObj.ids=ids.join(",");
|
||||
resutlObj.names=names.join(" ");
|
||||
return resutlObj;
|
||||
}
|
||||
|
||||
export function handleAmount(amount){
|
||||
let currentAmount = parseFloat(amount) || 0;
|
||||
if(amount && amount>0){
|
||||
currentAmount = "+"+currentAmount;
|
||||
}
|
||||
|
||||
return currentAmount;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取后四位银行卡号
|
||||
* @param {Object} number
|
||||
*/
|
||||
export function getBankNumber(number){
|
||||
let currentAmount = number || '';
|
||||
if(number && number.length > 4){
|
||||
currentAmount = currentAmount.slice(-4);
|
||||
}
|
||||
return currentAmount;
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密银行卡号
|
||||
* @param {Object} cardNumber
|
||||
*/
|
||||
export function encipherBankNumber(cardNumber){
|
||||
if (cardNumber.length <= 8) {
|
||||
return cardNumber;
|
||||
}
|
||||
const firstFour = cardNumber.slice(0, 4); // 获取前四位
|
||||
const lastFour = cardNumber.slice(-4); // 获取后四位
|
||||
const mask = '****'; // 替换中间的字符
|
||||
const maskedCard = firstFour + ' '+mask + ' '+lastFour; // 拼接字符串
|
||||
return maskedCard;
|
||||
}
|
||||
|
||||
/**
|
||||
* 版本号名比较是否需要升级
|
||||
* 返回 true 表示需要升级
|
||||
* @param {Object} reqV 之前
|
||||
* @param {Object} curV 当前最新
|
||||
*/
|
||||
export function comparisonVersionHandler(reqV, curV){
|
||||
|
||||
if (curV && reqV) {
|
||||
curV = String(curV);
|
||||
reqV = String(reqV);
|
||||
//将两个版本号拆成数字
|
||||
let arr1 = curV.split('.'), //當前
|
||||
arr2 = reqV.split('.');
|
||||
let minLength = Math.min(arr1.length, arr2.length),
|
||||
position = 0,
|
||||
diff = 0;
|
||||
//依次比较版本号每一位大小,当对比得出结果后跳出循环
|
||||
while (position < minLength && ((diff = parseInt(arr1[position]) - parseInt(arr2[position])) == 0)) {
|
||||
position++;
|
||||
}
|
||||
diff = (diff != 0) ? diff : (arr1.length - arr2.length);
|
||||
//若curV大于reqV,则返回true
|
||||
return diff > 0;
|
||||
} else {
|
||||
//输入为空
|
||||
return false;
|
||||
}
|
||||
import dayjs from 'dayjs';
|
||||
import { PRIVACY_EN,PRIVACY_CN,USER_EN,USER_CN } from './config.js';
|
||||
|
||||
/**
|
||||
* 创建随机字符串
|
||||
* @param num
|
||||
* @returns {string}
|
||||
*/
|
||||
export function randomString(num) {
|
||||
const chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
|
||||
let res = ''
|
||||
for (let i = 0; i < num; i++) {
|
||||
var id = Math.ceil(Math.random() * 35)
|
||||
res += chars[id]
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
export const tencentMapKey="S2DBZ-W6S6B-KRXUN-NHF2N-DE2U6-7UBBD";// 腾讯地图key
|
||||
|
||||
/**
|
||||
* 转换时间格式
|
||||
* @param date 时间格式
|
||||
* @returns {string} HH:mm
|
||||
*/
|
||||
export function formatDate(date){
|
||||
if(!date){
|
||||
return "";
|
||||
}
|
||||
return dayjs(date).format("YYYY-MM-DD HH:mm:ss");
|
||||
}
|
||||
/**
|
||||
* 转换时间格式
|
||||
* @param date 时间格式
|
||||
* @returns {string} HH:mm
|
||||
*/
|
||||
export function formatDate1(date){
|
||||
if(!date){
|
||||
return "";
|
||||
}
|
||||
const newDate = dayjs(date).format("HH:mm:ss");
|
||||
return dayjs(date).format("HH:mm:ss");
|
||||
}
|
||||
|
||||
/**
|
||||
* 千米转换
|
||||
* @param {Object} distanceInMeters
|
||||
*/
|
||||
export function formatDistance(distanceInMeters) {
|
||||
if (distanceInMeters >= 1000) {
|
||||
// 将距离从米转换为千米,并保留两位小数
|
||||
const distanceInKilometers = (distanceInMeters / 1000).toFixed(2);
|
||||
return `${distanceInKilometers}km`;
|
||||
} else {
|
||||
return `${distanceInMeters.toFixed(2)}m`;
|
||||
}
|
||||
}
|
||||
|
||||
export function findItemByCode(items, value) {
|
||||
return items.find(item => item.value === value);
|
||||
}
|
||||
|
||||
export function timestampToTime(timestamp) {
|
||||
var date = new Date(timestamp); // 时间戳为毫秒级别
|
||||
var year = date.getFullYear();
|
||||
var month = date.getMonth() + 1;
|
||||
var day = date.getDate();
|
||||
var hours = date.getHours();
|
||||
var minutes = date.getMinutes();
|
||||
var seconds = date.getSeconds();
|
||||
|
||||
// 补零操作
|
||||
month = month < 10 ? '0' + month : month;
|
||||
day = day < 10 ? '0' + day : day;
|
||||
hours = hours < 10 ? '0' + hours : hours;
|
||||
minutes = minutes < 10 ? '0' + minutes : minutes;
|
||||
seconds = seconds < 10 ? '0' + seconds : seconds;
|
||||
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
}
|
||||
|
||||
|
||||
export function getParameter(path,name) {
|
||||
var url = path;
|
||||
var params = new Object();
|
||||
if (url.indexOf("?") != -1) {
|
||||
const str = url.substr(1);
|
||||
const pathUrl = str.split("?")[1];
|
||||
const strs = pathUrl.split("&");
|
||||
for (var i = 0; i < strs.length; i++) {
|
||||
params[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
|
||||
}
|
||||
}
|
||||
if(name){
|
||||
return params[name];
|
||||
}else{
|
||||
return params;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export function addAmount(amount){
|
||||
if(amount && amount > 0){
|
||||
return "+"+amount;
|
||||
}
|
||||
return amount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Object} url
|
||||
*/
|
||||
export function GetWxMiniProgramUrlParam(url) {
|
||||
let theRequest = {};
|
||||
if (url.indexOf("#") != -1) {
|
||||
const str = url.split("#")[1];
|
||||
const strs = str.split("&");
|
||||
for (let i = 0; i < strs.length; i++) {
|
||||
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
|
||||
}
|
||||
} else if (url.indexOf("?") != -1) {
|
||||
const str = url.split("?")[1];
|
||||
const strs = str.split("&");
|
||||
for (let i = 0; i < strs.length; i++) {
|
||||
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
|
||||
}
|
||||
}
|
||||
return theRequest;
|
||||
};
|
||||
|
||||
export function zhScenePath(scene){
|
||||
const options = [];
|
||||
for (var i = 0; i < scene.split('&').length;i++){
|
||||
var arr = scene.split('&')[i].split('=');
|
||||
options[arr[0]] = arr[1];
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
export function isNull(val){
|
||||
if(val){
|
||||
return val;
|
||||
}
|
||||
return "--";
|
||||
}
|
||||
// 保留四位小数
|
||||
export function reservedDecimal(val,digit=4){
|
||||
let result = val;
|
||||
if(val){
|
||||
result = parseInt(val,10).toFixed(digit)
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证正负数
|
||||
* @param {Object} str
|
||||
*/
|
||||
export function isPositiveNegativeOrZero(str) {
|
||||
if(str){
|
||||
const currentStr = parseInt(str);
|
||||
return currentStr>0;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
/**
|
||||
* 获取当前语言
|
||||
*/
|
||||
export function getCurrentLanguage() {
|
||||
let sysLanguage = uni.getLocale();
|
||||
if(sysLanguage === "zh-Hans" || sysLanguage === "zh-Hant"){
|
||||
sysLanguage = "zh_HK";
|
||||
}
|
||||
return sysLanguage;
|
||||
}
|
||||
/**
|
||||
* 获取当前系统时间
|
||||
*/
|
||||
export function getCurrentSysLanguage(){
|
||||
const systemLanguage = uni.getSystemInfoSync().language;
|
||||
// 设置默认语言
|
||||
let currentLanguage = 'zh_HK'; // 默认繁体
|
||||
if (systemLanguage === 'en_US' || systemLanguage === 'en' || systemLanguage === 'ja') {
|
||||
currentLanguage = 'en'; // 如果是英文系统,则设置默认英文
|
||||
}else if (systemLanguage === 'zh_TW' || systemLanguage === 'zh_HK' || systemLanguage === 'zh_CN') {
|
||||
currentLanguage = 'zh_HK'; // 繁体
|
||||
}
|
||||
return currentLanguage;
|
||||
}
|
||||
|
||||
export function getBrowserUrl(type){
|
||||
const locale = uni.getLocale();
|
||||
let url = '';
|
||||
if(type === "privacy" && (locale==="zh-Hans" || locale==="zh-Hant" || locale==="zh_CN" || locale==="zh_TW" || locale==="zh_HK")){
|
||||
url= PRIVACY_CN;
|
||||
}else if(type === "privacy" && (locale==="en" || locale==="ja")){
|
||||
url= PRIVACY_EN;
|
||||
}else if(type === "user" && (locale==="zh-Hans" || locale==="zh-Hant" || locale==="zh_CN" || locale==="zh_TW" || locale==="zh_HK")){
|
||||
url= USER_CN;
|
||||
}else if(type === "user" && (locale==="en" || locale==="ja")){
|
||||
url= USER_EN;
|
||||
}
|
||||
return url;
|
||||
}
|
||||
/**
|
||||
* 获取当前系统
|
||||
*/
|
||||
export function getCurrentSysPlatform(){
|
||||
return uni.getSystemInfoSync().platform;
|
||||
// return "ios";
|
||||
}
|
||||
/**
|
||||
* 拷贝
|
||||
* @param {Object} val
|
||||
*/
|
||||
export function copyData(val){
|
||||
const then = this;
|
||||
uni.setClipboardData({
|
||||
data: val,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export function addChildNode(parentId, subNodes, treeOption) {
|
||||
for (let i = 0; i < treeOption.length; i++) {
|
||||
if (treeOption[i].parentId === parentId) {
|
||||
// 将子节点插入到父节点的children数组中
|
||||
treeOption[i].children = subNodes;
|
||||
return; // 找到后直接返回,避免重复插入(假设树中不会有重复的parentId和value)
|
||||
}
|
||||
// 如果当前节点有children,则递归查找(但在这个特定情况下,我们不需要递归,因为parentId是直接的)
|
||||
// 不过,为了通用性,这里还是保留递归的逻辑(虽然在这个例子中不会用到)
|
||||
if (treeOption[i].children) {
|
||||
addChildNode(parentId, subNodes, treeOption[i].children);
|
||||
}
|
||||
}
|
||||
// 注意:在这个特定例子中,我们不需要上面的递归调用,因为parentId直接指向了树的一层节点
|
||||
// 但如果你有一个更复杂的树结构,并且子节点可能需要插入到更深层次的节点中,那么递归调用就是必要的
|
||||
}
|
||||
|
||||
/**
|
||||
* 从新组装地址
|
||||
* @param addressObj 需要组装的地址
|
||||
*/
|
||||
export function assembleAddress(addressObj){
|
||||
const resutlObj={};
|
||||
if(!addressObj || Object.keys(addressObj).length === 0){
|
||||
return resutlObj;
|
||||
}
|
||||
const ids=[];
|
||||
if(addressObj.countryId){
|
||||
ids.push(addressObj.countryId)
|
||||
}
|
||||
if(addressObj.provinceId){
|
||||
ids.push(addressObj.provinceId)
|
||||
}
|
||||
if(addressObj.cityId){
|
||||
ids.push(addressObj.cityId)
|
||||
}
|
||||
if(addressObj.areaId){
|
||||
ids.push(addressObj.areaId)
|
||||
}
|
||||
const names=[];
|
||||
if(addressObj.countryName){
|
||||
names.push(addressObj.countryName);
|
||||
}
|
||||
if(addressObj.provinceName){
|
||||
names.push(addressObj.provinceName);
|
||||
}
|
||||
if(addressObj.cityName){
|
||||
names.push(addressObj.cityName);
|
||||
}
|
||||
if(addressObj.areaName){
|
||||
names.push(addressObj.areaName);
|
||||
}
|
||||
resutlObj.ids=ids.join(",");
|
||||
resutlObj.names=names.join(" ");
|
||||
return resutlObj;
|
||||
}
|
||||
|
||||
export function handleAmount(amount){
|
||||
let currentAmount = parseFloat(amount) || 0;
|
||||
if(amount && amount>0){
|
||||
currentAmount = "+"+currentAmount;
|
||||
}
|
||||
|
||||
return currentAmount;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取后四位银行卡号
|
||||
* @param {Object} number
|
||||
*/
|
||||
export function getBankNumber(number){
|
||||
let currentAmount = number || '';
|
||||
if(number && number.length > 4){
|
||||
currentAmount = currentAmount.slice(-4);
|
||||
}
|
||||
return currentAmount;
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密银行卡号
|
||||
* @param {Object} cardNumber
|
||||
*/
|
||||
export function encipherBankNumber(cardNumber){
|
||||
if (cardNumber.length <= 8) {
|
||||
return cardNumber;
|
||||
}
|
||||
const firstFour = cardNumber.slice(0, 4); // 获取前四位
|
||||
const lastFour = cardNumber.slice(-4); // 获取后四位
|
||||
const mask = '****'; // 替换中间的字符
|
||||
const maskedCard = firstFour + ' '+mask + ' '+lastFour; // 拼接字符串
|
||||
return maskedCard;
|
||||
}
|
||||
|
||||
/**
|
||||
* 版本号名比较是否需要升级
|
||||
* 返回 true 表示需要升级
|
||||
* @param {Object} reqV 之前
|
||||
* @param {Object} curV 当前最新
|
||||
*/
|
||||
export function comparisonVersionHandler(reqV, curV){
|
||||
|
||||
if (curV && reqV) {
|
||||
curV = String(curV);
|
||||
reqV = String(reqV);
|
||||
//将两个版本号拆成数字
|
||||
let arr1 = curV.split('.'), //當前
|
||||
arr2 = reqV.split('.');
|
||||
let minLength = Math.min(arr1.length, arr2.length),
|
||||
position = 0,
|
||||
diff = 0;
|
||||
//依次比较版本号每一位大小,当对比得出结果后跳出循环
|
||||
while (position < minLength && ((diff = parseInt(arr1[position]) - parseInt(arr2[position])) == 0)) {
|
||||
position++;
|
||||
}
|
||||
diff = (diff != 0) ? diff : (arr1.length - arr2.length);
|
||||
//若curV大于reqV,则返回true
|
||||
return diff > 0;
|
||||
} else {
|
||||
//输入为空
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+107
-107
@@ -1,108 +1,108 @@
|
||||
import { feedback } from '@/api/payment.js';
|
||||
|
||||
|
||||
/**
|
||||
* 微信支付
|
||||
* @param {Object} alipay 微信支付的参数
|
||||
* @param {Object} orderId 支付的订单ID
|
||||
* @param {Object} orderNum 支付的订单编号
|
||||
*/
|
||||
export function appWxpayFun(alipay,orderId,orderNum){
|
||||
const type = alipay.type;
|
||||
const orderStr = alipay.orderStr;
|
||||
if(type === "app"){// app
|
||||
const orderInfo = {
|
||||
"appid": alipay.appId, // 微信开放平台 - 应用 - AppId,注意和微信小程序、公众号 AppId 可能不一致
|
||||
"noncestr": alipay.nonceStr, // 随机字符串
|
||||
"package": "Sign=WXPay", // 固定值
|
||||
"partnerid": alipay.partnerId, // 微信支付商户号
|
||||
"prepayid": alipay.prepayId, // 统一下单订单号
|
||||
"timestamp": alipay.timeStamp, // 时间戳(单位:秒)
|
||||
"sign": alipay.sign // 签名,这里用的 MD5/RSA 签名
|
||||
};
|
||||
uni.requestPayment({
|
||||
provider:"wxpay",
|
||||
orderInfo: orderInfo,
|
||||
success: function(res) {
|
||||
console.log('success:' + res);
|
||||
payFeedbackFun(orderId,orderNum,1);
|
||||
jumpWayOk();
|
||||
},
|
||||
fail: function(err) {
|
||||
console.log('fail:',err);
|
||||
jumpWayError();
|
||||
}
|
||||
});
|
||||
}else if(type === "h5"){// h5
|
||||
uni.navigateTo({
|
||||
url: `/pages/payment_processing/payment_processing?link=${encodeURIComponent(orderStr)}&orderNum=`+orderNum // 假设有一个专门的支付页面来处理支付链接
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付宝支付
|
||||
* @param {Object} alipay 微信支付的参数
|
||||
* @param {Object} orderId 支付的订单ID
|
||||
* @param {Object} orderNum 支付的订单编号
|
||||
*/
|
||||
export function zfbPayFun(alipay,orderId,orderNum){
|
||||
console.log("alipay",alipay);
|
||||
const type = alipay.type;
|
||||
const orderStr = alipay.orderStr;
|
||||
if(type === "h5"){// h5
|
||||
uni.navigateTo({
|
||||
url: `/pages/payment_processing/payment_processing?link=${encodeURIComponent(orderStr)}&orderNum=`+orderNum // 假设有一个专门的支付页面来处理支付链接
|
||||
});
|
||||
}else if(type === "app"){ // app
|
||||
uni.requestPayment({
|
||||
provider: 'alipay',
|
||||
orderInfo: orderStr,
|
||||
success: function(res) {
|
||||
console.log("zfbPayFun res",res);
|
||||
payFeedbackFun(orderId,orderNum,1);
|
||||
jumpWayOk();
|
||||
},
|
||||
fail: function(err) {
|
||||
console.error("支付宝支付error",err);
|
||||
jumpWayError();
|
||||
}
|
||||
});
|
||||
}
|
||||
// return new Promise((resolve, reject) => {
|
||||
// resolve(res);
|
||||
// // reject(err);
|
||||
// });
|
||||
};
|
||||
|
||||
// 跳转到支付成功页面
|
||||
export function jumpWayOk(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/order_submit_ok/order_submit_ok",
|
||||
})
|
||||
}
|
||||
// 跳转到支付失败页面
|
||||
export function jumpWayError(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/order_submit_error/order_submit_error",
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 支付结果回调
|
||||
* @param {Object} orderId 支付订单ID
|
||||
* @param {Object} orderNum 支付订单编号
|
||||
* @param {Object} status 反馈结果【0:失败,1:成功】
|
||||
*/
|
||||
async function payFeedbackFun(orderId,orderNum,status){
|
||||
const params = {
|
||||
orderId,
|
||||
orderNum,
|
||||
status,
|
||||
}
|
||||
console.log("params",params);
|
||||
const response = await feedback(params);
|
||||
console.log("payFeedbackFun response",response);
|
||||
if(response && response.bizcode !==100){
|
||||
console.error("反馈结果",response);
|
||||
}
|
||||
import { feedback } from '@/api/payment.js';
|
||||
|
||||
|
||||
/**
|
||||
* 微信支付
|
||||
* @param {Object} alipay 微信支付的参数
|
||||
* @param {Object} orderId 支付的订单ID
|
||||
* @param {Object} orderNum 支付的订单编号
|
||||
*/
|
||||
export function appWxpayFun(alipay,orderId,orderNum){
|
||||
const type = alipay.type;
|
||||
const orderStr = alipay.orderStr;
|
||||
if(type === "app"){// app
|
||||
const orderInfo = {
|
||||
"appid": alipay.appId, // 微信开放平台 - 应用 - AppId,注意和微信小程序、公众号 AppId 可能不一致
|
||||
"noncestr": alipay.nonceStr, // 随机字符串
|
||||
"package": "Sign=WXPay", // 固定值
|
||||
"partnerid": alipay.partnerId, // 微信支付商户号
|
||||
"prepayid": alipay.prepayId, // 统一下单订单号
|
||||
"timestamp": alipay.timeStamp, // 时间戳(单位:秒)
|
||||
"sign": alipay.sign // 签名,这里用的 MD5/RSA 签名
|
||||
};
|
||||
uni.requestPayment({
|
||||
provider:"wxpay",
|
||||
orderInfo: orderInfo,
|
||||
success: function(res) {
|
||||
console.log('success:' + res);
|
||||
payFeedbackFun(orderId,orderNum,1);
|
||||
jumpWayOk();
|
||||
},
|
||||
fail: function(err) {
|
||||
console.log('fail:',err);
|
||||
jumpWayError();
|
||||
}
|
||||
});
|
||||
}else if(type === "h5"){// h5
|
||||
uni.navigateTo({
|
||||
url: `/pages/payment_processing/payment_processing?link=${encodeURIComponent(orderStr)}&orderNum=`+orderNum // 假设有一个专门的支付页面来处理支付链接
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付宝支付
|
||||
* @param {Object} alipay 微信支付的参数
|
||||
* @param {Object} orderId 支付的订单ID
|
||||
* @param {Object} orderNum 支付的订单编号
|
||||
*/
|
||||
export function zfbPayFun(alipay,orderId,orderNum){
|
||||
console.log("alipay",alipay);
|
||||
const type = alipay.type;
|
||||
const orderStr = alipay.orderStr;
|
||||
if(type === "h5"){// h5
|
||||
uni.navigateTo({
|
||||
url: `/pages/payment_processing/payment_processing?link=${encodeURIComponent(orderStr)}&orderNum=`+orderNum // 假设有一个专门的支付页面来处理支付链接
|
||||
});
|
||||
}else if(type === "app"){ // app
|
||||
uni.requestPayment({
|
||||
provider: 'alipay',
|
||||
orderInfo: orderStr,
|
||||
success: function(res) {
|
||||
console.log("zfbPayFun res",res);
|
||||
payFeedbackFun(orderId,orderNum,1);
|
||||
jumpWayOk();
|
||||
},
|
||||
fail: function(err) {
|
||||
console.error("支付宝支付error",err);
|
||||
jumpWayError();
|
||||
}
|
||||
});
|
||||
}
|
||||
// return new Promise((resolve, reject) => {
|
||||
// resolve(res);
|
||||
// // reject(err);
|
||||
// });
|
||||
};
|
||||
|
||||
// 跳转到支付成功页面
|
||||
export function jumpWayOk(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/order_submit_ok/order_submit_ok",
|
||||
})
|
||||
}
|
||||
// 跳转到支付失败页面
|
||||
export function jumpWayError(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/order_submit_error/order_submit_error",
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 支付结果回调
|
||||
* @param {Object} orderId 支付订单ID
|
||||
* @param {Object} orderNum 支付订单编号
|
||||
* @param {Object} status 反馈结果【0:失败,1:成功】
|
||||
*/
|
||||
async function payFeedbackFun(orderId,orderNum,status){
|
||||
const params = {
|
||||
orderId,
|
||||
orderNum,
|
||||
status,
|
||||
}
|
||||
console.log("params",params);
|
||||
const response = await feedback(params);
|
||||
console.log("payFeedbackFun response",response);
|
||||
if(response && response.bizcode !==100){
|
||||
console.error("反馈结果",response);
|
||||
}
|
||||
}
|
||||
+111
-111
@@ -1,111 +1,111 @@
|
||||
import {getStorageFun,TOKEN_NAME} from './auth.js';
|
||||
import qs from "qs";
|
||||
import { BASE_URL,Authorization } from '@/utils/config.js'
|
||||
|
||||
// utils/http.js (修改后的版本)
|
||||
// const baseUrl = 'http://192.168.0.108:8087';
|
||||
|
||||
function request(options) {
|
||||
const { url, method = 'GET', data = {}, headers = {},isShowLoading=true } = options;
|
||||
|
||||
// const token = uni.getStorageSync(tokenKey); // 获取token, 根据实际情况调整获取方式
|
||||
const token = getStorageFun(TOKEN_NAME); // 获取token, 根据实际情况调整获取方式
|
||||
const defaultHeaders = {
|
||||
"Authorization":Authorization,
|
||||
'HSM-AUTH': token ? token : '', // 如果存在token, 则添加到请求头中
|
||||
'content-type': ['post','POST'].includes(method) ? 'application/x-www-form-urlencoded' : 'application/json',
|
||||
};
|
||||
if(token){
|
||||
defaultHeaders['HSM-AUTH'] = token;
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
if(isShowLoading){
|
||||
// 请求之前做一些事
|
||||
uni.showLoading({
|
||||
title: "加载中...",
|
||||
})
|
||||
}
|
||||
uni.request({
|
||||
url: BASE_URL + url,
|
||||
method,
|
||||
data,
|
||||
header: {
|
||||
...defaultHeaders,
|
||||
...headers, // 使用展开运算符合并默认头和自定义头
|
||||
},
|
||||
success: (res) => {
|
||||
if(isShowLoading){
|
||||
// 请求之前做一些事
|
||||
uni.hideLoading();
|
||||
}
|
||||
|
||||
let data = res.data;
|
||||
if(data && typeof(data) === "string"){
|
||||
data = JSON.parse(data);
|
||||
}
|
||||
if(data.status === 500){
|
||||
uni.showToast({
|
||||
title: "系统异常,请稍后再试",
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
mask: false, // 是否显示透明蒙层,防止触摸穿透
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (data.bizcode === 100) {
|
||||
resolve(data); // 成功时返回数据
|
||||
} else if (data.bizcode === 201) {
|
||||
if([201,200].includes(data.errcode)){
|
||||
uni.showToast({
|
||||
title: '登录失效,请重新登录',
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
mask: false, // 是否显示透明蒙层,防止触摸穿透
|
||||
position: 'middle' // 位置,可选 top/middle/bottom
|
||||
});
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
mask: false, // 是否显示透明蒙层,防止触摸穿透
|
||||
position: 'middle' // 位置,可选 top/middle/bottom
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 205:已经有账号,返回登录页面
|
||||
* 200 or 201:token失效,返回登录页面
|
||||
*/
|
||||
if([201,200,205].includes(data.errcode )){
|
||||
setTimeout(() => {
|
||||
uni.navigateTo({
|
||||
url:'/pages/login/login'
|
||||
})
|
||||
}, 2000);
|
||||
}
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
});
|
||||
reject(data); // 其他错误情况返回错误信息
|
||||
}
|
||||
},
|
||||
fail: (error) => {
|
||||
if(isShowLoading){
|
||||
// 请求之前做一些事
|
||||
uni.hideLoading();
|
||||
}
|
||||
uni.showToast({
|
||||
title: "服务器异常,稍后再试",
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
});
|
||||
// reject(error); // 请求失败时返回错误信息
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export default request;
|
||||
import {getStorageFun,TOKEN_NAME} from './auth.js';
|
||||
import qs from "qs";
|
||||
import { BASE_URL,Authorization } from '@/utils/config.js'
|
||||
|
||||
// utils/http.js (修改后的版本)
|
||||
// const baseUrl = 'http://192.168.0.108:8087';
|
||||
|
||||
function request(options) {
|
||||
const { url, method = 'GET', data = {}, headers = {},isShowLoading=true } = options;
|
||||
|
||||
// const token = uni.getStorageSync(tokenKey); // 获取token, 根据实际情况调整获取方式
|
||||
const token = getStorageFun(TOKEN_NAME); // 获取token, 根据实际情况调整获取方式
|
||||
const defaultHeaders = {
|
||||
"Authorization":Authorization,
|
||||
'HSM-AUTH': token ? token : '', // 如果存在token, 则添加到请求头中
|
||||
'content-type': ['post','POST'].includes(method) ? 'application/x-www-form-urlencoded' : 'application/json',
|
||||
};
|
||||
if(token){
|
||||
defaultHeaders['HSM-AUTH'] = token;
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
if(isShowLoading){
|
||||
// 请求之前做一些事
|
||||
uni.showLoading({
|
||||
title: "加载中...",
|
||||
})
|
||||
}
|
||||
uni.request({
|
||||
url: BASE_URL + url,
|
||||
method,
|
||||
data,
|
||||
header: {
|
||||
...defaultHeaders,
|
||||
...headers, // 使用展开运算符合并默认头和自定义头
|
||||
},
|
||||
success: (res) => {
|
||||
if(isShowLoading){
|
||||
// 请求之前做一些事
|
||||
uni.hideLoading();
|
||||
}
|
||||
|
||||
let data = res.data;
|
||||
if(data && typeof(data) === "string"){
|
||||
data = JSON.parse(data);
|
||||
}
|
||||
if(data.status === 500){
|
||||
uni.showToast({
|
||||
title: "系统异常,请稍后再试",
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
mask: false, // 是否显示透明蒙层,防止触摸穿透
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (data.bizcode === 100) {
|
||||
resolve(data); // 成功时返回数据
|
||||
} else if (data.bizcode === 201) {
|
||||
if([201,200].includes(data.errcode)){
|
||||
uni.showToast({
|
||||
title: '登录失效,请重新登录',
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
mask: false, // 是否显示透明蒙层,防止触摸穿透
|
||||
position: 'middle' // 位置,可选 top/middle/bottom
|
||||
});
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
mask: false, // 是否显示透明蒙层,防止触摸穿透
|
||||
position: 'middle' // 位置,可选 top/middle/bottom
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 205:已经有账号,返回登录页面
|
||||
* 200 or 201:token失效,返回登录页面
|
||||
*/
|
||||
if([201,200,205].includes(data.errcode )){
|
||||
setTimeout(() => {
|
||||
uni.navigateTo({
|
||||
url:'/pages/login/login'
|
||||
})
|
||||
}, 2000);
|
||||
}
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
});
|
||||
reject(data); // 其他错误情况返回错误信息
|
||||
}
|
||||
},
|
||||
fail: (error) => {
|
||||
if(isShowLoading){
|
||||
// 请求之前做一些事
|
||||
uni.hideLoading();
|
||||
}
|
||||
uni.showToast({
|
||||
title: "服务器异常,稍后再试",
|
||||
icon: 'none', // 可选 success/loading/none
|
||||
duration: 2000, // 持续时长,单位ms
|
||||
});
|
||||
// reject(error); // 请求失败时返回错误信息
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export default request;
|
||||
|
||||
Reference in New Issue
Block a user