>  기사  >  백엔드 개발  >  php WeChat 공개 계정 js-sdk 개발 애플리케이션

php WeChat 공개 계정 js-sdk 개발 애플리케이션

墨辰丷
墨辰丷원래의
2018-05-30 11:31:421823검색

이 글은 주로 PHP WeChat 공개 계정 js-sdk 개발 및 응용 관련 정보를 자세히 소개합니다. 관심 있는 친구들은 참고할 수 있습니다.

js의 인터페이스 기능을 테스트하려면 BAE 서버를 사용하지 않습니다. SAE 서버. SAE 서버가 파일에 쓸 수 없으며 테스트에 문제가 발생합니다.
js-sdk란 무엇인가요? 먼저 js-sdk 인터페이스의 구체적인 기능을 보여드리겠습니다.

위챗에서 아래와 같이 무작위로 푸시 글을 열었습니다.

php WeChat 공개 계정 js-sdk 개발 애플리케이션


첫 번째 글을 클릭하세요



위는 이 글을 친구에게 보내면 우리가 연결한 글입니다. , 표시 효과는 다음과 같습니다:

php WeChat 공개 계정 js-sdk 개발 애플리케이션


Moments에 공유하고 효과를 살펴 보겠습니다.

php WeChat 공개 계정 js-sdk 개발 애플리케이션


인터페이스 효과가 공식 계정에 표시되는 이유는 무엇입니까, 친구에게 보내기, 기사 링크이기도 한 순간은 동일하지 않습니다. 공식 계정의 표시 효과는 위챗 공식 계정이 푸시 시 위챗 메시지 인터페이스를 호출하기 때문이고, 후자의 두 가지는 페이지가 js-sdk 관련 SDK 인터페이스를 호출하기 때문입니다.
친구에게 보내기는 js 인터페이스를 호출하여 "친구에게 공유" 버튼 클릭 상태를 얻고 공유 콘텐츠 인터페이스를 사용자 정의합니다.
Send to Moments는 js 인터페이스를 호출하여 "Share to Moments" 버튼의 클릭 상태를 얻고 공유 콘텐츠 인터페이스를 사용자 정의합니다.


js-sdk 인터페이스를 호출하는 단계를 구현해 보겠습니다.


1단계: WeChat 공개 플랫폼에서 "공식 계정 설정"의 "기능 설정"을 입력하고 "JS 인터페이스 보안 도메인 이름"을 입력합니다. .


아래와 같이:

php WeChat 공개 계정 js-sdk 개발 애플리케이션


이 도메인 이름 아래에 있는 페이지만 js 인터페이스를 호출할 수 있습니다.

2단계:
http://demo.open.weixin.qq.com/jssdk/sample.zip 다운로드하려면 이 주소에 연결하고, 그 안에 있는 php 폴더를 열면 4개의 PHP 파일을 찾을 수 있습니다

php WeChat 공개 계정 js-sdk 개발 애플리케이션

처음 세 개의 PHP 파일은 구성 파일이므로 건드리지 마세요. Sample.php는 WeChat에서 여는 연결 페이지입니다. 이 페이지에서는 페이지 코드를 작성합니다. 이 파일을 테스트용으로 사용했는데, 해당 파일의 코드가 원본 버전과 다릅니다.

<?php
// echo "nihao";
require_once "jssdk.php";
$jssdk = new JSSDK("wxaf471be5d2bc9521", "93f5c3817074d43e7a7ab3f403cc72dd");//JSSDK中的参数是appid和appsecret。
$signPackage = $jssdk->GetSignPackage();//获取配置参数。
?>

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
</head>
<body>
 <p>我靠</p>
 <p>猪八戒</p>
 <button style="color: red" id="btn">你好</button>
 <button id="btn1">唐生</button>
</body>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>//这个是js-sdk文件,一定要引入。
<script>

 var button = document.getElementsByTagName("button");
 var btn = document.getElementById("btn");
 var p = document.getElementsByTagName("p")[0];
 var btn1 = document.getElementById("btn1");
 //wx表示一个js-sdk构建的一个对象。config()是它的一个方法,这个接口用来验证配置。
 wx.config({
 debug: true,//true表示每调用一个接口信息都会在页面alert一段字符串。方便测试过程中国是否能正确调用接口。
 appId: &#39;<?php echo $signPackage["appId"];?>&#39;,
 timestamp: <?php echo $signPackage["timestamp"];?>,
 nonceStr: &#39;<?php echo $signPackage["nonceStr"];?>&#39;,
 signature: &#39;<?php echo $signPackage["signature"];?>&#39;,
 //上面的4个参数,如果你像深入了解其来源就去查看jssdk.php代码。测试过程不需要对上面的代码做任何操作。
 jsApiList: [
  // 所有要调用的 API 都要加到这个列表中
  &#39;onMenuShareAppMessage&#39;,//获取“分享给朋友”按钮点击状态及自定义分享内容接口。
  &#39;chooseImage&#39;,//获取手机相片接口
  &#39;openLocation&#39;//获取微信地图接口
 ]
 });

//所有的js调用接口都要放到下面的ready()中。
 wx.ready(function () {
 // 在这里调用 API
 //获取“分享给朋友”按钮点击状态,点击后发送给朋友微信,微信上的推送显示内容就是下面的数据
  wx.onMenuShareAppMessage({
   title: &#39;大圣&#39;, // 分享标题
   desc: &#39;我要坚持&#39;, // 分享描述
   link: &#39;http://www.baidu.com&#39;, // 分享链接
   imgUrl: &#39;http://discuz.comli.com/weixin/weather/icon/cartoon.jpg&#39;, // 分享图标
   type: &#39;link&#39;, // 分享类型,music、video或link,不填默认为link
   dataUrl: &#39;&#39;, // 如果type是music或video,则要提供数据链接,默认为空
   success: function () { 
    // 用户确认分享后执行的回调函数
    alert("success");
   },
   cancel: function () { 
    // 用户取消分享后执行的回调函数
    alert("error");
   }
  });
 //拍照或从手机相册选择。点击页面上的按钮就可以调用手机里的相册。
  btn.onclick = function(){
  wx.chooseImage({
   count: 1, // 默认9
   sizeType: [&#39;original&#39;, &#39;compressed&#39;], // 可以指定是原图还是压缩图,默认二者都有
   sourceType: [&#39;album&#39;, &#39;camera&#39;], // 可以指定来源是相册还是相机,默认二者都有
   success: function (res) {
    var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
   }
  })
  };
 //微信内置地图接口。点击该按钮就可转到显示当前位置的地图页面
  btn1.onclick = function() {

  wx.openLocation({
 latitude: 0, // 纬度,浮点数,范围为90 ~ -90
 longitude: 0, // 经度,浮点数,范围为180 ~ -180。
 name: &#39;&#39;, // 位置名
 address: &#39;&#39;, // 地址详情说明
 scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大
 infoUrl: &#39;&#39; // 在查看位置界面底部显示的超链接,可点击跳转
});
  }

 });
// wx.checkJsApi({
//  jsApiList: [&#39;onMenuShareAppMessage&#39;], // 需要检测的JS接口列表,所有JS接口列表见附录2,
//  success: function(res) {
//   // 以键值对的形式返回,可用的api值true,不可用为false
//   // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
//   alert("success");
//  }
// });

// btn.onclick = function() {
//  p.innerText = "齐天大圣";
//  wx.onMenuShareAppMessage({
//  title: &#39;大圣&#39;, // 分享标题
//  desc: &#39;我要坚持&#39;, // 分享描述
//  link: &#39;http://www.baidu.com&#39;, // 分享链接
//  imgUrl: &#39;http://discuz.comli.com/weixin/weather/icon/cartoon.jpg&#39;, // 分享图标
//  type: &#39;link&#39;, // 分享类型,music、video或link,不填默认为link
//  dataUrl: &#39;&#39;, // 如果type是music或video,则要提供数据链接,默认为空
//  success: function () { 
//   // 用户确认分享后执行的回调函数
//   alert("success");
//  },
//  cancel: function () { 
//   // 用户取消分享后执行的回调函数
//   alert("error");
//  }
// });
 // }
</script>
</html>


js의 인터페이스 기능을 테스트하기 위해 SAE 서버가 아닌 BAE 서버를 사용합니다. SAE 서버가 파일에 쓸 수 없으며 테스트에 문제가 발생합니다.

더 많은 기능과 자세한 정보를 원하시면 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html을 방문해 주세요

위는 이 글의 전체 내용입니다. 여러분의 연구에 도움이 되길 바랍니다. . Related Related 권장 사항 : Object 객체 지식 요약


PHP 상수, 정적 특성 및 비 정적 특성의 차이

PHP 클래스 및 객체 : 정적 속성, 그림과 텍스트로 정적 메서드에 대한 자세한 설명


위 내용은 php WeChat 공개 계정 js-sdk 개발 애플리케이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.