From 68858f794c16b11ab0f9daf461bee9b1af7a6673 Mon Sep 17 00:00:00 2001 From: icssoa <615206459@qq.com> Date: Tue, 14 Jun 2022 16:07:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=81=8A=E5=A4=A9=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/cool/temp/eps.json | 2 +- build/cool/temp/service.d.ts | 1347 +++++++++++++++++ package.json | 4 +- src/modules/chat/components/index.vue | 44 +- src/modules/chat/components/message.vue | 140 +- src/modules/chat/components/session.vue | 66 +- src/modules/chat/config.ts | 4 + src/modules/chat/hooks/index.ts | 2 +- src/modules/chat/index.ts | 0 src/modules/chat/service/message.ts | 19 +- src/modules/chat/store/message.ts | 16 +- src/modules/chat/store/session.ts | 2 - src/modules/chat/types/index.d.ts | 56 +- src/modules/upload/components/index.vue | 20 +- src/modules/upload/components/space.vue | 2 +- .../upload/components/space/category.vue | 8 +- yarn.lock | 79 +- 17 files changed, 1713 insertions(+), 98 deletions(-) create mode 100644 src/modules/chat/config.ts delete mode 100644 src/modules/chat/index.ts diff --git a/build/cool/temp/eps.json b/build/cool/temp/eps.json index 1b6bbdb..132537f 100644 --- a/build/cool/temp/eps.json +++ b/build/cool/temp/eps.json @@ -1 +1 @@ -[["/admin/base/comm",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/personUpdate",""],["","/uploadMode",""],["","/permmenu",""],["","/logout",""]]],["/admin/base/open",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/refreshToken",""],["","/captcha",""],["","/login",""],["","/html",""],["","/eps",""]]],["/admin/base/sys/department",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/order",""]]],["/admin/base/sys/log",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/setKeep",""],["","/getKeep",""],["","/clear",""]]],["/admin/base/sys/menu",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/base/sys/param",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/html",""]]],["/admin/base/sys/role",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/base/sys/user",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/move",""]]],["/admin/demo/goods",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/space/info",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/space/type",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/task/info",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/start",""],["","/once",""],["","/stop",""],["","/log",""]]],["/chat/message",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/chat/session",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/test",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]]] \ No newline at end of file +[["/admin/base/comm",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/personUpdate",""],["","/uploadMode",""],["","/permmenu",""],["","/logout",""]]],["/admin/base/open",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/refreshToken",""],["","/captcha",""],["","/login",""],["","/html",""],["","/eps",""]]],["/admin/base/sys/department",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/order",""]]],["/admin/base/sys/log",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/setKeep",""],["","/getKeep",""],["","/clear",""]]],["/admin/base/sys/menu",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/base/sys/param",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/html",""]]],["/admin/base/sys/role",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/base/sys/user",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/move",""]]],["/admin/demo/goods",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/fbMall/account",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/publishGoods",""],["","/refreshGoods",""],["","/republish",""],["","/addMore",""],["","/close",""],["","/open",""],["","/getAccountGoods",""]]],["/admin/fbMall/area",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/fbMall/areaItem",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/order",""]]],["/admin/fbMall/goods",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/fbMall/goodsItem",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/readAll",""]]],["/admin/fbMall/photo",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/fbMall/photoItem",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/order",""]]],["/admin/fbMall/promote",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/getLog",""]]],["/admin/fbMall/proxy",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/fbMall/server",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/fbMall/thesaurus",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/order",""]]],["/admin/fbMall/thesaurusItem",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/readAll",""]]],["/admin/multimedia/multimediaData",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/deleteAllPermission",""]]],["/admin/multimedia/multimediaItem",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/updateeAllPermission",""],["","/deleteAllPermission",""],["","/order",""]]],["/admin/shop/reply",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/space/info",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/space/type",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/area",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/channel",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/country",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/express",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/goods",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/goodsItem",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/order",""]]],["/admin/sys/label",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/shop",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/readAll",""]]],["/admin/sys/shop_warehouse",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/sys/sku",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/synchronize",""]]],["/admin/sys/stock",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/synchronize",""]]],["/admin/sys/warehouse",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/admin/task/info",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""],["","/start",""],["","/once",""],["","/stop",""],["","/log",""]]],["/chat/message",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/chat/session",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]],["/test",[["","/list",""],["","/page",""],["","/info",""],["","/update",""],["","/delete",""],["","/add",""]]]] \ No newline at end of file diff --git a/build/cool/temp/service.d.ts b/build/cool/temp/service.d.ts index d3ac4e8..56f3a86 100644 --- a/build/cool/temp/service.d.ts +++ b/build/cool/temp/service.d.ts @@ -535,6 +535,768 @@ declare interface DemoGoods { }; } +declare interface FbMallAccount { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * publishGoods + * @returns Promise + */ + publishGoods(data?: any): Promise; + /** + * refreshGoods + * @returns Promise + */ + refreshGoods(data?: any): Promise; + /** + * republish + * @returns Promise + */ + republish(data?: any): Promise; + /** + * addMore + * @returns Promise + */ + addMore(data?: any): Promise; + /** + * close + * @returns Promise + */ + close(data?: any): Promise; + /** + * open + * @returns Promise + */ + open(data?: any): Promise; + /** + * getAccountGoods + * @returns Promise + */ + getAccountGoods(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + publishGoods: string; + refreshGoods: string; + republish: string; + addMore: string; + close: string; + open: string; + getAccountGoods: string; + }; +} + +declare interface FbMallArea { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface FbMallAreaItem { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * order + * @returns Promise + */ + order(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + order: string; + }; +} + +declare interface FbMallGoods { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface FbMallGoodsItem { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * readAll + * @returns Promise + */ + readAll(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + readAll: string; + }; +} + +declare interface FbMallPhoto { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface FbMallPhotoItem { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * order + * @returns Promise + */ + order(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + order: string; + }; +} + +declare interface FbMallPromote { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * getLog + * @returns Promise + */ + getLog(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + getLog: string; + }; +} + +declare interface FbMallProxy { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface FbMallServer { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface FbMallThesaurus { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * order + * @returns Promise + */ + order(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + order: string; + }; +} + +declare interface FbMallThesaurusItem { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * readAll + * @returns Promise + */ + readAll(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + readAll: string; + }; +} + +declare interface MultimediaMultimediaData { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * deleteAllPermission + * @returns Promise + */ + deleteAllPermission(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + deleteAllPermission: string; + }; +} + +declare interface MultimediaMultimediaItem { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * updateeAllPermission + * @returns Promise + */ + updateeAllPermission(data?: any): Promise; + /** + * deleteAllPermission + * @returns Promise + */ + deleteAllPermission(data?: any): Promise; + /** + * order + * @returns Promise + */ + order(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + updateeAllPermission: string; + deleteAllPermission: string; + order: string; + }; +} + +declare interface ShopReply { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + declare interface SpaceInfo { /** * list @@ -623,6 +1385,558 @@ declare interface SpaceType { }; } +declare interface SysArea { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface SysChannel { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface SysCountry { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface SysExpress { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface SysGoods { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface SysGoodsItem { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * order + * @returns Promise + */ + order(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + order: string; + }; +} + +declare interface SysLabel { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface SysShop { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * readAll + * @returns Promise + */ + readAll(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + readAll: string; + }; +} + +declare interface SysShop_warehouse { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + +declare interface SysSku { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * synchronize + * @returns Promise + */ + synchronize(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + synchronize: string; + }; +} + +declare interface SysStock { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * synchronize + * @returns Promise + */ + synchronize(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + synchronize: string; + }; +} + +declare interface SysWarehouse { + /** + * list + * @returns Promise + */ + list(data?: any): Promise; + /** + * page + * @returns Promise + */ + page(data?: any): Promise; + /** + * info + * @returns Promise + */ + info(data?: any): Promise; + /** + * update + * @returns Promise + */ + update(data?: any): Promise; + /** + * delete + * @returns Promise + */ + delete(data?: any): Promise; + /** + * add + * @returns Promise + */ + add(data?: any): Promise; + /** + * 权限 + */ + permission: { + list: string; + page: string; + info: string; + update: string; + delete: string; + add: string; + }; +} + declare interface TaskInfo { /** * list @@ -838,7 +2152,40 @@ declare type Service = { }; }; demo: { goods: DemoGoods }; + fbMall: { + account: FbMallAccount; + area: FbMallArea; + areaItem: FbMallAreaItem; + goods: FbMallGoods; + goodsItem: FbMallGoodsItem; + photo: FbMallPhoto; + photoItem: FbMallPhotoItem; + promote: FbMallPromote; + proxy: FbMallProxy; + server: FbMallServer; + thesaurus: FbMallThesaurus; + thesaurusItem: FbMallThesaurusItem; + }; + multimedia: { + multimediaData: MultimediaMultimediaData; + multimediaItem: MultimediaMultimediaItem; + }; + shop: { reply: ShopReply }; space: { info: SpaceInfo; type: SpaceType }; + sys: { + area: SysArea; + channel: SysChannel; + country: SysCountry; + express: SysExpress; + goods: SysGoods; + goodsItem: SysGoodsItem; + label: SysLabel; + shop: SysShop; + shop_warehouse: SysShop_warehouse; + sku: SysSku; + stock: SysStock; + warehouse: SysWarehouse; + }; task: { info: TaskInfo }; chat: { message: ChatMessage; session: ChatSession }; test: Test; diff --git a/package.json b/package.json index 297c1d3..d2c60e7 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,14 @@ "lint:eslint": "eslint \"{src,mock}/**/*.{vue,ts,tsx}\" --fix" }, "dependencies": { - "@cool-vue/crud": "^5.0.11", + "@cool-vue/crud": "^5.0.13", "@element-plus/icons-vue": "^1.1.3", "@vueuse/core": "^8.2.5", "axios": "^0.27.2", "codemirror": "^5.62.0", "core-js": "^3.6.5", "echarts": "^5.0.2", - "element-plus": "^2.2.0", + "element-plus": "^2.2.5", "file-saver": "^2.0.5", "js-beautify": "^1.13.5", "lodash": "^4.17.21", diff --git a/src/modules/chat/components/index.vue b/src/modules/chat/components/index.vue index 3eaef6f..6083314 100644 --- a/src/modules/chat/components/index.vue +++ b/src/modules/chat/components/index.vue @@ -1,7 +1,7 @@ @@ -122,6 +220,8 @@ function send() { ul { & > li { + list-style: none; + .date { display: flex; align-items: center; @@ -161,9 +261,13 @@ function send() { font-size: 14px; } - .is-img { + .is-image { + background-color: #fff; + .el-image { - max-width: 300px; + display: block; + min-height: 100px; + max-width: 200px; border-radius: 3px; } } @@ -204,12 +308,20 @@ function send() { ul { li { - height: 25px; - width: 25px; + height: 26px; + width: 26px; border-radius: 3px; - background-color: #eee; margin-right: 10px; list-style: none; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + font-size: 18px; + + &:hover { + background-color: #f7f7f7; + } } } } diff --git a/src/modules/chat/components/session.vue b/src/modules/chat/components/session.vue index 7ebe8cf..dde9cdb 100644 --- a/src/modules/chat/components/session.vue +++ b/src/modules/chat/components/session.vue @@ -10,32 +10,33 @@ -
-
-
- - - -
+
+
+
+
+ + + +
-
-

{{ item.nickName }}

-

- {{ item.text }} -

-
+
+

{{ item.nickName }}

+

+ {{ item.text }} +

+
-
-

{{ item.createTime }}

- +
+

{{ item.createTime }}

+
@@ -49,19 +50,22 @@ import { computed, ref } from "vue"; import { useChat } from "../hooks"; import { useStore } from "../store"; import { Refresh } from "@element-plus/icons-vue"; +import { Chat } from "../types"; const { chat } = useChat(); -const { session } = useStore(); +const { session, message } = useStore(); // 关键字 const keyWord = ref(""); // 过滤列表 -const list = computed(() => session?.list.filter((e) => e.nickName.includes(keyWord.value)) || []); +const list = computed(() => session?.list.filter((e) => e.nickName?.includes(keyWord.value)) || []); // 会话详情 -function toDetail(item: any) { - chat?.setSession(item); +async function toDetail(item: Chat.Session) { + session.set(item); + await message.get({ page: 1 }); + chat?.scrollToBottom(); } @@ -105,6 +109,12 @@ function toDetail(item: any) { .list { height: calc(100% - 51px); + overflow: hidden; + + .scroller1 { + height: 100%; + } + .item { display: flex; padding: 15px 10px; diff --git a/src/modules/chat/config.ts b/src/modules/chat/config.ts new file mode 100644 index 0000000..3a1ec93 --- /dev/null +++ b/src/modules/chat/config.ts @@ -0,0 +1,4 @@ +export default { + // socket.io 连接地址 + path: "/chat" +}; diff --git a/src/modules/chat/hooks/index.ts b/src/modules/chat/hooks/index.ts index f30ad85..c2c3012 100644 --- a/src/modules/chat/hooks/index.ts +++ b/src/modules/chat/hooks/index.ts @@ -2,7 +2,7 @@ import { inject } from "vue"; import { Chat } from "../types"; export function useChat() { - const chat = inject("chat"); + const chat = inject("chat"); return { chat diff --git a/src/modules/chat/index.ts b/src/modules/chat/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/modules/chat/service/message.ts b/src/modules/chat/service/message.ts index 4835968..ec1bd8b 100644 --- a/src/modules/chat/service/message.ts +++ b/src/modules/chat/service/message.ts @@ -12,11 +12,8 @@ class ChatMessage extends BaseService { nickName: "@name", createTime: "@datetime(HH:mm:ss)", text: "@cparagraph(5)", - content() { - return JSON.stringify({ text: this.text }); - }, - "contentType|0-3": 0, - "type|0-1": 0, + "contentType|0-1": 0, + "userId|1-2": 1, avatar() { return Mock.Random.image( "40x40", @@ -25,6 +22,18 @@ class ChatMessage extends BaseService { "png", this.nickName[0] ); + }, + content() { + return JSON.stringify({ + text: this.text, + imageUrl: Mock.Random.image( + "100x100", + Mock.Random.color(), + "#FFF", + "png", + this.nickName + ) + }); } } ] diff --git a/src/modules/chat/store/message.ts b/src/modules/chat/store/message.ts index eacea93..173c03a 100644 --- a/src/modules/chat/store/message.ts +++ b/src/modules/chat/store/message.ts @@ -12,15 +12,27 @@ export const useMessageStore = defineStore("chat-message", () => { const list = ref([]); // 分页 - const pagination = ref(); + const pagination = ref({ + page: 1, + total: 0, + size: 20 + }); // 获取列表 async function get(params?: any) { loading.value = true; + // 清空 + if (params?.page == 1) { + list.value = []; + } + // 发送请求 await service.chat.message.page(params).then((res) => { - list.value = res.list; + list.value = res.list.map((e) => { + e.content = JSON.parse(e.content); + return e; + }); pagination.value = res.pagination; }); diff --git a/src/modules/chat/store/session.ts b/src/modules/chat/store/session.ts index 4da8989..b616039 100644 --- a/src/modules/chat/store/session.ts +++ b/src/modules/chat/store/session.ts @@ -34,8 +34,6 @@ export const useSessionStore = defineStore("chat-session", () => { // 设置值 function set(data: any) { - // 清空消息列表 - list.value = []; // 设置值 value.value = data; } diff --git a/src/modules/chat/types/index.d.ts b/src/modules/chat/types/index.d.ts index f2404ab..f9d4479 100644 --- a/src/modules/chat/types/index.d.ts +++ b/src/modules/chat/types/index.d.ts @@ -1,31 +1,35 @@ import { Socket } from "socket.io-client"; -export declare interface Item { - id: string; - avatar: string; - nickName: string; - [key: string]: any; -} +export namespace Chat { + enum ContentType { + "text" = 0, + "image" = 1, + "video" = 2 + } -export declare interface Chat { - socket?: Socket; - inputValue: string; - session: { - loading: boolean; - value?: Item; - list: Item[]; - }; - message: { - loading: boolean; - list: Item[]; - pagination: { - page: number; - total: number; - size: number; + interface Message { + fromId?: string; + toId?: string; + content: { + text?: string; + imageUrl?: string; + [key: string]: any; }; - }; - scrollToBottom(): void; - getSession(params?: any): void; - setSession(data: any): void; - getMessage(params?: any): void; + contentType: ContentType; + [key: string]: any; + } + + interface Session { + id: string; + avatar: string; + nickName: string; + [key: string]: any; + } + + interface Provide { + socket?: Socket; + send(data: Message, isAppend?: boolean): void; + append(data: Message): void; + scrollToBottom(): void; + } } diff --git a/src/modules/upload/components/index.vue b/src/modules/upload/components/index.vue index 395cda4..1846089 100644 --- a/src/modules/upload/components/index.vue +++ b/src/modules/upload/components/index.vue @@ -1,6 +1,14 @@