perf: 优化代码

This commit is contained in:
kuaifan 2023-12-29 15:58:15 +08:00
parent f76d36a74b
commit 7f916c4770
16 changed files with 134 additions and 137 deletions

View File

@ -28,6 +28,7 @@ use Hhxsv5\LaravelS\Swoole\Task\Task;
class ApproveController extends AbstractController class ApproveController extends AbstractController
{ {
private $flow_url = ''; private $flow_url = '';
public function __construct() public function __construct()
{ {
$this->flow_url = env('FLOW_URL') ?: 'http://approve'; $this->flow_url = env('FLOW_URL') ?: 'http://approve';
@ -889,7 +890,8 @@ class ApproveController extends AbstractController
} }
} }
function getStateDescription($state) { function getStateDescription($state)
{
$state_map = array( $state_map = array(
0 => '全部', 0 => '全部',
1 => '审批中', 1 => '审批中',
@ -1129,7 +1131,7 @@ class ApproveController extends AbstractController
} }
/** /**
* @api {get} api/approve/process/doto 20. 查询需要我审批的流程数量 * @api {get} api/approve/process/doto 21. 查询需要我审批的流程数量
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0

View File

@ -540,13 +540,13 @@ class DialogController extends AbstractController
if ($reDialog) { if ($reDialog) {
$data['dialog'] = $dialog->formatData($user->userid, true); $data['dialog'] = $dialog->formatData($user->userid, true);
$data['todo'] = $data['dialog']->todo_num > 0 ? WebSocketDialogMsgTodo::whereDialogId($dialog->id)->whereUserid($user->userid)->whereDoneAt(null)->orderByDesc('id')->take(50)->get() : []; $data['todo'] = $data['dialog']->todo_num > 0 ? WebSocketDialogMsgTodo::whereDialogId($dialog->id)->whereUserid($user->userid)->whereDoneAt(null)->orderByDesc('id')->take(50)->get() : [];
$data['top'] = WebSocketDialogMsg::whereId($dialog->top_msg_id)->first(); $data['top'] = $dialog->top_msg_id ? WebSocketDialogMsg::whereId($dialog->top_msg_id)->first() : null;
} }
return Base::retSuccess('success', $data); return Base::retSuccess('success', $data);
} }
/** /**
* @api {get} api/dialog/msg/latest 11. 获取最新消息列表 * @api {get} api/dialog/msg/latest 12. 获取最新消息列表
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -587,7 +587,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/search 12. 搜索消息位置 * @api {get} api/dialog/msg/search 13. 搜索消息位置
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -624,7 +624,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/one 13. 获取单条消息 * @api {get} api/dialog/msg/one 14. 获取单条消息
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -653,7 +653,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/read 14. 已读聊天消息 * @api {get} api/dialog/msg/read 15. 已读聊天消息
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -704,7 +704,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/unread 15. 获取未读消息数据 * @api {get} api/dialog/msg/unread 16. 获取未读消息数据
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -745,7 +745,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/stream 16. 通知成员监听消息 * @api {post} api/dialog/msg/stream 17. 通知成员监听消息
* *
* @apiDescription 通知指定会员EventSource监听流动消息 * @apiDescription 通知指定会员EventSource监听流动消息
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -784,7 +784,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/sendtext 17. 发送消息 * @api {post} api/dialog/msg/sendtext 18. 发送消息
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -896,7 +896,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/sendrecord 18. 发送语音 * @api {post} api/dialog/msg/sendrecord 19. 发送语音
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -943,7 +943,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/sendfile 19. 文件上传 * @api {post} api/dialog/msg/sendfile 20. 文件上传
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -974,7 +974,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/sendfiles 20. 群发文件上传 * @api {post} api/dialog/msg/sendfiles 21. 群发文件上传
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1029,7 +1029,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/sendfileid 21. 通过文件ID发送文件 * @api {get} api/dialog/msg/sendfileid 22. 通过文件ID发送文件
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1099,7 +1099,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/sendanon 22. 发送匿名消息 * @api {post} api/dialog/msg/sendanon 23. 发送匿名消息
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1152,7 +1152,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/readlist 23. 获取消息阅读情况 * @api {get} api/dialog/msg/readlist 24. 获取消息阅读情况
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1181,7 +1181,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/detail 24. 消息详情 * @api {get} api/dialog/msg/detail 25. 消息详情
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1229,7 +1229,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/download 25. 文件下载 * @api {get} api/dialog/msg/download 26. 文件下载
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1270,7 +1270,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/withdraw 26. 聊天消息撤回 * @api {get} api/dialog/msg/withdraw 27. 聊天消息撤回
* *
* @apiDescription 消息撤回限制24小时内需要token身份 * @apiDescription 消息撤回限制24小时内需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1296,7 +1296,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/mark 27. 消息标记操作 * @api {get} api/dialog/msg/mark 28. 消息标记操作
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1363,7 +1363,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/silence 28. 消息免打扰 * @api {get} api/dialog/msg/silence 29. 消息免打扰
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1426,7 +1426,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/forward 29. 转发消息给 * @api {get} api/dialog/msg/forward 30. 转发消息给
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1467,7 +1467,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/emoji 30. emoji回复 * @api {get} api/dialog/msg/emoji 31. emoji回复
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1502,7 +1502,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/tag 31. 标注/取消标注 * @api {get} api/dialog/msg/tag 32. 标注/取消标注
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1531,7 +1531,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/todo 32. 设待办/取消待办 * @api {get} api/dialog/msg/todo 33. 设待办/取消待办
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1574,7 +1574,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/todolist 33. 获取消息待办情况 * @api {get} api/dialog/msg/todolist 34. 获取消息待办情况
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1604,7 +1604,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/done 34. 完成待办 * @api {get} api/dialog/msg/done 35. 完成待办
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1651,7 +1651,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/color 35. 设置颜色 * @api {get} api/dialog/msg/color 36. 设置颜色
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1692,7 +1692,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/group/add 36. 新增群组 * @api {get} api/dialog/group/add 37. 新增群组
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1754,7 +1754,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/group/edit 37. 修改群组 * @api {get} api/dialog/group/edit 38. 修改群组
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -1816,7 +1816,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/group/adduser 38. 添加群成员 * @api {get} api/dialog/group/adduser 39. 添加群成员
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* - 有群主时:只有群主可以邀请 * - 有群主时:只有群主可以邀请
@ -1852,7 +1852,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/group/deluser 39. 移出(退出)群成员 * @api {get} api/dialog/group/deluser 40. 移出(退出)群成员
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* - 只有群主、邀请人可以踢人 * - 只有群主、邀请人可以踢人
@ -1896,7 +1896,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/group/transfer 40. 转让群组 * @api {get} api/dialog/group/transfer 41. 转让群组
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* - 只有群主且是个人类型群可以解散 * - 只有群主且是个人类型群可以解散
@ -1945,7 +1945,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/group/disband 41. 解散群组 * @api {get} api/dialog/group/disband 42. 解散群组
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* - 只有群主且是个人类型群可以解散 * - 只有群主且是个人类型群可以解散
@ -1973,7 +1973,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/group/searchuser 42. 搜索个人群(仅限管理员) * @api {get} api/dialog/group/searchuser 43. 搜索个人群(仅限管理员)
* *
* @apiDescription 需要token身份用于创建部门搜索个人群组 * @apiDescription 需要token身份用于创建部门搜索个人群组
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -2002,7 +2002,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/okr/add 43. 创建OKR评论会话 * @api {post} api/dialog/okr/add 44. 创建OKR评论会话
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -2041,7 +2041,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/okr/push 44. 推送OKR相关信息 * @api {post} api/dialog/okr/push 45. 推送OKR相关信息
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -2077,7 +2077,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/wordchain 45. 发送接龙消息 * @api {post} api/dialog/msg/wordchain 46. 发送接龙消息
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -2140,7 +2140,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {post} api/dialog/msg/vote 46. 发起投票 * @api {post} api/dialog/msg/vote 47. 发起投票
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -2251,7 +2251,7 @@ class DialogController extends AbstractController
} }
/** /**
* @api {get} api/dialog/msg/top 47. 置顶/取消置顶 * @api {get} api/dialog/msg/top 48. 置顶/取消置顶
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -2310,11 +2310,10 @@ class DialogController extends AbstractController
} }
// //
return Base::retSuccess($dialog->top_msg_id ? '置顶成功' : '取消成功', $data); return Base::retSuccess($dialog->top_msg_id ? '置顶成功' : '取消成功', $data);
//
} }
/** /**
* @api {get} api/dialog/msg/topinfo 48. 获取置顶消息 * @api {get} api/dialog/msg/topinfo 49. 获取置顶消息
* *
* @apiDescription 需要token身份 * @apiDescription 需要token身份
* @apiVersion 1.0.0 * @apiVersion 1.0.0
@ -2339,5 +2338,4 @@ class DialogController extends AbstractController
// //
return Base::retSuccess('success', $topMsg); return Base::retSuccess('success', $topMsg);
} }
} }

View File

@ -8,7 +8,7 @@ use App\Module\Base;
* App\Models\FileLink * App\Models\FileLink
* *
* @property int $id * @property int $id
* @property int|null $file_id 文件ID * @property int|null $file_id 项目ID
* @property int|null $num 累计访问 * @property int|null $num 累计访问
* @property string|null $code 链接码 * @property string|null $code 链接码
* @property int|null $userid 会员ID * @property int|null $userid 会员ID

View File

@ -24,7 +24,6 @@ use Request;
* @property int|null $dialog_id 聊天会话ID * @property int|null $dialog_id 聊天会话ID
* @property string|null $archived_at 归档时间 * @property string|null $archived_at 归档时间
* @property int|null $archived_userid 归档会员 * @property int|null $archived_userid 归档会员
* @property int|null $is_fixed 是否固定
* @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at * @property \Illuminate\Support\Carbon|null $deleted_at
@ -48,7 +47,6 @@ use Request;
* @method static \Illuminate\Database\Eloquent\Builder|Project whereDesc($value) * @method static \Illuminate\Database\Eloquent\Builder|Project whereDesc($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereDialogId($value) * @method static \Illuminate\Database\Eloquent\Builder|Project whereDialogId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|Project whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereIsFixed($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|Project whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project wherePersonal($value) * @method static \Illuminate\Database\Eloquent\Builder|Project wherePersonal($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Project whereUpdatedAt($value)

View File

@ -13,7 +13,7 @@ use App\Module\Base;
* @property string|null $name 名称 * @property string|null $name 名称
* @property string|null $status 状态 * @property string|null $status 状态
* @property array $turns 可流转 * @property array $turns 可流转
* @property array $userids 状态负责人ID * @property array $userids 自动负责人ID
* @property string|null $usertype 流转模式 * @property string|null $usertype 流转模式
* @property int|null $userlimit 限制负责人 * @property int|null $userlimit 限制负责人
* @property int|null $columnid 对应的项目列表 * @property int|null $columnid 对应的项目列表

View File

@ -10,7 +10,7 @@ use App\Module\Base;
* @property int $id * @property int $id
* @property int|null $project_id 项目ID * @property int|null $project_id 项目ID
* @property int|null $column_id 列表ID * @property int|null $column_id 列表ID
* @property int|null $task_id 任务ID * @property int|null $task_id 项目ID
* @property int|null $userid 会员ID * @property int|null $userid 会员ID
* @property string|null $detail 详细信息 * @property string|null $detail 详细信息
* @property array $record 记录数据 * @property array $record 记录数据

View File

@ -10,10 +10,9 @@ use App\Module\Base;
* *
* @property int $id * @property int $id
* @property int|null $project_id 项目ID * @property int|null $project_id 项目ID
* @property string|null $permissions 权限 * @property string $permissions 权限
* @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \App\Models\Project|null $project
* @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission newQuery() * @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission query() * @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission query()

View File

@ -34,7 +34,6 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property string|null $complete_at 完成时间 * @property string|null $complete_at 完成时间
* @property int|null $userid 创建人 * @property int|null $userid 创建人
* @property int|null $visibility 任务可见性1-项目人员 2-任务人员 3-指定成员 * @property int|null $visibility 任务可见性1-项目人员 2-任务人员 3-指定成员
* @property int|null $is_default 是否默认任务
* @property int|null $p_level 优先级 * @property int|null $p_level 优先级
* @property string|null $p_name 优先级名称 * @property string|null $p_name 优先级名称
* @property string|null $p_color 优先级颜色 * @property string|null $p_color 优先级颜色
@ -83,7 +82,6 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereFlowItemId($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereFlowItemId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereFlowItemName($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereFlowItemName($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereIsDefault($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereLoop($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereLoop($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereLoopAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereLoopAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereName($value)

View File

@ -23,6 +23,7 @@ use Illuminate\Support\Facades\DB;
* @property string|null $last_at 最后消息时间 * @property string|null $last_at 最后消息时间
* @property int|null $owner_id 群主用户ID * @property int|null $owner_id 群主用户ID
* @property int|null $link_id 关联id * @property int|null $link_id 关联id
* @property int|null $top_msg_id 置顶的消息ID
* @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at * @property \Illuminate\Support\Carbon|null $deleted_at
@ -41,6 +42,7 @@ use Illuminate\Support\Facades\DB;
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereLinkId($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereLinkId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereOwnerId($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereOwnerId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereTopMsgId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereType($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereType($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog withTrashed() * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog withTrashed()

View File

@ -31,9 +31,13 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property int|null $modify 是否编辑 * @property int|null $modify 是否编辑
* @property int|null $reply_num 有多少条回复 * @property int|null $reply_num 有多少条回复
* @property int|null $reply_id 回复ID * @property int|null $reply_id 回复ID
* @property int|null $forward_id 转发ID
* @property int|null $forward_num 被转发多少次
* @property int|null $forward_show 是否显示转发的来源
* @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at * @property \Illuminate\Support\Carbon|null $deleted_at
* @property-read \App\Models\WebSocketDialogMsg|null $forward_data
* @property-read int|mixed $percentage * @property-read int|mixed $percentage
* @property-read \App\Models\WebSocketDialogMsg|null $reply_data * @property-read \App\Models\WebSocketDialogMsg|null $reply_data
* @property-read \App\Models\WebSocketDialog|null $webSocketDialog * @property-read \App\Models\WebSocketDialog|null $webSocketDialog
@ -46,6 +50,9 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereDialogId($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereDialogId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereDialogType($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereDialogType($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereEmoji($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereEmoji($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereForwardId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereForwardNum($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereForwardShow($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereKey($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereKey($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereLink($value) * @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereLink($value)

View File

@ -14,7 +14,7 @@ use Carbon\Carbon;
* @property int|null $mark_unread 是否标记为未读0否1是 * @property int|null $mark_unread 是否标记为未读0否1是
* @property int|null $silence 是否免打扰0否1是 * @property int|null $silence 是否免打扰0否1是
* @property int|null $inviter 邀请人 * @property int|null $inviter 邀请人
* @property int|null $important 是否不可移出(项目、任务、部门人员) * @property int|null $important 是否不可移出(项目、任务人员)
* @property string|null $color 颜色 * @property string|null $color 颜色
* @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $updated_at

View File

@ -842,7 +842,7 @@ import {MarkdownPreview} from "../store/markdown";
case 'tag': case 'tag':
return `[${$A.L(data.msg.action === 'remove' ? '取消标注' : '标注')}] ${$A.getMsgSimpleDesc(data.msg.data)}` return `[${$A.L(data.msg.action === 'remove' ? '取消标注' : '标注')}] ${$A.getMsgSimpleDesc(data.msg.data)}`
case 'top': case 'top':
return `[${$A.L(data.msg.action === 'remove' ? '取消置顶' : '置顶*')}] ${$A.getMsgSimpleDesc(data.msg.data)}` return `[${$A.L(data.msg.action === 'remove' ? '取消置顶' : '置顶')}] ${$A.getMsgSimpleDesc(data.msg.data)}`
case 'todo': case 'todo':
return `[${$A.L(data.msg.action === 'remove' ? '取消待办' : (data.msg.action === 'done' ? '完成' : '设待办'))}] ${$A.getMsgSimpleDesc(data.msg.data)}` return `[${$A.L(data.msg.action === 'remove' ? '取消待办' : (data.msg.action === 'done' ? '完成' : '设待办'))}] ${$A.getMsgSimpleDesc(data.msg.data)}`
case 'notice': case 'notice':

View File

@ -137,22 +137,22 @@
</div> </div>
<!--置顶消息--> <!--置顶消息-->
<div v-if="topMessage" class="dialog-top-message" :class="topMessageClass" @click="onPosTop"> <div v-if="topMessageInfo" class="dialog-top-message" :class="topMessageClass" @click="onPosTop">
<div class="dialog-top-message-warp"> <div class="dialog-top-message-warp">
<div class="dialog-top-message-font"> <div class="dialog-top-message-font">
<i class="taskfont">&#xe7e4;</i> <i class="taskfont">&#xe7e4;</i>
</div> </div>
<div class="dialog-top-message-content"> <div class="dialog-top-message-content">
<p class="content"> <p class="content">
<UserAvatar :userid="topMessage.userid" showName :showIcon="false"/>: <UserAvatar :userid="topMessageInfo.userid" showName :showIcon="false"/>:
<span>{{$A.getMsgSimpleDesc(topMessage)}}</span> <span>{{$A.getMsgSimpleDesc(topMessageInfo)}}</span>
</p> </p>
<p class="personnel">{{$L('置顶人员')}} <UserAvatar :userid="topMessage.top" showName :showIcon="false"/> </p> <p class="personnel">{{$L('置顶人员')}} <UserAvatar :userid="topMessageInfo.top" showName :showIcon="false"/> </p>
</div> </div>
<div class="dialog-top-message-btn"> <div class="dialog-top-message-btn">
<i class="taskfont" v-if="!topViewPosLoad">&#xee15;</i> <Loading v-if="topViewPosLoad" type="pure"/>
<Loading v-else/> <i v-else class="taskfont">&#xee15;</i>
<i class="taskfont" @click.stop="onCancelTop">&#xe6e5;</i> <i class="taskfont" @click.stop="onCancelTop(topMessageInfo)">&#xe6e5;</i>
</div> </div>
</div> </div>
</div> </div>
@ -764,7 +764,7 @@ export default {
selectedTextStatus: false, // selectedTextStatus: false, //
scrollToBottomAndRefresh: false, // scrollToBottomAndRefresh: false, //
topViewPosLoad: false, topViewPosLoad: false, //
} }
}, },
@ -962,7 +962,7 @@ export default {
}, },
scrollerClass() { scrollerClass() {
return !this.$slots.head && !this.topMessage && this.tagShow ? 'default-header' : null return !this.$slots.head && !this.topMessageInfo && this.tagShow ? 'default-header' : null
}, },
pasteWrapperClass() { pasteWrapperClass() {
@ -1110,8 +1110,8 @@ export default {
return msgPreparedStatus && listPreparedStatus return msgPreparedStatus && listPreparedStatus
}, },
topMessage() { topMessageInfo() {
return this.dialogData?.top_msg_id && this.dialogMsgTops.filter(item => item.dialog_id == this.dialogId)[0] return this.dialogData.top_msg_id && this.dialogMsgTops.find(({id}) => id == this.dialogData.top_msg_id)
}, },
topMessageClass() { topMessageClass() {
@ -1125,7 +1125,7 @@ export default {
if (name != 'manage-messenger') { if (name != 'manage-messenger') {
return return
} }
if (params.dialog_id && params.open && (params.open == 'word-chain' || params.open == 'vote')) { if (params.dialog_id && params.open && ['word-chain', 'vote'].includes(params.open)) {
this.$nextTick(_ => { this.$nextTick(_ => {
this.$store.state[params.open == 'word-chain' ? 'dialogDroupWordChain' : 'dialogGroupVote'] = { this.$store.state[params.open == 'word-chain' ? 'dialogDroupWordChain' : 'dialogGroupVote'] = {
type: 'create', type: 'create',
@ -2739,7 +2739,7 @@ export default {
break; break;
case "top": case "top":
this.onTop() this.onTopOperate()
break; break;
} }
}) })
@ -3372,18 +3372,12 @@ export default {
} }
}, },
onTop() { onTopOperate() {
if (this.operateVisible) { if (this.operateVisible) {
return return
} }
if (this.operateItem?.top_at) { if (this.operateItem.top_at) {
$A.modalConfirm({ this.onCancelTop(this.operateItem)
content: "你确定取消置顶吗?",
cancelText: '取消',
okText: '确定',
loading: true,
onOk: () => this.onTopSubmit(this.operateItem)
});
} else { } else {
this.onTopSubmit(this.operateItem) this.onTopSubmit(this.operateItem)
} }
@ -3409,7 +3403,7 @@ export default {
}); });
// //
if (data.update?.top_msg_id) { if (data.update?.top_msg_id) {
const index = this.dialogMsgs.findIndex(({ id }) => id == data.update.top_msg_id && data.update.top_msg_id); const index = this.dialogMsgs.findIndex(({ id }) => id == data.update.top_msg_id);
if (index > -1) { if (index > -1) {
this.$store.dispatch("saveDialogMsgTop", Object.assign({}, this.dialogMsgs[index])) this.$store.dispatch("saveDialogMsgTop", Object.assign({}, this.dialogMsgs[index]))
} }
@ -3423,26 +3417,25 @@ export default {
}, },
onPosTop() { onPosTop() {
if (!this.topMessage) { if (!this.topMessageInfo) {
return return
} }
this.topViewPosLoad = true this.topViewPosLoad = true
this.onPositionId(this.topMessage.id).finally(_ => { this.onPositionId(this.topMessageInfo.id).finally(_ => {
this.topViewPosLoad = false this.topViewPosLoad = false
}) })
}, },
onCancelTop() { onCancelTop(info) {
$A.modalConfirm({ $A.modalConfirm({
content: "你确定取消置顶吗?", content: "你确定取消置顶吗?",
cancelText: '取消', cancelText: '取消',
okText: '确定', okText: '确定',
loading: true, loading: true,
onOk: () => this.onTopSubmit(this.topMessage) onOk: () => this.onTopSubmit(info)
}); });
}, },
getUserApproveStatus() { getUserApproveStatus() {
this.approvaUserStatus = '' this.approvaUserStatus = ''
if (this.dialogData.type !== 'user' || this.dialogData.bot) { if (this.dialogData.type !== 'user' || this.dialogData.bot) {

View File

@ -43,7 +43,7 @@
<div class="task-move-content-new"> <div class="task-move-content-new">
<div class="task-move-title">{{ $L('移动后') }}</div> <div class="task-move-title">{{ $L('移动后') }}</div>
<div class="task-move-row"> <div class="task-move-row">
<span class="label"> {{$L('状态:')}} </span> <span class="label">{{$L('状态')}}:</span>
<TaskMenu <TaskMenu
:ref="`taskMenu_${task.id}`" :ref="`taskMenu_${task.id}`"
:task="tasks" :task="tasks"
@ -58,7 +58,7 @@
</div> </div>
</div> </div>
<div class="task-move-row" :class="{'not-flex': windowPortrait}"> <div class="task-move-row" :class="{'not-flex': windowPortrait}">
<span class="label">{{$L('负责人:')}}</span> <span class="label">{{$L('负责人')}}:</span>
<div> <div>
<UserSelect <UserSelect
class="item-content user" class="item-content user"
@ -70,7 +70,7 @@
</div> </div>
</div> </div>
<div class="task-move-row" :class="{'not-flex': windowPortrait}"> <div class="task-move-row" :class="{'not-flex': windowPortrait}">
<span class="label">{{$L('协助人:')}}</span> <span class="label">{{$L('协助人')}}:</span>
<div> <div>
<UserSelect <UserSelect
class="item-content user" class="item-content user"

View File

@ -2965,7 +2965,7 @@ export default {
state.dialogTodos = state.dialogTodos.filter(item => item.dialog_id != data.dialog_id) state.dialogTodos = state.dialogTodos.filter(item => item.dialog_id != data.dialog_id)
dispatch("saveDialogTodo", resData.todo) dispatch("saveDialogTodo", resData.todo)
} }
if (typeof resData.top !== "undefined") { if ($A.isJson(resData.top)) {
dispatch("saveDialogMsgTop", resData.top) dispatch("saveDialogMsgTop", resData.top)
} }
// //
@ -3508,10 +3508,8 @@ export default {
break; break;
case 'updateTopMsg': case 'updateTopMsg':
// 更新置顶 // 更新置顶
if (typeof data.top_msg_id !== "undefined") { dispatch("saveDialog", {id: data.dialog_id, top_msg_id: data.top_msg_id})
dispatch("saveDialog", { id: data.dialog_id, top_msg_id: data?.top_msg_id || 0 })
dispatch("getDialogMsgTop", dialog_id) dispatch("getDialogMsgTop", dialog_id)
}
break; break;
} }
})(msgDetail); })(msgDetail);

View File

@ -490,18 +490,20 @@
} }
.dialog-top-message-btn { .dialog-top-message-btn {
line-height: 42px; display: flex;
text-align: center; align-items: center;
justify-content: flex-end;
gap: 10px;
padding:0 10px; padding:0 10px;
.taskfont { .taskfont {
border-radius: 3px; border-radius: 3px;
font-size: 18px; font-size: 18px;
margin-left: 10px;
padding: 4px; padding: 4px;
} }
.common-loading{ .common-pureing {
width: 20px; width: 18px;
height: 20px; height: 18px;
margin: 4px;
} }
} }
} }