admin 管理员组文章数量: 1184232
| 本实验属于哪门课程? | 中国海洋大学25夏《移动软件开发》 |
| 实验名称? | 实验3:微信小程序云开发垃圾分类 |
| 博客地址? | 2025年夏季《移动软件开发》实验报告-CSDN博客 |
| Github仓库地址? | boken319/wxapp (github) |
(备注:将实验报告发布在博客、代码公开至 github 是 加分项,不是必须做的)
一、实验目标
学习微信小程序云开发的基础知识。能够完成利用文本搜索的功能就好,图像识别、语音识别接口有时有问题,不强求。
二、实验步骤
列出实验的关键步骤、代码解析、截图。
2.1 准备工作
配置百度云图像识别
注册百度智能云,进行实名认证, 创建一个图像识别应用, 接口选择为图像识别全选。
记录自己创建的应用的API Key和 SECRET Key, 此时成功创建资源
使用微信开发者工具创建一个云开发环境, 并复制环境ID
2.2 创建小程序
2.2.1 导入微信开发者工具
在项目中导入文件并选择使用微信云开发。
2.2.2 设置百度的API KEY \ SECRET 和 小程序appid,和 云环境ID
project.config.json 的appid 改为 导入项目中的AppID
将 app.js 中的env 设置为环境id
设置search.js 为从百度云申请的apisecret 和apikey
2.2.3 将云函数上传并部署到云端
将cloudfuntions文件夹下面的子文件夹都上传并部署云端依赖
需要注意当四个文件夹均为绿色代表部署成功
2.2.4 部署云数据库
点击小程序开发工具的云开发==>点击数据库
点击左侧集合名称右侧的加号,创建集合trash, type,依次导入trash.json, type.json文件
需要注意trash.json, type.json 处于垃圾分类数据集里,进行解压并导入
三、程序运行结果
本次实验重点验证了垃圾分类小程序的文本搜索功能,整体运行情况如下:
3.1 小程序主界面展示
启动微信开发者工具后,小程序成功加载并显示主界面,包含底部导航栏(“分类”“搜索”“我的” 三个入口)。点击 “分类” 可查看四大类垃圾的基础信息(可回收物、湿垃圾、有害垃圾、干垃圾),界面布局与设计符合预期。
3.2 文本搜索功能验证
在 “搜索” 页面(如图 2),通过以下操作验证核心功能:
-
输入搜索:在搜索栏中输入 “苹果核”,点击搜索按钮后,小程序快速返回结果弹窗,显示 “厨余垃圾”,并附带投放提示 “易腐烂的生活废弃物,建议沥干水分后投放”(如图 3)。
-
热门搜索点击:点击页面中的热门搜索词条(如 “废旧电池”),立即弹出 “有害垃圾” 分类结果,提示 “含有毒物质,需单独投放至有害垃圾收集容器”(如图 4)。
-
无结果处理:输入不存在于数据库中的内容(如 “测试垃圾”),小程序显示 “未找到相关垃圾信息,请尝试其他关键词” 的提示(如图 5)。
验证结果表明,文本搜索功能可稳定查询数据库中已存储的垃圾信息,响应速度较快(平均 1-2 秒),分类结果准确。
3.3 其他功能状态
1.图像识别功能:点击搜索栏左侧的扫描按钮后,可唤起相机或图片选择界面,但因百度 API 接口偶尔出现权限或网络问题,部分情况下识别失败(提示 “识别超时” 或 “API 调用失败”),未作为核心验证目标。
使用百度云功能后记得要即使关闭,否则会产生额外付费问题
四、问题总结与体会
4.1 实验过程中遇到的问题及解决方法
-
问题 1:云函数部署不完整,仅单个文件成功
-
现象:仅上传了
cloudfunctions下的一个子文件夹进行云端部署,导致依赖该云函数的功能(如数据库查询、百度 API 调用)无法运行。 -
解决方法:对
cloudfunctions文件夹下的所有子文件夹,依次右键选择 “上传并部署(不上传 node_modules)”,直至所有云函数文件夹显示为绿色,确认全部部署成功。
-
-
问题 2:百度智能云未实名认证,无法使用 API
-
现象:注册百度智能云并创建图像识别应用后,调用 API 时提示 “权限不足”。
-
解决方法:完成百度智能云的实名认证流程,之后重新创建图像识别应用,成功获取可用的
API Key和SECRET Key。
-
-
问题 3:图像识别功能跨端(手机 / 电脑)一致性差
-
现象:调试图像识别时,有时手机端能成功识别,有时电脑端(微信开发者工具)能成功,稳定性不足。
-
解决方法:多次调试(检查网络环境是否稳定、确认微信开发者工具与手机端的调试模式是否一致、重启工具和设备),虽未完全消除偶发问题,但明确了设备与网络环境差异会对图像识别功能的稳定性产生影响。
-
-
问题 4:文本搜索无结果,数据库查询返回空
-
现象:输入正确垃圾名称(如 “塑料瓶”),搜索结果显示 “未找到”。
-
解决方法:在云开发控制台的 “数据库” 页面,将
trash和type集合的权限修改为 “所有用户可读,仅创建者可写”,重新搜索后正常返回结果。
-
4.2 收获与体会
-
微信小程序云开发的核心流程 掌握了云函数的部署规范(需批量确保所有相关函数部署成功),以及云数据库的权限配置与数据访问逻辑—— 通过调整集合权限,实现前端对数据库的有效读取,体会到云开发 “无需自建服务器,快速实现前后端协同” 的优势。
-
第三方 API 集成的关键要点 明确了集成第三方服务(如百度图像识别)的前置条件(如平台实名认证),以及密钥(
API Key、SECRET Key)的精准配置方法—— 需仔细复制密钥到小程序代码(如search.js),才能保证 API 调用的合法性;同时认识到网络、设备环境会影响 API 调用的稳定性。 -
数据集与云数据库的协同使用 理解了垃圾分类数据集(
trash.json、type.json)与云数据库的关系:通过 “准备数据集→在云开发控制台创建trash/type集合→导入数据集” 的流程,为文本搜索功能提供 “垃圾名称 - 分类” 的映射数据支撑,体会到数据是查询类应用(如垃圾分类搜索)的核心基础。
版权声明:本文标题:2025年夏季《移动软件开发》实验报告 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1766531427a3467300.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论