WeixinController.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Service\Weixin\WeixinService;
  4. use App\Service\Weixin\WxEmployeeService;
  5. use Illuminate\Http\Request;
  6. class WeixinController extends BaseController
  7. {
  8. //开发者密码:
  9. /**
  10. * 用于微信token验证,全部通用,前提token都为qingyao
  11. * @param Request $request
  12. * @return void
  13. */
  14. public function weixin(Request $request)
  15. {
  16. file_put_contents('1.txt',json_encode($request->all()));
  17. // die('adsds');
  18. // $data = json_decode('{"signature":"fe04bfbb92a1c073e9f0829d3c4e48e1b40403aa","echostr":"5841396639871246203","timestamp":"1695188315","nonce":"1459788183"}',true);
  19. $data = $request->all();
  20. $signature = $data["signature"];
  21. $timestamp = $data["timestamp"];
  22. $nonce = $data["nonce"];
  23. $token = 'qingyao';
  24. $tmpArr = array($token, $timestamp, $nonce);
  25. sort($tmpArr, SORT_STRING);
  26. $tmpStr = implode( $tmpArr );
  27. $tmpStr = sha1( $tmpStr );
  28. // var_dump($tmpStr);
  29. // var_dump($signature);die;
  30. if( $tmpStr == $signature ){
  31. echo $data['echostr'];die;
  32. }else{
  33. die('fail');
  34. }
  35. }
  36. public function setWebHook(Request $request){
  37. $service = new WeixinService();
  38. list($status,$msg) = $service->setWebHook($request->all());
  39. return $this->json_return($status,$msg,'');
  40. }
  41. /**
  42. * 重定向获取unionid
  43. * @param Request $request
  44. * @return void
  45. */
  46. public function getUnionid(Request $request){
  47. $service = new WeixinService();
  48. $res = $service->getUnionid($request->all());
  49. }
  50. /**
  51. * 获取openid
  52. * @param Request $request
  53. * @return void
  54. */
  55. public function getOpenid(Request $request){
  56. $service = new WeixinService();
  57. list($status,$data) = $service->getOpenid($request->all());
  58. if ($status) {
  59. return $this->json_return(200, '', $data);
  60. } else {
  61. return $this->json_return(201, $data);
  62. }
  63. }
  64. public function setUser(Request $request)
  65. {
  66. $service = new WxEmployeeService();
  67. list($status, $data) = $service->setUser($request->all());
  68. if ($status) {
  69. return $this->json_return(200, '', $data);
  70. } else {
  71. return $this->json_return(201, $data);
  72. }
  73. }
  74. public function login(Request $request)
  75. {
  76. $service = new WxEmployeeService();
  77. list($status, $data) = $service->login($request->all());
  78. if ($status) {
  79. return $this->json_return(200, '', $data);
  80. } else {
  81. return $this->json_return(201, $data);
  82. }
  83. }
  84. }