diff --git a/buyer/src/components/ChatApp/ChatApp.vue b/buyer/src/components/ChatApp/ChatApp.vue index 56dec20fec36e3b638518e65f2a6f1bb34acb32f..74a14f64b302153e656364190c5bf015d70b478b 100644 --- a/buyer/src/components/ChatApp/ChatApp.vue +++ b/buyer/src/components/ChatApp/ChatApp.vue @@ -16,12 +16,13 @@
-
+
+
{{ item.name }}
{{ item['un_read_num'] }}
@@ -31,7 +32,8 @@
-
+
+

{{ currentChat.name }} @@ -163,7 +165,7 @@

订单金额: - ¥{{ item['order_amount'] }} + {{ item['order_amount'] | unitPrice }}

{{ unixToDate(item.create_time) }} @@ -192,6 +194,7 @@ + + diff --git a/manager-admin/src/components/ChatApp/ChatAppEmoji.vue b/manager-admin/src/components/ChatApp/ChatAppEmoji.vue new file mode 100644 index 0000000000000000000000000000000000000000..1a31d0cfc6b4c4d07d4277fec93bca6348ff9e93 --- /dev/null +++ b/manager-admin/src/components/ChatApp/ChatAppEmoji.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/manager-admin/src/components/ChatApp/ChatMessageItem.vue b/manager-admin/src/components/ChatApp/ChatMessageItem.vue new file mode 100644 index 0000000000000000000000000000000000000000..4130fcec065b8bd6f9a246c936ea0b0a2b8c8243 --- /dev/null +++ b/manager-admin/src/components/ChatApp/ChatMessageItem.vue @@ -0,0 +1,307 @@ + + + + + diff --git a/manager-admin/src/components/ChatApp/apiMixin.js b/manager-admin/src/components/ChatApp/apiMixin.js new file mode 100644 index 0000000000000000000000000000000000000000..586c7e52df3e109b90532827b28be8690650e6f7 --- /dev/null +++ b/manager-admin/src/components/ChatApp/apiMixin.js @@ -0,0 +1,292 @@ +export default { + data() { + return { + // 朋友 + friend_timer: null, + friends: [], + // 订单 + orders: [], + orderParams: { + page_no: 1, + page_size: 10, + no_data: false, + loading: false + }, + // 商品浏览历史或者本店商品 + goodsList: [], + goodsListParams: { + page_no: 1, + page_size: 10, + no_data: false, + loading: false + }, + // 正在咨询的商品 + askGoods: '', + // 聊天记录 + chatHistories: [], + chatHistoryParams: { + page_no: 1, + page_size: 10, + no_data: false, + loading: false + }, + new_message_timer: null + } + }, + mounted() { + this.getFriends() + }, + watch: { + receiver_id: { + immediate: true, + async handler(newVal) { + if (!newVal) return + this.orders = [] + this.orderParams.no_data = false + this.orderParams.page_no = 1 + this.chatHistories = [] + this.chatHistoryParams.no_data = false + this.chatHistoryParams.page_no = 1 + this.getOrders() + this.getGoodsList() + await this.getNewMessage() + setTimeout(() => { + this.chatContentScrollTo() + }, 1000) + } + } + }, + methods: { + /** + * 获取好友列表 + */ + getFriends() { + this.request({ + url: this.apis['admin'] + `/admin/im/friends-list`, + method: 'get', + loading: false, + needToken: true + }).then(res => { + const currentChat = res.filter(item => item['target_id'] === this.receiver_id)[0] + if (currentChat) { + currentChat.un_read_num = 0 + } + this.friends = res + if (!this.receiver_id) { + this.receiver_id = res[0].target_id + } + }) + }, + /** + * 获取订单列表 + */ + getOrders() { + this.orderParams.loading = true + const params = JSON.parse(JSON.stringify(this.orderParams)) + delete params.no_data + delete params.loading + let url = `${this.apis['admin']}/admin/im/orders/${this.receiver_id}` + this.request({ + url, + method: 'get', + loading: false, + needToken: true, + params + }).then(res => { + const data = res.data + if (params.page_no === 1) { + this.orders = data + } else { + this.orders.push(...data) + } + this.orderParams.no_data = data.length < params.page_size + }).finally(() => { + this.orderParams.loading = false + }) + }, + + /** + * 创建对话 + * @returns {*} + */ + createSession() { + return this.request({ + url: this.apis['admin'] + `/admin/im/session/${this.receiver_id}`, + method: 'post', + loading: false, + needToken: true + }).then(res => { + this.getFriends() + }) + }, + + /** + * 获取商品列表 + * 如果是商家端,获取店铺商品列表 + * 否则,获取会员商品浏览记录 + */ + getGoodsList() { + this.goodsListParams.loading = true + const params = JSON.parse(JSON.stringify(this.goodsListParams)) + if (this.search_goods_keyword) { + params.goods_name = this.search_goods_keyword + } + delete params.no_data + delete params.loading + let url = `${this.apis['admin']}/admin/im/visit-history/${this.receiver_id}` + this.request({ + url, + method: 'get', + loading: false, + needToken: true, + params + }).then(res => { + const data = [] + res.data.forEach(item => data.push(item)) + if (params.page_no === 1) { + this.goodsList = data + } else { + this.goodsList.push(...data) + } + this.goodsListParams.no_data = data.length < params.page_size + }).finally(() => { + this.goodsListParams.loading = false + }) + }, + + /** + * 获取聊天记录,用于加载更多 + */ + getChatHistory() { + this.chatHistoryParams.loading = true + const params = JSON.parse(JSON.stringify(this.chatHistoryParams)) + params.receiver_id = this.receiver_id + delete params.no_data + delete params.loading + this.request({ + url: this.apis['admin'] + `/admin/im/history`, + method: 'get', + loading: false, + needToken: true, + params + }).then(res => { + const data = res.data + this.chatHistories.splice(0, 0, ...data) + this.chatHistoryParams.no_data = data.length < params.page_size + }).finally(() => { + this.chatHistoryParams.loading = false + }) + }, + + /** + * 发送消息 + * @param content + * @param type + * @returns {Promise<*>} + */ + async sendMessage(content, type) { + if (!this.receiver_id) return this.$message.error('请选择一个对话!') + const data = { + content, + receiver_id: this.receiver_id + } + const res = await this.request({ + url: this.apis['admin'] + `/admin/im/message/${type}`, + method: 'post', + loading: false, + needToken: true, + data + }) + this.chatHistories.push(res) + this.removeUnreadNum() + this.chatContentScrollTo() + return Promise.resolve(res) + }, + /** + * 移除未读消息 + * @returns {*} + */ + removeUnreadNum() { + return this.request({ + url: this.apis['admin'] + `/admin/im/unread-num`, + method: 'delete', + loading: false, + needToken: true, + params: { + sender_id: this.receiver_id + } + }) + }, + /** + * 获取新消息,轮询 + * @returns {Promise} + */ + getNewMessage() { + return new Promise(resolve => { + this.request({ + url: this.apis['admin'] + `/admin/im/history`, + method: 'get', + loading: false, + needToken: true, + params: { receiver_id: this.receiver_id } + }).then(res => { + let num = 0 + res.data.forEach(item => { + if (!this.chatHistories.map(_item => _item['msg_id']).includes(item['msg_id'])) { + this.chatHistories.push(item) + num++ + } + }) + if (num !== 0) { + const $el = this.$refs['chat-content'] + if ($el.scrollHeight - $el.scrollTop === $el.offsetHeight) { + this.chatContentScrollTo() + } else { + this.new_message_tip = true + } + } + }).finally(() => { + resolve() + }) + }) + }, + /** + * 文件上传 + * @param file + */ + uploadFile(file) { + return new Promise(resolve => { + const formData = new FormData() + formData.append('file', file) + this.request({ + url: this.MixinUploadApi, + method: 'post', + headers: { + 'Content-Type': 'multipart/form-data', + ...this.MixinAccessToken + }, + data: formData + }).then(res => { + resolve(res) + }) + }) + }, + + /** + * 删除会话[移除好友] + * @param id + */ + deleteFriend(id) { + return new Promise((resolve, reject) => { + let url = this.apis['admin'] + '/admin/im/delete' + const params = { member_id: id } + this.request({ + url, + method: 'get', + needToken: true, + params + }).then(resolve).catch(reject) + }) + } + } +} diff --git a/manager-admin/src/components/ChatApp/emojiMixin.js b/manager-admin/src/components/ChatApp/emojiMixin.js new file mode 100644 index 0000000000000000000000000000000000000000..17e091a08c99cf271e39b31eccf764649924fa5d --- /dev/null +++ b/manager-admin/src/components/ChatApp/emojiMixin.js @@ -0,0 +1,40 @@ +let emojiFiles = [] +let emojiMap = {} +let emojis = require['context']('./images', true, /[A-Za-z]\w+\.(gif)$/) +emojis.keys().forEach(item => { + if (item.indexOf('emojis.gif') !== -1) return + emojiFiles.push(emojis(item)) + const emojiName = item.split('.gif')[0].split('/')[1] + emojiMap[emojiName] = emojis(item) +}) + +export default { + data() { + return { + emojis: Object.keys(emojiMap), + emojiMap: emojiMap + } + }, + methods: { + /** + * 通过emoji图片路径获取emojiId + * @param path + * @returns {*} + */ + getEmojiId(path) { + if (!path) return + let temp = path.split('.gif')[0] + if (!temp) return + return temp.split('/')[1] + }, + /** + * 通过emojiId获取emoji图片路径 + * @param id + * @returns {*} + */ + getEmojiPath(id) { + if (!id) return + return this.emojiMap[id] + } + } +} diff --git a/manager-admin/src/components/ChatApp/icon-close.png b/manager-admin/src/components/ChatApp/icon-close.png new file mode 100644 index 0000000000000000000000000000000000000000..b11df4169d4e016c0fbc995019a81e63707b9fa0 Binary files /dev/null and b/manager-admin/src/components/ChatApp/icon-close.png differ diff --git a/manager-admin/src/components/ChatApp/icon-noface.jpg b/manager-admin/src/components/ChatApp/icon-noface.jpg new file mode 100644 index 0000000000000000000000000000000000000000..21c6aa59437c4df4017cf10501e1a0d035c43755 Binary files /dev/null and b/manager-admin/src/components/ChatApp/icon-noface.jpg differ diff --git a/manager-admin/src/components/ChatApp/images/e01.gif b/manager-admin/src/components/ChatApp/images/e01.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5baabcd73fabe51b021f8311455a2ec2c7a61bf Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e01.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e02.gif b/manager-admin/src/components/ChatApp/images/e02.gif new file mode 100644 index 0000000000000000000000000000000000000000..616dcbcf6456f7dbaa045c93ca53a51b7176fe22 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e02.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e03.gif b/manager-admin/src/components/ChatApp/images/e03.gif new file mode 100644 index 0000000000000000000000000000000000000000..244787dd9081ed0710515f6280d845992913db07 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e03.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e04.gif b/manager-admin/src/components/ChatApp/images/e04.gif new file mode 100644 index 0000000000000000000000000000000000000000..3798fe8b8faf2fd1e0387f32efa8bee1fffd967f Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e04.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e05.gif b/manager-admin/src/components/ChatApp/images/e05.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e3ddae5cb233c98c88547fbb87b29736e27fa71 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e05.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e06.gif b/manager-admin/src/components/ChatApp/images/e06.gif new file mode 100644 index 0000000000000000000000000000000000000000..9902cab36ce265d729ac9c9b8b9da83c18641972 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e06.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e07.gif b/manager-admin/src/components/ChatApp/images/e07.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d4d2a76c2c32e05bbc2ccdeac185bae3023bda2 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e07.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e08.gif b/manager-admin/src/components/ChatApp/images/e08.gif new file mode 100644 index 0000000000000000000000000000000000000000..26d421d1dd090b00b18d7e1300aad07d1d45936a Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e08.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e09.gif b/manager-admin/src/components/ChatApp/images/e09.gif new file mode 100644 index 0000000000000000000000000000000000000000..8a6e2122394c599a9636c7181880f566552dae2b Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e09.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e10.gif b/manager-admin/src/components/ChatApp/images/e10.gif new file mode 100644 index 0000000000000000000000000000000000000000..1383a2ebfe76ca37a14dde49d37c79f385c1b7f5 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e10.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e11.gif b/manager-admin/src/components/ChatApp/images/e11.gif new file mode 100644 index 0000000000000000000000000000000000000000..614ebca78f432620abc3c08da9ca0c1e73187a3e Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e11.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e12.gif b/manager-admin/src/components/ChatApp/images/e12.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ce9cf6a9f4e73adccb29a2d068667264fa4decd Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e12.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e13.gif b/manager-admin/src/components/ChatApp/images/e13.gif new file mode 100644 index 0000000000000000000000000000000000000000..2105024ab8f5559c8b8c7e1456c5dd8ca4db15d4 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e13.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e14.gif b/manager-admin/src/components/ChatApp/images/e14.gif new file mode 100644 index 0000000000000000000000000000000000000000..2e62299f34e7be7fd1965369e584ce06c1cb360e Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e14.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e15.gif b/manager-admin/src/components/ChatApp/images/e15.gif new file mode 100644 index 0000000000000000000000000000000000000000..bf52d0b2ce1dd122b346956edc9c586229ceebc1 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e15.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e16.gif b/manager-admin/src/components/ChatApp/images/e16.gif new file mode 100644 index 0000000000000000000000000000000000000000..c2b9c70d4ea000a868c815ce7925baca532d632f Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e16.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e17.gif b/manager-admin/src/components/ChatApp/images/e17.gif new file mode 100644 index 0000000000000000000000000000000000000000..32cb793e50ec3919648a94546a6e51b7ed5526aa Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e17.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e18.gif b/manager-admin/src/components/ChatApp/images/e18.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2cc2c5b3e4f765eb16090afa03a36b6e5995d45 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e18.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e19.gif b/manager-admin/src/components/ChatApp/images/e19.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bcb322f9e91dafc7f068272c469c489e1aef403 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e19.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e20.gif b/manager-admin/src/components/ChatApp/images/e20.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bbca35984e0a1d141b5a0e42095c9429664088d Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e20.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e21.gif b/manager-admin/src/components/ChatApp/images/e21.gif new file mode 100644 index 0000000000000000000000000000000000000000..7267c775d14ed163681baeea12855bf0e252789f Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e21.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e22.gif b/manager-admin/src/components/ChatApp/images/e22.gif new file mode 100644 index 0000000000000000000000000000000000000000..7a2e7f133c458eb2ed4fe3b664027631eeb19764 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e22.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e23.gif b/manager-admin/src/components/ChatApp/images/e23.gif new file mode 100644 index 0000000000000000000000000000000000000000..b3715550fdb42e39e5062ce62fa720b13c30feba Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e23.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e24.gif b/manager-admin/src/components/ChatApp/images/e24.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d1e4541a4c6a4a8901d89094a764f6458f544ce Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e24.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e25.gif b/manager-admin/src/components/ChatApp/images/e25.gif new file mode 100644 index 0000000000000000000000000000000000000000..3fe507c0bf0fa827d3afc575f78387bc85ec6434 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e25.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e26.gif b/manager-admin/src/components/ChatApp/images/e26.gif new file mode 100644 index 0000000000000000000000000000000000000000..87e635bc27a8e9aacdd6c9984ee03b8db13d500d Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e26.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e27.gif b/manager-admin/src/components/ChatApp/images/e27.gif new file mode 100644 index 0000000000000000000000000000000000000000..e1e4dfd1b32eee2645b942a1d48bd82e0db5a58b Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e27.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e28.gif b/manager-admin/src/components/ChatApp/images/e28.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d3760fd407b78c84edbd8306fce96384d9b4ef0 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e28.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e29.gif b/manager-admin/src/components/ChatApp/images/e29.gif new file mode 100644 index 0000000000000000000000000000000000000000..86b9c848186bbf140be4bd6264a140c3553a17e6 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e29.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e30.gif b/manager-admin/src/components/ChatApp/images/e30.gif new file mode 100644 index 0000000000000000000000000000000000000000..16850ce1c93483915c5d6f55837b945295936515 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e30.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e31.gif b/manager-admin/src/components/ChatApp/images/e31.gif new file mode 100644 index 0000000000000000000000000000000000000000..86863cf1330853850b01782392bd5f87d4c30be1 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e31.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e32.gif b/manager-admin/src/components/ChatApp/images/e32.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2f187508a20c9f30ceabcba2f53d2470e084b42 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e32.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e33.gif b/manager-admin/src/components/ChatApp/images/e33.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee6f51387a0d76eea676d5795c2234bb7cf8e02b Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e33.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e34.gif b/manager-admin/src/components/ChatApp/images/e34.gif new file mode 100644 index 0000000000000000000000000000000000000000..8a7cf0a092b17b3d7967fb5cea4fec40fa791dad Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e34.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e35.gif b/manager-admin/src/components/ChatApp/images/e35.gif new file mode 100644 index 0000000000000000000000000000000000000000..0235d389da3c77af489714e937c60f856057d1d7 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e35.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e36.gif b/manager-admin/src/components/ChatApp/images/e36.gif new file mode 100644 index 0000000000000000000000000000000000000000..2bbb9a095a8160519b514cda20354e95b04c8640 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e36.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e37.gif b/manager-admin/src/components/ChatApp/images/e37.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cb82f5e63e5d7ec1670446cfcba88ee7499347c Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e37.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e38.gif b/manager-admin/src/components/ChatApp/images/e38.gif new file mode 100644 index 0000000000000000000000000000000000000000..8e03ca87d3a5ba922b72438fa8f5c25d33b7f0da Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e38.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e39.gif b/manager-admin/src/components/ChatApp/images/e39.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e26b94dd52477583dc1cb77c867b25c024d620c Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e39.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e40.gif b/manager-admin/src/components/ChatApp/images/e40.gif new file mode 100644 index 0000000000000000000000000000000000000000..3643e9ef34baeb0ba275b748a7f8262f89726c96 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e40.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e41.gif b/manager-admin/src/components/ChatApp/images/e41.gif new file mode 100644 index 0000000000000000000000000000000000000000..b9f86388bf9d0f31b21add074247fe48131bec7c Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e41.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e42.gif b/manager-admin/src/components/ChatApp/images/e42.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6931188a62ec0a60a53f4285ecb5b6e04c3b7d5 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e42.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e43.gif b/manager-admin/src/components/ChatApp/images/e43.gif new file mode 100644 index 0000000000000000000000000000000000000000..58cfc659a942fe81d2fa046998dd137bc53ce06e Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e43.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e44.gif b/manager-admin/src/components/ChatApp/images/e44.gif new file mode 100644 index 0000000000000000000000000000000000000000..7dd32fb2f20cbe7791796f3c90a51528d506f694 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e44.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e45.gif b/manager-admin/src/components/ChatApp/images/e45.gif new file mode 100644 index 0000000000000000000000000000000000000000..c92402f89441fff83674c0b59df9053b0c1116ec Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e45.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e46.gif b/manager-admin/src/components/ChatApp/images/e46.gif new file mode 100644 index 0000000000000000000000000000000000000000..67c63e6c1a33734db81b60a28a3f7c5566df21be Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e46.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e47.gif b/manager-admin/src/components/ChatApp/images/e47.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba2b736d74ed31165f32168e7978f5386588d5a3 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e47.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e48.gif b/manager-admin/src/components/ChatApp/images/e48.gif new file mode 100644 index 0000000000000000000000000000000000000000..be58ea9c6f1a4eaf4ab0fb13bf407019e38bebf4 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e48.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e49.gif b/manager-admin/src/components/ChatApp/images/e49.gif new file mode 100644 index 0000000000000000000000000000000000000000..73aee8bfb72d6636bad13b85491e881d4658b994 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e49.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e50.gif b/manager-admin/src/components/ChatApp/images/e50.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae5d59204d7f73bb391a8d92fb36256e0e56ebc2 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e50.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e51.gif b/manager-admin/src/components/ChatApp/images/e51.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d7f838e30799bf966b1fb1e0f461ed78ab36f2d Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e51.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e52.gif b/manager-admin/src/components/ChatApp/images/e52.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5cbf4e309199632bd20e24f7b4c6a2ca040184e Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e52.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e53.gif b/manager-admin/src/components/ChatApp/images/e53.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c49e0e34684aa988eaa5dc0ecbc1040a4c99315 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e53.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e54.gif b/manager-admin/src/components/ChatApp/images/e54.gif new file mode 100644 index 0000000000000000000000000000000000000000..b65ad4d08bc7ecae5ddbf95ef643fd2cfc6bd693 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e54.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e55.gif b/manager-admin/src/components/ChatApp/images/e55.gif new file mode 100644 index 0000000000000000000000000000000000000000..d90fbb7077001bb7f82e707d9c07873a90e1b9e5 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e55.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e56.gif b/manager-admin/src/components/ChatApp/images/e56.gif new file mode 100644 index 0000000000000000000000000000000000000000..8e3fa4d81b066ca36a92e8ac60da4463d1a023f4 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e56.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e57.gif b/manager-admin/src/components/ChatApp/images/e57.gif new file mode 100644 index 0000000000000000000000000000000000000000..32beb40d5ca900cc766310dab400a387720dfb17 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e57.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e58.gif b/manager-admin/src/components/ChatApp/images/e58.gif new file mode 100644 index 0000000000000000000000000000000000000000..f34ab3414d5fa4f0fc2a006b56a057c2fd18aacc Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e58.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e59.gif b/manager-admin/src/components/ChatApp/images/e59.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c23b256e9d6b94e13ac9c88f234ab2da4d167d3 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e59.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e60.gif b/manager-admin/src/components/ChatApp/images/e60.gif new file mode 100644 index 0000000000000000000000000000000000000000..dc7931c9101b8f674aef3fb3b99052fbfe650112 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e60.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e61.gif b/manager-admin/src/components/ChatApp/images/e61.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9e6d3567a21c6f507969305accaf4d4e90993a3 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e61.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e62.gif b/manager-admin/src/components/ChatApp/images/e62.gif new file mode 100644 index 0000000000000000000000000000000000000000..a360e0ba2f78f832b6076362ca84e00b0d6d5f73 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e62.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e63.gif b/manager-admin/src/components/ChatApp/images/e63.gif new file mode 100644 index 0000000000000000000000000000000000000000..768df9188039f9d408de13a26cf9c7ceec0607a1 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e63.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e64.gif b/manager-admin/src/components/ChatApp/images/e64.gif new file mode 100644 index 0000000000000000000000000000000000000000..aa1f2adad451559a920e3715a74074c87f1f4419 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e64.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e65.gif b/manager-admin/src/components/ChatApp/images/e65.gif new file mode 100644 index 0000000000000000000000000000000000000000..f0bcda2f4e41bfd5fb70fdd13883ad8c43defdc9 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e65.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e66.gif b/manager-admin/src/components/ChatApp/images/e66.gif new file mode 100644 index 0000000000000000000000000000000000000000..c824ee08d875e9185346aa587144e6f3a4f4b737 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e66.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e67.gif b/manager-admin/src/components/ChatApp/images/e67.gif new file mode 100644 index 0000000000000000000000000000000000000000..65d9ad03ee6c12e170ec61f747911b913e3f966f Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e67.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e68.gif b/manager-admin/src/components/ChatApp/images/e68.gif new file mode 100644 index 0000000000000000000000000000000000000000..0f599f665175d15471cb94987c99a31e0824ed8f Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e68.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e69.gif b/manager-admin/src/components/ChatApp/images/e69.gif new file mode 100644 index 0000000000000000000000000000000000000000..46c30b3f8ee749b570d8cf99e155dae332c21b47 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e69.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e70.gif b/manager-admin/src/components/ChatApp/images/e70.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bcd24aaa435cd4b5c76764df7e1abfe2d335d7b Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e70.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e71.gif b/manager-admin/src/components/ChatApp/images/e71.gif new file mode 100644 index 0000000000000000000000000000000000000000..922e968445f92788a541e9fc374ffd4fe2372bb9 Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e71.gif differ diff --git a/manager-admin/src/components/ChatApp/images/e72.gif b/manager-admin/src/components/ChatApp/images/e72.gif new file mode 100644 index 0000000000000000000000000000000000000000..318e7e30ad3d70a9ff450330e597ba2d8d6b881c Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/e72.gif differ diff --git a/manager-admin/src/components/ChatApp/images/emojis.gif b/manager-admin/src/components/ChatApp/images/emojis.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a964cb842e93bb242ea1e7fccc7f5793f852d4d Binary files /dev/null and b/manager-admin/src/components/ChatApp/images/emojis.gif differ diff --git a/manager-admin/src/components/ChatApp/message.mp3 b/manager-admin/src/components/ChatApp/message.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1c0f556ea56cd3fd9931f22cc454c0a7f62b21b3 Binary files /dev/null and b/manager-admin/src/components/ChatApp/message.mp3 differ diff --git a/manager-admin/src/components/ChatApp/platform.jpg b/manager-admin/src/components/ChatApp/platform.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7e5e0bb460c0a389cf3ece7db6b20fcc06cf82e Binary files /dev/null and b/manager-admin/src/components/ChatApp/platform.jpg differ diff --git a/manager-admin/src/components/ChatApp/styles.scss b/manager-admin/src/components/ChatApp/styles.scss new file mode 100644 index 0000000000000000000000000000000000000000..361e886cb0d1a54bac138383de7a51fb3bf86db4 --- /dev/null +++ b/manager-admin/src/components/ChatApp/styles.scss @@ -0,0 +1,713 @@ +.ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.chat-app { + display: flex; + justify-content: center; + align-items: center; + width: 100vw; + height: 100vh; + background-color: #2e2f3c; + + .chat-container { + display: flex; + box-sizing: border-box; + width: 1130px; + height: calc(100vh - 60px - 90px); + min-height: 560px; + background-color: #fff; + border-radius: 5px; + } +} + +.left-chat { + width: 250px; + flex-shrink: 0; + border-right: 1px solid #E7E7E7; + + .user-info { + box-sizing: border-box; + padding: 10px; + background: #FF534C; + background-image: -webkit-linear-gradient( + 229deg, #FF534C 0%, #FF3737 100%); + background-image: -o-linear-gradient(229deg, #FF534C 0%, #FF3737 100%); + background-image: linear-gradient( + -139deg, #FF534C 0%, #FF3737 100%); + height: 104px; + border-top-left-radius: 5px; + + .face-user { + display: flex; + width: 100%; + height: 50px; + + .img-face-user { + width: 50px; + height: 50px; + float: left; + border-radius: 4px; + overflow: hidden; + background-size: 100% 100%; + background-repeat: no-repeat; + } + + .info-user { + margin-left: 10px; + + .name-user { + font-size: 18px; + color: #ffffff; + letter-spacing: 0; + line-height: 20px; + width: 160px; + } + } + } + + .search-user { + width: 230px; + height: 24px; + box-sizing: border-box; + margin-top: 10px; + + .search-input-user { + outline: 0 none; + height: 24px; + box-sizing: border-box; + line-height: 24px; + width: 100%; + border-radius: 4px; + border: 0; + font-size: 12px; + padding: 0 5px 0 30px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAAXNSR0IArs4c6QAAAV5JREFUKBV9kj9LA0EQxWfu/PsBUqW2sBEkV0UUWy0SLbz4h7MQS/0I2ohfwUoRiUbdJsbA9RZWYnoRbFMpdokm2XHeYiTeiVscu7Pvx+x7c0yJZUw927IyzSTjIzTcKJUWXphZBmXcPxgTZ1q9zyMtzBLJgxC3dZ/T+yb7vBWFxae+1kEA2t2PBrN3OjmRPQiCoNMXlK9utsXKoT9Eixvh8iPqHj6ugwLRWnF/EMBdtLp0zOTvdnt8FsfxKGoePOBJ6IDCXytaLxjVvL2+d+Zw78E0PCQ7pGChe2LKOwgpEXErJUoUNMG2JWsdhFh1EyQ0qaOQDTSoZwdhDrppIqWU8rtwfl2b0ddMjXmZmoMwOMwBsZYrt2ESBGCtVNTPSRjmnQ03JwgvTDWHWJESqWl4wJPQAYCI7LDvr2yGhbsfCCDm4GLVlGAaHvAkdChfVuc1BQPwFwTwvwVQf8K9L37ijplLBzcAAAAAAElFTkSuQmCC') no-repeat #ffffff 10px 5px; + } + } + } + + .friend-list { + width: 100%; + height: calc(100% - 104px); + overflow: hidden auto; + + .friend-item { + position: relative; + display: flex; + align-items: center; + box-sizing: border-box; + height: 40px; + padding: 10px; + font-size: 13px; + user-select: none; + background-color: #F2F5F9; + cursor: pointer; + transition: all ease .2s; + + &:hover .icon-delete { + display: block; + } + + &.active { + font-size: 14px; + height: 50px; + background-color: #D2E6F9; + + .face-friend { + width: 30px; + height: 30px; + } + } + + .face-friend { + width: 20px; + height: 20px; + overflow: hidden; + box-sizing: border-box; + background-color: #fff; + background-size: 100%; + background-position: 0 50%; + background-repeat: no-repeat; + transition: all ease .2s; + } + + .name-friend { + display: inline-block; + margin-left: 10px; + line-height: 20px; + width: 120px; + color: #1C2229; + } + + .unread-friend { + position: absolute; + right: 50px; + font-size: 12px; + border-radius: 2px; + display: inline-block; + padding: 0 4px; + line-height: 16px; + color: #ffffff; + background: #F23030; + } + + .icon-delete { + position: absolute; + display: none; + right: 0; + width: 50px; + height: 100%; + background-image: url('./icon-close.png'); + background-size: 12px 12px; + background-position: 20px center; + background-repeat: no-repeat; + cursor: pointer; + } + } + } +} + +.right-chat { + flex: 1; + height: 100%; + + .head-right { + width: 100%; + height: 60px; + background-color: #fafafa; + position: relative; + border-top-right-radius: 5px; + + .wrapper-head { + display: flex; + box-sizing: border-box; + margin-left: 10px; + padding-top: 10px; + + .face-head { + width: 40px; + height: 40px; + border-radius: 3px; + overflow: hidden; + background-color: #fff; + background-size: 100%; + background-position: 0 50%; + background-repeat: no-repeat; + } + + .info-head { + box-sizing: border-box; + margin-left: 10px; + padding-top: 3px; + + .name-info-head { + font-size: 14px; + line-height: 19px; + color: #343036; + position: relative; + } + + .desc-info-head { + color: #a1a6af; + font-size: 12px; + line-height: 16px; + } + } + } + } + + .body-right { + position: relative; + display: flex; + height: calc(100% - 60px); + .chat-right { + position: relative; + flex: 1; + display: flex; + flex-direction: column; + box-sizing: border-box; + background-color: #fafafa; + border-right: 1px solid #e7e7e7; + &::after { + content: ''; + position: absolute; + top: 0; + width: 100%; + height: 1px; + background-color: #e7e7e7; + } + } + + .actions-right { + width: 330px; + height: 100%; + box-sizing: border-box; + flex-shrink: 0; + .tabs-actions { + display: flex; + box-sizing: border-box; + width: 100%; + height: 42px; + background-color: #F8F8F8; + } + .tab-actions { + flex: 1; + box-sizing: border-box; + height: 42px; + line-height: 42px; + border-top: 2px solid #F8F8F8; + border-bottom: 1px solid #e7e7e7; + text-align: center; + color: #5A606B; + font-size: 12px; + cursor: pointer; + user-select: none; + border-top: 1px solid #e7e7e7; + &.active { + background-color: #fff; + border-bottom: 0 none; + color: #F23030; + border-top: 2px solid #F23030; + } + } + .content-actions { + height: calc(100% - 42px); + border-bottom-right-radius: 5px; + overflow: hidden; + position: relative; + .tab-actions { + cursor: auto; + margin-top: 20px; + } + &>div { + height: 100%; + } + .tip-load-more { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 40px; + margin-top: 10px; + cursor: pointer; + font-size: 14px; + transition: all ease .2s; + &:hover:not(.disabled) { + background-color: #D7D7D7; + } + &.disabled { + cursor: not-allowed; + pointer-events: none; + } + } + } + } + } +} + +.list-chat { + flex: 1; + overflow: hidden auto; + position: relative; + box-sizing: border-box; + width: 100%; + height: 100%; + padding: 20px; + background-color: #fff; + .load-more { + font-size: 12px; + color: #5a606b; + text-align: center; + margin-bottom: 12px; + cursor: pointer; + user-select: none; + &.no-data { + cursor: not-allowed; + } + } +} +.scroll-tip { + display: flex; + align-items: center; + justify-content: center; + position: absolute; + bottom: 130px; + right: 20px; + cursor: pointer; + color: #ffffff; + background-color: #81d4fa; + padding: 2px 10px; + border-radius: 3px 3px 0 0; + animation: scroll-tip 1s; + animation-iteration-count: infinite; + .scroll-tip-icon { + display: block; + width: 10px; + height: 10px; + margin-right: 5px; + background-repeat: no-repeat; + background-size: cover; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+UlEQVQ4T6WTsS4FQRhGz+koNXgGXsITKEkUQiFBFAoJHToqOiqiIfEQEo9Do9Mgn8zN7s26d+/aMO3Mf/LNd2bkn8syn2QJ2FVX+vCSnAJP6vMAUEGOgcXfIEnOgXe1QBgC+kCSXAJv9fAYoAuS5Bp4UUvS4fqRoHGdE2Chvk6SW+BVPRztqBVQJRlAgM9qeL+t4ImACvIITKnLk+w0Ne6oqz01lj4eRjXel7jqehekMjGrrrVpvAG+1K02SJIzYE7drPfHOkhyVUH2mpAkpdR5dbuPxosKctB4GzPqmIkujSVuUfgBTKtHf9F4V/6autGpsY+6SWe+AcvmbxFKjVd0AAAAAElFTkSuQmCC'); + } +} +@keyframes scroll-tip { + 0% { opacity: 1 } + 25% { opacity: 0.9 } + 50% { opacity: 0.7 } + 75% { opacity: 0.9 } + 100% { opacity: 1 } +} +.input-chat { + box-sizing: border-box; + position: relative; + flex-shrink: 0; + width: 100%; + height: 130px; + padding-bottom: 10px; + background-color: #ffffff; + border-top: 1px solid #e7e7e7; + user-select: none; + .toolbar-input-chat { + box-sizing: border-box; + height: 32px; + margin-bottom: 5px; + padding-top: 12px; + padding-left: 20px; + width: 100%; + .btn-toolbar { + display: inline-block; + height: 20px; + width: 20px; + margin-right: 18px; + cursor: pointer; + background-size: 100%; + background-position: center center; + &.emoji { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEN0lEQVRYR8VXbYgUdRj/Pf/d2yPiIvwiHYdEaPRGBZWgvdyZUh2cZB9WyBBud7ydwRRnpquoL15fsux2Z8K4m532DSQkhQoTFNS8+5BSdEKI9iFDKbgQAi3rort2nph199zdm5l9acH5+v8/z/N7Xv6/5zeEW/zRLY6PpgG8snPnHZEFsQZM/UTUT0zLAV5+IwG6wsRXmHkaxNPzXc6ZT/bt+6OZ5JoCIMnadgd4k4AVIJyGw8cZmIUQs6UgjtNLwF0Q9BwYawFcBvE7OcssNAIRCGBsbCz88+y1wyAaBCNJYVjZCeNikFNpu7aS/4UCwmsAFbpFRJ+cfO+qn40vgLiibQbjUwBnCfRGNp062Sib6nNJ1tczeC+AXiHEUGYyOeNl7wkgpuhDxPwlgGO5tDHYSuD6u3FZOwrgBQ7RivxE6pf68yUAJEVbzYxvCPgwmzbU/xO8YivJmukwP9WFuWds256r9lkDIBqNRnqW9Z0BcDWXNjZ0InjFR1zWThDRpayVGvEFIMn6KIM/INCGVnveCGx5Jk4I4vUZy/yqcn+xAsPD6p2im865g5ezjdFGDts5jye0cQhalbNSLy4BICXUTUz0uSjyA5mM+YNXgLiivXRd/HP80MTEn34AYoq2I28ZH3mdb9um3u+E6AJDPJhPJy+UKOxmj3SD2Xk6b5uPexkPK+qAYDrFwFQ+bazzAXgQjKhDvK5gmVNed2IJ9TsCjuRsc6wWgKJ97TJc5aDeuBkAMVk7RcBAEIB4Qt3tMmbOMp6sASDJ+kWHnb1527TbrYAka4cZ2NigAglBwiW2lXUAtOsO0ct5K3XEC8DWraO3d91WVJjEbD6dPOB1Z2REv7dIvHHh75C1f//4X54tUPQhwXwgmzZ6WgLQztS3CCC4BR0DkFC9WxBvMISdAuA7hDFZfdcVGpXprA7oTncX8xbbNn9tFohrA4hXK+998bmXEsVnOdtI1sxATNn1PLE4RiGsqt75ledHwPls2nioEYAbjCoMAj/hQGyuBlDSCkX8WB1jkYhcydU9Hz7vRcVSQo8y8UEC/eQQVL+X4rIpiHYzQAyxZUn2QVTsZha0jOKyugZEmst0AL4H8xc11SDaBOARAB+HWbxt28nfqs8bLiP3ctU6Ri5tPBZASFEC1jJwd7mPlxk47RAf8qPguKzNENHZwHVcqkJ5KXVCDd3cMyVVdF+YI4/a9vu/VyfmKcniCV0FsdEJVeSqIQZ2OYyHC7Zxrr6qvqI0pqjPEpMrRE8SaE+rAqXc87cA9IliaDCTGb/k1dJAWR6NRkM9y/r2AHjdleXC4ayfVqg4L+18QVJFli/MiR1+e6GGB4Led1miu0DuYeYZd597/Jj0MjBERO7wdubHpBqUSzChCAaYRD+IV3v9moHpW2JnujiPqULBvNaItJquQDOO2r3T1L9hu86bsfsP7xgMP+VrC84AAAAASUVORK5CYII='); + &:hover { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEK0lEQVRYR8WXXWhcRRTH/+fOJo1N9yZV8CNIEGmlRsnMRm1p/WhqizaQon1IwL6KUrRg/Kroi/pioVqq4ENRhL6VVlCpBQttbPJgS6x3d26WxAcrLQhVQcl+NCW1vXNk2t1ls7n37iZd6IX7NOfM+c3Mmf85Q7jFH93i+GgY4N9169zE3Nx6ItoIwP53lX67hr9L/zgzj19raztzx8REoZHFNQSQV+oVB3iHgW4Apxk44TBfdICLNogBukB0DwPPANgA4AKAD12tD9aDiAXg/v5EIZc7SsCAYd7XJsSBtnT6XNykc319q+aCYKdD9CaAgyYI3ujMZmeifCIBilIOM9FhIkoHwO7OTGa03mqqx3Op1GYB7GVjuowQg53ptBfmHwowK+VgQPQ9mI+7vj+wmMC1tgUpfwDR1kRLS/fys2f/qB1fAJCXci0RTRDwWVLrkZsJXvYtKvWpYX5iNpF4qsvzLlfPOQ9gqqentXvZsjMwZibp+1uaEbwCIeVJJjrvav1SJEBBqbcAfGyItiz2zOvB2pxwmE+S42xOptM/lu0rOzCjVGcCyAbMhzt934I0/ctJ+YlDtNrV+rkFAAWlngfwLTlOTzKd/jUsekHK7XNXr564c3r6UhRdXspdHb7/edh4sa/vQTZmmogeSmYy09amsgNFpfYb5ic7fP/RMOcZpfoFcArAmKv1plBApY4AGAqATSu1HguzyUv5C4iOdWj9wTyAglI/WYUrD9Q6NwhgAfvjAIpKvW8V09X68VqAc8S8N+n7Xyx5B1Kpo2DeFgsg5ctMtNvVelUtQFEwv9Du+8fCAP7q7W1fLsROq/8rMplDETnyABxn2+UgOHD35ORsmE1J5A65WicXBdCsKxEHEHsEzQIoxhxBbBI2DSAmCT+yjUY5O6sDFpQ6JYTY0e55fzYKYn2I6NXyfS/72dsGom/cTGbfvBzIS/ksER1vdZzV1TW/fP0ImEpq/XA9AKuoAthPwGMgGq4GsL3Cf8b8Vh2jIkS25Wq9cmUqTIqLSg0xYEXmd8E8EnVTrJoSYO85EdGO2tXHSrFdWVwxKqRS68H8ulU6AD4D31XvBgFWyiWALyHEe67n/VM9XrcYWeNKOQaQzGQeiRIkBxhygA0M3Fc6xwsGOG2Ar6MkuJhKecycji3HpV24XpSa0Q1VEu9GV7TmmhDqds/L1+zcwnVeUmrE3Eikm+6KbDfEwGtOEPSuyGaztdGim9Le3qfZcUaJeTRwnD2LbVCuN6XGvMtE97YYM3Db5OT5sCONbcuPAGKrUnsAvG3bciHEV1G9QnlyW/ODIHix3JYnjdlFEXVhng7E3e+clMMOkQW5n5k9W89rHyaGqAvMg0Rkk7c5D5NqqJLA9BOwkYG1YU8zAn5mYDwAxlZqnasnWg3vQCMTLdWmobfhUidvxO9/UIn7MJ8VO5EAAAAASUVORK5CYII='); + } + } + &.image { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADEElEQVRYR+2XT2gUdxTHP28iXlICYhEPRUgPHnISIljSFtdDoD21BbVpg+DONjsrEtmxLaZIzaaHpErMjLE0u5PsbLQlbVMQESFFCiYQD0LF0j+XUkopldD0Ui+hocm8Mptu3Kwms1U3XvK7Db/f773P+77f+/3eCE94yBP2zwbAfQocTqVjtUpLnSG/5z92fi63vwyQ6LDb1JDXQV+tFUDRrjBBgOt7zrWlz/+GadkTwEuo2oHBt7WAMAJ2IeIAN/2c81wlgIJ+5ufcN2vh/F6g6TGQN/ycUwy+XAFFtcf33ExNAZLpbkQyVQOYxQ3GLtBZVb1V8FzvUQCX7FUJYKbscZQDIKOCtijsFJWDeW/gy4eFiFv2KYGeSAUSyeMHVHTcMIzdI0Nnb4UOTev4IGinbl7YVjh//s+HgagaIJRKRWKFnLOv3JFp2RqI7hvNupNRAImO9KFF+H502F2uKjOZfh+RDyIVMFPpdlQ+DUQbR7Pur+UKLAjPXMw6d9YCMC17Gnh+aY24/4jR90m2f7ZqgHBbwrJ/UKhHtAeVPUAqqlJimcymZ2fuzgBPo7yH0AzsB/4SyKhqQ1UKlKJLWPYVhReBWWDSzznWapHHrbebhODHYsxKe95zxorKJY+9gFF3GqWltDcyBVH5rZw3U/ZrKJdA/kal1ffOhilYMRIpu00DehEaHyuAmbS7EPoEfqrTxVbPG/xtdZXs6wKxqgHCw6gqb4nq1CbmznieN1dRFT4QR/jazzqtUcrFrSoB4pb9iiC9oE1lRn9RwSlknY+KuU3ZN8K8ioifzw4kopyH85EAqExj0AfsDjco0l/IDbxrWvaHwFHgKeA26A6QrVFVUQm1NoAwhbK3eIqFC7IQnBgZOfdHyciRI11b5nX+HRQT2K5gFnJOoZrIS2vWBli6NK4ahnFyZKj/u9UMt3d2NtTP19V7nhvW+/8akSmo9XMcoUDtG5J4Mv2NiDQ/qAzXoyWLIdINfOXnnJeLCV++cterKUUuS6Bf5Iedz1cAlEBq2ZaHPiqf8Y0/ow0F/gUYerIwQIh3JAAAAABJRU5ErkJggg=='); + &:hover { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADA0lEQVRYR+2XT0gUcRTHv2/Wg+XurFZERAReOgg6v0HB6A+tB6FOFWRZ0iELCqJDUFSE/zpoRZBEpw5WEFYGEREYEaRgh6DZ/c1ml4iIKCIj2pmh6LDOi1lnbVXcWa3Ni7/bMr/3fZ/f+74381vCAi9a4PxYBJhRge9CxIplyxJF+Vgaj7/N1Z8EsGpqmklR9gDYUSwAX3fQZe4tN80n3u9JAFvTBkG0lYHjLiCLAaEAgoDLAF6oUq6fCiAEM3A7KuW+YiTPalpC9BOwV5Uyc/g/FZgA6IpK2VlMAEeIDgY6CwbwAwSAMWI2IqZ57W8ALSE6qFAAW4gBAE0AbgDYAGAdAbsjUt6bL4Sj6+3M3BVYAUeIJgYGXEWpK4/HDS+hpWlXiOgYEa2MJBJf5wNh6Xo7FQjgeRVTpWzITWQLweNAQ4WUQ0EAlqbtd4leVUg5OVWOrrcx87nAClhCtBBwaxyorJDyfW4FSpjXLDXNT/kAbCFGAGz0O70XrtsTSSbHLE1rI6JgAC/QEWKUgTIAXcxcT0RHgiaFY7ESJ5X6DGAFiM6AuRbALgApr/vBrBYM4EHYuv4QzJu9KQAwpEp5eLaTO7pexcyvvecMtESl7M9oaNomEF3wGzkTHmhBkL/Tn9uathNE94noF7tuo2qangVTlqPrzS5zNwGV/xTA1vXTYO4B8CYdCjUuM4wPsx3AFuIZJpq7sDeh34yHGBj+EQpdXG0YP6dNRR+AAwQ8jUjZGFS5ggFsIbYD6AZQlSP6jpkvR03zasZbIZ5nfCXqUxOJg0HJ/Zj8FWCiEWLuIaDOF7ykSnnS1vXzzHyUgDADCQLWAlgeNBUzeiWfBQQMM7DFD7qppNOnwqOjX7IiqerqilAodIKZW0G0SmFuDZvm9UJOnt2T1wJ/0yNFUc6G4/HkbMLf6uvV0nS6rMwwvHmf0yq4B+akOofNQQDFv5Bo2ksiqp05hv/nShYjoAPMj1XT3OYVbiEupQ/Yde9Gk8k7UwCyNhbzWu7lmP4ZX/xntFiB3z50qDDaMeWTAAAAAElFTkSuQmCC'); + } + } + &.video { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACLElEQVRYR+2XsW/TQBTGv3dRV8TSiYkVdWKllcLIxIDahYW6IokQkZJWzHFGBMRuKyA2zZUFoTZCCITYkAoUCQaY+i8wZUGsVe+hc3KRbcU4UZx4aSbr+fnez993efdMyPlHOdfHOcBIBW5XqxcWTgtXs7TndOHs16vd3b/xNSMAG5XaNTA9YOBmlsXNWgS8A/GjTtv9For1L63S1jJIfWXmnwLiIRMfgrmpBI5MsgDdA2OVmNbOhOrpeEGJxSCX0FXgZ0kxAi2BcYuAIlisSP/Jsc4dKmCV6zpwSXrOZX1jo7S5aiCk79oGwqrUDw1Ex291I7mErmw7a0mxIF6unzDwR3rOchygB9AH6bXWTbEQhC19t5kFhFWqNUB0X3rOYhyA45JH5GS2lcDnae0QCkUQNaTnBOqHLeBZbLykNUcDMDfDfs8CaGCBnQQQ8XpGAHayBcy5A4xlwZ1KrajVedl2hz1iXLXSLEgFsO7WbkDQx35B/gIiV7adt/MD6P+PbUV8nZgaurMx+KAghLv3vPU9DWR6BQYAZhdrOwyIhkqzJQuAyC5eL29dIVK2bs9zB7DKmzsAVwF6zSy29/3HP+ZhQaDAoNAnKLUjX2y/Tys8PEdiFkZb8ZidUPvIwO99390bt3CmAJMWDef/bxP2wPx0TmfByOP4mICLHc9ZmuYN055NHkjMSAYcgfCGwSdpi01yP3UkC8alPIfS8NvkNpZPImlWueefZrkr8A/F7bUwWMH7EAAAAABJRU5ErkJggg=='); + &:hover { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACHUlEQVRYR+2XsUsbcRTHv+9SEIT8rBQnp64i5JcuDlWIY6cOEndXsWPnxLF0UaGduheVUiqlW8GqhWZofBH/hU5S2iSToPfkhfvZ63HxLuSSW7zx3ct7n9/3+7vf74WQ80M598c9QKwCvxcWjHd5+SRLe/yJieajRqMTrfkfQMfapwBeAnieZfNQrU8AXhvm7y52C9AplRZBdCwiPz2iVwLsCbDpA4cuuQCsA6gSsHoFXGj8ATCjuQD2r4G3/WKeyDwRrQCoQGTJtFonmvsPwFoNzBrmx/qia23VQUwx1x1Ex1pt1oMoMu+HcxXCMK/2iwXxcwH+GubFKICu6LNhXnPNHAQB9SLzZhYQXWtrAmwY5pkogEQlD8upEFfAt2Ht8IAKATXD3FM/bIGMaOPFlo0FUAXCfo8CKLCgHgsQ9XoUAG1r630tyB0grQV/rK2oOtPMt2dEWrXutCANQLtcfkYiX4KGRxDZMq3Wx7EBuBVcA8sFoKYnmxDtgmhrqtn8kQQytALRAmqHA1GoJFuGBoju4m65PCcielRXxw7QLpV2iOgFAe8Lvr89eXbWGLkFToHeMSryVTxvx5yeHiQ1Dt0vehfEH0RpvoLgRtMivwzzu7SNMwUYtGk4/65NeCHAmzHdBbHX8QkBD4vM88OsMOm3XWv7DCTBSAbgUEQ++ETnScUGeZ84kmmxXIfS8GpyG8sHkTSr3Pu/ZrkrcAM57IgwdHU3jAAAAABJRU5ErkJggg=='); + } + } + &.audio-text { + width: auto; + height: 20px; + color: #0d58ef; + font-size: 12px; + } + .btn-toolbar-input { + display: none; + } + } + } + .textarea-chat { + position: relative; + width: 100%; + /deep/ .emoji-img { + width: 20px; + height: 20px; + display: inline-block; + margin: 0 1px -2px; + vertical-align: bottom; + } + .textarea-input { + box-sizing: border-box; + width: 100%; + height: 56px; + padding: 0 19px 0 19px; + margin: 0; + outline: 0; + border: none; + background-color: #fff; + color: #252525; + font-size: 13px; + font-family: inherit; + word-break: break-all; + white-space: normal; + overflow-y: auto; + } + } + .send-chat { + display: flex; + justify-content: flex-end; + .send-btn { + position: relative; + user-select: none; + } + .btn-send { + box-sizing: border-box; + height: 26px; + padding: 0 12px; + line-height: 26px; + border-radius: 4px; + text-align: left; + font-size: 12px; + cursor: pointer; + background: #ffffff; + color: #343036; + border: 1px solid #d9d9d9; + width: 60px; + margin-right: 10px; + } + .send-btn-arrow { + width: 0; + height: 0; + border: 5px solid transparent; + border-top-color: #666666; + border-top-width: 8px; + position: absolute; + left: 43px; + top: 10px; + cursor: pointer; + border-radius: 2px; + &::before { + content: ""; + position: absolute; + top: -20px; + right: -12px; + bottom: -10px; + left: -6px; + } + } + .send-keys { + position: absolute; + top: 28px; + right: 10px; + width: 120px; + height: 60px; + margin: 0; + padding: 0; + color: #343036; + font-size: 12px; + background: #FFFFFF; + border: 1px solid #D9D9D9; + border-radius: 3px; + overflow: hidden; + cursor: pointer; + .send-key { + position: relative; + height: 30px; + line-height: 30px; + padding-left: 5px; + letter-spacing: -0.29px; + &:after { + content: ""; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABm0lEQVRYR+2Uv0scQRiG36cQETxIYSEoWKSwMqBiYWGRwkKwsEqTYCFYCBaCoCCICoKFIKQ4SBGwEBXif5C/xkYbS0GwemVgDs69uf1xcbki95W7M/s8+843H+pz0We+BgKDBP6PBGyvSXoB/mZvXa0J2J6RdClpPoKvgR/tErUJ2J6VdCtpOvPXk8BD61ktArYXIvxzBv4ITNSagO3FCJ9KTNkT4LiUgO0G8FxlVNteivB3fxm/cQicFjah7SNJLcsmsF1GwvZXSTeSxhPrD4Cz1Hc6esC2MwvvgG95EraXI3wssW4POO+2/52A7WFJT5IaZSVsr0T4pwRkF7jIk08l0H4E7Xs7krC9Gs98NAHZAX4WHV/yGmb6ICkRp1s485EEZBtoFsHD+65zIE9C0p8Y+1ACsgX8KgPPFQgvcyRCo6bkN4HfZeGFAlEiXMnQF0W1AYS5X6lKjWLbRRLrwFUlclxcSqAgie9AaMaeqrRAQuJe0j4QGrLnqiQQJb5Imgv3H3jtmVz1CP4V1G1/5QQ+WmQgMEig7wm8AQvveyEZQOAjAAAAAElFTkSuQmCC'); + background-size: 100% 100%; + width: 12px; + height: 12px; + float: right; + margin: 10px 4px 0 0; + } + &.active { + background: #F23030; + color: #FFFFFF; + } + } + } + } + .emoji-chat { + position: absolute; + top: -225px; + left: 5px; + z-index: 2; + } +} + +.history-actions { + overflow: hidden auto; + background-color: #FAF9F9; + padding: 10px 0; + box-sizing: border-box; + .history-goods { + position: relative; + width: 100%; + height: 67px; + padding: 0 10px; + box-sizing: border-box; + & + .history-goods { + margin-top: 20px; + &::before { + content: ''; + position: absolute; + top: -9px; + left: 10px; + width: calc(100% - 20px); + border-top: 1px dashed #d7d7d7; + } + } + .history-goods-link { + display: flex; + } + .history-goods-image { + width: 60px; + height: 60px; + border: 1px solid #F2F2F2; + } + .history-goods-name { + display: inline-block; + vertical-align: top; + padding: 10px 0 0 10px; + width: 214px; + height: 38px; + font-size: 12px; + line-height: 14px; + overflow: hidden; + box-sizing: border-box; + text-decoration: none; + color: #5A606B; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + } + .send-btn { + position: absolute; + top: 40px; + left: 82px; + border-radius: 2px; + font-size: 12px; + display: inline-block; + padding: 4px 11px; + line-height: 15px; + border: 1px solid #D9D9D9; + background-color: #ffffff; + color: #343036; + cursor: pointer; + } + } +} +.orders-actions { + overflow: hidden auto; + background-color: #FAF9F9; + .item-order { + font-size: 12px; + padding: 0 10px; + color: #5a606b; + line-height: 17px; + margin-bottom: 10px; + background: #ffffff; + } + .title-order { + display: flex; + justify-content: space-between; + padding: 18px 0 8px; + border-bottom: 1px solid #f2f2f2; + letter-spacing: -1px; + .date-order { + color: #a1a6af; + } + } + .products-order { + cursor: pointer; + .item-products { + display: flex; + padding-top: 11px; + border-bottom: 1px solid #f2f2f2; + padding-bottom: 15px; + } + .image-product { + flex-shrink: 0; + width: 80px; + height: 80px; + border: 1px solid #f2f2f2; + box-sizing: border-box; + .img-product { + width: 100%; + height: 100%; + } + } + .info-product { + display: flex; + flex-direction: column; + justify-content: space-between; + margin-left: 10px; + font-size: 12px; + color: #1C2229; + line-height: 20px; + .name-product { + height: 40px; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + cursor: pointer; + } + } + } + .other-order { + display: flex; + justify-content: space-between; + padding: 10px 0; + .price-order { + font-size: 12px; + margin-top: 2px; + .price { + color: #f02b2b; + } + } + } + .status-order { + border-radius: 2px; + font-size: 12px; + display: inline-block; + padding: 4px 11px; + line-height: 15px; + max-width: 80px; + text-align: center; + color: #f23030; + background: #ffeded; + &.send-btn { + border: 1px solid #D9D9D9; + background-color: #ffffff; + color: #343036; + cursor: pointer; + } + } +} + +[contenteditable] { + -webkit-user-select: text; + user-select: text; +} + +.history-actions.is-seller { + padding-top: 48px; +} + +.search-goods { + position: absolute; + z-index: 2; + top: 0; + left: 0; + width: 100%; + height: 48px; + padding: 5px 10px; + background-color: #ffffff; + .search-goods-input { + width: 100%; + height: 100%; + outline: none; + padding: 6px; + border: #ccc 1px solid; + box-sizing: border-box; + color: #333333; + font-size: 13px; + border-radius: 4px; + } +} diff --git a/manager-admin/src/components/ChatEntry/index.vue b/manager-admin/src/components/ChatEntry/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..0520a8b2769c98575f62ae80a17dc85bc2ae2a8e --- /dev/null +++ b/manager-admin/src/components/ChatEntry/index.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/manager-admin/src/main.js b/manager-admin/src/main.js index f7b2a3833388828dae9eeb43f85187e110ec49f4..113649a64c163cfc4da9d82b679e5f60c2ebd43b 100644 --- a/manager-admin/src/main.js +++ b/manager-admin/src/main.js @@ -10,6 +10,7 @@ import UIComponents from 'ui-components' import EnComponents from '@/components' import VueAwesomeSwiper from 'vue-awesome-swiper' import 'swiper/dist/css/swiper.css' +import Viewer from 'v-viewer' import '@/styles/index.scss' // global css import App from './App' @@ -37,6 +38,7 @@ Vue.use(VueClipboard) Vue.use(UIComponents) Vue.use(EnComponents) Vue.use(VueAwesomeSwiper) +Vue.use(Viewer) Vue.prototype.$echarts = echarts Vue.prototype.$http = axios diff --git a/manager-admin/src/router/index.js b/manager-admin/src/router/index.js index 590248b919a6885d1cd5da64c41e96a9f56a3130..a119f54c6d88f056cc8adbf7102b8f4ac9bf7e24 100644 --- a/manager-admin/src/router/index.js +++ b/manager-admin/src/router/index.js @@ -520,7 +520,11 @@ const asyncRouters = [ { path: '*', redirect: '/404', hidden: true } ] - +const chatRouter = { path: '/chat', component: () => import('@/views/chat/chat'), name: 'chat' } +// 如果开启了IM +if (process.env.IM) { + asyncRouters.push(chatRouter) +} if (process.env.DISTRIBUTION) { asyncRouters.splice(7, 0, disRouterMap) } diff --git a/manager-admin/src/store/getters.js b/manager-admin/src/store/getters.js index 28630bc6b34e25ab8bca22d353707ea4f1b338f9..3bfd0b5bf893513c9f4cde882c03e0680fef5703 100644 --- a/manager-admin/src/store/getters.js +++ b/manager-admin/src/store/getters.js @@ -7,6 +7,7 @@ const getters = { user: state => state.user.user, permission_routers: state => state.permission.routers, addRouters: state => state.permission.addRouters, - siteInfo: state => state.app.siteInfo + siteInfo: state => state.app.siteInfo, + permission_chat: state => state.permission.permission_chat } export default getters diff --git a/manager-admin/src/store/modules/permission.js b/manager-admin/src/store/modules/permission.js index c573f3b6347845cb02f7eb142c8bc22abf7e5b7a..f45c1b37afea2631ae4fc206b93bd78d06099c9b 100644 --- a/manager-admin/src/store/modules/permission.js +++ b/manager-admin/src/store/modules/permission.js @@ -5,7 +5,8 @@ import Storage from '@/utils/storage' const permission = { state: { routers: constantRouterMap, - addRouters: [] + addRouters: [], + permission_chat: false }, mutations: { SET_ROUTERS: (state, routers) => { @@ -14,7 +15,7 @@ const permission = { } }, actions: { - GenerateRoutes({ commit }) { + GenerateRoutes({ commit, state }) { let user = Storage.getItem('admin_user') if (!user) return Promise.reject() user = JSON.parse(user) @@ -22,10 +23,14 @@ const permission = { if (user.founder === 1) role_id = 0 return new Promise((resolve, reject) => { if (role_id === 0) { + state.permission_chat = true commit('SET_ROUTERS', asyncRouterMap) resolve() } else { getUserRolesPermissions(role_id).then(response => { + if (response.includes('chat')) { + state.permission_chat = true + } // 设置管理下的身份验证菜单不受控制 response.push('setting') response.push('systemSettingsVerification') diff --git a/manager-admin/src/utils/mixin.js b/manager-admin/src/utils/mixin.js index e10f5e3464c37e06a742c7a2821d75f4627c8c7f..9aa985fd1faf0274fcd5351f8a4bee9788150617 100644 --- a/manager-admin/src/utils/mixin.js +++ b/manager-admin/src/utils/mixin.js @@ -7,6 +7,7 @@ import { Foundation } from '~/ui-utils' import { api, domain } from '~/ui-domain' import * as XLSX from 'xlsx' import Storage from '@/utils/storage' +import request from '@/utils/request' export default { data() { @@ -52,7 +53,9 @@ export default { // Domain MixinDomain: domain, // API - MixinApi: api + MixinApi: api, + // 是否开启了IM + MixinIsIM: process.env.IM } }, computed: { @@ -81,6 +84,10 @@ export default { } }, methods: { + /** + * 请求方法 + */ + MixinRequest: request, /** 返回克隆后的对象 */ MixinClone(obj) { return JSON.parse(JSON.stringify(obj)) diff --git a/manager-admin/src/views/chat/chat.vue b/manager-admin/src/views/chat/chat.vue new file mode 100644 index 0000000000000000000000000000000000000000..050c217623f231f559d72fc74108cc99b341d69f --- /dev/null +++ b/manager-admin/src/views/chat/chat.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/manager-admin/src/views/layout/components/Navbar.vue b/manager-admin/src/views/layout/components/Navbar.vue index 67f7c6a0480ac134b4498c575a9d3f1d6899fd4c..59dc6ea2ac10f288c0b7cfe5d06389c564db8adc 100644 --- a/manager-admin/src/views/layout/components/Navbar.vue +++ b/manager-admin/src/views/layout/components/Navbar.vue @@ -7,6 +7,9 @@
+ + + @@ -93,6 +96,7 @@ import Screenfull from '@/components/Screenfull' import LangSelect from '@/components/LangSelect' import ThemePicker from '@/components/ThemePicker' + import ChatEntry from '@/components/ChatEntry' import { RegExp } from '~/ui-utils' import * as API_Auth from '@/api/auth' @@ -102,7 +106,8 @@ Hamburger, Screenfull, LangSelect, - ThemePicker + ThemePicker, + ChatEntry }, data() { const user = this.MixinClone(this.$store.getters.user) @@ -143,7 +148,7 @@ } }, computed: { - ...mapGetters(['sidebar', 'user']) + ...mapGetters(['sidebar', 'user', 'permission_chat']) }, watch: { form: { diff --git a/manager-seller/config/index.js b/manager-seller/config/index.js index 667cec23ef7cf50194d958899048b3f8cc4d9f39..53e2ca25a17722e9f7cc85fc750e2b6c42655939 100644 --- a/manager-seller/config/index.js +++ b/manager-seller/config/index.js @@ -21,7 +21,7 @@ module.exports = { * 如果您需要开启o2o相关功能,请设置为true */ o2o: false, - /** + /** * 供应商功能开关 * 如果您需要开启供应商相关功能,请设置为true */ diff --git a/manager-seller/src/components/ChatApp/ChatApp.vue b/manager-seller/src/components/ChatApp/ChatApp.vue index 45e79caf3d233dd162452668aede650e288c19b3..fd5e471d2769290f65c33ad35bbffb93944cbe29 100644 --- a/manager-seller/src/components/ChatApp/ChatApp.vue +++ b/manager-seller/src/components/ChatApp/ChatApp.vue @@ -16,12 +16,12 @@
-
+
{{ item.name }}
{{ item['un_read_num'] }}
@@ -31,7 +31,7 @@
-
+

{{ currentChat.name }} @@ -85,9 +85,6 @@ @change="handleToolbarFileChange" >

-
- 开启声音提醒 -

@@ -166,7 +163,7 @@

订单金额: - ¥{{ item['order_amount'] }} + {{ item['order_amount'] | unitPrice }}

{{ unixToDate(item.create_time) }} @@ -254,7 +251,7 @@ export default { computed: { // 正在聊天对象 currentChat() { - const friend = this.friends.filter(item => item['friends_id'] === this.receiver_id)[0] + const friend = this.friends.filter(item => item['target_id'] === this.receiver_id)[0] return friend || '' }, // 正在咨询的商品 @@ -281,10 +278,12 @@ export default { const { shop_id, goods_id } = this.$route.query this.receiver_id = shop_id this.goods_id = goods_id - // 获取token - const webSocketToken = await this.getWebsocketToken() - // websocket连接 - websocket.init(this.apis['im'] + '/im/ws?token=' + webSocketToken, this.handleWebsocketMessage) + if (this.$eventCenter) { + this.$eventCenter.on('IM', this.handleWebsocketMessage) + } + if (this.receiver_id) { + this.createSession() + } }, watch: { search_goods_keyword: 'handleSearchGoods' @@ -293,16 +292,16 @@ export default { if (!document) return this.$refs['chat-content'].addEventListener('scroll', this.chatBoxScrollListener) this.initPasteScreenshot() - if (this.play_audio !== 0) this.showAudioConfirmDialog() + if (this.play_audio !== 0) { + this.showAudioConfirmDialog() + } }, methods: { /** * 处理websocket消息 - * @param message + * @param msg */ - handleWebsocketMessage(message) { - let msg = JSONBig.parse(message) - + handleWebsocketMessage(msg) { // 收到新消息 if (msg.type === 'msg') { if (this.play_audio !== 0) { @@ -317,9 +316,18 @@ export default { } let senderId = msg.sender_id.toString() if (senderId !== this.receiver_id) { - const chat = this.friends.filter(item => item['friends_id'] === senderId)[0] + var chatIndex = -1 + const chat = this.friends.filter((item, index, arr) => { + if (item['target_id'] === senderId) { + chatIndex = index + return item + } + })[0] if (chat) { chat.un_read_num += 1 + // 将会话置为第一个 + this.friends.splice(chatIndex, 1) + this.friends.unshift(chat) } else { // 未找到会话 this.getFriends() @@ -358,7 +366,7 @@ export default { */ handleDeleteFriend(item) { this.$confirm('确认要删除此联系人?', '提示', { type: 'warning' }).then(() => { - const id = item['friends_id'] + const id = item['target_id'] this.deleteFriend(id).then(() => { if (this.receiver_id === id) { this.receiver_id = '' @@ -373,7 +381,7 @@ export default { * @param item */ handleClickFriend(item) { - this.receiver_id = item['friends_id'] + this.receiver_id = item['target_id'] this.current_tab = 0 this.removeUnreadNum() this.currentChat.un_read_num = 0 @@ -453,7 +461,9 @@ export default { this.showAudioConfirmDialog() return } - if (!this.receiver_id) return + if (!this.receiver_id) { + return + } document.getElementById(`${type}-upload-input`).click() }, /** diff --git a/manager-seller/src/components/ChatApp/ChatMessageItem.vue b/manager-seller/src/components/ChatApp/ChatMessageItem.vue index cc2343f702dd1d0591adfb463193a7d2a10bf2a4..fe1e344640a91b23b593f1615336074275fe749a 100644 --- a/manager-seller/src/components/ChatApp/ChatMessageItem.vue +++ b/manager-seller/src/components/ChatApp/ChatMessageItem.vue @@ -6,7 +6,8 @@ {{ message.msg_time | unixToDate }}

-
+ +
@@ -28,7 +29,7 @@
订单金额合计: - ¥{{ message['order_price'] || message['goods_price'] }} + {{ message['order_price'] | unitPrice }}
订单
@@ -41,9 +42,9 @@

{{ message['goods_name'] }}

-
- ¥{{ message['order_price'] || message['goods_price'] }} + {{ message['goods_price'] | unitPrice }} +
{{ message.type === 'ORDER' ? '订单' : '商品' }}
@@ -111,7 +112,7 @@ export default { const self = this.message['is_self'] return { name: self ? sender.name : receiver.name, - face: (self ? sender.face : receiver.face) || this.defaultFace + face: (self ? sender.face : receiver.avatar) || this.defaultFace } } }, @@ -253,20 +254,18 @@ export default { width: 260px; margin-left: 10px; .goods-name { - height: 28px; + height: 46px; line-height: 1.2; - overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } - } .info-order-box { font-size: 13px; margin-top: 12px; - margin-bottom: 10px; color: #999999; display: inline-block; + } } .tag-order-message { position: absolute; diff --git a/manager-seller/src/components/ChatApp/apiMixin.js b/manager-seller/src/components/ChatApp/apiMixin.js index 32cf65291c9ec015a3c689a96dc1f88eae0d1955..3d6eac33ee59a66c747c8ee61eb787bc60eb86d2 100644 --- a/manager-seller/src/components/ChatApp/apiMixin.js +++ b/manager-seller/src/components/ChatApp/apiMixin.js @@ -45,8 +45,6 @@ export default { immediate: true, async handler(newVal) { if (!newVal) return - await this.createSession() - this.getFriends() this.orders = [] this.orderParams.no_data = false this.orderParams.page_no = 1 @@ -67,16 +65,19 @@ export default { */ getFriends() { this.request({ - url: this.apis['im'] + `/${this.type}/im/friends-list`, + url: this.apis['seller'] + `/${this.type}/im/friends-list`, method: 'get', loading: false, needToken: true }).then(res => { - const currentChat = res.filter(item => item['friends_id'] === this.receiver_id)[0] + const currentChat = res.filter(item => item['target_id'] === this.receiver_id)[0] if (currentChat) { currentChat.un_read_num = 0 } this.friends = res + if (!this.receiver_id) { + this.receiver_id = res[0].target_id + } }) }, /** @@ -89,7 +90,7 @@ export default { delete params.loading let url = this.isSeller ? `${this.apis['seller']}/seller/trade/orders?member_id=${this.receiver_id}` - : `${this.apis['buyer']}/buyer/trade/orders/im/${this.receiver_id}` + : `${this.apis['buyer']}/trade/orders/im/${this.receiver_id}` this.request({ url, method: 'get', @@ -115,10 +116,12 @@ export default { */ createSession() { return this.request({ - url: this.apis['im'] + `/${this.type}/im/session/${this.receiver_id}`, + url: this.apis['seller'] + `/${this.type}/im/session/${this.receiver_id}`, method: 'post', loading: false, needToken: true + }).then(res => { + this.getFriends() }) }, @@ -185,7 +188,7 @@ export default { delete params.no_data delete params.loading this.request({ - url: this.apis['im'] + `/${this.type}/im/history`, + url: this.apis['seller'] + `/${this.type}/im/history`, method: 'get', loading: false, needToken: true, @@ -212,7 +215,7 @@ export default { receiver_id: this.receiver_id } const res = await this.request({ - url: this.apis['im'] + `/${this.type}/im/message/${type}`, + url: this.apis['seller'] + `/${this.type}/im/message/${type}`, method: 'post', loading: false, needToken: true, @@ -229,7 +232,7 @@ export default { */ removeUnreadNum() { return this.request({ - url: this.apis['im'] + `/${this.type}/im/unread-num`, + url: this.apis['seller'] + `/${this.type}/im/unread-num`, method: 'delete', loading: false, needToken: true, @@ -245,7 +248,7 @@ export default { getNewMessage() { return new Promise(resolve => { this.request({ - url: this.apis['im'] + `/${this.type}/im/history`, + url: this.apis['seller'] + `/${this.type}/im/history`, method: 'get', loading: false, needToken: true, @@ -293,25 +296,13 @@ export default { }) }, - /** - * 获取websocket连接Token - * @returns {*} - */ - async getWebsocketToken() { - return this.request({ - url: this.apis['im'] + `/${this.type}/im/token`, - method: 'get', - loading: false, - needToken: true - }) - }, /** * 删除会话[移除好友] * @param id */ deleteFriend(id) { return new Promise((resolve, reject) => { - let url = this.apis['im'] + let url = this.apis['seller'] url += this.isSeller ? '/seller/im/delete' : '/buyer/im/delete' const params = this.isSeller ? { member_id: id } : { shop_id: id } this.request({ diff --git a/manager-seller/src/components/ChatApp/icon-close.png b/manager-seller/src/components/ChatApp/icon-close.png index f899b40822b93f5d5415b673961e06fb6519aee8..b11df4169d4e016c0fbc995019a81e63707b9fa0 100644 Binary files a/manager-seller/src/components/ChatApp/icon-close.png and b/manager-seller/src/components/ChatApp/icon-close.png differ diff --git a/manager-seller/src/components/ChatApp/icon-noface.jpg b/manager-seller/src/components/ChatApp/icon-noface.jpg index c33efc11d7c97481f1488f28afbffc3591536840..21c6aa59437c4df4017cf10501e1a0d035c43755 100644 Binary files a/manager-seller/src/components/ChatApp/icon-noface.jpg and b/manager-seller/src/components/ChatApp/icon-noface.jpg differ diff --git a/manager-seller/src/components/ChatApp/images/e01.gif b/manager-seller/src/components/ChatApp/images/e01.gif index de15cf1d1ed500a08ce0828cecf5773d1738560b..c5baabcd73fabe51b021f8311455a2ec2c7a61bf 100644 Binary files a/manager-seller/src/components/ChatApp/images/e01.gif and b/manager-seller/src/components/ChatApp/images/e01.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e02.gif b/manager-seller/src/components/ChatApp/images/e02.gif index 0ade606de7ef08bc06db3643a8d555a8610b43ad..616dcbcf6456f7dbaa045c93ca53a51b7176fe22 100644 Binary files a/manager-seller/src/components/ChatApp/images/e02.gif and b/manager-seller/src/components/ChatApp/images/e02.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e03.gif b/manager-seller/src/components/ChatApp/images/e03.gif index eed8a8446b87dbacf915d568034afcdcbab50d3f..244787dd9081ed0710515f6280d845992913db07 100644 Binary files a/manager-seller/src/components/ChatApp/images/e03.gif and b/manager-seller/src/components/ChatApp/images/e03.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e04.gif b/manager-seller/src/components/ChatApp/images/e04.gif index 9b0a52ee030dfec6c87041fef239a02933437e8a..3798fe8b8faf2fd1e0387f32efa8bee1fffd967f 100644 Binary files a/manager-seller/src/components/ChatApp/images/e04.gif and b/manager-seller/src/components/ChatApp/images/e04.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e05.gif b/manager-seller/src/components/ChatApp/images/e05.gif index 574084a1b429552d13bd60a62e095ce30330aaf9..4e3ddae5cb233c98c88547fbb87b29736e27fa71 100644 Binary files a/manager-seller/src/components/ChatApp/images/e05.gif and b/manager-seller/src/components/ChatApp/images/e05.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e06.gif b/manager-seller/src/components/ChatApp/images/e06.gif index 9fc76b9279c6908fb7185e044f744f88d1c8a8cb..9902cab36ce265d729ac9c9b8b9da83c18641972 100644 Binary files a/manager-seller/src/components/ChatApp/images/e06.gif and b/manager-seller/src/components/ChatApp/images/e06.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e07.gif b/manager-seller/src/components/ChatApp/images/e07.gif index f0f54f823669a339bce6e8714926675d4be421e7..7d4d2a76c2c32e05bbc2ccdeac185bae3023bda2 100644 Binary files a/manager-seller/src/components/ChatApp/images/e07.gif and b/manager-seller/src/components/ChatApp/images/e07.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e08.gif b/manager-seller/src/components/ChatApp/images/e08.gif index 713a710d92cc367489657c0396b7008f792f919e..26d421d1dd090b00b18d7e1300aad07d1d45936a 100644 Binary files a/manager-seller/src/components/ChatApp/images/e08.gif and b/manager-seller/src/components/ChatApp/images/e08.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e09.gif b/manager-seller/src/components/ChatApp/images/e09.gif index 078a08f7e43df2a0ac0fb54ae30b51d63afcbf1e..8a6e2122394c599a9636c7181880f566552dae2b 100644 Binary files a/manager-seller/src/components/ChatApp/images/e09.gif and b/manager-seller/src/components/ChatApp/images/e09.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e10.gif b/manager-seller/src/components/ChatApp/images/e10.gif index 07cec7a035d322b128f8d897a282bfeb53d2720c..1383a2ebfe76ca37a14dde49d37c79f385c1b7f5 100644 Binary files a/manager-seller/src/components/ChatApp/images/e10.gif and b/manager-seller/src/components/ChatApp/images/e10.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e11.gif b/manager-seller/src/components/ChatApp/images/e11.gif index c45ec4bfd02dff3bd9c85d7c3af6e67c5c482418..614ebca78f432620abc3c08da9ca0c1e73187a3e 100644 Binary files a/manager-seller/src/components/ChatApp/images/e11.gif and b/manager-seller/src/components/ChatApp/images/e11.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e12.gif b/manager-seller/src/components/ChatApp/images/e12.gif index 8f7bad33dae6695672d09531778911a0d2a4878b..7ce9cf6a9f4e73adccb29a2d068667264fa4decd 100644 Binary files a/manager-seller/src/components/ChatApp/images/e12.gif and b/manager-seller/src/components/ChatApp/images/e12.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e13.gif b/manager-seller/src/components/ChatApp/images/e13.gif index d3de6bb9aaada73efd03df0d0bd3962f0d03b617..2105024ab8f5559c8b8c7e1456c5dd8ca4db15d4 100644 Binary files a/manager-seller/src/components/ChatApp/images/e13.gif and b/manager-seller/src/components/ChatApp/images/e13.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e14.gif b/manager-seller/src/components/ChatApp/images/e14.gif index 92373b8bf0d93f9b646e3d788136297ce59e9614..2e62299f34e7be7fd1965369e584ce06c1cb360e 100644 Binary files a/manager-seller/src/components/ChatApp/images/e14.gif and b/manager-seller/src/components/ChatApp/images/e14.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e15.gif b/manager-seller/src/components/ChatApp/images/e15.gif index 2e2d2df85bef20d689543eaddbc66ed587cc0e47..bf52d0b2ce1dd122b346956edc9c586229ceebc1 100644 Binary files a/manager-seller/src/components/ChatApp/images/e15.gif and b/manager-seller/src/components/ChatApp/images/e15.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e16.gif b/manager-seller/src/components/ChatApp/images/e16.gif index d0005aed0e548bda687db0be375d103f08fa29b0..c2b9c70d4ea000a868c815ce7925baca532d632f 100644 Binary files a/manager-seller/src/components/ChatApp/images/e16.gif and b/manager-seller/src/components/ChatApp/images/e16.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e17.gif b/manager-seller/src/components/ChatApp/images/e17.gif index 2570efa0a3722a5cd285c417db7b3c24546e4152..32cb793e50ec3919648a94546a6e51b7ed5526aa 100644 Binary files a/manager-seller/src/components/ChatApp/images/e17.gif and b/manager-seller/src/components/ChatApp/images/e17.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e18.gif b/manager-seller/src/components/ChatApp/images/e18.gif index 8b93912987e56b81f3de94ed6e5e4863dc475d6e..b2cc2c5b3e4f765eb16090afa03a36b6e5995d45 100644 Binary files a/manager-seller/src/components/ChatApp/images/e18.gif and b/manager-seller/src/components/ChatApp/images/e18.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e19.gif b/manager-seller/src/components/ChatApp/images/e19.gif index c9435d9681f25c92ee1e557a96f8a89d7ab4aa86..7bcb322f9e91dafc7f068272c469c489e1aef403 100644 Binary files a/manager-seller/src/components/ChatApp/images/e19.gif and b/manager-seller/src/components/ChatApp/images/e19.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e20.gif b/manager-seller/src/components/ChatApp/images/e20.gif index 43c28a473cb171c5b3ee327415122093d026d355..0bbca35984e0a1d141b5a0e42095c9429664088d 100644 Binary files a/manager-seller/src/components/ChatApp/images/e20.gif and b/manager-seller/src/components/ChatApp/images/e20.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e21.gif b/manager-seller/src/components/ChatApp/images/e21.gif index 45c1eb1afcb3c9b5c543c8a0e2dbf452f88d55ef..7267c775d14ed163681baeea12855bf0e252789f 100644 Binary files a/manager-seller/src/components/ChatApp/images/e21.gif and b/manager-seller/src/components/ChatApp/images/e21.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e22.gif b/manager-seller/src/components/ChatApp/images/e22.gif index 5be0c5ef6dd4d199134fa9f370e6d30b06d2f370..7a2e7f133c458eb2ed4fe3b664027631eeb19764 100644 Binary files a/manager-seller/src/components/ChatApp/images/e22.gif and b/manager-seller/src/components/ChatApp/images/e22.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e23.gif b/manager-seller/src/components/ChatApp/images/e23.gif index 740a522f0b6e0d7f9b11eadce8d069228e51bdfb..b3715550fdb42e39e5062ce62fa720b13c30feba 100644 Binary files a/manager-seller/src/components/ChatApp/images/e23.gif and b/manager-seller/src/components/ChatApp/images/e23.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e24.gif b/manager-seller/src/components/ChatApp/images/e24.gif index 1d9e998eb2fb336c80342eb58e3b5aedc7d88f2c..0d1e4541a4c6a4a8901d89094a764f6458f544ce 100644 Binary files a/manager-seller/src/components/ChatApp/images/e24.gif and b/manager-seller/src/components/ChatApp/images/e24.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e25.gif b/manager-seller/src/components/ChatApp/images/e25.gif index 5f4b23cf4627c2b8bf6bf8e1b9ed1603c5ef1374..3fe507c0bf0fa827d3afc575f78387bc85ec6434 100644 Binary files a/manager-seller/src/components/ChatApp/images/e25.gif and b/manager-seller/src/components/ChatApp/images/e25.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e26.gif b/manager-seller/src/components/ChatApp/images/e26.gif index d72678a6809372da1395cf8f41769ef8b548736d..87e635bc27a8e9aacdd6c9984ee03b8db13d500d 100644 Binary files a/manager-seller/src/components/ChatApp/images/e26.gif and b/manager-seller/src/components/ChatApp/images/e26.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e27.gif b/manager-seller/src/components/ChatApp/images/e27.gif index 094ab9582742d916aeb735c1fac98a2d27b3a7e8..e1e4dfd1b32eee2645b942a1d48bd82e0db5a58b 100644 Binary files a/manager-seller/src/components/ChatApp/images/e27.gif and b/manager-seller/src/components/ChatApp/images/e27.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e28.gif b/manager-seller/src/components/ChatApp/images/e28.gif index 0669b08668886d7eee6f1c41595a893bcef14c5d..8d3760fd407b78c84edbd8306fce96384d9b4ef0 100644 Binary files a/manager-seller/src/components/ChatApp/images/e28.gif and b/manager-seller/src/components/ChatApp/images/e28.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e29.gif b/manager-seller/src/components/ChatApp/images/e29.gif index 04f57d331918f60085792d57fb7d70e1d126acda..86b9c848186bbf140be4bd6264a140c3553a17e6 100644 Binary files a/manager-seller/src/components/ChatApp/images/e29.gif and b/manager-seller/src/components/ChatApp/images/e29.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e30.gif b/manager-seller/src/components/ChatApp/images/e30.gif index ed5072d7d6bc47c0e823e124d9d6407b00ab296a..16850ce1c93483915c5d6f55837b945295936515 100644 Binary files a/manager-seller/src/components/ChatApp/images/e30.gif and b/manager-seller/src/components/ChatApp/images/e30.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e31.gif b/manager-seller/src/components/ChatApp/images/e31.gif index d937a81468b5225ec933c61a80f4511b6ec1c0e3..86863cf1330853850b01782392bd5f87d4c30be1 100644 Binary files a/manager-seller/src/components/ChatApp/images/e31.gif and b/manager-seller/src/components/ChatApp/images/e31.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e32.gif b/manager-seller/src/components/ChatApp/images/e32.gif index e0aa5b027073189a81647456eee332c8acfb041e..f2f187508a20c9f30ceabcba2f53d2470e084b42 100644 Binary files a/manager-seller/src/components/ChatApp/images/e32.gif and b/manager-seller/src/components/ChatApp/images/e32.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e33.gif b/manager-seller/src/components/ChatApp/images/e33.gif index 73a032f220a1860dcb7ccbd5649454d38579127b..ee6f51387a0d76eea676d5795c2234bb7cf8e02b 100644 Binary files a/manager-seller/src/components/ChatApp/images/e33.gif and b/manager-seller/src/components/ChatApp/images/e33.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e34.gif b/manager-seller/src/components/ChatApp/images/e34.gif index abd0bb038c45898f1bedd056a31df38935b4276e..8a7cf0a092b17b3d7967fb5cea4fec40fa791dad 100644 Binary files a/manager-seller/src/components/ChatApp/images/e34.gif and b/manager-seller/src/components/ChatApp/images/e34.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e35.gif b/manager-seller/src/components/ChatApp/images/e35.gif index b9b1e5f9450be2e314c93f914fd049ba5a93d5c3..0235d389da3c77af489714e937c60f856057d1d7 100644 Binary files a/manager-seller/src/components/ChatApp/images/e35.gif and b/manager-seller/src/components/ChatApp/images/e35.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e36.gif b/manager-seller/src/components/ChatApp/images/e36.gif index 3ea61d0b24c1f80466c50a2977dc5a7e0bf5e36a..2bbb9a095a8160519b514cda20354e95b04c8640 100644 Binary files a/manager-seller/src/components/ChatApp/images/e36.gif and b/manager-seller/src/components/ChatApp/images/e36.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e37.gif b/manager-seller/src/components/ChatApp/images/e37.gif index 672f589eea897b89f713b634e7869bc6fcf4a509..0cb82f5e63e5d7ec1670446cfcba88ee7499347c 100644 Binary files a/manager-seller/src/components/ChatApp/images/e37.gif and b/manager-seller/src/components/ChatApp/images/e37.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e38.gif b/manager-seller/src/components/ChatApp/images/e38.gif index 94a00831f7e3d0898a2333e6fa20aa859f073d8c..8e03ca87d3a5ba922b72438fa8f5c25d33b7f0da 100644 Binary files a/manager-seller/src/components/ChatApp/images/e38.gif and b/manager-seller/src/components/ChatApp/images/e38.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e39.gif b/manager-seller/src/components/ChatApp/images/e39.gif index bac4c142de599386301771527e2ea06ce727949b..4e26b94dd52477583dc1cb77c867b25c024d620c 100644 Binary files a/manager-seller/src/components/ChatApp/images/e39.gif and b/manager-seller/src/components/ChatApp/images/e39.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e40.gif b/manager-seller/src/components/ChatApp/images/e40.gif index 99563ca069dd495e7593c21c31e47c6278105754..3643e9ef34baeb0ba275b748a7f8262f89726c96 100644 Binary files a/manager-seller/src/components/ChatApp/images/e40.gif and b/manager-seller/src/components/ChatApp/images/e40.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e41.gif b/manager-seller/src/components/ChatApp/images/e41.gif index 791971226a5ed24a9ef2a168182e05ac0e14bec2..b9f86388bf9d0f31b21add074247fe48131bec7c 100644 Binary files a/manager-seller/src/components/ChatApp/images/e41.gif and b/manager-seller/src/components/ChatApp/images/e41.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e42.gif b/manager-seller/src/components/ChatApp/images/e42.gif index 987aaae4127f9010c45312ed95b7708954b90cf1..c6931188a62ec0a60a53f4285ecb5b6e04c3b7d5 100644 Binary files a/manager-seller/src/components/ChatApp/images/e42.gif and b/manager-seller/src/components/ChatApp/images/e42.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e43.gif b/manager-seller/src/components/ChatApp/images/e43.gif index 029ea71727f38aa3ad592b851db5fc73ce734784..58cfc659a942fe81d2fa046998dd137bc53ce06e 100644 Binary files a/manager-seller/src/components/ChatApp/images/e43.gif and b/manager-seller/src/components/ChatApp/images/e43.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e44.gif b/manager-seller/src/components/ChatApp/images/e44.gif index 1df389be68ac11a8054f83269997a594d31732fb..7dd32fb2f20cbe7791796f3c90a51528d506f694 100644 Binary files a/manager-seller/src/components/ChatApp/images/e44.gif and b/manager-seller/src/components/ChatApp/images/e44.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e45.gif b/manager-seller/src/components/ChatApp/images/e45.gif index 12ca2d9049e4b8d968d466a588200390c7345078..c92402f89441fff83674c0b59df9053b0c1116ec 100644 Binary files a/manager-seller/src/components/ChatApp/images/e45.gif and b/manager-seller/src/components/ChatApp/images/e45.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e46.gif b/manager-seller/src/components/ChatApp/images/e46.gif index c3910b1aeea72b18e3a92afe844da8b97a30ee68..67c63e6c1a33734db81b60a28a3f7c5566df21be 100644 Binary files a/manager-seller/src/components/ChatApp/images/e46.gif and b/manager-seller/src/components/ChatApp/images/e46.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e47.gif b/manager-seller/src/components/ChatApp/images/e47.gif index cdd59b2305553301ff183160870c4dd47792ee39..ba2b736d74ed31165f32168e7978f5386588d5a3 100644 Binary files a/manager-seller/src/components/ChatApp/images/e47.gif and b/manager-seller/src/components/ChatApp/images/e47.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e48.gif b/manager-seller/src/components/ChatApp/images/e48.gif index 2ea141346b8bf2d3640aa0e0393d04436042cc83..be58ea9c6f1a4eaf4ab0fb13bf407019e38bebf4 100644 Binary files a/manager-seller/src/components/ChatApp/images/e48.gif and b/manager-seller/src/components/ChatApp/images/e48.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e49.gif b/manager-seller/src/components/ChatApp/images/e49.gif index ffa0899055a16db9838822e42b9f8b921b1ee221..73aee8bfb72d6636bad13b85491e881d4658b994 100644 Binary files a/manager-seller/src/components/ChatApp/images/e49.gif and b/manager-seller/src/components/ChatApp/images/e49.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e50.gif b/manager-seller/src/components/ChatApp/images/e50.gif index 5b83262dfcc7c796b79a8594656419e5f768563c..ae5d59204d7f73bb391a8d92fb36256e0e56ebc2 100644 Binary files a/manager-seller/src/components/ChatApp/images/e50.gif and b/manager-seller/src/components/ChatApp/images/e50.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e51.gif b/manager-seller/src/components/ChatApp/images/e51.gif index 207e408adb6790e09f2f5b9e6ff424ae1aeaf322..1d7f838e30799bf966b1fb1e0f461ed78ab36f2d 100644 Binary files a/manager-seller/src/components/ChatApp/images/e51.gif and b/manager-seller/src/components/ChatApp/images/e51.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e52.gif b/manager-seller/src/components/ChatApp/images/e52.gif index 4e639e5b6201b95ceecedc23d893d03e04f53fb9..d5cbf4e309199632bd20e24f7b4c6a2ca040184e 100644 Binary files a/manager-seller/src/components/ChatApp/images/e52.gif and b/manager-seller/src/components/ChatApp/images/e52.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e53.gif b/manager-seller/src/components/ChatApp/images/e53.gif index 881394ed25f6729abea7d01588d87e700bedf276..8c49e0e34684aa988eaa5dc0ecbc1040a4c99315 100644 Binary files a/manager-seller/src/components/ChatApp/images/e53.gif and b/manager-seller/src/components/ChatApp/images/e53.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e54.gif b/manager-seller/src/components/ChatApp/images/e54.gif index 3c23ca97b9ef7881c0ce81bc7278b2580d24c583..b65ad4d08bc7ecae5ddbf95ef643fd2cfc6bd693 100644 Binary files a/manager-seller/src/components/ChatApp/images/e54.gif and b/manager-seller/src/components/ChatApp/images/e54.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e55.gif b/manager-seller/src/components/ChatApp/images/e55.gif index c59a2c2b888fcf3ba1900592e36a4dc9ab887345..d90fbb7077001bb7f82e707d9c07873a90e1b9e5 100644 Binary files a/manager-seller/src/components/ChatApp/images/e55.gif and b/manager-seller/src/components/ChatApp/images/e55.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e56.gif b/manager-seller/src/components/ChatApp/images/e56.gif index 053c57a26de9ecf96c79cc797b42b8bf53000d86..8e3fa4d81b066ca36a92e8ac60da4463d1a023f4 100644 Binary files a/manager-seller/src/components/ChatApp/images/e56.gif and b/manager-seller/src/components/ChatApp/images/e56.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e57.gif b/manager-seller/src/components/ChatApp/images/e57.gif index 593fbc563d3734e2f9b65bcb1ef273d07c7f5cbb..32beb40d5ca900cc766310dab400a387720dfb17 100644 Binary files a/manager-seller/src/components/ChatApp/images/e57.gif and b/manager-seller/src/components/ChatApp/images/e57.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e58.gif b/manager-seller/src/components/ChatApp/images/e58.gif index fba2fd950060226687264902573f8962cafc6b18..f34ab3414d5fa4f0fc2a006b56a057c2fd18aacc 100644 Binary files a/manager-seller/src/components/ChatApp/images/e58.gif and b/manager-seller/src/components/ChatApp/images/e58.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e59.gif b/manager-seller/src/components/ChatApp/images/e59.gif index add81a1ee39ae30fbeca632abef41bea6695578a..6c23b256e9d6b94e13ac9c88f234ab2da4d167d3 100644 Binary files a/manager-seller/src/components/ChatApp/images/e59.gif and b/manager-seller/src/components/ChatApp/images/e59.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e60.gif b/manager-seller/src/components/ChatApp/images/e60.gif index f2f49d2fd884ea076405e1d4186d7d9409a67e59..dc7931c9101b8f674aef3fb3b99052fbfe650112 100644 Binary files a/manager-seller/src/components/ChatApp/images/e60.gif and b/manager-seller/src/components/ChatApp/images/e60.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e61.gif b/manager-seller/src/components/ChatApp/images/e61.gif index f50a6f4b09359b2a6a8178b76246c01173af3b79..e9e6d3567a21c6f507969305accaf4d4e90993a3 100644 Binary files a/manager-seller/src/components/ChatApp/images/e61.gif and b/manager-seller/src/components/ChatApp/images/e61.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e62.gif b/manager-seller/src/components/ChatApp/images/e62.gif index c20d2eb23346e934c7bde6158e1b2e083c2b484a..a360e0ba2f78f832b6076362ca84e00b0d6d5f73 100644 Binary files a/manager-seller/src/components/ChatApp/images/e62.gif and b/manager-seller/src/components/ChatApp/images/e62.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e63.gif b/manager-seller/src/components/ChatApp/images/e63.gif index 0fbe1210de9c7fd9f17aab11d765742533e6c885..768df9188039f9d408de13a26cf9c7ceec0607a1 100644 Binary files a/manager-seller/src/components/ChatApp/images/e63.gif and b/manager-seller/src/components/ChatApp/images/e63.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e64.gif b/manager-seller/src/components/ChatApp/images/e64.gif index 8df64ba34207526ed52bc43053c9f02047b47790..aa1f2adad451559a920e3715a74074c87f1f4419 100644 Binary files a/manager-seller/src/components/ChatApp/images/e64.gif and b/manager-seller/src/components/ChatApp/images/e64.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e65.gif b/manager-seller/src/components/ChatApp/images/e65.gif index 6629d5b996cb797b8324b0712ad4d90f2ef5ddcd..f0bcda2f4e41bfd5fb70fdd13883ad8c43defdc9 100644 Binary files a/manager-seller/src/components/ChatApp/images/e65.gif and b/manager-seller/src/components/ChatApp/images/e65.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e66.gif b/manager-seller/src/components/ChatApp/images/e66.gif index 86a6573d99ab5d16b9b278fbc3e0a0a44476d9cc..c824ee08d875e9185346aa587144e6f3a4f4b737 100644 Binary files a/manager-seller/src/components/ChatApp/images/e66.gif and b/manager-seller/src/components/ChatApp/images/e66.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e67.gif b/manager-seller/src/components/ChatApp/images/e67.gif index 36b4e6d56c51648c9309e90c3ef65879c9b2e655..65d9ad03ee6c12e170ec61f747911b913e3f966f 100644 Binary files a/manager-seller/src/components/ChatApp/images/e67.gif and b/manager-seller/src/components/ChatApp/images/e67.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e68.gif b/manager-seller/src/components/ChatApp/images/e68.gif index 7013b05b80cfda1785689fb6ecf4179304f27f09..0f599f665175d15471cb94987c99a31e0824ed8f 100644 Binary files a/manager-seller/src/components/ChatApp/images/e68.gif and b/manager-seller/src/components/ChatApp/images/e68.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e69.gif b/manager-seller/src/components/ChatApp/images/e69.gif index 019b6d4dd6b91881a7bd490858d6d615b4a6c4d8..46c30b3f8ee749b570d8cf99e155dae332c21b47 100644 Binary files a/manager-seller/src/components/ChatApp/images/e69.gif and b/manager-seller/src/components/ChatApp/images/e69.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e70.gif b/manager-seller/src/components/ChatApp/images/e70.gif index 8a7af82e762030cfb4cd3c95a38953b67bb072c1..0bcd24aaa435cd4b5c76764df7e1abfe2d335d7b 100644 Binary files a/manager-seller/src/components/ChatApp/images/e70.gif and b/manager-seller/src/components/ChatApp/images/e70.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e71.gif b/manager-seller/src/components/ChatApp/images/e71.gif index 21858c41e4aadf8676a9b7cde54a264d65e4b42f..922e968445f92788a541e9fc374ffd4fe2372bb9 100644 Binary files a/manager-seller/src/components/ChatApp/images/e71.gif and b/manager-seller/src/components/ChatApp/images/e71.gif differ diff --git a/manager-seller/src/components/ChatApp/images/e72.gif b/manager-seller/src/components/ChatApp/images/e72.gif index 2d6401f95f22ad9e1ed4dfa9317b159470929ab4..318e7e30ad3d70a9ff450330e597ba2d8d6b881c 100644 Binary files a/manager-seller/src/components/ChatApp/images/e72.gif and b/manager-seller/src/components/ChatApp/images/e72.gif differ diff --git a/manager-seller/src/components/ChatApp/images/emojis.gif b/manager-seller/src/components/ChatApp/images/emojis.gif index c5c3d876957b3e1cbf788e29139051358bf47b61..0a964cb842e93bb242ea1e7fccc7f5793f852d4d 100644 Binary files a/manager-seller/src/components/ChatApp/images/emojis.gif and b/manager-seller/src/components/ChatApp/images/emojis.gif differ diff --git a/manager-seller/src/components/ChatApp/message.mp3 b/manager-seller/src/components/ChatApp/message.mp3 index 1b784bbfc6e2b22665b5a393506f8b5812bd3e33..1c0f556ea56cd3fd9931f22cc454c0a7f62b21b3 100644 Binary files a/manager-seller/src/components/ChatApp/message.mp3 and b/manager-seller/src/components/ChatApp/message.mp3 differ diff --git a/manager-seller/src/components/ChatApp/styles.scss b/manager-seller/src/components/ChatApp/styles.scss index a9c756330432f05ce676609995a47180e8a38e54..284c16541921fe72afd18dc1c462da30bd12349f 100644 --- a/manager-seller/src/components/ChatApp/styles.scss +++ b/manager-seller/src/components/ChatApp/styles.scss @@ -371,8 +371,6 @@ border-top: 1px solid #e7e7e7; user-select: none; .toolbar-input-chat { - display: flex; - align-items: center; box-sizing: border-box; height: 32px; margin-bottom: 5px; @@ -405,12 +403,6 @@ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACHUlEQVRYR+2XsUsbcRTHv+9SEIT8rBQnp64i5JcuDlWIY6cOEndXsWPnxLF0UaGduheVUiqlW8GqhWZofBH/hU5S2iSToPfkhfvZ63HxLuSSW7zx3ct7n9/3+7vf74WQ80M598c9QKwCvxcWjHd5+SRLe/yJieajRqMTrfkfQMfapwBeAnieZfNQrU8AXhvm7y52C9AplRZBdCwiPz2iVwLsCbDpA4cuuQCsA6gSsHoFXGj8ATCjuQD2r4G3/WKeyDwRrQCoQGTJtFonmvsPwFoNzBrmx/qia23VQUwx1x1Ex1pt1oMoMu+HcxXCMK/2iwXxcwH+GubFKICu6LNhXnPNHAQB9SLzZhYQXWtrAmwY5pkogEQlD8upEFfAt2Ht8IAKATXD3FM/bIGMaOPFlo0FUAXCfo8CKLCgHgsQ9XoUAG1r630tyB0grQV/rK2oOtPMt2dEWrXutCANQLtcfkYiX4KGRxDZMq3Wx7EBuBVcA8sFoKYnmxDtgmhrqtn8kQQytALRAmqHA1GoJFuGBoju4m65PCcielRXxw7QLpV2iOgFAe8Lvr89eXbWGLkFToHeMSryVTxvx5yeHiQ1Dt0vehfEH0RpvoLgRtMivwzzu7SNMwUYtGk4/65NeCHAmzHdBbHX8QkBD4vM88OsMOm3XWv7DCTBSAbgUEQ++ETnScUGeZ84kmmxXIfS8GpyG8sHkTSr3Pu/ZrkrcAM57IgwdHU3jAAAAABJRU5ErkJggg=='); } } - &.audio-text { - width: auto; - height: auto; - color: #0d58ef; - font-size: 12px; - } .btn-toolbar-input { display: none; } @@ -670,7 +662,7 @@ display: inline-block; padding: 4px 11px; line-height: 15px; - max-width: 60px; + max-width: 80px; text-align: center; color: #f23030; background: #ffeded;