测试第一版

This commit is contained in:
tsf 2024-06-05 18:10:32 +08:00
parent 2bd3991a96
commit fbe38770cc
7 changed files with 975 additions and 305 deletions

View File

@ -17,12 +17,12 @@ class Base extends Controller{
'10002'=>'操作失败',
'10003'=>'信息核实错误',
'10004'=>'未找到有效数据',
'10005'=>'参数错误',
'10006'=>'未核实到数据',
'10007'=>'未核实到数据',
'10008'=>'未核实到数据',
'10009'=>'未核实到数据',
'10010'=>'未核实到数据',
'10005'=>'参数格式错误',
'10006'=>'参数不能为空',
'10007'=>'',
'10008'=>'',
'10009'=>'',
'10010'=>'',
'20001'=>'登录失效',
];

View File

@ -453,7 +453,7 @@ class Index extends Base{
if($parameter_pd <= 0){
return '该账户不存在';
}
$result = Db::table('app_user_data')->where(['nickname'=>$parameter['nickname'],'aan_id'=>$parameter['aan_id']])->count();
$result = Db::table('app_user_data')->where(['nickname'=>$parameter['nickname'],'aan_id'=>$parameter['aan_id'],'is_del'=>0])->count();
if($result>0){
return '该成员已存在';
}
@ -464,7 +464,7 @@ class Index extends Base{
// 设置验证
$rule = [
'id' => 'require|number',
'nickname' => 'require|chsAlpha',
'nickname' => 'require|chsAlphaNum',
'birthday' => 'require|date',
'gender' => 'require|number|in:0,1,2',
'grade' => 'require',
@ -477,7 +477,7 @@ class Index extends Base{
'grade.require' => '年级缺失',
'id.number' => '用户信息格式错误',
'nickname.chsAlpha' => '昵称只能是只能是汉字、字母',
'nickname.chsAlphaNum' => '昵称只能是只能是汉字、字母、数字',
'birthday.date' => '生日信息格式错误',
'gender.number' => '性别格式错误',
'gender.in' => '性别信息错误',

View File

@ -11,6 +11,9 @@ use PHPMailer\PHPMailer\PHPMailer;
class Login extends Base{
protected $code_time = 3600;
protected $default_head_pic = 'http://tc.pcxbc.com/tsf/head_pic.jpg';
################################################################接口################################################################
################################################################接口################################################################
################################################################接口################################################################
@ -18,23 +21,43 @@ class Login extends Base{
// 注册
public function register_action($data = ['data'=>18530934717,'password'=>'ceshi','code'=>'746119']){
// dump('123');
// phpinfo();
// die;
if(count(input('post.')) > 0){
$data = input('post.');
}
$verify_result = $this->verify_parameters($data,'register');
if(!is_array($verify_result)){
return $this->msg(10001,$verify_result);
if(!array_key_exists('data', $data) || !array_key_exists('password', $data) || !array_key_exists('code', $data)){
return $this->msg(10001);
}
// dump($verify_result);
// die;
// 记录
$result = Db::table('app_account_number')->insertGetId($verify_result);
if(!$data['data'] || !$data['password'] || !$data['code']){
return $this->msg(10006);
}
$set_data = [];
$montage_data = $this->is_tel_email($data['data']);
if($montage_data == false){
return $this->msg(10005);
}
$inspect_repeat = Db::table('app_account_number')->where([$montage_data=>$data['data']])->count();
if($inspect_repeat >= 0){
return $this->msg(10002,'注册失败,账号已存在');
}
$code_result = $this->check_code($data['data'],$data['code']);
if($code_result !== true){
return $this->msg(10002,$code_result);
}
// 验证完之后
if($montage_data == 'tel'){
$set_data['tel'] = $data['data'];
}else{
$set_data['email'] = $data['data'];
}
$set_data['password'] = $data['password'];
$set_data['head_pic'] = $this->default_head_pic;
$set_data['nickname'] = '用户'.$data['data'];
$set_data['create_time'] = date('Y-m-d H:i:s');
$set_data['token'] = md5($data['data'].$this->create_random_string(12).time());
$result = Db::table('app_account_number')->insertGetId($set_data);
if($result){
cache($verify_result['token'], time());
return $this->msg(['token'=>$verify_result['token'],'aan_id'=>$result]);
cache($set_data['token'], time());
return $this->msg(['token'=>$set_data['token'],'aan_id'=>$result]);
}else{
return $this->msg(10002);
}
@ -51,6 +74,9 @@ class Login extends Base{
if($data['password'] != $data['c_password']){
return $this->msg(10003,'两次密码不一致');
}
if($data['password'] == ''){
return $this->msg(10003,'密码不能为空');
}
$code_result = $this->check_code($data['data'],$data['code']);
if($code_result !== true){
return $this->msg(10003,$code_result);
@ -81,41 +107,52 @@ class Login extends Base{
return $this->msg(10001);
}
// 检测是否为手机
if (preg_match('/^\d{11}$/', $data['data'])) {
$verify_result['tel'] = $data['data'];
$road = 'tel';
}else{
$verify_result['email'] = $data['data'];
$road = 'email';
$montage_data = $this->is_tel_email($data['data']);
if($montage_data == false){
return $this->msg(10005);
}
// dump($verify_result);
// die;
// $find_token = Db::table('app_account_number')->where([$t_y=>$data['data']])->field('id,token')->find();
$verify_result[$montage_data] = $data['data'];
// 检测校验途径
if($data['validate_type'] == 'code'){
$code_name = $data['data'];
// dump(cache($code_name));
// die;
// if(cache($code_name) == $data['validate_data']){
if($this->check_code($code_name,$data['validate_data']) === true){
$result = Db::table('app_account_number')->where($verify_result)->field('id,token')->find();
if($result){
cache($result['token'], time());
return $this->msg(['token'=>$result['token'],'aan_id'=>$result['id']]);
}else{
return $this->msg(10003);
$set_data['password'] = '';
$set_data[$montage_data] = $data['data'];
$set_data['head_pic'] = $this->default_head_pic;
$set_data['nickname'] = '用户'.$data['data'];
$set_data['create_time'] = date('Y-m-d H:i:s');
$set_data['token'] = md5($data['data'].$this->create_random_string(12).time());
$result = Db::table('app_account_number')->insertGetId($set_data);
if($result){
cache($set_data['token'], time());
return $this->msg(['token'=>$set_data['token'],'aan_id'=>$result]);
}else{
return $this->msg(10002);
}
}
}else{
return $this->msg(10003,'登录失败,验证码错误或失效');
}
}else if($data['validate_type'] == 'password'){
$verify_result['password'] = $data['validate_data'];
$result = Db::table('app_account_number')->where($verify_result)->field('id,token')->find();
// $verify_result['password'] = $data['validate_data'];
$result = Db::table('app_account_number')->where($verify_result)->field('id,token,password')->find();
if($result){
cache($result['token'], time());
return $this->msg(['token'=>$result['token'],'aan_id'=>$result['id']]);
if($result['password'] == ''){
return $this->msg(10003,'该账户未设密码,请用验证码登录');
}
if($data['validate_data'] != $result['password']){
return $this->msg(10003,'账号密码错误');
}else{
cache($result['token'], time());
return $this->msg(['token'=>$result['token'],'aan_id'=>$result['id']]);
}
}else{
return $this->msg(10003,'登录失败,账号/密码错误');
return $this->msg(10003,'账号未注册,请先注册');
}
}else{
return $this->msg(10003,'校验参数错误');
@ -157,7 +194,7 @@ class Login extends Base{
if(!array_key_exists('data', $data) || !array_key_exists('type', $data)){
return $this->msg(10001);
}
$num = $this->rand_int();
$num = mt_rand(100000,999999);
if (preg_match('/^\d{11}$/', $data['data'])) {
$result = $this->send_tel_code($data['data'],$num);
$road = 'tel';
@ -266,6 +303,7 @@ class Login extends Base{
}
public function check_code($data = 18530934717 , $code = 123456){
// 默认验证码正确
return true;
// dump($data);
// dump(cache($data));
@ -283,79 +321,6 @@ class Login extends Base{
################################################################other################################################################
################################################################other################################################################
public function test(){
dump($this->send_tel_code('18530934717',$this->rand_int()));
// dump(['code']);
}
public function rand_int(){
return mt_rand(100000,999999);
}
public function verify_parameters($data,$type){
// 设置验证
$rule = [
'data' => 'require',
'password' => 'require',
'code' => 'require|number',
];
$msg = [
'password.require' => '密码必须',
'data.require' => '手机或邮箱必须',
'code.number' => '验证码必须是数字',
'code.number' => '验证码必须',
];
$validate = new Validate($rule,$msg);
$result = $validate->check($data);
if(!$result){
return $validate->getError();
}
// dump('3211');
// 判断参数
if(preg_match('/^\d{11}$/', $data['data'])){
$parameter['tel'] = $data['data'];
$montage_data = 'tel';
}else{
$parameter['email'] = $data['data'];
$montage_data = 'email';
}
$parameter['password'] = $data['password'];
// dump($montage_data);
// dump( $parameter);
// 检验是否注册过
// if($montage_data == 'tel'){
// $inspect_repeat = Db::table('app_account_number')->where(['tel'=>$parameter['tel']])->count();
// // $inspect_repeat = Db::query("select count(*) from app_account_number where tel='".$parameter['tel']."'and password='".$parameter['password']);
// }else{
// $inspect_repeat = Db::table('app_account_number')->where(['email'=>$parameter['email']])->count();
// }
$inspect_repeat = Db::table('app_account_number')->where([$montage_data=>$data['data']])->count();
// dump( $inspect_repeat);
// die;
// dump($inspect_repeat);
// dump('3212');
if($inspect_repeat>0){
return '注册失败,账号已存在';
}
if($type == 'register'){
if(array_key_exists('code', $data)){
$code_result = $this->check_code($parameter[$montage_data],$data['code']);
if($code_result !== true){
return $code_result;
}
}else{
return '验证码必须';
}
$parameter['create_time'] = date('Y-m-d H:i:s');
$parameter['token'] = md5($data['data'].$this->create_random_string(12).time());
}
return $parameter;
}
public function create_random_string($length = 12)
{
@ -368,9 +333,6 @@ class Login extends Base{
return $str;
}
public function demo_db(){
dump('开始测试');
$this->ceshiyong();
}
}

View File

@ -0,0 +1,154 @@
<?php
namespace app\app\controller;
use think\Controller;
use think\Db;
use app\app\controller\Login;
class Myinformation extends Base{
// 加 bcadd(,,20)
// 减 bcsub(,,20)
// 乘 bcmul(,,20)
// 除 bcdiv(,,20)
################################################################接口################################################################
################################################################接口################################################################
################################################################接口################################################################
// 获取账号下信息
public function get_my_account_msg($data = ['token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('token', $data)){
return $this->msg(10001);
}
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
// unset($data['token']);
return $this->get_my_account_msg_action($data);
}
// 修改昵称
public function update_my_nickname($data = ['token'=>'0dafb98a10995c98b5a33b7d59d986ca','nickname'=>'']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('nickname', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
// unset($data['token']);
return $this->update_my_nickname_action($data);
}
// 邮箱/手机绑定
public function update_my_account_msg($data = ['token'=>'0dafb98a10995c98b5a33b7d59d986ca','data'=>'tsf3920322@126.com','code'=>'123456']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('data', $data) || !array_key_exists('token', $data) || !array_key_exists('code', $data)){
return $this->msg(10001);
}
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
// unset($data['token']);
return $this->update_my_account_msg_action($data);
}
// 修改密码
public function update_my_password($data = ['token'=>'0dafb98a10995c98b5a33b7d59d986ca','password'=>'ceshi1','c_password'=>'ceshi1']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('password', $data) || !array_key_exists('c_password', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
// unset($data['token']);
return $this->update_my_password_action($data);
}
################################################################业务################################################################
################################################################get_my_account_msg
public function get_my_account_msg_action($data){
$result = Db::table('app_account_number')->where(['token'=>$data['token'],'is_del'=>0])->find();
if($result){
return $this->msg([
'my_tel'=>$result['tel'],
'my_email'=>$result['email'],
'create_time'=>$result['tel'],
'token'=>$result['token'],
'nickname'=>$result['nickname'],
'head_pic'=>$result['head_pic'],
'last_update_time'=>$result['update_time'],
]);
}else{
return $this->msg(10002);
}
}
################################################################update_my_nickname
public function update_my_nickname_action($data){
$result = Db::table('app_account_number')->where(['token'=>$data['token'],'is_del'=>0])->update([
'nickname'=>$data['nickname'],
'update_time'=>date('Y-m-d H:i:s')
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
################################################################update_my_account_msg
public function update_my_account_msg_action($data){
$login_action = new Login();
$validate_result = $login_action->check_code($data['data'],$data['code']);
if($validate_result !== true){
return $this->msg(10001,$validate_result);
}
$montage_data = $this->is_tel_email($data['data']);
if($montage_data == false){
return $this->msg(10005);
}
// dump($data);
// die;
$result = Db::table('app_account_number')->where(['token'=>$data['token'],'is_del'=>0])->update([
$montage_data=>$data['data'],
'update_time'=>date('Y-m-d H:i:s')
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
################################################################update_my_password
public function update_my_password_action($data){
if($data['password'] != $data['c_password']){
return $this->msg(10003,'两次密码不一致');
}
if($data['password'] == ''){
return $this->msg(10003,'密码不能为空');
}
$result = Db::table('app_account_number')->where(['token'=>$data['token'],'is_del'=>0])->update([
'password'=>$data['password'],
'update_time'=>date('Y-m-d H:i:s')
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@ Route::any('/card_del_record_data', 'app/pagingcontrast/del_all_record_data');
// ################################登录接口################################
// 注册接口12
Route::any('/register_action', 'app/login/register_action');
// 注册接口
// 重置密码
Route::any('/reset_password', 'app/login/reset_password');
// 登录接口
Route::any('/login_action', 'app/login/login_action');
@ -109,9 +109,26 @@ Route::any('/vitalcapacity_curve_chart', 'app/vitalcapacity/vitalcapacity_curve_
Route::any('/sportstesting_get_type_list', 'app/sportstesting/sportstesting_get_type_list');
// 获取类型列表
Route::any('/sportstesting_get_region_list', 'app/sportstesting/sportstesting_get_region_list');
// 获取估分最后一次数据
Route::any('/sportstesting_get_last_data', 'app/sportstesting/sportstesting_get_last_data');
// 获取估分历史列表
Route::any('/sportstesting_get_all_list', 'app/sportstesting/sportstesting_get_all_list');
// 获取估分历史详情
Route::any('/sportstesting_get_one_details', 'app/sportstesting/sportstesting_get_one_details');
// 计算并存储数据
Route::any('/sportstesting_set_once_data', 'app/sportstesting/sportstesting_set_once_data');
// ################################我的接口################################
// 获取账号信息
Route::any('/get_my_account_msg', 'app/myinformation/get_my_account_msg');
// 修改昵称
Route::any('/update_my_nickname', 'app/myinformation/update_my_nickname');
// 邮箱/手机绑定
Route::any('/update_my_account_msg', 'app/myinformation/update_my_account_msg');
// 修改密码
Route::any('/update_my_password', 'app/myinformation/update_my_password');
// // 报告数据(上次数据)
// Route::any('/vitalcapacity_data_report', 'app/sportstesting/vitalcapacity_data_report');
// // 曲线
@ -136,7 +153,7 @@ Route::any('/sportstesting_set_once_data', 'app/sportstesting/sportstesting_set_
// Route::any('/vitalcapacity_standard_interval', 'app/vitalcapacity/vitalcapacity_standard_interval');
// Route::any('/isNumericArray', 'app/base/isNumericArray');
Route::any('/wuyong', 'app/sportstesting/aaaaaaaaaaaaaaa');
// 处理404错误 z
Route::miss(function(){

BIN
public/tsf/head_pic.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB