Bladeren bron

1.新增oss文件删除接口 2.新增图文控制器与模型 3.GoodsController新增商品简介的CUR 4.common/base/models/Base.php 实现按设置查询字段

shizhongqi 1 jaar geleden
bovenliggende
commit
9747d4c07c

+ 5 - 1
app-ghs/controllers/UploadController.php

@@ -26,7 +26,11 @@ class UploadController extends BaseController
         if (!is_uploaded_file($file['tmp_name'])) {
             util::fail('please upload img');
         }
-        $mainId = $this->sjId;
+        $mainId = $this->mainId; // 变动:$this->sjId 改为 $this->mainId
+        if (intval($mainId) == 0) {
+            Yii::error('------- lose token -------');
+            noticeUtil::push('save-file 无token进行上传文件');
+        }
         $shopId = $this->shopId;
         $month = date("Ym");
         $date = date("d");

+ 20 - 0
app-hd/controllers/BaseController.php

@@ -84,8 +84,28 @@ class BaseController extends PublicController
             $sjExtend = MerchantExtendClass::getBySjId($sjId, true);
             $this->sjExtend = $sjExtend;
         }
+        $this->formParams();
 
         return parent::beforeAction($action);
     }
 
+    /**
+     * 把必要参数放 $_POST 或 $_GET 中
+     */
+    private function formParams()
+    {
+        // 将参数放入 $_POST 中(如果是 POST 请求)
+        if (Yii::$app->request->isPost) {
+            $_POST['adminId'] = intval($this->adminId);
+            $_POST['mainId'] = intval($this->mainId);
+            $_POST['shopId'] = intval($this->shopId);
+        }
+        
+        // 将参数放入 $_GET 中(如果是 GET 请求)
+        if (Yii::$app->request->isGet) {
+            $_GET['adminId'] = intval($this->adminId);
+            $_GET['mainId'] = intval($this->mainId);
+            $_GET['shopId'] = intval($this->shopId);
+        }
+    }
 }

+ 60 - 0
app-hd/controllers/GoodsController.php

@@ -9,6 +9,7 @@ use bizHd\goods\classes\GoodsClass;
 use bizHd\goods\services\CategoryService;
 use bizHd\goods\services\GoodsCategoryService;
 use bizHd\goods\services\GoodsSettingService;
+use bizHd\pictext\classes\PicTextGoodsClass;
 use common\components\printUtil;
 use Yii;
 use common\components\util;
@@ -278,6 +279,65 @@ class GoodsController extends BaseController
         util::complete('提交成功');
     }
 
+    //获取商品描述
+    public function actionDesc()
+    {
+        $goodsId = Yii::$app->request->get('id', 0);
+        $picText = PicTextGoodsClass::getByCondition(['mainId'=> $this->mainId, 'goodsId' => $goodsId, 'delStatus' => 0], true);
+        if (empty($picText)) {
+            // 适配前端的返回处理 -- 本来要使用 util::fail()
+            util::success('not_exist');
+        }
+        if ($picText->mainId != $this->mainId) {
+            util::fail('没有找到描述');
+        }
+        util::success($picText);
+    }
+
+    //创建商品描述(商品介绍)
+    public function actionCreateDesc()
+    {
+        $form = new \hd\models\goods\CreateDescForm();
+        $form->load(Yii::$app->request->post(), '');
+        if (!$form->validateForm()) {
+            return;
+        }
+
+        $data = $form->attributes;
+        $exists = PicTextGoodsClass::exists(['goodsId' => $data['goodsId'], 'delStatus' => 0]);
+        if ($exists) {
+            util::fail('该商品已存在图文内容,请勿重复添加');
+        }
+
+        $result = PicTextGoodsClass::add($data);
+        if ($result) {
+            util::success($result);
+        }
+
+        util::fail('创建失败');
+    }
+
+    //更新商品描述(商品介绍)
+    public function actionUpdateDesc()
+    {
+        $form = new \hd\models\goods\CreateDescForm();
+        $form->load(Yii::$app->request->post(), '');
+        if (!$form->validateForm()) {
+            return;
+        }
+        $data = $form->attributes;
+        $id = $data['id'];
+        $info = PicTextGoodsClass::getById($id, false, 'id');
+        if (empty($info)) {
+            util::fail('描述不存在');
+        }
+        $result = PicTextGoodsClass::updateById($id, $data);
+        if ($result) {
+            util::success($result);
+        }
+        util::fail('更新失败');
+    }
+
     //设置 ssh 2019.12.8
     public function actionSetting()
     {

+ 44 - 9
app-hd/controllers/PicTextController.php

@@ -1,6 +1,7 @@
 <?php
 namespace hd\controllers;
 
+use bizHd\goods\classes\CategoryClass;
 use Yii;
 use bizHd\pictext\classes\PicTextClass;
 use common\components\util;
@@ -12,6 +13,7 @@ class PicTextController extends BaseController
         $where = [];
         $where['mainId'] = $this->mainId;
         $where['delStatus'] = 0;
+        $where['type'] = 1;
         
         $list = PicTextClass::getList('id, title, addTime', $where, 'addTime desc');
         util::success($list);
@@ -20,12 +22,14 @@ class PicTextController extends BaseController
     public function actionAdd()
     {
         $post = Yii::$app->request->post();
-        $content = $post['imageTextVos'];
+        $content = $post['content'];
         
-        $post['content'] = json_encode($content);
+        $post['content'] = $content;
         $post['mainId'] = $this->mainId;
         // $post['staffId'] = intval($this->shopAdmin->id);
 
+        // 类别 1. 花束分类说明(运用于分类的商品) 2. 商品特有说明(非商品简介,优先级可高于分类说明) 3. 售前与售后说明
+        $post['type'] = PicTextClass::TYPE_CATEGORY; // type 默认为 1
         $id = PicTextClass::add($post);
         util::success($id);
     }
@@ -37,36 +41,67 @@ class PicTextController extends BaseController
 
         $picText = PicTextClass::getById($id, true);
         if (empty($picText)) {
-            util::fail('没有找到图');
+            util::fail('没有找到图');
         }
         if ($picText->mainId != $this->mainId) {
             util::fail('没有权限修改');
         }
 
-        $post['mainId'] = $this->mainId;
         $post['staffId'] = intval($this->shopAdmin->id);
         $id = PicTextClass::updateById($id, $post);
         util::success('修改成功');
     }
 
+    public function actionUpdateCategoryId()
+    {
+        $post = Yii::$app->request->post();
+        $id = $post['id'];
+        $categoryId = intval($post['categoryId']);
+        if ($categoryId <= 0) {
+            util::fail('分类id出错');
+        }
+        $picText = PicTextClass::getById($id, true, 'id, mainId, type');
+        if (empty($picText)) {
+            util::fail('没有找到图文');
+        }
+        if ($picText->type != PicTextClass::TYPE_CATEGORY) {
+            util::fail('图文类型不支持设置分类');
+        }
+        if ($picText->mainId != $this->mainId) {
+            util::fail('没有权限修改');
+        }
+        
+        $updateCount = CategoryClass::updateByCondition(['id' => $categoryId, 'mainId' => $this->mainId], ['picTextId' => $id]);
+        //CategoryClass::updateById($id, ['picTextId' => $id]);
+        if ($updateCount <= 0) {
+            util::fail('变更失败');
+        }
+        util::success('变更成功');
+    }
+
     public function actionDel()
     {
-        $id = Yii::$app->request->post('id');
-        $picText = PicTextClass::getById($id);
+        $id = intval(Yii::$app->request->post('id'));
+        $picText = PicTextClass::getById($id, true);
         if (empty($picText)) {
-            util::fail('没有找到图片');
+            util::fail('图文id不对');
+        }
+        if ($picText->mainId != $this->mainId) {
+            util::fail('没有权限');
         }
+        PicTextClass::updateById($id, ['delStatus'=>1]);
+        util::complete('成功删除');
     }
 
     public function actionDetail()
     {
-        $id = Yii::$app->request->get('id');
+        $id = intval(Yii::$app->request->get('id'));
         $picText = PicTextClass::getById($id, true);
         if (empty($picText)) {
             util::fail('没有找到图片');
         }
         if ($picText->mainId != $this->mainId) {
-            util::fail('没有权限查看');
+            util::fail('没有权限');
         }
 
         util::success($picText);

+ 70 - 3
app-hd/controllers/UploadController.php

@@ -7,23 +7,33 @@ use common\components\business;
 use common\components\dirUtil;
 use common\components\oss;
 use common\components\stringUtil;
+use common\components\noticeUtil;
 use Yii;
 use common\components\util;
 use yii\imagine\Image;
 
 class UploadController extends BaseController
 {
-
     public $guestAccess = ['save-img', 'save-file'];
 
     //保存图片上传
     public function actionSaveFile()
     {
+        $uploadPath = 'uploads';
+        // 对上传的文件进行多文件夹管理
+        $rootPath = Yii::$app->request->post('rootPath');
+        if (!empty($rootPath) && in_array($rootPath, oss::ROOT_PATHS)) {
+            $uploadPath = $rootPath;
+        }
         $file = $_FILES['file'];
         if (!is_uploaded_file($file['tmp_name'])) {
             util::fail('please upload img');
         }
-        $mainId = $this->sjId;
+        $mainId = $this->mainId; // 变动:$this->sjId 改为 $this->mainId
+        if (intval($mainId) == 0) {
+            Yii::error('------- lose token -------');
+            noticeUtil::push('save-file 无token进行上传文件');
+        }
         $shopId = $this->shopId;
         $month = date("Ym");
         $date = date("d");
@@ -36,7 +46,7 @@ class UploadController extends BaseController
         $newFile = $preFileName . ".jpg";
         $fullPathFile = $path . $newFile;
         if (move_uploaded_file($file['tmp_name'], $fullPathFile)) {
-            $img = "uploads/{$mainId}/{$shopId}/{$month}/{$date}/" . $newFile;
+            $img = "{$uploadPath}/{$mainId}/{$shopId}/{$month}/{$date}/" . $newFile;
             oss::uploadImage($img, $fullPathFile);
             $data = business::formatUploadImg($img);
             $data['shortUrl'] = $img;
@@ -161,4 +171,61 @@ class UploadController extends BaseController
         }
     }
 
+    //删除oss上的图片
+    public function actionDeleteFile()
+    {
+        $filePath = Yii::$app->request->post('filePath');
+        if(empty($filePath)){
+            util::fail('参数错误');
+        }
+        // 删除前判断文件是否存在
+        if(!oss::fileExist($filePath)){
+            Yii::error('file not exist: ' . $filePath);
+            util::fail('file not exist');
+        } else {
+            Yii::info('file exist: ' . $filePath);
+        }
+        // 删除OSS文件
+        try {
+            // 设置超时时间为15秒
+            set_time_limit(15);
+            $startTime = time();
+            $timeout = 15; // 15秒超时
+            
+            oss::deleteObject($filePath);
+            
+            // 检查是否超时
+            if (time() - $startTime > $timeout) {
+                throw new \Exception('删除文件操作超时');
+            }
+        } catch (\Exception $e) {
+            util::fail('删除文件失败:' . $e->getMessage());
+        }
+        util::success('success');
+    }
+
+    //批量删除oss上的图片
+    public function actionDeleteFiles()
+    {
+        $filePaths = Yii::$app->request->post('filePaths');
+        if(empty($filePaths) || !is_array($filePaths)){
+            util::fail('参数错误');
+        }
+        foreach($filePaths as $filePath){
+            if(!oss::fileExist($filePath)){
+                Yii::error('file not exist: ' . $filePath);
+                util::fail('file not exist');
+            } else {
+                Yii::info('file exist: ' . $filePath);
+            }
+        }
+        // 删除OSS文件
+        try {
+            oss::deleteObjects($filePaths);
+        } catch (\Exception $e) {
+            util::fail('删除文件失败:' . $e->getMessage());
+        }
+        util::success('success');
+    }
 }
+

+ 52 - 0
app-hd/models/goods/CreateDescForm.php

@@ -0,0 +1,52 @@
+<?php
+namespace hd\models\goods;
+
+use bizHd\goods\classes\GoodsClass;
+use hd\models\BaseForm;
+use Yii;
+
+/**
+ * 创建商品描述表单模型
+ */
+class CreateDescForm extends BaseForm
+{
+    public $id;
+    public $mainId;
+    public $title;
+    public $goodsId;
+    public $content;
+
+    public function rules()
+    {
+        return [
+            [['title', 'goodsId'], 'required'],
+            ['title', 'string', 'max' => 60],
+            [['id', 'goodsId', 'mainId'], 'integer'],
+            ['goodsId', 'validateGoodsId'],
+            ['content', 'safe'],
+        ];
+    }
+
+    public function attributeLabels()
+    {
+        return [
+            'title' => '标题',
+            'goodsId' => '商品ID',
+            'content' => '图文内容',
+        ];
+    }
+
+    /**
+     * 验证商品ID
+     * @param $attribute
+     */
+    public function validateGoodsId($attribute)
+    {
+        if (!$this->hasErrors()) {
+            $goods = GoodsClass::getById($this->goodsId, true, 'mainId');
+            if (empty($goods) || $goods->mainId != Yii::$app->controller->mainId) {
+                $this->addError($attribute, '商品不存在或不属于当前商户');
+            }
+        }
+    }
+}

+ 16 - 4
app-mall/controllers/GoodsController.php

@@ -4,12 +4,11 @@ namespace mall\controllers;
 
 use bizMall\goods\classes\GoodsClass;
 use bizMall\goods\classes\GoodsSettingClass;
-use bizMall\goods\services\CategoryService;
-use bizMall\goods\services\GoodsCategoryService;
+use bizMall\pictext\classes\PicTextGoodsClass;
+use bizMall\goods\classes\CategoryClass;
+use bizMall\pictext\classes\PicTextClass;
 use bizMall\goods\services\GoodsService;
-use bizMall\goods\services\GoodsSettingService;
 use Yii;
-use yii\web\Controller;
 use common\components\util;
 
 class GoodsController extends BaseController
@@ -19,11 +18,24 @@ class GoodsController extends BaseController
     public function actionDetail()
     {
         $id = Yii::$app->request->get('id', 0);
+        $categoryId = intval(Yii::$app->request->get('categoryId'));
         $info = GoodsClass::getGoodsInfo($id);
         GoodsService::valid($info, $this->mainId);
         $setting = GoodsSettingClass::getByCondition(['mainId' => $this->mainId]);
         $intro = isset($setting['goodsIntroduce']) ? $setting['goodsIntroduce'] : '';
         $info['commonIntro'] = $intro;
+
+        $pixTextGoods = PicTextGoodsClass::getByCondition(['mainId'=>$this->mainId, 'goodsId'=>$id], true);
+        $info['picTextGoods'] = $pixTextGoods;
+
+        $info['picText'] = [];
+        $category = CategoryClass::getById($categoryId);
+        if (!empty($category)) {
+            $picTextId = $category['picTextId'];
+            $picText  = PicTextClass::getById($picTextId, true);
+            $info['picText'] = $picText;
+        }
+
         util::success($info);
     }
 

+ 0 - 1
biz-hd/goods/classes/CategoryClass.php

@@ -82,5 +82,4 @@ class CategoryClass extends BaseClass
         return self::updateByCondition(['id' => $id, 'goodsNum' => 0], ['delStatus' => 1]);
         return true;
     }
-
 }

+ 1 - 1
biz-hd/goods/classes/GoodsClass.php

@@ -346,7 +346,7 @@ class GoodsClass extends BaseClass
      * 组装商品基本信息
      * @param $list goods商品数组
      * @param bool $getItem 是否获取"成品的花材"
-     * @param array $sortIds 按商品分类的inTurn 进行排序的 gId 商品id数组
+     * @param array $sortIds 按商品分类的inTurn 进行排序的商品id数组
      * @return mixed
      */
     public static function groupGoodsBaseInfo($list, $getItem = false, $sortIds= [])

+ 1 - 2
biz-hd/goods/services/CategoryService.php

@@ -4,11 +4,10 @@ namespace bizHd\goods\services;
 
 use bizHd\base\services\BaseService;
 use bizHd\goods\classes\CategoryClass;
+use bizHd\picText\classes\PicTextClass;
 use bizHd\goods\classes\GoodsCategoryClass;
 use common\components\imgUtil;
 use common\components\util;
-use Yii;
-use linslin\yii2\curl;
 
 class CategoryService extends BaseService
 {

+ 5 - 1
biz-hd/pictext/classes/PicTextClass.php

@@ -5,9 +5,13 @@ use bizHd\base\classes\BaseClass;
 
 class PicTextClass extends BaseClass
 {
-
     public static $baseFile = '\bizHd\pictext\models\PicText';
 
+    // 类别 1.花束分类说明(运用于分类的商品) 2.商品特有说明(非商品简介,优先级可高于分类说明) 3.售前与售后说明
+    const TYPE_CATEGORY = 1;
+    const TYPE_GOODS_SPEC = 2;
+    const TYPE_BEFORE_AFTER_SAIL = 3;
+
     public static function addBase($data, $bool = false)
     {
         return self::add($data, $bool);

+ 10 - 0
biz-hd/pictext/classes/PicTextGoodsClass.php

@@ -0,0 +1,10 @@
+<?php
+namespace bizHd\pictext\classes;
+
+use bizHd\base\classes\BaseClass;
+
+class PicTextGoodsClass extends BaseClass
+{
+    public static $baseFile = '\bizHd\pictext\models\PicTextGoods';
+
+}

+ 12 - 0
biz-hd/pictext/models/PicTextGoods.php

@@ -0,0 +1,12 @@
+<?php
+namespace bizHd\pictext\models;
+use bizHd\base\models\Base;
+
+class PicTextGoods extends Base
+{
+    public static function tableName()
+    {
+        return 'xhPicTextGoods';
+    }
+    
+}

+ 14 - 0
biz-mall/pictext/classes/PicTextClass.php

@@ -0,0 +1,14 @@
+<?php
+namespace bizMall\pictext\classes;
+
+use bizMall\base\classes\BaseClass;
+
+class PicTextClass extends BaseClass
+{
+    public static $baseFile = '\bizMall\pictext\models\PicText';
+
+    // 类别 1.花束分类说明(运用于分类的商品) 2.商品特有说明(非商品简介,优先级可高于分类说明) 3.售前与售后说明
+    const TYPE_CATEGORY = 1;
+    const TYPE_GOODS_SPEC = 2;
+    const TYPE_BEFORE_AFTER_SAIL = 3;
+}

+ 10 - 0
biz-mall/pictext/classes/PicTextGoodsClass.php

@@ -0,0 +1,10 @@
+<?php
+namespace bizMall\pictext\classes;
+
+use bizMall\base\classes\BaseClass;
+
+class PicTextGoodsClass extends BaseClass
+{
+    public static $baseFile = '\bizMall\pictext\models\PicTextGoods';
+
+}

+ 12 - 0
biz-mall/pictext/models/PicText.php

@@ -0,0 +1,12 @@
+<?php
+namespace bizMall\pictext\models;
+use bizMall\base\models\Base;
+
+class PicText extends Base
+{
+    public static function tableName()
+    {
+        return 'xhPicText';
+    }
+    
+}

+ 12 - 0
biz-mall/pictext/models/PicTextGoods.php

@@ -0,0 +1,12 @@
+<?php
+namespace bizMall\pictext\models;
+use bizMall\base\models\Base;
+
+class PicTextGoods extends Base
+{
+    public static function tableName()
+    {
+        return 'xhPicTextGoods';
+    }
+    
+}

+ 11 - 11
common/base/classes/BaseClass.php

@@ -119,29 +119,29 @@ class BaseClass
     /**
      * 根据主键ID查出一条记录
      */
-    public static function getById($id, $returnObject = false)
+    public static function getById($id, $returnObject = false, $field = '*')
     {
         /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
-        return $model->getById($id, $returnObject);
+        return $model->getById($id, $returnObject, $field);
     }
 
     //随机取一个 ssh 2020.2.10
-    public static function getOne($returnObject = false, $order = false)
+    public static function getOne($returnObject = false, $order = false, $field = '*')
     {
         /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
-        return $model->getOne($returnObject, $order);
+        return $model->getOne($returnObject, $order, $field);
     }
 
     /**
      *根据条件查出一条记录
      */
-    public static function getByCondition($condition, $returnObject = false, $order = false)
+    public static function getByCondition($condition, $returnObject = false, $order = false, $field = '*')
     {
         /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
-        return $model->getByCondition($condition, $returnObject, $order);
+        return $model->getByCondition($condition, $returnObject, $order, $field);
     }
 
     //是否存在  ssh 2019.8.30
@@ -155,7 +155,7 @@ class BaseClass
     /**
      *根据条件查出多条记录
      */
-    public static function getAllByCondition($condition, $order = null, $field, $indexBy = null, $returnObject = false)
+    public static function getAllByCondition($condition, $order = null, $field = '*', $indexBy = null, $returnObject = false)
     {
         /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
@@ -165,11 +165,11 @@ class BaseClass
     /**
      * 根据多个主键ID查询多条记录
      */
-    public static function getByIds($ids, $order = null, $indexBy = null)
+    public static function getByIds($ids, $order = null, $indexBy = null, $field = '*')
     {
         /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
-        return $model->getByIds($ids, $order, $indexBy);
+        return $model->getByIds($ids, $order, $indexBy, $field);
     }
 
     /**
@@ -191,11 +191,11 @@ class BaseClass
     }
 
     //根据主键获取被销的信息 ssh 2021.5.18
-    public static function getLockById($id)
+    public static function getLockById($id, $field = '*')
     {
         /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
-        return $model->getLockById($id);
+        return $model->getLockById($id, $field);
     }
 
     //求和

+ 13 - 12
common/base/models/Base.php

@@ -126,7 +126,7 @@ class Base extends ActiveRecord
     //多个主键更新 ssh 2019.9.3
     public function updateByIds($ids, $data)
     {
-        self::updateAll($data, ['id' => $ids]);
+        return self::updateAll($data, ['id' => $ids]);
     }
 
     /**
@@ -148,21 +148,22 @@ class Base extends ActiveRecord
     /**
      * 根据主键ID查出一条记录
      */
-    public function getById($id, $returnObject = false)
+    public function getById($id, $returnObject = false, $field = '*')
     {
+        $query = $this->conditionQuery(['id' => $id])->select($field);
         if ($returnObject == false) {
-            return $this->conditionQuery(['id' => $id])->asArray()->one();
+            return $query->asArray()->one();
         } else {
-            return $this->conditionQuery(['id' => $id])->one();
+            return $query->one();
         }
     }
 
     /**
      *根据条件查出一条记录
      */
-    public function getByCondition($condition, $returnObject = false, $order = false)
+    public function getByCondition($condition, $returnObject = false, $order = false, $field = '*')
     {
-        $query = $this->conditionQuery($condition);
+        $query = $this->conditionQuery($condition)->select($field);
         if (isset($order)) {
             $query->orderBy($order);
         }
@@ -170,9 +171,9 @@ class Base extends ActiveRecord
     }
 
     //随机取一个 ssh 2020.2.10
-    public function getOne($returnObject = false, $order = false)
+    public function getOne($returnObject = false, $order = false, $field = '*')
     {
-        $query = $this->conditionQuery([]);
+        $query = $this->conditionQuery([])->select($field);
         if (isset($order)) {
             $query->orderBy($order);
         }
@@ -256,13 +257,13 @@ class Base extends ActiveRecord
     /**
      * 根据多个主键ID查询多条记录
      */
-    public function getByIds($ids, $order = null, $indexBy = null)
+    public function getByIds($ids, $order = null, $indexBy = null, $field = '*')
     {
         $data = [];
         if (empty($ids)) {
             return $data;
         }
-        $query = $this->conditionQuery(['id' => ['in', $ids]]);
+        $query = $this->conditionQuery(['id' => ['in', $ids]])->select($field);
         if (isset($indexBy)) {
             $query->indexBy($indexBy);
         }
@@ -352,9 +353,9 @@ class Base extends ActiveRecord
     }
 
     //根据主键获取被销的信息 ssh 2021.5.18
-    public function getLockById($id)
+    public function getLockById($id, $field = '*')
     {
-        return self::findBySql('select * from ' . static::tableName() . ' where id = :id for update', ['id' => $id])->one();
+        return self::findBySql('select ' . $field . ' from ' . static::tableName() . ' where id = :id for update', ['id' => $id])->one();
     }
 
     //求和

+ 29 - 6
common/components/oss.php

@@ -1,9 +1,4 @@
 <?php
-/**
- * User: admin
- * Date Time: 2021/3/18 20:15
- */
-
 namespace common\components;
 
 use OSS\Core\OssException;
@@ -12,6 +7,8 @@ use Yii;
 
 class oss
 {
+    // 文件夹常量数组: 1. uploads_pic_text -- 图文专用文件夹  2.
+    const ROOT_PATHS = ['uploads_pic_text'];
 
     //上传文件
     public static function uploadImage($object, $filePath)
@@ -70,7 +67,7 @@ class oss
         $bucket = Yii::$app->params['ossBucket'];
         $ossClient->doesObjectExist($bucket, $object);
         try {
-            $ossClient->doesObjectExist($bucket, $object);
+            return $ossClient->doesObjectExist($bucket, $object);
         } catch (OssException $e) {
             util::fail($e->getMessage());
         }
@@ -98,4 +95,30 @@ class oss
         }
         return true;
     }
+
+    //删除文件
+    public static function deleteObject($object)
+    {
+        $ossClient = self::getOssClient();
+        $bucket = Yii::$app->params['ossBucket'];
+        try {
+            $ossClient->deleteObject($bucket, $object);
+        } catch (OssException $e) {
+            util::fail($e->getMessage());
+        }
+        return true;
+    }
+
+    //批量删除文件
+    public static function deleteObjects($objects)
+    {
+        $ossClient = self::getOssClient();
+        $bucket = Yii::$app->params['ossBucket'];
+        try {
+            $ossClient->deleteObjects($bucket, $objects);
+        } catch (OssException $e) {
+            util::fail($e->getMessage());
+        }
+        return true;
+    }
 }

+ 4 - 0
common/config/main.php

@@ -5,6 +5,10 @@ return [
 		'request' => [
 			'cookieValidationKey' => '3i18DOM7ZDqqQfr2S0hj0c60wFxxTb3J',
 			'enableCsrfValidation' => false,
+			// 'parsers' => [
+			// 	'application/json' => 'yii\web\JsonParser',
+			// ] // 启用 JSON 输入
+			// 信息: 上述配置是可选的。若未按上述配置,API 将仅可以分辨 application/x-www-form-urlencoded 和 multipart/form-data 输入格式
 		],
 		'cache' => [
 			'class' => 'yii\caching\FileCache',

+ 1 - 1
composer.json

@@ -14,7 +14,7 @@
     },
     "minimum-stability": "dev",
     "require": {
-        "php": ">=5.4.0",
+        "php": ">=7.0",
         "yiisoft/yii2": "2.0.29",
         "yiisoft/yii2-bootstrap": "~2.0.6",
         "yiisoft/yii2-swiftmailer": "~2.0.6",