微信小程序使用场景延伸:扫码登录、扫码支付

小程序最适合的使用场景有哪些?相比大家能列举出来很多,但这个场景,大家可能多数没想到_^

笔者团队近期接到了一个PC项目:转转游戏租号PC官网,该项目要求在PC端实现整个交易流程,问题来了,我司(转转)一直深耕于移动端,在PC端几乎啥都没有,甚至都没有个像样的登录流程、购买流程...当大家在探讨如何接入微信授权登录、微信扫码支付等一大套流程之际,笔者力排众议,机智的提出:为什么不用小程序来实现这些功能!

备注:『转转官方』是我司开发的一款小程序,实现了APP80%的功能和体验,有完善的交易流程。

使用了小程序来替代微信官方的授权登录和扫码支付模式,极大程度降低了开发成本,又能将小程序的服务场景得以延伸,何乐而不为呢?

体验网址

http://game.zhuanzhuan.com (VUESSR实现)

扫码登录

注意:是用微信扫小程序码,直接打开小程序,而不是用小程序来扫码

实现方案:

扫码支付

注意:是用微信扫小程序码,直接打开小程序,而不是用小程序来扫码

实现方案:

支付效果请到我司网站体验:http://game.zhuanzhuan.com

值得一提

1、生成小程序二维码

微信提供了三个接口来生成小程序码,其中只有一个接口可以生成大量二维getwxacodeunlimit,但该接口的问题是携带的参数只能编码32个可见字符,很多情况下,携带的参数都会超过限制。

解决策略: 前端调用后台接口的时候,接口会把参数存储起来,并生成一个18位的ID,将这个ID编码到二维码里,进入小程序后,在从另一个接口通过ID把参数换回来

2、多种扫码操作能力提供 ### 后端接口给每个二维码生成一个actId,不同的扫码操作完成后小程序端会调用不同逻辑,最终各个逻辑都会汇总完成状态关联到actId上,PC端上只需要轮询请求扫码结果接口判断是否操作成功即可,因此该业务可用于各种扫码操作上,比如现在已经实现的扫码管理订单、扫码联系卖家等(我司深入践行MVP模式,因此在尝试阶段不想在PC端上造一大堆交易流程、IM等的轮子)

3、不足PC端验证扫码操作是否成功,由于后端不支持socket方式目前使用的是轮询的方式,从性能角度来看并不好,未来实现socket方式就更赞了

总结: 可以看出PC结合小程序还是比较流畅的,体验上和微信扫码授权登录、微信扫码支付基本一致,但通过对接小程序,节省了团队大量开发成本,同时又给小程序提高了单量~~

虽然业界当前并不看好小程序发展,但从开发者的角度来讲,小程序越来越完善,微信提供的能力和支持越来越多,小程序未来会有更广阔的空间~

 如果你喜欢我们的文章,关注我们的公众号和我们互动吧。

微信小程序使用场景延伸:扫码登录、扫码支付的更多相关文章

  1. 微信小程序使用场景及取名“潜”规则

    微信小程序使用场景举例: 1.查看公交 2.登记.选座 3.订票 4.K歌.叫代驾 5.快递查询 6.查看天气 7.医院挂号.拿药.缴费 8.加油充电 9.政务服务 微信公众号“数据三观”认为,小程序 ...

  2. 微信小程序 获取用户信息并保存登录状态

    微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml

  3. 微信小程序入口场景的问题整理与相关解决方案

    前言 最近一段时间都在做小程序. 虽然是第二次开发小程序,但是上次做小程序已经是一年前的事了,所以最终还是被坑得死去活来. 这次是从零开始开发一个小程序,其实除了一些莫名其妙的兼容性问题,大多数坑点都 ...

  4. 微信小程序开发——使用第三方插件生成二维码

    需求场景: 小程序中指定页面需要根据列表数据生成多张二维码. 实现方案: 鉴于需要生成多张二维码,可以将生成二维码的功能封装到组件中,直接在页面列表循环中调用就好了.也可以给组件添加slot,在页面调 ...

  5. 微信小程序的场景值scene

    根据微信小程序返回给我们的场景值,我们可以根据不同的场景做出不同的处理,更加方便我们对使用场景的划分 当前支持的场景值有: :发现栏小程序主入口,“最近使用”列表(基础库2..4版本起将包含“我的小程 ...

  6. 关于微信小程序的场景值

    微信小程序 “场景值”     对运营同学和产品比较有用一般开发者需在这里埋点,获取场景址,看一下小程序,用户一般从哪个路口进的有利于提升产品体验

  7. 微信小程序自动化测试最佳实践(附 Python 源码)

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...

  8. 微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)

    (一) 准备工作 (1) 登录注册 注册账号:这就不谈了,只需要注意使用一个全新的邮箱,别之前注册过公众号小程序等就可以了 https://mp.weixin.qq.com/wxopen/waregi ...

  9. 微信小程序中h5跳转到登录页面,登陆成功返回携带参数,h5刷新

    公司的一个小程序,要做一个活动,需要判断登录状态. 思路:h5跳转到登录页面,登陆成功携带token自动返回. 本来以为是个非常简单的功能,没想到..... 发帖记录一下 1.登录页面 用getCur ...

随机推荐

  1. LSA和pLSA的比较

    Comparison   LSA pLSA 1. Theoretical background Linear Algebra Probabilities and Statistics 2. Objec ...

  2. mysql数据库表卡死解决方法

    ---恢复内容开始--- 问题引起原因: 由于在执行大量插入操作的时候意外终止程序之后, MySQl的线程并没有被终止,导致表不能打开和操作 -  解决思路就是找到等待的线程并kill -- 查看所有 ...

  3. android 圆角 ImageView

    android中Imageview 内的图片圆角的实现方式 此文针对的是 imageview中图片的圆角, 即忽略掉图片的ScaleType, 均对图片采取圆角.  而不是对Imageview本身的圆 ...

  4. 安卓自定义控件(三)实现自定义View

    前面两篇博客,把View绘制的方法说了一下,但是,我们只在onDraw里面做文章,控件都是直接传入一个Context,还不能在布局文件里使用自定义View.这一篇博客,就不再讲绘制,在我们原先的基础上 ...

  5. is 和==的区别

    Python中的对象包含三要素:id.type.value.其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值.is判断的是a对象是否就是b对象,是通过id来判断的.==判断的 ...

  6. thinkhphp 上传文件或者图片

  7. Jersy、Jetty和Servlet

    1.Jersy框架 Jersey RESTful WebService框架是一个开源的.产品级别的JAVA框架,是JAX-RS的参考实现.Jersey提供自己的API,其API继承自JAX-RS,提供 ...

  8. centos 下安装pptp (vpn) 的方法

    废话少说     01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 ...

  9. PHP设置环境变量

    如果提示php命令不存在.说明未设置.设置方法如下 方法一:直接运行命令 [PHP] 纯文本查看 复制代码 ? 1 export PATH=$PATH:/usr/local/xxxx/php/bin ...

  10. 关于verilog中语句可不可综合

    1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,functio ...