mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 11:19:56 +00:00
fix: dootask对接系统分享
This commit is contained in:
parent
dba2bdd9e7
commit
4739539722
@ -2,23 +2,26 @@
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Models\Setting;
|
||||
use App\Models\User;
|
||||
use App\Models\UserCheckinRecord;
|
||||
use App\Module\Base;
|
||||
use App\Module\BillExport;
|
||||
use App\Module\BillMultipleExport;
|
||||
use App\Module\Doo;
|
||||
use App\Module\Extranet;
|
||||
use Carbon\Carbon;
|
||||
use Guanguans\Notify\Factory;
|
||||
use Guanguans\Notify\Messages\EmailMessage;
|
||||
use LdapRecord\Container;
|
||||
use LdapRecord\LdapRecordException;
|
||||
use Madzipper;
|
||||
use Request;
|
||||
use Response;
|
||||
use Session;
|
||||
use Response;
|
||||
use Madzipper;
|
||||
use Carbon\Carbon;
|
||||
use App\Module\Doo;
|
||||
use App\Models\File;
|
||||
use App\Models\User;
|
||||
use App\Module\Base;
|
||||
use App\Models\Setting;
|
||||
use App\Module\Extranet;
|
||||
use LdapRecord\Container;
|
||||
use App\Module\BillExport;
|
||||
use Guanguans\Notify\Factory;
|
||||
use App\Models\WebSocketDialog;
|
||||
use App\Models\UserCheckinRecord;
|
||||
use App\Module\BillMultipleExport;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use LdapRecord\LdapRecordException;
|
||||
use Guanguans\Notify\Messages\EmailMessage;
|
||||
|
||||
/**
|
||||
* @apiDefine system
|
||||
@ -1200,4 +1203,60 @@ class SystemController extends AbstractController
|
||||
}
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {get} api/system/getChatAndDirList 25. 获取聊天与用户列表
|
||||
*
|
||||
* @apiVersion 1.0.0
|
||||
* @apiGroup system
|
||||
* @apiName getChatAndDirList
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
* @apiSuccess {String} msg 返回信息(错误描述)
|
||||
* @apiSuccess {Object} data 返回数据
|
||||
*/
|
||||
public function getChatAndDirList()
|
||||
{
|
||||
$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) {
|
||||
return $item->formatData($user->userid);
|
||||
})
|
||||
->toArray();
|
||||
// 用户列表
|
||||
$notUserIds = array();
|
||||
foreach($chatList as $chat){
|
||||
if($chat['type'] == 'user'){
|
||||
$notUserIds[] = $chat['dialog_user']['userid'];
|
||||
}
|
||||
}
|
||||
$userList = User::select('userid','email','nickname','userimg')
|
||||
->where('bot',0)
|
||||
->where('userid','not in',$notUserIds)
|
||||
->get();
|
||||
// 返回
|
||||
return Base::retSuccess('success', ["dir"=>$dir,"chatList"=>$chatList,"userList"=>$userList]);
|
||||
}
|
||||
}
|
||||
|
||||
16
resources/assets/js/store/actions.js
vendored
16
resources/assets/js/store/actions.js
vendored
@ -548,6 +548,22 @@ export default {
|
||||
state.userToken = userInfo.token;
|
||||
state.userIsAdmin = $A.inArray('admin', userInfo.identity);
|
||||
await $A.IDBSet("userInfo", state.userInfo);
|
||||
|
||||
//
|
||||
$A.eeuiAppSendMessage({
|
||||
action: 'userChatList',
|
||||
token: state.userToken,
|
||||
url: $A.apiUrl('../api/system/getChatAndDirList') + `?token=${state.userToken}`
|
||||
});
|
||||
|
||||
//
|
||||
$A.eeuiAppSendMessage({
|
||||
action:"userUploadUrl",
|
||||
token: state.userToken,
|
||||
dirUrl: $A.apiUrl('../api/file/content/upload') + `?token=${state.userToken}`,
|
||||
chatUrl: $A.apiUrl('../api/dialog/msg/sendfile') + `?token=${state.userToken}`,
|
||||
});
|
||||
|
||||
//
|
||||
dispatch("getBasicData", null);
|
||||
if (state.userId > 0) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user