feat:兼容开发
parent
afcf456d60
commit
c3b17a583b
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Controller\Api\V1;
|
||||
|
||||
|
@ -7,7 +8,6 @@ use Hyperf\HttpServer\Annotation\Controller;
|
|||
use Hyperf\HttpServer\Annotation\RequestMapping;
|
||||
use Hyperf\HttpServer\Annotation\Middleware;
|
||||
use App\Middleware\JWTAuthMiddleware;
|
||||
use App\Constants\ResponseCode;
|
||||
use App\Model\Emoticon\Emoticon;
|
||||
use App\Model\Emoticon\EmoticonItem;
|
||||
use App\Service\EmoticonService;
|
||||
|
@ -66,7 +66,7 @@ class EmoticonController extends CController
|
|||
/**
|
||||
* 获取系统表情包
|
||||
*
|
||||
* @RequestMapping(path="system", methods="get")
|
||||
* @RequestMapping(path="system/list", methods="get")
|
||||
*/
|
||||
public function system(): ResponseInterface
|
||||
{
|
||||
|
@ -85,7 +85,7 @@ class EmoticonController extends CController
|
|||
/**
|
||||
* 安装或移除系统表情包
|
||||
*
|
||||
* @RequestMapping(path="set-user-emoticon", methods="post")
|
||||
* @RequestMapping(path="system/install", methods="post")
|
||||
*/
|
||||
public function setUserEmoticon(): ResponseInterface
|
||||
{
|
||||
|
@ -95,6 +95,8 @@ class EmoticonController extends CController
|
|||
'type' => 'required|in:1,2'
|
||||
]);
|
||||
|
||||
$params['emoticon_id'] = intval($params['emoticon_id']);
|
||||
|
||||
$user_id = $this->uid();
|
||||
|
||||
// 移除表情包
|
||||
|
@ -132,7 +134,8 @@ class EmoticonController extends CController
|
|||
/**
|
||||
* 自定义上传表情包
|
||||
*
|
||||
* @RequestMapping(path="upload-emoticon", methods="post")
|
||||
* @RequestMapping(path="customize/create", methods="post")
|
||||
*
|
||||
* @param Filesystem $filesystem
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
|
@ -140,24 +143,16 @@ class EmoticonController extends CController
|
|||
{
|
||||
$file = $this->request->file('emoticon');
|
||||
if (!$file->isValid()) {
|
||||
return $this->response->fail(
|
||||
'图片上传失败,请稍后再试!',
|
||||
[],
|
||||
ResponseCode::VALIDATION_ERROR
|
||||
);
|
||||
return $this->response->invalidParams('上传文件验证失败!');
|
||||
}
|
||||
|
||||
$ext = $file->getExtension();
|
||||
if (!in_array($ext, ['jpg', 'png', 'jpeg', 'gif', 'webp'])) {
|
||||
return $this->response->fail(
|
||||
'图片格式错误,目前仅支持jpg、png、jpeg、gif和webp',
|
||||
[],
|
||||
ResponseCode::VALIDATION_ERROR
|
||||
);
|
||||
return $this->response->invalidParams('图片格式错误,目前仅支持jpg、png、jpeg、gif和webp');
|
||||
}
|
||||
|
||||
try {
|
||||
$path = 'media/images/emoticon/' . date('Ymd') . '/' . create_image_name($ext, getimagesize($file->getRealPath()));
|
||||
$path = 'public/media/images/emoticon/' . date('Ymd') . '/' . create_image_name($ext, getimagesize($file->getRealPath()));
|
||||
$filesystem->write($path, file_get_contents($file->getRealPath()));
|
||||
} catch (\Exception $e) {
|
||||
return $this->response->fail('图片上传失败!');
|
||||
|
@ -165,10 +160,9 @@ class EmoticonController extends CController
|
|||
|
||||
$result = EmoticonItem::create([
|
||||
'user_id' => $this->uid(),
|
||||
'url' => $path,
|
||||
'url' => get_media_url($path),
|
||||
'file_suffix' => $ext,
|
||||
'file_size' => $file->getSize(),
|
||||
'created_at' => date('Y-m-d H:i:s')
|
||||
]);
|
||||
|
||||
if (!$result) {
|
||||
|
@ -177,14 +171,15 @@ class EmoticonController extends CController
|
|||
|
||||
return $this->response->success([
|
||||
'media_id' => $result->id,
|
||||
'src' => get_media_url($result->url)
|
||||
'src' => $result->url,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除收藏的表情包
|
||||
*
|
||||
* @RequestMapping(path="del-collect-emoticon", methods="post")
|
||||
* @RequestMapping(path="customize/delete", methods="post")
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function delCollectEmoticon(): ResponseInterface
|
||||
{
|
||||
|
|
|
@ -136,7 +136,7 @@ class MessageController extends CController
|
|||
}
|
||||
|
||||
try {
|
||||
$path = 'media/images/talks/' . date('Ymd') . '/' . create_image_name($ext, getimagesize($file->getRealPath()));
|
||||
$path = 'public/media/images/talks/' . date('Ymd') . '/' . create_image_name($ext, getimagesize($file->getRealPath()));
|
||||
$filesystem->write($path, file_get_contents($file->getRealPath()));
|
||||
} catch (\Exception $e) {
|
||||
return $this->response->fail();
|
||||
|
@ -152,6 +152,7 @@ class MessageController extends CController
|
|||
'suffix' => $ext,
|
||||
'size' => $file->getSize(),
|
||||
'path' => $path,
|
||||
'url' => get_media_url($path),
|
||||
'original_name' => $file->getClientFilename(),
|
||||
]);
|
||||
|
||||
|
@ -254,6 +255,7 @@ class MessageController extends CController
|
|||
public function emoticon(): ResponseInterface
|
||||
{
|
||||
$params = $this->request->inputs(['talk_type', 'receiver_id', 'emoticon_id']);
|
||||
|
||||
$this->validate($params, [
|
||||
'talk_type' => 'required|in:1,2',
|
||||
'receiver_id' => 'required|integer|min:1',
|
||||
|
@ -269,6 +271,8 @@ class MessageController extends CController
|
|||
|
||||
if (!$emoticon) return $this->response->fail('表情不存在!');
|
||||
|
||||
var_dump($emoticon->toArray());
|
||||
|
||||
$isTrue = $this->talkMessageService->insertFile([
|
||||
'talk_type' => $params['talk_type'],
|
||||
'user_id' => $user_id,
|
||||
|
|
|
@ -34,7 +34,7 @@ class UploadController extends CController
|
|||
* @param Filesystem $filesystem
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
public function fileStream(Filesystem $filesystem): ResponseInterface
|
||||
public function avatar(Filesystem $filesystem): ResponseInterface
|
||||
{
|
||||
$file = $this->request->file("file");
|
||||
|
||||
|
@ -60,6 +60,7 @@ class UploadController extends CController
|
|||
public function initiateMultipart(): ResponseInterface
|
||||
{
|
||||
$params = $this->request->inputs(['file_name', 'file_size']);
|
||||
|
||||
$this->validate($params, [
|
||||
'file_name' => "required",
|
||||
'file_size' => 'required|integer'
|
||||
|
@ -79,14 +80,16 @@ class UploadController extends CController
|
|||
*/
|
||||
public function fileSubareaUpload(): ResponseInterface
|
||||
{
|
||||
$file = $this->request->file('file');
|
||||
|
||||
$params = $this->request->inputs(['upload_id', 'split_index', 'split_num']);
|
||||
|
||||
$this->validate($params, [
|
||||
'upload_id' => 'required',
|
||||
'split_index' => 'required',
|
||||
'split_num' => 'required'
|
||||
]);
|
||||
|
||||
$file = $this->request->file('file');
|
||||
if (!$file || !$file->isValid()) {
|
||||
return $this->response->fail();
|
||||
}
|
||||
|
|
|
@ -81,7 +81,8 @@ class UsersController extends CController
|
|||
|
||||
/**
|
||||
* 编辑我的信息
|
||||
* @RequestMapping(path="edit/detail", methods="post")
|
||||
*
|
||||
* @RequestMapping(path="change/detail", methods="post")
|
||||
*
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
|
@ -103,7 +104,8 @@ class UsersController extends CController
|
|||
|
||||
/**
|
||||
* 修改我的密码
|
||||
* @RequestMapping(path="edit/password", methods="post")
|
||||
*
|
||||
* @RequestMapping(path="change/password", methods="post")
|
||||
*
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
|
@ -133,7 +135,8 @@ class UsersController extends CController
|
|||
|
||||
/**
|
||||
* 更换用户手机号
|
||||
* @RequestMapping(path="edit/mobile", methods="post")
|
||||
*
|
||||
* @RequestMapping(path="change/mobile", methods="post")
|
||||
*
|
||||
* @param SmsCodeService $smsCodeService
|
||||
* @return ResponseInterface
|
||||
|
@ -168,7 +171,8 @@ class UsersController extends CController
|
|||
|
||||
/**
|
||||
* 修改用户邮箱接口
|
||||
* @RequestMapping(path="edit/email", methods="post")
|
||||
*
|
||||
* @RequestMapping(path="change/email", methods="post")
|
||||
*
|
||||
* @param \App\Support\SendEmailCode $emailCode
|
||||
* @return \Psr\Http\Message\ResponseInterface
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
|
||||
namespace App\Model\Emoticon;
|
||||
|
@ -18,12 +17,15 @@ use App\Model\BaseModel;
|
|||
* @property int $file_size 表情包文件大小
|
||||
* @property string $created_at 创建时间
|
||||
* @property string $updated_at 更新时间
|
||||
*
|
||||
* @package App\Model
|
||||
*/
|
||||
class EmoticonItem extends BaseModel
|
||||
{
|
||||
protected $table = 'emoticon_item';
|
||||
|
||||
public $timestamps = true;
|
||||
|
||||
protected $fillable = [
|
||||
'emoticon_id',
|
||||
'user_id',
|
||||
|
|
|
@ -36,6 +36,7 @@ class TalkRecordsFile extends BaseModel
|
|||
'suffix',
|
||||
'size',
|
||||
'path',
|
||||
'url',
|
||||
'created_at'
|
||||
];
|
||||
|
||||
|
|
|
@ -157,11 +157,6 @@ class EmoticonService extends BaseService
|
|||
*/
|
||||
public function getDetailsAll(array $where = []): array
|
||||
{
|
||||
$items = EmoticonItem::where($where)->get(['id as media_id', 'url as src'])->toArray();
|
||||
foreach ($items as $k => $item) {
|
||||
$items[$k]['src'] = get_media_url($item['src']);
|
||||
}
|
||||
|
||||
return $items;
|
||||
return EmoticonItem::where($where)->get(['id as media_id', 'url as src'])->toArray();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ class FormatMessageService
|
|||
if ($files) {
|
||||
$files = TalkRecordsFile::whereIn('record_id', $files)->get([
|
||||
'id', 'record_id', 'user_id', 'source', 'type', 'drive',
|
||||
'original_name', 'suffix', 'size', 'path'
|
||||
'original_name', 'suffix', 'size', 'path', 'url'
|
||||
])->keyBy('record_id')->toArray();
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ class FormatMessageService
|
|||
case TalkMessageType::FILE_MESSAGE:
|
||||
$rows[$k]['file'] = $files[$row['id']] ?? [];
|
||||
if ($rows[$k]['file']) {
|
||||
$rows[$k]['file']['file_url'] = get_media_url($rows[$k]['file']['path']);
|
||||
$rows[$k]['file']['file_url'] = $rows[$k]['file']['url'];
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -39,10 +39,9 @@ class Response
|
|||
$resp = [
|
||||
"code" => ResponseCode::SUCCESS,
|
||||
"message" => $message,
|
||||
"data" => $data,
|
||||
];
|
||||
|
||||
// if ($data) $resp["data"] = $data;
|
||||
if ($data) $resp["data"] = $data;
|
||||
|
||||
return $this->response->json($resp);
|
||||
}
|
||||
|
@ -55,7 +54,7 @@ class Response
|
|||
* @param int $code 错误码
|
||||
* @return PsrResponseInterface
|
||||
*/
|
||||
public function fail(string $message = 'fail', array $data = [], $code = ResponseCode::FAIL): PsrResponseInterface
|
||||
public function fail(string $message = 'fail', array $data = [], int $code = ResponseCode::FAIL): PsrResponseInterface
|
||||
{
|
||||
$resp = [
|
||||
"code" => $code,
|
||||
|
@ -67,6 +66,19 @@ class Response
|
|||
return $this->response->json($resp);
|
||||
}
|
||||
|
||||
/**
|
||||
* 参数验证错误
|
||||
* @param string $message 错误信息
|
||||
* @return PsrResponseInterface
|
||||
*/
|
||||
public function invalidParams(string $message = 'fail'): PsrResponseInterface
|
||||
{
|
||||
return $this->response->json([
|
||||
"code" => ResponseCode::VALIDATION_ERROR,
|
||||
"message" => $message,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理错误信息返回
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue