IdentifyDriverConf.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. /**
  3. * IdentifyDriverConf.php UTF-8
  4. *
  5. *
  6. * @date : 2021-03-11 15:04
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : luowei <lw@huosdk.com>
  10. * @version : HUOSDK 9.0
  11. */
  12. namespace huoIdentify\controller;
  13. use huoIdentify\model\GameModel;
  14. use huoIdentify\model\IdentifyGameModel;
  15. use huolib\constant\IdentifyConst;
  16. use think\Config;
  17. class IdentifyDriverConf {
  18. /**
  19. * @param $identify_from
  20. * @param $app_id
  21. *
  22. * @return array
  23. */
  24. public static function getConfig($identify_from, $app_id) {
  25. if ($identify_from == IdentifyConst::DRIVER_KEY_WXPAY || $identify_from == IdentifyConst::DRIVER_KEY_ALIPAY) {
  26. return (array)Config::get('identify_conf.'.$identify_from);
  27. }
  28. $_identify_game_model = new IdentifyGameModel();
  29. $_identify_game_info = (array)$_identify_game_model->getInfoByAppId($app_id);
  30. if (empty($_identify_game_info)) {
  31. throw new \think\Exception('游戏暂未配置实名参数');
  32. }
  33. $_driver_key = get_val($_identify_game_info, 'driver_key', '');
  34. switch ($_driver_key) {
  35. case IdentifyConst::DRIVER_KEY_FCMGAME:
  36. return [
  37. 'driver_key' => $_driver_key,
  38. 'appId' => get_val($_identify_game_info, 'app_key', ''),
  39. 'bizId' => get_val($_identify_game_info, 'biz_id', ''),
  40. 'key' => get_val($_identify_game_info, 'app_secret', ''),
  41. ];
  42. case IdentifyConst::DRIVER_KEY_YIWAN:
  43. case IdentifyConst::DRIVER_KEY_HUOUNION:
  44. case IdentifyConst::DRIVER_KEY_YIXIN:
  45. case IdentifyConst::DRIVER_KEY_JUEFENG:
  46. case IdentifyConst::DRIVER_KEY_KUCHANG:
  47. $_ext_info = get_val($_identify_game_info, 'ext_info', '');
  48. $_channel_code = get_val($_ext_info, 'channel_code', '');
  49. $_require_url = get_val($_ext_info, 'require_url', '');
  50. if (empty($_channel_code) || empty($_require_url)) {
  51. throw new \think\Exception('游戏暂未配置实名参数');
  52. }
  53. return [
  54. 'driver_key' => $_driver_key,
  55. 'channel_code' => $_channel_code,
  56. 'require_url' => $_require_url,
  57. 'app_id' => $app_id
  58. ];
  59. case IdentifyConst::DRIVER_KEY_GUOPAN:
  60. $_ext_info = get_val($_identify_game_info, 'ext_info', '');
  61. $_server_key = get_val($_ext_info, 'server_key', '');
  62. $_channel_code = get_val($_ext_info, 'channel_code', '');
  63. $_require_url = get_val($_ext_info, 'require_url', '');
  64. if (empty($_channel_code) || empty($_require_url)) {
  65. throw new \think\Exception('游戏暂未配置实名参数');
  66. }
  67. return [
  68. 'driver_key' => $_driver_key,
  69. 'channel_code' => $_channel_code,
  70. 'server_key' => $_server_key,
  71. 'require_url' => $_require_url,
  72. 'app_id' => $app_id
  73. ];
  74. case IdentifyConst::DRIVER_KEY_LIEBAO:
  75. $_ext_info = get_val($_identify_game_info, 'ext_info', '');
  76. $_game_id = get_val($_ext_info, 'game_id', '');
  77. $_channel_code = get_val($_ext_info, 'channel_code', '');
  78. $_require_url = get_val($_ext_info, 'require_url', '');
  79. if (empty($_channel_code) || empty($_require_url)) {
  80. throw new \think\Exception('游戏暂未配置实名参数');
  81. }
  82. return [
  83. 'driver_key' => $_driver_key,
  84. 'channel_code' => $_channel_code,
  85. 'game_id' => $_game_id,
  86. 'require_url' => $_require_url,
  87. 'app_id' => $app_id
  88. ];
  89. case IdentifyConst::DRIVER_KEY_QIANXI:
  90. case IdentifyConst::DRIVER_KEY_TIANYU:
  91. $_ext_info = get_val($_identify_game_info, 'ext_info', '');
  92. $_channel_code = get_val($_ext_info, 'channel_code', '');
  93. $_require_url = get_val($_ext_info, 'require_url', '');
  94. $_app_key = (new GameModel())->getAppKey($app_id);
  95. if (empty($_channel_code) || empty($_require_url) || empty($_app_key)) {
  96. throw new \think\Exception('游戏暂未配置实名参数');
  97. }
  98. return [
  99. 'driver_key' => $_driver_key,
  100. 'channel_code' => $_channel_code,
  101. 'app_key' => $_app_key,
  102. 'require_url' => $_require_url,
  103. 'app_id' => $app_id
  104. ];
  105. case IdentifyConst::DRIVER_KEY_MOXING:
  106. $_ext_info = get_val($_identify_game_info, 'ext_info', '');
  107. $_app_key = get_val($_ext_info, 'app_key', '');
  108. $_secret_key = get_val($_ext_info, 'secret_key', '');
  109. $_require_url = get_val($_ext_info, 'require_url', '');
  110. $_channel_id = get_val($_ext_info, 'channel_id', '');
  111. if (empty($_app_key) || empty($_require_url) || empty($_secret_key) || empty($_channel_id)) {
  112. throw new \think\Exception('游戏暂未配置实名参数');
  113. }
  114. return [
  115. 'driver_key' => $_driver_key,
  116. 'app_key' => $_app_key,
  117. 'secret_key' => $_secret_key,
  118. 'require_url' => $_require_url,
  119. 'channel_id' => $_channel_id,
  120. 'app_id' => $app_id
  121. ];
  122. default:
  123. throw new \think\Exception('游戏暂未配置实名参数');
  124. }
  125. }
  126. /**
  127. * 获取阿里云或腾讯云实名配置信息
  128. */
  129. public function getATCloudConf() {
  130. $_wx_conf = (array)Config::get('identify_conf.weixin');
  131. if (!empty($_wx_conf['SECRET_ID']) && !empty($_wx_conf['SECRET_KEY'])) {
  132. return ['weixin', $_wx_conf];
  133. }
  134. $_ali_conf = (array)Config::get('identify_conf.alipay');
  135. if (!empty($_ali_conf['APP_KEY']) && !empty($_ali_conf['APP_SECRET']) && !empty($_ali_conf['APP_CODE'])) {
  136. return ['alipay', $_ali_conf];
  137. }
  138. return ['', []];
  139. }
  140. /**
  141. * 获取前置校验类型
  142. *
  143. * @param $app_id
  144. *
  145. * @return array
  146. */
  147. public function getIdentityCheckType($app_id) {
  148. $_identify_game_model = new IdentifyGameModel();
  149. $_identify_game_info = (array)$_identify_game_model->getInfoByAppId($app_id);
  150. return $_identify_game_info;
  151. }
  152. }