wqData['uniacid']); //var_dump($this->wqData['uniacid']);die; if(!$config){ $config=Config::getSystemSet('storage',0); } // 允许上传的图片后缀 $allowedExts = array("gif", "jpeg", "jpg", "png","jfif"); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); // 获取文件后缀名 if (!in_array($extension, $allowedExts)){ return $this->result(2, '文件类型格式不允许上传!'); } if($config['type']==1){ $fname=File::qiniuUpload('file',$this->wqData['module'],$this->wqData['uniacid'],$config); }elseif($config['type']==2){ $fname=File::aliUpload('file',$this->wqData['module'],$this->wqData['uniacid'],$config); }elseif($config['type']==3){ $fname=File::txyUpload('file',$this->wqData['module'],$this->wqData['uniacid'],$config); }else{ $fname=File::channelUploadImage('file','',$this->wqData['module'],$this->wqData['uniacid']); } $result=axios_request(); $data['categoryId'] = $result['category'] ?: 0; $data['url'] = $fname; $data['name'] = $_FILES['file']['name']; $data['storeId'] = $result['storeId'] ?: 0; $data['createdAt'] = time(); $data['deleteAt'] = 0; $data['uniacid'] = $this->wqData['uniacid']; $res=Yii::$app->db->createCommand()->insert('{{%ybwm_core_file}}', $data)->execute(); if ($res) { return $this->result(1, '成功!',$res); } else { return $this->result(2, '失败!'); } } //获取拖拽图片分类 public function actionGetCategory() { $storeId=Yii::$app->request->get('storeId'); $storeId = $storeId ?: 0; $res=(new \yii\db\Query()) ->select(['id', 'name','icon']) ->from('{{%ybwm_core_category}}') ->where('uniacid=:uniacid AND storeId=:storeId AND item=4 AND deleteAt=0',[':storeId'=>$storeId,':uniacid'=>$this->wqData['uniacid']])->all(); return $this->result(1, '操作成功!', $res); } //移动图片 public function actionMoveFile() { $result=axios_request(); if(is_array($result['id'])){ $idArr=$result['id']; }else{ $idArr=[$result['id']]; } $res = Yii::$app->db->createCommand()->update('{{%ybwm_core_file}}', ['categoryId'=>$result['typeId']], ['in','id',$idArr])->execute(); if($res){ return $this->result(1, '成功!'); }else{ return $this->result(2, '失败!'); } } //获取图片 public function actionGetPicture() { $typeId=Yii::$app->request->get('category'); $keyWords=Yii::$app->request->get('keywords'); $page=Yii::$app->request->get('page')?:1; $size=Yii::$app->request->get('size')?:30; $storeId=Yii::$app->request->get('storeId')?:0; $table=(new \yii\db\Query()) ->select(['id', 'url','name','fileType']) ->from('{{%ybwm_core_file}}') ->where('uniacid=:uniacid AND deleteAt=0',[':uniacid'=>$this->wqData['uniacid']]); if($storeId){ $table->andwhere('storeId=:storeId',[':storeId'=>$storeId]); } if($typeId){ $table->andwhere('categoryId=:categoryId',['categoryId'=>$typeId]); } if($keyWords){ $table->andwhere(['like', 'name', $keyWords]); } //var_dump(ddSql($table->offset(($page - 1) * $size)->limit($size)->orderby('id desc')));die; $count=$table->count(); $res=$table->offset(($page - 1) * $size)->limit($size)->orderby('id desc')->all(); echo json_encode(['code'=>1,'msg'=>'成功','data'=>$res,'count'=>intval($count),'type'=>1]);die; } //删除图片分类 public function actionDelPictureCategory() { $result=axios_request(); $res = Yii::$app->db->createCommand()->update('{{%ybwm_core_category}}', ['deleteAt'=>time()], 'id=:id', ['id' =>$result['id']])->execute(); if ($res) { return $this->result(1, '成功!'); } else { return $this->result(2, '失败!'); } } //删除图片 public function actionDelPicture() { $result=axios_request(); if(is_array($result['id'])){ $idArr=$result['id']; }else{ $idArr=[$result['id']]; } $res = Yii::$app->db->createCommand()->update('{{%ybwm_core_file}}', ['deleteAt'=>time()], ['in','id',$idArr])->execute(); if ($res) { return $this->result(1, '成功!'); } else { return $this->result(2, '失败!'); } } //添加分组 public function actionSaveCategory() { $post=axios_request(); $post['storeId']=$post['storeId']?:0; if(!$post['name']){ return $this->result(2,'分类名称不能为空!'); } $info=(new \yii\db\Query()) ->from('{{%ybwm_core_category}}') ->where('uniacid=:uniacid AND storeId=:storeId AND item=4 AND deleteAt=0 AND name=:name',[':name'=>$post['name'],':storeId'=>$post['storeId'],':uniacid'=>$this->wqData['uniacid']])->one(); if($info){ return $this->result(2,'该名称已存在!'); } $data['name']=$post['name']; $data['storeId']=$post['storeId']; $data['item']=4; $data['uniacid']=$this->wqData['uniacid']; $data['changeAt']=time(); if ($post['id']) { $data['changeAt']=time(); $res = Yii::$app->db->createCommand()->update('{{%ybwm_core_category}}', $data, 'id=:id', ['id' =>$post['id']])->execute(); } else { $data['createdAt']=time(); $res=Yii::$app->db->createCommand()->insert('{{%ybwm_core_category}}', $data)->execute(); } if($res){ return $this->result(1,'成功'); }else{ return $this->result(2,'网络异常,请稍后再试'); } } //获取图片回收站列表 public function actionRecyclePicture(){ $typeId=Yii::$app->request->get('category'); $keyWords=Yii::$app->request->get('keywords'); $page=Yii::$app->request->get('page')?:1; $size=Yii::$app->request->get('size')?:30; $storeId=Yii::$app->request->get('storeId')?:0; $table=(new \yii\db\Query()) ->select(['id', 'url','name','deleteAt']) ->from('{{%ybwm_core_file}}') ->where('uniacid=:uniacid AND deleteAt>0',[':uniacid'=>$this->wqData['uniacid']]); if($storeId){ $table->andwhere('storeId=:storeId',[':storeId'=>$storeId]); } if($typeId){ $table->andwhere('categoryId=:categoryId',['categoryId'=>$typeId]); } if($keyWords){ $table->andwhere(['like', 'name', $keyWords]); } $count=$table->count(); $res=$table->offset(($page - 1) * $size)->limit($size)->orderby('id desc')->all(); echo json_encode(['code'=>1,'msg'=>'成功','data'=>$res,'count'=>intval($count),'type'=>2]);die; } //删除回收站的图片 public function actionDelRecyclePicture(){ $result=axios_request(); $id=$result['id']; $row=(new \yii\db\Query())->select(['id', 'url','name','storeId','uniacid'])->from('{{%ybwm_core_file}}')->where(['id'=>$id])->one(); $domain=Yii::$app->request->hostInfo; if(strpos($row['url'],$domain) !==false){ unlink('.'.strstr($row['url'],"/web")); }else{ $storageConfig=(new \yii\db\Query())->from('{{%ybwm_core_system}}')->where(['uniacid'=>$row['uniacid'],'ident'=>'storage'])->one(); if(!$storageConfig){ $storageConfig=(new \yii\db\Query())->from('{{%ybwm_core_system}}')->where(['uniacid'=>0,'ident'=>'storage'])->one(); } $config=json_decode($storageConfig['data'],true); //dd($config);die; $qnUrl=$config['qn_url']; $aliUrl=$config['aliyuncs_url']; $txUrl=$config['xplqcloud_url']; if(strpos($row['url'],$qnUrl) !==false){ $ak = $config['qn_accesskey']; $sk = $config['qn_secretkey']; $domain = $config['qn_url']; $bucket = $config['qn_bucket']; $zone = $config['qn_endpoint']; $qiniu = new Qiniu($ak, $sk,$domain, $bucket,$zone); $array=explode($qnUrl.'/', $row['url']); $url=$array[1]; try{ $qiniu->delete($url, $bucket); } catch(\Exception $e) { } } if(strpos($row['url'],$aliUrl) !==false){ $accessKeyId = $config['aliyuncs_accesskey']; $accessKeySecret =$config['aliyuncs_secret']; $endpoint = $config['aliyuncs_endpoint']; $bucket=$config['aliyuncs_bucket']; try{ $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); $array=explode($aliUrl.'/', $row['url']); $url=$array[1]; $ossClient->deleteObject($bucket,$url); } catch(OssException $e) { } } if(strpos($row['url'],$txUrl) !==false){ $array=explode($txUrl.'/', $row['url']); $url=$array[1]; $data=[ 'app_id' =>$config['xplqcloud_appid'], 'secret_id' =>$config['xplqcloud_secretid'], 'secret_key' =>$config['xplqcloud_secretkey'], 'region' =>$config['xplqcloud_endpoint'], 'bucket'=>$config['xplqcloud_bucket'], 'timeout' =>60 ]; try{ $cos=new Cos($data); $cos->delFile($url); } catch(OssException $e) { } } } Yii::$app->db->createCommand()->delete('{{%ybwm_core_file}}','id=:id', ['id' =>$id])->execute(); return $this->result(1, '成功!'); } }