zoukankan      html  css  js  c++  java
  • 企业微信和微信公众号获取wx.config的安卓和ios的区别----踩坑

    配置wx.config流程:

    微信公众号中获取签名需要访问的前端的页面的uri给服务器端获取,服务端获取公众号唯一标识、签名时间戳、签名等信息

    代码如下:

     1             let url =  ''
     2             var ua= window.navigator.userAgent.toLowerCase();
     3             //企业微信客户端
     4             if( (ua.match(/MicroMessenger/i) == 'micromessenger') && (ua.match(/wxwork/i) == 'wxwork') ){
     5                 //企业微信不管是安卓和ios都获取每个页面的url
     6                 url = window.location.href.split("#")[0]
     7             //微信客户端
     8             }else if( ua.match(/micromessenger/i) == 'micromessenger' ){
     9                 //1,如果是安卓获取每个页面的url ,2,如果是ios则获取第一次进入应用的页面
    10                 url = /(Android)/i.test(navigator.userAgent) ? location.href.split('#')[0] : window.localStorage.getItem('scanUrl');
    11             }
    12             this.$http.getWXconfigInfo({url:url}).then( res => {
    13                 wx.config({
    14                     beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
    15                     debug: false,
    16                     appId: res.appid, // 必填,公众号的唯一标识
    17                     timestamp: res.timestamp, // 必填,生成签名的时间戳
    18                     nonceStr: res.noncestr, // 必填,生成签名的随机串
    19                     signature: res.signature, // 必填,签名
    20                     jsApiList: [
    21                         "scanQRCode", 
    22                         "checkJsApi",
    23                         "chooseImage",
    24                         "getLocation",
    25                         "uploadImage",
    26                         "hideAllNonBaseMenuItem",
    27                         "translateVoice",
    28                         'startRecord',
    29                         'stopRecord',
    30                         'onVoiceRecordEnd',
    31                         'playVoice',
    32                         'pauseVoice',
    33                         'stopVoice',
    34                         'onVoicePlayEnd',
    35                         'uploadVoice',
    36                         'downloadVoice'
    37                     ] //获取权限的列表
    38                 });
    39                 wx.error(function(res) {
    40                     //会弹出窗口哪里错误,然后根据微信文档查询即可。
    41                     //alert("出错了:" + JSON.stringify(res)); 
    42                 });
    43             })

    在代码第10行的最后获取缓存的url从App.vue文件中获取,记录第一次进入应用的url

    将这个代码写在初始化进入页面的方法中,vue的话写在 create 或者 mounted 中

    window.localStorage.setItem('scanUrl',location.href.split('#')[0])
  • 相关阅读:
    OpenAL播放pcm或wav数据流-windows/ios/android(一)
    Windows录音API学习笔记--转
    Windows基础-实时录音程序(WaveXXX)
    Windows基础-使用XAudio2播放音频(本质是WASAPI)
    XAudio2播放PCM
    jps的用法及常见问题介绍
    eureka添加security验证之后,client注册失败
    Maven中央仓库地址大全,Maven中央仓库配置示例
    Maven入门指南:仓库
    Maven中央仓库地址
  • 原文地址:https://www.cnblogs.com/ghc520/p/15429314.html
Copyright © 2011-2022 走看看