志汇扫码点餐小程序二次开发增加商家取消预约功能

志汇扫码点餐小程序原始功能前台客户可以预约,但是后台不能取消,这个就太扯淡了,根本不符合现实真实的业务场景,不知道开发这个小程序的人脑子怎么想的,没办法,只能继续二开了:

首先找到后台确认预约的页面,路径->zh_dianc/pages/seller/dd/yddd:

仔细读代码,的确只有一个确认订单的按钮:

<viewclass=”djdde”>
<viewbindtap=”qrdd”data-oid=”{{item.id}}”>确认预约</view>
</view>

思路:前台增加一个取消预约按钮,后台增加一个取消预约的接口

第一部增加按钮很简单,直接COPY改名字:

<viewclass=”djdde”>
<viewbindtap=”qrdd”data-oid=”{{item.id}}”>确认预约</view>
</view>
<viewclass=”djdde”>
<viewbindtap=”qxyy”data-oid=”{{item.id}}”>取消预约</view>
</view>

后台增加接口也不复杂,参考确认订单改一个取消预约订单的接口:

qrdd: function(a) {
var e = this, t = a.currentTarget.dataset.oid;
console.log(t), wx.showModal({
title: “提示”,
content: “确认订单吗?”,
success: function(t) {
t.confirm ? (console.log(“用户点击确定”), app.util.request({
url: “entry/wxapp/OkYdOrder”,
cachetime: “0”,
data: {
order_id: a.currentTarget.dataset.oid
},
success: function(t) {
console.log(t), 1 == t.data && (wx.showToast({
title: “操作成功”,
duration: 1e3
}), setTimeout(function() {
e.setData({
pagenum: 1,
ddlist: [],
mygd: !1,
jzgd: !0,
jzwb: !1
}), e.reLoad(e.data.date);
}, 1e3));
}
})) : t.cancel && console.log(“用户点击取消”);
}
});
},
但是在改代码的时候,我突然想到,用户那端不是有取消预约的入口吗,他们直接应该调用的是一个功能啊,路径->zh_dianc/pages/list/list:
<viewclass=”list_cancel”wx:if=”{{item.state==’1′}}”>
<viewbindtap=”qxyy”class=”list_surplus”data-yyid=”{{item.id}}”>取消预约</view>
<viewbindtap=”ckxq”class=”list_surplus1″data-yyid=”{{item.id}}”style=”color:{{color}};border: 1rpx solid {{color}};”>查看详情</view>
</view>

后台代码:

qxyy: function(e) {
var o = this;
console.log(“取消预约” + e.currentTarget.dataset.yyid), wx.showModal({
title: “提示”,
content: “确定取消预约么”,
success: function(t) {
t.confirm ? (console.log(“用户点击确定”), app.util.request({
url: “entry/wxapp/CancelReservation”,
cachetime: “0”,
data: {
id: e.currentTarget.dataset.yyid
},
success: function(t) {
console.log(t.data), “1” == t.data ? (wx.showToast({
title: “取消成功”,
icon: “success”,
duration: 1e3
}), setTimeout(function() {
o.reLoad();
}, 1e3)) : wx.showToast({
title: “请重试”,
icon: “loading”,
duration: 1e3
});
}
})) : t.cancel && console.log(“用户点击取消”);
}
});
},

果然如此啊,前端代码直接参考这个取消预约就可以了,但“CancelReservation”这个接口我们还要去找一下,看看接口代码是怎么写的:

//取消预约
public function doPageCancelReservation() {
global $_W, $_GPC;
$data[‘state’] = 4;
$res = pdo_update(‘wpdc_ydorder’, $data, array(‘id’ => $_GPC[‘id’]));
if ($res) {
echo ‘1’;
} else {
echo ‘2’;
}
}

“wpdc_ydorder”这个是预约订单表,通过对比数据库字段发现 state分别有3个数值范围:1、待审核;2、已确认;4、已取消

忍不住再想吐槽这个开发小程序的脑子,124,请问3去哪了?算了不管了,稍微改动一下代码,二次开发就算完成了,前台取消预约可以使用了。

完整代码下载:

[reply]

付费提供的服务,不喜欢的话可以根据本文自行二次开发

[/reply]

人已赞赏
二次开发雕技术

志汇餐饮外卖小程序二次开发增加预约点餐功能

2018-6-7 15:31:55

二次开发雕技术

志汇餐饮外卖小程序9.1版本后台不显示用户昵称的问题

2018-6-7 21:51:38

免责声明本文中提到的资源均来自于互联网,仅供个人学习交流,若您喜欢本文可附上原文链接随意转载。
版权人申诉:我要申诉
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索