Banner.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author Pillar<ltmn@qq.com>
  6. * 广告位管理
  7. */
  8. namespace app\fastshop\controller;
  9. use app\common\controller\Manage;
  10. class Banner extends Manage{
  11. public function initialize() {
  12. parent::initialize();
  13. if(!model('auth')->getAuth($this->user->id,1)){
  14. $this->error('无权限,你非【内容管理员】');
  15. }
  16. $this->assign('pathMaps', [['name'=>'广告管理','url'=>'javascript:;']]);
  17. }
  18. /**
  19. * 列表
  20. */
  21. public function index(){
  22. $group = input('get.group/d');
  23. $view['lists'] = model('Banner')->where(['group_id'=>$group,'member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->paginate(20);
  24. $view['group'] = $group;
  25. return view('index',$view);
  26. }
  27. /**
  28. * 添加
  29. */
  30. public function add(){
  31. if(request()->isAjax()){
  32. $data = [
  33. 'group_id' => input('post.group_id/d'),
  34. 'open_type' => input('post.open_type/s','','htmlspecialchars'),
  35. 'title' => input('post.title/s','','htmlspecialchars'),
  36. 'link' => input('post.link/s','','htmlspecialchars'),
  37. 'picture' => input('post.picture/s','','htmlspecialchars'),
  38. 'member_miniapp_id' => $this->member_miniapp_id,
  39. ];
  40. $validate = $this->validate($data,'Banner.add');
  41. if(true !== $validate){
  42. return json(['code'=>0,'msg'=>$validate]);
  43. }
  44. $result = model('Banner')->edit($data);
  45. if($result){
  46. return json(['code'=>200,'url'=>url('fastshop/banner/index',['group'=>$data['group_id']]),'msg'=>'操作成功']);
  47. }else{
  48. return json(['code'=>0,'msg'=>'操作失败']);
  49. }
  50. }else{
  51. $view['group_id'] = input('get.group/d');
  52. return view()->assign($view);
  53. }
  54. }
  55. //编辑
  56. public function edit(){
  57. if(request()->isAjax()){
  58. $data = [
  59. 'id' => input('post.id/d'),
  60. 'group_id' => input('post.group_id/s','','htmlspecialchars'),
  61. 'open_type' => input('post.open_type/s','','htmlspecialchars'),
  62. 'title' => input('post.title/s','','htmlspecialchars'),
  63. 'link' => input('post.link/s','','htmlspecialchars'),
  64. 'picture' => input('post.picture/s','','htmlspecialchars'),
  65. 'member_miniapp_id' => $this->member_miniapp_id,
  66. ];
  67. $validate = $this->validate($data,'Banner.edit');
  68. if(true !== $validate){
  69. return json(['code'=>0,'msg'=>$validate]);
  70. }
  71. $result = model('Banner')->edit($data);
  72. if($result){
  73. return json(['code'=>200,'url'=>url('fastshop/banner/index',['group'=>$data['group_id']]),'msg'=>'操作成功']);
  74. }else{
  75. return json(['code'=>0,'msg'=>'操作失败']);
  76. }
  77. }else{
  78. $id = input('get.id/d');
  79. $view['info'] = model('Banner')->get($id);
  80. return view()->assign($view);
  81. }
  82. }
  83. //删除
  84. public function delete(){
  85. $id = input('get.id/d');
  86. $result = model('Banner')->where(['member_miniapp_id' => $this->member_miniapp_id,'id' =>$id])->delete();
  87. if($result){
  88. return json(['code'=>200,'msg'=>'操作成功']);
  89. }else{
  90. return json(['code'=>403,'msg'=>'删除失败']);
  91. }
  92. }
  93. /**
  94. * 排序
  95. */
  96. public function sort(){
  97. if(request()->isAjax()){
  98. $data = [
  99. 'sort' => input('post.sort/d'),
  100. 'id' => input('post.id/d'),
  101. ];
  102. $validate = $this->validate($data,'Banner.sort');
  103. if(true !== $validate){
  104. return json(['code'=>0,'msg'=>$validate]);
  105. }
  106. $result = model('Banner')->save(['sort'=>$data['sort']],['member_miniapp_id' => $this->member_miniapp_id,'id' =>$data['id']]);
  107. if($result){
  108. return json(['code'=>200,'msg'=>'操作成功']);
  109. }else{
  110. return json(['code'=>0,'msg'=>'操作失败']);
  111. }
  112. }
  113. }
  114. }