bourse stock
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.7 KiB

<?php
namespace app\home\controller;
use app\home\validate\UploadValidate;
use app\model\ConfigModel;
use app\model\FileModel;
use think\exception\ValidateException;
use think\facade\Filesystem;
use think\facade\Log;
use think\response\Json;
class Upload extends HomeBaseController
{
/**
* @desc 上传用户头像
* @return Json
*/
public function uploadHeaderImage(): Json
{
$filess = $_FILES['file']?? "";
try {
// 获取文件
$file = $this->request->file('file');
// 参数校验
validate(UploadValidate::class)->scene('uploadImage')->check(['image' => $file]);
// 将文件存储在本地
$name = Filesystem::disk('local')->putFile('', $file);
$path = '/bs/image/'.$name;
// 入库
$id = FileModel::insertFile($path, 2);
return json(['code' => '0', 'message' => 'Request successful.','data' => ['id' => $id]]);
}catch (ValidateException $validateException){
// 参数校验失败 异常类
$message = $validateException->getError();
return json(['code' => '1004001', 'message' => $message]);
}catch (\Exception $exception){
return json(['code' => '100500', 'message' => 'System error','data' => [$exception->getMessage(), $exception->getTrace(), $exception->getFile(),$filess]]);
}
}
public function uploadRechargeImage(): Json
{
try {
// 获取文件
$file = $this->request->file('file');
// 参数校验
validate(UploadValidate::class)->scene('uploadImage')->check(['image' => $file]);
// 将文件存储在本地
$name = Filesystem::disk('local')->putFile('', $file);
$path = '/bs/image/'.$name;
// 入库
$id = FileModel::insertFile($path, 2);
return json(['code' => '0', 'message' => 'Request successful.','data' => ['id' => $id]]);
}catch (\Exception $exception){
return json(['code' => '100500', 'message' => 'System error','data' => [$exception->getMessage()]]);
}
}
public function getConfig(): Json
{
try {
$param = $this->request->param();
if (empty($param['name'])) return json(['code' => '1', 'message' => '参数错误', 'data' => []]);
$name = $param['name'];
$value = ConfigModel::where('name', $name)->value('value');
return json(['code' => '0', 'message' => 'Request successful.', 'data' => ['value' => $value]]);
} catch (\Exception $exception) {
return json(['code' => '100500', 'message' => 'System error', 'data' => [$exception->getMessage()]]);
}
}
}