Heim  >  Artikel  >  WeChat-Applet  >  Einführung in die WeChat-Entwicklung (jssdk-Entwicklung)

Einführung in die WeChat-Entwicklung (jssdk-Entwicklung)

零下一度
零下一度Original
2017-05-27 13:56:282179Durchsuche

Ein Projekt muss die aktuelle Position in WeChat erhalten, also habe ich meine WeChat-Entwicklungsreise begonnen...

WeChat JSSDK-Dokumentation
mp weixin.qq .com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

JSSDK-Verwendungsschritte
Schritt 1: Binden Sie den Domänennamen
Der verbindliche Domänenname erfordert einen Domänennamen der ersten Ebene. Aber bei Verwendung können Webseiten unter dem Second-Level-Domainnamen diese Schnittstelle weiterhin verwenden.

Schritt 2: JS-Dateien einführen
http://res.wx.qq .com/open /js/jweixin-1.0.0.js
Wenn https auf Ihrer Seite aktiviert ist, stellen Sie sicher, dass Sie res.wx.qq.com/open/js/jweixin-1.0.0.js einführen

Schritt 3: Fügen Sie die Berechtigungsüberprüfungskonfiguration über die Konfigurationsschnittstelle ein
Dies zu konfigurieren wird schwieriger, lassen Sie uns zuletzt darüber sprechen.

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

Schritt 4: Erfolgreiche Verifizierung über die fertige Schnittstelle verarbeiten

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

Schritt 5: Fehlgeschlagene Verifizierung über die Fehlerschnittstelle bearbeiten

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

Zum Beispiel: Holen Sie sich die geografische Standortschnittstelle

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; // 位置精度     }  });
});

Weitere Informationen finden Sie in der offiziellen Dokumentation.

Konfigurationsanweisungen für Schritt drei:

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

Das Folgende ist die WeChatJS_SDK_Config-Klasse, die ich nur zum Spaß geschrieben habe.

 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 }

[Verwandte Empfehlungen]

1. Quellcode der WeChat-Plattform herunterladen

2. Das Leben der WeChat-Entwicklung Beispiel-Tutorial für periodische Funktionen

3. Einführung in verschiedene Methoden zum Übergeben und Erhalten von Werten in WeChat Entwicklung

4. Detaillierte Erläuterung der WeChat-Applet-Zahlung Zusammenfassung der funktionalen Entwicklungsfehler

Das obige ist der detaillierte Inhalt vonEinführung in die WeChat-Entwicklung (jssdk-Entwicklung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn