请各位大神帮忙!开发商城系统时下单部分的计算是如何操作的,我们现在开发的商城系统有一个优惠券部分,在下单时要根据优惠规则来计算实际支付价格。我们的后台给出的方案是:见详情 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Waooo
V2EX    程序员

请各位大神帮忙!开发商城系统时下单部分的计算是如何操作的,我们现在开发的商城系统有一个优惠券部分,在下单时要根据优惠规则来计算实际支付价格。我们的后台给出的方案是:见详

  •  
  •   Waooo 2017-06-07 09:32:37 +08:00 5962 次点击
    这是一个创建于 3056 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位大神帮忙!开发商城系统时下单部分的计算是如何操作的,我们现在开发的商城系统有一个优惠券部分,在下单时要根据优惠规则来计算实际支付价格。

    我们的后台给出的方案是:前端根据优惠规则计算应付价格,后端也计算一个价格,然后前后端对照,一致的情况下下单才能成立,在下单时前端加密,后端解密。不知道这个发法对不对,对的话有什么优点和缺点,小弟初次开发 app,还请各位大神前辈指教。
    17 条回复    2017-06-07 19:05:16 +08:00
    annielong
        1
    annielong  
       2017-06-07 09:41:53 +08:00
    为了安全,还是以后端为主,前端仅仅是显示
    north521
        2
    north521  
       2017-06-07 09:42:10 +08:00
    后端提供一个接口,输入优惠规则,返回计算的结果金额,前台展示即可,提交的时候,后端再校验一次,防止被修改
    CYKun
        3
    CYKun  
       2017-06-07 09:43:00 +08:00 via Android
    为什么不由后端负责生成价格,前端只负责展示呢?
    Fishdrowned
        4
    Fishdrowned  
       2017-06-07 09:50:27 +08:00 via Android   1
    你没听说过永远不要信任客户端的请求吗,任何请求都是可以伪造的
    zvving
        5
    zvving  
       2017-06-07 09:58:59 +08:00 via iPhone   2
    http://www.jianshu.com/p/eb653c140b86

    可以参考我之前写的。这种计算最终判断必然以后端为准,不需要加密什么的,想太多。

    订单有订单 ID,优惠券有优惠券 ID,前端怎么优化显示不重要,最终后端那这两个 ID 处理计算价格。
    /table>
    artikle
        6
    artikle  
       2017-06-07 10:41:10 +08:00
    听楼上的,一般都是后端自己根据优惠券 ID 计算价格,不考虑前端价格,不过可以加个两前端和后端两者的比较,不一致就不执行下单操作 给错误提示
    gdtv
        7
    gdtv  
       2017-06-07 10:46:13 +08:00
    1、以后端计算的结果为准
    2、可以由后端计算好后返回给前端展示,也可以前端自己根据金额和规则自己计算,但最后还是以后端为准
    3、不用前端加密
    Waooo
        8
    Waooo  
    OP
       2017-06-07 10:52:08 +08:00
    谢谢各位大神不吝赐教~! m(_ _)m
    jarlyyn
        9
    jarlyyn  
       2017-06-07 10:53:44 +08:00
    价格都能让前端算了?
    XiaoFaye
        10
    XiaoFaye  
       2017-06-07 11:02:21 +08:00
    如果不是做成奶东那么大的话,随便 WordPress+WooCommerce 也够用了。
    Waooo
        11
    Waooo  
    OP
       2017-06-07 12:21:57 +08:00
    请教 app 开发大神们一个问题,淘宝提交订单前,对商品数量进行加减,同时会给你提供你已领取的并满足要求的店铺优惠券,并给个最优的,这个过程反映挺快的;请问这个过程的计算是前端计算嘛?如果是前端计算的话,是不是提交订单时,这些信息再和后台验证一下。
    AstroProfundis
        12
    AstroProfundis  
       2017-06-07 12:28:01 +08:00
    不管是不是前端计算你后端都要再验证的啊...必须只能以后端计算的为准,不然分分钟焦作人...
    kanezeng
        13
    kanezeng  
       2017-06-07 12:31:44 +08:00
    永远都是后端计算就好了啊,前端直接调用后端的接口取结果啊,两个地方计算一来是前端的计算永远不可信,二来是后期维护也麻烦啊。
    zander110
        14
    zander110  
       2017-06-07 13:50:54 +08:00
    肯定是后端计算好价格, 不然你改个优惠券规则还要发个 APP 版本?
    zander110
        15
    zander110  
       2017-06-07 13:52:36 +08:00
    如果不发强制更新的版本, 就要处理两套或多套的价格逻辑, 保证让你们的后端欲仙欲死...
    MrMario
        16
    MrMario  
       2017-06-07 14:21:25 +08:00 via iPhone   2
    不加密也可以,在做好用户身份鉴别的基础上,确保订单 ID 和优惠券 ID 的不透明性(即复杂度要求)、权限控制(确保用户只可访问自身订单,只可使用自身优惠券),前端只需要传商品 ID、数量、优惠券 ID 即可,其余用户身份鉴别、参数合法性(如数量的负数与小数等)校验,订单金额计算,优惠券权限鉴别与抵扣等均需后端进行
    jswh
        17
    jswh  
       2017-06-07 19:05:16 +08:00
    前端只想后端提交订单和优惠券信息,后端计算价格并发起支付。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3942 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 00:59 PVG 08:59 LAX 17:59 JFK 20:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86