1.如果项目根目录中有package.json文件,直接在终端中输入
npm install jweixin-module --save
如果没有,可以在根目录新建一个package.json文件,文件内容为
{
"dependencies": {
"jweixin-module": "^1.6.0"
}
}
然后直接终端中输入命令 npm install ,按回车键即可
2.在页面中引入该sdk:
var jweixin = require('jweixin-module')
然后通过后端接口获取签名,再配置config,然后使用.直接在onLoad函数中调用this.getAddress()
//通过后端获取wx.config的配置,再通过微信的js-sdk获取经纬度
getAddress(){
const _this=this
uni.request({
method:"POST",
header:{
'Content-Type':'application/x-www-form-urlencoded'
},
url:_this.$store.state.baseurl+'/weixin/sweepLogin',
data:{
url: location.href
// url: location.href.split('#')[0]
},
success(d){
console.log('后端返回的wx.config的配置:',d.data)
_this.getLocation(d.data)
},
fail(err){
console.log(err)
}
})
},
getLocation(params) {
const _this=this
// 判断是否支持获取定位
jweixin.config({
debug: true,//开启debug模式.正式环境设置为false,测试环境设置为true
"appId": params.appid,
"timestamp": params.timestamp,
"nonceStr": params.nonceStr,
"signature": params.signature,
jsApiList: ["getLocation"] //根据需要看需要哪些SDK的功能
});
// sdk加载完成后执行
jweixin.ready(function(){
jweixin.checkJsApi({
jsApiList: [
'getLocation'
],
success: function (res) {
if (res.checkResult.getLocation == false) {
alert('你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!');
return;
}
}
});
jweixin.error(function (res) {
console.log("接口调取失败")
});
// 获取位置
jweixin.getLocation({
type: 'wgs84',
success: function (res) {
console.log('jssdk获取的位置:',res.longitude,res.latitude)
_this.getList([res.longitude,res.latitude])//通过经纬度去做需要的事情
},
cancel: function (res) {
alert('您已禁止获取位置信息')
}
});
});
},
具体sdk请参考微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html
后端签名算法参考:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62
注意:一定要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”,即调用后端接口的域名.