Maison > Applet WeChat > Développement WeChat > Intégration de la fonction de développement de la plateforme publique WeChat

Intégration de la fonction de développement de la plateforme publique WeChat

高洛峰
Libérer: 2017-03-06 09:27:10
original
1625 Les gens l'ont consulté

1. Introduction

Dans les documents de développement des fonctions WeChat précédents, les fonctions de chaque WeChat sont indépendantes. ne fournissent qu’une seule fonction, qui ne répond pas aux besoins des développeurs et des clients de masse. Par conséquent, dans cet article, nous intégrerons brièvement les fonctions WeChat développées précédemment pour référence des lecteurs.

2. Analyse des idées

Un moyen simple consiste à intercepter les mots-clés, puis à juger et à exécuter le code de fonction correspondant. Cette approche est plus adaptée aux WeChat simples avec peu de fonctions ; une autre approche consiste à numéroter chaque fonction, puis à enregistrer l'état de la fonction sélectionnée par l'utilisateur. Chaque fois que l'utilisateur interroge, déterminez d'abord son état, puis exécutez le code de fonction correspondant. Cette approche convient à WeChat qui intègre de nombreuses fonctions complexes ; les développeurs peuvent choisir en fonction de leurs propres besoins. Dans cet article, nous expliquerons l'intégration des fonctions météo et de traduction. L'intégration de plus de fonctions est similaire.

3. Méthodes d'interception de mots clés

3.1 Interception de mots clés

Nous définissons que le format des messages envoyés par les utilisateurs est fixe. Le format de requête météo est « météo régionale », comme « météo de Suzhou », « météo de Pékin », donc interceptez d'abord les deux derniers mots pour déterminer s'il s'agit de « météo ». . Caractères clés, puis interceptez le nom de la ville précédente pour la requête. De la même manière, la traduction intercepte également les deux premiers mots pour déterminer s'il s'agit du mot-clé « traduction », puis intercepte le texte suivant pour une opération de requête.

//截取关键字
$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");
Copier après la connexion

3.2 Intégration des fonctions

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";
}
Copier après la connexion

Instructions : Ici, nous avons encapsulé la requête météo et la traduction dans les fonctions _weather() et _baiduDic(), puis importé ces fichiers et les avons appelés directement ici, ce qui est très pratique.

De cette manière, nous avons complété l'intégration des fonctions météo et de traduction.

Test 3.3

Intégration de la fonction de développement de la plateforme publique WeChat

Test réussi.

4. Méthode d'enregistrement de l'état

4.1 Description

Tout d'abord, nous devons combiner chacun Numéro de fonction, par exemple :

Numéro de série de réponse :

1. Requête météo

2. Requête de traduction

Utilisez ensuite la base de données pour enregistrer celle de l'utilisateur. interroger le statut de l'utilisateur Chaque fois qu'un message est saisi, le système interroge d'abord le statut de l'utilisateur dans la base de données, puis effectue les opérations correspondantes.

4.2 Créer une table de statut utilisateur user_flags dans la base de données.

--
-- 表的结构 `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;
Copier après la connexion

Intégration de la fonction de développement de la plateforme publique WeChat

4.3 Présentation des fichiers de fonctions de base de données

Pour faire fonctionner la base de données, vous devez introduire les fichiers d'opération de données La base de données cloud MySQL fournie par BAE est utilisée ici.

//引入数据库文件
require_once('includes/mysql_bae.func.php');
Copier après la connexion

4.4 Déterminer le statut de l'utilisateur

//判断用户状态
$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];
}
Copier après la connexion

Explication : Obtenez flag_id de la table user_flags et attribuez-le à $user_flag pour l'opération de jugement suivante.

4.5 Déterminer le statut existant de l'utilisateur et le statut de la nouvelle entrée

if(trim($keyword) <> $user_flag && is_numeric($keyword))
{
    $user_flag = &#39;&#39;;
    $sql = "DELETE FROM user_flags WHERE from_user = &#39;$fromUsername&#39;";
    _delete_data($sql);
}
Copier après la connexion

Instructions : Jugez le statut existant de l'utilisateur et le statut nouvellement saisi. Si le statut est différent et que le mot-clé saisi est un nombre, définissez $user_flag pour vider et effacer le statut dans la base de données, comme s'il s'agissait du premier processus de requête.

4.6 Jugement du statut de l'utilisateur

A. le statut est vide, c'est-à-dire la première requête

if (empty($user_flag))
{
    switch ($keyword)
    {
        case 1:    //查询天气
            $sql = "insert into user_flags(from_user,flag_id) values(&#39;$fromUsername&#39;,&#39;1&#39;)";
            $contentStr = "请输入要查询天气的城市:如北京、上海、苏州";
            break;
        case 2:    //翻译
            $sql = "insert into user_flags(from_user,flag_id) values(&#39;$fromUsername&#39;,&#39;2&#39;)";
            $contentStr = "请输入要翻译的内容:如:早上好、good morning、おはよう";
            break;
        default: //其他
            $sql = "";
            $contentStr = "感谢您关注【卓锦苏州】\n微信号:zhuojinsz\n请回复序号:\n1. 天气查询\n2. 翻译查询\n输入【帮助】查看提示\n更多内容,敬请期待...";
            break;
    }
    
    //判断并执行上面的插入语句
    if (!empty($sql))
    {
        _insert_data($sql);
    }
}
Copier après la connexion

Explication : Le statut de l'utilisateur est vide, c'est-à-dire la première requête si le mot-clé saisi par l'utilisateur est le numéro de série de la fonction, c'est-à-dire 1 ou. 2, le statut de l'utilisateur est écrit dans la base de données, puis un message d'invite est émis ; Si le mot-clé saisi par l'utilisateur n'est pas un numéro de série de fonction, un message d'aide sera émis pour inviter l'utilisateur à saisir.

B. Le statut de l'utilisateur n'est pas vide

else{
    if ($user_flag == &#39;1&#39;)
    {
        $contentStr = _weather($keyword);    //查询天气
    }elseif ($user_flag == &#39;2&#39;)
    {
        $contentStr = _baiduDic($keyword);    //翻译
    }
}
Copier après la connexion

Description : Statut de l'utilisateur S'il n'est pas vide, l'utilisateur a déjà effectué une opération de requête. Tant que l'utilisateur ne change pas de fonction, il restera sous la fonction existante et exécutera le code correspondant.

Test 4.7

Intégration de la fonction de développement de la plateforme publique WeChat

Pour plus d'articles liés à l'intégration des fonctions de développement de la plateforme publique WeChat, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal