Go to file
lingling 6e6503ac2d feat: 新增用户手机号在线操作类,支持在线状态处理和批量更新 2025-03-21 20:49:57 +08:00
app feat: 新增用户手机号在线操作类,支持在线状态处理和批量更新 2025-03-21 20:49:57 +08:00
config 增加后端多语言 修复前端语言错误 2025-02-26 21:48:37 +08:00
database 第一次提交 2025-02-15 12:13:10 +08:00
plugin/admin 第一次提交 2025-02-15 12:13:10 +08:00
process feat: 修复 Task2 中在线时长记录逻辑,调整参数以正确保存在线时间 2025-03-16 12:02:34 +08:00
public feat: 优化提现金额验证逻辑,调整最低提现金额条件 2025-03-20 21:26:58 +08:00
resource/translations feat: 在中英文翻译中添加“提现频繁请三分钟后再试”提示信息 2025-03-09 15:08:10 +08:00
sql feat: 新增 2025-02-22 21:10:06 +08:00
support 第一次提交 2025-02-15 12:13:10 +08:00
tests feat: 增加 httpclient 方法的 token 参数,添加用户登录和提现的测试用例 2025-03-21 20:16:59 +08:00
.example.env 第一次提交 2025-02-15 12:13:10 +08:00
.gitignore 增加reame 2025-02-16 00:39:18 +08:00
LICENSE 第一次提交 2025-02-15 12:13:10 +08:00
README.md feat: 更新 README.md,添加 JwtToken.php 中缺失的授权信息异常处理说明 2025-03-16 12:47:30 +08:00
composer.json feat: 添加 PHPUnit 作为开发依赖并更新 Task2 中在线时长记录逻辑 2025-03-15 17:03:52 +08:00
composer.lock feat: 添加 PHPUnit 作为开发依赖并更新 Task2 中在线时长记录逻辑 2025-03-15 17:03:52 +08:00
start.php 第一次提交 2025-02-15 12:13:10 +08:00
testall.ps1 feat: 添加手机号在线历史归类功能,新增 UserPhoneDayLog 模型并优化数据处理逻辑 2025-03-17 19:22:33 +08:00
webman 第一次提交 2025-02-15 12:13:10 +08:00
windows.bat 第一次提交 2025-02-15 12:13:10 +08:00
windows.php 第一次提交 2025-02-15 12:13:10 +08:00

README.md

apidoc

http://127.0.0.1:8787/apidoc/index.html#/

Dev

win php windows.php
linux 

一些状态码

401 登录失效需要重新登录
402 通用错误

使用的一些插件地址

easy-sms  https://github.com/overtrue/easy-sms
webman命令行 https://www.workerman.net/plugin/1
php 解析html文档  https://simplehtmldom.sourceforge.io/docs/1.9/quick-start/

数据库放在sql目录下

NGINX配置

		location /api/ {
			add_header Access-Control-Allow-Origin *;
			add_header Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token,Jxudpappid";
			proxy_pass http://127.0.0.1:8787;
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
		}

JwtToken.php 需要修改成如下 搜索 private static function getTokenFromHeaders(): string 定位路径

 private static function getTokenFromHeaders(): string
    {
        // $authorization = !empty(request()->header('authorization'))?request()->header('authorization'):request()->header('token');
        $token1 = request()->header('Authorization');
        $token2 =request()->header('Token');
        $authorization_tmp = !empty($token1) ? $token1 : $token2;
        if(empty($authorization_tmp)){
            throw new JwtTokenException('请求未携带authorization信息');
        }
        // $authorization='Bearer '.$authorization_tmp;
        if (strpos($authorization_tmp,"Bearer ") === false) {
            $authorization= 'Bearer '.$authorization_tmp;
        }else{
            $authorization= $authorization_tmp;
        }
        if (!$authorization || 'undefined' == $authorization) {
            throw new JwtTokenException('请求未携带authorization信息');
        }

        if (self::REFRESH_TOKEN != substr_count($authorization, '.')) {
            throw new JwtTokenException('非法的authorization信息');
        }

        if (2 != count(explode(' ', $authorization))) {
            throw new JwtTokenException('Bearer验证中的凭证格式有误中间必须有个空格');
        }

        [$type, $token] = explode(' ', $authorization);
        if ('Bearer' !== $type) {
            throw new JwtTokenException('接口认证方式需为Bearer');
        }
        if (!$token || 'undefined' === $token) {
            throw new JwtTokenException('尝试获取的Authorization信息不存在');
        }

        return $token;
    }

安装包

composer i

phpunit 单元测试

./vendor/bin/phpunit --bootstrap support/bootstrap.php --testdox tests/TestUser.php