Common.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace addons\cms\controller\wxapp;
  3. use addons\cms\model\Block;
  4. use addons\cms\model\Channel;
  5. use think\Config;
  6. use think\Hook;
  7. /**
  8. * 公共
  9. */
  10. class Common extends Base
  11. {
  12. protected $noNeedLogin = '*';
  13. /**
  14. * 初始化
  15. */
  16. public function init()
  17. {
  18. //焦点图
  19. $bannerList = [];
  20. $list = Block::getBlockList(['name' => 'indexfocus', 'row' => 5]);
  21. foreach ($list as $index => $item) {
  22. $bannerList[] = ['image' => cdnurl($item['image'], true), 'url' => $item['url'], 'title' => $item['title']];
  23. }
  24. //首页Tab列表
  25. $indexTabList = $newsTabList = $productTabList = [['id' => 0, 'title' => '全部']];
  26. $channelList = Channel::where('status', 'normal')
  27. ->where('type', 'in', ['list'])
  28. ->field('id,parent_id,model_id,name,diyname')
  29. ->order('weigh desc,id desc')
  30. ->select();
  31. foreach ($channelList as $index => $item) {
  32. $data = ['id' => $item['id'], 'title' => $item['name']];
  33. $indexTabList[] = $data;
  34. if ($item['model_id'] == 1) {
  35. $newsTabList[] = $data;
  36. }
  37. if ($item['model_id'] == 2) {
  38. $productTabList[] = $data;
  39. }
  40. }
  41. //配置信息
  42. $upload = Config::get('upload');
  43. //如果非服务端中转模式需要修改为中转
  44. if ($upload['storage'] != 'local' && isset($upload['uploadmode']) && $upload['uploadmode'] != 'server') {
  45. //临时修改上传模式为服务端中转
  46. set_addon_config($upload['storage'], ["uploadmode" => "server"], false);
  47. $upload = \app\common\model\Config::upload();
  48. // 上传信息配置后
  49. Hook::listen("upload_config_init", $upload);
  50. $upload = Config::set('upload', array_merge(Config::get('upload'), $upload));
  51. }
  52. $upload['cdnurl'] = $upload['cdnurl'] ? $upload['cdnurl'] : cdnurl('', true);
  53. $upload['uploadurl'] = preg_match("/^((?:[a-z]+:)?\/\/)(.*)/i", $upload['uploadurl']) ? $upload['uploadurl'] : url($upload['storage'] == 'local' ? '/api/common/upload' : $upload['uploadurl'], '', false, true);
  54. $config = [
  55. 'upload' => $upload
  56. ];
  57. $data = [
  58. 'bannerList' => $bannerList,
  59. 'indexTabList' => $indexTabList,
  60. 'newsTabList' => $newsTabList,
  61. 'productTabList' => $productTabList,
  62. 'config' => $config
  63. ];
  64. $this->success('', $data);
  65. }
  66. }