一个面向植物识别与生态知识科普的微信小程序。用户可以拍照或从相册选择图片,获取植物名称、分类、形态特征、生长环境及生态关联信息,并管理个人识别历史。
- 图片识别:接入豆包视觉模型,返回结构化植物信息
- 生态知识:展示相关动物、微生物及植物在生态系统中的作用
- 完整业务闭环:注册登录、图片上传、识别结果、历史记录与个人资料
- 云端存储:使用腾讯云 COS 保存识别图片和用户头像
- 前后端分离:微信小程序前端 + FastAPI REST API + MySQL
- 前端:微信小程序原生 JavaScript、WXML、WXSS
- 后端:Python、FastAPI、Uvicorn、Pydantic
- 数据库:MySQL
- AI:火山引擎 Ark(豆包视觉模型)
- 对象存储:腾讯云 COS
.
├── wxapp/ # 微信小程序前端
├── python/ # FastAPI 后端
│ ├── main.py # API 与业务逻辑
│ ├── resources/ # 数据库、云存储和配置
│ ├── static/ # 静态资源
│ └── requirements.txt
├── zhiwushibie.sql # MySQL 表结构与演示数据
└── 功能说明.md # 页面功能说明
- Python 3.10+
- MySQL 5.7+
- 微信开发者工具
- 腾讯云 COS 与火山引擎 Ark 的有效凭据
创建数据库并导入:
CREATE DATABASE zhiwushibie CHARACTER SET utf8mb4;然后导入 zhiwushibie.sql。
cd python
python -m venv .venv
# Windows
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env
python start.py编辑 .env,填写本地数据库、腾讯云 COS 和 Ark 配置。.env 已被 Git 忽略,请勿提交真实密钥。
后端默认运行在 http://127.0.0.1:8002,FastAPI 接口文档位于 http://127.0.0.1:8002/docs。
- 使用微信开发者工具导入
wxapp目录。 - 在
wxapp/request.js中设置后端地址;本地调试默认使用http://127.0.0.1:8002。 - 在开发者工具中开启本地调试,编译运行。
- 手机号注册、验证码与登录
- 拍照/相册选择植物图片
- AI 植物识别与生态信息展示
- 识别历史查询、详情与删除
- 头像上传与昵称修改
- 所有云服务和数据库凭据均通过环境变量加载。
- 仓库不包含本地
.env、虚拟环境、运行日志、上传文件和微信开发者私有配置。 - 当前项目为学习与作品集用途;生产部署前应增加密码哈希、正式短信验证、访问令牌过期机制和更严格的接口鉴权。
大学生创新项目,目标是将计算机视觉识别与植物生态关系科普结合,帮助用户从“识别是什么植物”进一步了解其生态价值。