Day10微信小程序实战交友小程序对点赞次数的优化及首页推荐与最新功能实现详情页渲染数据和样式布局SCAUgogocj

新建一个unitFormat.wxs文件,定义一个函数,拿到一个数字之后进行处理

记得要提供一个对外的借口

toFixed(n)就是说明保留n位小数了

并且要注意了,定义模块名字的话,是唯一性的,也就是不能重复的

这里设置的是k,假如后面超过了上万的话,也可以设置是w这个单位了

17-首页推荐与最新功能实现

因为在推荐中的排序顺序,其实是按照点赞的次序了进行的,

还有就是要定义一个变量和制定现在是在推荐页面还是在最新页面的

Current设置位links也就是说,他的初始值是根据点整数来进行排序的

对“推荐”和“最新”

通过在index.js里面定义一个current变量,当==links的时候就是active推荐,反之

在index.wxml中

推荐最新在index.js中

通过current:'time'当然现在在js里面的current是写死的,如果他是avtive的话,最新就会激活,反之就是推荐

所以现在要进行的就是,可以通过点击事件来进行替换的,这里是通过一个自定义的属性和方法来完成的

通过添加data-curent这个自定义属性和handleCurrent这个方法

推荐最新在js的handleCurrent中式可以通过ev.target.dataset拿到我们在wxml中自定义的属性的

在index.js中的handleCurrent函数

handleCurrent(ev){letcurrent=ev.target.dataset.current;if(current==this.data.current){returnfalse;}this.setData({current=current});}效果就是,可以通过点击事件来切换推荐和最新

之后就是,切换完了之后,关键就是数据还要变化的

切换“推荐”和“最新”的时候,式通过初始的links来获取最新的数据的

在开发文档里面-》云开发-》collection.orderBy是专门来进行排序的,指定查询的排序条件

示例代码demo

db.collection('todos').orderBy('progress','asc').get().then(console.log).catch(console.error)示例代码:按多个字段排序先按progress排降序(progress越大越靠前)、再按description排升序(字母序越前越靠前)取待办事项:db.collection('todos').orderBy('progress','desc').orderBy('description','asc').get().then(console.log).catch(console.error)

在原先的onready中

onReady:function(){db.collection('users').field({userPhoto:true,nickName:true,links:true}).get().then((res)=>{//console.log(res.data)this.setData({listData:res.data});});},在.field的后面get前面

onReady:function(){db.collection('users').field({userPhoto:true,nickName:true,links:true}).orderBy(this.data.current,'desc').get().then((res)=>{//console.log(res.data)this.setData({listData:res.data});});},desc就是按升序的,progress就是按降序的

效果就是:

但是上面的只是对点赞数的数量进行搞得,如果是点击了最新得话就要发送“最新”这个请求了

上面暂时写得onready其实是一个复用的方法,因为“推荐“和”最新“都是要用到他的,所以就可以把上面的onready封装一下

变成一个getListData的方法:

getListData(){db.collection('users').field({userPhoto:true,nickName:true,links:true}).orderBy(this.data.current,'desc').get().then((res)=>{//console.log(res.data)this.setData({listData:res.data});});}在Onready中调用,之后在handleCurrent的最最后面也调用一下,就是为了在点击切换了之后,直接调用,就不用等到重新编译onready的时候再进行

更新了1(可以在异步中调用这个函数,在回调中调用

三、详情页detail(是所有用户的通用页面

(还要通过不同用户的ID来决定渲染的内容)

所以在点击这个用户的头像的时候,要吧这个用户的唯一标示(userID带进去,以得到不同的详情页面)

首先给首页中的用户图片加上点击事件handleDetail(然后通过自定义属性的方式,来得到用户的id,也就是吧这个id传入到点击事件函数中)

之后就可以在index.js页面中写这个方法了

在这个方法里面拿到了这个用户的id之后,就可以用编程式路由来找到这个详情页了,并且在用navigator的时候跳转到的url后面

要加上参数,也就是用户的id

handleDetail(ev){letid=ev.target.dataset.id;wx.navigateTo({url:'/pages/detail/detailuserID='+id})}跳转到页面之后,那怎么样得到我们刚刚在URL后面传递的id值呢?

其实我们在跳转之后,console中会提示一个这样的东西,后面带的就是这个用户的ID值了

如果想要得到这个id值的话,在detail.js中的onLoad中

我们把传入到这个onload函数的options参数,打印出来,看看结果是怎么样的

可以看到打印出来的东西,就是我们刚刚传进去的id了

存了这个userid之后就可以开始对数据库进行操作了

小技巧:为了后面不用再点进详情页面了,可以添加编译模式

可以对这个详情页面直接传如一个用户的id

(就不用再从首页点击进入了)

onLoad:function(options){//console.log(options);letuserId=options.userId;db.collection('users').doc(userId).get().then((res)=>{});},通过这样子就可以得到这个用户的所有在数据库里面的信息了

(我们就可以吧这些信息写入到一个对象里面)---放在detail这个对象里面,还要有一个功能就是“判断点入的这个用户和你是不是好友关系”

所有就在detail.js的data里面定义一个判断是不是好友的变量

然后就可以开始构造wxml页面了‘

在wxml页面中,给用户提示一下当前这个人是他的好友还是不是他的好友

THE END
1.聊天交友约会软件排行榜前十名APP推荐豌豆荚聊天交友约会软件排行榜前十名榜单为您提供最新聊天交友约会软件排行榜前十名大全,这里不仅有聊天交友约会软件排行榜前十名安卓版本APP、历史版本应用下载资源,还有类似聊天交友约会软件排行榜前十名的应用推荐,欢迎大家前来豌豆荚下载。https://www.wandoujia.com/bangdan/409013/
2.喜鹊相亲交友平台v2.0.5小程序源码相亲小程序源码资源喜鹊相亲交友平台v2.0.5是一款专为寻找伴侣的人群设计的小程序源码。这个平台旨在通过数字化的方式,让单身用户可以方便快捷地进行线上相亲活动,提高匹配效率,实现高效交友。该平台的最新版本为2.0.5,主要更新包括两大部分功能优化和一个已知问题的修复。 关于版本号2.0.5的更新内容: 1. **后台自定义背景图片功能**https://download.csdn.net/download/unbelievevc/79696018
3.交友网站建设同城交友系统开发相亲平台搭建交友APP小程序定制开发一站式交友网站建设同城交友系统开发,10多年专业网站开发和网站设计,帮助公司开发同城交友平台交友系统相亲网站和相亲平台交友APP交友小程序,为企业提供全方位交友网站解决方案。Tel:189-8854-8058 ,微信号:feimakeji 。 价格 ¥12000 2 交易成功 优惠 1000-100 https://market.cloud.tencent.com/products/38747
4.脱单必看整理9个靠谱脱单小程序公众号,好用才推荐作为一枚曾混迹各大交友平台找对象的人来说,踩过坑也捡过宝。 现在整理一下自己一直在用的,感觉还可以的几个脱单公众号和小程序给大家,帮大家省点时间避点坑。 1、单身青年自救平台:这个平台的产品功能做的很棒,丝滑顺爽,可用度很高,而且上面全是白富美高富帅的感觉(后面有个内行人透露,机器人较多),作为线上https://www.meipian.cn/4js52zu6
5.格创相亲交友小程序源码语音交友app源码,交友程序源码,交友软件源码<?相亲交友APP>是现代社交交友的新时尚,为了满足广大用户的需求,我们格创网络科技有限公司经过不断的努力和研发,推出了一款全新的格创相亲交友小程序源码。本文将为大家介绍该小程序的开发过程和其在交友领域的独特之处。在开发<?相亲交友APP>之前,我们的研发团队进行了一系列的需求调研和用户访谈,以确保产品能够https://xian.11467.com/info/23184774.htm
6.爱靓女交友类小程序源码下载爱靓女交友类小程序源码 下载地址 下载错误?【投诉报错】 本资源由用户投稿上传,内容来自互联网,本站只做免费推荐用于学习分享,如有版权及其他问题,请联系本站编辑处理 重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断 https://www.jb51.net/codes/662709.html
7.轻型社交论坛圈子小程序用于同城交友类平台小程序搭建朋友花钱买的一套社交圈子小程序源码,自己装来玩了几天,感觉还不错,大家拿去研究研究吧。 最近这种类型的圈子小程序还挺火的,满网飞啊~~~ 多客圈子交友系统(又称圈子交友系统)采用了TP6+Uni-app框架开发,客户移动端采用uni-app开发,管理后台TH6开发。另外系统支持微信公众号端、微信小程序端、H5端、PC端多端https://article.juejin.cn/post/7238871553542062138
8.校园社区交友类小程序喵云科技互联网软件服务商案例展示校园社区交友类小程序,是一品威客网会员喵云科技-互联网软件服务商展示的开发类案例,喵云科技-互联网软件服务商同时也提供校园社区交友类小程序服务,随时欢迎您的咨询,校园类社区交友类小程序技术栈:php+uhttps://www.epwk.com/case/rjkf/236034.html
9.社交交友软件聊天IM社区朋友圈仿青藤之恋探探左右滑匹配《欧几里》是一款一比一模仿《青藤之恋》的社交交友软件开源项目,主打高学历优质人群交友,功能上基本还原青藤之恋,以双向喜欢后解锁聊天,目前适配微信小程序,手机App,H5,三端通用,功能完整,盈利模式完善,高度配置化,功能模块化,高内聚,低耦合,一天快速上线,已对接支付接口,只需要简单的修改配置文件中相关信息,即可https://ext.dcloud.net.cn/plugin?id=15999
10.超好玩的酒吧交友聊天小程序打造酒吧专属社交元宇宙超好玩的酒吧交友聊天小程序_打造酒吧专属社交元宇宙_喝酒拼桌游戏组局不孤单-开酒吧,用多粉https://duofriend.net/social
11.丛丛脱单相亲找对象单身交友平台丛丛是一个真实、靠谱、高效的脱单交友平台,已助力10万+单身青年成功脱单!http://congcong.wanghongwan.com/
12.游戏陪玩小程序有哪些?(推荐几款游戏陪玩小程序)猎游是一款集游戏陪玩、交友互动于一体的小程序,深受年轻玩家的喜爱。平台上汇聚了大量的游戏高手,用户可以选择心仪的陪玩人员进行游戏。猎游还提供了多种互动功能,如语音聊天、视频互动等,让用户在享受游戏陪玩的同时,结识更多志同道合的朋友。 推荐一篇找兼职必看的免费教程:《手机兼职,300-500/天,一单一结,大量缺https://www.jianshu.com/p/a3f1afda5615
13.丛丛脱单相亲找对象单身交友平台丛丛是一个真实、靠谱、高效的脱单交友平台,已助力10万+单身青年成功脱单!http://www.congcong.love/