Maison Applet WeChat Développement de mini-programmes Résumé des problèmes rencontrés lors du développement du mini-programme WeChat

Résumé des problèmes rencontrés lors du développement du mini-programme WeChat

Jan 25, 2018 pm 03:08 PM
小程序 汇总 程序开发

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 rencontrés lors du développement du mini-programme WeChat

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

JS

bintap:function(e){
    var id = e.currentTarget.dataset.id;
}
Copier après la connexion

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

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
    })
  },
Copier après la connexion

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: &#39;输入为空&#39;,
        icon: &#39;loading&#39;,
      })
    }
    if (strFind != "") {
      var nPos;
      var resultPost = [];
      for (var i in smoodList) {
        var sTxt = smoodList[i].title || &#39;&#39;; //活动的标题
        nPos = sTxt.indexOf(strFind); 
        if (nPos >= 0) {//如果输入的关键字在该活动标题中出现过,则匹配该活动
          resultPost.push(smoodList[i]); //将该活动加入到搜索到的活动列表中
        }
      }
      that.setData({
        moodList: resultPost
      })
    }
  },
Copier après la connexion

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 = &#39;0&#39; + M;
  }
  if (D < 10) {
    D = &#39;0&#39; + D;
  }
  if (H < 10) {
    H = &#39;0&#39; + H;
  }
  if (m < 10) {
    m = &#39;0&#39; + m;
  }
  if (s < 10) {
    s = &#39;0&#39; + 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 + &#39;天前&#39;;
  } else if (d_days <= 0 && d_hours > 0) {
    return d_hours + &#39;小时前&#39;;
  } else if (d_hours <= 0 && d_minutes > 0) {
    return d_minutes + &#39;分钟前&#39;;
  } else if (d_seconds < 60) {
    if (d_seconds <= 0) {
      return &#39;刚刚&#39;;
    } else {
      return d_seconds + &#39;秒前&#39;;
    }
  } else if (d_days >= 3 && d_days < 30) {
    return M + &#39;-&#39; + D + &#39; &#39; + H + &#39;:&#39; + m;
  } else if (d_days >= 30) {
    return Y + &#39;-&#39; + M + &#39;-&#39; + D + &#39; &#39; + H + &#39;:&#39; + m;
  }
}
Copier après la connexion

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

JS

submitForm:function(e){
     var title = e.detail.value.title;
     ......
     success: function (res) {
         //将title值设置空
        that.setData({
            title: &#39;&#39;
         }
     }
}
Copier après la connexion

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位中文姓名正则校验
Copier après la connexion

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.

Recommandations associées :

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Développer l'applet WeChat en utilisant Python Développer l'applet WeChat en utilisant Python Jun 17, 2023 pm 06:34 PM

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 petits programmes peuvent-ils réagir ? Les petits programmes peuvent-ils réagir ? Dec 29, 2022 am 11:06 AM

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émenter des effets de retournement de cartes dans les mini-programmes WeChat Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Nov 21, 2023 am 10:55 AM

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 : &lt;!--index.wxml-. -&gt;&l

Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Oct 31, 2023 pm 09:25 PM

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

Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Oct 20, 2023 pm 02:12 PM

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

Comment gérer l'enregistrement du mini-programme Comment gérer l'enregistrement du mini-programme Sep 13, 2023 pm 04:36 PM

É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.

Tutoriel sur l'écriture d'un programme de chat simple en Python Tutoriel sur l'écriture d'un programme de chat simple en Python May 08, 2023 pm 06:37 PM

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

Comment devenir membre du mini-programme WeChat Comment devenir membre du mini-programme WeChat May 07, 2024 am 10:24 AM

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.

See all articles