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

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

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

首先找到后台确认预约的页面,路径->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)

评论 2

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

    能不能提供源码啊

    heshipei1周前 (06-08)回复
  2. #2

    好厉害的感觉啊

    mick5天前回复

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

邮箱订阅联系我们

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

支付宝扫一扫打赏

微信扫一扫打赏