WeChat ミニ プログラムの開発は完了しましたが、当然のことながら多くの問題に遭遇しました。この記事では、より多くの WeChat 開発者を支援することを願って、主に WeChat ミニ プログラムの開発中に発生した問題の概要を共有します。 。
ミニプログラムのご紹介
「趣味を孤独にしない、趣味を迷わない」がWeChatミニプログラム「一緒に行こう」のテーマです このミニプログラムは現代人の孤独を解決することを目的としています。キャンパスライフ中の大学生は、ランニング、フィットネス、競技、その他のアクティビティで同じ志を持った友達やパートナーを見つけましょう。ミニ プログラムのすぐに使える使いやすい機能と友達作りを組み合わせることで、効率的、高速、負担のかからないオフライン デート ツールになります
このミニ プログラムは、bmob back によってデータ処理とストレージが提供されます。 -end クラウドサポート
ミニプログラムコード
開発中の技術的問題のまとめ
1. e.target.datasetの使用に関する問題
ミニプログラム開発のプロセスでは、属性値を使用することがよくあります。通常、
WXML
<view bindtap="bintap" data-id="1"></view>
JS
bintap:function(e){ var id = e.currentTarget.dataset.id; }
data-* の名前付けの問題は、キャメルケースの名前付けと純粋な小文字を削除することで解決できるとインターネットで言われています
2 実数を表示する方法。ミニプログラムのテキストエリアのテキストボックスの時間単語数
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 }) },
3. JSを使用してファジークエリを実装します
Bmobバックエンドクラウドによって提供されるデータ処理とストレージサポートを使用しているため、 Bmob が提供する開発ドキュメントを参照してください。アプリケーションの無料版ではファジー クエリを実行できません。ここを参照して、ほぼ完成したアクティビティ検索インターフェイスを見て、その感動は言葉では言い表せません。諦めかけたとき、ふと、背景データをすべてコレクションに保存し、入力された検索値に応じて一つずつ照合する方法を思いつき、考えた結果、実行してみました。 Document, String オブジェクトには、指定された文字列値が文字列内で最初に出現する位置を返すメソッドがあり、すべてのデータを走査してそれぞれを取得します。各データの文字が表示されたら、検索結果のコレクションに追加します。
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 }) } },
詳しいコードはGithubにアクセスしてください
4. JSを使用して文字列形式の時間を秒前に変換します、分前...
ミニ プログラムには、イベント時間を含むコメント、アクティビティへの参加、コレクションなどの一連の機能が含まれており、データベースに保存される時間形式は 2017-11-30 23:36: 10、今度はインターフェイスに特定の時間を表示するのではなく、現在の時間との差、つまり数秒前、数分前などを表示したいと考えています。実装の主なアイデアは複雑ではありません。まず文字列の時間をタイムスタンプに変換し、それを現在のタイムスタンプと比較して、数秒前、数分前、数時間前、数日前などに変換できます。
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. WeChat アプレットはフォーム データをクリアするためにフォームを送信します
イベントを公開した後、データがクリアされない場合、ミニのデータ インタラクションは悪くなるはずです。プログラムはhtml + jSのようなものではなく、dataSet({})を使用して値を代入し、ビューレイヤーが非同期で値をアクティブにできるので、フォームを送信した後、これらの入力に値を代入する必要があると考えました。もちろん、フォームには入力が含まれるだけでなく、この方法でもクリア効果を実現できます
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。 WeChat ID、QQ番号、携帯電話番号の登録
イベント参加申し込みには本名、連絡先等の情報の入力が必要となるため、ユーザーが任意に情報を入力することを防ぐため、これらの情報を確認する必要があります
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. Bmob SDK を使用して、登録の成功を実装し、テンプレート メッセージを送信し、ミニ プログラムの QR コードを生成します。
開発プロセス中に、ユーザーが登録に成功したときにユーザーに通知する方法を実現したかったため、ミニ プログラムの開発ドキュメントを調べて、テンプレート メッセージを送信するための API があることを知り、Bmob の開発ドキュメントを調べたところ、この機能はテンプレート メッセージを正常に送信できることがわかりました。実機では、設定後は概ね成功しましたが、問題が発生しました
、つまり、ミニプログラムがリリースされた後、テンプレートメッセージにページパラメータが含まれている場合、送信されません。ただし、開発バージョンでは正常に送信できます。この問題は報告されており、Bmob ミニ プログラム SDK が更新されると解決されると予想されます。関連する推奨事項: WeChat ミニ プログラムのバージョン。 Zhihu の例の共有WeChat ミニ プログラムをコンポーネント化するためのソリューションのアイデアと方法
以上がWeChat アプレット開発で発生した問題の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

随着移动互联网技术和智能手机的普及,微信成为了人们生活中不可或缺的一个应用。而微信小程序则让人们可以在不需要下载安装应用的情况下,直接使用小程序来解决一些简单的需求。本文将介绍如何使用Python来开发微信小程序。一、准备工作在使用Python开发微信小程序之前,需要安装相关的Python库。这里推荐使用wxpy和itchat这两个库。wxpy是一个微信机器

小程序能用react,其使用方法:1、基于“react-reconciler”实现一个渲染器,生成一个DSL;2、创建一个小程序组件,去解析和渲染DSL;3、安装npm,并执行开发者工具中的构建npm;4、在自己的页面中引入包,再利用api即可完成开发。

实现思路x01服务端的建立首先,在服务端,使用socket进行消息的接受,每接受一个socket的请求,就开启一个新的线程来管理消息的分发与接受,同时,又存在一个handler来管理所有的线程,从而实现对聊天室的各种功能的处理x02客户端的建立客户端的建立就要比服务端简单多了,客户端的作用只是对消息的发送以及接受,以及按照特定的规则去输入特定的字符从而实现不同的功能的使用,因此,在客户端这里,只需要去使用两个线程,一个是专门用于接受消息,一个是专门用于发送消息的至于为什么不用一个呢,那是因为,只

微信小程序是一种轻量级的应用程序,可以在微信平台上运行,不需要下载安装,方便快捷。Java语言作为一种广泛应用于企业级应用开发的语言,也可以用于微信小程序的开发。在Java语言中,可以使用SpringBoot框架和第三方工具包来开发微信小程序。下面是一个简单的微信小程序开发过程。创建微信小程序首先,需要在微信公众平台上注册一个小程序。注册成功后,可以获取到

本篇文章给大家带来了关于微信小程序的相关问题,其中主要介绍了如何在小程序中用公众号模板消息,下面一起来看一下,希望对大家有帮助。

PHP与小程序的地理位置定位与地图显示地理位置定位与地图显示在现代科技中已经成为了必备的功能之一。随着移动设备的普及,人们对于定位和地图显示的需求也越来越高。在开发过程中,PHP和小程序是常见的两种技术选择。本文将为大家介绍PHP与小程序中的地理位置定位与地图显示的实现方法,并附上相应的代码示例。一、PHP中的地理位置定位在PHP中,我们可以使用第三方地理位

随着小程序的广泛应用,越来越多的开发者需要将其与后台服务器进行数据交互,其中最常见的业务场景之一就是上传文件。本文将介绍在小程序中实现文件上传的PHP后台实现方法。一、小程序中的文件上传在小程序中实现文件上传,主要依赖于小程序APIwx.uploadFile()。该API接受一个options对象作为参数,其中包含了要上传的文件路径、需要传递的其他数据以及

PHP与小程序的第三方登录与绑定功能实现随着互联网的发展和智能手机的普及,小程序成为了移动应用程序开发的热门选择。小程序不仅提供了优秀的用户体验,还具备各种强大的功能。其中,第三方登录与绑定是小程序中常见的功能之一。本文将介绍如何使用PHP与小程序实现第三方登录与绑定的功能,并为读者提供代码示例。第三方登录是指用户可以使用其他平台的账号信息登录到目标平台,而


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック



