# 项目名称
项目介绍

## 目录
- [安装指南](#一、安装指南) 
    - [克隆项目](#克隆项目) 
    - [准备工作](#准备工作)
    - [ffmpeg安装](#ffmpeg安装) 
    - [安装依赖](#安装依赖)
    - [配置](#配置)
        - [运行目录](#运行目录)
        - [apache](#apache)
        - [nginx](#nginx)
        - [.env](#env)
- [数据库](#二、数据库)
- [网站初始信息](#三、初始信息)


## 一、安装指南
### 克隆项目
```bash
git clone http://47.76.126.2:3000/seven/bot-28.git
```
### 准备工作
需要先安装好运行环境，推荐使用宝塔服务器，安装LNMP的架构，建议使用nginx作为服务器，不建议使用apache。需要安装以下软件：


PHP 需要安装扩展：`php_openssl`  `php_gd`  `php_curl`  `php_gmp`  `php_fileinfo`  `php_zip`  `php_pdo_mysql`

|  所需环境 | 版本 | 备注 | 推荐版本 |
|---------|----|----|---|
| linux    | \>= 7.0 |     | 7.9 |
| nginx    | \>= 1.17 |     | 最新的 |
| php | \>= 8.0.2 |   8.0.2 ~ 8.2   | 8.2.9 |
| mysql    | \>= 5.7 | 必须要5.7及以上     | 5.7 |
| node     | >= 22 
### 安装依赖
```bash
# 安装依赖
composer install

# 创建符号链接
php artisan storage:link
```
### 配置
- #### 运行目录：
    - 部署完成后，请修改 【运行目录】 为 `public` ，这里以宝塔为例：
    ![这是图片](public/static/img/1.png)

- #### apache：
```apache
<IfModule mod_rewrite.c>
        Options +FollowSymlinks -Multiviews
        RewriteEngine on
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>

# 可根据实际情况进行修改
<IfModule mod_headers.c>
        Header set Accept-Ranges bytes
        Header set Access-Control-Allow-Origin "*"
        Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
        Header set Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With"
        Header set Access-Control-Allow-Credentials "true"
</IfModule>
```
- #### nginx：
```nginx
location / {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Max-Age' 3600;

        if ($request_method = 'OPTIONS') {
            # OPTIONS 请求直接返回 200
            return 204;
        } 

        #try_files $uri $uri/ /index.php?$query_string;        
        if (!-e $request_filename) {
            rewrite ^/index.php(.*)$ /index.php?s=$1 last;
            rewrite ^(.*)$ /index.php?s=$1 last;
            break;
        }
}
```
- #### .env：
    (1) 将 `example.env` 重命名为 `.env`
    
    (2) 修改以下配置项
```bash
# 以下配置仅为示例

# App
APP_NAME=lovingtalk
APP_DEBUG=false
APP_URL=http://localhost:8080

# 数据库
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bot
DB_USERNAME=root
DB_PASSWORD=123456
DB_PREFIX=bot_

# 电子邮件
MAIL_MAILER=smtp
MAIL_ENCRYPTION=tls
MAIL_PORT=587
MAIL_FROM_NAME="${APP_NAME}"
MAIL_HOST=
MAIL_FROM_ADDRESS=""
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_EXP=600  # 邮件验证码有效期(秒)
```


## 二、数据库
<!-- 首次部署请依次导入以下文件，增量更新请根据实际情况导入即可。-->
- 请依次导入以下文件

|序号|文件|说明|
|---|---|---|
|1|[/sql/sql_prod.sql](/sql/sql_prod.sql)|初始数据|

## 三、初始信息
- 通过部署的域名访问程序后台系统，登录后请及时修改密码！！！
- 初始账号密码： 
    - 用户名：`admin`
    - 密码：`123456`
`注意：登录后请及时修改管理员密码，防止泄露。`

## 四、设置机器人回调地址、菜单等
- .env设置机器人信息
- 访问 https://域名/api/setWebHook

## 五、定时任务每5秒执行
- 先创建队列表
    - php artisan queue:table
    - php artisan migrate
- 修改.env配置 使用数据库做队列
    QUEUE_CONNECTION=database
- php artisan 命令 将本程序加到命令里

## 六、安装wkhtmltopdf网页图片
- apt install wkhtmltopdf
- yum install wkhtmltopdf

## 七、支付配置

    







