diff --git a/README.md b/README.md index dd2127c..4b33d2f 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ const app = new Vue({ - [uview-ui](https://v1.uviewui.com/components/intro.html) - [mescroll](https://www.mescroll.com/uni.html#mescrollbody) ``` - import {MescrollMixin, MescrollCompMixin} from '@/common/utils/MescrollMap' + import {MescrollMixin, MescrollCompMixin} from '@/common/utils/mescroll-map' ``` ### api diff --git a/common/utils/MescrollMap.js b/common/utils/mescroll-map.js similarity index 100% rename from common/utils/MescrollMap.js rename to common/utils/mescroll-map.js diff --git a/common/utils/payment.js b/common/utils/payment.js new file mode 100644 index 0000000..41d1fec --- /dev/null +++ b/common/utils/payment.js @@ -0,0 +1,77 @@ +function wxpay (orderInfo) { + if(typeof orderInfo !== 'object') throw new Error('orderInfo must object type') + return new Promise((resolve, reject) => { + uni.requestPayment({ + 'provider': 'wxpay', + 'orderInfo': { + 'appid': orderInfo.appid, + 'noncestr': orderInfo.noncestr, + 'package': 'Sign=WXPay', + 'partnerid': orderInfo.partnerid, + 'prepayid': orderInfo.prepayid, + 'timestamp': orderInfo.timestamp, + 'sign': orderInfo.sign + }, + success(res) { + setTimeout(resolve(res), 500) + }, + fail(e) { + reject(e) + } + }) + }) +} + +function alipay(orderInfo) { + if(typeof orderInfo !== 'string') throw new Error('orderInfo must string type') + return new Promise((resolve, reject) => { + uni.requestPayment({ + provider: 'alipay', + orderInfo, + success: function (res) { + setTimeout(resolve(res), 500) + }, + fail: function (err) { + reject(err) + } + }) + }) +} + +function wxmini(orderInfo) { + if(typeof orderInfo !== 'object') throw new Error('orderInfo must object type') + return new Promise((resolve, reject) => { + uni.requestPayment({ + provider: 'wxpay', + timeStamp: String(Date.now()), + nonceStr: orderInfo.nonceStr, + package: orderInfo.package, + signType: 'MD5', + paySign: orderInfo.paySign, + success: function (res) { + setTimeout(resolve(res), 500) + }, + fail: function (err) { + reject(err) + } + }) + }) +} + +function paymentAuto(orderInfo, type) { + // #ifdef APP-PLUS + if(type == 'wxpay') return wxpay(orderInfo) + if(type == 'alipay') return alipay(orderInfo) + // #endif + + // #ifdef MP-WEIXIN + return wxmini(orderInfo) + // #endif +} + +export { + paymentAuto as default, + wxpay, + wxmini, + alipay +}