


Résumé des problèmes rencontrés lors du développement du mini-programme WeChat
Le développement du mini programme WeChat est terminé, et naturellement de nombreux problèmes ont été rencontrés. Dans cet article, nous partageons principalement avec vous un résumé des problèmes rencontrés dans le développement du mini programme WeChat, en espérant vous aider davantage. Développeurs WeChat.
Introduction au mini programme
"Laissez vos intérêts ne plus être seuls et ne laissez plus vos passe-temps vagabonder" est le thème du mini programme WeChat "Allons ensemble" Ce mini-programme vise à résoudre la solitude que ressentent les étudiants contemporains dans la vie sur le campus, permettant à chacun de trouver des amis et des partenaires partageant les mêmes idées dans des activités telles que la course, le fitness et les compétitions. En combinant les fonctionnalités instantanées et faciles à utiliser du mini programme avec le fait de se faire des amis, ce sera un outil de rencontre hors ligne efficace, rapide et sans fardeau
Ce mini programme est fourni par bmob back -end cloud Prise en charge du traitement et du stockage des données
Code du mini programme
Résumé des problèmes techniques en développement
1. e.target.dataset Problème
Lors du développement de petits programmes, nous utilisons souvent les valeurs d'attribut des attributs dans les balises. Nous définissons généralement data-*="{{XXX}}" dans <. ;view> puis dans JS, j'utilise e.target.dateset.* pour obtenir la valeur XXX, mais je rencontre souvent undefined. Utilisez console.log(e) pour vérifier les informations de sortie et vous constaterez que l'objet e en contient deux. objets, à savoir currentTarget et target. , et parfois les données sont dans currentTarget,
À ce stade, vous pouvez remplacer le code par this pour obtenir la valeur
WXML
<view bindtap="bintap" data-id="1"></view>
JS
bintap:function(e){ var id = e.currentTarget.dataset.id; }
Il y a aussi un dicton sur Internet selon lequel le problème de la dénomination * dans les données-* peut être résolu en supprimant la dénomination en casse chameau et les minuscules pures
2. Comment afficher le nombre de mots en temps réel dans la zone de texte de la zone de texte du mini programme
WXML
<view> <view> <textarea name="content" bindinput="bindTextAreaChange" maxlength="{{noteMaxLen}}" /> <view class="chnumber"> {{noteNowLen}}/{{noteMaxLen}}</view> </view> </view>
JS
data:{ noteMaxLen: 200,//备注最多字数 noteNowLen: 0,//备注当前字数 } //字数改变触发事件 bindTextAreaChange: function (e) { var that = this var value = e.detail.value, len = parseInt(value.length); if (len > that.data.noteMaxLen) return; that.setData({ content: value, noteNowLen: len }) },
Utilisez JS pour implémenter une requête floue.
Étant donné que nous utilisons le support de traitement et de stockage des données fourni par le cloud back-end de Bmob, selon les documents de développement fournis par Bmob, la version gratuite de l'application ne peut pas effectuer de requêtes floues en voyant cela, puis en regardant. à l'interface de récupération d'activité presque terminée, je me sens indescriptible. Juste au moment où j'étais sur le point d'abandonner, j'ai soudainement pensé à une méthode qui consiste à sauvegarder d'abord toutes les données d'arrière-plan d'une collection, puis à les faire correspondre une par une en fonction de la valeur de recherche saisie. Après y avoir réfléchi, j'ai commencé. pour fonctionner immédiatement. J'ai d'abord vérifié le document javaScript, l'objet String a une méthode appelée indexOf(), qui peut renvoyer la position où une valeur de chaîne spécifiée apparaît pour la première fois dans la chaîne. caractère de chaque élément de données. S'il apparaît, ajoutez-le ensuite à la collection de résultats de recherche.
JS
//js 实现模糊匹配查询 findEach: function (e) { var that = this var strFind = that.data.wxSearchData.value; //这里使用的 wxSearch 搜索UI插件, if (strFind == null || strFind == "") { wx.showToast({ title: '输入为空', icon: 'loading', }) } if (strFind != "") { var nPos; var resultPost = []; for (var i in smoodList) { var sTxt = smoodList[i].title || ''; //活动的标题 nPos = sTxt.indexOf(strFind); if (nPos >= 0) {//如果输入的关键字在该活动标题中出现过,则匹配该活动 resultPost.push(smoodList[i]); //将该活动加入到搜索到的活动列表中 } } that.setData({ moodList: resultPost }) } },
Pour un code plus détaillé, veuillez vous rendre sur Github pour voir
4. Utilisez JS pour formater la chaîne. L'heure est convertie en il y a quelques secondes, il y a quelques minutes...
Étant donné que le mini programme implique une série de fonctions, notamment commenter, rejoindre des activités, des collections, etc. heure de l'événement, le format de l'heure stocké dans la base de données est 2017- 11-30 23:36:10 Maintenant, je souhaite ne pas afficher l'heure spécifique sur l'interface, mais afficher la différence par rapport à l'heure actuelle, c'est-à-dire quelques secondes il y a quelques minutes, etc.
Ce n'est pas compliqué à mettre en œuvre. L'idée principale est d'abord de convertir l'heure de la chaîne en un horodatage, puis de la comparer avec l'horodatage actuel, pour qu'elle soit obtenue. peut être converti en il y a quelques secondes, il y a quelques minutes, il y a des heures, il y a des jours, etc.
JS
//字符串转换为时间戳 function getDateTimeStamp(dateStr) { return Date.parse(dateStr.replace(/-/gi, "/")); } //格式化时间 function getDateDiff(dateStr) { var publishTime = getDateTimeStamp(dateStr) / 1000, d_seconds, d_minutes, d_hours, d_days, timeNow = parseInt(new Date().getTime() / 1000), d, date = new Date(publishTime * 1000), Y = date.getFullYear(), M = date.getMonth() + 1, D = date.getDate(), H = date.getHours(), m = date.getMinutes(), s = date.getSeconds(); //小于10的在前面补0 if (M < 10) { M = '0' + M; } if (D < 10) { D = '0' + D; } if (H < 10) { H = '0' + H; } if (m < 10) { m = '0' + m; } if (s < 10) { s = '0' + s; } d = timeNow - publishTime; d_days = parseInt(d / 86400); d_hours = parseInt(d / 3600); d_minutes = parseInt(d / 60); d_seconds = parseInt(d); if (d_days > 0 && d_days < 3) { return d_days + '天前'; } else if (d_days <= 0 && d_hours > 0) { return d_hours + '小时前'; } else if (d_hours <= 0 && d_minutes > 0) { return d_minutes + '分钟前'; } else if (d_seconds < 60) { if (d_seconds <= 0) { return '刚刚'; } else { return d_seconds + '秒前'; } } else if (d_days >= 3 && d_days < 30) { return M + '-' + D + ' ' + H + ':' + m; } else if (d_days >= 30) { return Y + '-' + M + '-' + D + ' ' + H + ':' + m; } }
5. Le formulaire de soumission de l'applet WeChat efface les données du formulaire
Après. En publiant l'événement, puisque les données du formulaire ne sont pas effacées, l'expérience utilisateur doit être mauvaise. Cependant, l'interaction des données du mini-programme n'est pas comme html + jS. L'utilisation de dataSet({}) pour attribuer des valeurs, la couche de vue. peut activer les valeurs de manière asynchrone, j'ai donc pensé qu'après avoir soumis le formulaire, toutes ces entrées devraient se voir attribuer des valeurs vides, de cette façon, l'effet d'effacement du formulaire est obtenu. Bien sûr, le formulaire ne le fait pas seulement. contient une entrée, mais l'effet de compensation peut être obtenu de cette manière
WXML
<form bindsubmit="submitForm"> <text class="key">活动名称</text> <input name="title" maxlength="100" value="{{title}}" /> <button formType="submit">确定</button> </form>
JS
submitForm:function(e){ var title = e.detail.value.title; ...... success: function (res) { //将title值设置空 that.setData({ title: '' } } }
6. Vérification régulière de l'identifiant WeChat, du numéro QQ, et numéro de téléphone portable
Étant donné que postuler pour rejoindre l'événement nécessite de renseigner son vrai nom, ses coordonnées et d'autres informations, afin d'empêcher les utilisateurs de remplir des informations à volonté, ces informations doivent être vérifiées Vérifier
JS
var wxReg = new RegExp("^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$"); //微信号正则校验 var qqReg = new RegExp("[1-9][0-9]{4,}"); //QQ号正则校验 var phReg = /^1[34578]\d{9}$/; //手机号正则校验 var nameReg = new RegExp("^[\u4e00-\u9fa5]{2,4}$"); //2-4位中文姓名正则校验
7. Utilisez le SDK Bmob pour réussir votre inscription, envoyer des modèles de messages, générer des codes QR de mini-programme, etc.
Pendant le processus de développement, car je souhaite comprendre comment avertir l'utilisateur lorsque l'utilisateur s'enregistre avec succès. J'ai vérifié la documentation de développement du mini-programme et j'ai découvert qu'il existe une API pour envoyer des messages modèles. Ensuite, j'ai vérifié la documentation de développement de Bmob et j'ai constaté que cette fonction avait été implémentée. C'est vraiment utile. Les messages modèles ne peuvent être envoyés avec succès que sur une vraie machine. Après la configuration, la clé est réussie. Cependant, il y a un problème lors de l'utilisation
, c'est-à-dire après la sortie du mini programme, si le modèle est utilisé. Le message contient le paramètre de page, il ne sera pas envoyé. Cependant, pendant le développement, la version peut être envoyée avec succès. Ce problème a été signalé. On estime que ce problème sera résolu après la mise à jour du SDK du mini programme Bmob.
Une version du mini programme WeChat Zhihu Partage d'exemples
Solutions et méthodes de composition des mini-programmes WeChat
Mini-jeu du programme WeChat Mini version 2048
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Avec la popularité de la technologie Internet mobile et des smartphones, WeChat est devenu une application indispensable dans la vie des gens. Les mini-programmes WeChat permettent aux gens d'utiliser directement des mini-programmes pour résoudre certains besoins simples sans télécharger ni installer d'applications. Cet article explique comment utiliser Python pour développer l'applet WeChat. 1. Préparation Avant d'utiliser Python pour développer l'applet WeChat, vous devez installer la bibliothèque Python appropriée. Il est recommandé d'utiliser ici les deux bibliothèques wxpy et itchat. wxpy est une machine WeChat

Les mini-programmes peuvent utiliser React. Comment l'utiliser : 1. Implémentez un moteur de rendu basé sur "react-reconciler" et générez un DSL ; 2. Créez un mini composant de programme pour analyser et restituer le DSL 3. Installez npm et exécutez le développeur Build ; npm dans l'outil ; 4. Introduisez le package dans votre propre page, puis utilisez l'API pour terminer le développement.

Implémentation d'effets de retournement de cartes dans les mini-programmes WeChat Dans les mini-programmes WeChat, la mise en œuvre d'effets de retournement de cartes est un effet d'animation courant qui peut améliorer l'expérience utilisateur et l'attractivité des interactions d'interface. Ce qui suit présentera en détail comment implémenter l'effet de retournement de carte dans l'applet WeChat et fournira des exemples de code pertinents. Tout d'abord, vous devez définir deux éléments de carte dans le fichier de mise en page du mini-programme, un pour afficher le contenu avant et un pour afficher le contenu arrière. L'exemple de code spécifique est le suivant : <!--index.wxml-. ->&l

Selon les informations de ce site du 31 octobre, le 27 mai de cette année, Ant Group a annoncé le lancement du « Projet de sélection de caractères chinois » et a récemment inauguré de nouveaux progrès : Alipay a lancé le mini-programme « Sélection de caractères chinois-Caractères rares ». pour collecter des collections de la société Les personnages rares complètent la bibliothèque de personnages rares et offrent différentes expériences de saisie pour les personnages rares afin d'aider à améliorer la méthode de saisie des caractères rares dans Alipay. Actuellement, les utilisateurs peuvent accéder à l'applet « Caractères peu communs » en recherchant des mots-clés tels que « capture de caractères chinois » et « caractères rares ». Dans le mini-programme, les utilisateurs peuvent soumettre des images de caractères rares qui n'ont pas été reconnus et saisis par le système. Après confirmation, les ingénieurs d'Alipay effectueront des entrées supplémentaires dans la bibliothèque de polices. Ce site Web a remarqué que les utilisateurs peuvent également découvrir la dernière méthode de saisie par fractionnement de mots dans le mini-programme. Cette méthode de saisie est conçue pour les mots rares dont la prononciation n'est pas claire. Démantèlement utilisateur

La manière dont Uniapp peut réaliser une conversion rapide entre les mini-programmes et le H5 nécessite des exemples de code spécifiques. Ces dernières années, avec le développement de l'Internet mobile et la popularité des smartphones, les mini-programmes et le H5 sont devenus des formulaires de candidature indispensables. En tant que cadre de développement multiplateforme, uniapp peut réaliser rapidement la conversion entre les petits programmes et H5 sur la base d'un ensemble de codes, améliorant considérablement l'efficacité du développement. Cet article présentera comment Uniapp peut réaliser une conversion rapide entre les mini-programmes et H5, et donnera des exemples de code spécifiques. 1. Introduction à uniapp unia

Étapes de l'opération d'enregistrement du mini-programme : 1. Préparez des copies des cartes d'identité personnelles, des licences commerciales, des cartes d'identité des personnes morales et d'autres documents de classement ; 2. Connectez-vous à l'arrière-plan de gestion du mini-programme ; 3. Accédez à la page des paramètres du mini-programme ; Sélectionnez " "Paramètres de base" ; 5. Remplissez les informations de dépôt ; 6. Téléchargez les documents de dépôt ; 7. Soumettez la demande de dépôt ; 8. Attendez les résultats de l'examen. Si le dépôt n'est pas accepté, apportez des modifications en fonction des raisons. et soumettre à nouveau la demande de dépôt; 9. Les opérations de suivi du dépôt sont celles du Can.

Idée d'implémentation x01 Mise en place du serveur Tout d'abord, côté serveur, le socket est utilisé pour accepter les messages. Chaque fois qu'une demande de socket est acceptée, un nouveau thread est ouvert pour gérer la distribution et l'acceptation des messages. En même temps, il y a un gestionnaire. pour gérer tous les Threads, réalisant ainsi le traitement des diverses fonctions du salon de discussion. La mise en place du client x02 est beaucoup plus simple que celle du serveur. La fonction du client est uniquement d'envoyer et de recevoir des messages, et de saisir des caractères spécifiques en fonction. règles spécifiques. Pour pouvoir utiliser différentes fonctions, il suffit donc, côté client, d'utiliser deux threads, l'un est dédié à la réception de messages et l'autre à l'envoi de messages. Quant à pourquoi ne pas en utiliser un, celui-là. c'est parce que, seulement

1. Ouvrez le mini programme WeChat et entrez dans la page du mini programme correspondante. 2. Recherchez l'entrée relative aux membres sur la page du mini-programme. Habituellement, l'entrée des membres se trouve dans la barre de navigation inférieure ou dans le centre personnel. 3. Cliquez sur le portail d'adhésion pour accéder à la page de demande d'adhésion. 4. Sur la page de demande d'adhésion, remplissez les informations pertinentes, telles que le numéro de téléphone portable, le nom, etc. Après avoir complété les informations, soumettez la demande. 5. Le mini-programme examinera la demande d'adhésion. Après avoir réussi l'examen, l'utilisateur pourra devenir membre du mini-programme WeChat. 6. En tant que membre, les utilisateurs bénéficieront de davantage de droits d'adhésion, tels que des points, des coupons, des activités exclusives aux membres, etc.
