bc518174
王天杨
提交两个项目文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# 稻城亚丁 · 项目说明与本地启动
本仓库为 **三端一体**:`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** 再试。
|