智慧餐饮(志汇点餐)外卖小程序9.2版本会在某些情况下,客户下单的价格和实际价格存在不一致,很明显是代码计算错误导致的!
首先我们找到计算价格的代码块:zh_dianc\pages\pay\pay.js
经过对比研究发现,是这一段代码出现了问题:
for (var c = 0, r = 0, u = 0; u < i.length; u++) c += Number(i[u].money) * i[u].num + Number(i[u].box_fee) * i[u].num,
r += Number(i[u].box_fee) * i[u].num;
只要修改成如下代码,就可以解决了。
[reply]
for (var c = 0, r = 0, u = 0; u < i.length; u++) 0 < i[u].num && (c += Number(i[u].money) * i[u].num + Number(i[u].box_fee) * i[u].num,
r += Number(i[u].box_fee) * i[u].num);
[/reply]
学习一下,正好用到点餐系统
萨达阿萨德阿萨德as
提交订单一直在加载 不能显示页面 是怎么回事?
后不显示订单成功
谢谢大神 解决的我的问题感谢
遇到了这个问题
问题解决了, 问题出在后端的zh_dianc/payment/wechat/notify.php 这个档案, 当网域不是 https://xxxx/ 而是https://xxxx/bug/ 这种二层结构时, 会出现使用者支付成功并扣款, 但是订单状态仍旧未更新的情况, $url 这个变数只会取到 https://xxxx/ 而不是取到 https://xxxx/bug/ 导致出现错误,
===========
$str=$_W[‘siteroot’];
$n = 0;
for($i = 1;$i <= 3;$i++) {
$n = strpos($str, '/', $n);
$i != 3 && $n++;
}
$url=substr($str,0,$n);
===========
改成
===========
$arr = explode('/', $_W['siteroot']);
do {
$val = array_pop($arr);
} while ($val != 'addons');
$url = implode('/', $arr);
===========
支付后不显示订单成功 但钱没了 是不是要有回调地址 这个地址是什么呀 大雕
学习一下!!!!
支付后不显示订单成功 但钱没了 是不是要有回调地址 这个地址是什么呀 大雕
问题解决了, 问题出在后端的zh_dianc/payment/wechat/notify.php 这个档案, 当网域不是 https://xxxx/ 而是https://xxxx/bug/ 这种二层结构时, 会出现使用者支付成功并扣款, 但是订单状态仍旧未更新的情况, $url 这个变数只会取到 https://xxxx/ 而不是取到 https://xxxx/bug/ 导致出现错误,
===========
$str=$_W[‘siteroot’];
$n = 0;
for($i = 1;$i <= 3;$i++) {
$n = strpos($str, '/', $n);
$i != 3 && $n++;
}
$url=substr($str,0,$n);
===========
改成
===========
$arr = explode('/', $_W['siteroot']);
do {
$val = array_pop($arr);
} while ($val != 'addons');
$url = implode('/', $arr);
===========