2023-11-21 15:14:59 +08:00

1 line
3.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\admin\controller\wechat\material;
use app\admin\controller\Controller;
use app\admin\model\Material as MaterialModel;
use app\admin\model\Wechat as WechatModel;
use think\facade\View;
/**
* 视频素材
*/
class Video extends Controller
{
/**
* 列表
*/
public function index()
{
$model = new MaterialModel;
$list = $model->getList(30);
$wechat = WechatModel::detail();
return View::fetch('index', compact('list','wechat'));
}
/**
* 删除
*/
public function delete($id)
{
$model = MaterialModel::get($id);
if (!$model->remove()) {
$error = $model->getError() ?: '删除失败';
return $this->renderError($error);
}
return $this->renderSuccess('删除成功');
}
/**
* 添加
*/
public function add()
{
if ($this->request->isPost()) {
if(!$wechat = WechatModel::detail()){
return $this->renderError('还未绑定公众号');
}
if($wechat['status']['value'] == 0){
return $this->renderError('还未绑定公众号');
}
$model = new MaterialModel;
// 新增记录
$file = request()->file('file');
// 文件扩展名
$fileExt = strtolower($file->extension());
if($fileExt != 'mp4'){
return $this->renderError('上传文件类型只能为mp4');
}
// 文件大小(字节)不能大于10M1024*1024*10
$fileSize = $file->getSize();
if($fileSize > 10485760){
return $this->renderError('上传文件大于10M');
}
$fileInfo = pathinfo($file);
$folder = date('Ymd');//日期文件夹
$savePath = web_path() . 'uploads/admin/'.$folder;
$info = $file->move($savePath);
$file_name = $file->hashName(function () {
return md5(uniqid((string)mt_rand(), true));
});
rename($savePath . DIRECTORY_SEPARATOR . $fileInfo['basename'],$savePath . DIRECTORY_SEPARATOR . $file_name);
$file_path = 'admin/'.$folder.'/'.$file_name;
// 新增记录
if($model->add($this->postData('data'),$file_path)){
return $this->renderSuccess('添加成功', url('wechat.material.video/index'));
}
$error = $model->getError() ?: '添加失败';
return $this->renderError($error);
}
return redirect(url('wechat.material.video/index'));
}
/**
* 编辑
*/
public function edit($id)
{
$model = MaterialModel::get($id);
if ($this->request->isGet()) {
if($model){
return $this->renderSuccess('', '', compact('model'));
}
return $this->renderError('获取失败');
}
// 更新记录
if(!$wechat = WechatModel::detail()){
return $this->renderError('还未绑定公众号');
}
if($wechat['status']['value'] == 0){
return $this->renderError('还未绑定公众号');
}
// 更新记录
if ($model->edit($this->postData('data'))) {
return $this->renderSuccess('更新成功', url('wechat.material.video/index'));
}
$error = $model->getError() ?: '更新失败';
return $this->renderError($error);
}
}