JMApp/pages/duiquan/duiquan.js
XiaoMo 2ed13ebf88 feat(duiquan): 添加扫码启动洗车机功能
在兑换成功后,用户可以选择立即使用洗车券。如果用户已扫码,则直接启动洗车机;如果未扫码,则跳转到扫码页面。同时,优化了洗车券列表的显示逻辑,当没有可用网点时显示“-”,并支持显示备注信息。
2025-04-16 18:03:42 +08:00

120 lines
3.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var e = getApp(), t = require("../../utils/login.js");
Page({
data: {
pic: "https://jm-static.v0750.com/image/dui.jpg",
tips: "温馨提示:\n1、请在30分钟内完成兑换超时作废\n2、请在兑换完成后在本页面点击\"确认兑换\"\n3、兑换成功后将在3个工作日内发放奖品",
code: ''
},
onLoad() {
t.request('/miniprogram/coupons', {}, !0).then((res) => {
if (res.code == 200) {
this.setData({
tips: res.data.tips,
pic: res.data.pic
})
}
})
},
toScan: function () {
e.globalData.needJumpUrl = !1;
var a = this;
wx.scanCode({
success: function (i) {
console.log(i), wx.showLoading({
title: ""
}), e.globalData.qrcode = i.result, t.request("/miniprogram/identify", i, !0).then(function (t) {
console.log("data", t), wx.hideLoading();
// 保存设备编号
getApp().globalData.devicecode = t.data.devicecode || getApp().globalData.devicecode;
a.startup();
}).catch(function (e) {
wx.hideLoading();
});
}
});
},
// 启动
startup: function () {
if (getApp().globalData.devicecode) {
// 已扫码,启动机器
t.request('/miniprogram/machine/carwashcodestartup', { devicecode: getApp().globalData.devicecode, washcode: this.data.code }, !0).then((startRes) => {
if (startRes.code == 200) {
wx.showToast({ title: '启动成功', icon: 'success' });
// 跳转到洗车券列表页面
wx.navigateTo({ url: '/pages/washCodeList/washCodeList' });
} else {
wx.navigateTo({ url: '/pages/washCodeList/washCodeList' });
wx.showToast({ title: startRes.message || '启动失败', icon: 'none' });
}
});
} else {
// 未扫码,提示
wx.showToast({
title: '请先扫码',
icon: 'none'
})
}
},
onSubmitToGroup(e) {
const code = e.detail.value.code
if (!code) {
wx.showToast({
title: '请输入券码',
icon: 'none'
})
return
}
wx.showLoading({
title: '兑换中...'
})
t.request('/miniprogram/coupons/importDouyin', { code: code }, !0).then((res) => {
wx.hideLoading()
if (res.code == 200) {
// 在当前页面记下券码
this.setData({
code: res.data.code
})
wx.showModal({
title: '兑换成功',
content: '是否立即使用?',
success: (result) => {
if (result.confirm) {
// 判断是否已扫码
if (getApp().globalData.devicecode) {
wx.showModal({
title: "提示",
content: "你当前将要使用的机器编号是:".concat(getApp().globalData.devicecode, ",确认开机吗?"),
success: (res) => {
if (res.confirm) {
// 用户点击了确认按钮,执行开机操作
this.startup();
} else {
// 用户点击了取消按钮,跳转到洗车券列表页面
wx.navigateTo({ url: '/pages/washCodeList/washCodeList' });
}
}
});
} else {
// 未扫码,打开扫码页面
this.toScan(); // 调用toScan方法跳转到扫码页面
}
} else {
wx.navigateTo({ url: '/pages/washCodeList/washCodeList' });
}
}
});
} else {
wx.showToast({
title: res.message || '兑换失败',
icon: 'none'
})
}
})
}
})