xiaoai/php_server/app/api/controller/UploadController.php

141 lines
3.6 KiB
PHP

<?php
namespace app\api\controller;
use app\common\enum\FileEnum;
use app\common\model\lianlian\LlConversation;
use app\common\service\UploadService;
use Exception;
use think\response\Json;
/** 上传文件
* Class UploadController
* @package app\api\controller
*/
class UploadController extends BaseApiController
{
public array $notNeedLogin = ['wechatUpload'];
/**
* @notes 上传图片
* @return Json
* @author 段誉
* @date 2022/9/20 18:11
*/
public function image()
{
try {
$result = UploadService::image(0, $this->userId, FileEnum::SOURCE_USER);
return $this->success('上传成功', $result);
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
/**
* @notes 上传文件
* @return Json
* @author 段誉
* @date 2022/9/20 18:11
*/
public function file()
{
try {
$result = UploadService::fileLocal(0, $this->userId, FileEnum::SOURCE_USER);
return $this->success('上传成功', $result);
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
/**
* @notes 上传文件
* @return Json
* @author 段誉
* @date 2022/9/20 18:11
*/
public function csvFile()
{
try {
$result = UploadService::csvFile(0, $this->userId, FileEnum::SOURCE_USER);
return $this->success('上传成功', $result);
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
/**
* @notes 上传视频
* @return Json
* @author 段誉
* @date 2021/12/29 16:27
*/
public function video()
{
try {
$cid = $this->request->post('cid', 0);
$result = UploadService::video($cid, $this->userId, FileEnum::SOURCE_USER);
return $this->success('上传成功', $result);
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
/**
* @notes 上传文件
* @return Json
* @author 段誉
* @date 2022/9/20 18:11
*/
public function audio()
{
set_time_limit(0);
try {
$result = UploadService::audio(0, $this->userId, FileEnum::SOURCE_USER);
return $this->success('上传成功', $result);
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
/**
* @notes 上传文件
* @return Json
* @author 段誉
* @date 2022/9/20 18:11
*/
public function llAudio()
{
$postData = $this->request->post();
$conversationInfo = LlConversation::where('status', 1)->findOrEmpty($postData['conversation_id']);
if ($conversationInfo->isEmpty()) {
return $this->fail('会话异常');
}
$filePath = "lianlian/audio/" . $this->userId . "/" . $postData['conversation_id'] . "/";
if (!is_dir(public_path() . $filePath)) {
mkdir($filePath, 0755, true);
}
try {
$result = UploadService::audio(0, $this->userId, FileEnum::SOURCE_USER, $filePath, false);
return $this->success('上传成功', $result);
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
public function wechatUpload(){
try {
$result = UploadService::wechatUpload(0, 0, FileEnum::SOURCE_WECHAT);
return json_encode($result, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
} catch (Exception $e) {
return $this->fail($e->getMessage());
}
}
}