현재 위치 - 회사기업대전 - 기업 정보 공시 - Thinkphp3.2.3 은 항상 위챗 공식 계정 응답 위챗 전송 토큰 인증에 액세스할 수 없습니다.

Thinkphp3.2.3 은 항상 위챗 공식 계정 응답 위챗 전송 토큰 인증에 액세스할 수 없습니다.

그 토큰을 판단해야 합니까? 필요 없어? 이것으로 당신이 만족하는지 확인해 주세요.

& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)

네임 스페이스? 홈 \ 컨트롤러

사용할까요? 사고/통제자

반? Index 컨트롤러? 확장? 위챗 컨트롤러? {

공? 기능? 인덱스 () {

$v? =? $ _ get ["echostr"];

만약 (! Isset($v)){// 중복 검증을 피하기 위해 무작위 문자열을 기준으로 이전에 검증되었는지 여부를 결정합니다.

$ this-& gt;; Receive ();

} 그렇지 않으면 {

$ this-& gt;; Checksignature ();

}

}

//검증되지 않음 검증 수행

공공? 기능? CheckSignature(){

$ 서명? =? I ("서명"); //암호화 서명

$ 타임 스탬프? =? I ("타임 스탬프"); //타임스탬프

$nonce? =? I ("nonce"); //난수

$ 토큰? =? 토큰//토큰

$tmpArr? =? 배열 ($token, $timestamp,? $ nonce); //새 배열 만들기

Sort($tmpArr, sort _ string); //순서 변경

$tmpStr? =? 내파 ($ tmparr); //문자열로 변환

$tmpStr? =? Sha1($ tmpstr); //그런 다음 문자열을 암호화합니다.

만약 (? $tmpStr? = =? $ 서명? ) 을 참조하십시오

{

메아리? $ _ get ["echostr"];

종료;

//반환? 진실;

} 그렇지 않으면 {

반환? 가짜;

}

}

//이 (가) 여기에서 실행되었는지 확인했습니다.

공공? 기능? 수신 () {

$postStr? =? $ globals ["http _ raw _ post _ data"]; //사용자가 보낸 XML 형식의 메시지를 가져옵니다.

//$postStr? =? File _ get _ contents ("PHP://input");

Libxml _ disable _ entity _ loader (true);

$postObj? =? Simplexml_load_string($postStr,? "SimpleXMLElement", libxml _ nocdata);

$ this-& gt;; Logger ($ poststr);

//사용자에게 정보를 회신합니다.

만약 (! Empty($postObj)){

스위치 ($ post obj-& gt;; MsgType){

사건? 텍스트:

$ 결과? =? $ this-& gt;; Receivetext ($ postobj);

//허위 정보 신고를 피하다.

If(empty($result)){

$xml? =? "& ltxml & gt

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& lt 콘텐츠>& lt! [CDATA [%s]] > & lt/Content & gt;;

& lt/XML & gt;; ";

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), $ postObj-& gt;; MsgType, "다중 그래프 정보를 가져오지 않음");

}

메아리? $ result

깨뜨리다

사건? [사진]:

$ 결과? =? $ this-& gt;; Receiveimage ($ postobj);

If(empty($result)){

$xml? = "& ltxml & gt

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& ltarticlecount & gt1< /articlecount >

& lt 문장>

& ltitem & gt

& ltTitle & gt& lt! [CDATA [%s]] > & lt/Title & gt;; -응?

& lt 설명>& lt! [CDATA [%s]] > & lt/Description & gt;;

& ltPicUrl & gt& lt! [CDATA [%s]] > & lt/pic URL>;;

& ltUrl & gt& lt! [CDATA [%s]] > & lt/Url & gt;;

& lt/item & gt;;

& lt/Articles & gt;;

& lt/XML & gt;; ";

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (),' 뉴스',' 이씨와 함께 위챗 개발을 하자',' 위챗 개발은 위챗 공공플랫폼 개발로 위챗 웹 페이지를 통해 기업 정보, 서비스, 활동 등을 전시하고, 사용자는 간단한 설정을 통해 위챗 3G 웹 사이트를 생성할 수 있다. 위챗 공공 플랫폼을 통해 위챗 사용자에게 기업 브랜드를 전시하고, 홍보 비용을 절감하고, 기업, 소비자, 고객 간의 일대일 상호 작용 및 커뮤니케이션을 구축하고, 소비자를 기업 CRM 시스템에 접속시켜 홍보, 판촉, 홍보, 애프터를 진행한다. 주류 온라인 및 오프라인 위챗 인터랙티브 마케팅 방식을 형성했습니다. ","/-po3dsag _ xi4khgkpowk1hf6hy/baike/w% 3d 268% 3bg% 3d 0/sign = a/; 5aeb903e/b03533fa828ba61efb07a5464738

}

메아리? $ result

깨뜨리다

사건? 이벤트':

$ 결과? =? $ this-& gt;; Receiveevent ($ postobj);

If(empty($result)){

$xml? =? "& ltxml & gt

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& lt 콘텐츠>& lt! [CDATA [%s]] > & lt/Content & gt;;

& lt/XML & gt;; ";

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "위챗 인터페이스 테스트 서비스 번호에 관심을 가져 주셔서 감사합니다. 저는 이 선생님입니다!" " );

}

메아리? $ result

깨뜨리다

위약? 다음 중 하나를 수행합니다.

$ 결과? =? "보낸 데이터 유형은 일시적으로 처리되지 않습니다.? 클릭합니다 -응? 。 -응? $ post obj-& gt;; MsgType

메아리? $ result

깨뜨리다

}

}

}

//로그

개인? 기능? 로거 ($content){

$ logsize =100000;

$log? =? "../log.txt";

If(file_exists($log)? & amp& amp? 파일 크기 (로그)? & gt? $logSize){

Unlink ($ log);

}

파일 _ 업로드 _ 내용 ($log,? 날짜 ("Y-m-d"? H:i:s ") 를 참조하십시오. "?" 。 $ 컨텐츠. "\n", file _ append);

}

//자동 응답 정보 관심

개인? 기능? 수신 이벤트 ($postObj){

$xml? =? "& ltxml & gt

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& lt 콘텐츠>& lt! [CDATA [%s]] > & lt/Content & gt;;

& lt/XML & gt;; ";

If($ post obj-& gt;; 이벤트 = = "subscribe") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "위챗 인터페이스 테스트 서비스 번호에 관심을 가져 주셔서 감사합니다. 저는 이 선생님입니다!" " );

다른 거요? If($ post obj-& gt;; 이벤트 = = "click") {

If($ post obj-& gt;; 이벤트 키 = = "getsalary") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "조회 클릭-> 급여 버튼);

다른 거요? If($ post obj-& gt;; 이벤트 키 = = "getattendance") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "조회 클릭-> 출석 기록 버튼);

다른 거요? If($ post obj-& gt;; 이벤트 키 = = "getbonus") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "조회 클릭-> 보너스 상세 정보 버튼);

다른 거요? If($ post obj-& gt;; 이벤트 키 = = "getabout") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "우리에 대해 클릭-> 연락처 버튼);

다른 거요? If($ post obj-& gt;; 이벤트 키 = = "get join") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "우리에 대해 클릭-> 우리 버튼 가입 ");

다른 거요? If($ post obj-& gt;; 이벤트 키 = = "get customer") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "우리에 대해 클릭-> 고객 서비스 버튼);

다른 거요? If($ post obj-& gt;; 이벤트 키 = = "getinternational") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "당신은 뉴스를 주문했습니다-> 국제 버튼);

다른 거요? If($ post obj-& gt;; 이벤트 키 = = "getindustry") {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "당신은 뉴스를 주문했습니다-> 산업 버튼);

}

다른 거요? If($ post obj-& gt;; 이벤트 = = "scancode _ waitmsg") {

//프롬프트가 있는 이벤트 코드 검색

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "힌트가 있는 스캔 이벤트를 사용했습니다. 이벤트 키: {$ postobj-> eventkey}";

다른 거요? If($ post obj-& gt;; 이벤트 = = "scancode _ push") {

//스캔 코드 푸시 이벤트

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "당신은 스캔 코드를 사용하여 이벤트를 푸시했습니다. 이벤트 키: {$ postobj->; 이벤트 키} ");

} 그렇지 않으면 {

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "text", "너의 조작은 좀 묘하다.");

}

반환? $ result

}

//수신된 텍스트 정보를 처리하고 사용자에게 회신합니다.

개인? 기능? ReceiveText($postObj){

$ 컨텐츠? =? Trim($ post obj-& gt;; 내용);

//if(strstr($content, "hello "){

If (preg _ match ("/\ d * $/",$ content)) {

//다중 그래프 정보에 응답

$ 결과? =? $ this-& gt;; Receivenews ($ postobj);

반환? $ result?

다른 거요? If($content== "picture") {

//그림 메시지에 회신

$xml? =? "& ltxml & gt

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& ltImage & gt

& ltMediaId & gt& lt! [CDATA [%s]] > & lt/MediaId & gt;;

& lt/Image & gt;;

& lt/XML & gt;; ";

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), "image", "t8asw vxml1vypfmdznezlq 2z2b6wim4ji4pbc23qu muc9/kloc-

반환? $ result

} 그렇지 않으면 {

//답장 문자

$xml? =? "& ltxml & gt

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& lt 콘텐츠>& lt! [CDATA [%s]] > & lt/Content & gt;;

& lt/XML & gt;; ";

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (), $ postObj-& gt;; MsgType, $ content);

반환? $ result

}

}

//수신된 텍스트 메시지를 처리하고 사용자에게 단일 텍스트 메시지로 응답합니다.

개인? 기능? 이미지 수신 ($postObj){

$xml? = "& ltxml & gt

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& ltarticlecount & gt1< /articlecount >

& lt 문장>

& ltitem & gt

& ltTitle & gt& lt! [CDATA [%s]] > & lt/Title & gt;; -응?

& lt 설명>& lt! [CDATA [%s]] > & lt/Description & gt;;

& ltPicUrl & gt& lt! [CDATA [%s]] > & lt/pic URL>;;

& ltUrl & gt& lt! [CDATA [%s]] > & lt/Url & gt;;

& lt/item & gt;;

& lt/Articles & gt;;

& lt/XML & gt;; ";

$ 결과? =? 스프린트 ($ XML, $ post obj-& gt;; FromUserName, $ post obj-& gt;; ToUserName, time (),' 뉴스',' 이씨와 함께 위챗 개발을 하자',' 위챗 개발은 위챗 공공플랫폼 개발로 위챗 웹 페이지를 통해 기업 정보, 서비스, 활동 등을 전시하고, 사용자는 간단한 설정을 통해 위챗 3G 웹 사이트를 생성할 수 있다. 위챗 공공 플랫폼을 통해 위챗 사용자에게 기업 브랜드를 전시하고, 홍보 비용을 절감하고, 기업, 소비자, 고객 간의 일대일 상호 작용 및 커뮤니케이션을 구축하고, 소비자를 기업 CRM 시스템에 접속시켜 홍보, 판촉, 홍보, 애프터를 진행한다. 주류 온라인 및 오프라인 위챗 인터랙티브 마케팅 방식을 형성했습니다. ","/-po3dsag _ xi4khgkpowk1hf6hy/baike/w% 3d 268% 3bg% 3d 0/sign = a/; 5aeb903e/b03533fa828ba61efb07a5464738

반환? $ result

}

//수신된 텍스트 정보를 처리하여 사용자에게 다중 그래프 정보로 응답합니다.

개인? 기능? 뉴스 수신 ($postObj){

$con? =? 배열 (

Array ("제목" = >; 앞 거리 보기',' 설명' =>" hjhhj', "picurl" => "/9fo3d sag _ Xi 4k hgko 9 WTA nf 6h hy/image/pic/item/5243fbf2b21/ 6c 380 CD 790238 db 3. jpg ","URL "=>"/9 fo3dsag _ Xi 4k hgko 9 WTA nf 6h hy/image/pic/item/5244

Array ("제목" = >; 평강로',' 설명' = >; "mkbkbjj", "picurl" => "/upload/ttq/20160729/146978/

Array ("제목" = >; 평강로',' 설명' = >; "mkbkbjj", "picurl" => "/html/uploadpic/2010-3/201

Array ("제목" = >; 앞 거리 보기',' 설명' =>" hjhhj',' picurl' => "/uploadfile/2013/0508 "URL" => "/uploadfile/2013/0508/201305081;

Array ("제목" = >; 평강로',' 설명' = >; "mkbkbjj", "picurl" => "/it/u = 995757682,3656700920 & Fm = 214 & Gp=0.jpg ","URL "=>"/it/u = 995757682,3656700920 & Fm = 214 & Gp=0.jpg "),

Array ("제목" = >; 앞 거리 보기',' 설명' =>" hjhhj',' picurl' => "/tupian/20126/kloc- "/tupian/201261510566.jpg"),

Array ("제목" = >; 평강로',' 설명' = >; "mkbkbjj", "picurl" => "/uploads/allimg/160528/9-16055

);

$ bodys = "& ltitem & gt

& ltTitle & gt& lt! [CDATA [%s]] > & lt/Title & gt;;

& lt 설명>& lt! [CDATA [%s]] > & lt/Description & gt;;

& ltPicUrl & gt& lt! [CDATA [%s]] > & lt/pic URL>;;

& ltUrl & gt& lt! [CDATA [%s]] > & lt/Url & gt;;

& lt/item & gt;; ";

$tpl2? = "";

Foreach($con? 로? $ key = & gt$newArray)? {

$tpl2? 。 =? Sprintf($bodys, $newArray["Title"], $newArray["Description"], $ newarray ["picurl"

}

$fromUsername? =? $ post obj-& gt;; 시작 사용자 이름;

$toUsername? =? $ post obj-& gt;; ToUserName

$ TPL1= "< Xml>

& ltToUserName & gt& lt! [CDATA [%s]] > & lt/tousername >

& ltfrom 사용자 이름>& lt! [CDATA [%s]] > & lt/fromusername >

& lt createtime & gt% s</createtime >

& ltMsgType & gt& lt! [CDATA [%s]] > & lt/msgtype >

& ltarticlecount & gt% s</articlecount >

& lt 문장> ";

$ tpl3 = "& lt/Articles & gt;;

& lt/XML & gt;; ";

$ TPL1= sprintf ($ TPL1,$fromUsername, $toUsername, time (), ";

$ 결과? =? $tpl 1 입니다. $tpl2. $ tpl3

반환? $ result

}

}

copyright 2024회사기업대전