You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

378 lines
9.9 KiB
JavaScript

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;
}
})