IdentifyConst.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <?php
  2. /**
  3. * IdentifyConst.php UTF-8
  4. * 实名认证
  5. *
  6. * @date : 2018/4/27 16:50
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huolib\constant;
  13. class IdentifyConst {
  14. CONST ITYPE_MAINLAND = 1; //大陆居民身份证
  15. CONST ITYPE_MTP = 2; //港澳台居民往来内地通行证 Mainland Travel Permit for Hong Kong and Macao Residents
  16. CONST ITYPE_HMT = 3; //港澳台身份证
  17. CONST ITYPE_PASSPORT = 4; //护照
  18. CONST ITYPE_MP = 5; //军人/警察身份证
  19. /* 身份验证唯一字符串标识前缀*/
  20. CONST IDENTIFY_ORDER_ID_PREFIX = 'SMYZ'; //军人/警察身份证
  21. /* 未成年返回信息类型 */
  22. const UNDERAGE_ONLINE_TIME_LIMIT = 1; //根据文化部《网络游戏管理暂行版本》的相关要求,网络游戏未成年用户平日游戏时长限制为90分钟,您今天已游玩了90分钟。
  23. const UNDERAGE_HOLIDAY_ONLINE_TIME_LIMIT = 2; //根据文化部《网络游戏管理暂行版本》的相关要求,网络游戏未成年用户节假日游戏时长限制为180分钟,您今天已游玩了180分钟。
  24. const UNDERAGE_PERIOD_LIMIT = 3; //根据文化部《网络游戏管理暂行版本》的相关要求,每天的22:00-8:00,网络游戏未成年用户不允许登录。
  25. const UNDERAGE_AGE_8_CHARGE_LIMIT = 4; //根据文化部《网络游戏管理暂行版本》的相关要求,网络游戏用户未满8岁不能充值。
  26. const UNDERAGE_AGE_8_16_CHARGE_LIMIT = 5; //根据文化部《网络游戏管理暂行版本》的相关要求,网络游戏用户在8-16岁的,每周累计充值不能超过50元,每月累计充值不能超过200元。
  27. const UNDERAGE_AGE_16_18_CHARGE_LIMIT = 6; //根据文化部《网络游戏管理暂行版本》的相关要求,网络游戏用户在16-18岁的,每周累计充值不能超过100元,每月累计充值不能超过400元。
  28. const UNDERAGE_ALLOW_LOGIN_LIMIT = 7; //根据国家新闻出版署《关于防止未成年人沉迷网络游戏的通知》的相关要求,网络游戏未成年用户仅限在周五、周六、周日及法定节假日每日20:00-21:00登录游戏,您现在无法登录游戏
  29. /* 弹窗关闭类型 */
  30. const JS_CLOSE_APP = 1; //关闭退出APP
  31. const JS_CLOSE_WEB = 2; //关闭web
  32. /* 是否有实名 */
  33. const IS_AUTH_NO = 1; //未实名
  34. const IS_AUTH_YES = 2; //已实名
  35. /* 是否有实名 */
  36. const IDENTITY_STATUS_NO = 1; //实名认证失败
  37. const IDENTITY_STATUS_YES = 2; //实名认证成功
  38. /* 实名认证前置校验 */
  39. const IDENTITY_PRE_CHECK_REGULAR = 1; /* 正则校验 */
  40. const IDENTITY_PRE_CHECK_AT_CLOUD = 2; /* 阿里云 */
  41. /* 驱动key */
  42. const DRIVER_KEY_ALIPAY = 'alipay';
  43. const DRIVER_KEY_WXPAY = 'weixin';
  44. const DRIVER_KEY_FCMGAME = 'fcmgame';
  45. const DRIVER_KEY_YIWAN = 'yiwan';
  46. const DRIVER_KEY_HUOUNION = 'huounion';
  47. const DRIVER_KEY_GUOPAN = 'guopan'; /* 果盘*/
  48. const DRIVER_KEY_JUEFENG = 'juefeng'; /* 绝峰*/
  49. const DRIVER_KEY_QIANXI = 'qianxi'; /* 千禧 */
  50. const DRIVER_KEY_YIXIN = 'yixin'; /* 易信 */
  51. const DRIVER_KEY_LIEBAO = 'liebao'; /* 猎宝 */
  52. const DRIVER_KEY_TIANYU = 'tianyu'; /* 天宇 */
  53. const DRIVER_KEY_KUCHANG = 'kuchang'; /* 酷畅 */
  54. const DRIVER_KEY_MOXING = 'moxing'; /* 墨兴 */
  55. const DRIVER_KEY_HUANJUYOU = 'huanjuyou';/* 欢聚游 */
  56. const DRIVER_KEY_HAIQUYOU = 'haiquyou'; /* 嗨趣游 */
  57. /* 驱动类名 */
  58. const DRIVER_NAME_ALIPAY = 'Alipay';
  59. const DRIVER_NAME_WXPAY = 'Wxpay';
  60. const DRIVER_NAME_FCMGAME = 'Fcmgame';
  61. const DRIVER_NAME_YIWAN = 'Yiwan';
  62. const DRIVER_NAME_HUOUNION = 'Huounion';
  63. const DRIVER_NAME_GUOPAN = 'Guopan'; /* 果盘*/
  64. const DRIVER_NAME_JUEFENG = 'Juefeng'; /* 绝峰*/
  65. const DRIVER_NAME_QIANXI = 'Qianxi'; /* 千禧*/
  66. const DRIVER_NAME_YIXIN = 'Yixin'; /* 易信*/
  67. const DRIVER_NAME_LIEBAO = 'Liebao'; /* 猎宝 */
  68. const DRIVER_NAME_TIANYU = 'Tianyu'; /* 天宇 */
  69. const DRIVER_NAME_KUCHANG = 'Kuchang'; /* 酷畅 */
  70. const DRIVER_NAME_MOXING = 'Moxing'; /* 墨兴 */
  71. const DRIVER_NAME_HUANJUYOU = 'Huanjuyou';/* 欢聚游 */
  72. const DRIVER_NAME_HAIQUYOU = 'Haiquyou'; /* 嗨趣游 */
  73. /**
  74. * 需要获取pi的类型
  75. */
  76. public static function getNeedPiTypes() {
  77. return [
  78. self::DRIVER_KEY_FCMGAME,
  79. self::DRIVER_KEY_YIWAN,
  80. self::DRIVER_KEY_HUOUNION,
  81. self::DRIVER_KEY_HUOUNION,
  82. self::DRIVER_KEY_GUOPAN,
  83. self::DRIVER_KEY_JUEFENG,
  84. self::DRIVER_KEY_QIANXI,
  85. self::DRIVER_KEY_YIXIN,
  86. self::DRIVER_KEY_LIEBAO,
  87. self::DRIVER_KEY_TIANYU,
  88. self::DRIVER_KEY_MOXING,
  89. self::DRIVER_KEY_HUANJUYOU,
  90. self::DRIVER_KEY_HAIQUYOU,
  91. ];
  92. }
  93. /**
  94. * 实名认证平台类型
  95. */
  96. public static function getDriverKey() {
  97. return [
  98. self::DRIVER_KEY_FCMGAME => '国家网络防沉迷',
  99. self::DRIVER_KEY_YIWAN => '益玩',
  100. // self::DRIVER_KEY_HUOUNION => '火树系聚合',
  101. // self::DRIVER_KEY_GUOPAN => '果盘',
  102. self::DRIVER_KEY_JUEFENG => '绝峰',
  103. // self::DRIVER_KEY_QIANXI => '千禧',
  104. // self::DRIVER_KEY_YIXIN => '易信',
  105. // self::DRIVER_KEY_LIEBAO => '猎宝',
  106. self::DRIVER_KEY_TIANYU => '天宇游',
  107. self::DRIVER_KEY_KUCHANG => '酷畅',
  108. self::DRIVER_KEY_MOXING => '默兴',
  109. // self::DRIVER_KEY_HUANJUYOU => '欢聚游',
  110. // self::DRIVER_KEY_HAIQUYOU => '嗨趣游',
  111. ];
  112. }
  113. /**
  114. * 获取实名认证地址
  115. *
  116. * @param array $param
  117. *
  118. * @return string :string
  119. */
  120. public static function getIdentifyUrl($param = []) {
  121. $_url = APISITE.'/wap/identify/index';
  122. $_param = http_build_query($param);
  123. $_param = empty($_param) ? '' : '?'.$_param;
  124. return $_url.$_param;
  125. }
  126. /**
  127. * 未成年限制提示信息页面url
  128. *
  129. * @param int $type
  130. * @param array $param
  131. *
  132. * @return string :string
  133. */
  134. public static function getUnderageLimitMsgUrl($type, $param = []) {
  135. if (empty($type)) {
  136. return '';
  137. }
  138. $_param = http_build_query($param);
  139. $_param = empty($_param) ? '' : $_param;
  140. if (empty($_param)) {
  141. $_url = H5ISITE.'/wap/identify/msg?type='.$type;
  142. } else {
  143. $_url = H5ISITE.'/wap/identify/msg?type='.$type."&".$_param;
  144. }
  145. return $_url;
  146. }
  147. /**
  148. * 获取实名认证绑定手机页面
  149. *
  150. * @param array $param
  151. *
  152. * @return string :string
  153. */
  154. public static function getBindMobileUrl($param = []) {
  155. $_url = APISITE.'/wap/identify/bind/mobile';
  156. $_param = http_build_query($param);
  157. $_param = empty($_param) ? '' : '?'.$_param;
  158. return $_url.$_param;
  159. }
  160. /**
  161. * @param $type
  162. * @param bool $all
  163. *
  164. * @return array|bool|mixed
  165. */
  166. public static function getMsg($type, $all = false) {
  167. $_msg = array(
  168. /*** 成功 ***/
  169. self::ITYPE_MAINLAND => '大陆居民身份证',
  170. self::ITYPE_MTP => '港澳台居民往来内地通行证',
  171. self::ITYPE_HMT => '港澳台身份证',
  172. self::ITYPE_PASSPORT => '护照',
  173. self::ITYPE_MP => '军人/警察身份证',
  174. );
  175. if (true == $all) {
  176. return $_msg;
  177. }
  178. if (!isset($_msg[$type])) {
  179. return false;
  180. }
  181. return $_msg[$type];
  182. }
  183. /**
  184. * 获取所有类型
  185. *
  186. * @param bool $inc
  187. *
  188. * @return array
  189. */
  190. public static function getTypes($inc = false) {
  191. $_types = self::getMsg(null, true);
  192. if (true == $inc) {
  193. $_default = ["0" => "选择类型"];
  194. $_types = $_default + $_types;
  195. }
  196. return $_types;
  197. }
  198. /**
  199. * 获取实名认证前置校验
  200. *
  201. * @param $pre_check
  202. * @param bool $all
  203. *
  204. * @return array|false|string
  205. */
  206. public static function getIdentityPreCheckType($pre_check, $all = false) {
  207. $_array = [
  208. self::IDENTITY_PRE_CHECK_REGULAR => '正则校验',//lang('IDENTITY_PRE_CHECK_REGULAR'),
  209. self::IDENTITY_PRE_CHECK_AT_CLOUD => '阿里/腾讯云校验',//lang('IDENTITY_PRE_CHECK_AT_CLOUD')
  210. ];
  211. if (true === $all) {
  212. return $_array;
  213. }
  214. if (isset($_array[$pre_check])) {
  215. return $_array[$pre_check];
  216. }
  217. return false;
  218. }
  219. }