学习:uniapp全栈微信小程序vue3后台-额外/精彩报错篇 - 教程

news/2025/10/1 20:04:52/文章来源:https://www.cnblogs.com/tlnshuju/p/19122790

学习:uniapp全栈微信小程序vue3后台-额外/精彩报错篇 - 教程

2025-10-01 20:04  tlnshuju  阅读(0)  评论(0)    收藏  举报

1.分类列表分页

uni-pagination | uni-app官网

Pagination Props

属性名类型默认值说明
prevTextString上一页左侧按钮文字
nextTextString下一页右侧按钮文字
value/v-modelNumber1当前页
currentNumber1当前页, 优先级高于 value
totalNumber0数据总量
pageSizeNumber10每页数据量
showIconBooleanfalse是否以 icon 形式展示按钮

/uniCloud-alipay/cloudfunctions/admin-wallpaper-classify/index.obj.js

	/*** 获取分类列表*/async list({ current = 1, size = 10 } = {}) {try {// 从第skip条数据开始let skip = (current - 1) * size;// 初始化数据库JQL实例const dbJQL = uniCloud.databaseForJQL({clientInfo: this.getClientInfo()});const res = await dbJQL.collection("wallpaper-classify").skip(skip).limit(size).field(`name,picurl,enable,select,sort,user_id,createTime`).orderBy("sort asc").get({ getCount: true }); // 返回数据和总数return res;} catch (err) {return {errCode: 500,errMsg: "数据库查询失败",data: [],count: 0};}},

/pages/wallpaper/classify

<script setup>// 分页参数const params = ref({currentPage: 1, // 当前页码pageSize: 10, // 每页条数total: 0 // 总条数});// 获取分类列表const getClassify = async () => {try {// 解构 后端需要 current ,sizelet { errCode, errMsg, data, count } = await classifyCloudObj.list({current: params.value.currentPage,size: params.value.pageSize});if (errCode !== 0) return showToast({ title: errMsg });// 赋值classData.value = data// 总计,更新总条数params.value.total = count;console.log(data);} catch (err) {console.error("加载分类失败:", err);showToast({ title: "加载数据失败,请重试" });}}// 分页切换事件const handlePageChange = (e) => {console.log("打印当前页码:", e.current); // 打印当前页码params.value.currentPage = e.current; // 更新当前页码getClassify(); // 重新加载数据};
</script>
	

2.管理员显示注册时间

1.创建超级管理员出现的问题

ai分析:

连接本地云函数

连接云端云函数

跟着第一节课步骤走,还是会出现,看来不是我的问题

好像还是我的问题,明天老师远程。

远程控制更改了我系统的时间,就好了,不到20分钟,

AI分析的

1. 可能的原因

(1) Token 或 Session 过期

  • 现象: uni-id 或 uni-captcha 返回 500 错误,可能与登录状态的校验有关。
  • 原因
    • 系统时间不正确时,生成的 Token 或 Session 的时间戳可能被服务器判定为无效(例如,时间偏差过大)。
    • 例如:
      • 如果系统时间比实际时间快,Token 可能被判定为“未来生成”而失效。
      • 如果系统时间比实际时间慢,Token 可能被判定为“已过期”。

(2) 证书或 HTTPS 校验失败

  • 现象:本地开发服务(如 http://127.0.0.1:7001 )可能启用了 HTTPS 或证书校验。
  • 原因
    • 证书的有效期依赖于系统时间。如果系统时间不在证书的有效期内,请求会被拒绝。

(3) 数据库或缓存时间同步问题

  • 现象:云函数依赖的数据库(如 MongoDB)或缓存(如 Redis)可能对操作时间有严格校验。
  • 原因
    • 数据库可能拒绝时间不一致的请求(例如,写入数据的 createdAt 字段时间与实际时间偏差过大)。

(4) 定时任务或 Cron 作业

  • 现象:云函数中可能有定时任务逻辑,依赖系统时间触发。
  • 原因
    • 如果系统时间错误,定时任务可能无法按预期执行。

2. 解决方案

(1) 同步系统时间

  • 确保系统时间与网络时间同步:
    • Windows
      1. 右键任务栏的时间 > “调整日期和时间”。
      2. 开启“自动设置时间”和“自动设置时区”。

2.后台下载记录报错

删掉测试图片后

未正确传入 type 参数,导致触发了这段错误

  • 如果关联查询的结果为空(如 classname 、 nickname 或 picurl 为 null 或空数组),直接访问 [0] 会抛出 Cannot read properties of null 错误。

解决方案

  • 增加空值判断
// 增加空值判断的处理关联字段数组let data = res.data.map(item => ({...item,classname: item.classname && item.classname.length > 0 ? item.classname[0] : '',nickname: item.nickname && item.nickname.length > 0 ? item.nickname[0] : '',picurl: item.picurl && item.picurl.length > 0 ? item.picurl[0] : ''}))

同样的问题出现在客户端,

增加空值判断的处理关联字段数组

	// 增加空值判断的处理关联字段数组let data = res.data.map(item => ({...item,classname: item.classname?.[0] || '',classid: item.classid?.[0] || '',_id: item._id?.[0] || '',description: item.description?.[0] || '',picurl: item.picurl?.[0] || '',score: item.score?.[0] || 0,tabs: item.tabs?.[0] || [],user_id: item.user_id?.[0] || '',view_count: item.view_count?.[0] || 0}));

通过增加对 nickname 字段的空值判断

	// 合并用户昵称(增加空值判断)data = data.map(item => ({...item,nickname: authData.find(find => find._id == item.user_id)?.nickname || '匿名用户'}));

不影响结果的小问题,没有提示,把单词打错了

/pages/data/download-record

如果 collection 写错(指向不存在的集合或无权限的集合),uni-data-select 会无法拉取数据,常见表现为:

  • 下拉选项为空或显示“加载失败”
  • 控制台报错类似“collection not found/集合不存在”或“Permission denied/权限不足”
  • 可能出现请求 500 的错误码并附带 JQL 查询失败信息
  • v-model 不会赋值,classifyChange 不触发或接收到 undefined/空值

点第二页报错了,还有分类会报错

3.排行榜错误

countTotal一直为1

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

rankOrder

async rankOrder({ type = null, dataRange = [], number = 9 } = {}) {// 确保number不超过15number = Math.min(number, 15);// 根据type确定要查询的数据表// 如果type是'download',则查询'wallpaper-download'表// 如果type是'score',则查询'wallpaper-score'表// 否则,table为空字符串let table = type == 'download' ? 'wallpaper-download' : type == 'score' ? 'wallpaper-score' : '';// 如果table为空,则输出错误信息并返回空数组if (!table) {console.error('无效的类型参数:', type);return [];}// 构建时间范围查询条件let wre = dataRange.length ?`createTime >= ${dayjs(dataRange[0]).startOf("day").valueOf()} &&createTime<=${dayjs(dataRange[1]).endOf("day").valueOf()}` : {};const dbJQL = uniCloud.databaseForJQL({clientInfo: this.getClientInfo()});try {// 优先使用分组统计let { data: groupData = [] } = await dbJQL.collection(table).where(wre).groupBy("picid").groupField("count(*) as countTotal").orderBy("countTotal desc").limit(number).get();if (groupData.length === 0) {// 如果分组统计无结果,使用手动统计let { data: allRecords = [] } = await dbJQL.collection(table).where(wre).field("picid").get();// 手动统计每个picid的出现次数let countMap = {};allRecords.forEach(record => {if (record.picid) {countMap[record.picid] = (countMap[record.picid] || 0) + 1;}});// 转换为数组并排序groupData = Object.keys(countMap).map(picid => ({picid,countTotal: countMap[picid]})).sort((a, b) => b.countTotal - a.countTotal).slice(0, number);}if (groupData.length === 0) return [];// 获取壁纸详情// 使用groupData数组生成picid数组,并过滤掉空值let picidArr = groupData.map(item => item.picid) // 使用map方法提取每个元素的picid属性.filter(Boolean); // 使用filter方法过滤掉所有假值(null、undefined、0、false、NaN、空字符串)let { data: piclist = [] } = await dbJQL.collection("wallpaper-piclist").where(`_id in ${JSON.stringify(picidArr)}`).field("_id,picurl").get();// 合并数据return groupData.map(item => {let pic = piclist.find(p => p._id === item.picid);return {picid: item.picid,countTotal: Number(item.countTotal) || 0,picurl: pic?.picurl || ''};});} catch (error) {console.error('Failed to get rank data:', error);return [];}},

没修好,除了第一张图countTotal显示其他,

4.排序错误

评分取整

	{{Number(item.score).toFixed(1)}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

织梦配置手机网站手机企业网站怎么做

0x01 初识NTLM协议 基本概念&#xff1a;NTLM(NT LAN Manager)认证是一种早期的Windows网络身份认证协议。它在Windows系统中用于验证用户的身份&#xff0c;并提供对网络资源的访问控制&#xff0c;它是一种基于Challenge/Response的认证机制。 认证流程 NTLM协议Challenge…

关于滚动数组

i & 1 还是太丑陋了,可以设一个 ind,每次 i++ 时 ind = 1 - ind。 i + 1 就是 1 - ind。

第九篇

今天是10月1日,ok也是终于等到了国庆节放假,不容易啊,坐了十几个小时的火车终于是顺利到家了。

2025 年宁波搬家公司推荐 TOP 权威榜单发布,多维度解读宁波搬家服务公司创新亮点举措

引言 在宁波这座不断发展的城市,搬家服务需求日益增长,但行业内却存在不少亟待解决的问题。部分小型搬家团队缺乏规范管理,服务质量参差不齐,常常出现物品损坏后推诿责任、坐地起价等现象,让消费者蒙受损失。有的…

2025 年检测器厂家推荐 TOP 品牌权威排名,防爆火焰 / 一体化火焰 / 紫外线火焰 / 离子火焰 / 红外线火焰 / 红紫外复合火焰 / 智能火焰检测器公司推荐

引言 在工业生产、能源供应、环境保护等众多领域,检测器作为关键的监测设备,其性能与质量直接关系到生产安全、效率及数据准确性。当前,检测器市场品牌众多,产品种类繁杂,技术水平参差不齐。部分厂家为追求短期利…

【Git】Git 操作指令大全及运用场景详解

【Git】Git 操作指令大全及运用场景详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

网站建设的目的和作用网店推广软文范例

摘要&#xff1a;本文整理自字节跳动基础架构工程师李国君&#xff0c;在 Streaming Lakehouse Meetup 的分享。幸福里业务是一种典型的交易、事务类型的业务场景&#xff0c;这种业务场景在实时数仓建模中遇到了诸多挑战。本次分享主要介绍幸福里业务基于 Flink & Paimon …

9-29

(1)今天预习了java的课程 (2)明天继续深造

10-1

(1)今天预习了java的课程 (2)明天继续深造

百度如何提交网站做网站建设推荐

概述 一种开源跨平台的序列化结构化数据的协议。可用于存储数据或在网络上进行数据通信。它提供了用于描述数据结构的接口描述语言&#xff08;IDL&#xff09;&#xff0c;也提供了根据 IDL 产生代码的程序工具。Protocol Buffers的设计目标是简单和性能&#xff0c;所以与 XM…

网上商城网站建设体会青海百度关键词seo

虚拟现实&#xff08;VR&#xff09;技术的出现为我们提供了一种全新的在线教学方式。由广州华锐视点开发的VR线上教学资源平台&#xff0c;作为一个综合性的学习工具&#xff0c;正在教育领域迅速发展&#xff0c;并被越来越多的教育机构和学生所接受。那么&#xff0c;VR线上…

做网站需要几个服务器wordpress网站域名服务器

技术背景 随着智慧数字人、AI数字人的兴起&#xff0c;越来越多的公司着手构建​全息、真实感数字角色等技术合成的数字仿真人虚拟形象&#xff0c;通过“虚拟形象语音交互&#xff08;T-T-S、ASR&#xff09;自然语言理解&#xff08;NLU&#xff09;深度学习”&#xff0c;构…

2025母线槽源头厂家 TOP 工厂权威榜单揭晓,密集型、封闭、浇筑、耐火、防火、防水、插接式母线槽公司推荐!

引言母线槽作为电力系统中重要的输电设备,其质量与性能直接关系到电力传输的安全与稳定。当前,母线槽市场规模不断扩大,但行业内也存在诸多问题。部分源头厂家缺乏规范的生产标准,为降低成本使用劣质材料,导致产品…

2025 年衬氟鹤管源头厂家 TOP 企业品牌推荐排行榜,天然气 / 低温 / LNG / 撬装 / 底装 / 火车 / 装卸车 / 上装 / 衬氟 / 下装鹤管公司推荐这 10 家

在化工、医药等行业的液体储运与装卸环节,衬氟鹤管扮演着至关重要的角色。其因具备出色的耐腐蚀性能,成为输送腐蚀性液体介质的关键设备。然而,当前市场上衬氟鹤管产品质量参差不齐,部分厂家为追求成本效益,在材料…

2025 铜覆钢圆钢生产商厂家 TOP 企业品牌推荐榜单,铜覆钢接地极 / 棒 / 圆钢 / 扁钢 / 圆线 / 绞线 / 角钢 / 扁铁 / 管公司推荐这 10 家

引言在当今的电力、石油化工、通讯等众多领域,铜覆钢圆钢作为重要的接地材料,其质量与性能直接关系到相关工程的安全与稳定。然而,当前铜覆钢圆钢行业却面临着诸多问题。市场上产品质量参差不齐,部分生产商为追求利…

2025 年喷雾干燥机厂家 TOP 企业品牌推荐排行榜,无锡 / 常州喷雾干燥机 / 离心式 / 压力式 / 气流 / 造粒 / 有机溶剂 / 闭路循环 / 闭式循环 / 实验喷雾干燥机公司推荐!

引言当前喷雾干燥机行业在发展过程中面临诸多问题,一方面,随着精密陶瓷、半导体材料、新能源粉体等高端材料制造领域需求不断提升,对喷雾干燥机的精度、稳定性以及能耗等方面提出了更高要求,然而部分厂家因技术积累…

医院网站建设台账郑州厉害的seo顾问公司

1、99 公益日活动加速任务已全部完成适配&#xff0c;空间公益说说和评论并分享小世界内容任务在已有的功能上进行挂机&#xff0c; 其中【发小世界】功能暂时更名为【公益小世界】。 2、上线新功能【公益答题】用于完成参加 Qbox 公益答题任务&#xff0c;等级套装有任意一项…

2025 年工业吊扇最新推荐权威排行榜:TOP5 优质品牌全面解析,助力企业高效选购

在工业生产场景中,工业吊扇是调节大型空间通风、改善作业环境的核心设备,广泛应用于厂房、仓库、物流中心等场所。但当前市场品牌繁杂,部分产品存在能耗偏高、运行稳定性差、安全防护不到位等问题,且不同品牌在技术…

实用指南:HTTPS协议原理

实用指南:HTTPS协议原理2025-10-01 19:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…

2025 同步带源头厂家 TOP 排行榜单公示,碳纤维 / 高扭矩碳纤维 / 高强力 / 保力强 / 摩托车 / 自行车同步带公司推荐

在工业传动领域,同步带作为连接动力与设备的关键部件,其品质直接关系到生产效率与设备寿命。当前市场上,源头厂家数量众多,但产品质量却存在明显差异。部分厂家为追求成本优势,在原材料选用和生产工艺上偷工减料,…