Login.php 2.8 KB

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