uniapp微信js-sdk使用封装
下载依赖包 微信js-sdk
1、因为uni-app如果没有使用npm的方法,根目录就没有package.json,首先在项目根目录运行
npm init
如果已经有package.json,直接进入下一步
2、安装jweixin-module
npm i jweixin-module -S
此外,您也可以直接下载:https://unpkg.com/jweixin-module@1.4.1/out/index.js
使用
- 在您的js公共文件夹下创建wechat.js
import {
params as PARAMS,
appurl as APPURL,
appid as APPID
} from "./params.js"; // 公共域名 AppID
import {
getConf
} from "@/common/http.api.js";
let jweixin = require('jweixin-module'); // 微信开放接口
let params = window.location.href;
export default {
//判断是否在微信中
isWechat: function() {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/micromessenger/i) == 'micromessenger') {
return true;
} else {
return false;
}
},
//初始化sdk配置
initJssdk: function(callback) {
let url = window.location.href.split('#')[0];
//服务端进行签名 ,可使用uni.request替换。 签名算法请看文档
uni.$u.api.getConf({
url: url,
appid:APPID
}).then(res=>{
if(res.flag === 'Success'){
jweixin.config({
debug: false,
appId: res.data.appId,
nonceStr: res.data.nonceStr,
timestamp: res.data.timestamp,
signature: res.data.signature,
url:res.data.url,
jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData','scanQRCode']
})
if (callback) {
callback(res.data);
}
}else{
console.log('没进来');
}
}).catch((e) => {
console.log('网络请求错误捕捉',e);
});
},
//在需要定位页面调用
getlocation: function(callback) {
if (!this.isWechat(