WeixinController.php 2.5 KB

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