# ai_tour **Repository Path**: sky_sky_up/ai_tour ## Basic Information - **Project Name**: ai_tour - **Description**: 小行迹——出游爱好者的智能伴游与行迹分享社区 - **Primary Language**: Unknown - **License**: Zlib - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-08-15 - **Last Updated**: 2026-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 导游小程序 · 任务3 AI 伴游微信小程序,任务3 竖切仓库(前端 + 后端)。 ## 仓库结构 ``` ai-tour/ apps/miniprogram/ 小程序端(任务3 组件,M2 落地) services/api/ 后端 Spring Boot API(任务3 已实现) packages/contracts/ OpenAPI 契约(唯一契约源) docs/ 开发方案等文档 ``` ## 任务3 范围 存储(本地)、离线包、个人偏好设置、当前导航状态、存储版本查询。 后端实现技术基线:Java 21 + Spring Boot 3 + MySQL 8.4 + MyBatis-Plus + Flyway。 ## 快速开始(后端) ```bash cd services/api docker compose up -d mysql # 启动 MySQL 8.4 mvn spring-boot:run # 启动 API,端口 8081 # Swagger UI: http://localhost:8081/swagger-ui.html ``` 联调接口头:`X-User-Id: 1`(开发期身份,正式鉴权由任务4 提供)。 ## COS 讲解音频(不使用 CDN) 数字人讲解直接从腾讯云 COS 桶 `chen-1469074295` 读取 HTTPS 音频。部署前需完成以下配置: 1. 在目标地域创建或确认该桶,并将地域记为 ``;设置后端环境变量: ```bash OBJECT_STORAGE_BASE_URL=https://chen-1469074295.cos..myqcloud.com ``` 2. 上传对象时采用版本化键名,例如 `narrations/2001/v2.mp3`。同一 POI 发布新文案或音频时更新对象键、时长、SHA-256,并由后台接口自动递增 `contentVersion`。 3. 为小程序用户提供音频对象的 HTTPS GET 权限。当前客户端直接使用公开 COS URL;若改为私有读,需要后端增加临时签名 URL 接口后再切换。 4. 在微信公众平台的「开发管理 / 开发设置 / 服务器域名」中登记该 COS HTTPS 域名;本地开发仍可使用开发者工具的「不校验合法域名」。 不要填入 COS SecretId 或 SecretKey 到仓库、`application.yml` 或小程序。当前尚未指定地域,因此不会提交可直接使用的生产 URL。 ## 契约 - `packages/contracts/task3-openapi.yaml` — 任务3 全部接口契约。 - 后续小程序端 TS 类型由该文件生成,禁止手写对不齐。 ## 第一版交接 完整的环境配置、启动顺序、演示账号、功能验收路径、五个核心模块现状与后续规划,见: - [`docs/05-测试与交付/项目交接与运行说明_v1.0.md`](docs/05-测试与交付/项目交接与运行说明_v1.0.md) 后台管理端启动: ```bash cd apps/admin-web npm ci npm run dev ``` 小程序端导入目录为 `apps/miniprogram`。当前开发期身份使用 `X-User-Id` 和演示账号,不能直接作为生产部署配置。