h5 扫码 静默与非静默授权

关于openid与unionID需要了解一下
openid对于不同应用来说是唯一的 每个账号在不同应用的openid是唯一的
在这里插入图片描述

所以对于一个企业来说,如果存在多个程序,在a中是注册了的用户 可以用在b中判断unionid是不是相同和a中(即后台去查看有没有这个unionID有的话那就是之前注册过直接返回数据加unionID

关于理解下面这个讲的不错

https://mp.weixin.qq.com/s?__biz=MzI4MzQ5ODcyMQ==&mid=2247486248&idx=1&sn=6db9bb2e1092e7559f5cd0b1a1cdc4f6&chksm=eb888aa6dcff03b046f90d65a29b381be55e20dc370335c609c75cc34c344c75e376e167545f&xtrack=1&scene=0&subscene=93&clicktime=1601253048&enterid=1601253048&ascene=7&devicetype=android-29&version=3.0.31.2998&nettype=ctnet&abtest_cookie=AAACAA%3D%3D&lang=zh_CN&exportkey=AXu2PDIUIT5MaNkesx4VYoA%3D&pass_ticket=tAsjpIosFnUML2UhV84CeZM%2BOiRNin0%2BSM%2Bs2TS4n%2FpERfDChlNljy9oflbAvoi5&wx_header=1&platform=win

关注公众号 静默:能拿到openid unionID 非默默:能拿到openid unionID
不关注公众号 静默:能拿到openid 非默默:能拿到openid unionID

官方对于静默与非静默定义 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

授权大概流程
进入页面初始化时候直接去跳转页加上下面这个代码

window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${encodeURIComponent(
    local)}&response_type=code&scope=${scopeType}&state=STATE#wechat_redirect`;
    appid:"公众号appid";
    local:"重定向地址"; "例如 www.123.com/home/rediredtUrl 那么后台返回code之后会跳转到这个页面 地址上会带上code字段"
     "有些地址可能识别不了所以传给后台需要转译 那么我们需要在公众号后台配置 www.123.com就行"
    scopeType:"这个是静默还是非静默 静默授权就填 snsapi_base 非静默就填 snsapi_userinfo"
    "只需要注意这三个就行 还有参数顺序不能发生变化"
下面是官方对于参数解释

在这里插入图片描述
跳转到我们页面例如上面我定义的www.123.com/home/rediredtUrl页面
我们可以通过下面方法拿到code

 getUrlParam(name) {
      let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
      let a = window.location.search.substr(1).match(reg);
      if (a != null) {
        return unescape(a[2]);
      }
      return null;
    },`
    const code = getUrlParam(code)

通过code去掉用后台接口即可获取openid unionID

最后总结一下
触发静默或者非静默(点击触发或者扫二维码触发)> 跳转重定向页面(如果是非静默需要点击同意再跳转 >获取code 调用接口拿到openid 或者unionid(非静默可以拿 静默只有关注可以拿到unionid
如果有不正确的欢迎指错 相互交流哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值