72 lines
2.0 KiB
PHP
72 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace app\service;
|
|
|
|
use think\facade\Filesystem;
|
|
use think\facade\Request;
|
|
use think\Collection;
|
|
|
|
|
|
/**
|
|
* @method array|null detailById($id, ?array $field = []) 获取一条数据
|
|
* @method mixed deleteById($id) 删除
|
|
* @method mixed updateOne($where, $data) 更新
|
|
* @method int insertOne($data) 新增一条记录
|
|
* @method array|null getInfoByWhere($where) 查询记录
|
|
* @method array|Collection|null getLists($where = [], $field = [], $order = []) 查询列表
|
|
* */
|
|
class BaseService
|
|
{
|
|
static $page;
|
|
|
|
protected $model;
|
|
|
|
/**
|
|
* @param $param
|
|
* @return array
|
|
*/
|
|
public static function getPageInfo($param = []): array
|
|
{
|
|
return [
|
|
'list_rows' => Request::param("pageSize", 10),
|
|
'var_page' => 'page',
|
|
'page' => Request::param("page", 1),
|
|
];
|
|
}
|
|
|
|
public static function orderBy()
|
|
{
|
|
return Request::param("orderBy", 'id desc');
|
|
}
|
|
|
|
public static function upload($data)
|
|
{
|
|
$file = $data['file'];
|
|
$basePath = config('filesystem.disks.public.root');
|
|
validate(['file' => ['fileExt:jpg,png,jpeg,bmp,xlsx,xls,webp|fileSize:20*1024*1024']])->check($data);
|
|
$path = '/images/' . date('Y') . '/' . date('m') . '/' . date('d');
|
|
$fullPath = $basePath . $path;
|
|
if (!file_exists($fullPath)) {
|
|
mkdir($fullPath, 0777, true);
|
|
}
|
|
$imagePath = Filesystem::putFile($path, $file, 'md5');
|
|
$imagePath = str_replace('\\', '/', $imagePath);
|
|
return ['image_path' => config('filesystem.disks.public.url') . $imagePath];
|
|
}
|
|
|
|
public function __call($name, $arguments)
|
|
{
|
|
//找不到方法,自动调用模型中基类方法
|
|
return call_user_func_array([$this->model, $name], $arguments);
|
|
}
|
|
|
|
public static function isLastDayOfMonth()
|
|
{
|
|
$date = date('Y-m-d');
|
|
// 获取该月的最后一天
|
|
$lastDayOfMonth = date('Y-m-t', strtotime($date));
|
|
|
|
// 比较给定日期和该月的最后一天
|
|
return $date === $lastDayOfMonth;
|
|
}
|
|
} |