Browse Source

添加中间件和服务层

master
unknown 1 year ago
parent
commit
1dc412f562
  1. 28
      app/controller/ResourceController.php
  2. 5
      app/controller/ResourceDirController.php
  3. 5
      app/event.php
  4. 20
      app/event/ResourceEvent.php
  5. 19
      app/listener/ResourceEvent.php
  6. 30
      app/middleware/LoginMiddleware.php
  7. 18
      app/model/AccreditFile.php
  8. 44
      app/model/File.php
  9. 150
      app/model/Resource.php
  10. 73
      app/model/ResourceDir.php
  11. 28
      app/model/ResourceFile.php
  12. 23
      app/model/ResourceOperationLog.php
  13. 9
      app/model/Share.php
  14. 50
      app/service/FileService.php
  15. 31
      app/service/FileSystemService.php
  16. 83
      app/service/ResourceDirService.php
  17. 177
      app/service/ResourceService.php
  18. 55
      app/service/Service.php
  19. 22
      app/service/UserService.php
  20. 3
      app/validate/ResourceValidate.php
  21. 4
      config/middleware.php
  22. 4
      route/app.php

28
app/controller/ResourceController.php

@ -3,6 +3,7 @@
namespace app\controller; namespace app\controller;
use app\model\Resource; use app\model\Resource;
use app\service\ResourceService;
use app\validate\ResourceValidate; use app\validate\ResourceValidate;
use think\facade\Db; use think\facade\Db;
use think\facade\Lang; use think\facade\Lang;
@ -11,7 +12,6 @@ use think\Request;
class ResourceController class ResourceController
{ {
/** /**
* 全部资源 列表 * 全部资源 列表
*/ */
@ -53,7 +53,7 @@ class ResourceController
/** /**
* 全部资源 新增 * 全部资源 新增
*/ */
public function save(Resource $resource, Request $request)
public function save(Request $request)
{ {
// 数据验证 // 数据验证
try { try {
@ -73,7 +73,7 @@ class ResourceController
Db::startTrans(); Db::startTrans();
try { try {
// 1. 保存站点到数据库 // 1. 保存站点到数据库
$res = $resource->addResource($request->param());
$res = (new ResourceService())->addResource($request->param());
Db::commit(); Db::commit();
} catch (\Exception $e) { } catch (\Exception $e) {
@ -97,9 +97,19 @@ class ResourceController
/** /**
* 资源 分享 * 资源 分享
*/ */
public function share($id)
public function share(Resource $resource, Request $request)
{ {
dd($id);
try {
validate(ResourceValidate::class)->scene('share')->check($request->param());
} catch (ValidateException $e) {
return jsonReturn(-1, $e->getError());
}
try {
$resource->addResourceShare($request->param(), $request->user_id);
return jsonReturn(0, Lang::get('成功'));
} catch (\Exception $e) {
return jsonReturn(-5, $e->getMessage());
}
} }
/** /**
@ -123,13 +133,13 @@ class ResourceController
/** /**
* 资源 移动到 * 资源 移动到
*/ */
public function moveTo(Resource $resource, Request $request)
public function moveTo(Request $request)
{ {
//保存到数据库 //保存到数据库
Db::startTrans(); Db::startTrans();
try { try {
// 移动资源 // 移动资源
$res = $resource->moveTo($request->param('ids'), $request->param('to_id'));
$res = (new ResourceService())->moveTo($request->param('ids'), $request->param('to_id'));
Db::commit(); Db::commit();
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();
@ -142,12 +152,12 @@ class ResourceController
/** /**
* 资源 复制到 * 资源 复制到
*/ */
public function copyTo(Resource $resource, Request $request)
public function copyTo(Request $request)
{ {
Db::startTrans(); Db::startTrans();
try { try {
// 复制资源 // 复制资源
$res = $resource->copyTo($request->param('ids'), $request->param('to_id'));
$res = (new ResourceService())->copyTo($request->param('ids'), $request->param('to_id'));
Db::commit(); Db::commit();
} catch (\Exception $e) { } catch (\Exception $e) {
Db::rollback(); Db::rollback();

5
app/controller/ResourceDirController.php

@ -4,6 +4,7 @@ namespace app\controller;
use app\model\Resource; use app\model\Resource;
use app\model\ResourceDir; use app\model\ResourceDir;
use app\service\ResourceDirService;
use app\validate\ResourceValidate; use app\validate\ResourceValidate;
use think\facade\Db; use think\facade\Db;
use think\facade\Lang; use think\facade\Lang;
@ -48,7 +49,7 @@ class ResourceDirController
/** /**
* 创建文件夹 * 创建文件夹
*/ */
public function save(ResourceDir $resource_dir, Request $request)
public function save(Request $request)
{ {
if ($request->param('type') != 2) { if ($request->param('type') != 2) {
return jsonReturn(-1, '仅支持创建文件夹'); return jsonReturn(-1, '仅支持创建文件夹');
@ -64,7 +65,7 @@ class ResourceDirController
Db::startTrans(); Db::startTrans();
try { try {
// 新增文件夹 // 新增文件夹
$res = $resource_dir->addResourceDir($request->param());
$res = (new ResourceDirService())->addResourceDir($request->param());
Db::commit(); Db::commit();
} catch (\Exception $e) { } catch (\Exception $e) {

5
app/event.php

@ -2,6 +2,7 @@
// 事件定义文件 // 事件定义文件
return [ return [
'bind' => [ 'bind' => [
'ResourceEvent' => 'app\event\ResourceEvent',
], ],
'listen' => [ 'listen' => [
@ -10,8 +11,8 @@ return [
'HttpEnd' => [], 'HttpEnd' => [],
'LogLevel' => [], 'LogLevel' => [],
'LogWrite' => [], 'LogWrite' => [],
'ResourceEvent' => ['app\listener\ResourceEvent'],
], ],
'subscribe' => [
],
'subscribe' => [],
]; ];

20
app/event/ResourceEvent.php

@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace app\event;
use app\model\Resource;
//resource 事件类
class ResourceEvent
{
public $resource;
public $method;
public function __construct(Resource $resource, $method)
{
$this->resource = $resource;
$this->method = $method;
}
}

19
app/listener/ResourceEvent.php

@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace app\listener;
class ResourceEvent
{
/**
* 事件监听处理
*
* @return mixed
*/
public function handle($resource)
{
//
dd($resource->resource);
}
}

30
app/middleware/LoginMiddleware.php

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace app\middleware;
use app\exception\TokenException;
use think\facade\Cache;
use xiaodi\JWTAuth\Facade\Jwt;
class LoginMiddleware
{
/**
* 处理请求
*
* @param \think\Request $request
* @param \Closure $next
* @return Response
* @throws TokenException
*/
public function handle($request, \Closure $next)
{
$userId = 2;
$request->user_id = $userId;
// 继续处理请求
return $next($request);
}
}

18
app/model/AccreditFile.php

@ -1,18 +0,0 @@
<?php
namespace app\model;
use app\exception\ModelException;
class AccreditFile extends Model
{
/**
* @param $resource 资源对象
* @param $accredit_files 授权文件数组
* @param $file_input_mode 素材录入方式
* 添加资源 素材关联表
*/
public function addAccreditFile($resource, $accredit_files)
{
}
}

44
app/model/File.php

@ -6,48 +6,4 @@ use app\exception\ModelException;
class File extends Model class File extends Model
{ {
/**
* @param $resource 资源对象
* @param $accredit_files 授权素材数组
* 添加 授权素材
*/
public function addAccreditFile($resource, $accredit_files)
{
foreach ($accredit_files as $accredit_file) {
$accredit_file['type'] = 2;
$accredit_file_array[] = $accredit_file;
}
// 资源素材关联 系统会自动插入
$resource->accreditFiles()->saveAll($accredit_file_array);
}
/**
* @param $resource 资源对象
* @param $files 素材
* 添加 素材
*/
public function addFile($resource, $files, $file_input_mode)
{
foreach ($files as $file) {
$file['type'] = 1;
$file['file_input_mode'] = $file_input_mode;
$file_array[] = $file;
}
// 资源素材关联 系统会自动插入
$resource->files()->saveAll($file_array);
}
/**
* @param $files 素材数组
* 获得一组素材的大小
*/
public function getFileSize($files)
{
$size = 0;
foreach ($files as $file) {
$size += $file['size'];
}
return $size;
}
} }

150
app/model/Resource.php

@ -2,10 +2,12 @@
namespace app\model; namespace app\model;
use app\event\ResourceEvent;
use app\exception\ModelException; use app\exception\ModelException;
class Resource extends Model class Resource extends Model
{ {
public function user() public function user()
{ {
return $this->belongsTo(User::class); return $this->belongsTo(User::class);
@ -34,152 +36,4 @@ class Resource extends Model
{ {
return $this->hasMany(File::class, 'resource_id', 'id'); return $this->hasMany(File::class, 'resource_id', 'id');
} }
/**
* @param $param 前端提交的参数
* @return array
* 添加资源
*/
public function addResource($param): array
{
try {
//插入资源表
$resource = self::create($param);
//存在授权文件 插入授权文件表
if ($param['copyright_type'] == 2 && isset($param['accredit_files'])) {
(new File())->addAccreditFile($resource, $param['accredit_files']);
}
//插入素材表
(new File())->addFile($resource, $param['files'], $param['file_input_mode']);
//添加资源的后置操作
$this->afterAddResource($resource);
} catch (\Exception $e) {
throw new ModelException($e->getMessage());
}
return dataReturn($this->sucCode, $this->addMsg, $resource->id);
}
/**
* @param $resource 资源对象
* @return array
* 添加资源后的的操作
*/
public function afterAddResource($resource)
{
//根据素材 更新资源大小 数量
$file_size_and_count = $this->getFileSizeAndCount($resource);
$resource->file_size = $file_size_and_count['file_size'];
$resource->file_count = $file_size_and_count['file_count'];
//todo 还有状态的啥的
$resource->save();
}
/**
* @param $ids 需要移动的资源ids
* @param $to_id 文件夹id
* @return array
* 移动操作
*/
public function moveTo($ids, $to_id)
{
foreach ($ids as $resource_id) {
$resource = $this::find($resource_id);
if ($resource->parent_id == $to_id) {
//移动到同文件夹 无需操作
continue;
}
//1 更新原文件夹 以及所有父文件夹 大小和数量
(new ResourceDir())->changeDirSizeAndCount($resource, $resource->parent_id, '-');
//2 更新parent_id
$resource->parent_id = $to_id;
$resource->save();
//3 更新 新的文件夹 以及所有父文件夹 大小和数量
(new ResourceDir())->changeDirSizeAndCount($resource, $to_id, '+');
}
return dataReturn($this->sucCode, $this->moveMsg);
}
/**
* @param $ids 需要复制的资源ids
* @param $to_id 文件夹id
* @return array
* 移动操作
*/
public function copyTo($ids, $to_id)
{
foreach ($ids as $resource_id) {
//复制需要 需要复制里面所有的素材
$resource = $this::with(['files', 'accredit_files'])->find($resource_id);
//1.创建一个新资源
$this->copyResource($resource->toArray(), $to_id);
//2 更新 新的文件夹 以及所有父文件夹 大小和数量
(new ResourceDir())->changeDirSizeAndCount($resource, $to_id, '+');
}
return dataReturn($this->sucCode, $this->copyMsg);
}
/**
* @param $resource 资源数组(因为前台创建是数组 保持一致)
* @param $to_id 复制到的文件夹id
* @return array
* 复制一个资源数据
*/
public function copyResource($resource, $to_id)
{
//资源表字段更新
unset($resource['id']);
$resource['create_time'] = date('Y-m-d H:i:s');
$resource['update_time'] = date('Y-m-d H:i:s');
$resource['parent_id'] = $to_id;
//关联表去掉关联字段
if (isset($resource['files'])) {
foreach ($resource['files'] as $key => $file) {
unset($resource['files'][$key]['id']);
unset($resource['files'][$key]['resource_id']); //去掉原来的关联关系
}
}
if (isset($resource['accredit_files'])) {
foreach ($resource['accredit_files'] as $key => $file) {
unset($resource['accredit_files'][$key]['id']);
unset($resource['accredit_files'][$key]['resource_id']); //去掉原来的关联关系
}
}
//重新创建资源
return $this->addResource($resource);
}
/**
* @param $resource 资源对象
* @return array
* 获取一个资源的大小(所有素材大小的总和) 和包含的素材数量
*/
public function getFileSizeAndCount($resource)
{
$size = 0;
$count = 0;
foreach ($resource->files as $file) {
if (isset($file['size'])) {
$size += $file['size'];
}
$count++;
}
return [
'file_size' => $size,
'file_count' => $count,
];
}
} }

73
app/model/ResourceDir.php

@ -8,77 +8,4 @@ use think\facade\Db;
class ResourceDir extends Model class ResourceDir extends Model
{ {
protected $table = 'zl_resource'; protected $table = 'zl_resource';
/**
* @param $param 前端提交的参数
* @return array
* 添加文件夹
*/
public function addResourceDir($param): array
{
try {
$resource_dir = self::create($param);
//更新id_path
$resource_dir->id_path = $this->getResourceDirIdPath($resource_dir->id);
$resource_dir->save();
} catch (\Exception $e) {
throw new ModelException($e->getMessage());
}
return dataReturn($this->sucCode, $this->addMsg, $resource_dir->id);
}
/**
* @param $resource_dir_id 文件夹id
* @return array
* 获取一个文件夹下的所有文件夹 和资源
*/
public function getResourceDirAndResource($resource_dir_id)
{
$resource_list = Resource::where('parent_id', $resource_dir_id)
->order('type', 'desc') //文件夹放在上面
->order('create_time', 'desc')
->select();
return $resource_list;
}
/**
* @param $resource 资源对象
* @param $resource_dir_id 移入/移出的文件夹id
* @param $resource_dir_id method + 移入 - 移除
* @return array
* 将一资源移入或者移出文件夹 文件夹修改资源数量 资源大小
*/
public function changeDirSizeAndCount($resource, $resource_dir_id, $method = '+')
{
//资源还不属于文件夹
if ($resource_dir_id == 0) {
return true;
}
$resource_dir = $this::find($resource_dir_id);
if ($method === '+') {
$this::whereIn('id', $resource_dir['id_path'])->inc('resource_size', $resource->file_size)
->inc('resource_count', 1)
->update();
} elseif ($method === '-') {
$this::whereIn('id', $resource_dir['id_path'])->dec('resource_size', $resource->file_size)
->dec('resource_count', 1)
->update();
}
return dataReturn($this->sucCode, $this->addMsg);
}
/**
* @param $resource_dir_id 文件夹id
* 获取文件夹 id_path(从顶级文件夹到自己的路径)
*/
public function getResourceDirIdPath($resource_dir_id)
{
$path = [];
// 调用递归函数
findParent($this, $resource_dir_id, $path);
// 反转路径数组,使顶级文件夹在前
return implode(',', array_reverse($path));
}
} }

28
app/model/ResourceFile.php

@ -1,28 +0,0 @@
<?php
namespace app\model;
use app\exception\ModelException;
use think\model\Pivot;
class ResourceFile extends Pivot
{
protected $autoWriteTimestamp = true;
/**
* @param int $resource_id 资源id
* @param array $file_ids 素材ids
* @return array
* 手动添加 添加资源素材关联表
*/
public function addResourceFile($resource_id, $file_ids)
{
foreach ($file_ids as $file_id) {
$resource_file_array[] = [
'resource_id' => $resource_id,
'file_id' => $file_id,
];
}
$ResourceFile = new ResourceFile();
$ResourceFile->saveAll($resource_file_array);
}
}

23
app/model/ResourceOperationLog.php

@ -0,0 +1,23 @@
<?php
namespace app\model;
use app\exception\ModelException;
class ResourceOperationLog extends Model
{
// // 记录操作日志
// protected static function logOperation($resource, $operationType)
// {
// echo 123;
// die;
// $log->resource_id = $resource->id;
// $log->resource_type = 'resource';
// $log->operation_type = $operationType;
// $log->user_id = session('user_id'); // 获取当前用户ID,假设用户ID保存在session中
// $log->details = json_encode($resource->toArray());
// $log->ip_address = Request::ip();
// $log->user_agent = Request::server('HTTP_USER_AGENT');
// $log->save();
// }
}

9
app/model/Share.php

@ -0,0 +1,9 @@
<?php
namespace app\model;
use app\exception\ModelException;
class Share extends Model
{
}

50
app/service/FileService.php

@ -0,0 +1,50 @@
<?php
namespace app\service;
class FileService
{
/**
* @param $resource 资源对象
* @param $accredit_files 授权素材数组
* 添加 授权素材
*/
public function addAccreditFile($resource, $accredit_files)
{
foreach ($accredit_files as $accredit_file) {
$accredit_file['type'] = 2;
$accredit_file_array[] = $accredit_file;
}
// 资源素材关联 系统会自动插入
$resource->accreditFiles()->saveAll($accredit_file_array);
}
/**
* @param $resource 资源对象
* @param $files 素材
* 添加 素材
*/
public function addFile($resource, $files, $file_input_mode)
{
foreach ($files as $file) {
$file['type'] = 1;
$file['file_input_mode'] = $file_input_mode;
$file_array[] = $file;
}
// 资源素材关联 系统会自动插入
$resource->files()->saveAll($file_array);
}
/**
* @param $files 素材数组
* 获得一组素材的大小
*/
public function getFileSize($files)
{
$size = 0;
foreach ($files as $file) {
$size += $file['size'];
}
return $size;
}
}

31
app/service/FileSystemService.php

@ -1,31 +0,0 @@
<?php
declare(strict_types=1);
namespace app\service;
class FileSystemService extends \think\Service
{
/**
* 注册服务
*
* @return mixed
*/
public function register()
{
//
//手动修改的
echo 'FileSystemService-register()';
}
/**
* 执行服务
*
* @return mixed
*/
public function boot()
{
//手动修改的
echo 'FileSystemService-boot()';
}
}

83
app/service/ResourceDirService.php

@ -0,0 +1,83 @@
<?php
namespace app\service;
use app\exception\ModelException;
use app\model\Resource;
use app\model\ResourceDir;
class ResourceDirService extends Service
{
/**
* @param $param 前端提交的参数
* @return array
* 添加文件夹
*/
public function addResourceDir($param): array
{
try {
$resource_dir = ResourceDir::create($param);
//更新id_path
$resource_dir->id_path = $this->getResourceDirIdPath($resource_dir->id);
$resource_dir->save();
} catch (\Exception $e) {
throw new ModelException($e->getMessage());
}
return dataReturn($this->sucCode, $this->addMsg, $resource_dir->id);
}
/**
* @param $resource_dir_id 文件夹id
* @return array
* 获取一个文件夹下的所有文件夹 和资源
*/
public function getResourceDirAndResource($resource_dir_id)
{
$resource_list = ResourceDir::where('parent_id', $resource_dir_id)
->order('type', 'desc') //文件夹放在上面
->order('create_time', 'desc')
->select();
return $resource_list;
}
/**
* @param $resource 资源对象
* @param $resource_dir_id 移入/移出的文件夹id
* @param $resource_dir_id method + 移入 - 移除
* @return array
* 将一资源移入或者移出文件夹 文件夹修改资源数量 资源大小
*/
public function changeDirSizeAndCount($resource, $resource_dir_id, $method = '+')
{
//资源还不属于文件夹
if ($resource_dir_id == 0) {
return true;
}
$resource_dir = ResourceDir::find($resource_dir_id);
if ($method === '+') {
ResourceDir::whereIn('id', $resource_dir['id_path'])->inc('resource_size', $resource->file_size)
->inc('resource_count', 1)
->update();
} elseif ($method === '-') {
ResourceDir::whereIn('id', $resource_dir['id_path'])->dec('resource_size', $resource->file_size)
->dec('resource_count', 1)
->update();
}
return dataReturn($this->sucCode, $this->addMsg);
}
/**
* @param $resource_dir_id 文件夹id
* 获取文件夹 id_path(从顶级文件夹到自己的路径)
*/
public function getResourceDirIdPath($resource_dir_id)
{
$path = [];
// 调用递归函数
findParent(new ResourceDir(), $resource_dir_id, $path);
// 反转路径数组,使顶级文件夹在前
return implode(',', array_reverse($path));
}
}

177
app/service/ResourceService.php

@ -0,0 +1,177 @@
<?php
namespace app\service;
use app\exception\ModelException;
use app\model\Resource;
use app\model\ResourceDir;
use app\model\Share;
class ResourceService extends Service
{
/**
* @param $param 前端提交的参数
* @return array
* 添加资源
*/
public function addResource($param): array
{
try {
// event(new ResourceEvent($this::find(1), 'add'));
//插入资源表
$resource = Resource::create($param);
//存在授权文件 插入授权文件表
if ($param['copyright_type'] == 2 && isset($param['accredit_files'])) {
(new FileService())->addAccreditFile($resource, $param['accredit_files']);
}
//插入素材表
(new FileService())->addFile($resource, $param['files'], $param['file_input_mode']);
//添加资源的后置操作
$this->afterAddResource($resource);
} catch (\Exception $e) {
throw new ModelException($e->getMessage());
}
return dataReturn($this->sucCode, $this->addMsg, $resource->id);
}
/**
* @param $resource 资源对象
* @return array
* 添加资源后的的操作
*/
public function afterAddResource($resource)
{
//根据素材 更新资源大小 数量
$file_size_and_count = $this->getFileSizeAndCount($resource);
$resource->file_size = $file_size_and_count['file_size'];
$resource->file_count = $file_size_and_count['file_count'];
//todo 还有状态的啥的
$resource->save();
}
/**
* @param $ids 需要移动的资源ids
* @param $to_id 文件夹id
* @return array
* 移动操作
*/
public function moveTo($ids, $to_id)
{
foreach ($ids as $resource_id) {
$resource = Resource::find($resource_id);
if ($resource->parent_id == $to_id) {
//移动到同文件夹 无需操作
continue;
}
//1 更新原文件夹 以及所有父文件夹 大小和数量
(new ResourceDirService())->changeDirSizeAndCount($resource, $resource->parent_id, '-');
//2 更新parent_id
$resource->parent_id = $to_id;
$resource->save();
//3 更新 新的文件夹 以及所有父文件夹 大小和数量
(new ResourceDirService())->changeDirSizeAndCount($resource, $to_id, '+');
}
return dataReturn($this->sucCode, $this->moveMsg);
}
/**
* @param $ids 需要复制的资源ids
* @param $to_id 文件夹id
* @return array
* 移动操作
*/
public function copyTo($ids, $to_id)
{
foreach ($ids as $resource_id) {
//复制需要 需要复制里面所有的素材
$resource = Resource::with(['files', 'accredit_files'])->find($resource_id);
//1.创建一个新资源
$this->copyResource($resource->toArray(), $to_id);
//2 更新 新的文件夹 以及所有父文件夹 大小和数量
(new ResourceDirService())->changeDirSizeAndCount($resource, $to_id, '+');
}
return dataReturn($this->sucCode, $this->copyMsg);
}
/**
* @param $resource 资源数组(因为前台创建是数组 保持一致)
* @param $to_id 复制到的文件夹id
* @return array
* 复制一个资源数据
*/
public function copyResource($resource, $to_id)
{
//资源表字段更新
unset($resource['id']);
$resource['create_time'] = date('Y-m-d H:i:s');
$resource['update_time'] = date('Y-m-d H:i:s');
$resource['parent_id'] = $to_id;
//关联表去掉关联字段
if (isset($resource['files'])) {
foreach ($resource['files'] as $key => $file) {
unset($resource['files'][$key]['id']);
unset($resource['files'][$key]['resource_id']); //去掉原来的关联关系
}
}
if (isset($resource['accredit_files'])) {
foreach ($resource['accredit_files'] as $key => $file) {
unset($resource['accredit_files'][$key]['id']);
unset($resource['accredit_files'][$key]['resource_id']); //去掉原来的关联关系
}
}
//重新创建资源
return $this->addResource($resource);
}
/**
* @param $resource 资源对象
* @return array
* 获取一个资源的大小(所有素材大小的总和) 和包含的素材数量
*/
public function getFileSizeAndCount($resource)
{
$size = 0;
$count = 0;
foreach ($resource->files as $file) {
if (isset($file['size'])) {
$size += $file['size'];
}
$count++;
}
return [
'file_size' => $size,
'file_count' => $count,
];
}
/**
* @param $param 提交参数
* @param $user_id 用户id
*
* @return array
*/
public function addResourceShare($param, $user_id)
{
$param['user_id'] = $user_id;
$param['code'] = $this->getResourceShareInfo(); //获取访问链接和密码
dd($param);
$resource = Share::create($param);
}
public function getResourceShareInfo()
{
}
}

55
app/service/Service.php

@ -0,0 +1,55 @@
<?php
namespace app\service;
class Service
{
// msg
public $moveMsg;
public $copyMsg;
public $getMsg;
public $addMsg;
public $updateMsg;
public $delMsg;
// 成功编码
public $sucCode = 0;
// 软删除数据
public $delData;
// 错误编码
public $errorCode = '50011';
public $listCacheKey;
public $detailCacheKey;
public $className;
protected $hidden = [
'password', 'seller_id'
];
public function __construct($data = [])
{
$this->delData = [
'is_del' => 2,
'delete_time' => time(),
'update_time' => time(),
];
$this->className = $this->getClassName();
$this->listCacheKey = $this->className . '_cache_list';
$this->detailCacheKey = $this->className . '_cache_detail';
$this->moveMsg = lang('移动成功');
$this->copyMsg = lang('复制成功');
$this->getMsg = lang('获取成功');
$this->addMsg = lang('添加成功');
$this->updateMsg = lang('修改成功');
$this->delMsg = lang('删除成功');
// parent::__construct($data);
}
public function getClassName(): string
{
$reflection = new \ReflectionClass($this);
return $reflection->getShortName();
}
}

22
app/service/UserService.php

@ -1,22 +0,0 @@
<?php
// application/service/UserService.php
namespace app\service;
use think\Service;
class UserService extends Service
{
// public function register()
// {
// // 注册服务时执行的逻辑,例如绑定到容器
// $this->app->bind('userService', function () {
// return new UserService();
// });
// }
public function doSomething()
{
// 服务的具体方法
return 'Service is working';
}
}

3
app/validate/ResourceValidate.php

@ -25,6 +25,8 @@ class ResourceValidate extends Validate
"use_range|适用范围" => 'require', "use_range|适用范围" => 'require',
"file_input_mode|素材录入方式" => 'require', "file_input_mode|素材录入方式" => 'require',
"files|素材" => 'require', "files|素材" => 'require',
'expire_type|有效期' => 'require',
]; ];
protected $scene = [ protected $scene = [
@ -34,6 +36,7 @@ class ResourceValidate extends Validate
'save_dir' => ['name'], //新增文件夹 'save_dir' => ['name'], //新增文件夹
'rename_dir' => ['name'], //重命名文件夹 'rename_dir' => ['name'], //重命名文件夹
'share' => ['name', 'expire_type'] //分享
// 'setStatus' => ['id', 'status'], // 'setStatus' => ['id', 'status'],
]; ];

4
config/middleware.php

@ -2,7 +2,9 @@
// 中间件配置 // 中间件配置
return [ return [
// 别名或分组 // 别名或分组
'alias' => [],
'alias' => [
'login' => app\middleware\LoginMiddleware::class,
],
// 优先级设置,此数组中的中间件会按照数组中的顺序优先执行 // 优先级设置,此数组中的中间件会按照数组中的顺序优先执行
'priority' => [], 'priority' => [],
]; ];

4
route/app.php

@ -21,11 +21,11 @@ Route::group('resource', function () {
Route::get('/index', 'index'); Route::get('/index', 'index');
Route::post('/save', 'save'); Route::post('/save', 'save');
Route::get('/detail/:id', 'detail'); Route::get('/detail/:id', 'detail');
Route::get('/share/:id', 'share');
Route::post('/share', 'share');
Route::post('/rename', 'rename'); Route::post('/rename', 'rename');
Route::post('/move_to', 'moveTo'); Route::post('/move_to', 'moveTo');
Route::post('/copy_to', 'copyTo'); Route::post('/copy_to', 'copyTo');
})->prefix('resource/');
})->prefix('resource/')->middleware('login');
//文件夹 //文件夹
Route::group('resourceDir', function () { Route::group('resourceDir', function () {

Loading…
Cancel
Save