Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan komunikasi teks WeChat yang mudah dalam php

Bagaimana untuk melaksanakan komunikasi teks WeChat yang mudah dalam php

PHPz
PHPzasal
2023-04-18 10:19:06532semak imbas

Dengan populariti WeChat, semakin banyak aplikasi perlu menggunakan antara muka terbuka WeChat untuk membangunkan beberapa logik perniagaan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi komunikasi teks WeChat yang mudah.

1. Persediaan

  1. Daftar akaun pembangun dan buat aplikasi

Sebelum memasuki halaman pembangunan platform awam WeChat, anda perlu mempunyai WeChat akaun dan Akaun awam yang diperakui. Selepas mencipta akaun awam, anda perlu pergi ke halaman "Konfigurasi Asas Pembangunan" untuk mendapatkan AppID dan AppSecret akaun awam, dan pada masa yang sama tetapkan URL dan token mod pembangun dalam "Konfigurasi Pelayan".

  1. Pasang perpustakaan PHP yang diperlukan

Menggunakan PHP untuk melaksanakan komunikasi WeChat memerlukan pemasangan perpustakaan sambungan curl PHP dan perpustakaan sambungan simplexml. Di bawah sistem Linux, gunakan perintah sudo apt-get install php-curl php-simplexml untuk memasang.

  1. Bina persekitaran pembangunan

Gunakan mana-mana penyunting kod untuk membina persekitaran pembangunan adalah disyorkan untuk menggunakan PHPStorm atau Teks Sublime. URL dan Token yang digunakan dalam kod perlu sepadan dengan konfigurasi akaun rasmi WeChat.

2. Dapatkan mesej teks yang dihantar oleh pengguna WeChat

URL dan Token mesti dikonfigurasikan dalam "Konfigurasi Pelayan" akaun rasmi WeChat URL menghala ke program pemprosesan mesej php yang kami menulis, dan Token Adalah pengesahan yang sepadan dengan URL.

Proses penerimaan dan pemprosesan mesej teks adalah seperti berikut:

  1. Sahkan bahawa mesej itu memang datang dari pelayan WeChat

Apabila pengguna menghantar mesej ke akaun rasmi, dalam WeChat Pelayan akan menghantar mesej ke URL yang anda isikan terlebih dahulu Jika pilihan "Terima mesej dan cetak XML sebelum penyulitan mesej" dihidupkan dalam "Konfigurasi Pelayan", fail XML akan. dicetak pada halaman dengan segera. Kod berikut ialah fungsi yang digunakan untuk mengesahkan sama ada mesej datang daripada pelayan WeChat.

define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {
$wechatObj->responseMsg();
} else {
$wechatObj->valid();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
if ($this->checkSignature()) {
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
return true;
} else {
return false;
}
}
}

Logik kod di atas adalah sangat mudah Apabila kita mengakses pengendali php ini, jika kita mengakses url dengan parameter echostr, fungsi valid() akan dilaksanakan. Dalam fungsi ini, ia dinilai sama ada nilai tandatangan adalah sah, dan jika ia sah, nilai echostr dikembalikan. Jika url yang diakses tidak mempunyai parameter echostr, maka fungsi responseMsg() dilaksanakan secara langsung.

  1. Balas mesej teks

Membalas mesej teks memerlukan konfigurasi URL dan Token dalam "Konfigurasi Pelayan" akaun rasmi WeChat URL tersebut pengendali php yang kami tulis, dan Token ialah Pengesahan yang sepadan dengan URL.

private function receiveText($postObj)
{
$content = "欢迎您关注XX公司官方微信公众号,我们会竭诚为您服务!";
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $content);
echo $resultStr;
}

Fungsi receiveText dalam kod di atas boleh menerima mesej teks yang dihantar oleh pengguna dan membalas dengan teks alu-aluan tetap. Anda boleh menukar kandungan teks balasan berdasarkan keperluan perniagaan anda.

3. Ringkasan

Artikel ini memperkenalkan secara ringkas cara menggunakan PHP untuk melaksanakan fungsi komunikasi teks WeChat, iaitu cara membalas mesej teks yang dihantar oleh pengguna. Dalam aplikasi sebenar, anda boleh membangunkan dan menyesuaikan logik perniagaan yang lebih kompleks mengikut keperluan perniagaan. Pelaksanaan logik perniagaan akaun awam WeChat yang lengkap termasuk menu, mesej balasan dan acara, yang memerlukan penggunaan PHP, MySQL dan teknologi lain yang komprehensif.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan komunikasi teks WeChat yang mudah dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn