CenterMenu.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. namespace app\common\model\page;
  3. use think\facade\Cache;
  4. use app\common\model\BaseModel;
  5. /**
  6. * 个人中心菜单模型
  7. */
  8. class CenterMenu extends BaseModel
  9. {
  10. protected $name = 'center_menu';
  11. protected $pk = 'menu_id';
  12. /**
  13. * 详情
  14. */
  15. public static function detail($menu_id)
  16. {
  17. return (new static())->find($menu_id);
  18. }
  19. /**
  20. * 查询所有
  21. */
  22. public static function getAll(){
  23. $model = new static();
  24. if (!Cache::get('center_menu_' . $model::$app_id)) {
  25. $list = $model->order(['sort' => 'asc'])->select();
  26. if(count($list) == 0){
  27. $sys_menus = $model->getSysMenu();
  28. $save_data = [];
  29. foreach($sys_menus as $menu){
  30. $save_data[] = array_merge($sys_menus[$menu['sys_tag']], [
  31. 'app_id' => self::$app_id
  32. ]);
  33. }
  34. $model->saveAll($save_data);
  35. }
  36. Cache::tag('cache')->set('center_menu_' . $model::$app_id, $list);
  37. }
  38. return Cache::get('center_menu_' . $model::$app_id);
  39. }
  40. /**
  41. * 系统菜单
  42. */
  43. public static function getSysMenu(){
  44. return [
  45. 'address' => [
  46. 'sys_tag' => 'address',
  47. 'title' => '收货地址',
  48. 'link_url' => '/pages/user/address/address',
  49. 'image_url' => 'image/menu/address.png'
  50. ],
  51. 'coupon' => [
  52. 'sys_tag' => 'coupon',
  53. 'title' => '领券中心',
  54. 'link_url' => '/pages/coupon/coupon',
  55. 'image_url' => 'image/menu/coupon.png'
  56. ],
  57. 'my_coupon' => [
  58. 'sys_tag' => 'my_coupon',
  59. 'title' => '我的优惠券',
  60. 'link_url' => '/pages/user/my-coupon/my-coupon',
  61. 'image_url' => 'image/menu/my_coupon.png'
  62. ],
  63. 'agent' => [
  64. 'sys_tag' => 'agent',
  65. 'title' => '分销中心',
  66. 'link_url' => '/pages/agent/index/index',
  67. 'image_url' => 'image/menu/agent.png'
  68. ],
  69. 'bargain' => [
  70. 'sys_tag' => 'bargain',
  71. 'title' => '我的砍价',
  72. 'link_url' => '/pages/user/my-bargain/my-bargain',
  73. 'image_url' => 'image/menu/bargain.png'
  74. ],
  75. 'shop' => [
  76. 'sys_tag' => 'shop',
  77. 'title' => '入驻店铺',
  78. 'link_url' => '/pages/shop/register',
  79. 'image_url' => 'image/menu/shop.png'
  80. ],
  81. 'my_shop' => [
  82. 'sys_tag' => 'my_shop',
  83. 'title' => '我的店铺',
  84. 'link_url' => '/pages/shop/register',
  85. 'image_url' => 'image/menu/my_shop.png'
  86. ],
  87. 'app_shop' => [
  88. 'sys_tag' => 'app_shop',
  89. 'title' => '我的店铺',
  90. 'link_url' => '/pages/shop/register',
  91. 'image_url' => 'image/menu/app_shop.png'
  92. ],
  93. 'my_attention' => [
  94. 'sys_tag' => 'my_attention',
  95. 'title' => '我的收藏',
  96. 'link_url' => '/pages/user/my_attention/my_attention',
  97. 'image_url' => 'image/menu/my_attention.png'
  98. ],
  99. 'my_collect' => [
  100. 'sys_tag' => 'my_collect',
  101. 'title' => '我的关注',
  102. 'link_url' => '/pages/user/my_collect/my_collect',
  103. 'image_url' => 'image/menu/my_collect.png'
  104. ],
  105. 'signin' => [
  106. 'sys_tag' => 'signin',
  107. 'title' => '签到有礼',
  108. 'link_url' => '/pages/plus/signin/signin',
  109. 'image_url' => 'image/menu/signin.png'
  110. ],
  111. 'lottery' => [
  112. 'sys_tag' => 'lottery',
  113. 'title' => '我的抽奖',
  114. 'link_url' => '/pages/plus/lottery/lottery',
  115. 'image_url' => 'image/menu/lottery.png'
  116. ],
  117. 'setting' => [
  118. 'sys_tag' => 'setting',
  119. 'title' => '设置',
  120. 'link_url' => '/pages/user/set/set',
  121. 'image_url' => 'image/menu/setting.png'
  122. ],
  123. ];
  124. }
  125. }