Jiuquxin.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace app\api\complex;
  3. class Jiuquxin implements ComplexInterface
  4. {
  5. private $channel = 'jiuquxin';
  6. private $check_url = "http://user.api.521jw.com/game/verify/token";
  7. public function checkLogin($data, $polyChannelGame = [])
  8. {
  9. if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
  10. return false;
  11. }
  12. $param = [
  13. 'appId' => $paramArr['appid'],
  14. 'token' => $data['channelToken'],
  15. ];
  16. $param['sign'] = md5($param['appId'] . $param['token'] . $paramArr['serverkey']);
  17. $result = curl($this->check_url, $param);
  18. // log_message($this->check_url . '?' . http_build_query($param) . ' ' . $result, 'log', LOG_PATH . 'complexLoginlog/' . $this->channel . '/');
  19. $res = json_decode($result, true);
  20. if ($res['code'] == 1 && $res['data']['userId'] == $data['username']) {
  21. return true;
  22. } else {
  23. return false;
  24. }
  25. }
  26. public function paySign($data, $polyChannelGame = [])
  27. {
  28. if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
  29. return false;
  30. }
  31. $param = [
  32. 'appId' => $data['appId'],
  33. 'userId' => $data['userId'],
  34. 'orderNum' => $data['orderNum'],
  35. 'money' => $data['money'],
  36. 'serverId' => $data['serverId'],
  37. 'roleId' => $data['roleId'],
  38. 'roleName' => $data['roleName'],
  39. 'extInfo' => $data['extInfo'],
  40. 'status' => $data['status'],
  41. ];
  42. $sign = md5($param['appId'] . $param['userId'] . $param['orderNum'] . $param['money'] . $param['serverId'] . $param['roleId'] . $param['roleName'] . $param['extInfo'] . $param['status'] . $paramArr['serverkey']);
  43. if ($data['sign'] == $sign && $param['status'] == 1) {
  44. return true;
  45. }
  46. return false;
  47. }
  48. public function getData($data)
  49. {
  50. return [
  51. 'orderid' => $data['extInfo'],//我方聚合订单
  52. 'amount' => $data['money'], // 充值金额
  53. 'sub_orderid' => $data['orderNum'],//渠道订单
  54. ];
  55. }
  56. public function getFail($msg = '')
  57. {
  58. echo 'FAILURE';
  59. exit();
  60. }
  61. public function getSuccess($msg = '')
  62. {
  63. echo 'SUCCESS';
  64. exit();
  65. }
  66. /**
  67. * 获取用户id
  68. * @param $data
  69. * @return bool
  70. */
  71. public function getSpecialParam($data,$polyChannelGame = []){
  72. if (!$paramArr = json_decode($polyChannelGame['param'], true)) {
  73. return false;
  74. }
  75. $param = [
  76. 'appId' => $paramArr['appid'],
  77. 'token' => $data['channelToken'],
  78. ];
  79. $param['sign'] = md5($param['appId'] . $paramArr['serverkey'] . $param['token']);
  80. $result = curl($this->check_url, $param);
  81. // log_message($this->check_url . '?' . http_build_query($param) . ' ' . $result, 'log', LOG_PATH . 'complexLoginlog/' . $this->channel . '/');
  82. $res = json_decode($result, true);
  83. if ($res['status'] == 1) {
  84. return $res['userId'];
  85. } else {
  86. return false;
  87. }
  88. }
  89. }