IdentifyConf.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. /**
  3. * IdentifyConf.php UTF-8
  4. * 实名认证配置
  5. *
  6. * @date : 2019/12/3 17:01
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : chenbingling <cbl@huosdk.com>
  10. * @version : HUOSDK 8.5
  11. */
  12. namespace huoIdentify\controller;
  13. use huo\controller\common\Base;
  14. use huo\controller\option\Option;
  15. use huolib\constant\OptionConst;
  16. class IdentifyConf extends Base {
  17. /* 默认配置 */
  18. protected $default_conf
  19. = [
  20. 'unnamed' => [
  21. 'limit_time' => 3600, //试玩时间60分钟 3600秒
  22. 'expired_day' => 15, //过期间隔15天
  23. 'is_allow_charge' => 1, //是否允许充值 1不允许 2允许
  24. 'id_card_bind_cnt' => 5, //身份证限制绑定玩家数量
  25. 'other_api_check' => 1, //是否第三方api校验 1否 2是
  26. ],
  27. 'underage' => [
  28. 'day_limit_time' => 5400, //未成年每日在线时长 90 分钟 5400秒
  29. 'holiday_limit_time' => 10800, //未成年节假日在线时长 180 分钟 10800秒
  30. 'limit_today_time' => 22, //当日限制登陆时间
  31. 'limit_next_day_time' => 8, //次日限制登陆时间
  32. 'allow_start_time' => 20, //当日允许在线时间
  33. 'allow_end_time' => 21, //当日允许在线截至时间
  34. 'allow_start_time_minute' => 0, //当日允许在线时间
  35. 'allow_end_time_minute' => 0, //当日允许在线截至时间
  36. 'charge_limit' => [
  37. [
  38. 'min_age' => 0, //0-8 岁 每周最大充值0元每月最大充值0元 (不允许充值)
  39. 'max_age' => 8,
  40. 'week_money' => 0,
  41. 'month_money' => 0
  42. ],
  43. [
  44. 'min_age' => 8, //8-16 岁 每周最大充值50元每月最大充值200元
  45. 'max_age' => 16,
  46. 'week_money' => 50,
  47. 'month_money' => 200
  48. ],
  49. [
  50. 'min_age' => 16, //8-16 岁 每周最大充值100元每月最大充值400元
  51. 'max_age' => 18,
  52. 'week_money' => 100,
  53. 'month_money' => 400
  54. ]
  55. ]
  56. ]
  57. ];
  58. /**
  59. * 获取实名认证配置信息
  60. *
  61. * @param bool $is_admin 是否后台获取配置 后台配置需转换时长s为分钟
  62. *
  63. * @return array|mixed|string
  64. */
  65. public function getConf($is_admin = false) {
  66. $_setting_name = OptionConst::IDENTIFY_CONF_OPTION;
  67. $_m = new Option();
  68. $_item = $_m->getOptionData($_setting_name, 1, true, json_encode($this->default_conf));
  69. $_data = get_val($_item, 'option_value');
  70. if (is_string($_data)) {
  71. $_data = json_decode($_data, true);
  72. }
  73. if (empty($_data)) {
  74. $_data = $this->default_conf;
  75. }
  76. if (true === $is_admin) {
  77. /* 后台配置需转换时长秒转为分钟 */
  78. $_data['unnamed']['limit_time'] = ($_data['unnamed']['limit_time'] / 60);
  79. $_data['underage']['day_limit_time'] = ($_data['underage']['day_limit_time'] / 60);
  80. $_data['underage']['holiday_limit_time'] = ($_data['underage']['holiday_limit_time'] / 60);
  81. }
  82. $_data['underage']['allow_start_time'] = get_val($_data['underage'], 'allow_start_time', '20');
  83. $_data['underage']['allow_start_time_minute'] = get_val($_data['underage'], 'allow_start_time_minute', '00');
  84. $_data['underage']['allow_end_time'] = get_val($_data['underage'], 'allow_end_time', '21');
  85. $_data['underage']['allow_end_time_minute'] = get_val($_data['underage'], 'allow_end_time_minute', '00');
  86. return $_data;
  87. }
  88. /**
  89. * 获取证件号绑定玩家个数限制
  90. */
  91. public function getIdCardBindCnt() {
  92. $_conf = $this->getConf();
  93. $_cnt = empty($_conf['unnamed']['id_card_bind_cnt']) ? 5 : $_conf['unnamed']['id_card_bind_cnt'];
  94. return $_cnt;
  95. }
  96. /**
  97. * 获取证件号绑定玩家个数限制
  98. *
  99. * @return int other_api_check 1 否 2 是
  100. */
  101. public function getIsOtherApiCheck() {
  102. $_conf = $this->getConf();
  103. $_other_api_check = empty($_conf['unnamed']['other_api_check']) ? 2 : $_conf['unnamed']['other_api_check'];
  104. return $_other_api_check;
  105. }
  106. }