Login.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. $data['uid'] = RoutineUser::routineOauth($data);
  27. $data['status'] = RoutineUser::isUserStatus($data['uid']);
  28. return JsonService::successful($data);
  29. }
  30. /**
  31. * 根据前台传code 获取 openid 和 session_key //会话密匙
  32. * @param string $code
  33. * @return array|mixed
  34. */
  35. public function setCode($code = ''){
  36. if($code == '') return [];
  37. $routineAppId = SystemConfig::getValue('routine_appId');//小程序appID
  38. $routineAppSecret = SystemConfig::getValue('routine_appsecret');//小程序AppSecret
  39. $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$routineAppId.'&secret='.$routineAppSecret.'&js_code='.$code.'&grant_type=authorization_code';
  40. return json_decode(RoutineServer::curlGet($url),true);
  41. }
  42. /**
  43. * 获取网站logo
  44. */
  45. public function get_enter_logo(){
  46. $siteLogo = SystemConfig::getValue('routine_logo');
  47. $siteName = SystemConfig::getValue('routine_name');
  48. $data['site_logo'] = $siteLogo;
  49. $data['site_name'] = $siteName;
  50. return JsonService::successful($data);
  51. }
  52. /**
  53. * 获取网站顶部颜色
  54. */
  55. public function get_routine_style(){
  56. $routineStyle = SystemConfig::getValue('routine_style');
  57. $data['routine_style'] = $routineStyle;
  58. return JsonService::successful($data);
  59. }
  60. /**
  61. * 获取客服电话
  62. */
  63. public function get_site_service_phone(){
  64. $siteServicePhone = SystemConfig::getValue('site_service_phone');
  65. $data['site_service_phone'] = $siteServicePhone;
  66. return JsonService::successful($data);
  67. }
  68. }