This commit is contained in:
lingling 2025-02-16 10:57:04 +08:00
parent b2af9b7817
commit 362f09cd38
7 changed files with 1087 additions and 1186 deletions

View File

@ -0,0 +1,71 @@
<?php
namespace app\controller\api;
use support\Request;
use App\Utils\ApiResponseApp;
use App\model\Signlog;
use hg\apidoc\annotation as Apidoc;
use support\Db;
/**
* @Apidoc\Title("用户签到控制器")
*/
class SignController
{
protected $noNeedLogin = ['lists', 'get_project', 'get_projectdetailed', 'get_mechanism_list'];
/**
* @Apidoc\Title("1.0 签到信息")
* @Apidoc\Url("api/Sign/info")
* @Apidoc\Method("GET")
*/
public function info(Request $request)
{
/**
* today_sign 今天是否签到 当前是否签到0 表示今天还没有签到1 则表示今天已经签到
* sign_days 用户已经连续签到的天数
* next_days 距离下一个奖励或活动的天数,表示用户还需等待多少天才能解锁下一个奖励
* next_score 下一个奖励 积分
* sign_info 当月签到历史
* day_score 每天签到赠送积分数量
*/
$user_id=$request->data['id'];
// $res=Signlog::all();
// 获取当前月份的天数
$days_in_month = date('t');
for ($day = 1; $day <= $days_in_month; $day++) {
$res['sign_info'][$day]=0;
}
$res['today_sign']=0;
$res['sign_days']=0;
$res['next_days']=7;
$res['next_score']=500;
$res['day_score']=30;
return ApiResponseApp::success($res);
}
/**
* @Apidoc\Title("1.0 签到")
* @Apidoc\Url("api/Sign/sign")
* @Apidoc\Method("GET")
*/
public function sign(Request $request)
{
//这里需要根据 业务逻辑判断 能不能签到
$user_id=$request->data['id'];
$Signlog=new Signlog();
// 获取当前月份的天数
$Signlog->userid=$user_id;
$Signlog->save();
return ApiResponseApp::success([]);
}
}

View File

@ -24,9 +24,9 @@ class UserController
protected $noNeedLogin = ['login', 'register'];
/**
* 登录
* @param Request $request
* @return void
* @Apidoc\Title("1.0 登录")
* @Apidoc\Url("api/user/login")
* @Apidoc\Method("POST")
*/
public function login(Request $request)
{
@ -51,18 +51,19 @@ class UserController
$tmp = [
'id' => $user->id,
'username' => $user->username,
'access_exp' => 2592000,
'access_exp' => 2592000,
];
// 如果密码正确,生成 JWT 令牌
$token = JwtToken::generateToken($tmp);
$createtime=time();
$createtime = time();
// 返回成功响应和用户信息(可以将 token 添加到响应中)
$res = array('userinfo' => array('createtime' => $createtime, 'expires_in' => $tmp['access_exp'], 'expiretime' => $createtime+$tmp['access_exp'], 'id' => $user->id, 'money' => $user->money, 'token' => $token['access_token'], 'user_id' => $user->id, 'username' => $user->username));
return ApiResponseApp::success($res,'登录成功');
$res = array('userinfo' => array('createtime' => $createtime, 'expires_in' => $tmp['access_exp'], 'expiretime' => $createtime + $tmp['access_exp'], 'id' => $user->id, 'money' => $user->money, 'token' => $token['access_token'], 'user_id' => $user->id, 'username' => $user->username));
return ApiResponseApp::success($res, '登录成功');
}
/**
* 注册
* @Apidoc\Title("1.0 注册")
* @Apidoc\Url("api/user/register")
* @Apidoc\Method("POST")
*/
public function register(Request $request)
{
@ -93,9 +94,40 @@ class UserController
$user->save();
return ApiResponseApp::success([], '注册成功');
}
public function userInfo(Request $request) {
$user_id= $request->data['id'];
$user=User::find($user_id);
/**
* @Apidoc\Title("1.0 获取用户相关信息")
* @Apidoc\Url("api/user/userInfo")
* @Apidoc\Method("POST")
*/
public function userInfo(Request $request)
{
$user_id = $request->data['id'];
$user = User::find($user_id);
return ApiResponseApp::success($user);
}
/**
* @Apidoc\Title("1.0 获取用户佣金信息")
* @Apidoc\Url("api/user/team_info")
* @Apidoc\Method("POST")
*/
public function team_info(Request $request)
{
$user_id = $request->data['id'];
$user = User::find($user_id);
$res = [
//活跃用户数
'active_users' => 0,
//所有收入总和
'all_income' => 0,
//邀请码
'invite_code' => $user->invite_code,
//直属活跃
'level_1' => 0,
//昨天收入
'today_income' => 0,
//今天收入
'yesterday_income' => 0
];
return ApiResponseApp::success($res);
}
}

View File

@ -0,0 +1,55 @@
<?php
namespace app\controller\api;
use app\model\User;
use support\Request;
use App\Utils\ApiResponse;
use App\model\Carousel;
use App\model\Project;
use App\model\ProjectDetailed;
use App\model\ProjectRegister;
use App\model\Carouselad;
use App\model\VipLevel;
use App\Utils\ApiResponseApp;
use Tinywan\Jwt\JwtToken;
use hg\apidoc\annotation as Apidoc;
use support\Db;
/**
* @Apidoc\Title("用户vip控制器不确定是干什么的")
*/
class Vip_rewardController
{
protected $noNeedLogin = [ ''];
/**
* @Apidoc\Title("1.0 获取vip等级赠送积分")
* @Apidoc\Url("api/vip_salary/product")
* @Apidoc\Method("POST")
*/
public function product(Request $request)
{
$res = VipLevel::all();
return ApiResponseApp::success($res);
}
/**
* @Apidoc\Title("1.0 查询当前用户积分")
* @Apidoc\Url("api/vip_salary/need_score")
* @Apidoc\Method("POST")
*/
public function need_score(Request $request)
{
$user_id=$request->data['id'];
$user=User::find($user_id);
$res['score']=$user->money;
return ApiResponseApp::success($res);
}
}

View File

@ -34,7 +34,6 @@ class Vip_salaryController
public function user_count(Request $request)
{
$user_id=$request->data['id'];
var_dump($user_id);
$user=User::find($user_id);
return ApiResponseApp::success(['user_count'=>$user->vip_id]);
}

29
app/model/Signlog.php Normal file
View File

@ -0,0 +1,29 @@
<?php
namespace app\model;
use support\Model;
/**
* @property int $id 唯一标识符
* @property int $userid 用户标识
* @property int $created_at 创建时间
* @property int $updated_at 最后更新时间
*/
class Signlog extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'signlog';
/**
* The primary key associated with the table.
*
* @var string
*/
protected $primaryKey = 'id';
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long