HomepageLogic.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. /**
  3. * HomepageLogic.php UTF-8
  4. *
  5. *
  6. * @date : 2018/8/16 14:09
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : luowei <lw@huosdk.com>
  10. * @version : HuoMP 1.0
  11. */
  12. namespace huomp\logic\member;
  13. use huo\controller\wap\Option;
  14. use huo\model\common\CommonModel;
  15. use huo\model\slide\SlideItemModel;
  16. use huo\model\slide\SlideModel;
  17. use huolib\constant\OptionConst;
  18. use huolib\constant\SlideConst;
  19. use huomp\model\homepage\HomepageModel;
  20. class HomepageLogic extends CommonModel {
  21. /**
  22. * @param $mem_id
  23. *
  24. * @return array|bool|false|mixed|\PDOStatement|string|\think\Model
  25. */
  26. public function getHomepage($mem_id) {
  27. $_homepage_model = new HomepageModel();
  28. $_homepage_info = $_homepage_model->getInfoByMemId($mem_id);
  29. if (empty($_homepage_info)) {
  30. $_banners = $this->getBgImages();
  31. $_data = [
  32. 'mem_id' => $mem_id,
  33. 'title' => '我的游戏盒子',
  34. 'intro' => '这是我的游戏盒子,来玩吧!',
  35. 'banner' => $_banners['list'][0]['image'],
  36. ];
  37. $_homepage_model->addData($_data);
  38. $_homepage_info = $_homepage_model->getInfoByMemId($mem_id);
  39. }
  40. return $_homepage_info;
  41. }
  42. /**
  43. * 获取背景图
  44. *
  45. * @return array
  46. */
  47. public function getBgImages() {
  48. $_slide_id = (new SlideModel())->getSlideIdByCode(SlideConst::SLIDE_MP_MEM_BACKGROUND_IMG);
  49. $_map['slide_id'] = $_slide_id;
  50. $_slide_items = (new SlideItemModel())->getList($_map);
  51. $_cnt = 0;
  52. $_list = [];
  53. foreach ($_slide_items['list'] as $_k => $_v) {
  54. $_data['id'] = $_v['id'];
  55. $_data['image'] = $_v['image'];
  56. $_list[] = $_data;
  57. $_cnt++;
  58. }
  59. return ['count' => $_cnt, 'list' => $_list];
  60. }
  61. /**
  62. * 修改背景图
  63. *
  64. * @param int $mem_id 玩家ID
  65. * @param string $banner
  66. *
  67. * @return bool
  68. */
  69. public function updateBgImages($mem_id, $banner = '') {
  70. $_homepage_model = new HomepageModel();
  71. $_data = [
  72. 'mem_id' => $mem_id,
  73. 'banner' => $banner
  74. ];
  75. return $_homepage_model->updateData($_data, $mem_id);
  76. }
  77. /**
  78. * 获取权限控制
  79. *
  80. * @param string $version 版本号
  81. *
  82. * @return array
  83. */
  84. public function getAuthSet($version = '') {
  85. $_setting_name = OptionConst::SETTING_AUTH_SWITCH;
  86. $_option_value = [
  87. OptionConst::SETTING_AUTH_SWITCH_RED => 1, //游戏列表 -> 红包 默认1不显示
  88. OptionConst::SETTING_AUTH_SWITCH_SHARE => 1, //游戏列表 -> 分享 默认1不显示
  89. OptionConst::SETTING_AUTH_SWITCH_FAVORITE => 1, //游戏列表 -> 收藏 默认1不显示
  90. OptionConst::SETTING_AUTH_SWITCH_GUIDE => 1, //我的盒子 -> 指南 默认1不显示
  91. OptionConst::SETTING_AUTH_SWITCH_GAIN => 1, //我的盒子 -> 佣金列表 默认1不显示
  92. OptionConst::SETTING_AUTH_SWITCH_ACTIVE => 1, //我的盒子 -> 活跃成员 默认1不显示
  93. OptionConst::SETTING_AUTH_SWITCH_MEMCENTER => 1, //我的 -> 整个页面 默认1不显示
  94. ];
  95. if (empty($version)) {
  96. return $_option_value;
  97. }
  98. $_m = new Option();
  99. $_item = $_m->getOptionData($_setting_name, 1, true, json_encode($_option_value));
  100. if (!empty($_item['option_value'])) {
  101. $_item['option_value'] = json_decode($_item['option_value'], true);
  102. }
  103. if (!empty($_item['option_value'][$version])) {
  104. return $_item['option_value'][$version];
  105. }
  106. return $_option_value;
  107. }
  108. }