# 稻城亚丁 · 项目说明与本地启动 本仓库为 **三端一体**:`uniapp`(用户端小程序/H5)、`backend`(ThinkPHP 8 API)、`admin-web`(管理后台)。 --- ## 环境要求 | 端 | 需要 | |----|------| | 后端 | PHP 8+、Composer、**pdo_mysql**(`php.ini` 启用 `extension=php_pdo_mysql`)、MySQL | | 前端 | Node.js(建议 LTS) | 数据库:在 MySQL 中执行 `backend/database/install.sql` 初始化表与演示数据(脚本内已含 `CREATE DATABASE` / `USE daocheng`,可按需改库名)。 --- ## 1. 后端 `backend`(必须先启动,默认端口 **9898**) 与 `uniapp/.env.development`、`admin-web` 的 Vite 代理一致,后端建议监听 **9898**。 ```bash cd backend copy .example.env .env # 编辑 .env,配置 DB_HOST、DB_NAME、DB_USER、DB_PASS、DB_PREFIX=dc_ 等 composer install php think run -p 9898 ``` - 接口前缀:`/api/v1`(小程序)、`/admin/v1`(管理端)。 ### 微信小程序「微信一键登录」 若点击登录提示 **未配置 AppID/Secret**,请在 **`backend/.env`** 中配置(不要提交到 Git): ```env WECHAT_MINI_APPID = 你的小程序AppID WECHAT_MINI_SECRET = 你的小程序AppSecret ``` - AppID / AppSecret 在 [微信公众平台](https://mp.weixin.qq.com) → **开发** → **开发管理** → **开发设置** 中查看;AppSecret 若未生成需先重置并保存。 - 须与微信开发者工具里该项目的 **AppID** 一致,保存 `.env` 后 **重启** `php think run`。 - 不配这两项时,仍可使用登录页的 **游客进入**(走 `client_id` 换票)。 --- ## 2. 管理后台 `admin-web` ```bash cd admin-web npm install npm run dev ``` 浏览器访问:**http://localhost:5174**(`/admin`、`/uploads` 由 Vite 代理到 `http://127.0.0.1:9898`)。 默认管理员见数据库初始化脚本(如 `admin` / `admin123`,首次登录后请修改)。 --- ## 3. 用户端 `uniapp` ```bash cd uniapp npm install ``` | 场景 | 命令 | |------|------| | H5 开发(浏览器) | `npm run dev:h5` | | 微信小程序 | `npm run dev:mp-weixin`,用微信开发者工具导入编译目录(一般为 `dist/dev/mp-weixin`,以终端提示为准) | API 地址:`uniapp/.env.development` 中的 `VITE_API_BASE_URL`(默认 `http://127.0.0.1:9898`)。编译小程序时 Vite 会把 `127.0.0.1` 换成局域网 IP;**若与你在 Apifox 里填的 IP 不一致**(多网卡常见),请在同一文件设置 `VITE_API_LAN_IP` 为该机在局域网中的 IPv4,保存后重新执行 `npm run dev:mp-weixin`。 微信开发者工具本地调试:请在 **详情 → 本地设置** 勾选 **不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书**,否则 HTTP 或自签 HTTPS 会失败。真机体验版/正式版需 HTTPS 合法域名并在公众平台配置 request 域名。 --- ## 推荐启动顺序 1. MySQL 可用,已导入 `backend/database/install.sql` 2. 终端一:`backend` → `php think run -p 9898` 3. 终端二(可选):`admin-web` → `npm run dev` 4. 终端三:`uniapp` → `npm run dev:h5` 或 `npm run dev:mp-weixin` --- ## 目录结构(简要) ``` 稻城亚丁小程序/ ├── backend/ # ThinkPHP 8,API ├── admin-web/ # Vue3 + Element Plus 管理端 ├── uniapp/ # uni-app 用户端(可出微信小程序/H5) └── README.md # 本文件 ``` --- ## Windows PHP 扩展说明 若登录或接口报数据库相关错误,在命令行执行 `php --ini` 找到 `php.ini`,确认 `extension_dir` 指向 `ext` 目录,并启用 `php_pdo_mysql.dll`;缺少 VC++ 运行库时需安装 **Visual C++ 2015–2022 x64** 再试。