大雕哥
你身边最懂互联网的朋友

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

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

首先找到后台确认预约的页面,路径->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去哪了?算了不管了,稍微改动一下代码,二次开发就算完成了,前台取消预约可以使用了。

完整代码下载:

温馨提示: 隐藏内容需要 回复评论 后才能查看, 评论后请 刷新 !.

赞(0) 解决问题,就是我最大的快乐
转载请保留出处:大雕哥 » 志汇扫码点餐小程序二次开发增加商家取消预约功能
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    能不能提供源码啊

    heshipei2个月前 (06-08)回复
  2. #2

    好厉害的感觉啊

    mick2个月前 (06-14)回复
  3. #3

    不错,很理性的方案

    baoye2个月前 (06-26)回复
  4. #4

    很给力的操作

    邦邦1个月前 (07-07)回复

大雕哥,做你身边最懂互联网的朋友

邮箱订阅联系我们

如果觉得文章有用可以打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏