# program_experiment **Repository Path**: jackeekk/program_experiment ## Basic Information - **Project Name**: program_experiment - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-13 - **Last Updated**: 2026-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 花园博客小程序 一个基于uni-app + Django开发的花园主题社交小程序,集植物养护、博客分享、花园设计等功能于一体。 ## 项目概述 本项目是一个面向园艺爱好者的社交平台,用户可以: - 发布和浏览园艺相关的博客内容 - 使用AI功能进行植物识别、花园设计和智能养护 - 管理个人花园和植物养护日记 - 与其他园艺爱好者互动交流 ## 技术架构 ### 前端 - **框架**: uni-app (Vue 2/3) - **目标平台**: 微信小程序 - **开发工具**: HBuilderX - **样式**: SCSS/CSS ### 后端 - **框架**: Django 5.1.7 - **数据库**: MySQL - **云存储**: 阿里云OSS - **AI服务**: 阿里云DashScope ## 项目结构 ``` program_experiment/ ├── program_frontend/ # 小程序前端代码 │ ├── pages/ # 页面文件 │ │ ├── blog/ # 博客模块 │ │ ├── function/ # 功能中心模块 │ │ ├── home_page/ # 首页/个人中心模块 │ │ ├── log_register/ # 登录注册模块 │ │ ├── message/ # 消息中心模块 │ │ ├── public/ # 公共页面 │ │ └── write/ # 写博客模块 │ ├── component/ # 公共组件 │ ├── static/ # 静态资源 │ ├── App.vue # 应用入口 │ ├── main.js # 主入口文件 │ ├── pages.json # 页面配置 │ └── manifest.json # 应用配置 │ └── program_backend/ # Django后端代码 ├── config/ # 项目配置 ├── user/ # 用户模块 ├── blog/ # 博客模块 ├── garden/ # 花园模块 ├── interaction/ # 互动模块 └── utils/ # 工具类 ``` ## 模块说明 ### 前端模块 #### 1. 登录注册模块 (`pages/log_register/`) - **login.vue** - 用户登录页面,支持用户名密码登录 - **register.vue** - 用户注册页面 #### 2. 博客模块 (`pages/blog/`) - **blog_home.vue** - 博客首页,包含关注/发现双Tab切换、搜索功能、二级标签筛选(推荐/植物/季节/花园风格) - **blog_detail.vue** - 博客详情页面 #### 3. 功能中心模块 (`pages/function/`) - **function_center.vue** - 功能中心首页,展示三大核心功能入口 - **plant_recognize.vue** - 植物识别功能(AI识别植物种类) - **garden_design.vue** - 花园设计功能(AI辅助设计) - **intelligent_maintenance.vue** - 智能养护功能(AI提供养护建议) #### 4. 个人中心模块 (`pages/home_page/`) - **personal_center.vue** - 个人中心页面,展示用户信息、数据统计(关注/粉丝/获赞)、博客列表 - **garden_detail.vue** - 我的花园详情页面 #### 5. 消息中心模块 (`pages/message/`) - **message_center.vue** - 消息中心首页,包含赞和收藏、新增关注、评论、私信入口 - **like_detail.vue** - 赞和收藏详情 - **follow_detail.vue** - 新增关注详情 - **comment_detail.vue** - 评论详情 #### 6. 写博客模块 (`pages/write/`) - **write_blog.vue** - 发布博客页面 #### 7. 公共页面 (`pages/public/`) - **chat_interface.vue** - 私信聊天界面 - **photo_album.vue** - 相册页面 #### 8. 公共组件 (`component/`) - **blog_block.vue** - 博客卡片组件(待实现) - **chat_list.vue** - 聊天列表组件 ### 后端模块 #### 1. 用户模块 (`user/`) 数据模型: - **User** - 用户表,存储用户基本信息(用户名、密码、手机号、关注数、粉丝数等) - **SearchHistory** - 搜索历史记录表 - **UserAlbum** - 用户相册表,存储用户上传的植物照片 #### 2. 博客模块 (`blog/`) 数据模型: - **Blog** - 博客表,存储博客标题、内容、点赞数、收藏数、标签 - **BlogImage** - 博客图片表 - **Comment** - 评论表 - **CommentImage** - 评论图片表 #### 3. 花园模块 (`garden/`) 数据模型: - **Garden** - 花园表,关联用户,存储花园设计相关信息 - **GardenImage** - 花园图片表 - **PlantDiary** - 植物养护日记表,记录浇水、施肥、修剪等养护信息 - **PlantMemo** - 植物备忘录表,记录植物基本信息 #### 4. 互动模块 (`interaction/`) 数据模型: - **InteractionRecord** - 互动记录表,记录点赞、收藏、关注行为 - **Follow** - 关注关系表 #### 5. 工具模块 (`utils/`) - **imageUtil.py** - 阿里云OSS图片上传工具类,提供图片上传、删除、URL生成等功能 ## 核心功能 ### 1. 用户系统 - 用户注册/登录 - 个人信息管理 - 头像上传 ### 2. 博客系统 - 发布博客(支持图文) - 博客浏览(关注流/发现流) - 搜索功能(支持历史记录) - 标签分类(植物/季节/花园风格) ### 3. 互动系统 - 点赞/取消点赞 - 收藏/取消收藏 - 评论功能 - 关注/取消关注 - 私信功能 ### 4. AI功能 - **植物识别**: 拍照识别植物种类 - **花园设计**: AI辅助花园布局设计 - **智能养护**: 根据植物类型提供养护建议 ### 5. 花园管理 - 我的花园展示 - 植物养护日记 - 植物备忘录 - 相册管理 ## 配置文件说明 ### 后端配置 (`config/settings.py`) ```python # 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'garden_blog', 'USER': 'root', 'PASSWORD': 'mysql_5D3tm6', 'HOST': '110.42.45.244', 'PORT': '12827', } } # 阿里云OSS配置 ALIYUN_ACCESS_KEY_ID = "xxx" ALIYUN_ACCESS_KEY_SECRET = "xxx" ALIYUN_OSS_ENDPOINT = "oss-cn-shanghai.aliyuncs.com" ALIYUN_OSS_BUCKET_NAME = "lost-and-found" # 阿里云DashScope配置 DASHSCOPE_API_KEY = "xxx" ``` ### 前端配置 - **pages.json** - 页面路由配置、导航栏配置、TabBar配置 - **manifest.json** - 应用基本信息、权限配置、平台特定配置 ## 开发环境 ### 前端开发 1. 安装HBuilderX 2. 导入`program_frontend`项目 3. 运行到微信小程序模拟器 ### 后端开发 1. 安装Python 3.10+ 2. 安装依赖:`pip install django mysqlclient oss2` 3. 配置数据库连接 4. 运行迁移:`python manage.py migrate` 5. 启动服务:`python manage.py runserver` ## 数据库设计 ### 核心表结构 ``` user (用户表) ├── user_id (PK) ├── username ├── password ├── phone ├── subscribe (关注数) ├── fan (粉丝数) ├── like_and_collect ├── avator_url └── browse_rate blog (博客表) ├── blog_id (PK) ├── topic ├── content ├── like ├── collect └── tag garden (花园表) ├── garden_id (PK) ├── host (FK -> user) ├── best_distance └── best_image plant_diary (植物养护日记) ├── diary_id (PK) ├── plant_name ├── suitable_season ├── low/high (温度范围) ├── suitable_temperature ├── latest_irrigate ├── latest_fertilize ├── latest_trim ├── is_select └── garden (FK) ``` ## 待完善功能 1. **后端API接口** - 目前views.py为空,需要实现各模块的RESTful API 2. **前端API对接** - 需要完善前后端数据交互 3. **用户认证** - 需要集成JWT或其他认证机制 4. **AI功能实现** - 需要接入阿里云DashScope API 5. **组件完善** - blog_block.vue等组件待实现 ## 注意事项 1. 当前项目处于基础框架搭建阶段,部分功能尚未实现 2. 敏感配置(密钥、密码等)需要从settings.py中分离,使用环境变量管理 3. 生产环境需要配置ALLOWED_HOSTS和DEBUG=False 4. 需要配置跨域访问(CORS)以支持前后端分离开发 ## 许可证 本项目仅供学习和研究使用。