Login.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace app\mobile\controller;
  3. use app\common\model\UserModel;
  4. use app\mobile\MobileBaseController;
  5. class Login extends MobileBaseController
  6. {
  7. public function login()
  8. {
  9. return redirect('https://www.jucai.gov.cn/api/auth/wechat_auth?url=' . urlencode(url('/mobile/login/wechatBack')));
  10. }
  11. /**
  12. * 微信回调
  13. */
  14. public function wechatBack()
  15. {
  16. $param = input('param.');
  17. $open_id = $param['openid'];
  18. //登录
  19. $user = UserModel::where(['openid' => $open_id])->find();
  20. if (empty($user)) {
  21. $user = UserModel::create([
  22. 'nickname' => $param['nickname'],
  23. 'avatar' => $param['headimgurl'],
  24. 'openid' => $open_id,
  25. 'unionid' => $param['unionid'],
  26. 'logintime' => time(),
  27. 'loginip' => request()->ip(),
  28. ]);
  29. } else {
  30. $user->logintime = time();
  31. $user->loginip = request()->ip();
  32. $user->save();
  33. }
  34. session('mobile.user.id', $user['id']);
  35. $back_url = '/';
  36. if (session('?back_url')) {
  37. $back_url = session('back_url');
  38. session('back_url', null);
  39. }
  40. return redirect($back_url);
  41. }
  42. public function login1()
  43. {
  44. session('mobile.user.id', 1);
  45. $back_url = '/';
  46. if (session('?back_url')) {
  47. $back_url = session('back_url');
  48. session('back_url', null);
  49. }
  50. return redirect($back_url);
  51. }
  52. public function logout()
  53. {
  54. session('mobile.user.id', null);
  55. return '退出';
  56. }
  57. public function humanLogin()
  58. {
  59. $param = input('param.');
  60. session('mobile.human.open_id', $param['openid']);
  61. $back_url = session('mobile.human.back_url');
  62. if (!empty($back_url)) {
  63. session('mobile.human.back_url', null);
  64. return redirect($back_url);
  65. }
  66. return redirect(url('human/index'));
  67. }
  68. }