import BasePlatform from './BasePlatform'; /** * 小程序平台 */ class MiniProgramPlatform extends BasePlatform { constructor() { super(); this.code = 'MP-WEIXIN'; this.env = 'miniProgram'; } getPayData(url, data) { return data; } pay({ data }) { return new Promise((resolve, reject) => { let provider = "weixin"; uni.requestPayment({ provider, ...data, success: res => { // console.log(res) }, fail: err => { // console.log('common.wxMpPay-error', err) }, complete: res => { console.log('complete (res)', res) if (res.errMsg == 'requestPayment:fail cancel') { uni.showToast({ title: '取消支付', icon: 'none', duration: 500, success: () => { /* 取消订单 */ resolve('cancel') } }) } if (res.errMsg == 'requestPayment:ok') { uni.showToast({ title: '支付成功', icon: 'success', duration: 500, success: () => { resolve('success') } }) } } }) }) } share({ title, desc, image, url }) { wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] }); // 监听用户点击分享按钮 wx.onShareAppMessage(() => ({ title, imageUrl: image })); } /** * 选择地址 * @returns */ chooseAddress() { return new Promise((resolve, reject) => { uni.chooseAddress({ success: res => { res.detailed_address = res.provinceName + res.cityName + res.countyName + res.detailInfo; resolve(res) }, fail: err => { reject(err) } }); }); } } export default MiniProgramPlatform;