全篇概要
- 项目引入微信官方JSDK
- 获取当前客户端的JSDK权限并配置API方法数组
- 全局方法处理并兼容IOS\Android的权限处理
官方JSDK配置目标:URL:官方文档
兼容ios端的H5-JSDK配置可访问往期文章
Uniapp/微信H5/JSDK配置/兼容IOS以及Android获取有效Config信息
var jweixin = require('jweixin-module');
//微信JSDK配置
WxConfig:async function(status){
//status 传入配置接口的参数可作为判断使用
//let IsWeChat = await WxApi.VerifyClient();//判断是否未微信客户端
if(!IsWeChat) return console.log(IsWeChat,"非微信客户端-禁止使用WxConfig方法");
//兼容IOS系统H5分享机制--传入url需要以此方式传递window.location.href.split('#')[0]
let Local = "";
//判断是否为Android端用户访问-设计传入参数路径
if(/(Android)/i.test(navigator.userAgent)){
Local = encodeURIComponent(window.location.href.split('#')[0]);
}else{
Local = encodeURIComponent(IOSUrl);
}
let res = await this.HttpGet("***********?url="+Local);//JSDK服务器地址
var that = this;
if(res.ret==1){
if(status=="share"){await that.WxShare(res.data);}//WxConfig配置方法(分享-share)
return res.data;//此处数据可用于页面单独需要的时候做处理操作
}
}
WxShare:async function(data){
let ArrLink = false;
let Host = window.location.host;
let Htp = window.location.protocol;
//ArrLink = Htp+'://'+Host
var wxParam = {
"share":{
"title":"标题名",
"desc":"简介",
"imgUrl":"图片",
"link":ArrLink,
"type":"link",
"success":function(){console.log(`执行在分享成功回执之后的业务`);},
}
};
jweixin.config({
debug:false,
appId:data.appid,
timestamp:data.timestamp,
nonceStr:data.noncestr,
signature:data.signature,
jsApiList:['updateAppMessageShareData','updateTimelineShareData','scanQRCode','getLocation','openLocation'] // 必填,需要使用的JS接口列表
});
jweixin.error(function(res){console.log("WxConfig-配置失败",err)});
jweixin.ready(function(){
//jweixin.updateTimelineShareData(wxParam.share);//朋友圈
//jweixin.updateAppMessageShareData(wxParam.share);//分享朋友
console.log(`JSDK-CONFIG-Ready[微信_jsdk_配置完成]`);
})
}