|
|
|
const app = getApp();
|
|
|
|
const card = require('../../utils/card.js');
|
|
|
|
const log = require('../../utils/log.js');
|
|
|
|
const QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js');
|
|
|
|
const cartOrder = require("../../utils/cartOrder.js");
|
|
|
|
Page({
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面的初始数据
|
|
|
|
*/
|
|
|
|
data: {
|
|
|
|
hidden: false,
|
|
|
|
isOpen: true,
|
|
|
|
user: app.globalData.user,
|
|
|
|
type:"",
|
|
|
|
scanner: false
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
*/
|
|
|
|
onLoad: function(options) {
|
|
|
|
// 巨为
|
|
|
|
// "ETLBZ-FABA4-XCDUL-DG3QJ-6FJ2Q-T2BRM"
|
|
|
|
|
|
|
|
// 享甜
|
|
|
|
// 56WBZ-5IIK4-S4TUQ-D7KMX-MZL2J-BXBMD
|
|
|
|
this.setData({
|
|
|
|
pageOption: options
|
|
|
|
});
|
|
|
|
var key="56WBZ-5IIK4-S4TUQ-D7KMX-MZL2J-BXBMD";
|
|
|
|
var that = this;
|
|
|
|
var inter=setInterval(function(){
|
|
|
|
if(app.globalData.isLoadSuccess){
|
|
|
|
if(app.globalData.txMapKey){
|
|
|
|
key=app.globalData.txMapKey;
|
|
|
|
app.qqmapsdk = new QQMapWX({
|
|
|
|
key:key,
|
|
|
|
});
|
|
|
|
}else{
|
|
|
|
// app.showMsg("没有配置定位信息,请联系开发者配置","none");
|
|
|
|
app.qqmapsdk = new QQMapWX({
|
|
|
|
key:key,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
clearInterval(inter);
|
|
|
|
}
|
|
|
|
},500)
|
|
|
|
|
|
|
|
|
|
|
|
console.log("-----------", options);
|
|
|
|
//扫码
|
|
|
|
if (options.scene) {
|
|
|
|
var code = ""
|
|
|
|
if(options.scene.indexOf("&") != -1) {
|
|
|
|
code = decodeURIComponent(options.scene)
|
|
|
|
}else {
|
|
|
|
code = decodeURIComponent(decodeURIComponent(decodeURIComponent(options.scene)))
|
|
|
|
}
|
|
|
|
log.info(code)
|
|
|
|
console.log("扫码结果--->" + code);
|
|
|
|
// that.setData({
|
|
|
|
// scanner: true
|
|
|
|
// })
|
|
|
|
|
|
|
|
// setTimeout(function() {
|
|
|
|
// that.decodeCode(code);
|
|
|
|
// }, 1000);
|
|
|
|
that.setTimeWatch(code)
|
|
|
|
}
|
|
|
|
|
|
|
|
//会员分享
|
|
|
|
if (options.type) {
|
|
|
|
if (options.type = 'share') {
|
|
|
|
app.temData.shareStatus = true;
|
|
|
|
app.temData.fromMemberId = options.memberId;
|
|
|
|
app.temData.activityId = options.activityId;
|
|
|
|
app.temData.openId = options.openId;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
app.userInfoReadyCallback = res => {
|
|
|
|
if (res) {
|
|
|
|
that.cy_getMemberInfo();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
//定时器获取数据
|
|
|
|
setTimeWatch: function(val) {
|
|
|
|
var that = this;
|
|
|
|
var id = setInterval(function(){
|
|
|
|
if(val) {
|
|
|
|
that.setData({
|
|
|
|
scanner: true
|
|
|
|
});
|
|
|
|
that.decodeCode(val);
|
|
|
|
clearInterval(id)
|
|
|
|
}
|
|
|
|
}, 1500)
|
|
|
|
},
|
|
|
|
// 扫码点餐
|
|
|
|
decodeCode: function(code) {
|
|
|
|
if (code) {
|
|
|
|
var arr = [];
|
|
|
|
arr = code.split("&");
|
|
|
|
app.storeId = arr[1];
|
|
|
|
var tableNo = arr[2];
|
|
|
|
var str = code.substr(code.length - 2, 2);
|
|
|
|
console.log("tableNo--->" + tableNo);
|
|
|
|
wx.setStorageSync('type', str);
|
|
|
|
app.isLoadTableNo = "load";
|
|
|
|
this.cy_loadTableNo(tableNo);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 加载餐桌
|
|
|
|
*/
|
|
|
|
cy_loadTableNo: function(tableNoParam) {
|
|
|
|
var that = this;
|
|
|
|
var params = {
|
|
|
|
"method": "store.table",
|
|
|
|
"storeId": app.storeId,
|
|
|
|
}
|
|
|
|
var ignores = [];
|
|
|
|
app.jsapi.api(app.globalData.appKey, app.globalData.appSecret, app.globalData.serverUrl).ajax(params, ignores,
|
|
|
|
function(json) {
|
|
|
|
console.log("---------", json);
|
|
|
|
var data = json.data;
|
|
|
|
if (data.status == 1) {
|
|
|
|
var list = data.list;
|
|
|
|
if (list.length > 0) {
|
|
|
|
var tableNo = "";
|
|
|
|
for (var item of list) {
|
|
|
|
if (item.no == tableNoParam) {
|
|
|
|
tableNo = item.name;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
console.log(tableNoParam, tableNo);
|
|
|
|
if(tableNoParam.indexOf("type") == -1){
|
|
|
|
wx.setStorageSync("tableNo", tableNoParam);
|
|
|
|
}
|
|
|
|
wx.setStorageSync("tableName", tableNo);
|
|
|
|
that.loadStoreDetail();
|
|
|
|
} else {
|
|
|
|
that.loadStoreDetail();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
function(err) {
|
|
|
|
console.log("=-=-=", err);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
loadStoreDetail: function() {
|
|
|
|
var that = this;
|
|
|
|
var params = {
|
|
|
|
"method": "program.store.detail",
|
|
|
|
"storeId": app.storeId,
|
|
|
|
}
|
|
|
|
var ignores = [];
|
|
|
|
app.jsapi.api(app.globalData.appKey, app.globalData.appSecret, app.globalData.serverUrl).ajax(params, ignores,
|
|
|
|
function(json) {
|
|
|
|
console.log(json);
|
|
|
|
var data = json.data;
|
|
|
|
if (data.status == 1) {
|
|
|
|
var store = data.data;
|
|
|
|
//console.error(store + "....")
|
|
|
|
//判断门店是否营业
|
|
|
|
store.isBusiness = store.isOpen
|
|
|
|
wx.setStorageSync("store", store);
|
|
|
|
app.orderTicket = cartOrder.getDefaultOrderTicket();
|
|
|
|
app.orderTicket.storeId = app.storeId;
|
|
|
|
app.orderTicket.storeName = store.storeName;
|
|
|
|
app.orderTicket.storeAddress = store.address;
|
|
|
|
app.orderTicket.storeNo = store.storeNo;
|
|
|
|
app.orderTicket.distance = 0;
|
|
|
|
app.orderTicket.deliverFee = store.deliverFee;
|
|
|
|
//app.orderTicket.busMode = 0;
|
|
|
|
app.orderTicket.phone = app.globalData.phone;
|
|
|
|
app.orderTicket.tableName = wx.getStorageSync("tableName");
|
|
|
|
app.orderTicket.tableNo = wx.getStorageSync("tableNo");
|
|
|
|
app.globalData.memberPriceEnabled = store.memberPriceEnabled;
|
|
|
|
app.globalData.memberPayEnabled=store.memberPayEnabled;
|
|
|
|
//判断门店是否营业
|
|
|
|
var url = "index?scanner=" + that.data.scanner;
|
|
|
|
if( store.isOpen ==0){
|
|
|
|
url = "index?scanner=" + false;
|
|
|
|
}
|
|
|
|
wx.redirectTo({
|
|
|
|
url: url,
|
|
|
|
})
|
|
|
|
|
|
|
|
} else {
|
|
|
|
wx.showToast({
|
|
|
|
title: data.message,
|
|
|
|
icon: 'none'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
function(err) {
|
|
|
|
console.log("=-=-=", err);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
onShow: function() {
|
|
|
|
wx.clearStorage();
|
|
|
|
this.onLoad(this.data.pageOption);
|
|
|
|
var that = this;
|
|
|
|
if (app.globalData.memberAppKey) {
|
|
|
|
if (this.data.isOpen) {
|
|
|
|
setTimeout(function() {
|
|
|
|
if (!that.data.scanner) {
|
|
|
|
that.setData({
|
|
|
|
isOpen: false,
|
|
|
|
hidden: true,
|
|
|
|
});
|
|
|
|
|
|
|
|
if (!that.data.scanner) {
|
|
|
|
wx.redirectTo({
|
|
|
|
url: 'index',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 4000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取用户信息
|
|
|
|
*/
|
|
|
|
cy_getRequestUserInfo: function(e) {
|
|
|
|
var that = this;
|
|
|
|
var userInfo = e.detail.userInfo;
|
|
|
|
var nickName = userInfo.nickName;
|
|
|
|
var gender = userInfo.gender;
|
|
|
|
var encryptedData = e.detail.encryptedData;
|
|
|
|
var iv = e.detail.iv;
|
|
|
|
wx.request({
|
|
|
|
url: app.globalData.serverUrlExtend,
|
|
|
|
method: "POST",
|
|
|
|
header: {
|
|
|
|
'content-type': 'application/x-www-form-urlencoded'
|
|
|
|
},
|
|
|
|
data: {
|
|
|
|
"type": "wxdcgetuser",
|
|
|
|
"tenantId": app.globalData.tenantId,
|
|
|
|
"wid": app.globalData.wid,
|
|
|
|
"openId": app.openId,
|
|
|
|
"loginKey": app.loginKey,
|
|
|
|
"encryptedData": encryptedData,
|
|
|
|
"iv": iv,
|
|
|
|
"nickName": nickName,
|
|
|
|
"sex": gender
|
|
|
|
},
|
|
|
|
success: function(res) {
|
|
|
|
var data = res.data;
|
|
|
|
if (data.status == 1) {
|
|
|
|
var user = data.data.user;
|
|
|
|
app.globalData.userId = user.id;
|
|
|
|
wx.setStorageSync("userId", user.id);
|
|
|
|
} else {
|
|
|
|
wx.showToast({
|
|
|
|
title: data.message,
|
|
|
|
icon: "none",
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fail: function(res) {
|
|
|
|
wx.showToast({
|
|
|
|
title: '网络连接异常,请检查',
|
|
|
|
icon: "none"
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取会员信息
|
|
|
|
*/
|
|
|
|
cy_getMemberInfo: function() {
|
|
|
|
var that = this;
|
|
|
|
var user = that.data.user;
|
|
|
|
var params = {
|
|
|
|
"method": "small.weixin.member.info.wid1",
|
|
|
|
"wid": app.globalData.memberWid,
|
|
|
|
"openId": app.openId,
|
|
|
|
};
|
|
|
|
// 忽略签名参数
|
|
|
|
var ignores = ["openId", "nickName", "gender", "avatarUrl", "country", "province", "city"];
|
|
|
|
app.jsapi.api(app.globalData.memberAppKey, app.globalData.memberAppSecret,app.globalData.memberUrl).ajax(params, ignores,
|
|
|
|
function(json) {
|
|
|
|
console.log("-------会员信息", json);
|
|
|
|
var result = json.data;
|
|
|
|
if (result.status == 1) {
|
|
|
|
var data = result.data;
|
|
|
|
if (data.cardNo) {
|
|
|
|
wx.setStorageSync("cardNo", data.cardNo);
|
|
|
|
wx.setStorageSync("memberId", data.memberId);
|
|
|
|
app.globalData.cardNo = data.cardNo;
|
|
|
|
app.globalData.memberId = data.memberId;
|
|
|
|
that.cy_selectCardInfo();
|
|
|
|
}
|
|
|
|
if (that.data.isOpen) {
|
|
|
|
that.data.isOpen = false;
|
|
|
|
if (!that.data.scanner) {
|
|
|
|
wx.redirectTo({
|
|
|
|
url: 'index',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
if (result.code == 38) {
|
|
|
|
wx.showModal({
|
|
|
|
title: "提示",
|
|
|
|
content: result.message,
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
that.setData({
|
|
|
|
hidden: true,
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
function(err) {
|
|
|
|
console.log(err)
|
|
|
|
that.setData({
|
|
|
|
hidden: true,
|
|
|
|
})
|
|
|
|
wx.showToast({
|
|
|
|
title: '网络异常,请检查网络连接',
|
|
|
|
icon: "none"
|
|
|
|
})
|
|
|
|
}
|
|
|
|
);
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询卡信息
|
|
|
|
*/
|
|
|
|
cy_selectCardInfo: function() {
|
|
|
|
var that = this;
|
|
|
|
card.wx_cardInfo(app.globalData.cardNo, function(json) {
|
|
|
|
console.log(json);
|
|
|
|
var result = json.data;
|
|
|
|
if (result.status == 1) {
|
|
|
|
var cardInfo = result.data;
|
|
|
|
wx.setStorageSync("cardInfo", cardInfo);
|
|
|
|
app.globalData.cardInfo = cardInfo;
|
|
|
|
that.setData({
|
|
|
|
availableAmount: cardInfo.availableAmount,
|
|
|
|
totalPoint: cardInfo.totalPoint,
|
|
|
|
level: cardInfo.level,
|
|
|
|
couponNum: cardInfo.couponNum
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
wx.showToast({
|
|
|
|
title: result.errMessage,
|
|
|
|
icon: "none"
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}, function(err) {
|
|
|
|
wx.showToast({
|
|
|
|
title: "网络链接失败",
|
|
|
|
icon: "none"
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* 用户点击右上角分享
|
|
|
|
*/
|
|
|
|
onShareAppMessage: function() {
|
|
|
|
return app.onShare;
|
|
|
|
}
|
|
|
|
})
|