美文网首页
引用、配置微信JSDK,及网页授权

引用、配置微信JSDK,及网页授权

作者: 山上有桃子 | 来源:发表于2019-07-18 10:52 被阅读0次

工作中需要使用wxJSDK实现微信页面授权登录访问访问后台数据(微信JS-SDK说明文档)。

以下步骤:

1.判断页面环境是否属于微信浏览器

//init.js
/**
 * 检测浏览器
 * */
function judgeBrowser() {
    if(typeof window.browser != 'object') {
        window.browser = {
            versions: function() {
                let u = navigator.userAgent;
                return {
                    trident: u.indexOf('Trident') > -1, //IE内核
                    presto: u.indexOf('Presto') > -1, //opera内核
                    webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                    mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
                    ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                    android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
                    iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
                    iPad: u.indexOf('iPad') > -1, //是否iPad
                    webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
                    weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
                    qq: u.match(/\sQQ/i) == " qq" //是否QQ
                };
            }(),
            language: (navigator.browserLanguage || navigator.language).toLowerCase()
        };
    }
}else{
  console.warn('不是微信浏览器,请在微信浏览器打开');
}
judgeBrowser();
console.log('是否属于微信浏览器',browser.versions.weixin) // true or false

如果不是微信浏览器,则显示如下:

不是微信浏览器.png

2.如果是微信浏览器,引入wxJSDK ,执行权限配置校验函数wx.config({})

<script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<script src="./js/init.js"></script>
<script>
//判断浏览器
if(browser.versions.weixin){
  wx.config({
    debug: false,// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,公众号的唯一标识
    timestamp: '', // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名
    jsApiList: [],// 必填,需要使用的JS接口列表
  });
  //通过ready接口处理成功验证
  wx.ready(function(){
    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
    console.log('wx.ready');
  });
  //通过error接口处理失败验证
  wx.error(function(res){
    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
    console.log('wx.error',res);
  });
}
</script>

其中参数:
appId公众号ID,从公众号后台控制面板复制即可
signature签名由后台生成签名提供
timestamp生成签名的时间戳,由后台连同签名一起返回
nonceStr生成签名的随机串,由后台连同签名一起返回

如果wx.config()权限校验通过,则微信调试工具Console面板如下:

wx.config()校验通过.png

相关文章

  • 引用、配置微信JSDK,及网页授权

    工作中需要使用wxJSDK实现微信页面授权登录访问访问后台数据(微信JS-SDK说明文档)。 以下步骤: 1.判断...

  • 微信网页授权域名之通用中转域名

    网页授权域名问题提出 为了让网页可以使用微信登录,需要配置发起微信登录的站点域名。配置位置:开发 - 接口权限 -...

  • 微信网页授权基本步骤

    一、首先在微信公众平台配置授权回调地址(“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本...

  • 基于Node.js的微信JS-SDK后端接口实现(三)

    微信公众号开发之五微信网页授权 开始之前建议先阅读微信官方文档 微信公众号开发之五微信网页授权 一.网页授权的作用...

  • 微信公众号授权登录和微信网页授权登录

    微信公众号授权登录和微信网页授权登录 这段时间,项目开发需要,研究和配置了下公众号平台的h5微信授权登录过程和pc...

  • django: 微信网页授权

    微信网页授权基础知识 网页授权的最终目的就是获取微信的用户信息,微信的网页授权方式有两种 snsapi_base:...

  • 微信公众号开发(二)

    微信公众号开发文档 微信网页授权 微信客户端中访问第三方网页,可通过 微信网页授权机制 来获取用户信息。授权机制:...

  • .net Core2.2 WebApi通过OAuth2.0实现微

    前言 微信相关配置请参考 微信公众平台 的这篇文章。注意授权回调域名一定要修改正确。微信网页授权是通过OAuth2...

  • 微信开发之微信网页授权

    微信网页授权 所谓的微信网页授权说白了就是 用户微信客户端内访问第三方网页,公众号可以根据网页授权这个机制来获取用...

  • 手机端微信支付流程

    官方文档1、准备工作 公众号后台需要配置网页授权域名, 微信支付后台JSAPI支付需要配置授权目录 2、上面的准备...

网友评论

      本文标题:引用、配置微信JSDK,及网页授权

      本文链接:https://www.haomeiwen.com/subject/pajklctx.html