WeChat public platform development function integration
1. Introduction
#In the previous WeChat function development documents, the functions of each WeChat are independent. A single WeChat can only provide one function, which does not meet the needs of mass developers and customers. Therefore, in this article, we will briefly integrate the WeChat functions developed previously for readers’ reference.
2. Idea analysis
A simple way is to intercept keywords, then judge and execute Corresponding function code. This approach is more suitable for simple WeChat with few functions; another approach is to number each function and then record the function status selected by the user. Every time the user queries, first determine his status and then execute the corresponding function code. . This approach is suitable for WeChat that integrates many complex functions; developers can choose according to their own needs. In this article, we will explain the integration of weather and translation functions. The integration of more functions is similar. You can refer to it.
3. Keyword Interception Practice
##3.1 Keyword Interception
We define that the format of the message sent by the user is fixed. The weather query format is "region + weather", such as "Suzhou weather", "Beijing weather", so first intercept the last two words to determine whether it is "weather" keyword, and then intercept the previous city name to query. In the same way, translation also intercepts the first two words to determine whether they are the "translation" keyword, and then intercepts the following text for query operation.//截取关键字 $weather_key = mb_substr($keyword,-2,2,"UTF-8"); $city_key = mb_substr($keyword,0,-2,"UTF-8"); $translate_key = mb_substr($keyword,0,2,"UTF-8"); $word_key = mb_substr($keyword,2,200,"UTF-8");
3.2 Function Integration
if($weather_key == '天气' && !empty($city_key) && $translate_key != '翻译'){ $contentStr = _weather($city_key); }elseif($translate_key == '翻译' && !empty($word_key)){ $contentStr = _baiduDic($word_key); }else{ $contentStr = "感谢您关注【卓锦苏州】\n微信号:zhuojinsz"; }
Instructions: in Here, we have encapsulated weather query and translation into functions _weather() and _baiduDic(), and then imported these files and called them directly here, which is very convenient.
In this way, we have completed the integration of weather and translation functions.3.3 Test
4. Status Recording Practice
4.1 Description
First, we need to Number, for example: Reply serial number: 1. Weather query2. Translation queryThen use the database to record the user's query status, the user Each time a message is entered, the system first queries the user's status from the database and then performs corresponding operations.4.2 Create the user status table user_flags.
-- -- 表的结构 `user_flags` -- CREATE TABLE IF NOT EXISTS `user_flags` ( `from_user` varchar(50) NOT NULL, `flag_id` int(4) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
4.3 Introducing database function files
To operate the database, you need to introduce data operation files. The MySQL cloud database provided by BAE is used here.//引入数据库文件 require_once('includes/mysql_bae.func.php');
4.4 Determine user status
//判断用户状态 $sql = "SELECT flag_id FROM user_flags WHERE from_user = '$fromUsername' LIMIT 0,1"; $result = _select_data($sql); while (!!$rows = mysql_fetch_array($result)) { $user_flag = $rows[flag_id]; }
Description: Get the flag_id from the user_flags table and assign it to $user_flag for the following judgment operation.
4.5 Determine the user’s existing status and the new input status
if(trim($keyword) $user_flag && is_numeric($keyword)) { $user_flag = ''; $sql = "DELETE FROM user_flags WHERE from_user = '$fromUsername'"; _delete_data($sql); }
Instructions: Determine the user's existing status and the newly entered status. If the status is different and the entered keyword is a number, set $user_flag to empty and clear the status in the database, as if it were the first query process
4.6 User status judgment
A. The status is empty, that is, the first query
if (empty($user_flag)) { switch ($keyword) { case 1: //查询天气 $sql = "insert into user_flags(from_user,flag_id) values('$fromUsername','1')"; $contentStr = "请输入要查询天气的城市:如北京、上海、苏州"; break; case 2: //翻译 $sql = "insert into user_flags(from_user,flag_id) values('$fromUsername','2')"; $contentStr = "请输入要翻译的内容:如:早上好、good morning、おはよう"; break; default: //其他 $sql = ""; $contentStr = "感谢您关注【卓锦苏州】\n微信号:zhuojinsz\n请回复序号:\n1. 天气查询\n2. 翻译查询\n输入【帮助】查看提示\n更多内容,敬请期待..."; break; } //判断并执行上面的插入语句 if (!empty($sql)) { _insert_data($sql); } }
Description: The user status is empty, that is, the first query. If the keyword entered by the user is the function serial number, that is, 1 or 2, the user status is written to the database, and then a prompt message is given; if the user enters If the keyword is not a function serial number, help information will be given to prompt the user to input.
B. The user status is not empty
else{ if ($user_flag == '1') { $contentStr = _weather($keyword); //查询天气 }elseif ($user_flag == '2') { $contentStr = _baiduDic($keyword); //翻译 } }
Explanation: The user status is not empty If empty, the user has already performed a query operation. As long as the user does not switch functions, it will remain under the existing function and execute the corresponding code.
4.7 Test
For more articles related to WeChat public platform development function integration, please pay attention to the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1
Easy-to-use and free code editor
