This article mainly introduces the two modes of WeChat public platform (editing mode and development mode). As the name suggests, the editing mode is to write ordinary functions, and the development mode has more functions. The following is mainly for development mode to introduce,
The following is an introduction to the development process of the WeChat public platform through pictures and texts. The specific content is as follows:
WeChat public platform has two modes: editing mode and development mode.
Common functions can be accessed through edit mode. Development mode has more features. Let’s use development mode to develop helloword
The steps are as follows:
Step one: Register a public account (https://mp.weixin.qq.com)
Step 2: Register sae() as your server.
Step 3: Log in to the WeChat public platform (https://mp.weixin.qq.com) to view the development documents and download the official demo. Make appropriate modifications.
Step 4: Compress the code into zip format and upload it to the sae platform.
Step 5: Log in to the WeChat public platform and enter the developer center. Open “Server Configuration”.
Step 6: Success.
Let’s get started:
1. First register a public account (https://mp.weixin.qq.com)
2. Register sae()
After registering, remember to perform real-name authentication, otherwise there will be a permanent “unable to obtain token” prompt when binding to the public platform. (Real-name authentication takes 3 working days to be successful)
You can then click Create app. It can be seen below after creation.
Enter the application you created. Then click Tag Management.
3. Log in to the WeChat public platform (https://mp.weixin.qq.com)
View the development documentation and download the official demo.
After opening, the following code is displayed:
valid();
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET[“echostr”];
//valid signature, option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS[“HTTP_RAW_POST_DATA”];
//extract post data
if (!empty($postStr)){
/* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
the best way is to check the validity of xml by yourself */
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, ‘SimpleXMLElement’, LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = ”
%s
0
“;
if(!empty( $keyword ))
{
$msgType = “text”;
$cOntentStr= “Welcome to wechat world!”;
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo “Input something…”;
}
}else {
echo “”;
exit;
}
}
private function checkSignature()
{
// you must define TOKEN by yourself
if (!defined(“TOKEN”)) {
throw new Exception(‘TOKEN is not defined!’);
}
$signature = $_GET[“signature”];
$timestamp = $_GET[“timestamp”];
$nOnce= $_GET[“nonce”];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>
I have tried the above code, but it seems that it cannot be executed to the response part. So changes were made
valid();
}else{
$wechatObj->responseMsg();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET[“echostr”];
//valid signature, option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS[“HTTP_RAW_POST_DATA”];
//extract post data
if (!empty($postStr)){
/* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
the best way is to check the validity of xml by yourself */
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, ‘SimpleXMLElement’, LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = ”
%s
0
“;
if(!empty( $keyword ))
{
$msgType = “text”;
$cOntentStr= “Welcome to wechat world!”;
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo “Input something…”;
}
}else {
echo “”;
exit;
}
}
private function checkSignature()
{
// you must define TOKEN by yourself
if (!defined(“TOKEN”)) {
throw new Exception(‘TOKEN is not defined!’);
}
$signature = $_GET[“signature”];
$timestamp = $_GET[“timestamp”];
$nOnce= $_GET[“nonce”];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>
You can change Welcome to wechat world! to Hello Word!
4. Compress the code into zip format and upload it to the sae platform.
Click “Edit Code” to see the php file you uploaded. Then right-click and view the url. copyurl(). Remember here the token defined in this php file. Here is “weixin”, which can be seen in the picture below.