const app = getApp();
function scanAction() {
wx.scanCode({
onlyFromCamera: false,
scanType: ['qrCode', 'barCode', 'datamatrix', 'pdf417'],
success: res => dealScanCode(res.result),
fail: (e) => {
if (e && e.errMsg && e.errMsg.indexOf('scanCode:fail cancel') != -1) {
return;
}
wx.showToast({ title: '扫码失败', icon: 'none', })
}
});
}
function dealScanCode(result) {
app.log("scan:" + result)
if (!result || !result.lastIndexOf) {
wx.showToast({ title: '二维码错误', icon: 'none', duration: 2000 })
return;
}
if (result.lastIndexOf('synthetical=') != -1) {
bindAccount(result);
return;
}
wx.showToast({ title: '二维码错误', icon: 'none', duration: 2000 })
}
function bindAccount(param){
let groupNum = getUrlParam(param, 'chatID')
let groupType = getUrlParam(param, 'type');
}
module.exports = {
scanAction,
dealScanCode,
getUrlParam
}
function getUrlParam(url, name) {
let reg = new RegExp("(^|&|/?|//)" + name + "=([^&]*)(&|$)");
let result = url.substr(1).match(reg);
return result ? decodeURIComponent(result[2]) : null;
}
支付功能部分
```
onLinePayCostBill(e) {
var that = this;
util.request(api.onLinePayCostBill, {
id: e.currentTarget.dataset.orderid
}, 'POST')
.then(function (res) {
if (res.errcode == 0) {
console.log(res);
that.data.order_id = res.data.order_id;
that.wxPay()
}
});
},
wxPay() {
let that = this;
util.request(api.OrderPrepay, {
order_id: that.data.order_id
}, 'POST').then(function (res) {
if (res.errcode == 0) {
console.log("支付过程开始");
wx.requestPayment({
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.package,
signType: res.data.signType,
paySign: res.data.paySign,
success: function (res) {
console.log("支付过程成功");
wx.showModal({
title: '提示',
content: '预约成功。',
showCancel: false,
})
},
fail: function (res) {
console.log("支付过程失败");
},
complete: function (res) {
console.log("支付过程结束")
}
});
} else {
}
});
},
修改上一个页面
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2];
if (this.data.index) {
let name = prevPage.pro_name(this.data.index);
let intro = prevPage.pro_intro(this.data.index);
let pic = prevPage.pro_pic(this.data.index);
prevPage.setData({
[name]: this.data.name,
[intro]: this.data.intro,
[pic]: this.data.pic,
})
var pages = getCurrentPages()
var currentPage = pages[pages.length-1]
var url = currentPage.route
var options = currentPage.options
可以写成工具函数放到utils中:
function getCurrentPageUrl(){
var pages = getCurrentPages()
var currentPage = pages[pages.length-1]
var url = currentPage.route
return url
}
function getCurrentPageUrlWithArgs(){
var pages = getCurrentPages()
var currentPage = pages[pages.length-1]
var url = currentPage.route
var options = currentPage.options
var urlWithArgs = url + '?'
for(var key in options){
var value = options[key]
urlWithArgs += key + '=' + value + '&'
}
urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length-1)
return urlWithArgs
}
module.exports = {
getCurrentPageUrl: getCurrentPageUrl,
getCurrentPageUrlWithArgs: getCurrentPageUrlWithArgs
}