Files
2026-03-17 09:56:06 +08:00

203 lines
6.9 KiB
PHP

<?php
namespace app\api\controller;
use app\common\controller\Api;
use app\common\model\Invitation;
use think\Validate;
/**
* 示例接口
*/
class Demo extends Api
{
//如果$noNeedLogin为空表示所有接口都需要登录才能请求
//如果$noNeedRight为空表示所有接口都需要验证权限才能请求
//如果接口已经设置无需登录,那也就无需鉴权了
//
// 无需登录的接口,*表示全部
protected $noNeedLogin = ['test', 'test1', 'apply'];
// 无需鉴权的接口,*表示全部
protected $noNeedRight = ['test2','apply','invitation'];
/**
* 测试方法
*
* @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':'返回成功'
})
*/
/**
* 提交邀请
*
* @ApiMethod (POST)
*/
public function apply()
{
$params = request()->post();
$mobile = $this->request->post('mobile');
if ($mobile) {
$exists = \app\common\model\Invitation::where('mobile', $mobile)->find();
if ($exists) {
//$this->error();
$this->success(__('Username already invited'));
}
else{
$dine = $params['dine'];
$attendees = $params['attendees'];
//echo print_r($dine)."<pre>==". print_r($attendees); die;
$feeData = array(
'username'=>$this->request->post('username'),
'company'=>$this->request->post('company'),
'position'=>$this->request->post('position'),
'mobile'=>$this->request->post('mobile'),
'hometown'=>$this->request->post('hometown'),
'gender'=>$this->request->post('gender'),
'is_member'=>$this->request->post('is_member'),
//'pay_member'=>$params['pay_member'],
'dine'=>json_encode($dine, JSON_UNESCAPED_UNICODE),
'attendees'=>json_encode($attendees, JSON_UNESCAPED_UNICODE)
);
$invitation = new Invitation;
try {
$result = $invitation->allowField(true)->save($feeData);
if ($result !== false) {
$this->success();
} else {
$this->error($row->getError());
}
} catch (\think\exception\PDOException $e) {
$this->error($e->getMessage());
} catch (\think\Exception $e) {
$this->error($e->getMessage());
}
}
}
}
public function test()
{
$this->success('返回成功', $this->request->param());
}
/**
* 无需登录的接口
*
*/
public function test1()
{
$this->success('返回成功', ['action' => 'test1']);
}
/**
* 需要登录的接口
*
*/
public function test2()
{
$this->success('返回成功', ['action' => 'test2']);
}
/**
* 需要登录且需要验证有相应组的权限
*
*/
public function test3()
{
$this->success('返回成功', ['action' => 'test3']);
}
public function invitation()
{
$params = request()->post();
/* $username = $this->request->post('username');
$company = $this->request->post('company');
$position = $this->request->post('position');
$hometown = $this->request->post('hometown');
$gender = $this->request->post('gender');
$is_member = $this->request->post('is_member');
$attendees = $this->request->post('attendees');
if (!$username) {
$this->error(__('Invalid parameters'));
}
if ($mobile && !Validate::regex($mobile, "^1\d{10}$")) {
$this->error(__('Mobile is incorrect'));
}*/
$mobile = $this->request->post('mobile');
$mobile = '13246777081';
if ($mobile) {
$exists = \app\common\model\Invitation::where('mobile', $mobile)->find();
if ($exists) {
//$this->error();
$this->success(__('Username already invited'));
}
else{
$dine = $this->request->post('dine');
$attendees = $this->request->post('attendees');
$feeData = array(
'username'=>$this->request->post('username'),
'company'=>$this->request->post('company'),
'position'=>$this->request->post('position'),
'mobile'=>$this->request->post('mobile'),
'hometown'=>$this->request->post('hometown'),
'gender'=>$this->request->post('gender'),
'is_member'=>$this->request->post('is_member'),
//'pay_member'=>$params['pay_member'],
'dine'=>json_encode($dine, JSON_UNESCAPED_UNICODE),
'attendees'=>json_encode($attendees, JSON_UNESCAPED_UNICODE)
);
$invitation = new Invitation;
try {
$result = $invitation->allowField(true)->save($feeData);
if ($result !== false) {
$this->success();
} else {
$this->error($row->getError());
}
} catch (\think\exception\PDOException $e) {
$this->error($e->getMessage());
} catch (\think\Exception $e) {
$this->error($e->getMessage());
}
}
}
}
}