搜索
首页微信小程序微信开发微信开发入门(jssdk开发)

一个项目需要在微信里获得当前位置,于是就开始了我的微信开发之旅...

微信JSSDK说明文档
mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

JSSDK使用步骤
步骤一:绑定域名
绑定域名要求是一级域名.但是使用的时候可以二级域名下的网页仍然可以使用该接口.

步骤二:引入JS文件
http://res.wx.qq.com/open/js/jweixin-1.0.0.js
如果你的页面启用了https,务必引入 res.wx.qq.com/open/js/jweixin-1.0.0.js

步骤三:通过config接口注入权限验证配置
配置这个会比较麻烦,最后讲.

wx.config({
   debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
   appId: '', // 必填,公众号的唯一标识
   timestamp: , // 必填,生成签名的时间戳
   nonceStr: '', // 必填,生成签名的随机串
   signature: '',// 必填,签名,见附录1
   jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

步骤四:通过ready接口处理成功验证

wx.ready(function(){
  // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});

步骤五:通过error接口处理失败验证

wx.error(function(res){
  // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});

例如:获取地理位置接口

wx.ready(function(){
  wx.getLocation({     type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'     success: function (res) {     var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90     var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。     var speed = res.speed; // 速度,以米/每秒计     var accuracy = res.accuracy; // 位置精度     }  });
});

具体的还是看官方文档清楚些.

关于步骤三的Config说明:

var wxConfigJson = {   debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。   appId: 'wx821bb7356e99a3a7', // 必填,公众号的唯一标识   timestamp: 1446184841, // 必填,生成签名的时间戳   nonceStr: '80262bec-7cd2-4b03-b366-97fab6e91cdd', // 必填,生成签名的随机串   signature: 'fd017d631d63cef32d5f25ea276911bcb0a29782', // 必填,签名,见附录1   jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2};@Html.Raw(new WeChatJS_SDK_Config().GetConfig()) 生成上面的wxConfigJson

下面是我写的WeChatJS_SDK_Config类,见笑了.

 1 public class WeChatJS_SDK_Config
 2 {
 3     private string _appId;
 4     private int _timestamp ;// 必填,生成签名的时间戳
 5     private string _nonceStr ;// 必填,生成签名的随机串
 6     private string _url;
 7     private string _sign;
 8 
 9     public WeChatJS_SDK_Config()
10     {
11         _appId = AccountConfig._appID;
12         _timestamp = Core.GetTimestamp();
13         _nonceStr = Guid.NewGuid().ToString();
14         _url = HttpContext.Current.Request.Url.ToString();
15         _sign =
16             String.Format("jsapi_ticket={0}&noncestr={1}&timestamp={2}&url={3}", Jsapi_Ticket.GetJsapi_Ticket(),
17                 _nonceStr, _timestamp, _url).Md5Entry("sha1").ToLower();
18     }
19 
20     /* Url方法的区别
21      *@Html.Raw("var originalString='"+HttpContext.Current.Request.Url.OriginalString+"';")
22     @Html.Raw("var rawUrl='"+HttpContext.Current.Request.RawUrl+"';")
23     @Html.Raw("var url='"+HttpContext.Current.Request.Url+"';")
24    
25     var originalString = 'http://xb.hnjdkj.cn:80/index/home';
26     var rawUrl = '/index/home';
27     var url = 'http://xb.hnjdkj.cn/index/home';*@
28      */
29     public string GetConfig()
30     {
31         var res = string.Format(
32             "var wxConfigJson = {{debug: {0}, appId: '{1}', timestamp: {2},nonceStr: '{3}',signature: '{4}',jsApiList: ['getLocation'] }};", Kits.AppSettings("WeChatDebug"), _appId, _timestamp, _nonceStr, _sign);
33         return res;
34     }
35 
36 }

【相关推荐】

1. 微信公众号平台源码下载

2. 微信开发之生命周期函数的实例教程

3. 微信开发之传值取值的几种方法介绍

4. 详解微信小程序支付功能开发错误总结

以上是微信开发入门(jssdk开发)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。