1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- namespace User\Src;
- use Dever;
- class Main
- {
- /**
- * 获取验证码
- * @return mixed
- */
- public function getCode()
- {
- return Dever::load('sms/api.sendCode', 'code', $this->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);
- }
- }
|