>백엔드 개발 >PHP 튜토리얼 >WeChat 공개 계정 개발에 대한 튜토리얼 3을 완료하세요

WeChat 공개 계정 개발에 대한 튜토리얼 3을 완료하세요

不言
不言원래의
2018-04-17 09:57:453624검색

이 기사의 내용은 WeChat 공개 계정 개발에 대한 전체 튜토리얼입니다. 이제 모든 사람과 공유할 수 있습니다.

작업 필요에 따라. , 지난 2년 동안 WeChat 공개 계정은 계정과 소규모 프로그램이었으며 더 많은 프로젝트가 제작되었습니다. 그래서 저는 포괄적인 제작 튜토리얼을 작성하려고 합니다. 물론 최고의 튜토리얼은 WeChat 작업 플랫폼의 문서입니다. 여기서는 제 작품의 제작 과정에 대해서만 이야기하겠습니다. 모든 관련 기사의 소스 코드는 내 github에서 호스팅됩니다. 팔로우를 환영합니다: 주소링크를 열려면 클릭하세요. 튜토리얼을 시작하겠습니다.

WeChat 개발에서 가장 중요한 것은 실제로 WeChat 개발자 문서를 읽고, 변수를 신중하게 작성 및 교체하고, 오류를 주의 깊게 디버그하여 자신의 요구 사항을 천천히 충족시키는 것입니다. 두 번째 기사에서 언급한 Baidu 지도와 Turing 로봇에 대해서는 이 섹션에서 설명하겠습니다.

먼저 효과를 보여드리겠습니다. Turing 로봇


Baidu 지도 사용법:


이 섹션에서는 맞춤 메뉴 사용에 대해 설명하기 시작합니다. 이야기가 완료되었습니다. Baidu 및 Turing 로봇에 대해 이야기해 보겠습니다.

1. 맞춤 메뉴

WeChat 문서:


사용자 정의 메뉴 버튼 유형:


인터페이스 설명:


코드는 다음과 같습니다. 로컬에서 테스트함)

결과는 다음과 같습니다.


코드:


public function creatMenu()
{
//组装请求的url地址
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$this->accessToken;
$data = array(
// button下的每一个元素
"button"=>array(
//第一个一级菜单
array('type'=>'click',"name"=>"个人简介","key"=>"info"),
array(
"name"=>"语言排行",
"sub_button"=>array(
array("name"=>'商品列表',"type"=>"view",
'url'=>"http://xiaoziheng.club/home/demo/demo4"),
array('name'=>'c/c++','type'=>'pic_sysphoto','key'=>'sysptoto'),
array('name'=>'java','type'=>'pic_weixin','key'=>'pic_weixin')
)
),
array('type'=>'click','name'=>'xxxx','key'=>'content')
)
);
//    将数据转换为json格式
$data = json_encode($data,JSON_UNESCAPED_UNICODE);
$result = http_curl($url,$data,'post');
dump($result);
}

결과: 어레이 디스플레이(여기서는 조금 비정상이지만 결과는 문제 없습니다)


3. 맞춤 메뉴 삭제:


코드 :


//获取自定义菜单
public function getMenu()
{
$url = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=".$this->accessToken;
$res =http_curl($url);
var_dump($res);
}

결과:


4.自定义菜单中事件的推送:

文档:


代码:


结果如下:


5.微信关注回复:

微信文档

代码如下:


结果如下:


6.数据库的使用(图灵机器人的使用):

我们可以在数据库建立关键字的数据表,让关注者回复的内容可以被我们控制,


如果没有内容找到,那么我们就使用图灵机器人来帮助我们:

首先进入官网:


创建机器人:我已经申请过一个


获得接入的key:


查看文档的使用:


代码:


// 根据keyword表中的字段进行相等匹配
$info = db('Keyword')->where(array('keyword'=>$keyword))->find();
if(!$info){
//针对没有匹配的关键词使用机器人回复
$url ="http://www.tuling123.com/openapi/api?key=96308475006241449b53013d66f8e387&info="
                                           .$keyword;
$result = file_get_contents($url);
$result = json_decode($result,true);
if($result['code'] == 100000){
// 回复文本消息
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, 'text',
$result['text']);
}elseif ($result['code'] == 200000) {
$str = &#39;<a href="&#39;.$result[&#39;url&#39;].&#39;">&#39;.$result[&#39;text&#39;].&#39;</a>&#39;;
// 机器人中区分为链接
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, &#39;text&#39;, $str);
}elseif ($result[&#39;code&#39;] ==302000) {
// 机器人中的新闻
$data = $result[&#39;list&#39;];
for($i=0;$i<8;$i++){
$Articles ="<item>
                                    <Title><![CDATA[{$data[$i][&#39;article&#39;]}]]></Title> 
                                    <Description><![CDATA[{$data[$i][&#39;article&#39;]}]]></Description>
                                    <PicUrl><![CDATA[{$data[$i][&#39;icon&#39;]}]]></PicUrl>
                                    <Url><![CDATA[{$data[$i][&#39;detailurl&#39;]}]]></Url>
                                </item>";
}
$count = 1;
$resultStr = sprintf($newsTpc, $fromUsername, $toUsername, $time,
&#39;news&#39;,$count,$Articles); 
}else{
// 回复文本消息
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, &#39;text&#39;,
                                &#39;抱歉没有理解,再说一遍问题&#39;);
}
echo $resultStr;
// file_put_contents(&#39;2&#39;,33333);
exit;
}

效果就是我上述的截图一样。

7.百度地图的使用:

基于地理位置的定位服务,根据经度纬度定位用户的具体地址

LBSLocation Based Service):基于地理位置的服务

$longitude 经度

$latitude 纬度

接口的获取:



代码如下:


结果如文章开始的时候的截图。

다음 섹션에서는 WeChat 웹 페이지 승인 개발에 대해 설명합니다...

관련 권장 사항:

WeChat 공용 계정 개발을 위한 전체 튜토리얼 2

WeChat 공용 계정 개발을 위한 전체 튜토리얼 1

위 내용은 WeChat 공개 계정 개발에 대한 튜토리얼 3을 완료하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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