Browse Source

im-ui更名为im-web

master
xsx 2 years ago
parent
commit
cb8dbecb1a
  1. 8
      .gitignore
  2. 26
      im-ui/.gitignore
  3. 0
      im-web/.env.development
  4. 0
      im-web/.env.production
  5. 48
      im-web/README.md
  6. 10
      im-web/babel.config.js
  7. 126
      im-web/package.json
  8. 26
      im-web/public/index.html
  9. 0
      im-web/public/logo.png
  10. 226
      im-web/src/App.vue
  11. 0
      im-web/src/api/camera.js
  12. 0
      im-web/src/api/date.js
  13. 0
      im-web/src/api/element.js
  14. 0
      im-web/src/api/emotion.js
  15. 0
      im-web/src/api/enums.js
  16. 0
      im-web/src/api/eventBus.js
  17. 0
      im-web/src/api/httpRequest.js
  18. 0
      im-web/src/api/messageType.js
  19. 0
      im-web/src/api/rtcGroupApi.js
  20. 0
      im-web/src/api/rtcPrivateApi.js
  21. 0
      im-web/src/api/webrtc.js
  22. 290
      im-web/src/api/wssocket.js
  23. 0
      im-web/src/assets/audio/call.wav
  24. 0
      im-web/src/assets/audio/tip.wav
  25. 0
      im-web/src/assets/emoji/0.gif
  26. 0
      im-web/src/assets/emoji/1.gif
  27. 0
      im-web/src/assets/emoji/10.gif
  28. 0
      im-web/src/assets/emoji/11.gif
  29. 0
      im-web/src/assets/emoji/12.gif
  30. 0
      im-web/src/assets/emoji/13.gif
  31. 0
      im-web/src/assets/emoji/14.gif
  32. 0
      im-web/src/assets/emoji/15.gif
  33. 0
      im-web/src/assets/emoji/16.gif
  34. 0
      im-web/src/assets/emoji/17.gif
  35. 0
      im-web/src/assets/emoji/18.gif
  36. 0
      im-web/src/assets/emoji/19.gif
  37. 0
      im-web/src/assets/emoji/2.gif
  38. 0
      im-web/src/assets/emoji/20.gif
  39. 0
      im-web/src/assets/emoji/21.gif
  40. 0
      im-web/src/assets/emoji/22.gif
  41. 0
      im-web/src/assets/emoji/23.gif
  42. 0
      im-web/src/assets/emoji/24.gif
  43. 0
      im-web/src/assets/emoji/25.gif
  44. 0
      im-web/src/assets/emoji/26.gif
  45. 0
      im-web/src/assets/emoji/27.gif
  46. 0
      im-web/src/assets/emoji/28.gif
  47. 0
      im-web/src/assets/emoji/29.gif
  48. 0
      im-web/src/assets/emoji/3.gif
  49. 0
      im-web/src/assets/emoji/30.gif
  50. 0
      im-web/src/assets/emoji/31.gif
  51. 0
      im-web/src/assets/emoji/32.gif
  52. 0
      im-web/src/assets/emoji/33.gif
  53. 0
      im-web/src/assets/emoji/34.gif
  54. 0
      im-web/src/assets/emoji/35.gif
  55. 0
      im-web/src/assets/emoji/36.gif
  56. 0
      im-web/src/assets/emoji/37.gif
  57. 0
      im-web/src/assets/emoji/38.gif
  58. 0
      im-web/src/assets/emoji/39.gif
  59. 0
      im-web/src/assets/emoji/4.gif
  60. 0
      im-web/src/assets/emoji/40.gif
  61. 0
      im-web/src/assets/emoji/41.gif
  62. 0
      im-web/src/assets/emoji/42.gif
  63. 0
      im-web/src/assets/emoji/43.gif
  64. 0
      im-web/src/assets/emoji/44.gif
  65. 0
      im-web/src/assets/emoji/45.gif
  66. 0
      im-web/src/assets/emoji/46.gif
  67. 0
      im-web/src/assets/emoji/47.gif
  68. 0
      im-web/src/assets/emoji/48.gif
  69. 0
      im-web/src/assets/emoji/49.gif
  70. 0
      im-web/src/assets/emoji/5.gif
  71. 0
      im-web/src/assets/emoji/50.gif
  72. 0
      im-web/src/assets/emoji/51.gif
  73. 0
      im-web/src/assets/emoji/52.gif
  74. 0
      im-web/src/assets/emoji/53.gif
  75. 0
      im-web/src/assets/emoji/54.gif
  76. 0
      im-web/src/assets/emoji/55.gif
  77. 0
      im-web/src/assets/emoji/56.gif
  78. 0
      im-web/src/assets/emoji/6.gif
  79. 0
      im-web/src/assets/emoji/7.gif
  80. 0
      im-web/src/assets/emoji/8.gif
  81. 0
      im-web/src/assets/emoji/9.gif
  82. 0
      im-web/src/assets/iconfont/iconfont.css
  83. 0
      im-web/src/assets/iconfont/iconfont.ttf
  84. 0
      im-web/src/assets/image/icp_logo.png
  85. 0
      im-web/src/assets/image/online_app.png
  86. 0
      im-web/src/assets/image/online_web.png
  87. 86
      im-web/src/assets/style/global.css
  88. 0
      im-web/src/components/chat/ChatAtBox.vue
  89. 0
      im-web/src/components/chat/ChatBox.vue
  90. 0
      im-web/src/components/chat/ChatGroupMember.vue
  91. 0
      im-web/src/components/chat/ChatGroupReaded.vue
  92. 0
      im-web/src/components/chat/ChatGroupSide.vue
  93. 0
      im-web/src/components/chat/ChatHistory.vue
  94. 0
      im-web/src/components/chat/ChatItem.vue
  95. 0
      im-web/src/components/chat/ChatMessageItem.vue
  96. 0
      im-web/src/components/chat/ChatRecord.vue
  97. 0
      im-web/src/components/common/Emotion.vue
  98. 0
      im-web/src/components/common/FileUpload.vue
  99. 0
      im-web/src/components/common/FullImage.vue
  100. 0
      im-web/src/components/common/HeadImage.vue

8
.gitignore

@ -9,10 +9,10 @@
/im-server/src/main/resources/logback-prod.xml /im-server/src/main/resources/logback-prod.xml
/im-commom/im-commom.iml /im-commom/im-commom.iml
/im-uniapp/node_modules/ /im-uniapp/node_modules/
/im-ui/package-lock.json /im-web/package-lock.json
/im-uniapp/unpackage/ /im-uniapp/unpackage/
/im-uniapp/hybrid/ /im-uniapp/hybrid/
/im-uniapp/package-lock.json /im-uniapp/package-lock.json
/im-ui/src/components/rtc/LocalVideo.vue /im-web/src/components/rtc/LocalVideo.vue
/im-ui/src/components/rtc/RemoteVideo.vue /im-web/src/components/rtc/RemoteVideo.vue
/im-ui/src/components/rtc/RtcGroupAcceptor.vue /im-web/src/components/rtc/RtcGroupAcceptor.vue

26
im-ui/.gitignore

@ -1,26 +0,0 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
#
package-lock.json

0
im-ui/.env.development → im-web/.env.development

0
im-ui/.env.production → im-web/.env.production

48
im-ui/README.md → im-web/README.md

@ -1,24 +1,24 @@
# web # web
## Project setup ## Project setup
``` ```
npm install npm install
``` ```
### Compiles and hot-reloads for development ### Compiles and hot-reloads for development
``` ```
npm run serve npm run serve
``` ```
### Compiles and minifies for production ### Compiles and minifies for production
``` ```
npm run build npm run build
``` ```
### Lints and fixes files ### Lints and fixes files
``` ```
npm run lint npm run lint
``` ```
### Customize configuration ### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/). See [Configuration Reference](https://cli.vuejs.org/config/).

10
im-ui/babel.config.js → im-web/babel.config.js

@ -1,5 +1,5 @@
module.exports = { module.exports = {
presets: [ presets: [
'@vue/cli-plugin-babel/preset' '@vue/cli-plugin-babel/preset'
] ]
} }

126
im-ui/package.json → im-web/package.json

@ -1,63 +1,63 @@
{ {
"name": "boxim", "name": "boxim",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",
"build": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build", "build": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build",
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"axios": "^1.1.3", "axios": "^1.1.3",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"element-ui": "^2.15.10", "element-ui": "^2.15.10",
"js-audio-recorder": "^1.0.7", "js-audio-recorder": "^1.0.7",
"localforage": "^1.10.0", "localforage": "^1.10.0",
"sass": "^1.47.0", "sass": "^1.47.0",
"sass-loader": "^10.1.1", "sass-loader": "^10.1.1",
"vue": "^2.6.11", "vue": "^2.6.11",
"vue-axios": "^3.5.0", "vue-axios": "^3.5.0",
"vue-router": "^3.3.3", "vue-router": "^3.3.3",
"vuex": "^3.6.2", "vuex": "^3.6.2",
"vuex-persist": "^3.1.3" "vuex-persist": "^3.1.3"
}, },
"devDependencies": { "devDependencies": {
"@vue/cli-plugin-babel": "~4.5.12", "@vue/cli-plugin-babel": "~4.5.12",
"@vue/cli-plugin-eslint": "~4.5.12", "@vue/cli-plugin-eslint": "~4.5.12",
"@vue/cli-service": "~4.5.12", "@vue/cli-service": "~4.5.12",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"eslint": "^6.7.2", "eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2", "eslint-plugin-vue": "^6.2.2",
"vue-template-compiler": "^2.6.11" "vue-template-compiler": "^2.6.11"
}, },
"eslintConfig": { "eslintConfig": {
"root": true, "root": true,
"env": { "env": {
"node": true "node": true
}, },
"extends": [ "extends": [
"plugin:vue/essential", "plugin:vue/essential",
"eslint:recommended" "eslint:recommended"
], ],
"parserOptions": { "parserOptions": {
"parser": "babel-eslint" "parser": "babel-eslint"
}, },
"rules": { "rules": {
"no-mixed-spaces-and-tabs": 0, "no-mixed-spaces-and-tabs": 0,
"generator-star-spacing": "off", "generator-star-spacing": "off",
"no-tabs": "off", "no-tabs": "off",
"no-unused-vars": "off", "no-unused-vars": "off",
"no-unused-labels": "off", "no-unused-labels": "off",
"no-console": "off", "no-console": "off",
"vue/no-unused-components": "off", "vue/no-unused-components": "off",
"no-irregular-whitespace": "off", "no-irregular-whitespace": "off",
"no-debugger": "off", "no-debugger": "off",
"no-useless-escape": "off" "no-useless-escape": "off"
} }
}, },
"browserslist": [ "browserslist": [
"> 1%", "> 1%",
"last 2 versions", "last 2 versions",
"not dead" "not dead"
] ]
} }

26
im-ui/public/index.html → im-web/public/index.html

@ -1,13 +1,13 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang=""> <html lang="">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>logo.png"> <link rel="icon" href="<%= BASE_URL %>logo.png">
<title>盒子IM</title> <title>盒子IM</title>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
</body> </body>
</html> </html>

0
im-ui/public/logo.png → im-web/public/logo.png

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

226
im-ui/src/App.vue → im-web/src/App.vue

@ -1,115 +1,115 @@
<template> <template>
<div id="app"> <div id="app">
<router-view></router-view> <router-view></router-view>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'App', name: 'App',
components: {} components: {}
} }
</script> </script>
<style lang="scss"> <style lang="scss">
@import './assets/style/global.css'; @import './assets/style/global.css';
#app { #app {
font-family: 'Avenir', Helvetica, Arial, sans-serif; font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
position: absolute; position: absolute;
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
.el-message { .el-message {
z-index: 99999999 !important; z-index: 99999999 !important;
} }
.el-scrollbar__thumb { .el-scrollbar__thumb {
background-color: #A0A8AF !important; background-color: #A0A8AF !important;
} }
.el-dialog { .el-dialog {
border-radius: 8px !important; border-radius: 8px !important;
overflow: hidden !important; overflow: hidden !important;
} }
.el-dialog__header { .el-dialog__header {
background-color: #5870e6 !important; background-color: #5870e6 !important;
} }
.el-dialog__title { .el-dialog__title {
color: #f8f8f8 !important; color: #f8f8f8 !important;
} }
.el-dialog__close { .el-dialog__close {
color: white !important; color: white !important;
font-size: 20px; font-size: 20px;
} }
.el-checkbox__inner { .el-checkbox__inner {
border-radius: 50% !important; border-radius: 50% !important;
} }
.el-input__inner { .el-input__inner {
border-radius: 5px !important; border-radius: 5px !important;
border: #587FF0 1px solid !important; border: #587FF0 1px solid !important;
} }
.el-textarea__inner{ .el-textarea__inner{
border-radius: 5px !important; border-radius: 5px !important;
border: #587FF0 1px solid !important; border: #587FF0 1px solid !important;
} }
.el-icon-search { .el-icon-search {
color:#587FF0 !important; color:#587FF0 !important;
} }
.el-button--primary { .el-button--primary {
background-color: #687Ff0 !important; background-color: #687Ff0 !important;
border-color: #687Ff0 !important; border-color: #687Ff0 !important;
} }
.el-button--success { .el-button--success {
background-color: #4cae1b !important; background-color: #4cae1b !important;
border-color: #4cae1b !important; border-color: #4cae1b !important;
} }
.el-button--danger { .el-button--danger {
background-color: #ea4949 !important; background-color: #ea4949 !important;
border-color: #ea4949 !important; border-color: #ea4949 !important;
} }
.el-button { .el-button {
padding: 8px 15px !important; padding: 8px 15px !important;
} }
.el-checkbox { .el-checkbox {
display: flex; display: flex;
align-items: center; align-items: center;
// //
.el-checkbox__inner { .el-checkbox__inner {
width: 20px; width: 20px;
height: 20px; height: 20px;
// //
&::after { &::after {
height: 12px; height: 12px;
left: 7px; left: 7px;
} }
} }
// //
.el-checkbox__input.is-checked+.el-checkbox__label { .el-checkbox__input.is-checked+.el-checkbox__label {
color: #333333; color: #333333;
} }
.el-checkbox__label { .el-checkbox__label {
line-height: 20px; line-height: 20px;
padding-left: 8px; padding-left: 8px;
} }
} }
</style> </style>

0
im-ui/src/api/camera.js → im-web/src/api/camera.js

0
im-ui/src/api/date.js → im-web/src/api/date.js

0
im-ui/src/api/element.js → im-web/src/api/element.js

0
im-ui/src/api/emotion.js → im-web/src/api/emotion.js

0
im-ui/src/api/enums.js → im-web/src/api/enums.js

0
im-ui/src/api/eventBus.js → im-web/src/api/eventBus.js

0
im-ui/src/api/httpRequest.js → im-web/src/api/httpRequest.js

0
im-ui/src/api/messageType.js → im-web/src/api/messageType.js

0
im-ui/src/api/rtcGroupApi.js → im-web/src/api/rtcGroupApi.js

0
im-ui/src/api/rtcPrivateApi.js → im-web/src/api/rtcPrivateApi.js

0
im-ui/src/api/webrtc.js → im-web/src/api/webrtc.js

290
im-ui/src/api/wssocket.js → im-web/src/api/wssocket.js

@ -1,145 +1,145 @@
var websock = null; var websock = null;
let rec; //断线重连后,延迟5秒重新创建WebSocket连接 rec用来存储延迟请求的代码 let rec; //断线重连后,延迟5秒重新创建WebSocket连接 rec用来存储延迟请求的代码
let isConnect = false; //连接标识 避免重复连接 let isConnect = false; //连接标识 避免重复连接
let connectCallBack= null; let connectCallBack= null;
let messageCallBack = null; let messageCallBack = null;
let closeCallBack = null let closeCallBack = null
let connect = (wsurl,accessToken) => { let connect = (wsurl,accessToken) => {
try { try {
if (isConnect) { if (isConnect) {
return; return;
} }
console.log("连接WebSocket"); console.log("连接WebSocket");
websock = new WebSocket(wsurl); websock = new WebSocket(wsurl);
websock.onmessage = function(e) { websock.onmessage = function(e) {
let sendInfo = JSON.parse(e.data) let sendInfo = JSON.parse(e.data)
if (sendInfo.cmd == 0) { if (sendInfo.cmd == 0) {
heartCheck.start() heartCheck.start()
// 登录成功才算真正完成连接 // 登录成功才算真正完成连接
connectCallBack && connectCallBack(); connectCallBack && connectCallBack();
console.log('WebSocket登录成功') console.log('WebSocket登录成功')
} else if (sendInfo.cmd == 1) { } else if (sendInfo.cmd == 1) {
// 重新开启心跳定时 // 重新开启心跳定时
heartCheck.reset(); heartCheck.reset();
} else { } else {
// 其他消息转发出去 // 其他消息转发出去
console.log("收到消息:",sendInfo); console.log("收到消息:",sendInfo);
messageCallBack && messageCallBack(sendInfo.cmd, sendInfo.data) messageCallBack && messageCallBack(sendInfo.cmd, sendInfo.data)
} }
} }
websock.onclose = function(e) { websock.onclose = function(e) {
console.log('WebSocket连接关闭') console.log('WebSocket连接关闭')
isConnect = false; //断开后修改标识 isConnect = false; //断开后修改标识
closeCallBack && closeCallBack(e); closeCallBack && closeCallBack(e);
} }
websock.onopen = function() { websock.onopen = function() {
console.log("WebSocket连接成功"); console.log("WebSocket连接成功");
isConnect = true; isConnect = true;
// 发送登录命令 // 发送登录命令
let loginInfo = { let loginInfo = {
cmd: 0, cmd: 0,
data: { data: {
accessToken: accessToken accessToken: accessToken
} }
}; };
websock.send(JSON.stringify(loginInfo)); websock.send(JSON.stringify(loginInfo));
} }
// 连接发生错误的回调方法 // 连接发生错误的回调方法
websock.onerror = function() { websock.onerror = function() {
console.log('WebSocket连接发生错误') console.log('WebSocket连接发生错误')
isConnect = false; //连接断开修改标识 isConnect = false; //连接断开修改标识
reconnect(wsurl,accessToken); reconnect(wsurl,accessToken);
} }
} catch (e) { } catch (e) {
console.log("尝试创建连接失败"); console.log("尝试创建连接失败");
reconnect(wsurl,accessToken); //如果无法连接上webSocket 那么重新连接!可能会因为服务器重新部署,或者短暂断网等导致无法创建连接 reconnect(wsurl,accessToken); //如果无法连接上webSocket 那么重新连接!可能会因为服务器重新部署,或者短暂断网等导致无法创建连接
} }
}; };
//定义重连函数 //定义重连函数
let reconnect = (wsurl,accessToken) => { let reconnect = (wsurl,accessToken) => {
console.log("尝试重新连接"); console.log("尝试重新连接");
if (isConnect){ if (isConnect){
//如果已经连上就不在重连了 //如果已经连上就不在重连了
return; return;
} }
rec && clearTimeout(rec); rec && clearTimeout(rec);
rec = setTimeout(function() { // 延迟5秒重连 避免过多次过频繁请求重连 rec = setTimeout(function() { // 延迟5秒重连 避免过多次过频繁请求重连
connect(wsurl,accessToken); connect(wsurl,accessToken);
}, 15000); }, 15000);
}; };
//设置关闭连接 //设置关闭连接
let close = (code) => { let close = (code) => {
websock && websock.close(code); websock && websock.close(code);
}; };
//心跳设置 //心跳设置
let heartCheck = { let heartCheck = {
timeout: 5000, //每段时间发送一次心跳包 这里设置为20s timeout: 5000, //每段时间发送一次心跳包 这里设置为20s
timeoutObj: null, //延时发送消息对象(启动心跳新建这个对象,收到消息后重置对象) timeoutObj: null, //延时发送消息对象(启动心跳新建这个对象,收到消息后重置对象)
start: function() { start: function() {
if (isConnect) { if (isConnect) {
console.log('发送WebSocket心跳') console.log('发送WebSocket心跳')
let heartBeat = { let heartBeat = {
cmd: 1, cmd: 1,
data: {} data: {}
}; };
websock.send(JSON.stringify(heartBeat)) websock.send(JSON.stringify(heartBeat))
} }
}, },
reset: function() { reset: function() {
clearTimeout(this.timeoutObj); clearTimeout(this.timeoutObj);
this.timeoutObj = setTimeout(function() { this.timeoutObj = setTimeout(function() {
heartCheck.start(); heartCheck.start();
}, this.timeout); }, this.timeout);
} }
}; };
// 实际调用的方法 // 实际调用的方法
let sendMessage = (agentData) => { let sendMessage = (agentData) => {
if (websock.readyState === websock.OPEN) { if (websock.readyState === websock.OPEN) {
// 若是ws开启状态 // 若是ws开启状态
websock.send(JSON.stringify(agentData)) websock.send(JSON.stringify(agentData))
} else if (websock.readyState === websock.CONNECTING) { } else if (websock.readyState === websock.CONNECTING) {
// 若是 正在开启状态,则等待1s后重新调用 // 若是 正在开启状态,则等待1s后重新调用
setTimeout(function() { setTimeout(function() {
sendMessage(agentData) sendMessage(agentData)
}, 1000) }, 1000)
} else { } else {
// 若未开启 ,则等待1s后重新调用 // 若未开启 ,则等待1s后重新调用
setTimeout(function() { setTimeout(function() {
sendMessage(agentData) sendMessage(agentData)
}, 1000) }, 1000)
} }
} }
let onConnect = (callback) => { let onConnect = (callback) => {
connectCallBack = callback; connectCallBack = callback;
} }
let onMessage = (callback) => { let onMessage = (callback) => {
messageCallBack = callback; messageCallBack = callback;
} }
let onClose = (callback) => { let onClose = (callback) => {
closeCallBack = callback; closeCallBack = callback;
} }
// 将方法暴露出去 // 将方法暴露出去
export { export {
connect, connect,
reconnect, reconnect,
close, close,
sendMessage, sendMessage,
onConnect, onConnect,
onMessage, onMessage,
onClose, onClose,
} }

0
im-ui/src/assets/audio/call.wav → im-web/src/assets/audio/call.wav

0
im-ui/src/assets/audio/tip.wav → im-web/src/assets/audio/tip.wav

0
im-ui/src/assets/emoji/0.gif → im-web/src/assets/emoji/0.gif

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

0
im-ui/src/assets/emoji/1.gif → im-web/src/assets/emoji/1.gif

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

0
im-ui/src/assets/emoji/10.gif → im-web/src/assets/emoji/10.gif

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

0
im-ui/src/assets/emoji/11.gif → im-web/src/assets/emoji/11.gif

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

0
im-ui/src/assets/emoji/12.gif → im-web/src/assets/emoji/12.gif

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

0
im-ui/src/assets/emoji/13.gif → im-web/src/assets/emoji/13.gif

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

0
im-ui/src/assets/emoji/14.gif → im-web/src/assets/emoji/14.gif

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

0
im-ui/src/assets/emoji/15.gif → im-web/src/assets/emoji/15.gif

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

0
im-ui/src/assets/emoji/16.gif → im-web/src/assets/emoji/16.gif

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

0
im-ui/src/assets/emoji/17.gif → im-web/src/assets/emoji/17.gif

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

0
im-ui/src/assets/emoji/18.gif → im-web/src/assets/emoji/18.gif

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

0
im-ui/src/assets/emoji/19.gif → im-web/src/assets/emoji/19.gif

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

0
im-ui/src/assets/emoji/2.gif → im-web/src/assets/emoji/2.gif

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

0
im-ui/src/assets/emoji/20.gif → im-web/src/assets/emoji/20.gif

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

0
im-ui/src/assets/emoji/21.gif → im-web/src/assets/emoji/21.gif

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

0
im-ui/src/assets/emoji/22.gif → im-web/src/assets/emoji/22.gif

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

0
im-ui/src/assets/emoji/23.gif → im-web/src/assets/emoji/23.gif

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

0
im-ui/src/assets/emoji/24.gif → im-web/src/assets/emoji/24.gif

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

0
im-ui/src/assets/emoji/25.gif → im-web/src/assets/emoji/25.gif

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

0
im-ui/src/assets/emoji/26.gif → im-web/src/assets/emoji/26.gif

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

0
im-ui/src/assets/emoji/27.gif → im-web/src/assets/emoji/27.gif

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

0
im-ui/src/assets/emoji/28.gif → im-web/src/assets/emoji/28.gif

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

0
im-ui/src/assets/emoji/29.gif → im-web/src/assets/emoji/29.gif

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
im-ui/src/assets/emoji/3.gif → im-web/src/assets/emoji/3.gif

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

0
im-ui/src/assets/emoji/30.gif → im-web/src/assets/emoji/30.gif

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

0
im-ui/src/assets/emoji/31.gif → im-web/src/assets/emoji/31.gif

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

0
im-ui/src/assets/emoji/32.gif → im-web/src/assets/emoji/32.gif

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
im-ui/src/assets/emoji/33.gif → im-web/src/assets/emoji/33.gif

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

0
im-ui/src/assets/emoji/34.gif → im-web/src/assets/emoji/34.gif

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

0
im-ui/src/assets/emoji/35.gif → im-web/src/assets/emoji/35.gif

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

0
im-ui/src/assets/emoji/36.gif → im-web/src/assets/emoji/36.gif

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

0
im-ui/src/assets/emoji/37.gif → im-web/src/assets/emoji/37.gif

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

0
im-ui/src/assets/emoji/38.gif → im-web/src/assets/emoji/38.gif

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
im-ui/src/assets/emoji/39.gif → im-web/src/assets/emoji/39.gif

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

0
im-ui/src/assets/emoji/4.gif → im-web/src/assets/emoji/4.gif

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

0
im-ui/src/assets/emoji/40.gif → im-web/src/assets/emoji/40.gif

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

0
im-ui/src/assets/emoji/41.gif → im-web/src/assets/emoji/41.gif

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

0
im-ui/src/assets/emoji/42.gif → im-web/src/assets/emoji/42.gif

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

0
im-ui/src/assets/emoji/43.gif → im-web/src/assets/emoji/43.gif

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

0
im-ui/src/assets/emoji/44.gif → im-web/src/assets/emoji/44.gif

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

0
im-ui/src/assets/emoji/45.gif → im-web/src/assets/emoji/45.gif

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

0
im-ui/src/assets/emoji/46.gif → im-web/src/assets/emoji/46.gif

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

0
im-ui/src/assets/emoji/47.gif → im-web/src/assets/emoji/47.gif

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

0
im-ui/src/assets/emoji/48.gif → im-web/src/assets/emoji/48.gif

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

0
im-ui/src/assets/emoji/49.gif → im-web/src/assets/emoji/49.gif

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
im-ui/src/assets/emoji/5.gif → im-web/src/assets/emoji/5.gif

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

0
im-ui/src/assets/emoji/50.gif → im-web/src/assets/emoji/50.gif

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

0
im-ui/src/assets/emoji/51.gif → im-web/src/assets/emoji/51.gif

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

0
im-ui/src/assets/emoji/52.gif → im-web/src/assets/emoji/52.gif

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

0
im-ui/src/assets/emoji/53.gif → im-web/src/assets/emoji/53.gif

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

0
im-ui/src/assets/emoji/54.gif → im-web/src/assets/emoji/54.gif

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
im-ui/src/assets/emoji/55.gif → im-web/src/assets/emoji/55.gif

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

0
im-ui/src/assets/emoji/56.gif → im-web/src/assets/emoji/56.gif

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

0
im-ui/src/assets/emoji/6.gif → im-web/src/assets/emoji/6.gif

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

0
im-ui/src/assets/emoji/7.gif → im-web/src/assets/emoji/7.gif

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

0
im-ui/src/assets/emoji/8.gif → im-web/src/assets/emoji/8.gif

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

0
im-ui/src/assets/emoji/9.gif → im-web/src/assets/emoji/9.gif

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

0
im-ui/src/assets/iconfont/iconfont.css → im-web/src/assets/iconfont/iconfont.css

0
im-ui/src/assets/iconfont/iconfont.ttf → im-web/src/assets/iconfont/iconfont.ttf

0
im-ui/src/assets/image/icp_logo.png → im-web/src/assets/image/icp_logo.png

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

0
im-ui/src/assets/image/online_app.png → im-web/src/assets/image/online_app.png

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

0
im-ui/src/assets/image/online_web.png → im-web/src/assets/image/online_web.png

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

86
im-ui/src/assets/style/global.css → im-web/src/assets/style/global.css

@ -1,43 +1,43 @@
@charset "UTF-8"; @charset "UTF-8";
html { html {
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
body { body {
height: 100%; height: 100%;
margin: 0; margin: 0;
overflow: hidden; overflow: hidden;
} }
section { section {
height: 100%; height: 100%;
} }
.el-dialog__body{ .el-dialog__body{
padding: 10px 15px !important; padding: 10px 15px !important;
} }
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 6px; width: 6px;
height: 1px; height: 1px;
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/ /*滚动条里面小方块*/
border-radius: 2px; border-radius: 2px;
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: #535353; background: #535353;
} }
::-webkit-scrollbar-track { ::-webkit-scrollbar-track {
/*滚动条里面轨道*/ /*滚动条里面轨道*/
-webkit-box-shadow: inset 0 0 5px transparent; -webkit-box-shadow: inset 0 0 5px transparent;
border-radius: 2px; border-radius: 2px;
background: #ededed; background: #ededed;
} }
/*# sourceMappingURL=v-im.cssss.map */ /*# sourceMappingURL=v-im.cssss.map */

0
im-ui/src/components/chat/ChatAtBox.vue → im-web/src/components/chat/ChatAtBox.vue

0
im-ui/src/components/chat/ChatBox.vue → im-web/src/components/chat/ChatBox.vue

0
im-ui/src/components/chat/ChatGroupMember.vue → im-web/src/components/chat/ChatGroupMember.vue

0
im-ui/src/components/chat/ChatGroupReaded.vue → im-web/src/components/chat/ChatGroupReaded.vue

0
im-ui/src/components/chat/ChatGroupSide.vue → im-web/src/components/chat/ChatGroupSide.vue

0
im-ui/src/components/chat/ChatHistory.vue → im-web/src/components/chat/ChatHistory.vue

0
im-ui/src/components/chat/ChatItem.vue → im-web/src/components/chat/ChatItem.vue

0
im-ui/src/components/chat/ChatMessageItem.vue → im-web/src/components/chat/ChatMessageItem.vue

0
im-ui/src/components/chat/ChatRecord.vue → im-web/src/components/chat/ChatRecord.vue

0
im-ui/src/components/common/Emotion.vue → im-web/src/components/common/Emotion.vue

0
im-ui/src/components/common/FileUpload.vue → im-web/src/components/common/FileUpload.vue

0
im-ui/src/components/common/FullImage.vue → im-web/src/components/common/FullImage.vue

0
im-ui/src/components/common/HeadImage.vue → im-web/src/components/common/HeadImage.vue

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save