fix: 优化提交订单页面js警告,充值订单跳转bug以及其他bug。refactor: 重构地址选择

This commit is contained in:
黄少君
2024-03-05 12:16:58 +08:00
parent 3fc1284094
commit a9533e2d7f
18 changed files with 553 additions and 671 deletions

View File

@ -26,7 +26,7 @@ export const ServiceFrom = {
export const ServicePayType = {
'h5': 'weixin_h5', // H5微信外H5
'weixin-h5':'weixin', // h5 微信内h5
'weixin-h5': 'weixin', // h5 微信内h5
'weixin': 'weixin_applet', // 微信小程序
'app': 'weixin_app', // 微信APP
'yue': 'yue', // 微信APP
@ -78,7 +78,7 @@ export function getEnvType() {
export async function doPayment(options) {
try {
loading({title: '支付中...'})
return await _chooseEnvToPayment(options)
return await _chooseEnvToPayment(options)
} finally {
hideLoading()
}
@ -91,7 +91,7 @@ export async function doPayment(options) {
* @private
*/
async function _chooseEnvToPayment(options) {
const {type, payInfo,isGroup} = options
const {type, payInfo, isGroup} = options
let res;
if (type === PayType[0]) {
// 微信支付
@ -137,7 +137,7 @@ function _appWechatPay(options) {
// 请求线上获取 res:{ appId,timeStamp,nonceStr,paySign,package,signType,mwebUrl,codeUrl,merchant_id,out_trade_no }
const res = await _doWechatPayRequest(payData)
// 兼容性写法:防止电脑端用户支付后马上关闭支付弹窗导致失败
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData,options}))
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData, options}))
const orderInfo = {
appid: res.appId, // 微信开放平台审核通过的移动应用AppID 。
prepayid: res.merchant_id, // 请填写商户号mchid对应的值。
@ -172,7 +172,7 @@ async function _miniProgramPay(options) {
// 请求线上获取 res:{ appId,timeStamp,nonceStr,paySign,package,signType,mwebUrl,codeUrl,merchant_id,out_trade_no }
const res = await _doWechatPayRequest(payData)
// 兼容性写法:防止电脑端用户支付后马上关闭支付弹窗导致失败
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData,options}))
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData, options}))
uni.requestPayment({
timeStamp: res.timeStamp,
nonceStr: res.nonceStr,
@ -197,7 +197,7 @@ async function _h5InWechatPay(options) {
const payData = {
from: ServiceFrom['h5'],
payType: ServicePayType['weixin-h5'],
orderId:options.payInfo.orderId
orderId: options.payInfo.orderId
}
// 请求线上获取 res:{ appId,timeStamp,nonceStr,paySign,package,signType,mwebUrl,codeUrl,merchant_id,out_trade_no }
const res = await _doWechatPayRequest(payData)
@ -215,7 +215,7 @@ async function _h5InWechatPay(options) {
jweixin.checkJsApi({
jsApiList: ['chooseWXPay'], // 需要检测的JS接口列表所有JS接口列表见附录2,
success: () => {
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData,options}))
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData, options}))
/** 去拉起微信支付 */
jweixin.chooseWXPay({
timestamp: res.timeStamp, // 支付签名时间戳注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
@ -263,7 +263,7 @@ async function _h5OutWechatPay(options) {
const res = await _doWechatPayRequest(payData)
if (res && res.mwebUrl) {
// 缓存支付订单数据
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData,options}))
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData, options}))
location.replace(res.mwebUrl)
return Promise.resolve(createMessage('拉起支付成功', {type: 'h5'}))
} else {
@ -281,9 +281,9 @@ function _aliPay(payInfo) {
/**
* 余额支付
* @param payInfo
* @return {Promise<never>}
* @private
* @param options
*/
async function _balancePay(options) {
let from
@ -299,7 +299,7 @@ async function _balancePay(options) {
orderId: options.payInfo.orderId
}
const res = await _doWechatPayRequest(payData)
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData,options}))
uni.setStorageSync(CacheKey.PAY_INFO, JSON.stringify({payData, options}))
// 余额支付支付完直接跳转
push({url: '/pages/payStatus/index'}, {type: 'redirectTo'})
return res

View File

@ -31,14 +31,6 @@ export function formatRemainTime(time) {
return `还剩${ remainTimeStr }自动确认`
}
/**
* 正则检测大陆手机号
* @param phone
*/
export function checkPhone(phone) {
return /^1[3456789]\d{9}$/.test(phone);
}
/**
* 创建一个滚动动画
@ -261,3 +253,7 @@ export const filterParams = (obj) => {
}
return newObj;
}
export const checkPhone = (phone) => {
return /^1[3456789]\d{9}$/.test(phone)
}