From e1ad1d4ebe93e23c919b51756d72497c3238ca81 Mon Sep 17 00:00:00 2001 From: yuanlei <18627959669@163.com> Date: Fri, 28 Mar 2025 10:37:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 16 + .env.production | 14 + .gitignore | 2 + App.vue | 104 ++++ api/chat.js | 35 ++ api/login.js | 62 ++ index.html | 21 + main.js | 23 + manifest.json | 79 +++ pages.json | 105 ++++ pages/home/user.vue | 158 +++++ pages/setting/about.vue | 44 ++ pages/setting/contact.vue | 81 +++ pages/setting/setting.vue | 75 +++ pages/user/login.vue | 259 ++++++++ pages/user/register.vue | 173 ++++++ permission.js | 96 +++ plugins/modal.js | 72 +++ plugins/pluginTool.js | 15 + plugins/tab.js | 74 +++ static/image/app.png | Bin 0 -> 14128 bytes static/image/favicon.ico | Bin 0 -> 4781 bytes static/image/ninecloud-white.png | Bin 0 -> 6036 bytes static/image/tabbar/chat-fill.png | Bin 0 -> 7684 bytes static/image/tabbar/chat.png | Bin 0 -> 7379 bytes static/image/tabbar/home-fill.png | Bin 0 -> 7250 bytes static/image/tabbar/home.png | Bin 0 -> 9787 bytes static/image/tabbar/type-fill.png | Bin 0 -> 20721 bytes static/image/tabbar/type.png | Bin 0 -> 28776 bytes static/image/tabbar/user-fill.png | Bin 0 -> 15207 bytes static/image/tabbar/user.png | Bin 0 -> 17797 bytes static/image/user/cc.png | Bin 0 -> 1752 bytes static/image/user/login-password-blue.png | Bin 0 -> 5281 bytes static/image/user/login-phone-blue.png | Bin 0 -> 3403 bytes static/image/user/message.png | Bin 0 -> 5545 bytes static/image/user/uset.png | Bin 0 -> 6670 bytes static/image/user/yy.png | Bin 0 -> 7318 bytes static/style/nine-base-001.scss | 555 +++++++++++++++++ static/style/nine-base-002.scss | 136 +++++ static/style/nine-btn-001.scss | 27 + static/style/nine-chat-friend-001.scss | 1 + static/style/nine-chat-home-001.scss | 1 + static/style/nine-image-001.scss | 36 ++ static/style/nine-list-001.scss | 9 + static/style/nine-nav-001.scss | 39 ++ store/getters.js | 8 + store/index.js | 15 + store/modules/user.js | 94 +++ uni.scss | 76 +++ uni_modules/uni-icons/changelog.md | 42 ++ .../uni-icons/components/uni-icons/uni-icons.uvue | 91 +++ .../uni-icons/components/uni-icons/uni-icons.vue | 110 ++++ .../uni-icons/components/uni-icons/uniicons.css | 664 +++++++++++++++++++++ .../uni-icons/components/uni-icons/uniicons.ttf | Bin 0 -> 35824 bytes .../components/uni-icons/uniicons_file.ts | 664 +++++++++++++++++++++ .../components/uni-icons/uniicons_file_vue.js | 649 ++++++++++++++++++++ uni_modules/uni-icons/package.json | 89 +++ uni_modules/uni-icons/readme.md | 8 + uni_modules/uni-scss/changelog.md | 8 + uni_modules/uni-scss/index.scss | 1 + uni_modules/uni-scss/package.json | 82 +++ uni_modules/uni-scss/readme.md | 4 + uni_modules/uni-scss/styles/index.scss | 7 + uni_modules/uni-scss/styles/setting/_border.scss | 3 + uni_modules/uni-scss/styles/setting/_color.scss | 66 ++ uni_modules/uni-scss/styles/setting/_radius.scss | 55 ++ uni_modules/uni-scss/styles/setting/_space.scss | 56 ++ uni_modules/uni-scss/styles/setting/_styles.scss | 167 ++++++ uni_modules/uni-scss/styles/setting/_text.scss | 24 + .../uni-scss/styles/setting/_variables.scss | 146 +++++ uni_modules/uni-scss/styles/tools/functions.scss | 19 + uni_modules/uni-scss/theme.scss | 31 + uni_modules/uni-scss/variables.scss | 62 ++ uni_modules/vrapile-im/changelog.md | 40 ++ .../components/vrapile-im/vrapile-im.vue | 5 + uni_modules/vrapile-im/package.json | 86 +++ uni_modules/vrapile-im/pages/chat/chatFriend.vue | 335 +++++++++++ uni_modules/vrapile-im/pages/home/chatHome.vue | 184 ++++++ uni_modules/vrapile-im/pages_init.json | 20 + uni_modules/vrapile-im/readme.md | 105 ++++ uni_modules/vrapile-im/static/image/emoji.png | Bin 0 -> 9617 bytes uni_modules/vrapile-im/static/image/message.png | Bin 0 -> 5545 bytes uni_modules/vrapile-im/static/image/more.png | Bin 0 -> 8428 bytes uni_modules/vrapile-im/static/image/voice.png | Bin 0 -> 9685 bytes uni_modules/vrapile-im/static/image/yy.png | Bin 0 -> 7318 bytes .../static/style/nine-chat-friend-001.scss | 165 +++++ .../static/style/nine-chat-home-001.scss | 112 ++++ uni_modules/vrapile-im/store/getters.js | 11 + uni_modules/vrapile-im/store/index.js | 16 + uni_modules/vrapile-im/store/modules/chat.js | 138 +++++ uni_modules/vrapile-im/store/modules/socket.js | 116 ++++ uni_modules/vrapile-im/utils/cache.js | 26 + uni_modules/vrapile-im/utils/constant.js | 6 + uni_modules/vrapile-im/utils/errorCode.js | 6 + uni_modules/vrapile-im/utils/nineTool.js | 348 +++++++++++ uni_modules/vrapile-im/utils/storage.js | 33 + uni_modules/vrapile-im/utils/tiosocket.js | 181 ++++++ utils/cache.js | 26 + utils/constant.js | 8 + utils/errorCode.js | 6 + utils/frameTool.js | 15 + utils/nineTool.js | 348 +++++++++++ utils/nodeId.js | 13 + utils/queryByDiy.js | 17 + utils/request.js | 106 ++++ utils/requestTool.js | 54 ++ utils/storage.js | 32 + utils/token.js | 13 + 108 files changed, 8124 insertions(+) create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .gitignore create mode 100644 App.vue create mode 100644 api/chat.js create mode 100644 api/login.js create mode 100644 index.html create mode 100644 main.js create mode 100644 manifest.json create mode 100644 pages.json create mode 100644 pages/home/user.vue create mode 100644 pages/setting/about.vue create mode 100644 pages/setting/contact.vue create mode 100644 pages/setting/setting.vue create mode 100644 pages/user/login.vue create mode 100644 pages/user/register.vue create mode 100644 permission.js create mode 100644 plugins/modal.js create mode 100644 plugins/pluginTool.js create mode 100644 plugins/tab.js create mode 100644 static/image/app.png create mode 100644 static/image/favicon.ico create mode 100644 static/image/ninecloud-white.png create mode 100644 static/image/tabbar/chat-fill.png create mode 100644 static/image/tabbar/chat.png create mode 100644 static/image/tabbar/home-fill.png create mode 100644 static/image/tabbar/home.png create mode 100644 static/image/tabbar/type-fill.png create mode 100644 static/image/tabbar/type.png create mode 100644 static/image/tabbar/user-fill.png create mode 100644 static/image/tabbar/user.png create mode 100644 static/image/user/cc.png create mode 100644 static/image/user/login-password-blue.png create mode 100644 static/image/user/login-phone-blue.png create mode 100644 static/image/user/message.png create mode 100644 static/image/user/uset.png create mode 100644 static/image/user/yy.png create mode 100644 static/style/nine-base-001.scss create mode 100644 static/style/nine-base-002.scss create mode 100644 static/style/nine-btn-001.scss create mode 100644 static/style/nine-chat-friend-001.scss create mode 100644 static/style/nine-chat-home-001.scss create mode 100644 static/style/nine-image-001.scss create mode 100644 static/style/nine-list-001.scss create mode 100644 static/style/nine-nav-001.scss create mode 100644 store/getters.js create mode 100644 store/index.js create mode 100644 store/modules/user.js create mode 100644 uni.scss create mode 100644 uni_modules/uni-icons/changelog.md create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.uvue create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.vue create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.css create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.ttf create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons_file.ts create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js create mode 100644 uni_modules/uni-icons/package.json create mode 100644 uni_modules/uni-icons/readme.md create mode 100644 uni_modules/uni-scss/changelog.md create mode 100644 uni_modules/uni-scss/index.scss create mode 100644 uni_modules/uni-scss/package.json create mode 100644 uni_modules/uni-scss/readme.md create mode 100644 uni_modules/uni-scss/styles/index.scss create mode 100644 uni_modules/uni-scss/styles/setting/_border.scss create mode 100644 uni_modules/uni-scss/styles/setting/_color.scss create mode 100644 uni_modules/uni-scss/styles/setting/_radius.scss create mode 100644 uni_modules/uni-scss/styles/setting/_space.scss create mode 100644 uni_modules/uni-scss/styles/setting/_styles.scss create mode 100644 uni_modules/uni-scss/styles/setting/_text.scss create mode 100644 uni_modules/uni-scss/styles/setting/_variables.scss create mode 100644 uni_modules/uni-scss/styles/tools/functions.scss create mode 100644 uni_modules/uni-scss/theme.scss create mode 100644 uni_modules/uni-scss/variables.scss create mode 100644 uni_modules/vrapile-im/changelog.md create mode 100644 uni_modules/vrapile-im/components/vrapile-im/vrapile-im.vue create mode 100644 uni_modules/vrapile-im/package.json create mode 100644 uni_modules/vrapile-im/pages/chat/chatFriend.vue create mode 100644 uni_modules/vrapile-im/pages/home/chatHome.vue create mode 100644 uni_modules/vrapile-im/pages_init.json create mode 100644 uni_modules/vrapile-im/readme.md create mode 100644 uni_modules/vrapile-im/static/image/emoji.png create mode 100644 uni_modules/vrapile-im/static/image/message.png create mode 100644 uni_modules/vrapile-im/static/image/more.png create mode 100644 uni_modules/vrapile-im/static/image/voice.png create mode 100644 uni_modules/vrapile-im/static/image/yy.png create mode 100644 uni_modules/vrapile-im/static/style/nine-chat-friend-001.scss create mode 100644 uni_modules/vrapile-im/static/style/nine-chat-home-001.scss create mode 100644 uni_modules/vrapile-im/store/getters.js create mode 100644 uni_modules/vrapile-im/store/index.js create mode 100644 uni_modules/vrapile-im/store/modules/chat.js create mode 100644 uni_modules/vrapile-im/store/modules/socket.js create mode 100644 uni_modules/vrapile-im/utils/cache.js create mode 100644 uni_modules/vrapile-im/utils/constant.js create mode 100644 uni_modules/vrapile-im/utils/errorCode.js create mode 100644 uni_modules/vrapile-im/utils/nineTool.js create mode 100644 uni_modules/vrapile-im/utils/storage.js create mode 100644 uni_modules/vrapile-im/utils/tiosocket.js create mode 100644 utils/cache.js create mode 100644 utils/constant.js create mode 100644 utils/errorCode.js create mode 100644 utils/frameTool.js create mode 100644 utils/nineTool.js create mode 100644 utils/nodeId.js create mode 100644 utils/queryByDiy.js create mode 100644 utils/request.js create mode 100644 utils/requestTool.js create mode 100644 utils/storage.js create mode 100644 utils/token.js diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..470abb6 --- /dev/null +++ b/.env.development @@ -0,0 +1,16 @@ +# 页面标题 +VITE_APP_TITLE = IM示例工程 + +# 开发环境配置 +VITE_APP_ENV = 'development' + +# 基础地址 +VITE_APP_BASE_URL = 'http://localhost:18081' +# VITE_APP_BASE_URL = 'https://api.ninecloud.top/msm' + +# socket地址 +# VITE_APP_SOCKET_URL = 'ws://localhost:9326' +VITE_APP_SOCKET_URL = 'wss://api.ninecloud.top/socket/' + +# 网站地址 +VITE_APP_WEB_URL = 'https://www.ninecloud.top/udemo/im/index.html' diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..36b8984 --- /dev/null +++ b/.env.production @@ -0,0 +1,14 @@ +# 页面标题 +VITE_APP_TITLE = 九云商城 + +# 生产环境配置 +VITE_APP_ENV = 'production' + +# 基础地址 +VITE_APP_BASE_URL = 'https://api.ninecloud.top/msm' + +# socket地址 +VITE_APP_SOCKET_URL = 'wss://api.ninecloud.top/socket/' + +# 网站地址 +VITE_APP_WEB_URL = 'https://www.ninecloud.top/udemo/im/index.html' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..89bc518 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/.hbuilderx +/unpackage \ No newline at end of file diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..9740e25 --- /dev/null +++ b/App.vue @@ -0,0 +1,104 @@ + + + diff --git a/api/chat.js b/api/chat.js new file mode 100644 index 0000000..5320148 --- /dev/null +++ b/api/chat.js @@ -0,0 +1,35 @@ +import request from "@/utils/request" + +// 查询用户所有好友 +export function getUserAllFriend() { + return request({ + url: "/im/friend/getUserAllFriend", + method: "get" + }) +} + +// 查询用户所有群 +export function getUserAllGroup() { + return request({ + url: "/im/group/getUserAllGroup", + method: "get" + }) +} + +// 查询组用户 +export function getGroupUser(id) { + return request({ + url: "/im/groupUser/getGroupUser/"+ id + "?r=" + Math.random(), + method: "get" + }) +} + + +// 通过唯一会话key获取消息 +export function getMessageByChatKey(data) { + return request({ + url: "/im/message/getMessageByChatKey", + method: "post", + data: data + }) +} diff --git a/api/login.js b/api/login.js new file mode 100644 index 0000000..64440cd --- /dev/null +++ b/api/login.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 登录方法 +export function login(type, username, password, smsCode, registerFlag, code, uuid) { + const data = { + type, + username, + password, + smsCode, + registerFlag, + code, + uuid + } + return request({ + url: '/appLogin', + headers: { + isToken: false + }, + method: 'post', + data: data + }) +} + +// 注册方法 +export function register(data) { + return request({ + url: '/register', + headers: { + isToken: false + }, + method: 'post', + data: data + }) +} + +// 获取用户详细信息 +export function getInfo() { + return request({ + url: '/getInfo', + method: 'get' + }) +} + +// 退出方法 +export function logout() { + return request({ + url: '/logout', + method: 'post' + }) +} + +// 获取验证码 +export function getCodeImg() { + return request({ + url: '/captchaImage', + headers: { + isToken: false + }, + method: 'get', + timeout: 20000 + }) +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..912b511 --- /dev/null +++ b/index.html @@ -0,0 +1,21 @@ + + +
+ + +2BZ{Fwjx@FOf?
z?A*~{xfE81#_G@*O3u>bX1RE$@pmtM54XMkvuxWv#n21mIt9nx=y}JXe&E=e=lDQb
zE23#0dtn@)tXtVAz_@1p!fPja`b%F;ZiJ4>jb5U^Q=%;?Le!w+DoVEK!)lW`Ikmbk
z+Qeez4Yp4ueB!;g(Mf)Q=~<%+BkuWX$y}20tf$Q3rZd{}4R$X!SjYkoyzdU)`rLn{
zc%Z>E{`iNv7s0RlSPXT|dld$iG4euL8*;5xm1@+{p|(>Y)RNN}CqMF%*D!{osmjxu
z;`U66TI)%55u~Qzn6kFH>f}rk6oHjf$`wyOz== HfEx`#<$|a
z?X;?*R&u;sXz-DYuzS>VxoZlq85
zAjt4kQ-4i>HY)n&<$F*j%Dti>j|^9@aK1(yq3}Fji@14k98b*}a3*xfVr=2&k>EL%
zi#Dw!#{ef-m9k;&2YwlTzLxZOE9+DRnWG-cB27v^&Yq!;{1=-JC6f}P{yxU|V}~BB
z-I9sKy&@}4@+fy!R#X;%r=rG0{66bZ6uYo^1KAGID&xxgBvm8;Csy*gQp62!u&4@s
z^)5uDq26SImN0a6dYFT>n*8`-0Ha&tY}!9|XpS
zD>6I2JcW$rpq4x$V3Ag+W?mDjv)o)Wo+SOTuhloLk8`?3^hbwy;nldwCTZ~I?)ZG;
z)V!kUuE`8L1x_B#_LrfaWMMXxL*;XhU}SW~m&OtGkKCXLcDFbZ3k<&n*hjAEsj}3u
zkjUb1?>zF|G!U5@GVba6b{&zmw5%QryY%8~)4h%MYUyIAe5|{Gtb`K3C|0~@T0}Jc
zmYDskuAKIG>C)