chore: 添加静态资源文件和版本配置文件

添加大量图片、字体、音频等静态资源文件,包括用户界面图片、模板文件和安装界面素材
添加系统版本配置文件(.version)和常量定义文件(.constant)
更新供应商依赖文件,包括Symfony VarDumper组件和相关许可证文件
添加验证码配置文件(captcha.php)和.gitignore规则
This commit is contained in:
2026-03-06 20:14:23 +08:00
commit c9a98f342c
4485 changed files with 490986 additions and 0 deletions

View 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`