Akaun awam WeChat telah menjadi saluran penting bagi banyak syarikat dalam pemasaran dan perkhidmatan, dan fungsi tolak acara juga merupakan bahagian yang sangat penting. Artikel ini akan memperkenalkan cara melaksanakan push acara akaun rasmi WeChat dalam PHP, supaya perusahaan boleh berinteraksi dengan pengguna dengan lebih baik.
1. Gambaran keseluruhan tolak acara akaun awam WeChat
Tekan acara akaun awam WeChat merujuk kepada pelayan WeChat yang secara aktif menolak jenis acara tertentu ke akaun awam semasa interaksi antara pengguna dan orang ramai akaun. Seperti mengikuti, berhenti mengikuti, mengklik pada menu, dsb. Akaun rasmi boleh memberikan pengalaman dan perkhidmatan pengguna yang lebih baik dengan mengendalikan acara ini.
2. Pembinaan persekitaran PHP
Sebelum melaksanakan push acara akaun rasmi WeChat, anda perlu menyediakan persekitaran pembangunan PHP terlebih dahulu. Artikel ini menggunakan XAMPP sebagai contoh untuk memperkenalkan langkah operasi khusus:
Selepas persekitaran pembangunan PHP dibina, akaun awam WeChat perlu dikonfigurasikan untuk memudahkan interaksi dengan PHP. Langkah-langkah khusus adalah seperti berikut:
Log masuk ke platform awam WeChat, masukkan halaman "Pembangunan" - "Konfigurasi Asas", dan dapatkan AppID dan AppSecret.Selepas pembangunan dan konfigurasi akaun awam WeChat selesai, anda boleh menulis kod yang berkaitan dalam PHP. Pelaksanaan kod akan dibahagikan kepada tiga bahagian.
Dapatkan mesej atau acara yang diterima dan huraikannya$postdata = $GLOBALS['HTTP_RAW_POST_DATA']; //获取POST数据 if (!empty($postdata)) { //判断数据是否为空 $postObj = simplexml_load_string($postdata, 'SimpleXMLElement', LIBXML_NOCDATA); //将XML数据解析为对象 $msgType = $postObj->MsgType; //获取消息类型 if ($msgType == 'event') { //判断消息是否为事件 $event = $postObj->Event; //获取事件类型 //处理事件 } else { //处理消息 } }
(1) Memproses acara menarik:
if ($event == 'subscribe') { $toUser = $postObj->FromUserName; //获取用户OpenID $fromUser = $postObj->ToUserName; //获取公众号原始ID $time = time(); //获取当前时间戳 $msgType = 'text'; //回复消息类型为文本 $content = '欢迎关注我们的公众号!'; //回复消息内容 $template = '<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); //构造回复消息XML echo $info; //返回回复消息给微信服务器 }
(2) Memproses mesej teks:
if ($msgType == 'text') { $toUser = $postObj->FromUserName; //获取用户OpenID $fromUser = $postObj->ToUserName; //获取公众号原始ID $time = time(); //获取当前时间戳 $msgType = 'text'; //回复消息类型为文本 $content = '您发送的是文本消息,我们会尽快回复您的问题。'; //回复消息内容 $template = '<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>'; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); //构造回复消息XML echo $info; //返回回复消息给微信服务器 }
$signature = $_GET["signature"]; //获取加密签名 $timestamp = $_GET["timestamp"]; //获取时间戳 $nonce = $_GET["nonce"]; //获取随机数 $token = "你在微信公众平台设置的Token值"; //获取Token值 $tmpArr = array($token, $timestamp, $nonce); //组装数组 sort($tmpArr, SORT_STRING); //按照字典序排序 $tmpStr = implode($tmpArr); //组装字符串 $tmpStr = sha1($tmpStr); //加密 if ($tmpStr == $signature) { //比较签名 return true; } else { return false; }
5 Ujian penyebaran
Selepas kod PHP ditulis, kod perlu digunakan ke pelayan untuk ujian. Langkah-langkah khusus adalah seperti berikut:
Muat naik kod bertulis ke direktori "htdocs/wechat" di bawah direktori XAMPP.Dengan melaksanakan langkah di atas, anda boleh melaksanakan push acara akaun rasmi WeChat dalam PHP. Perusahaan boleh menggunakan fungsi ini untuk berinteraksi dengan lebih baik dengan pengguna dan meningkatkan pengaruh jenama dan kepuasan pengguna.
Atas ialah kandungan terperinci Cara melaksanakan push acara akaun awam WeChat dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!