初始化项目模板
This commit is contained in:
1 parent
80fd6a1d4b
commit
b3a69a1f27
69 files changed
+11088
No files matched your search
@@ -0,0 +1,262 @@
|
||||
import { apiInitPay } from '../api/common';
|
||||
import { useUserStore } from '../store/user';
|
||||
import { baseUrl } from '../utils/request';
|
||||
import { getConfig } from '@/pages/index/api';
|
||||
import i18n from '../lang';
|
||||
|
||||
/**
|
||||
* @desc 获取全局配置参数
|
||||
*/
|
||||
export const getConfigInfo = () => {
|
||||
getConfig().then((res) => {
|
||||
if (res.success) {
|
||||
const bottomNavList = res.data?.bottomNavList;
|
||||
// if (bottomNavList.length > 0) {
|
||||
// bottomNavList.map((item) => {
|
||||
// uni.setTabBarItem({
|
||||
// ...item,
|
||||
// });
|
||||
// });
|
||||
// }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc 退款协议
|
||||
* @params companyCode 退款协议需要conpanyCode
|
||||
* @params isRefund false非退款协议 true退款协议
|
||||
* @return html富文本
|
||||
*/
|
||||
export function serviceApi(companyCode, isRefund) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let id;
|
||||
if (isRefund) {
|
||||
id = companyCode === 'turbojet' ? 34 : 35;
|
||||
} else {
|
||||
id = 1;
|
||||
}
|
||||
request
|
||||
.post(api.infoMessage, {
|
||||
id: id,
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.success) {
|
||||
resolve(res.data.content);
|
||||
} else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: res.message,
|
||||
});
|
||||
reject();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//
|
||||
/**
|
||||
* @desc APP调用第三方程序 集成微信,支付寶跳轉
|
||||
*/
|
||||
export function launchApp() {
|
||||
if (
|
||||
plus.runtime.isApplicationExist({
|
||||
pname: 'com.tencent.mm',
|
||||
action: 'weixin://',
|
||||
}) &&
|
||||
paymentKey.value.includes('wx')
|
||||
) {
|
||||
// 跳转应用
|
||||
plus.runtime.launchApplication(
|
||||
{
|
||||
pname: 'com.tencent.mm',
|
||||
action: 'weixin://',
|
||||
},
|
||||
function (e) {
|
||||
console.log('e', e);
|
||||
}
|
||||
);
|
||||
// 检查支付通道
|
||||
plus.payment.getChannels((res) => {
|
||||
console.log('getChannels', res);
|
||||
});
|
||||
// 后台获取支付参数
|
||||
request
|
||||
.post(api.pay, {
|
||||
groupId: groupId.value,
|
||||
payAgentId: payAgentId.value,
|
||||
})
|
||||
.then((res) => {
|
||||
// 拉起微信支付
|
||||
plus.payment.request(
|
||||
'wxpay',
|
||||
res.data,
|
||||
function (resp) {
|
||||
console.log('resp', resp);
|
||||
},
|
||||
function (err) {
|
||||
console.log('err', err);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
// 判断支付宝
|
||||
if (
|
||||
plus.runtime.isApplicationExist({
|
||||
pname: 'com.eg.android.AlipayGphone',
|
||||
action: 'alipay://',
|
||||
}) &&
|
||||
paymentKey.value.includes('zfb')
|
||||
) {
|
||||
plus.runtime.launchApplication(
|
||||
{
|
||||
pname: 'com.eg.android.AlipayGphone',
|
||||
action: 'alipay://',
|
||||
},
|
||||
function (e) {
|
||||
console.log('launchApplication', e.message);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc 处理支付
|
||||
* @params groupId 订单组id
|
||||
* @return 支付参数
|
||||
*/
|
||||
export const handlePay = (groupId) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const res = await apiInitPay(groupId);
|
||||
if (res.success) {
|
||||
console.log(res.data);
|
||||
const payInfo = res.data;
|
||||
// 半屏支付
|
||||
if (payInfo.payType === 'mpSkip') {
|
||||
uni.openEmbeddedMiniProgram({
|
||||
...payInfo.mpSkipParam,
|
||||
success: (res) => {
|
||||
console.log('success', res);
|
||||
resolve(res.data);
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log('fail', err);
|
||||
resolve(err.message);
|
||||
},
|
||||
});
|
||||
} else if (payInfo.payType === 'direct') {
|
||||
handleDirectPay(groupId, () => {
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
} else {
|
||||
resolve(res.message);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export function handleDirectPay(orderNo, callback) {
|
||||
const userStore = useUserStore();
|
||||
let __userToken = userStore.userToken;
|
||||
let __lang = userStore.lang;
|
||||
let __platform = userStore.platform;
|
||||
let orderNum = typeof orderNo === 'object' ? orderNo.join(',') : orderNo;
|
||||
uni.showLoading({
|
||||
mask: true,
|
||||
title: 'loading...',
|
||||
});
|
||||
uni.request({
|
||||
url: baseUrl + '/sale/pay/pay',
|
||||
method: 'POST',
|
||||
data: {
|
||||
groupId: orderNum,
|
||||
__token: __userToken,
|
||||
__platform: __platform,
|
||||
__language: __lang,
|
||||
channelId: 33,
|
||||
},
|
||||
success: (res) => {
|
||||
if (res.data.code === 0) {
|
||||
let requestParams = {};
|
||||
// #ifdef MP-BAIDU
|
||||
requestParams = {
|
||||
orderInfo: {
|
||||
...res.data.data,
|
||||
...res.data.data.thirdParams,
|
||||
},
|
||||
};
|
||||
// #endif
|
||||
console.log(res.data.data);
|
||||
// #ifndef MP-BAIDU
|
||||
requestParams = {
|
||||
orderInfo: res.data.data.thirdParams ? res.data.data.thirdParams.frontData.tradeNo : '',
|
||||
timeStamp: res.data.data.timeStamp,
|
||||
nonceStr: res.data.data.nonceStr,
|
||||
package: res.data.data.package,
|
||||
signType: res.data.data.signType,
|
||||
paySign: res.data.data.paySign,
|
||||
};
|
||||
// #endif
|
||||
uni.requestPayment({
|
||||
...requestParams,
|
||||
success(res) {
|
||||
// #ifdef MP-ALIPAY
|
||||
if (res.resultCode === '6001') {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: i18n.global.t('cancelPay'),
|
||||
duration: 2000,
|
||||
});
|
||||
}
|
||||
if (res.resultCode === '9000') {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: i18n.global.t('paySuccess'),
|
||||
duration: 2000,
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
// #ifndef MP-ALIPAY
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: i18n.global.t('paySuccess'),
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
fail(res) {
|
||||
console.log('fail-res', res);
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: i18n.global.t('payFailed'),
|
||||
mask: true,
|
||||
});
|
||||
},
|
||||
complete() {
|
||||
callback();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
// 创建失败
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: res.data.message,
|
||||
mask: true,
|
||||
});
|
||||
callback();
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log('fail-err', err);
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: err.message,
|
||||
});
|
||||
setTimeout(() => {
|
||||
callback();
|
||||
}, 1500);
|
||||
},
|
||||
complete() {
|
||||
uni.hideLoading();
|
||||
},
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user