@@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user