Merge pull request #161 from hitosea/pro

默认审核图片显示
This commit is contained in:
kuaifan
2023-06-06 23:45:31 +08:00
committed by kuaifan
81 changed files with 859 additions and 693 deletions
+96 -20
View File
@@ -2,30 +2,31 @@
namespace App\Http\Controllers\Api;
use App\Ldap\LdapUser;
use App\Models\AbstractModel;
use App\Models\Meeting;
use App\Models\Project;
use App\Models\UmengAlias;
use App\Models\User;
use App\Models\UserBot;
use App\Models\UserCheckinMac;
use App\Models\UserCheckinRecord;
use App\Models\UserDelete;
use App\Models\UserDepartment;
use App\Models\UserEmailVerification;
use App\Models\UserTransfer;
use App\Models\WebSocket;
use App\Models\WebSocketDialog;
use App\Models\WebSocketDialogMsg;
use App\Module\AgoraIO\AgoraTokenGenerator;
use App\Module\Base;
use App\Module\Doo;
use Arr;
use Cache;
use Captcha;
use Carbon\Carbon;
use Request;
use Carbon\Carbon;
use App\Module\Doo;
use App\Models\File;
use App\Models\User;
use App\Module\Base;
use App\Ldap\LdapUser;
use App\Models\Meeting;
use App\Models\Project;
use App\Models\UserBot;
use App\Models\WebSocket;
use App\Models\UmengAlias;
use App\Models\UserDelete;
use App\Models\UserTransfer;
use App\Models\AbstractModel;
use App\Models\UserCheckinMac;
use App\Models\UserDepartment;
use App\Models\WebSocketDialog;
use App\Models\UserCheckinRecord;
use App\Models\WebSocketDialogMsg;
use App\Models\UserEmailVerification;
use App\Module\AgoraIO\AgoraTokenGenerator;
/**
* @apiDefine users
@@ -62,6 +63,9 @@ class UsersController extends AbstractController
$password = trim(Request::input('password'));
$isRegVerify = Base::settingFind('emailSetting', 'reg_verify') === 'open';
if ($type == 'reg') {
if (mb_strlen($email) > 32 || mb_strlen($password) > 32) {
return Base::retError('账号密码最多可输入32位字符');
}
$setting = Base::setting('system');
if ($setting['reg'] == 'close') {
return Base::retError('未开放注册');
@@ -77,6 +81,9 @@ class UsersController extends AbstractController
return Base::retError('注册成功,请验证邮箱后登录', ['code' => 'email']);
}
} else {
if (mb_strlen($email) > 32 || mb_strlen($password) > 32) {
return Base::retError('帐号或密码错误');
}
$needCode = !Base::isError(User::needCode($email));
if ($needCode) {
$code = trim(Request::input('code'));
@@ -1794,4 +1801,73 @@ class UsersController extends AbstractController
'webhook_url' => $userBot->webhook_url,
]);
}
/**
* @api {get} api/users/share/list 25. 获取分享列表
*
* @apiVersion 1.0.0
* @apiGroup users
* @apiName share__list
*
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
* @apiSuccess {String} msg 返回信息(错误描述)
* @apiSuccess {Object} data 返回数据
*/
public function share__list()
{
$user = User::auth();
$userids = $user->isTemp() ? [$user->userid] : [0, $user->userid];
//目录列表
$dir = Base::list2Tree(
File::select(['files.id', 'files.pid', 'files.name'])
->leftJoin('file_users', 'files.id', '=', 'file_users.file_id')
->where('files.type', 'folder')
->where(function ($q) use ($userids) {
$q->whereIn('files.userid', $userids);
$q->orWhere(function ($qq) use ($userids) {
$qq->where('file_users.permission', 1);
$qq->whereIn('file_users.userid', $userids);
});
})
->get()
->toArray()
);
//聊天列表
$chatList = WebSocketDialog::select(['web_socket_dialogs.*', 'u.top_at', 'u.silence', 'u.updated_at as user_at'])
->join('web_socket_dialog_users as u', 'web_socket_dialogs.id', '=', 'u.dialog_id')
->where('u.userid', $user->userid)
->orderByDesc('u.top_at')
->orderByDesc('web_socket_dialogs.last_at')
->get()
->transform(function (WebSocketDialog $item) use ($user) {
$item = $item->formatData($user->userid);
$item->last_msg = [];
if (!$item->avatar) {
$item->avatar = 'avatar/' . $item->name . '.png';
}
return $item;
})
->toArray();
// 用户列表
$notUserIds = [$user->userid];
foreach ($chatList as $chat) {
if ($chat['type'] == 'user') {
$notUserIds[] = $chat['dialog_user']['userid'];
}
}
$userList = User::select(['userid', 'email', 'nickname', 'userimg'])
->where('bot', 0)
->where('changepass', 0)
->whereNull('disable_at')
->whereNotIn('userid', $notUserIds)
->get()
->transform(function (User $item) {
$item->name = $item->nickname;
$item->avatar = $item->userimg;
return $item;
})
->toArray();
// 返回
return Base::retSuccess('success', ["dir" => $dir, "chatList" => $chatList, "userList" => $userList]);
}
}