ConfigServer::get('storage', 'default', 'local'), 'engine' => ConfigServer::get('storage_engine') ?? ['local'=>[]] ]; } public static function lists($get) { $where = []; if (!empty($get['title']) and $get['title']) { $where[] = ['title', 'like', '%' . $get['title'] . '%']; } $model = new MallNews(); $lists = $model->field(true) ->where($where) ->order('sort desc, create_time desc') ->paginate([ 'page' => $get['page'], 'list_rows' => $get['limit'], 'var_page' => 'page' ]) ->toArray(); return ['count' => $lists['total'], 'lists' => $lists['data']]; } // 获取详情 public static function detail($id) { return MallNews::where([ 'id' => $id, 'delete_time' => 0 ])->alias('mn')->join('mall_news_file mnf', 'mn.id = mnf.mall_news_id')->find()->toArray(); } // 添加表单信息 public static function create($form) { if (empty($form)) { return ['code' => -1, 'msg' => '表单内容为空']; } $file = []; unset($form['file']); if (!is_numeric($form['sort'])) { return ['code' => -1, 'msg' => '请输入整数']; } if ($form['type'] == 0 && isset($form['mall_news_images'])) { // 文章类型 $file = $form['mall_news_images']; if (count($form['mall_news_images']) > 6) { return ['code' => -1, 'msg' => '上传图片数量超过限制']; } unset($form['mall_news_images']); unset($form['video_file']); } else if ($form['type'] == 1 && !empty($form['video_file'])) { // 视频类型 $file = $form['video_file']; if (!$form['video_file']) { return ['code' => -1, 'msg' => '请上传视频']; } unset($form['mall_news_images']); unset($form['video_file']); } $form['create_time'] = time(); $id = MallNews::insertGetId($form); if (is_array($file)) { foreach ($file as &$v) { MallNewsFile::create([ 'mall_news_id' => $id, 'src' => basename($v) ]); } } else { MallNewsFile::create([ 'mall_news_id' => $id, 'src' => basename($file) ]); } return ['code' => 1, 'msg' => '添加成功']; } // 上传视频 public static function uploadVideo() { $file = request()->file('file'); if ($file->getSize() > self::$MAX_UPLOAD_SIZE * 1024 * 1024) { return ['code' => -1, 'msg' => '视频最大上传为' . self::$MAX_UPLOAD_SIZE . 'Mb']; } $StorageDriver = new StorageDriver(self::config()); $StorageDriver->setUploadFile('file'); if (!$StorageDriver->upload(self::$FILE_VIDEO_PATH)) { return ['code' => -1, 'msg' => '上传错误']; } $fileName = $StorageDriver->getFileName(); if ($fileName) { return ['code' => 1, 'msg' => '', 'data' => array('file' => Config::get('aliyunoss.domain') . self::$FILE_VIDEO_PATH . '/'. $fileName)]; } return ['code' => -1, 'msg' => '上传失败']; } // 删除视频 public static function delVideo($file) { if (!$file) { return false; } $file = self::$FILE_VIDEO_PATH . '/' . basename($file); $StorageDriver = new StorageDriver(self::config()); $StorageDriver->delete($file); } }