chore: 添加静态资源文件和版本配置文件
添加大量图片、字体、音频等静态资源文件,包括用户界面图片、模板文件和安装界面素材 添加系统版本配置文件(.version)和常量定义文件(.constant) 更新供应商依赖文件,包括Symfony VarDumper组件和相关许可证文件 添加验证码配置文件(captcha.php)和.gitignore规则
This commit is contained in:
57
.trae/documents/analysis_plan.md
Normal file
57
.trae/documents/analysis_plan.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# 接口分析报告:/api/share
|
||||
|
||||
## 1. 接口概述
|
||||
- **URL**: `https://shop.douba.top/api/share`
|
||||
- **Method**: `GET`
|
||||
- **功能**: 获取微信分享所需的配置信息(图片、标题、简介)。
|
||||
|
||||
## 2. 路由定义
|
||||
- **文件**: [route/api.php](file:///home/jone/workspace/CRMEB_PRO/route/api.php)
|
||||
- **代码位置**: `Route::get('share', 'v1.PublicController/share')->name('share');`
|
||||
- **中间件**:
|
||||
- `StationOpenMiddleware`: 检查站点是否开启。
|
||||
- `AuthTokenMiddleware` (参数: `false`): 尝试获取用户信息,但不强制登录。
|
||||
|
||||
## 3. 控制器实现
|
||||
- **文件**: [app/controller/api/v1/PublicController.php](file:///home/jone/workspace/CRMEB_PRO/app/controller/api/v1/PublicController.php)
|
||||
- **类**: `PublicController`
|
||||
- **方法**: `share`
|
||||
- **代码逻辑**:
|
||||
```php
|
||||
public function share()
|
||||
{
|
||||
// 1. 获取分享图片配置
|
||||
$data['img'] = sys_config('wechat_share_img');
|
||||
// 2. 处理图片链接:如果是相对路径,拼接站点域名
|
||||
if ($data['img'] && strstr($data['img'], 'http') === false) {
|
||||
$data['img'] = sys_config('site_url') . $data['img'];
|
||||
}
|
||||
$data['img'] = str_replace('\\', '/', $data['img']);
|
||||
// 3. 获取分享标题和简介
|
||||
$data['title'] = sys_config('wechat_share_title');
|
||||
$data['synopsis'] = sys_config('wechat_share_synopsis');
|
||||
// 4. 返回 JSON 响应
|
||||
return app('json')->successful($data);
|
||||
}
|
||||
```
|
||||
|
||||
## 4. 业务逻辑流程
|
||||
1. **请求接收**: 客户端发起 `GET` 请求。
|
||||
2. **路由匹配**: 匹配到 `v1.PublicController/share`。
|
||||
3. **中间件处理**: 验证站点状态,尝试获取用户身份(非强制)。
|
||||
4. **控制器执行**:
|
||||
- 调用 `sys_config` 读取 `wechat_share_img`。
|
||||
- 补全图片 URL(依赖 `site_url` 配置)。
|
||||
- 调用 `sys_config` 读取 `wechat_share_title` 和 `wechat_share_synopsis`。
|
||||
5. **响应返回**: 数据封装为标准 JSON 格式。
|
||||
|
||||
## 5. 数据来源
|
||||
- 数据主要来源于 `system_config` 表,通过 `sys_config()` 辅助函数读取。
|
||||
- 涉及配置项:
|
||||
- `wechat_share_img`: 微信分享图片
|
||||
- `wechat_share_title`: 微信分享标题
|
||||
- `wechat_share_synopsis`: 微信分享简介
|
||||
- `site_url`: 网站域名
|
||||
|
||||
## 6. 调用链总结
|
||||
`Client` -> `Route (/api/share)` -> `Middleware (StationOpen, AuthToken)` -> `PublicController::share()` -> `sys_config (Read Config)` -> `JSON Response`
|
||||
18
.trae/documents/fix_database_connection.md
Normal file
18
.trae/documents/fix_database_connection.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# 数据库连接异常分析与修复方案
|
||||
|
||||
## 问题分析
|
||||
报错信息 `SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)` 表明系统正尝试使用空密码连接数据库,但被拒绝。
|
||||
|
||||
经过排查发现:
|
||||
1. 项目根目录下的 `.env` 文件中配置了正确的数据库密码 (`PASSWORD = dblink`)。
|
||||
2. 但是,该 `.env` 文件使用了 **Mac Classic (CR, \r)** 格式的换行符,而不是标准的 Unix (LF, \n) 或 Windows (CRLF, \r\n) 格式。
|
||||
3.这种非标准的换行符导致 PHP 的环境配置解析库无法正确识别文件内容,将整个文件视为一行,从而无法读取到 `DATABASE_PASSWORD` 等关键配置。
|
||||
4. 由于读取不到密码,系统回退到默认的空密码尝试连接,最终导致了上述权限错误。
|
||||
|
||||
## 修复计划
|
||||
我们将执行以下步骤来修复此问题:
|
||||
|
||||
1. **转换文件格式**:将 `.env` 文件的换行符从 CR 转换为标准的 LF (Unix 格式)。
|
||||
2. **验证修复**:确认文件内容已正确分行,且应用能够正常连接数据库。
|
||||
|
||||
此修复不涉及代码逻辑修改,仅修正配置文件的格式问题。
|
||||
Reference in New Issue
Block a user