微信小程序开发完成+问题总结
小程序开发
数据处理
浏览:1303 次

我们一起去吧
前言
经过近一个月的开发,我们团队开发的微信小程序“一起走吧”终于开发出来了。当前在线版本为2.2.4-beta
本文档主要介绍小程序开发中使用的技术,以及开发过程中遇到的问题的解决方案
原始链接(转载请注明出处):
小程序简介
“让兴趣不寂寞,让爱好不流浪”是微信小程序“一起走”的主题。这个小程序旨在解决当代大学生在校园生活中的孤独感,让每个人都能在跑步、健身、比赛等活动中找到志同道合的朋友和伙伴。它将是一个高效、快速、无负担的离线交友工具,将即时使用和使用小程序的功能与交友相结合
后端云支持此小程序进行数据处理和存储
小程序代码
欢迎使用扫描体验
开发中的技术问题总结
1.e.target.dataset的问题
在小程序开发过程中,我们经常使用标签中属性的属性值。我们通常在JS中使用
此时,您可以将代码替换为该值
WXML语言
JS语言
bintap:函数(e){
var id=e.currentTarget.dataset.id;
}
在互联网上,数据命名总是存在问题-*。也可以通过删除驼峰样式命名来解决此问题
2.如何在小程序的文本区文本框中显示实时字数
WXML语言
<视图>
<视图>

JS语言
数据:{
NoteMaxLen:200,//注释中的最大字数
NoteNowLen:0,//记录当前字数
}
//字号更改触发事件
bindTextAreaChange:函数(e){
var th=这个
var值=e.detail.value,
len=parseInt(value.length);
如果(len>that.data.noteMaxLen)
回来
that.setData(设置数据)({
content:value,noteNowLen:len
})
},
3.使用JS实现模糊查询
因为我们正在使用后端云提供的数据处理和存储支持,根据Bmob提供的开发文档,app的免费版本不能用于模糊查询。看到这里,再看看几乎完成的活动检索界面,我感到无语。就在我快要放弃的时候,我突然想出了一个方法,那就是首先保存集合中的所有后台数据,然后根据输入的检索值逐一匹配。我立即开始工作。首先,我检查了javascript文档。String对象的一个方法是indexOf(),它可以返回字符串中指定字符串值的第一个出现位置。这就是如何遍历所有数据,检索每条数据的每个字符,并在出现时将其添加到检索结果集中
JS语言
//js实现的模糊匹配查询
findEach:函数(e){
var th=这个
var strFind=that.data.wxSearchData。值;//这里使用的wxSearch搜索UI插件,
如果(strFind==null ||strFind==“”){
wx.showToast({
title:'输入为空',
icon:'加载',

})
}
如果(strFind!=“”){
var nPos;
var resultPost=[];
for(smoodList中的var i){
var sTxt=smoodList[i]。标题||“”;//活动名称
nPs=sTxt。索引(strFind);
如果(nPos>=0){//如果输入的关键字出现在活动标题中,则将匹配该活动
结果发布。push(smoodList[i]);//将此活动添加到搜索的活动列表
}
}
that.setData(设置数据)({
moodList:resultPost
})
}
},
有关更多详细代码,请访问
4.使用JS将字符串格式的时间转换为秒前、分钟前
由于小程序涉及一系列功能,包括事件时间,如评论、活动和收藏夹,而数据库中存储的时间格式为2017-11-30 23:36:10。现在我们希望在界面上显示与当前时间的差异,而不是特定时间,即秒前、分钟前等
实施并不复杂。主要思想是首先将字符串的时间转换为时间戳,然后将其与当前时间戳进行比较。这样,它可以转换为秒前、分钟前、小时前、天前等形式
JS语言
//将字符串转换为时间戳
函数getDateTimeStamp(dateStr){
return Date.parse(dateStr.replace(/-/gi,“/”));
}
//格式化时间
函数getDateDiff(dateStr){

var publishTime=获取日期时间S