diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 507592480..942fe6b01 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -712,6 +712,44 @@ class DialogController extends AbstractController return Base::retSuccess('success', compact('data')); } + /** + * @api {get} api/dialog/msg/esearch 14. 搜索消息 + * + * @apiDescription 需要token身份 + * @apiVersion 1.0.0 + * @apiGroup dialog + * @apiName msg__esearch + * + * @apiParam {String} key 搜索关键词 + * @apiParam {Number} [pagesize] 每页显示数量,默认:20,最大:50 + * + * @apiSuccess {Number} ret 返回状态码(1正确、0错误) + * @apiSuccess {String} msg 返回信息(错误描述) + * @apiSuccess {Object} data 返回数据 + */ + public function msg__esearch() + { + $user = User::auth(); + // + $key = trim(Request::input('key')); + $list = []; + // + $es = new ElasticSearch(ElasticSearch::DUM); + $searchResults = $es->searchDialogsByUserAndKeyword($user->userid, $key, Base::getPaginate(50, 20)); + if ($searchResults) { + foreach ($searchResults as $item) { + if ($dialog = WebSocketDialog::find($item['id'])) { + $dialog = array_merge($dialog->toArray(), $item); + $list[] = WebSocketDialog::synthesizeData($dialog, $user->userid); + } + } + } + // + return Base::retSuccess('success', [ + 'data' => $list, + ]); + } + /** * @api {get} api/dialog/msg/one 15. 获取单条消息 * diff --git a/resources/assets/js/components/SearchBox.vue b/resources/assets/js/components/SearchBox.vue new file mode 100755 index 000000000..d02bda9dc --- /dev/null +++ b/resources/assets/js/components/SearchBox.vue @@ -0,0 +1,347 @@ + + + diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 1f8c26f68..ea7c50e9d 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -286,6 +286,9 @@ + + + {{warningMsg}}
-
{{dashboardHello}}
+
+

{{dashboardHello}}

+ +
{{$L('服务器时间')}}: {{$A.daytz().format('YYYY-MM-DD HH:mm:ss')}} @@ -101,6 +106,7 @@