getMobile()); } /** * 检测验证码 * @return mixed */ private function checkCode() { return Dever::load('sms/api.checkCode', 'code', $this->getMobile(), Dever::input('code'), 1); } /** * 获取手机号 * @return mixed */ private function getMobile() { $rule = Dever::rule('mobile'); $mobile = Dever::input('mobile'); if (!$mobile) { Dever::alert('手机号不能为空'); } if (!preg_match($rule, $mobile)) { Dever::alert('请填写正确的手机号'); } return $mobile; } /** * 登录以及注册 * @return mixed */ public function login() { $password = Dever::input('password'); if ($password) { $param['mobile'] = $this->getMobile(); } else { $param['mobile'] = $this->checkCode(); } $param['project_id'] = Dever::input('project_id', 1); $info = Dever::db('user/info')->one($param); $param['system_source'] = Dever::input('system_source', 1); if ($info) { $password = sha1($password); if ($password != $info['password']) { Dever::alert('您的账号或密码错误'); } $uid = $info['id']; } else { $param['name'] = Dever::input('name'); if (!$param['name']) { $param['name'] = Dever::hide($param['mobile']); } if ($password) { $param['password'] = $password; } $uid = Dever::db('user/info')->insert($param); if ($uid) { Dever::score($uid, 'reg', '账号注册'); if (Dever::project('message')) { $project = Dever::db('user/project')->find($param['project_id']); $content = '亲爱的' . $param['name'] . ',欢迎来到' . $project['name']; Dever::load('message/lib/data')->push(-1, $uid, '欢迎语', $content, 1); } $invite = Dever::input('invite'); if ($invite && Dever::project('invite')) { Dever::load('invite/api')->setRelation($uid, false, $invite); } } } # 记录登录日志 $log['uid'] = $uid; $log['project_id'] = $param['project_id']; $log['system_source'] = $param['system_source']; Dever::db('user/login')->insert($log); Dever::load('user/lib/info')->setProject($uid, $param['project_id']); return Dever::load('user/lib/info')->getSign($uid); } }