Maison > Article > développement back-end > Implémentation PHP des techniques de génération d'affiches du mini-programme WeChat
Avec l'essor des mini-programmes WeChat, de nombreuses entreprises et particuliers ont commencé à s'intéresser à la promotion et au marketing des mini-programmes. Dans les mini-programmes, les affiches, en tant que moyen couramment utilisé pour attirer les utilisateurs, sont devenues un élément indispensable.
Alors, comment générer automatiquement des affiches ? Cet article fournira quelques conseils pour générer des affiches de mini-programmes WeChat pour les développeurs qui utilisent PHP pour développer des mini-programmes.
1. Préparation
Tout d'abord, vous devez créer un mini programme dans le compte officiel WeChat et obtenir l'AppID, AppSecret, access_token et d'autres informations du mini programme dans le centre de développement.
Ensuite, installez l'environnement PHP sur votre serveur, y compris le serveur Apache, les bibliothèques d'extensions PHP et GD. La bibliothèque d'extensions GD est une extension PHP permettant de générer des images.
2. Obtenez le code du mini programme
Afin de générer une affiche, vous devez d'abord générer le code du mini programme dans le mini programme. Le code du mini-programme peut être généré en appelant l’API de WeChat.
En PHP, vous pouvez utiliser la fonction cURL pour obtenir le code du mini programme en appelant l'interface fournie par WeChat. Le code d'implémentation simple est le suivant :
$appid = '你的小程序AppID'; $secret = '你的小程序AppSecret'; $path = '你的页面路径'; // 注意 一定要是已经发布的小程序页面,否则获取失败 // 获取 access_token $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret; $response = curl_request($url); $result = json_decode($response, true); $access_token = $result['access_token']; // 获取小程序码 $url = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='.$access_token; $params = array( 'path' => $path, 'width' => 430 ); $response = curl_request($url, 'POST', json_encode($params), array('Content-Type:application/json')); // 保存小程序码 file_put_contents('path/to/save/wxacode.jpg', $response);
Dans le code ci-dessus, nous obtenons le access_token du mini programme en appelant l'API WeChat, et transmettons le chemin de la page et la largeur du code QR généré lors de l'appel de l'API qui génère le code du mini programme. Ensuite, nous enregistrons le code d'applet obtenu sur le serveur pour une utilisation ultérieure.
3. Utilisez la bibliothèque d'extensions GD pour générer des affiches
Après avoir obtenu le code de l'applet, nous devons utiliser la bibliothèque d'extensions GD de PHP pour le synthétiser en une affiche. La bibliothèque d'extensions GD permet à PHP de synthétiser des images, d'ajouter du texte et des formes, etc. Il s'agit d'une bibliothèque d'extensions courante permettant à PHP de générer des images.
Pour utiliser la bibliothèque d'extensions GD, nous devons activer la bibliothèque d'extensions GD en PHP.
Nous pouvons rechercher le mot-clé "extension=php_gd2.dll" ou "extension=gd.so" dans le fichier PHP.ini et décommenter cette ligne pour activer la bibliothèque d'extensions. Ou vérifiez si la bibliothèque d'extensions GD est chargée en appelant la fonction extension_loaded() dans le code, comme indiqué ci-dessous :
if (!extension_loaded('gd')) { // GD 扩展库未加载 } else { // GD 扩展库已加载 }
Ensuite, nous définissons une fonction create_poster(), qui accepte trois paramètres : un chemin de fichier, un chemin de fichier. du code de l'applet et un chemin de fichier qui renvoie le fichier affiche généré. Dans la fonction create_poster(), nous chargeons le modèle avec le chemin de fichier spécifié, ajoutons du texte et du code d'applet à l'aide de la bibliothèque d'extensions GD, puis enregistrons l'affiche générée dans le chemin spécifié.
function create_poster($template, $wxacode, $output) { // 打开要生成的模版 $bg_image = imagecreatefromjpeg($template); // 打开小程序码 $wxacode_image = imagecreatefromstring(file_get_contents($wxacode)); // 获取小程序码的宽高 list($wxacode_width, $wxacode_height) = getimagesize($wxacode); // 创建新的画布 $poster = imagecreatetruecolor(750, 1334); // 对图片进行重采样缩放 imagecopyresampled($poster, $bg_image, 0, 0, 0, 0, 750, 1334, imagesx($bg_image), imagesy($bg_image)); // 添加小程序码 imagecopy($poster, $wxacode_image, 295, 810, 0, 0, $wxacode_width, $wxacode_height); // 添加文本 $textColor = imagecolorallocate($poster, 255, 255, 255); $size = 24; $font = 'path/to/font.ttf'; $text = '扫码进入小程序'; imagettftext($poster, $size, 0, 187, 1133, $textColor, $font, $text); // 保存生成的海报 imagejpeg($poster, $output, 80); // 释放内存 imagedestroy($poster); }
Dans le code ci-dessus, nous avons d'abord ouvert l'image modèle au chemin spécifié et chargé le code de l'applet, puis créé un nouveau canevas, utilisé la méthode imagecopyresampled() pour redimensionner l'image modèle à la taille spécifiée et utilisé imagecopy ( ) ajoute un petit code de programme au canevas. Enfin, nous ajoutons le texte au canevas à l'aide de la méthode imagettftext() et enregistrons l'affiche résultante dans le chemin spécifié à l'aide de la méthode imagejpeg().
4. Ajouter l'affiche au mini programme
Après avoir généré l'affiche, nous pouvons l'ajouter au mini programme.
Vous pouvez utiliser un code similaire au suivant pour permettre au mini-programme d'afficher l'affiche générée :
// 在 wxml 中添加 image 组件 <image src="{{posterImageUrl}}"></image> // 在 js 中,设置海报图片的路径(posterImageUrl 是我们在 wxml 中绑定的变量名) this.setData({ posterImageUrl: 'path/to/generated/poster.jpg' });
Utilisez le code ci-dessus pour afficher l'affiche générée dans le mini-programme.
Résumé
Dans cet article, nous avons expliqué les techniques d'utilisation de PHP pour générer des affiches du mini programme WeChat, notamment l'obtention du code du mini programme, l'utilisation de la bibliothèque d'extensions GD pour générer des affiches et l'ajout d'affiches au mini programme.
Grâce aux techniques ci-dessus, nous pouvons facilement générer des affiches avec des codes de mini-programmes et d'autres éléments, améliorant ainsi l'effet marketing et promotionnel des mini-programmes.
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!