yfs/common/platform/MiniProgramPlatform.js
2025-05-03 15:37:20 +08:00

92 lines
1.7 KiB
JavaScript

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;