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

志汇点餐外卖小程序9.2版本订单计费错误导致价格不准的问题解决方法

智慧餐饮(志汇点餐)外卖小程序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;

只要修改成如下代码,就可以解决了。

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

赞(0) 解决问题,就是我最大的快乐
转载请保留出处:大雕哥 » 志汇点餐外卖小程序9.2版本订单计费错误导致价格不准的问题解决方法
分享到: 更多 (0)

评论 6

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

    支付后不显示订单成功 但钱没了 是不是要有回调地址 这个地址是什么呀 大雕

    122周前 (09-14)回复
    • 问题解决了, 问题出在后端的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);
      ===========

      snowwolf7255天前回复
  2. #-8

    学习一下!!!!

    哦哦哦1周前 (09-15)回复
  3. #-7

    支付后不显示订单成功 但钱没了 是不是要有回调地址 这个地址是什么呀 大雕

    snowwolf7256天前回复
  4. #-6

    问题解决了, 问题出在后端的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);
    ===========

    snowwolf7255天前回复
  5. #-5

    遇到了这个问题

    孤剑浩天3天前回复

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

邮箱订阅联系我们

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

支付宝扫一扫打赏

微信扫一扫打赏