于宏哲PHP 1 year ago
parent
commit
20507445e7
  1. 12
      niucloud/app/api/controller/login/Login.php
  2. 27
      niucloud/app/api/controller/member/Member.php
  3. 5
      niucloud/app/api/route/member.php
  4. 4
      niucloud/app/api/route/route.php
  5. 2
      niucloud/app/service/api/login/LoginService.php
  6. 62
      niucloud/app/service/api/member/MemberService.php

12
niucloud/app/api/controller/login/Login.php

@ -31,10 +31,7 @@ class Login extends BaseController
[ 'username', '' ],
[ 'password', '' ],
]);
//校验登录注册配置
( new ConfigService() )->checkLoginConfig(MemberLoginTypeDict::USERNAME);
//参数验证
//验证码验证
$result = ( new LoginService() )->account($data[ 'username' ], $data[ 'password' ]);
if (!$result) {
//账号密码错误, 重置验证码
@ -108,4 +105,11 @@ class Login extends BaseController
( new LoginService() )->resetPassword($data[ 'mobile' ], $data[ 'password' ]);
return success('PASSWORD_RESET_SUCCESS');
}
public function checkMobileCode(){
$data = $this->request->params([
[ 'mobile', '' ]
]);
return success( ( new LoginService() )->checkMobileCode($data['mobile']));
}
}

27
niucloud/app/api/controller/member/Member.php

@ -115,4 +115,31 @@ class Member extends BaseApiController
]);
return success(( new AuthService() )->getMobile($data[ 'mobile_code' ]));
}
//验证密码是否正确
public function is_pass(){
$data = $this->request->params([
[ 'password', '' ],
]);
return ( new MemberService() )->is_pass($data);
}
public function set_pass(){
$data = $this->request->params([
[ 'old_password', '' ],
[ 'password', '' ],
]);
return ( new MemberService() )->set_pass($data);
}
//课程列表
public function course_list(){
$data = $this->request->params([
[ 'schedule_date', '' ]
]);
return success(( new MemberService() )->course_list($data));
}
}

5
niucloud/app/api/route/member.php

@ -105,6 +105,11 @@ Route::group('member', function () {
//获取签到设置
Route::get('sign/config', 'member.MemberSign/signConfig');
Route::post('is_pass', 'member.Member/is_pass');
Route::post('set_pass', 'member.Member/set_pass');
Route::post('course_list', 'member.Member/course_list');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true)
->middleware(ApiLog::class);

4
niucloud/app/api/route/route.php

@ -70,6 +70,8 @@ Route::group(function() {
// 通过外部交易号获取消息跳转路径
Route::get('weapp/getMsgJumpPath', 'weapp.Weapp/getMsgJumpPath');
//验证手机号验证码
Route::post('checkMobileCode', 'login.Login/checkMobileCode');
//登录
Route::get('login', 'login.Login/login');
//第三方绑定
@ -144,6 +146,8 @@ Route::group(function() {
Route::get('task/growth', 'sys.Task/growth');
// 获取积分任务
Route::get('task/point', 'sys.Task/point');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class)
->middleware(ApiLog::class);

2
niucloud/app/service/api/login/LoginService.php

@ -289,8 +289,6 @@ class LoginService extends BaseApiService
public function resetPassword(string $mobile, string $password)
{
$member_service = new MemberService();
//校验手机验证码
$this->checkMobileCode($mobile);
$member_info = $member_service->findMemberInfo([ 'mobile' => $mobile ]);
if ($member_info->isEmpty()) throw new AuthException('MOBILE_NOT_EXIST_MEMBER');//账号不存在
//todo 需要考虑一下,新的密码和原密码一样能否通过验证

62
niucloud/app/service/api/member/MemberService.php

@ -11,11 +11,17 @@
namespace app\service\api\member;
use addon\zhjw\app\model\classes\Classes;
use addon\zhjw\app\model\courses\Courses;
use addon\zhjw\app\model\timetables\Timetables;
use addon\zhjw\app\model\venues\Venues;
use app\dict\sys\AppTypeDict;
use app\model\member\Member;
use app\service\core\member\CoreMemberService;
use core\base\BaseApiService;
use core\exception\ApiException;
use core\util\Barcode;
use core\util\TokenAuth;
use think\Model;
/**
@ -157,4 +163,60 @@ class MemberService extends BaseApiService
event("MemberLoginAfter", ['member_id' => $this->member_id]);
}
}
public function is_pass($data){
$password = $this->model->where([['member_id', '=', $this->member_id]])->value("password");
if (!check_password($data['password'], $password)){
return fail("密码不正确");
}
return success("密码正确");
}
public function set_pass($data){
if($data['old_password'] != $data['password']){
return fail("两次密码输入不一致");
}
$password_hash = create_password($data['password']);
$data = array(
'password' => $password_hash,
);
$member_info = $this->findMemberInfo([ 'member_id' => $this->member_id ]);
$this->editByFind($member_info, $data);
TokenAuth::clearToken($this->member_id, AppTypeDict::API, $this->request->apiToken());
return success("修改密码成功");
}
//课程列表
public function course_list($data){
$venues = new Venues();
$classes = new Classes();
$timetables = new Timetables();
$courses = new Courses();
$list = $venues->order("id desc")->select()->toArray();
foreach ($list as $k=>$v){
$list[$k]['list'] = [];
$classes_list = $classes->where(['venue_id' => $v['id']])->select();
if($classes_list){
foreach ($classes_list as $k1=>$v1){
$timetables_info = $timetables->where(['class_id' => $v1['id'],'schedule_date' => $data['schedule_date']])->find();
$courses_info = $courses->where(['id' => $timetables_info['courses_id']])->find();
if($timetables_info and $courses_info){
$info = [
'bj' => $v1['name'],
'status' => $v1['status'],
'courses_info' => $courses_info,
'datetime' => $data['schedule_date'],
'address' => '',
'name' => $courses_info['name']
];
$list[$k]['list'][] = $info;
}
}
}
}
return $list;
}
}

Loading…
Cancel
Save