当用户绑定手机与数据库手机一致时捆绑之前的用户ID

当用户绑定手机与数据库手机一致时捆绑之前的用户ID

原先使用的公众号被停。新申请的公众号 用户只要进来 通过微信授权自动登录 因为openid新的 相当于生成一个新的用户。现在想用户通过 手机验证 捆绑之前的用户。

附上代码

请大家帮出出主意

 public function bind(Request $request, Application $wechat) {

        $user = session('wechat.oauth_user');
        $user = User::where('id_wechat', $user->id)->first();

        if($user->body_phone != 0){
            return redirect('/');
        }

        if ($request->isMethod('post')) {

            if(!$request->input('mobile', null)
            || !$request->input('vcode', null)){
                return view('application.info', [
                    'title' => '绑定失敗',
                    'icon' => 'warn',
                    'content' => '請將表單填寫完整,謝謝'
                ]);
            }

           
            if(Captcha::where('body_mobile', $request->input('mobile'))->where('body_code', $request->input('vcode'))->count() == 0){
                return view('application.info', [
                    'title' => '绑定失败',
                    'icon' => 'warn',
                    'content' => '您填写的验证码不正确'
                ]);
            }

            Captcha::where('body_mobile', $request->input('mobile'))->where('body_code', $request->input('vcode'))->delete();

            $user->body_phone = $request->input('mobile');
            $user->save();

            return redirect('/');
            
        } else {

            return view('application.accountBind', [
                'title' => '账户激活'
            ]);

        }

    }
    
    

这段是原先网页授权后 一定要通过手机激活才能继续访问。。

那么我怎么加上 如何写呢?

阅读 2.4k
2 个回答

通过手机号查找user_id,然后更新对应的openid,这样不行吗?

原有数据表是否需要保留?
如果不需要,按照楼上的答案,通过手机号查找userid,更新对应的openid即可;
如果需要,通过手机号查找数据,复制该条到新表中,使用全新的openid也可以。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题