119 lines
3.8 KiB
PHP
119 lines
3.8 KiB
PHP
<?php
|
||
|
||
namespace app\api\controller;
|
||
|
||
use app\admin\model\school\help\Cate;
|
||
use app\common\controller\Api;
|
||
use app\common\job\test\DemoJob;
|
||
use app\common\model\appointment\car\MockOrder;
|
||
use bw\UrlLock;
|
||
use think\Cache;
|
||
|
||
/**
|
||
* 示例接口
|
||
*/
|
||
class Demo extends Api
|
||
{
|
||
|
||
//如果$noNeedLogin为空表示所有接口都需要登录才能请求
|
||
//如果$noNeedRight为空表示所有接口都需要验证权限才能请求
|
||
//如果接口已经设置无需登录,那也就无需鉴权了
|
||
//
|
||
// 无需登录的接口,*表示全部
|
||
protected $noNeedLogin = ['test', 'test1','test2'];
|
||
// 无需鉴权的接口,*表示全部
|
||
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()
|
||
{
|
||
\think\Queue::push(DemoJob::class, ["name"=>"hello world!"], "school");
|
||
$this->success('返回成功', $this->request->param());
|
||
}
|
||
|
||
/**
|
||
* 无需登录的接口
|
||
*
|
||
*/
|
||
public function test1()
|
||
{
|
||
|
||
try{
|
||
|
||
$lock = new UrlLock(1,"mock-create-lock-suffix",120,"您的请求过于频繁,请您稍后再试!请求最大锁定间隔5秒/一次!");
|
||
$lock->lock();
|
||
//往缓存里取出数字
|
||
$num = cache('test');
|
||
if(!$num){
|
||
$num = 1;
|
||
cache('test',$num);
|
||
}else{
|
||
$num++;
|
||
cache('test',$num);
|
||
}
|
||
//数字加1
|
||
//再存入缓存
|
||
//再写入test.txt文件末尾(记得回车换行)
|
||
file_put_contents("test.txt",$num."\r\n",FILE_APPEND);
|
||
|
||
}catch (\Throwable $e){
|
||
$lock->free();
|
||
// file_put_contents("test.txt",$e->getMessage().$e->getFile().$e->getLine());//写入文件,一般做正式环境测试
|
||
$this->error($e->getMessage());
|
||
}
|
||
$lock->free();
|
||
|
||
$this->success('返回成功', ['action' => 'test1']);
|
||
}
|
||
|
||
/**
|
||
* 需要登录的接口
|
||
*
|
||
*/
|
||
public function test2()
|
||
{
|
||
try{
|
||
|
||
$lock = new UrlLock(1,"mock-create-lock-suffix",120,"您的请求过于频繁,请您稍后再试!请求最大锁定间隔5秒/一次!");
|
||
$lock->lock();
|
||
var_dump(time());
|
||
sleep(5);
|
||
}catch (\Throwable $e){
|
||
$lock->free();
|
||
// file_put_contents("test.txt",$e->getMessage().$e->getFile().$e->getLine());//写入文件,一般做正式环境测试
|
||
$this->error($e->getMessage());
|
||
}
|
||
$lock->free();
|
||
|
||
$this->success('返回成功', ['action' => 'test1']);
|
||
}
|
||
|
||
/**
|
||
* 需要登录且需要验证有相应组的权限
|
||
*
|
||
*/
|
||
public function test3()
|
||
{
|
||
$this->success('返回成功', ['action' => 'test3']);
|
||
}
|
||
|
||
}
|