Login.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace app\routine\controller;
  3. use app\admin\model\system\SystemConfig;
  4. use app\routine\model\routine\RoutineServer;
  5. use app\routine\model\user\RoutineUser;
  6. use service\JsonService;
  7. use service\UtilService;
  8. use think\Controller;
  9. use think\Request;
  10. class Login extends Controller{
  11. /**
  12. * 获取用户信息
  13. * @param Request $request
  14. * @return \think\response\Json
  15. */
  16. public function index(Request $request){
  17. $data = UtilService::postMore([['info',[]]],$request);//获取前台传的code
  18. $data = $data['info'];
  19. unset($data['info']);
  20. $res = $this->setCode($data['code']);
  21. if(!isset($res['openid'])) return JsonService::fail('openid获取失败');
  22. if(isset($res['unionid'])) $data['unionid'] = $res['unionid'];
  23. else $data['unionid'] = '';
  24. $data['routine_openid'] = $res['openid'];
  25. $data['session_key'] = $res['session_key'];
  26. $dataOauthInfo = RoutineUser::routineOauth($data);
  27. $data['uid'] = $dataOauthInfo['uid'];
  28. $data['page'] = $dataOauthInfo['page'];
  29. $data['status'] = RoutineUser::isUserStatus($data['uid']);
  30. return JsonService::successful($data);
  31. }
  32. /**
  33. * 根据前台传code 获取 openid 和 session_key //会话密匙
  34. * @param string $code
  35. * @return array|mixed
  36. */
  37. public function setCode($code = ''){
  38. if($code == '') return [];
  39. $routineAppId = SystemConfig::getValue('routine_appId');//小程序appID
  40. $routineAppSecret = SystemConfig::getValue('routine_appsecret');//小程序AppSecret
  41. $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$routineAppId.'&secret='.$routineAppSecret.'&js_code='.$code.'&grant_type=authorization_code';
  42. return json_decode(RoutineServer::curlGet($url),true);
  43. }
  44. /**
  45. * 获取网站logo
  46. */
  47. public function get_enter_logo(){
  48. $siteLogo = SystemConfig::getValue('routine_logo');
  49. $siteName = SystemConfig::getValue('routine_name');
  50. $data['site_logo'] = $siteLogo;
  51. $data['site_name'] = $siteName;
  52. return JsonService::successful($data);
  53. }
  54. /**
  55. * 获取网站顶部颜色
  56. */
  57. public function get_routine_style(){
  58. $routineStyle = SystemConfig::getValue('routine_style');
  59. $data['routine_style'] = $routineStyle;
  60. return JsonService::successful($data);
  61. }
  62. /**
  63. * 获取客服电话
  64. */
  65. public function get_site_service_phone(){
  66. $siteServicePhone = SystemConfig::getValue('site_service_phone');
  67. $data['site_service_phone'] = $siteServicePhone;
  68. return JsonService::successful($data);
  69. }
  70. }