Usermp.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace app\api\controller\user;
  3. use app\api\controller\Controller;
  4. use app\api\model\user\UserMp as UserMpModel;
  5. use app\common\library\easywechat\AppMp;
  6. /**
  7. * 公众号用户管理
  8. */
  9. class Usermp extends Controller
  10. {
  11. /**
  12. * 用户自动登录
  13. */
  14. public function login($referee_id = '')
  15. {
  16. $app = AppMp::getApp($this->app_id);
  17. $redirect_uri = base_url()."index.php/api/user.usermp/login_callback?app_id={$this->app_id}&referee_id={$referee_id}";
  18. $app->oauth->scopes(['snsapi_userinfo'])->redirect($redirect_uri)->send();
  19. }
  20. /**
  21. * 用户自动登录
  22. */
  23. public function login_callback()
  24. {
  25. $app = AppMp::getApp($this->app_id);
  26. $oauth = $app->oauth;
  27. // 获取 OAuth 授权结果用户信息
  28. $userInfo = $oauth->user();
  29. // 保存数据库
  30. $model = new UserMpModel;
  31. $referee_id = $this->request->param('referee_id');
  32. $data = $model->login($userInfo, $referee_id);
  33. $signA ='';
  34. foreach ($data as $key => $val) {
  35. $signA .= $key."=".urlencode($val)."&";
  36. }
  37. return redirect(base_url().'h5/pages/login/weblogin?app_id='.$this->app_id.'&'.$signA);
  38. // return redirect(base_url().'h5/pages/login/mplogin?app_id='.$this->app_id.'&token='.$model->getToken().'&user_id='.$user_id);
  39. }
  40. }