<?php

namespace app\api\controller;

use app\common\controller\Api;
use think\Db;
use app\common\library\Uploadvideo;
use app\utils\RedisKeyEnum;
use app\utils\RedisUtil;
/**
 * 示例接口
 */
class Demo extends Api
{

    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['*'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['test2'];

    /**
     * 测试方法
     *
     * @ApiTitle    (测试名称)
     * @ApiSummary  (测试描述信息)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/demo/test/id/{id}/name/{name})
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="integer", required=true, description="会员ID")
     * @ApiParams   (name="name", type="string", required=true, description="用户名")
     * @ApiParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturnParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
     * @ApiReturn   ({
         'code':'1',
         'msg':'返回成功'
        })
     */
    public function test()
    {
        $params = [
            'video_file' => '/uploads/20241101/b472251c04af8842b14f6c15a57fca9b.mp4',
            'title' => '测试',
        ];
        $full_filepath = config('upload.cdnurl').$params['video_file'];

        $uploadvideo = new Uploadvideo();
        $res = $uploadvideo->testUploadWebVideo($full_filepath,$params['title']);
        $params['vodid'] = $res;
    }

    //因后缀问题被拒了
    public function test33()
    {
        $params = [
            'video_file' => 'C:\Windows\Temp\php4F8B.tmp',
            'title' => '测试'.rand(10,99),
        ];
        $full_filepath = $params['video_file'];

        $uploadvideo = new Uploadvideo();
        $res = $uploadvideo->testUploadLocalVideo($full_filepath,$params['title']);
        $params['vodid'] = $res;
    }

    /**
     * 无需登录的接口
     *
     */
    public function test1()
    {
        RedisUtil::getInstance('test'.date('Y-m-d'))->incrby_expire(3,86400);
    }

    /**
     * 需要登录的接口
     *
     */
    public function test2()
    {
        $data = [
            [
                'id'     => 1,
                'answer' => 'A',
            ],
            [
                'id'     => 2,
                'answer' => 'B',
            ],
        ];
        echo json_encode($data);
    }

    /**
     * 需要登录且需要验证有相应组的权限
     *
     */
    public function test3()
    {
        $this->success('返回成功', ['action' => 'test3']);
    }

}