联系我们

微信扫描上方二维码

迅睿框架 版主:迅睿框架研发组
方案栏目:迅睿CMS 更新时间:2021-04-22 05:31:55

那位大神写过手机号码+验证码直接登陆=========未注册的手机号直接默认注册

回帖
  • 迅睿框架技术-于雷
    #1楼    迅睿框架技术-于雷
    2021-04-22 03:18:09
    四川省成都市 小米手机 0
    参考文档:《手机短信验证码登录当没有注册时就不能登录了,目前没有你这种功能
  • 醉猫猫
    #2楼    醉猫猫
    2021-04-22 03:23:51
    河南省郑州市 Chrome 0
    迅睿框架技术-于雷  是没有这个功能 所以才求助大神们帮写段代码 

  • GoWorkRoom
    #3楼    GoWorkRoom

    1、新建文件:dayrui/My/Model/Member.php

    2、新写方法体:

    <?php namespace My\Model;
    
    // 重写系统模型类 不影响升级
    class Member extends \Phpcmf\Model\Member
    {
    
        // 短信登录
        public function login_sms($phone, $remember) {
        
            $data = $this->db->table('member')->where('phone', $phone)->get()->getRowArray();
            if (!$data) {
                //手机号码未注册
                $rt = $this->register(999999, [ // 99999是用户组号,需要手动改
                    'username' => $phone,
                    'phone' => $phone,
                    'email' => '',
                    'name' => $phone,
                    'password' => dr_safe_password('1234'), // 初始密码
                ]);
                if (!$rt['code']) {
                    return dr_return_data(0, $rt['msg'])
                }
                $data = $rt['data'];
            }
        
            $data['uid'] = $data['id'];
        
            // 保存本地会话
            $this->save_cookie($data, $remember);
        
            // 记录日志
            $this->_login_log($data);
        
            return dr_return_data(1, 'ok', [
                    'auth'=> md5($data['password'].$data['salt']), // API认证字符串,
                    'member' => $this->get_member($data['id']),
                    'sso' => $this->sso($data, $remember)]
            );
        }
    
    }
    最佳满意答案
  • 醉猫猫
    #4楼    醉猫猫
    2021-04-22 05:31:55
    河南省郑州市 Chrome 0
    @GoWorkRoom:谢谢大神 已完美解决