Maison >développement back-end >tutoriel php >Positionnement en temps réel à l'aide de PHP dans le mini-programme WeChat

Positionnement en temps réel à l'aide de PHP dans le mini-programme WeChat

WBOY
WBOYoriginal
2023-06-02 12:10:542567parcourir

Avec le développement de l'Internet mobile, de nombreuses applications nécessitent des fonctions de positionnement en temps réel. Le mini-programme WeChat est actuellement l'une des applications mobiles les plus populaires. Par conséquent, la manière de mettre en œuvre la fonction de positionnement en temps réel dans le mini-programme WeChat est devenue la priorité des développeurs.

Cet article expliquera comment utiliser le langage PHP pour implémenter la fonction de positionnement en temps réel dans l'applet WeChat. Voici les étapes spécifiques :

Étape 1 : Créer une mini application de programme

Tout d'abord, nous devons créer une mini application de programme WeChat. Après avoir enregistré un compte sur la plateforme publique WeChat, vous pouvez créer une application de mini-programme via l'outil de développement de mini-programme. Après une création réussie, nous devons obtenir l'AppID et l'AppSecret du mini programme dans la gestion en arrière-plan du mini programme. Ces deux informations seront utilisées pour interagir avec le serveur WeChat.

Étape 2 : Introduire les fichiers de bibliothèque nécessaires

Afin d'implémenter facilement la fonction de positionnement en temps réel, nous devons introduire certains fichiers de bibliothèque nécessaires. Dans cet exemple, nous utilisons le langage PHP, nous devons donc installer le SDK PHP et le SDK de la plateforme ouverte WeChat. Une fois l'installation terminée, nous pouvons appeler les fonctions pertinentes en PHP.

Étape 3 : Implémenter la fonction de positionnement

Avant d'implémenter la fonction de positionnement, nous devons comprendre certaines connaissances de base sur l'interaction avec le serveur WeChat. Le serveur WeChat utilise le protocole HTTPS, le format des données est le format JSON et les requêtes et les réponses sont en mode POST.

Lors de la mise en œuvre de la fonction de positionnement, nous devons utiliser l'interface API fournie par l'applet WeChat, notamment wx.getLocation() et wx.request(). wx.getLocation() est utilisé pour obtenir les informations de localisation géographique actuelle de l'utilisateur, tandis que wx.request() est utilisé pour envoyer des requêtes au serveur et recevoir des réponses.

Le code PHP est le suivant :

<?php
$appid = "你的小程序appid";
$secret = "你的小程序appsecret";
$js_code = $_POST['code'];
$url = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$js_code}&grant_type=authorization_code";
$res = json_decode(file_get_contents($url), true);
$sessionKey = $res['session_key'];
$encryptedData = $_POST['encryptedData'];
$iv = $_POST['iv'];
$wxid=$_POST['wxid'];

include_once "wxBizDataCrypt.php";
$pc = new WXBizDataCrypt($appid, $sessionKey);
$errCode = $pc->decryptData($encryptedData, $iv, $data );

$array=get_object_vars(json_decode($data));
$location = $array['location'];
$latitude = $location['latitude'];
$longitude = $location['longitude'];
$accuracy=$location['accuracy'];
$time=$array['time'];
?>

Dans le code ci-dessus, nous obtenons d'abord l'AppID et l'AppSecret de l'applet, puis obtenons la valeur du code de l'utilisateur via wx.login().

Après avoir obtenu la valeur du code, nous pouvons obtenir l'openid et la clé de session de l'utilisateur via l'interface WeChat. Ensuite, nous obtenons les données cryptées envoyées par l'applet et effectuons l'opération de décryptage. Une fois le décryptage terminé, nous pouvons obtenir les informations de localisation géographique de l'utilisateur, notamment la latitude, la longitude, la précision, l'heure et d'autres informations.

Étape 4 : Enregistrez les informations de positionnement

La dernière étape consiste à enregistrer les informations de positionnement. Avant cela, nous devons stocker les informations de positionnement dans la base de données afin qu'elles puissent être interrogées à tout moment. Dans cet exemple, nous choisissons d'utiliser MySQL comme base de données. Voici le code pour enregistrer les informations de positionnement :

<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpawd = "";
$dbname = "weiyi";
$conn = mysqli_connect($dbhost, $dbuser, $dbpawd, $dbname);
if (!$conn) {
  die("连接失败: " . mysqli_connect_error());
}
$sql = "INSERT INTO user_location (wxid, latitude, longitude, accuracy, time)
VALUES ('{$wxid}', {$latitude}, {$longitude}, {$accuracy}, {$time})";
if (mysqli_query($conn, $sql)) {
  echo "记录已添加到数据库中";
} else {
  echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>

Dans le code ci-dessus, nous stockons les informations de positionnement obtenues dans la table user_location, y compris l'identifiant WeChat de l'utilisateur, la latitude, la longitude, la précision et l'heure. Une fois le stockage terminé, nous pouvons interroger les informations de positionnement de l'utilisateur à tout moment pour obtenir un positionnement en temps réel.

Pour résumer, il n'est pas difficile d'implémenter la fonction de positionnement en temps réel dans l'applet WeChat. Il nous suffit d'écrire du code pertinent en utilisant le langage PHP. Grâce aux étapes ci-dessus, vous pouvez facilement implémenter la fonction de positionnement en temps réel dans l'applet WeChat.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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