刚在给客户申请小程序码 单独出个程序码图片这样 想起之前实现过的一个功能 算是个很细微的点吧 提出来记录下 需求是这样的
甲方的程序有50个分销人员 需要人手一个小程序码 分销人员的渠道客户扫码后 进入访问的程序界面是一样的 然后程序这边需要区分是哪一个分销人员的销售渠道进来的订单 并且需要用户被销售渠道绑定 之后再次购买的订单 都会持续算到被绑定这位销售人员的业绩下
大概就这样 当时的实现思路是
在提供给甲方的后台 做了一个申请分销码的入口 管理员可以进入 填写一下分销人员的基本信息 大概名称 手机号这样 后台生成一个唯一的分销人员ID 之后即可调用官方的API 生成一个附带当前分销人员ID的小程序码
分销人员在收到自己的分销码后 把码转发给自己的客户 客户扫分销码进入程序后 程序会第一时间对小程序码所带参数进行校验 大概会校验几个方面 如果小程序码有带着参数过来 则调用后台查询 该分销ID 是否存在 存在的话 分销人员是否还在职 分销资格有没有被取消 如果不存在 则默认是公共渠道的公域客户 在数据库中则会把该用户标注成为公域客户 下次如果客户扫码了分销码 可以再次被绑定
之后该用户在程序中进行的所有行为 购物 下单 联系客服 都会被绑定上分销人员的ID 管理员可以很轻松的在管理后台区分哪个分销人员下 有多少个私域用户 每个私域客户 成交了多少订单 消费了多少钱 对于分销人员 也可以在自己的分销管理后台 查询到自己开发的客户 消费了多少金额 多长时间没有购买过商品 每个订单大概有多少分销返佣
总共实现的话 是2套程序 客户用的客户端 管理员和分销人员用的管理后台 都是小程序实现的 只是管理后台这边 按照权限做了不同入口 管理员和分销人员进入后台的界面不一样
说下代码方面 官方文档是下面这个
老样子 还是需要传入Access_Token [呃 这块都没有详细写 看看明天单独写一下怎么获取ac_token] 调用API需要传入的参数是截图里这些

我们一般都是用PostMan调用 需要传入的参数[分销人员ID]在调用API的时候 填入到scene这个字段 字段有详细要求 需要注意下 参数后面是 否 的那些 就选择性传 下面这个是官方给的调用示例 忘记说了 路径也可以自己填 只要程序里有的页面 都可以填 填了用户扫码之后 就会直接进入到填写的页面里 参数也会带进去
{ "page": "pages/index/index", "scene": "a=1", "check_path": true, "env_version": "release"}
接口调用成功之后 会返回一个小程序码的图片
小程序这边 怎么样获取程序码里绑定的参数 代码也贴一下
Page({ onLoad (query) { // scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene const scene = decodeURIComponent(query.scene) }})
在onLoad的方法里 通过query.scene获取程序码里绑定的参数
调试的话 把获取参数的方法写完了 上个体验版 扫一下请求回来的程序码图片[体验版 正式版 或者 开发版 3个版本做调试的时候 在API请求时 记得env_version这个字段要传入相应的版本参数 默认是正式版 否则会出错]

截图里是开发工具的'扫一扫' 二维码编译点击之后 选择请求回来的程序码就可以 打印下上面代码的scene 就能看到参数有没有正常获取到了 之后的业务 就可以按照自己的需求 单独实现 全流程完
保持好奇 不断进步 下期见~