diff --git a/im-uniapp/common/emotion.js b/im-uniapp/common/emotion.js
new file mode 100644
index 0000000..1caa481
--- /dev/null
+++ b/im-uniapp/common/emotion.js
@@ -0,0 +1,21 @@
+const emoTextList = ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过', '酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂', '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见', '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠', '鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰', '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强', '弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈', '磕头', '回头', '跳绳', '挥手', '激动', '街舞', '献吻', '左太极', '右太极'];
+
+
+let transform = (content) => {
+ return content.replace(/\#[\u4E00-\u9FA5]{1,3}\;/gi, textToImg);
+}
+
+// 将匹配结果替换表情图片
+let textToImg = (emoText) => {
+ let word = emoText.replace(/\#|\;/gi, '');
+ let idx = emoTextList.indexOf(word);
+ let url = `/static/emoji/${idx}.gif`;
+ return `
`
+}
+
+
+export default {
+ emoTextList,
+ transform,
+ textToImg
+}
diff --git a/im-uniapp/common/wssocket.js b/im-uniapp/common/wssocket.js
new file mode 100644
index 0000000..6da3e33
--- /dev/null
+++ b/im-uniapp/common/wssocket.js
@@ -0,0 +1,171 @@
+let wsurl = "";
+let accessToken = "";
+let messageCallBack = null;
+let openCallBack = null;
+let isConnect = false; //连接标识 避免重复连接
+let hasLogin = false;
+
+let createWebSocket = (url, token) => {
+ wsurl = url;
+ accessToken = token;
+ closeWebSocket().then(() => {
+ initWebSocket();
+ });
+
+};
+
+let initWebSocket = () => {
+ console.log("初始化WebSocket");
+ uni.connectSocket({
+ url: wsurl,
+ success: (res) => {
+ console.log("websocket连接成功");
+ },
+ fail: (err) => {
+ console.log(e);
+ console.log("websocket连接失败");
+ reConnect(); //如果无法连接上webSocket 那么重新连接!可能会因为服务器重新部署,或者短暂断网等导致无法创建连接
+ }
+ });
+
+ uni.onSocketOpen((res) => {
+ console.log("WebSocket连接已打开");
+ isConnect = true;
+ // 发送登录命令
+ let loginInfo = {
+ cmd: 0,
+ data: {
+ accessToken: accessToken
+ }
+ };
+ uni.sendSocketMessage({
+ data: JSON.stringify(loginInfo)
+ });
+ })
+
+
+ uni.onSocketMessage((res) => {
+ let sendInfo = JSON.parse(res.data)
+ if (sendInfo.cmd == 0) {
+ hasLogin = true;
+ heartCheck.start()
+ console.log('WebSocket登录成功')
+ // 登录成功才算连接完成
+ openCallBack && openCallBack();
+ } else if (sendInfo.cmd == 1) {
+ // 重新开启心跳定时
+ heartCheck.reset();
+ } else {
+ // 其他消息转发出去
+ console.log("接收到消息",sendInfo);
+ messageCallBack && messageCallBack(sendInfo.cmd, sendInfo.data)
+ }
+ })
+
+ uni.onSocketClose((res) => {
+ console.log(res)
+ console.log('WebSocket连接关闭')
+ isConnect = false; //断开后修改标识
+ //reConnect();
+ })
+
+ uni.onSocketError((err) => {
+ console.log(err)
+ isConnect = false; //连接断开修改标识
+ uni.showModal({
+ content: '连接失败,可能是websocket服务不可用,请稍后再试',
+ showCancel: false,
+ })
+ })
+
+};
+
+//定义重连函数
+let reConnect = () => {
+ console.log("尝试重新连接");
+ if (isConnect) return; //如果已经连上就不在重连了
+ rec && clearTimeout(rec);
+ rec = setTimeout(function() { // 延迟5秒重连 避免过多次过频繁请求重连
+ initWebSocket();
+ }, 5000);
+};
+
+//设置关闭连接
+let closeWebSocket = () => {
+ return new Promise((resolve, reject) => {
+ if (!isConnect) {
+ resolve();
+ return;
+ }
+ console.log("关闭websocket连接");
+ uni.closeSocket({
+ code: 1000,
+ complete: (res) => {
+ hasLogin = false;
+ isConnect = false;
+ resolve();
+ }
+ })
+ })
+
+
+};
+
+
+//心跳设置
+var heartCheck = {
+ timeout: 10000, //每段时间发送一次心跳包 这里设置为30s
+ timeoutObj: null, //延时发送消息对象(启动心跳新建这个对象,收到消息后重置对象)
+ start: function() {
+ if (isConnect) {
+ console.log('发送WebSocket心跳')
+ let heartBeat = {
+ cmd: 1,
+ data: {}
+ };
+ uni.sendSocketMessage({
+ data: JSON.stringify(heartBeat),
+ fail(res) {
+ console.log(res);
+ }
+ })
+ }
+ },
+ reset: function() {
+ clearTimeout(this.timeoutObj);
+ this.timeoutObj = setTimeout(function() {
+ heartCheck.start();
+ }, this.timeout);
+ }
+
+}
+
+// 实际调用的方法
+function sendMessage(agentData) {
+ uni.sendSocketMessage({
+ data: agentData
+ })
+}
+
+
+function onmessage(callback) {
+ messageCallBack = callback;
+}
+
+
+function onopen(callback) {
+ openCallBack = callback;
+ if (hasLogin) {
+ openCallBack();
+ }
+}
+
+
+// 将方法暴露出去
+export {
+ createWebSocket,
+ closeWebSocket,
+ sendMessage,
+ onmessage,
+ onopen
+}
\ No newline at end of file
diff --git a/im-uniapp/components/chat-item/chat-item.vue b/im-uniapp/components/chat-item/chat-item.vue
new file mode 100644
index 0000000..488abdb
--- /dev/null
+++ b/im-uniapp/components/chat-item/chat-item.vue
@@ -0,0 +1,134 @@
+
+
+
+
+ {{chat.unreadCount}}
+
+
+ {{ chat.showName}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/im-uniapp/components/chat-message-item/chat-message-item.vue b/im-uniapp/components/chat-message-item/chat-message-item.vue
new file mode 100644
index 0000000..a5a3e2e
--- /dev/null
+++ b/im-uniapp/components/chat-message-item/chat-message-item.vue
@@ -0,0 +1,379 @@
+
+
+ {{msgInfo.content}}
+
+
+
+
+
+
+
+
+ {{showName}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/im-uniapp/components/chat-time/chat-time.vue b/im-uniapp/components/chat-time/chat-time.vue
new file mode 100644
index 0000000..897f435
--- /dev/null
+++ b/im-uniapp/components/chat-time/chat-time.vue
@@ -0,0 +1,45 @@
+
+
+ {{formatDate}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/im-uniapp/components/image-upload/image-upload.vue b/im-uniapp/components/image-upload/image-upload.vue
new file mode 100644
index 0000000..75b970f
--- /dev/null
+++ b/im-uniapp/components/image-upload/image-upload.vue
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/im-uniapp/components/loading/loading.vue b/im-uniapp/components/loading/loading.vue
new file mode 100644
index 0000000..6855522
--- /dev/null
+++ b/im-uniapp/components/loading/loading.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/im-uniapp/pages/chat/chat-box.vue b/im-uniapp/pages/chat/chat-box.vue
new file mode 100644
index 0000000..271fcec
--- /dev/null
+++ b/im-uniapp/pages/chat/chat-box.vue
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 相册
+
+
+
+ {{ tool.name }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/im-uniapp/static/audio/call.wav b/im-uniapp/static/audio/call.wav
new file mode 100644
index 0000000..754e33c
Binary files /dev/null and b/im-uniapp/static/audio/call.wav differ
diff --git a/im-uniapp/static/audio/tip.wav b/im-uniapp/static/audio/tip.wav
new file mode 100644
index 0000000..adc45dd
Binary files /dev/null and b/im-uniapp/static/audio/tip.wav differ
diff --git a/im-uniapp/static/emoji/0.gif b/im-uniapp/static/emoji/0.gif
new file mode 100644
index 0000000..5be27cb
Binary files /dev/null and b/im-uniapp/static/emoji/0.gif differ
diff --git a/im-uniapp/static/emoji/1.gif b/im-uniapp/static/emoji/1.gif
new file mode 100644
index 0000000..a2644a9
Binary files /dev/null and b/im-uniapp/static/emoji/1.gif differ
diff --git a/im-uniapp/static/emoji/10.gif b/im-uniapp/static/emoji/10.gif
new file mode 100644
index 0000000..905c15b
Binary files /dev/null and b/im-uniapp/static/emoji/10.gif differ
diff --git a/im-uniapp/static/emoji/100.gif b/im-uniapp/static/emoji/100.gif
new file mode 100644
index 0000000..92ad35d
Binary files /dev/null and b/im-uniapp/static/emoji/100.gif differ
diff --git a/im-uniapp/static/emoji/101.gif b/im-uniapp/static/emoji/101.gif
new file mode 100644
index 0000000..1f27663
Binary files /dev/null and b/im-uniapp/static/emoji/101.gif differ
diff --git a/im-uniapp/static/emoji/102.gif b/im-uniapp/static/emoji/102.gif
new file mode 100644
index 0000000..748ded1
Binary files /dev/null and b/im-uniapp/static/emoji/102.gif differ
diff --git a/im-uniapp/static/emoji/103.gif b/im-uniapp/static/emoji/103.gif
new file mode 100644
index 0000000..be9eaa0
Binary files /dev/null and b/im-uniapp/static/emoji/103.gif differ
diff --git a/im-uniapp/static/emoji/104.gif b/im-uniapp/static/emoji/104.gif
new file mode 100644
index 0000000..d7c2066
Binary files /dev/null and b/im-uniapp/static/emoji/104.gif differ
diff --git a/im-uniapp/static/emoji/11.gif b/im-uniapp/static/emoji/11.gif
new file mode 100644
index 0000000..b512dd5
Binary files /dev/null and b/im-uniapp/static/emoji/11.gif differ
diff --git a/im-uniapp/static/emoji/12.gif b/im-uniapp/static/emoji/12.gif
new file mode 100644
index 0000000..547529c
Binary files /dev/null and b/im-uniapp/static/emoji/12.gif differ
diff --git a/im-uniapp/static/emoji/13.gif b/im-uniapp/static/emoji/13.gif
new file mode 100644
index 0000000..3475300
Binary files /dev/null and b/im-uniapp/static/emoji/13.gif differ
diff --git a/im-uniapp/static/emoji/14.gif b/im-uniapp/static/emoji/14.gif
new file mode 100644
index 0000000..6a788f8
Binary files /dev/null and b/im-uniapp/static/emoji/14.gif differ
diff --git a/im-uniapp/static/emoji/15.gif b/im-uniapp/static/emoji/15.gif
new file mode 100644
index 0000000..debab8e
Binary files /dev/null and b/im-uniapp/static/emoji/15.gif differ
diff --git a/im-uniapp/static/emoji/16.gif b/im-uniapp/static/emoji/16.gif
new file mode 100644
index 0000000..ed5d29f
Binary files /dev/null and b/im-uniapp/static/emoji/16.gif differ
diff --git a/im-uniapp/static/emoji/17.gif b/im-uniapp/static/emoji/17.gif
new file mode 100644
index 0000000..85886fe
Binary files /dev/null and b/im-uniapp/static/emoji/17.gif differ
diff --git a/im-uniapp/static/emoji/18.gif b/im-uniapp/static/emoji/18.gif
new file mode 100644
index 0000000..b6af218
Binary files /dev/null and b/im-uniapp/static/emoji/18.gif differ
diff --git a/im-uniapp/static/emoji/19.gif b/im-uniapp/static/emoji/19.gif
new file mode 100644
index 0000000..e045ff2
Binary files /dev/null and b/im-uniapp/static/emoji/19.gif differ
diff --git a/im-uniapp/static/emoji/2.gif b/im-uniapp/static/emoji/2.gif
new file mode 100644
index 0000000..40cfda4
Binary files /dev/null and b/im-uniapp/static/emoji/2.gif differ
diff --git a/im-uniapp/static/emoji/20.gif b/im-uniapp/static/emoji/20.gif
new file mode 100644
index 0000000..efd650f
Binary files /dev/null and b/im-uniapp/static/emoji/20.gif differ
diff --git a/im-uniapp/static/emoji/21.gif b/im-uniapp/static/emoji/21.gif
new file mode 100644
index 0000000..cb8cf6d
Binary files /dev/null and b/im-uniapp/static/emoji/21.gif differ
diff --git a/im-uniapp/static/emoji/22.gif b/im-uniapp/static/emoji/22.gif
new file mode 100644
index 0000000..96b04df
Binary files /dev/null and b/im-uniapp/static/emoji/22.gif differ
diff --git a/im-uniapp/static/emoji/23.gif b/im-uniapp/static/emoji/23.gif
new file mode 100644
index 0000000..96516b8
Binary files /dev/null and b/im-uniapp/static/emoji/23.gif differ
diff --git a/im-uniapp/static/emoji/24.gif b/im-uniapp/static/emoji/24.gif
new file mode 100644
index 0000000..5f925c7
Binary files /dev/null and b/im-uniapp/static/emoji/24.gif differ
diff --git a/im-uniapp/static/emoji/25.gif b/im-uniapp/static/emoji/25.gif
new file mode 100644
index 0000000..97f8b1a
Binary files /dev/null and b/im-uniapp/static/emoji/25.gif differ
diff --git a/im-uniapp/static/emoji/26.gif b/im-uniapp/static/emoji/26.gif
new file mode 100644
index 0000000..a7cded7
Binary files /dev/null and b/im-uniapp/static/emoji/26.gif differ
diff --git a/im-uniapp/static/emoji/27.gif b/im-uniapp/static/emoji/27.gif
new file mode 100644
index 0000000..bb46890
Binary files /dev/null and b/im-uniapp/static/emoji/27.gif differ
diff --git a/im-uniapp/static/emoji/28.gif b/im-uniapp/static/emoji/28.gif
new file mode 100644
index 0000000..f59dd58
Binary files /dev/null and b/im-uniapp/static/emoji/28.gif differ
diff --git a/im-uniapp/static/emoji/29.gif b/im-uniapp/static/emoji/29.gif
new file mode 100644
index 0000000..3c5227e
Binary files /dev/null and b/im-uniapp/static/emoji/29.gif differ
diff --git a/im-uniapp/static/emoji/3.gif b/im-uniapp/static/emoji/3.gif
new file mode 100644
index 0000000..6d6f762
Binary files /dev/null and b/im-uniapp/static/emoji/3.gif differ
diff --git a/im-uniapp/static/emoji/30.gif b/im-uniapp/static/emoji/30.gif
new file mode 100644
index 0000000..e24a180
Binary files /dev/null and b/im-uniapp/static/emoji/30.gif differ
diff --git a/im-uniapp/static/emoji/31.gif b/im-uniapp/static/emoji/31.gif
new file mode 100644
index 0000000..073e743
Binary files /dev/null and b/im-uniapp/static/emoji/31.gif differ
diff --git a/im-uniapp/static/emoji/32.gif b/im-uniapp/static/emoji/32.gif
new file mode 100644
index 0000000..772eff2
Binary files /dev/null and b/im-uniapp/static/emoji/32.gif differ
diff --git a/im-uniapp/static/emoji/33.gif b/im-uniapp/static/emoji/33.gif
new file mode 100644
index 0000000..217c1c5
Binary files /dev/null and b/im-uniapp/static/emoji/33.gif differ
diff --git a/im-uniapp/static/emoji/34.gif b/im-uniapp/static/emoji/34.gif
new file mode 100644
index 0000000..e9d4213
Binary files /dev/null and b/im-uniapp/static/emoji/34.gif differ
diff --git a/im-uniapp/static/emoji/35.gif b/im-uniapp/static/emoji/35.gif
new file mode 100644
index 0000000..d6da2c3
Binary files /dev/null and b/im-uniapp/static/emoji/35.gif differ
diff --git a/im-uniapp/static/emoji/36.gif b/im-uniapp/static/emoji/36.gif
new file mode 100644
index 0000000..c1e6ac9
Binary files /dev/null and b/im-uniapp/static/emoji/36.gif differ
diff --git a/im-uniapp/static/emoji/37.gif b/im-uniapp/static/emoji/37.gif
new file mode 100644
index 0000000..92efec6
Binary files /dev/null and b/im-uniapp/static/emoji/37.gif differ
diff --git a/im-uniapp/static/emoji/38.gif b/im-uniapp/static/emoji/38.gif
new file mode 100644
index 0000000..489f0f9
Binary files /dev/null and b/im-uniapp/static/emoji/38.gif differ
diff --git a/im-uniapp/static/emoji/39.gif b/im-uniapp/static/emoji/39.gif
new file mode 100644
index 0000000..734f6d8
Binary files /dev/null and b/im-uniapp/static/emoji/39.gif differ
diff --git a/im-uniapp/static/emoji/4.gif b/im-uniapp/static/emoji/4.gif
new file mode 100644
index 0000000..6ccdaa2
Binary files /dev/null and b/im-uniapp/static/emoji/4.gif differ
diff --git a/im-uniapp/static/emoji/40.gif b/im-uniapp/static/emoji/40.gif
new file mode 100644
index 0000000..24a8eb6
Binary files /dev/null and b/im-uniapp/static/emoji/40.gif differ
diff --git a/im-uniapp/static/emoji/41.gif b/im-uniapp/static/emoji/41.gif
new file mode 100644
index 0000000..99139e1
Binary files /dev/null and b/im-uniapp/static/emoji/41.gif differ
diff --git a/im-uniapp/static/emoji/42.gif b/im-uniapp/static/emoji/42.gif
new file mode 100644
index 0000000..f60897e
Binary files /dev/null and b/im-uniapp/static/emoji/42.gif differ
diff --git a/im-uniapp/static/emoji/43.gif b/im-uniapp/static/emoji/43.gif
new file mode 100644
index 0000000..4350491
Binary files /dev/null and b/im-uniapp/static/emoji/43.gif differ
diff --git a/im-uniapp/static/emoji/44.gif b/im-uniapp/static/emoji/44.gif
new file mode 100644
index 0000000..650d3dd
Binary files /dev/null and b/im-uniapp/static/emoji/44.gif differ
diff --git a/im-uniapp/static/emoji/45.gif b/im-uniapp/static/emoji/45.gif
new file mode 100644
index 0000000..5c8e071
Binary files /dev/null and b/im-uniapp/static/emoji/45.gif differ
diff --git a/im-uniapp/static/emoji/46.gif b/im-uniapp/static/emoji/46.gif
new file mode 100644
index 0000000..f3cb074
Binary files /dev/null and b/im-uniapp/static/emoji/46.gif differ
diff --git a/im-uniapp/static/emoji/47.gif b/im-uniapp/static/emoji/47.gif
new file mode 100644
index 0000000..5b3057a
Binary files /dev/null and b/im-uniapp/static/emoji/47.gif differ
diff --git a/im-uniapp/static/emoji/48.gif b/im-uniapp/static/emoji/48.gif
new file mode 100644
index 0000000..27a30c1
Binary files /dev/null and b/im-uniapp/static/emoji/48.gif differ
diff --git a/im-uniapp/static/emoji/49.gif b/im-uniapp/static/emoji/49.gif
new file mode 100644
index 0000000..dcfa48a
Binary files /dev/null and b/im-uniapp/static/emoji/49.gif differ
diff --git a/im-uniapp/static/emoji/5.gif b/im-uniapp/static/emoji/5.gif
new file mode 100644
index 0000000..ab0b81b
Binary files /dev/null and b/im-uniapp/static/emoji/5.gif differ
diff --git a/im-uniapp/static/emoji/50.gif b/im-uniapp/static/emoji/50.gif
new file mode 100644
index 0000000..029cf0f
Binary files /dev/null and b/im-uniapp/static/emoji/50.gif differ
diff --git a/im-uniapp/static/emoji/51.gif b/im-uniapp/static/emoji/51.gif
new file mode 100644
index 0000000..69f183f
Binary files /dev/null and b/im-uniapp/static/emoji/51.gif differ
diff --git a/im-uniapp/static/emoji/52.gif b/im-uniapp/static/emoji/52.gif
new file mode 100644
index 0000000..d41e8aa
Binary files /dev/null and b/im-uniapp/static/emoji/52.gif differ
diff --git a/im-uniapp/static/emoji/53.gif b/im-uniapp/static/emoji/53.gif
new file mode 100644
index 0000000..56352dd
Binary files /dev/null and b/im-uniapp/static/emoji/53.gif differ
diff --git a/im-uniapp/static/emoji/54.gif b/im-uniapp/static/emoji/54.gif
new file mode 100644
index 0000000..b28d848
Binary files /dev/null and b/im-uniapp/static/emoji/54.gif differ
diff --git a/im-uniapp/static/emoji/55.gif b/im-uniapp/static/emoji/55.gif
new file mode 100644
index 0000000..e18da84
Binary files /dev/null and b/im-uniapp/static/emoji/55.gif differ
diff --git a/im-uniapp/static/emoji/56.gif b/im-uniapp/static/emoji/56.gif
new file mode 100644
index 0000000..edf96f0
Binary files /dev/null and b/im-uniapp/static/emoji/56.gif differ
diff --git a/im-uniapp/static/emoji/57.gif b/im-uniapp/static/emoji/57.gif
new file mode 100644
index 0000000..3f0e2b9
Binary files /dev/null and b/im-uniapp/static/emoji/57.gif differ
diff --git a/im-uniapp/static/emoji/58.gif b/im-uniapp/static/emoji/58.gif
new file mode 100644
index 0000000..47b1aaa
Binary files /dev/null and b/im-uniapp/static/emoji/58.gif differ
diff --git a/im-uniapp/static/emoji/59.gif b/im-uniapp/static/emoji/59.gif
new file mode 100644
index 0000000..918288b
Binary files /dev/null and b/im-uniapp/static/emoji/59.gif differ
diff --git a/im-uniapp/static/emoji/6.gif b/im-uniapp/static/emoji/6.gif
new file mode 100644
index 0000000..ceab122
Binary files /dev/null and b/im-uniapp/static/emoji/6.gif differ
diff --git a/im-uniapp/static/emoji/60.gif b/im-uniapp/static/emoji/60.gif
new file mode 100644
index 0000000..66d2113
Binary files /dev/null and b/im-uniapp/static/emoji/60.gif differ
diff --git a/im-uniapp/static/emoji/61.gif b/im-uniapp/static/emoji/61.gif
new file mode 100644
index 0000000..034933e
Binary files /dev/null and b/im-uniapp/static/emoji/61.gif differ
diff --git a/im-uniapp/static/emoji/62.gif b/im-uniapp/static/emoji/62.gif
new file mode 100644
index 0000000..8d5c4fd
Binary files /dev/null and b/im-uniapp/static/emoji/62.gif differ
diff --git a/im-uniapp/static/emoji/63.gif b/im-uniapp/static/emoji/63.gif
new file mode 100644
index 0000000..d58fcf6
Binary files /dev/null and b/im-uniapp/static/emoji/63.gif differ
diff --git a/im-uniapp/static/emoji/64.gif b/im-uniapp/static/emoji/64.gif
new file mode 100644
index 0000000..c4e00bd
Binary files /dev/null and b/im-uniapp/static/emoji/64.gif differ
diff --git a/im-uniapp/static/emoji/65.gif b/im-uniapp/static/emoji/65.gif
new file mode 100644
index 0000000..da23bfa
Binary files /dev/null and b/im-uniapp/static/emoji/65.gif differ
diff --git a/im-uniapp/static/emoji/66.gif b/im-uniapp/static/emoji/66.gif
new file mode 100644
index 0000000..310ec65
Binary files /dev/null and b/im-uniapp/static/emoji/66.gif differ
diff --git a/im-uniapp/static/emoji/67.gif b/im-uniapp/static/emoji/67.gif
new file mode 100644
index 0000000..51761ba
Binary files /dev/null and b/im-uniapp/static/emoji/67.gif differ
diff --git a/im-uniapp/static/emoji/68.gif b/im-uniapp/static/emoji/68.gif
new file mode 100644
index 0000000..345cb43
Binary files /dev/null and b/im-uniapp/static/emoji/68.gif differ
diff --git a/im-uniapp/static/emoji/69.gif b/im-uniapp/static/emoji/69.gif
new file mode 100644
index 0000000..e0f28a0
Binary files /dev/null and b/im-uniapp/static/emoji/69.gif differ
diff --git a/im-uniapp/static/emoji/7.gif b/im-uniapp/static/emoji/7.gif
new file mode 100644
index 0000000..2f45399
Binary files /dev/null and b/im-uniapp/static/emoji/7.gif differ
diff --git a/im-uniapp/static/emoji/70.gif b/im-uniapp/static/emoji/70.gif
new file mode 100644
index 0000000..24284cf
Binary files /dev/null and b/im-uniapp/static/emoji/70.gif differ
diff --git a/im-uniapp/static/emoji/71.gif b/im-uniapp/static/emoji/71.gif
new file mode 100644
index 0000000..a0ccf2e
Binary files /dev/null and b/im-uniapp/static/emoji/71.gif differ
diff --git a/im-uniapp/static/emoji/72.gif b/im-uniapp/static/emoji/72.gif
new file mode 100644
index 0000000..7e113ee
Binary files /dev/null and b/im-uniapp/static/emoji/72.gif differ
diff --git a/im-uniapp/static/emoji/73.gif b/im-uniapp/static/emoji/73.gif
new file mode 100644
index 0000000..c0293c3
Binary files /dev/null and b/im-uniapp/static/emoji/73.gif differ
diff --git a/im-uniapp/static/emoji/74.gif b/im-uniapp/static/emoji/74.gif
new file mode 100644
index 0000000..1c52bde
Binary files /dev/null and b/im-uniapp/static/emoji/74.gif differ
diff --git a/im-uniapp/static/emoji/75.gif b/im-uniapp/static/emoji/75.gif
new file mode 100644
index 0000000..9cb9aa7
Binary files /dev/null and b/im-uniapp/static/emoji/75.gif differ
diff --git a/im-uniapp/static/emoji/76.gif b/im-uniapp/static/emoji/76.gif
new file mode 100644
index 0000000..27019f8
Binary files /dev/null and b/im-uniapp/static/emoji/76.gif differ
diff --git a/im-uniapp/static/emoji/77.gif b/im-uniapp/static/emoji/77.gif
new file mode 100644
index 0000000..8f882f5
Binary files /dev/null and b/im-uniapp/static/emoji/77.gif differ
diff --git a/im-uniapp/static/emoji/78.gif b/im-uniapp/static/emoji/78.gif
new file mode 100644
index 0000000..d0d0856
Binary files /dev/null and b/im-uniapp/static/emoji/78.gif differ
diff --git a/im-uniapp/static/emoji/79.gif b/im-uniapp/static/emoji/79.gif
new file mode 100644
index 0000000..61652a7
Binary files /dev/null and b/im-uniapp/static/emoji/79.gif differ
diff --git a/im-uniapp/static/emoji/8.gif b/im-uniapp/static/emoji/8.gif
new file mode 100644
index 0000000..f6c8834
Binary files /dev/null and b/im-uniapp/static/emoji/8.gif differ
diff --git a/im-uniapp/static/emoji/80.gif b/im-uniapp/static/emoji/80.gif
new file mode 100644
index 0000000..9a77936
Binary files /dev/null and b/im-uniapp/static/emoji/80.gif differ
diff --git a/im-uniapp/static/emoji/81.gif b/im-uniapp/static/emoji/81.gif
new file mode 100644
index 0000000..2329101
Binary files /dev/null and b/im-uniapp/static/emoji/81.gif differ
diff --git a/im-uniapp/static/emoji/82.gif b/im-uniapp/static/emoji/82.gif
new file mode 100644
index 0000000..644748a
Binary files /dev/null and b/im-uniapp/static/emoji/82.gif differ
diff --git a/im-uniapp/static/emoji/83.gif b/im-uniapp/static/emoji/83.gif
new file mode 100644
index 0000000..fbf275b
Binary files /dev/null and b/im-uniapp/static/emoji/83.gif differ
diff --git a/im-uniapp/static/emoji/84.gif b/im-uniapp/static/emoji/84.gif
new file mode 100644
index 0000000..076f0c6
Binary files /dev/null and b/im-uniapp/static/emoji/84.gif differ
diff --git a/im-uniapp/static/emoji/85.gif b/im-uniapp/static/emoji/85.gif
new file mode 100644
index 0000000..d254af4
Binary files /dev/null and b/im-uniapp/static/emoji/85.gif differ
diff --git a/im-uniapp/static/emoji/86.gif b/im-uniapp/static/emoji/86.gif
new file mode 100644
index 0000000..8f09d33
Binary files /dev/null and b/im-uniapp/static/emoji/86.gif differ
diff --git a/im-uniapp/static/emoji/87.gif b/im-uniapp/static/emoji/87.gif
new file mode 100644
index 0000000..df70756
Binary files /dev/null and b/im-uniapp/static/emoji/87.gif differ
diff --git a/im-uniapp/static/emoji/88.gif b/im-uniapp/static/emoji/88.gif
new file mode 100644
index 0000000..4d8b15e
Binary files /dev/null and b/im-uniapp/static/emoji/88.gif differ
diff --git a/im-uniapp/static/emoji/89.gif b/im-uniapp/static/emoji/89.gif
new file mode 100644
index 0000000..05726dc
Binary files /dev/null and b/im-uniapp/static/emoji/89.gif differ
diff --git a/im-uniapp/static/emoji/9.gif b/im-uniapp/static/emoji/9.gif
new file mode 100644
index 0000000..c2d8450
Binary files /dev/null and b/im-uniapp/static/emoji/9.gif differ
diff --git a/im-uniapp/static/emoji/90.gif b/im-uniapp/static/emoji/90.gif
new file mode 100644
index 0000000..adaf20e
Binary files /dev/null and b/im-uniapp/static/emoji/90.gif differ
diff --git a/im-uniapp/static/emoji/91.gif b/im-uniapp/static/emoji/91.gif
new file mode 100644
index 0000000..608d0ad
Binary files /dev/null and b/im-uniapp/static/emoji/91.gif differ
diff --git a/im-uniapp/static/emoji/92.gif b/im-uniapp/static/emoji/92.gif
new file mode 100644
index 0000000..b909e16
Binary files /dev/null and b/im-uniapp/static/emoji/92.gif differ
diff --git a/im-uniapp/static/emoji/93.gif b/im-uniapp/static/emoji/93.gif
new file mode 100644
index 0000000..7f71a8c
Binary files /dev/null and b/im-uniapp/static/emoji/93.gif differ
diff --git a/im-uniapp/static/emoji/94.gif b/im-uniapp/static/emoji/94.gif
new file mode 100644
index 0000000..4f26d7d
Binary files /dev/null and b/im-uniapp/static/emoji/94.gif differ
diff --git a/im-uniapp/static/emoji/95.gif b/im-uniapp/static/emoji/95.gif
new file mode 100644
index 0000000..5ef6d38
Binary files /dev/null and b/im-uniapp/static/emoji/95.gif differ
diff --git a/im-uniapp/static/emoji/96.gif b/im-uniapp/static/emoji/96.gif
new file mode 100644
index 0000000..2b709e1
Binary files /dev/null and b/im-uniapp/static/emoji/96.gif differ
diff --git a/im-uniapp/static/emoji/97.gif b/im-uniapp/static/emoji/97.gif
new file mode 100644
index 0000000..cf29be8
Binary files /dev/null and b/im-uniapp/static/emoji/97.gif differ
diff --git a/im-uniapp/static/emoji/98.gif b/im-uniapp/static/emoji/98.gif
new file mode 100644
index 0000000..c70e7d3
Binary files /dev/null and b/im-uniapp/static/emoji/98.gif differ
diff --git a/im-uniapp/static/emoji/99.gif b/im-uniapp/static/emoji/99.gif
new file mode 100644
index 0000000..05c1863
Binary files /dev/null and b/im-uniapp/static/emoji/99.gif differ
diff --git a/im-uniapp/static/icon/iconfont.css b/im-uniapp/static/icon/iconfont.css
new file mode 100644
index 0000000..1c4976b
--- /dev/null
+++ b/im-uniapp/static/icon/iconfont.css
@@ -0,0 +1,61 @@
+@font-face {
+ font-family: "iconfont"; /* Project id 4272106 */
+ src: url('iconfont.ttf?t=1696173135884') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-warning-circle-fill:before {
+ content: "\e848";
+}
+
+.icon-loading:before {
+ content: "\e93d";
+}
+
+.icon-add-circle:before {
+ content: "\e664";
+}
+
+.icon-camera:before {
+ content: "\e600";
+}
+
+.icon-folder:before {
+ content: "\e6a0";
+}
+
+.icon-microphone:before {
+ content: "\e63b";
+}
+
+.icon-icon_emoji:before {
+ content: "\e619";
+}
+
+.icon-call:before {
+ content: "\e610";
+}
+
+.icon-keyboard:before {
+ content: "\e679";
+}
+
+.icon-voice-circle:before {
+ content: "\e67f";
+}
+
+.icon-picture:before {
+ content: "\e653";
+}
+
+.icon-search:before {
+ content: "\e648";
+}
+
diff --git a/im-uniapp/static/icon/iconfont.ttf b/im-uniapp/static/icon/iconfont.ttf
new file mode 100644
index 0000000..2b19ac5
Binary files /dev/null and b/im-uniapp/static/icon/iconfont.ttf differ