当前位置: 首页 > news >正文

学习:uniapp全栈微信小程序vue3后台(30)

146.根据uni-datetime-picker日期范围获取数据

/pages/data/data-index

	// 下载排行榜数据获取函数.该函数用于异步获取下载排行榜的数据,并根据返回结果更新组件状态const downloadRankOrder = async () => {// 调用overviewCloudObj对象的rankOrder方法获取下载排行榜数据// 参数包括类型为"download"和数据范围dataRange.valuelet res = await overviewCloudObj.rankOrder({ type: "download", dataRange: dataRange.value });// 将获取到的数据赋值给downloadList,用于渲染排行榜列表downloadList.value = res;}//  获取分数排名数据该函数用于异步请求并更新分数排名列表const scoreRankOrder = async () => {// 发起异步请求获取分数排名数据,传入类型和数据范围参数let res = await overviewCloudObj.rankOrder({ type: "score", dataRange: dataRange.value });// 更新分数列表数据scoreList.value = res;}

/uniCloud-alipay/cloudfunctions/admin-data-overview/index.obj.js

//排行榜async rankOrder({ type = null, dataRange = [], number = 9 } = {}) {number = Math.min(number, 15)// 根据type确定要查询的表名,如果是'download'则查询'wallpaper-download'表,如果是'score'则查询'wallpaper-score'表,否则为空字符串let table = type == 'download' ? 'wallpaper-download' : type == 'score' ? 'wallpaper-score' : ''// 如果dataRange数组有长度,则构建时间范围查询条件// 使用dayjs处理开始时间和结束时间,分别设置为一天的开始和结束// 如果dataRange为空,则条件为空对象let wre = dataRange.length ?`createTime >= ${dayjs(dataRange[0]).startOf("day").valueOf()} && createTime<=${dayjs(dataRange[1]).endOf("day").valueOf()}` : {};// 初始化数据库JQL操作对象const dbJQL = uniCloud.databaseForJQL({clientInfo: this.getClientInfo()})// 使用解构赋值从查询结果中获取dataList,如果没有数据则默认为空数组let { data: dataList = [] } = await dbJQL.collection(table).where(wre) // 设置查询条件.groupBy("picid") // 按picid字段进行分组.groupField("count(*) as countTotal") // 分组后计算每组的数量,并命名为countTotal.orderBy("countTotal desc") // 按countTotal降序排序.limit(number) // 限制返回的记录数量.get(); // 执行查询操作,获取结果// 使用map方法将dataList中的每个item映射为其picid属性,生成一个新的数组picidArrlet picidArr = dataList.map(item => item.picid);// 使用解构赋值从查询结果中获取piclist数据,默认值为空数组let { data: piclist = [] } = await dbJQL.collection("wallpaper-piclist").where(`_id in ${JSON.stringify(picidArr)}`) // 设置查询条件,筛选出_id在picidArr数组中的文档.field("_id,picurl") // 指定只返回_id和picurl这两个字段.get(); // 执行查询操作,获取结果/*** 遍历dataList数组,为每个元素添加picurl属性* 通过picid在piclist数组中查找对应的图片信息* 使用map方法创建一个新数组,保持原有数据的同时添加新属性*/dataList = dataList.map(item => {// 在piclist数组中查找picid与当前item的picid相匹配的元素let find = piclist.find(find => find._id == item.picid);// 返回新对象,保留原有item的所有属性,并添加picurl属性return {...item, // 使用展开运算符复制item的所有属性picurl: find.picurl}})return dataList},

日期选择时调用 downloadRankOrder() , scoreRankOrder()方法

/pages/data/data-index

const dataChange = (e) => {downloadRankOrder();scoreRankOrder();}

loading

 /pages/data/data-index

传入nodata

	// 使用ref创建响应式数据,用于标记是否无数据const downloadNodata = ref(false);// 下载排行榜数据获取函数.该函数用于异步获取下载排行榜的数据,并根据返回结果更新组件状态const downloadRankOrder = async () => {// 设置下载无数据状态为false,表示正在加载数据downloadNodata.value = false;// 调用overviewCloudObj对象的rankOrder方法获取下载排行榜数据// 参数包括类型为"download"和数据范围dataRange.valuelet res = await overviewCloudObj.rankOrder({ type: "download", dataRange: dataRange.value });// 检查返回结果是否为空数组// 如果没有数据,设置downloadNodata为true,表示无数据可显示if (!res.length) downloadNodata.value = true;// 将获取到的数据赋值给downloadList,用于渲染排行榜列表downloadList.value = res;}//  获取分数排名数据该函数用于异步请求并更新分数排名列表const scoreRankOrder = async () => {// 设置无数据状态为false,表示正在加载数据scoreNodata.value = false;// 发起异步请求获取分数排名数据,传入类型和数据范围参数let res = await overviewCloudObj.rankOrder({ type: "score", dataRange:
http://www.dtcms.com/a/423074.html

相关文章:

  • centos建设网站推广软文怎么写
  • 【开题答辩全过程】以 mac官网商城为例,包含答辩的问题和答案
  • mac基于mlx运行轻量级模型gemma-3-270m
  • 工业显示器在焊接机器人中的应用
  • uniapp 日历组件 uni-datetime-picker
  • 如何上传网站内容wordpress 文章导出
  • 【2小时轻松部署分布式存储Ceph高可用集群】2-ceph组件-Ceph 组件深度拆解:从底层架构到实战运维的全维度指南
  • 外链都没有的网站如何做排名的摄影设计说明范文
  • STM32H743-ARM例程13-SDIO
  • 求职招聘小程序:轻量化场景下的核心功能解析
  • 玳瑁的嵌入式日记---0929(ARM--ADC)
  • 国外seo做的好的网站wordpress 登陆
  • 东欣建设集团网站设计素材网站上的素材可以商用吗
  • OD C卷 - 有效子字符串
  • 无人机定点派送技术要点与运行方式
  • 实战项目:活动报名小程序-应用内数据库CRUD
  • 从零构建能自我优化的AI Agent:Reflection和Reflexion机制对比详解与实现
  • 能见度监测站的优点是什么
  • 网站建设需要代码哪些网站可以做国外生意
  • 建网站不想用怎样撤销有关于做茗茶的网站
  • PDDA-CY5用于制备荧光标记聚合物、纳米载体或功能化材料
  • 信息安全基础知识:10入侵检测技术
  • 电机控制:前馈与反馈
  • 创网站永久免费建站如何让百度不收录网站
  • Frames:Runway推出的AI图像生成模型,提供前所未有的风格控制和视觉一致性
  • Sentinel 深度解析:限流与熔断降级的微服务稳定性保障实践
  • wordpress 网站图标软件开发一个月多少工资
  • 计算机视觉(opencv)——基于 dlib 人脸对齐
  • 古代游戏中的社交密码
  • (免费分享)基于python的飞机大战游戏