# lexuedianping **Repository Path**: mobilecode/lexuedianping ## Basic Information - **Project Name**: lexuedianping - **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-08-09 - **Last Updated**: 2026-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 牛同桌探店(uni-app x) 校园美食点评小程序/App 前端工程,基于 **uni-app x**(UTS + UVue)开发,可编译到微信小程序、Android、iOS、HarmonyOS。 后端接口对接 `http://82.156.230.253:8081`(乐学 E 购后端网关),对应实现位于 `lexueyigou-backend` 的 user、message、merchant 服务。 ## 快速开始 1. 下载安装 [HBuilderX](https://www.dcloud.io/hbuilderx.html)(正式版,3.98+ 支持 uni-app x)。 2. HBuilderX 打开本目录 `lx_review`。 3. 项目被识别为 uni-app x 工程后: - 微信小程序:`运行 → 运行到小程序模拟器 → 微信开发者工具`(需先配置微信开发者工具的「服务端口」)。 - Android:`运行 → 运行到手机或模拟器 → 运行到 Android App 基座`。 - iOS:`运行 → 运行到手机或模拟器 → 运行到 iOS App 基座`。 - HarmonyOS:`运行 → 运行到鸿蒙`。 4. 真机联调需保证手机与服务器 `82.156.230.253` 网络互通;本地预览如出现图片/接口不通,请检查域名白名单与网络环境。 > 微信开发者工具中如提示「不在以下 request 合法域名列表中」,可在「详情 → 本地设置」勾选「不校验合法域名」(本项目 `manifest.json` 已默认关闭 `urlCheck`)。 ## 目录结构 ``` lx_review ├── manifest.json # uni-app x 工程配置(已含 "uni-app-x": {}) ├── pages.json # 页面路由(四个注册页使用自定义 tabBar,中间保留发布入口) ├── main.uts # 应用入口 ├── App.uvue # 应用生命周期 ├── uni.scss # 全局 SCSS 变量 ├── common/ │ ├── constants.uts # BASE_URL、图片前缀、token 存取、resolveImage │ └── request.uts # 统一请求封装(Bearer、401 跳登录、code!=200 toast) ├── models/ │ └── types.uts # 与后端 DTO 一一对应的数据模型 ├── api/ │ ├── auth.uts # 微信/手机号登录、getUserModel │ ├── file.uts # 图片/视频上传(图片支持串行批量) │ ├── note.uts # 笔记/评论/点赞/关注/搜索/统计 │ └── merchant.uts # 商家/评价/打卡 ├── components/ │ ├── app-navbar/ # 自定义导航栏(所有页面 navigationStyle: custom) │ ├── empty-state/ # 空状态占位 │ ├── rating-input/ # 星级评分(v-model) │ ├── image-uploader/ # 图片选择 + 上传(v-model,1-9/1-6 张) │ ├── note-card/ # 笔记瀑布流卡片 │ ├── merchant-card/ # 商家卡片 │ └── lx-video-player/ # 沉浸式视频播放器 └── pages/ ├── home/ # 首页:搜索 + 分类/关注 + 瀑布流 + 四个快捷入口 ├── merchant-list/ # 找店 tab:分类、排序、商家列表 ├── message/ # 消息 tab:消息聚合与分类列表 ├── student-verify/ # 学生验证(发布前校验) ├── note-publish/ # 发布笔记 ├── profile/ # 我的 tab:信息 + 笔记/评价/打卡/喜欢 ├── merchant-select/ # 选择商家(发布时) ├── note-detail/ # 笔记详情 + 评论树/回复/点赞 ├── review-publish/ # 发布商家评价 ├── merchant-detail/ # 商家详情 + 打卡 + 评价列表 ├── relation-list/ # 关注/粉丝列表 └── login/ # 微信一键登录 / 手机号登录 ``` ## 功能清单 - 首页瀑布流笔记(搜索关键词、一级分类、只看关注) - 搜索联想词、搜索历史(查看/清空) - 发布笔记(关联商家 + 标题 + 图文,最多 9 图) - 笔记详情:点赞、评论树展示、一级/多级回复、点赞评论、关注作者、跳商家 - 商家列表/详情:评分、月售、分类、优惠、营业时间;打卡;按商家查看评价 - 发布商家评价:综合/口味/包装三星评分 + 匿名 + 最多 6 图 - 我的:用户信息、关注/粉丝/获赞统计、我的笔记/评价/打卡/喜欢 - 关注/粉丝列表:昵称搜索、关注/取关 - 登录:微信一键登录(`uni.login` 取 code)+ 手机号+验证码登录 ## 本地回归检查 - `node scripts/static-check.js`:扫描 uni-app x 跨端高风险写法。 - `node --test tests/regression.test.js`:检查商家骨架、视频元数据兜底、详情返回标记、营业状态和上传失败提示等关键回归点。 - Android、iOS、HarmonyOS 平台编译仅在需要里程碑验证时执行。 ## 接口地址说明 - 统一走网关 `http://82.156.230.253:8081`,前端在 `common/constants.uts` 的 `BASE_URL` 配置(上线前改为 `PROD_BASE_URL`)。 - 图片相对路径统一拼接 `IMG_URL`(`…/enjoylearningnogames-services-file/file/view/`),`resolveImage()` 负责转换;后端返回完整 URL(如 `merchantPic`)时原样使用。 - 完整接口清单见 `docs/api.md`。 ## 当前接口边界 - 单条笔记详情复用 `listFoodNotes?noteId=` 取 `records[0]`,响应已包含作者、学校和关联商家展示信息。 - 商家打卡禁止重复提交;商家选择页打卡成功后即时提示,个人主页可查看服务端打卡记录。 - 已支持删除本人笔记、删除本人评价、他人主页、他人统计和个人简介持久化。 - 暂无独立发送短信验证码接口;手机号登录验证码沿用现有校方/管理端发放机制。 ## 目录说明与编码约定 - 页面默认不可滚动,列表页使用 `scroll-view` + `refresher-enabled` / `@scrolltolower` 实现下拉刷新与加载更多。 - 组件采用 easycom 自动注册(`components/组件名/组件名.uvue`),页面直接使用无需 import。 - 请求封装为回调风格:`request(options, success, fail)`,`code != 200` 自动 toast。 - 评分接口兼容后端 `score` 返回 `"0.0000"` 字符串的情况(`models/types.uts` 的 `toNumber`)。 ## 新环境初始化 需要在新电脑拉取乐学 E 购全套 Git 仓库时,参见 [`docs/新环境拉取仓库.md`](docs/新环境拉取仓库.md),或在克隆本仓库后运行: ```bash bash scripts/bootstrap-workspace.sh ```