Merge branch 'pro' into okr
# Conflicts: # app/Http/Controllers/Api/DialogController.php # app/Models/User.php # docker-compose.yml # docker/nginx/default.conf # language/original-web.txt # language/translate.json # public/docs/assets/main.bundle.js # public/docs/index.html # resources/assets/js/pages/manage.vue # resources/assets/js/pages/manage/components/ChatInput/index.vue # resources/assets/sass/pages/_.scss
This commit is contained in:
@@ -759,8 +759,7 @@ class UsersController extends AbstractController
|
||||
$builder->whereNull('disable_at');
|
||||
$builder->where('bot', 0);
|
||||
}
|
||||
$builder = $keys['department'] == '0' ? $builder->orderByDesc('userid') : $builder;
|
||||
$list = $builder->paginate(Base::getPaginate(50, 20));
|
||||
$list = $builder->orderByDesc('userid')->paginate(Base::getPaginate(50, 20));
|
||||
//
|
||||
if ($getCheckinMac) {
|
||||
$list->transform(function (User $user) use ($getCheckinMac) {
|
||||
@@ -1733,21 +1732,36 @@ class UsersController extends AbstractController
|
||||
}
|
||||
$userBot = UserBot::whereBotId($botUser->userid)->whereUserid($user->userid)->first();
|
||||
if (empty($userBot)) {
|
||||
return Base::retError('不是你的机器人');
|
||||
if (UserBot::systemBotName($botUser->email)) {
|
||||
// 系统机器人(仅限管理员)
|
||||
if (!$user->isAdmin()) {
|
||||
return Base::retError('权限不足');
|
||||
}
|
||||
} else {
|
||||
// 其他用户的机器人(仅限主人)
|
||||
return Base::retError('不是你的机器人');
|
||||
}
|
||||
}
|
||||
return Base::retSuccess('success', [
|
||||
//
|
||||
$data = [
|
||||
'id' => $botUser->userid,
|
||||
'name' => $botUser->nickname,
|
||||
'avatar' => $botUser->userimg,
|
||||
'clear_day' => $userBot->clear_day,
|
||||
'webhook_url' => $userBot->webhook_url,
|
||||
]);
|
||||
'clear_day' => 0,
|
||||
'webhook_url' => '',
|
||||
'system_name' => UserBot::systemBotName($botUser->email),
|
||||
];
|
||||
if ($userBot) {
|
||||
$data['clear_day'] = $userBot->clear_day;
|
||||
$data['webhook_url'] = $userBot->webhook_url;
|
||||
}
|
||||
return Base::retSuccess('success', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {post} api/users/bot/edit 30. 编辑机器人
|
||||
*
|
||||
* @apiDescription 需要token身份,编辑我的机器人信息
|
||||
* @apiDescription 需要token身份,编辑 我的机器人 或 管理员修改系统机器人 信息
|
||||
* @apiVersion 1.0.0
|
||||
* @apiGroup users
|
||||
* @apiName bot__edit
|
||||
@@ -1755,8 +1769,8 @@ class UsersController extends AbstractController
|
||||
* @apiParam {Number} id 机器人ID
|
||||
* @apiParam {String} [name] 机器人名称
|
||||
* @apiParam {String} [avatar] 机器人头像
|
||||
* @apiParam {Number} [clear_day] 清理天数
|
||||
* @apiParam {String} [webhook_url] Webhook地址
|
||||
* @apiParam {Number} [clear_day] 清理天数(仅 我的机器人)
|
||||
* @apiParam {String} [webhook_url] Webhook地址(仅 我的机器人)
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||
@@ -1773,7 +1787,15 @@ class UsersController extends AbstractController
|
||||
}
|
||||
$userBot = UserBot::whereBotId($botUser->userid)->whereUserid($user->userid)->first();
|
||||
if (empty($userBot)) {
|
||||
return Base::retError('不是你的机器人');
|
||||
if (UserBot::systemBotName($botUser->email)) {
|
||||
// 系统机器人(仅限管理员)
|
||||
if (!$user->isAdmin()) {
|
||||
return Base::retError('权限不足');
|
||||
}
|
||||
} else {
|
||||
// 其他用户的机器人(仅限主人)
|
||||
return Base::retError('不是你的机器人');
|
||||
}
|
||||
}
|
||||
//
|
||||
$data = Request::input();
|
||||
@@ -1802,18 +1824,24 @@ class UsersController extends AbstractController
|
||||
$botUser->updateInstance($upUser);
|
||||
$botUser->save();
|
||||
}
|
||||
if ($upBot) {
|
||||
if ($upBot && $userBot) {
|
||||
$userBot->updateInstance($upBot);
|
||||
$userBot->save();
|
||||
}
|
||||
//
|
||||
return Base::retSuccess('修改成功', [
|
||||
$data = [
|
||||
'id' => $botUser->userid,
|
||||
'name' => $botUser->nickname,
|
||||
'avatar' => $botUser->userimg,
|
||||
'clear_day' => $userBot->clear_day,
|
||||
'webhook_url' => $userBot->webhook_url,
|
||||
]);
|
||||
'clear_day' => 0,
|
||||
'webhook_url' => '',
|
||||
'system_name' => UserBot::systemBotName($botUser->email),
|
||||
];
|
||||
if ($userBot) {
|
||||
$data['clear_day'] = $userBot->clear_day;
|
||||
$data['webhook_url'] = $userBot->webhook_url;
|
||||
}
|
||||
return Base::retSuccess('修改成功', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1823,6 +1851,10 @@ class UsersController extends AbstractController
|
||||
* @apiGroup users
|
||||
* @apiName share__list
|
||||
*
|
||||
* @apiParam {String} [type] 分享类型:file-文件,text-列表 默认file
|
||||
* @apiParam {Number} [pid] 父级文件id,用于获取子目录和上传到指定目录的id
|
||||
* @apiParam {Number} [upload_file_id] 上传文件id
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||
* @apiSuccess {Object} data 返回数据
|
||||
@@ -1830,6 +1862,7 @@ class UsersController extends AbstractController
|
||||
public function share__list()
|
||||
{
|
||||
$user = User::auth();
|
||||
$type = Request::input('type', 'file');
|
||||
$pid = intval(Request::input('pid', -1));
|
||||
$uploadFileId = intval(Request::input('upload_file_id', -1));
|
||||
// 上传文件
|
||||
@@ -1841,7 +1874,7 @@ class UsersController extends AbstractController
|
||||
}
|
||||
// 获取数据
|
||||
$lists = [];
|
||||
if ($pid !== -1) {
|
||||
if ($type == 'file' && $pid !== -1) {
|
||||
$fileList = (new File)->getFileList($user, $pid, 'dir', false);
|
||||
foreach ($fileList as $file) {
|
||||
if ($file['id'] != $pid) {
|
||||
@@ -1854,15 +1887,16 @@ class UsersController extends AbstractController
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
$lists[] = [
|
||||
'type' => 'children',
|
||||
'url' => Base::fillUrl("api/users/share/list") . "?pid=0",
|
||||
'icon' => url("images/file/light/folder.png"),
|
||||
'extend' => ['upload_file_id' => 0],
|
||||
'name' => Doo::translate('文件'),
|
||||
];
|
||||
if($type == 'file'){
|
||||
$lists[] = [
|
||||
'type' => 'children',
|
||||
'url' => Base::fillUrl("api/users/share/list") . "?pid=0",
|
||||
'icon' => url("images/file/light/folder.png"),
|
||||
'extend' => ['upload_file_id' => 0],
|
||||
'name' => Doo::translate('文件'),
|
||||
];
|
||||
}
|
||||
$dialogList = (new WebSocketDialog)->getDialogList($user->userid);
|
||||
foreach ($dialogList['data'] as $dialog) {
|
||||
if ($dialog['avatar']) {
|
||||
@@ -1881,8 +1915,13 @@ class UsersController extends AbstractController
|
||||
'type' => 'item',
|
||||
'name' => $dialog['name'],
|
||||
'icon' => $avatar,
|
||||
'url' => Base::fillUrl("api/dialog/msg/sendfiles"),
|
||||
'extend' => ['dialog_ids' => $dialog['id']]
|
||||
'url' => $type == "file" ? Base::fillUrl("api/dialog/msg/sendfiles") : Base::fillUrl("api/dialog/msg/sendtext"),
|
||||
'extend' => [
|
||||
'dialog_ids' => $dialog['id'],
|
||||
'text_type' => 'text',
|
||||
'reply_id' => 0,
|
||||
'silence' => 'no'
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user