위 챗 퍼 블 릭 플랫폼 개발 강좌 ⑥ 위 챗 개발 통합 류 의 사용 도문 상세 설명
10736 단어 위 챗 공식 플랫폼위 챗 개발 집성 류
배경
요 며칠 동안 위 챗 PHP 분야 의 개발 을 접 했 습 니 다.전에 쓴 글 이 좀 복잡 하 다 고 생각 했 습 니 다.마침 좋 은 집적 류(원본 코드 를 보면'운 지 몽 군 형'에서 나 왔 습 니 다.광 고 는 아니 고 다른 사람의 개발 성 과 를 존중 합 니 다.감사합니다.)에는 매우 전면적 인 함수 가 포함 되 어 있 습 니 다.여기 서 제 실제 사용 과정 에 대해 간단하게 설명해 드 리 겠 습 니 다.
프레임 워 크:ThinkPHP 3.2.3
초기 준비:
①.위 챗 공식 플랫폼 의 설정
여 기 는 군더더기 없 이 구체 적 으로 제 가 앞에서 쓴 1,2 장 을 참고 하 셔 도 됩 니 다.개인 적 으로 는 비교적 전면적 이 라 고 생각 합 니 다.
②.파일 Weixin.class.php 를 대응 하 는 library 디 렉 터 리 에 두 기
그러나 본 사람 이 개발 한 것 은 ThinkpHP 프레임 워 크 를 바탕 으로 하 는 것 입 니 다.만약 에 다른 방식 을 사용 하면 인용 경 로 를 바 꾸 는 것 이 쉬 울 것 이 라 고 믿 습 니 다.캡 처 를 참고 하면 다음 과 같 습 니 다.
③.대응 하 는 데이터베이스 에 새 테이블 이 필요 합 니 다.
물론 후기 최 적 화 는 제거 하거나 자체 적 으로 디자인 하 는 것 을 고려 할 수 있다.여기 서 개인 적 으로 합 리 적 이 고 자신 이 테스트 하 는 것 도 편리 하 다(공중 번호 온라인 인터페이스 디 버 깅 도구)
④.이 표 는 위 챗 인증 시 공중 번호 정보 와 token 획득 시간 을 자동 으로 저장 하 는 데 사 용 됩 니 다.
이 표를 조작 하 는 코드 는 Weixin.class 의 getaccesstoken()방법 에 있 습 니 다.
ThinkpHP 프레임 워 크 가 아니라면 이 방법 에 있 는 sql 문 구 를 교체 하여 일부 코드 를 참고 할 수 있 습 니 다.
개발 자 모드 설정
①.설정 캡 처 참조
②.해당 디 렉 터 리 와 영패 가 일치 하 는 지 주의 하 십시오.
/**
*
* Class WeixinController
* @package M\Controller
*/
class WeixinController extends Controller
{
public function index()
{
import('Org.Wechat.Weixin');
// token、AppID、AppSecert
$wechat = new \Weixin('zxxxi', 'wxxxxxxxxx89', 'efxxxxxxxxxxxxxxxxxxxxxxxb7');
if (!isset($_GET['echostr'])) {
//TODO
$wechat->responseMsg();
} else {
// ,
$wechat->valid();
}
}
}
③.필요 한 파일 업로드위 챗 공식 플랫폼 은 최근 에 해당 도 메 인 이름 의 루트 디 렉 터 리 에 파일 을 업로드 해 야 한 다 는 규정 을 발 견 했 고 구체 적 으로 공중 번호 에서 다운로드 할 수 있 습 니 다.
2.로그 인 권한 부여 요청,위 챗 사용자 정보 획득
①.코드 참조
다음은 본인 이 발췌 하고 간소화 한 일부 코드 입 니 다.구체 적 인 업무 논 리 는 스스로 보충 하거나 삭제 해 야 합 니 다.
import('Org.Wechat.Weixin');
// token、AppID、AppSecert
$wechat=new \Weixin('zxxxxi','wxxxxxxxxxxxxx9','efxxxxxxxxxxxxxxxxxxxxxxxxxxxx7');
//
$url = "http://www.xxxxx.com".$_SERVER['REQUEST_URI'];
//TODO memcache , ( )
if(!S(session('XXXNAME').'_NAMEID')){
if(!$_GET['code']){
$redirect_uri = $url;
$urls=$wechat->getOauthRedirect($redirect_uri);
header("Location:".$urls);
die;
}
}
$reT=$wechat->getOauthAccessToken();
//TODO token
if($reT){
$openid = $reT['openid'];
$user_info = $wechat->getOauthUserinfo($reT['access_token'],$openid);
//
$userData = M('users')
->where("openid = '$openid'")
->Field('user_id,user_name,abnormal')
->find();
if ($userData['user_id']) {
//
header("Location:???????");
}else{
//
$maxuid = M('users')->max('user_id');
$user['openid'] = $openid;
$user['nickname'] = $user_info['nickname'];
$user['sex'] = $user_info['sex'];
$user['reg_time'] = time();
$user['user_img'] = $user_info['headimgurl'];
//TODO
$addTag = add('users',$user);
}
}else{
// , ...
}
②.모 바 일 위 챗 에서 해당 링크 에 로그 인 한 결과③.보충 설명
$user_info = $wechat->getOauthUserinfo($reT['access_token'],$openid);
여기 서 돌아 온$userinfo 권한 을 수 여 받 은 사용자 의 상세 한 정 보 를 추적 할 수 있 는 방법 으로 소스 코드 를 볼 수 있 습 니 다. OAUTH_USERINFO_URL 의 정의 개발 자 문 서 는 그 의 미 를 소개 합 니 다.앞의 두 글 에서 도 간단하게 소 개 했 습 니 다.3.위 챗 엔 드 공유 기능
①.위 챗 공유 데이터 설정
다음 방법 은 개인 디자인 이 대상 을 대상 으로 할 때 계승 하 는 Controller 구조 함수 에서 호출 을 초기 화 합 니 다.여러분 은 자신의 수요 에 따라 배치 할 수 있 습 니 다.
/**
*
*/
public function getWxShare(){
import('Org.Wechat.Weixin');
$wechat=new \Weixin('zxxxxi','wxxxxxxxxxxxx9','efxxxxxxxxxxxxxxxxxxb7');
$url = "http://www.xxxxxmi.com".$_SERVER['REQUEST_URI'];
$res = $wechat->getJsSign($url);
$res['wxurl'] = $url;
$this->assign('wx',$res);
}
②.프론트 페이지 설정 정보대부분 html 프론트 파일 입 니 다.다음 과 같은 js 코드 를 보충 하고 구체 적 인 데 이 터 는 스스로 수정 할 수 있 습 니 다.
<script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js" type="text/javascript"></script>
<script>
/**
* Created by on 2017/4/27.
*/
// config
wx.config({
debug : false,
appId : "{$wx.appid}",
timestamp : "{$wx.timestamp}",
nonceStr : "{$wx.noncestr}",
url : "{$wx.url}",
signature : "{$wx.signature}",
jsApiList : ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo']
});
wx.ready(function(){
//
wx.onMenuShareTimeline({
title : " : ", //
link : "{$wx.wxurl}", //
desc : " , 。 , , , !", //
imgUrl : "http://img.52zhenmi.com/Public/upload/20170426/149321008494428.jpg", //
});
//
wx.onMenuShareAppMessage({
title : " : ", //
link : "{$wx.wxurl}", //
desc : " , 。 , , , !", //
imgUrl : "http://img.52zhenmi.com/Public/upload/20170426/149321008494428.jpg", //
});
//QQ
wx.onMenuShareQQ({
title : " : ", //
link : "{$wx.wxurl}", //
desc : " , 。 , , , !", //
imgUrl : "http://img.52zhenmi.com/Public/upload/20170426/149321008494428.jpg", //
});
//
wx.onMenuShareWeibo({
title : " : ", //
link : "{$wx.wxurl}", //
desc : " , 。 , , , !", //
imgUrl : "http://img.52zhenmi.com/Public/upload/20170426/149321008494428.jpg", //
});
});
</script>
③.최종 실현 효 과 는 다음 과 같다.추가 알림:
(1).우선 개발 배치 정보의 정확성 을 확보 해 야 한다.
(2).가끔 token 영패 가 효력 을 잃 는 경우 가 있 습 니 다.로 컬 테스트 를 할 때 온라인 에 영향 을 줄 수 있 습 니 다.새로운 영패 를 가 져 와 온라인 데이터 베 이 스 를 대응 하지 않 게 하 는 것 이 좋 습 니 다.주의 하 세 요.
(3).페이지 를 공유 하 는 작업 은 실패 할 수 있 는 상황 을 편리 하 게 처리 하기 위해 디 버 깅 모드 로 wx.config 의 debug 값 을 true 로 변경 하고 정확 한 오류 가 없 으 면 다시 고 칠 수 있 습 니 다.구체 적 인 오류 보고 정 보 를 조회 하려 면 위 챗 개발 자 문 서 를 조회 해 야 한다.프로그램 원숭이 의 길 을 가 려 는 모든 사람들 이 구 덩이 를 메 우 는 것 에 강제로 습관 이 될 것 이 라 고 믿는다.
debug : true,
4.공중 번호 로 메 시 지 를 보 냅 니 다.간단 한 메 시 지 를 보 내 는 데 사용 할 수 있 습 니 다.예 를 들 어 사용자 가 쇼핑 을 한 후에 공중 번호 관리자 에 대한 메시지 알림 등 입 니 다.
① 전제 조건
메 시 지 를 보 낼 사용 자 는 현재 대중 번호 에 관심 을 가지 고 있 습 니 다.
②.코드 예시
/**
*
*/
public function postMsg(){
import('Org.Wechat.Weixin');
$wechat=new \Weixin('zxxxxi','wxxxxxxxxxx9','efxxxxxxxxxxxxxxxxxxxxxxxxxb7');
$content = " :
";
$content .= " , , 。
, 。";
$content .= " , , 。";
//TODO -openID
$wxOpenID = "oIaCOxxxxxxxxxxxxxxxxxxxxFe0";
$wechat->postMaggerToUser($wxOpenID,$content);
}
③ 효과 실현5.공중전화 자동 응답
기능 은 주로 사용자 가 공중 번 호 를 조작 할 때의 트리거 이벤트 처리 에 사용 된다.예 를 들 어 관심 있 는 메시지 발송,버튼 클릭 의 감청 등 이다.
① 주요 설정
사실은 위의 첫 번 째 절 에서 개발 자 모드 에 대한 설정 에서 비롯 되 었 습 니 다.예 를 들 어 코드 에서 WeixinController 의 index()는 10 줄 도 안 되 는 코드 가 중요 합 니 다.
②.응답 메 시 지 를 감청 하 는 함수
응답 메 시 지 를 감청 하 는 함 수 는 Weixin.class 의 responseMsg()입 니 다.자세 한 데이터 처 리 는 트리거 이벤트 경로 에 따라 코드 를 수정 할 수 있 습 니 다.
③.예 를 들 어 공중전화 에 관심 을 가 진 메시지 발송
④.예 를 들 면:
사용자 의 입력 에 따라 메시지 의 자동 답장 을 진행 합 니 다.코드 실제 개발 에서 얻 은 문자 에 따라 프로젝트 데이터베이스 에 있 는 문자 와 일치 하 는 것 을 간단하게 보 여 줍 니 다.
⑤.효과 캡 처
부록
통합 적 인 위 챗 류 코드 가 많 기 때문에 여기에 붙 이지 않 으 면 아래 링크 에서 다운로드 하여 참고 할 수 있 습 니 다.
①.전기 문장 참고
사용자 Openid 및 개인 정보 가 져 오기
위 챗 단 공유 기능
②.소스 코드
소스 코드 다운로드>>
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
위 챗 공식 플랫폼 에 대한 SDK찾 아 보 니 현재 위 챗 공식 플랫폼 은 SDK 형식의 개발 패 키 지 를 제공 하지 않 았 고 인터페이스 설명 문서 와 접 속 된 phop sample 만 있 습 니 다.현재 인터넷 상에 서 이른바 '위 챗 퍼 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.