WeixinController.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. * 用于微信服务号token验证
  10. * @param Request $request
  11. * @return void
  12. */
  13. public function wechatH5(Request $request)
  14. {
  15. file_put_contents('1.txt',json_encode($request->all()));
  16. $data = $request->all();
  17. $signature = $data["signature"];
  18. $timestamp = $data["timestamp"];
  19. $nonce = $data["nonce"];
  20. $token = env('Wechat_Token');
  21. $tmpArr = array($token, $timestamp, $nonce);
  22. sort($tmpArr, SORT_STRING);
  23. $tmpStr = implode( $tmpArr );
  24. $tmpStr = sha1( $tmpStr );
  25. // var_dump($tmpStr);
  26. // var_dump($signature);die;
  27. if( $tmpStr == $signature ){
  28. echo $data['echostr'];die;
  29. }else{
  30. die('fail');
  31. }
  32. }
  33. public function setWebHook(Request $request){
  34. $service = new WeixinService();
  35. list($status,$msg) = $service->setWebHook($request->all());
  36. return $this->json_return($status,$msg,'');
  37. }
  38. /**
  39. * 重定向获取unionid
  40. * @param Request $request
  41. * @return void
  42. */
  43. public function getUnionid(Request $request){
  44. $service = new WeixinService();
  45. $res = $service->getUnionid($request->all());
  46. }
  47. /**
  48. * 获取openid
  49. * @param Request $request
  50. * @return void
  51. */
  52. public function getOpenid(Request $request){
  53. $service = new WeixinService();
  54. list($status,$data) = $service->getOpenid($request->all());
  55. if ($status) {
  56. return $this->json_return(200, '', $data);
  57. } else {
  58. return $this->json_return(201, $data);
  59. }
  60. }
  61. public function setUser(Request $request)
  62. {
  63. $service = new WxEmployeeService();
  64. list($status, $data) = $service->setUser($request->all());
  65. if ($status) {
  66. return $this->json_return(200, '', $data);
  67. } else {
  68. return $this->json_return(201, $data);
  69. }
  70. }
  71. public function login(Request $request)
  72. {
  73. $service = new WxEmployeeService();
  74. list($status, $data) = $service->login($request->all(),$request->header('ciphertext'));
  75. if ($status) {
  76. return $this->json_return(200, '', $data);
  77. } else {
  78. return $this->json_return(201, $data);
  79. }
  80. }
  81. }