Heim  >  Artikel  >  Backend-Entwicklung  >  WeChat-Beispiel für benutzerdefiniertes Teilen des PHP-Codes „analysis_php“.

WeChat-Beispiel für benutzerdefiniertes Teilen des PHP-Codes „analysis_php“.

WBOY
WBOYOriginal
2016-12-05 13:28:291909Durchsuche

Ich habe vor einiger Zeit einige benutzerdefinierte Freigaben auf WeChat durchgeführt und einige Erfahrungen gesammelt, die ich mit allen teilen kann.


Schritte 1 und 2 sind bereits in der WeChat-Entwicklerdokumentation detailliert beschrieben. Beginnen wir direkt mit Schritt drei.

Schritt 3Um WeChat-Parameter zu parametrisieren, außer appId, sind andere Parameter dynamisch. Hier verwende ich die PHP-Sprache, um Parameter im Backend zu generieren:
PHP-Code:

public function getwxinfo(){ 
 $dataurl = I('dataurl'); 
 include('./ThinkPHP/Library/Vendor/jssdk/jssdk.php'); 
 $jssdk = new \JSSDK('appId','appSecret'); 
 $signPackage = $jssdk->GetSignPackage($dataurl); 
 exit(response('1','ok',$signPackage)); 
} 

Beim Generieren einer Signatur muss die URL der aktuellen Seite abgerufen werden, daher wird $dataurl dynamisch über das folgende JS abgerufen. Denken Sie daran.
JS-Seitencode:

var dataurl = window.location.href; 
$.ajax({ 
 type:'post', 
 data:{'dataurl':dataurl}, 
 url:'/index.php/Home/Index/getwxinfo', 
 dataType:'json', 
 success:function(json){ 
  var list = json.data; 
  var appId = list.appId; 
  var timestamp = list.timestamp; 
  var nonceStr = list.nonceStr; 
  var signature = list.signature; 
  weixinInfo(appId,timestamp,nonceStr,signature); 
 }, 
 error:function() { 
  //alert('网络不给力哦...') 
 } 
}); 
function weixinInfo(appId,timestamp,nonceStr,signature){ 
 wx.config({ 
  debug: false, 
  appId: appId, 
  timestamp:timestamp , 
  nonceStr:nonceStr, 
  signature:signature, 
  jsApiList: [ 
   'checkJsApi', //判断当前客户端版本是否支持指定JS接口 
   'onMenuShareTimeline', //分享到朋友圈 
   'onMenuShareAppMessage', //分享给好友 
   'onMenuShareQQ', //分享到QQ 
   'onMenuShareWeibo' //分享到微博 
  ] 
 }); 
} 
 
wx.ready(function () { 
 //微信好友 
 var s_title = '分享标题'; 
 var s_desc = '分享描述'; 
 var s_link = '分享后的链接'; 
 var s_imgUrl = '图片链接'; 
 wx.onMenuShareAppMessage({ //例如分享到朋友圈的API 
  title: s_title, // 分享标题 
  desc: s_desc, // 分享描述 
  link: s_link, // 分享链接 
  imgUrl: s_imgUrl, // 分享图标 
  success: function () { }, 
  cancel: function () { } 
 }); 
 //朋友圈 
 wx.onMenuShareTimeline({ 
  title: s_title, // 分享标题 
  link: s_link, // 分享链接 
  imgUrl: s_imgUrl, // 分享图标 
  success: function () { }, 
  cancel: function () { } 
 }); 
 //QQ好友 
 wx.onMenuShareQQ({ 
  title: s_title, // 分享标题 
  desc: s_desc, // 分享描述 
  link: s_link, // 分享链接 
  imgUrl: s_imgUrl, // 分享图标 
  success: function () { }, 
  cancel: function () { } 
 }); 
}); 
wx.error(function (res) { <br />alert(res.errMsg); //打印错误消息。及把 debug:false,设置为debug:ture就可以直接在网页上看到弹出的错误提示 <br />}); 

So einfach ist das.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird. Ich hoffe auch, dass jeder Script House unterstützt.

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