微信开发生成测试签名--signature,并使用微信jssdk获取位置

因项目需要,需在微信浏览器中获取实时位置。使用微信jweixin-1.2.0.js初始化时(wx.config)需要签名、appID,URL等参数,本文将讲解测试环境下,初始化各项测试数据的生成。如:公众号的测试appID,appSecret,域名的配置,签名生成等。进而使用微信获取位置接口获取位置。本方案适用后台服务没开发出之前测试使用,后台服务完成后即可通过后台接口获取签名。对于微信开发测试域名及页面配置可做统一参考。

详细步骤如下:

1、登录微信公众号平台-》开发者工具-》公众平台测试帐号
通过绑定测试者微信号,成功后在公众号测试账号页面下会有测试的appID,appSecret。在页面下配置域名,测试环境下可使用内网ip,如下:


2、获取token:通过微信验证接口页面获取token。token有过期时间2小时,所以一般会在后台处理,鉴于本次为本地调试,先用临时的token。微信端获取token如下(https://mp.weixin.qq.com/debug),根据页面中需要的参数填写,在下面的返回结果中拿到token。如取到的token为${access_token}


3、获取ticket:拿到token后还需要获取ticket。浏览器中直接调用微信接口,传入步骤2中拿到的access_token,获取ticket,如果成功,浏览器返回 ${ticket}

4.生成签名:根据第3步的ticket,
5.页面中调用,
1)引用weixin sdk,

2)调用微信接口如下:
wx.config({
	 debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
	appId: 'wxa167eea6f229d66a', // 必填,公众号的唯一标识
	timestamp: '1531224610', // 必填,生成签名的时间戳
	nonceStr: 'Wm3WZYTPz0wzccnN', // 必填,生成签名的随机串
	signature: 'e694e9fef46acac77c5647940314bb4cd094d5af',// 必填,签名
	 jsApiList: [
	    'getLocation',	//获取地理位置
	    'onMenuShareAppMessage',	//分享给朋友
	    'onMenuShareTimeline'	//分享到朋友圈
	 ] // 必填,需要使用的JS接口列表
	});
	wx.ready(function(){
	    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
	   console.log('请求成功');
	setInterval(function(){
            //请求位置
	    wx.getLocation({
		type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
		success: function (res) {
			console.log(res);
			// var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
			// var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
			// var speed = res.speed; // 速度,以米/每秒计
			// var accuracy = res.accuracy; // 位置精度
			//调用当前位置初始化方法
			// fmp.GPSlocation.initLocateInfo(res);
		}
	    });
    },3000);
});
wx.error(function(error){
	console.log('请求失败');
});
6.发布该测试页面,地址为:
http://192.168.1.236/demo.html
7.微信中访问该页面,正常返回GPS经纬度坐标。如下图所示:

至此,即可在微信中根据位置接口对接地图导航啦,基于之前有开发微信经验,这次配置起来比较顺利,存档一下。

猜你喜欢

转载自blog.csdn.net/allence_z/article/details/80993248