项目初始化

This commit is contained in:
2026-03-18 15:54:43 +08:00
commit dfcd762e23
601 changed files with 57883 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
<?php
namespace app\api\controller;
use app\common\controller\Frontend;
use Webman\Http\Request;
use support\Response;
class Ajax extends Frontend
{
protected array $noNeedLogin = ['area', 'buildSuffixSvg'];
protected array $noNeedPermission = ['upload'];
public function upload(Request $request): Response
{
$response = $this->initializeFrontend($request);
if ($response !== null) return $response;
$file = $request->file('file');
if (!$file) {
return $this->error(__('No files were uploaded'));
}
$file = new \app\common\library\upload\WebmanUploadedFile($file);
$driver = $request->get('driver', $request->post('driver', 'local'));
$topic = $request->get('topic', $request->post('topic', 'default'));
try {
$upload = new \app\common\library\Upload();
$attachment = $upload
->setFile($file)
->setDriver($driver)
->setTopic($topic)
->upload(null, 0, $this->auth->id);
unset($attachment['create_time'], $attachment['quote']);
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
return $this->success(__('File uploaded successfully'), [
'file' => $attachment ?? []
]);
}
public function area(Request $request): Response
{
$response = $this->initializeFrontend($request);
if ($response !== null) return $response;
return $this->success('', get_area($request));
}
public function buildSuffixSvg(Request $request): Response
{
$response = $this->initializeFrontend($request);
if ($response !== null) return $response;
$suffix = $request->get('suffix', $request->post('suffix', 'file'));
$background = $request->get('background', $request->post('background'));
$content = build_suffix_svg((string) $suffix, (string) $background);
return response($content, 200, [
'Content-Length' => strlen($content),
'Content-Type' => 'image/svg+xml'
]);
}
}