From 2a5c9d53cbed2ab975b4df4107c9211f83630883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cwanyongkang=E2=80=9D?= <“937888580@qq.com”> Date: Wed, 17 Feb 2021 18:42:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=90=86=E5=95=86=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/agent/controller/Index.php | 116 ++++++++++++++++++++++++++++++ app/agent/controller/Userinfo.php | 59 +++++++++++++++ app/agent/model/AgentUser.php | 10 +++ app/agent/model/User.php | 22 ++++++ fastphp/base/Jwt.php | 2 +- 5 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 app/agent/controller/Index.php create mode 100644 app/agent/controller/Userinfo.php create mode 100644 app/agent/model/AgentUser.php create mode 100644 app/agent/model/User.php diff --git a/app/agent/controller/Index.php b/app/agent/controller/Index.php new file mode 100644 index 0000000..9577a59 --- /dev/null +++ b/app/agent/controller/Index.php @@ -0,0 +1,116 @@ +getOne(['username'=>$data['Logincode']]); + $userinfo['ID'] = $userinfo['id']; + + $payload = [ + 'LoginName' => $userinfo['realname'], + 'RoleName' => '', + 'OperaterID' => $userinfo['id'], + 'TenantId' => 1157, + 'iat' => time(), + 'exp' => time() + 60 * 60 + ]; + + $token = $jwt::getToken($payload); + + $return_data = [ + 'Manager'=>$userinfo, + 'Token'=>$token + ]; + + if (!empty($userinfo)){ + if (cToMd5($data['Password']) == $userinfo['password']){ + + $info = [ + 'Code'=>10000, + 'Data'=>$return_data + ]; + echo json_encode($info); + + } + } + + } + + //推广用户注册 + public function register() + { + $data = json_decode(file_get_contents("php://input"), true); + // dump($data);die; + $data['LoginCode'] = trim($data['LoginCode']); + + if(empty($data['LoginCode'])){ + $info = [ + 'Code' => 10003, + 'Data' => '', + 'Message' => '账号为空', + ]; + echo json_encode($info); + die; + } + + $data['agent_id'] = base64_decode($data['agent_id']); + // dump($data);die; + + $data['Phone'] = $data['LoginCode']; + $data['TenantId'] = 0; + $data['Enabled'] = 1; + $data['UpdateTime'] = date('Y-m-d H:i:s',time()); + $data['CreateTime'] = date('Y-m-d H:i:s',time()); + $data['CreateType'] = 1; + $data['ProductAccountCount'] = 0; + $data['ExpiredProductAccountCount'] = 0; + $data['RestAmount'] = 0; + $data['ConsumeAmount'] = 0; + $data['DeleteTag'] = 0; + $data['UseTestCount'] = 0; + $data['Sex'] = 0; + $data['Wx'] = $data['Wx']; + $data['QQ'] = $data['QQ']; + $data['LastLoginDate'] = date('Y-m-d H:i:s',time()); + $data['Password'] = empty($data['Password'])?cToMd5('1234'):cToMd5(trim($data['Password'])); + + $user_model = new UserModel; + $manager_list = $user_model->getManagerList([],'ManagerId,ManagerName,count(1) as num',['ManagerId'],'num asc'); + $data['ManagerId'] = $manager_list[0]['ManagerId']; + $data['ManagerName'] = $manager_list[0]['ManagerName']; + + $has_user = $user_model->isExit("LoginCode='".$data['LoginCode']."' or Phone='".$data['Phone']."' or TaoBao='".$data['Phone']."'"); + if ($has_user){ + $info = [ + 'Code' => 10007, + 'Data' => '', + 'Message' => '该账号或者手机号被注册了', + ]; + echo json_encode($info); + die; + } + + if ($user_model->add($data)) { + $info = [ + 'Code' => 10000, + 'Data' => '', + 'Message' => '', + ]; + echo json_encode($info); + die; + } + die; + } +} \ No newline at end of file diff --git a/app/agent/controller/Userinfo.php b/app/agent/controller/Userinfo.php new file mode 100644 index 0000000..43123ab --- /dev/null +++ b/app/agent/controller/Userinfo.php @@ -0,0 +1,59 @@ +getOne(['id'=>$this->userinfo['OperaterID']]); + $userinfo['id'] = base64_encode($userinfo['id']); + + $info = [ + 'Code'=>10000, + 'data'=>$userinfo + ]; + echo json_encode($info); + } + + //代理商下的用户 + public function getList () + { + $page = 0; + if (isset($_GET['PageIndex'])) { + $page = ($_GET['PageIndex'] - 1) * 50; + } + $where = []; + if(!empty($_GET['keyWord'])){ + $where['LoginCode'] = $_GET['keyWord']; + } + $where['agent_id'] = $this->userinfo['OperaterID']; + $user_model = new UserModel; + $user_list = $user_model->getListPage($where, '*', 'id desc', "$page,50"); + + foreach ($user_list as &$info){ + $info['Password'] = ''; + if(empty($info['id_code'])){ + $info['is_verify'] = '未认证'; + } else { + $info['id_code'] = substr($info['id_code'], 0, 6) . '***'; + $info['is_verify'] = $info['is_verify']?'认证成功':'认证失败'; + } + + } + $data = [ + 'Code' => 10000, + 'Data' => $user_list, + 'Message' => '', + 'TotalCount' => (int)$user_model->getCount($where)['count'], + ]; + echo json_encode($data); + } +} \ No newline at end of file diff --git a/app/agent/model/AgentUser.php b/app/agent/model/AgentUser.php new file mode 100644 index 0000000..108c9b4 --- /dev/null +++ b/app/agent/model/AgentUser.php @@ -0,0 +1,10 @@ +field($fields)->where($where)->group($group)->order($order)->fetchAll(); + } + + //用户是否存在 + public function isExit($where = '', $fields = '*') + { + return $this->field($fields)->where($where)->fetch(); + } +} \ No newline at end of file diff --git a/fastphp/base/Jwt.php b/fastphp/base/Jwt.php index 5c6a2fd..d608f5f 100644 --- a/fastphp/base/Jwt.php +++ b/fastphp/base/Jwt.php @@ -40,7 +40,7 @@ class Jwt { { $base64header=self::base64UrlEncode(json_encode(self::$header,JSON_UNESCAPED_UNICODE)); $base64payload=self::base64UrlEncode(json_encode($payload,JSON_UNESCAPED_UNICODE)); - $token=$base64header.'.'.$base64payload.'.'.self::signature($base64header.'.'.$base64payload,self::$key); + $token=$base64header.'.'.$base64payload.'.'.self::signature($base64header.'.'.$base64payload,self::$key,'HS256'); return $token; }else{ return false;