尊敬的官方大大,你好,最近在项目中,前端使用了uniapp,后端unicloud,用户uni-id-pages,支付unipay,商家端uniadmin,甲方提出了一个新的需求,这个需求是一个场景需求:如下图1:A用户将自己的订单通过微信链接的方式转发给好友B,该订单有一个倒时器,在倒时器时间到点,时间归零后,如果好友B没有支付,则系统自动取消订单,假定现在好友B在支付成功后,A用户在订单列表页面(可以看到自己所有的订单),订单列表页面页存在相同时间的倒时器,现在用户B在使用自己的手机帮A支付订单成功后,如何使服务器瞬间给出反应,让A用户订单列表的订单状态改为已支付状态,之前我通过全局事件总线和自定义事件的方式尝试过做这个业务场景,发现这个业务场景如果使用自定义事件或者全局时间总线来完成的话,除非A,B为同一用户,否则实现起来达不到预期效果,后来团队有人建议使用轮询,但是我考虑到我这个项目是一个校园点餐的项目,校园点餐的学生蛮多的,学校有几千人大多数都在学校点餐,而且每天的中午11点到12点半和下午的5点到6点半是点餐的高峰期,如果使用轮询会大大增加服务器的负载压力,本人也是熬了几个大夜,细读了一下官方这方面场景的技术,发现实现这个场景有多种技术,如原生的websocket,官方封装的uni.connectSocket(OBJECT),或者使用uniPush都可以完成,由于本人第一次使用贵司的产品进行开发,对这些技术了解不是很透彻,还希望官方大大在不忙时指点一二,如果想完成这个场景,从技术难度,以及经济效益,以及后期维护,服务器的负载方面使用哪种方案要更为妥当一些,谢谢
王翔
- 发布:2023-11-08 10:19
- 更新:2023-11-09 18:12
- 阅读:225
王翔 (作者)
这个项目要考虑兼容性问题,在微信公众号和微信小程序中均有部署,unipush也支持微信公众号的消息发送吗?
2023-11-10 10:12
DCloud_uniCloud_WYQ
回复 王翔: uni-push2.0在web端、小程序端的在线推送就是使用的websocket
2023-11-15 11:38
王翔 (作者)
回复 DCloud_uniCloud_WYQ: 好的,多谢
2023-11-23 09:48