Browse Source

Merge branch 'index_share_1113'

master
liangyuyan 5 years ago
parent
commit
160d488add
  1. 11
      app/Admin/Actions/Grid/v3/ShareCardDelete.php
  2. 15
      app/Admin/Common/CustomFileController.php
  3. 19
      app/Admin/Forms/v3/ShareCardCreateForm.php
  4. 7
      app/Admin/Forms/v3/ShareCardEditForm.php

11
app/Admin/Actions/Grid/v3/ShareCardDelete.php

@ -2,6 +2,7 @@
namespace App\Admin\Actions\Grid\v3;
use App\Admin\Common\CustomFileController;
use Dcat\Admin\Grid\RowAction;
use Illuminate\Support\Facades\Redis;
use App\Libs\Redis\RedisKey;
@ -17,9 +18,17 @@ class ShareCardDelete extends RowAction
public function handle(Request $request)
{
$id = $request->get('id');
$redisData = Redis::hget(RedisKey::PROGRAM_SHARE_CARD, $id);
$data = json_decode($redisData,true);
if(isset($data['relative_path']) && isset($data['image']) && @getimagesize($data['image'])){
$customFile = new CustomFileController();
$customFile->autoDeleteFile($data['relative_path']);
}
$res = Redis::hdel(RedisKey::PROGRAM_SHARE_CARD ,$id);
if($res !== false){
return $this->response()->success('删除成功!','/share_card_setting');
return $this->response()->success('删除成功!','/share_card_setting')->refresh();
}else{
return $this->response()->error('删除失败!');
}

15
app/Admin/Common/CustomFileController.php

@ -97,4 +97,19 @@ class CustomFileController
? ['status' => true , 'msg' => '文件上传成功', 'path' => $path, 'url' => $disk->url($path)]
: ['status' => false , 'msg' => '文件上传失败'];
}
/**
* 删除文件
* @param $filePath 文件路径
*/
public function autoDeleteFile($file)
{
$disk = $this->disk('oss');
$result = $disk->delete($file);
return $result
? ['status' => true , 'msg' => '文件删除成功', 'path' => $file,'result' =>$result]
: ['status' => false , 'msg' => '文件删除失败','result' =>$result];
}
}

19
app/Admin/Forms/v3/ShareCardCreateForm.php

@ -20,11 +20,24 @@ class ShareCardCreateForm extends Form
public function handle(array $input)
{
$list = Redis::hgetall(RedisKey::PROGRAM_SHARE_CARD);
$id = count($list) + 1;
if(key_exists($id,$list)){
$rand = [];
for($i = 1; $i <= $id; $i++){
$rand[] = $i;
}
$keyExist = array_keys($list);
$vacant = array_diff($rand,$keyExist);
$id = array_shift($vacant) ?? time();
}
$ossImageDir = config('filesystems.disks.oss.img_host');
$data = [
'id' => $id,
'title' => $input['title'],
'image' => $input['image']
'image' => $ossImageDir.'/'.$input['image'],
'relative_path' => $input['image'],
];
$data = json_encode($data);
@ -33,7 +46,7 @@ class ShareCardCreateForm extends Form
if($res){
return $this->success('添加成功','/share_card_setting');
}else{
return $this->error('添加失败');
return $this->error('添加失败或被替换');
}
}
@ -45,7 +58,7 @@ class ShareCardCreateForm extends Form
$this->display('setting' , ' ')->value('小程序分享卡片设置');
$this->text('title','标题')->required();
$this->image('image','图片')->required()->autoUpload()->saveFullUrl()->width(3);
$this->image('image','图片')->required()->autoUpload()->width(3);
}
/**

7
app/Admin/Forms/v3/ShareCardEditForm.php

@ -22,10 +22,12 @@ class ShareCardEditForm extends Form implements LazyRenderable
public function handle(array $input)
{
$id = $input['id'];
$ossImageDir = config('filesystems.disks.oss.img_host');
$data = [
'id' => $id,
'title' => $input['title'],
'image' => $input['image']
'image' => $ossImageDir.'/'.$input['image'],
'relative_path' => $input['image'],
];
$data = json_encode($data);
@ -52,8 +54,7 @@ class ShareCardEditForm extends Form implements LazyRenderable
$this->image('image','图片')->required()->autoUpload()
->customFormat(function() use($image){
return [$image];
})
->saveFullUrl()->width(3);
})->width(3);
}
/**

Loading…
Cancel
Save