diff --git a/src/components/base/Avatar.vue b/src/components/base/Avatar.vue index 8a23450..6bb32d0 100644 --- a/src/components/base/Avatar.vue +++ b/src/components/base/Avatar.vue @@ -23,9 +23,8 @@ defineProps({ </script> <template> - <n-avatar v-if="src.length" round :src="src" :size="size" :fallback-src="defAvatar" /> - - <n-avatar + <tm-image :width="80" :height="80" :round="12" :src="src"></tm-image> + <!-- <n-avatar v-else round :style="{ @@ -36,6 +35,6 @@ defineProps({ :size="size" > {{ username && username.substring(0, 1) }} - </n-avatar> + </n-avatar> --> </template> <style lang="less" scoped></style> diff --git a/src/components/talk/message/TextMessage.vue b/src/components/talk/message/TextMessage.vue index 023241b..e4a4ce4 100644 --- a/src/components/talk/message/TextMessage.vue +++ b/src/components/talk/message/TextMessage.vue @@ -41,19 +41,19 @@ textContent = textReplaceEmoji(textContent) .im-message-text { min-width: 30px; min-height: 30px; - padding: 3px; - color: var(--im-message-left-text-color); - background: var(--im-message-left-bg-color); + padding: 22rpx 30rpx; + color: #1A1A1A; + background: #FFFFFF; border-radius: 0px 10px 10px 10px; &.right { - background-color: var(--im-message-right-bg-color); - color: var(--im-message-right-text-color); + background-color: #46299D; + color: #FFFFFF; border-radius: 10px 0px 10px 10px; } &.maxwidth { - max-width: 70%; + max-width: 486rpx; } &.radius-reset { @@ -65,14 +65,15 @@ textContent = textReplaceEmoji(textContent) overflow: hidden; word-break: break-word; word-wrap: break-word; - font-size: 14px; - padding: 3px 5px; + font-size: 32rpx; font-family: 'PingFang SC', 'Microsoft YaHei', 'Alibaba PuHuiTi 2.0 45'; - line-height: 25px; + line-height: 44rpx; :deep(.emoji) { vertical-align: text-bottom; - margin: 0 5px; + margin: 0 10rpx; + width: 44rpx; + height: 44rpx; } :deep(a) { diff --git a/src/pages/dialog/index.vue b/src/pages/dialog/index.vue index cc39684..d473edc 100644 --- a/src/pages/dialog/index.vue +++ b/src/pages/dialog/index.vue @@ -1,58 +1,102 @@ <template> <div class="outer-layer"> <div> - <tm-navbar :hideBack="false" hideHome title="" :leftWidth="220" > - <div class="flex flex-col items-center justify-center" > - <div class="text-[34rpx] font-bold" >{{ talkParams.username }}</div> - <div v-if="true" class="text-[24rpx] text-[#999999]" >公司群</div> + <tm-navbar :hideBack="false" hideHome title="" :leftWidth="220"> + <div class="flex flex-col items-center justify-center"> + <div class="text-[34rpx] font-bold">{{ talkParams.username }}</div> + <div v-if="true" class="text-[24rpx] text-[#999999]">公司群</div> </div> <template v-slot:right> <div class="mr-[36rpx]"> <tm-icon color="rgb(51, 51, 51)" :font-size="36" name="tmicon-gengduo"></tm-icon> </div> - </template> + </template> </tm-navbar> </div> <div class="root"> - <div class="dialogBox" > + <div class="dialogBox"> <!-- <div v-if="loadConfig.status == 0" class="h-[240rpx] flex items-center justify-center flex-col" > <wd-loading /> <div class="text-[#959598] mt-[20rpx] text-[28rpx]" > 正在加载中... </div> </div> <div v-else-if="loadConfig.status == 1" @click="onRefreshLoad" >查看更多消息 ...</div> <span v-else class="no-more"> 没有更多消息了 </span> --> - <div - class="message-item" - v-for="(item, index) in records" - :key="item.msg_id" - :id="item.msg_id" - > + <!-- 数据加载状态栏 --> + <div class="load-toolbar pointer"> + <span v-if="loadConfig.status == 0"> 正在加载数据中 ... </span> + <span v-else-if="loadConfig.status == 1" @click="onRefreshLoad"> 查看更多消息 ... </span> + <span v-else class="no-more"> 没有更多消息了 </span> + </div> + <div class="message-item" v-for="(item, index) in records" :key="item.msg_id" :id="item.msg_id"> <!-- 系统消息 --> <div v-if="item.msg_type >= 1000" class="message-box"> - <component - :is="MessageComponents[item.msg_type] || 'unknown-message'" - :extra="item.extra" - :data="item" - /> + <component :is="MessageComponents[item.msg_type] || 'unknown-message'" :extra="item.extra" :data="item" /> </div> <!-- 撤回消息 --> - <div v-else-if="item.is_revoke == 1" class="message-box"> - <revoke-message - :login_uid="uid" - :user_id="item.user_id" - :nickname="item.nickname" - :talk_type="item.talk_type" - :datetime="item.created_at" - /> - </div> + <div v-else-if="item.is_revoke == 1" class="message-box"> + <revoke-message :login_uid="uid" :user_id="item.user_id" :nickname="item.nickname" + :talk_type="item.talk_type" :datetime="item.created_at" /> + </div> + + <div v-else class="message-box record-box" :class="{ + 'direction-rt': item.float == 'right', + 'multi-select': dialogueStore.isOpenMultiSelect, + 'multi-select-check': item.isCheck + }"> + <!-- 多选按钮 --> + <aside v-if="dialogueStore.isOpenMultiSelect" class="checkbox-column"> + <n-checkbox size="small" :checked="item.isCheck" @update:checked="item.isCheck = !item.isCheck" /> + </aside> + + <!-- 头像信息 --> + <aside class="avatar-column"> + <im-avatar class="pointer" :src="item.avatar" :size="80" :username="item.nickname" + @click="showUserInfoModal(item.user_id)" /> + </aside> + + <!-- 主体信息 --> + <main class="main-column"> + <div class="talk-title"> + <span class="nickname pointer" v-show="talk_type == 2 && item.float == 'left'" + @click="onClickNickname(item)"> + <span class="at">@</span>{{ item.nickname }} + </span> + <span>{{ parseTime(item.created_at, '{m}/{d} {h}:{i}') }}</span> + </div> + + <div class="talk-content" :class="{ pointer: dialogueStore.isOpenMultiSelect }" @click="onRowClick(item)"> + <component :is="MessageComponents[item.msg_type] || 'unknown-message'" :extra="item.extra" :data="item" + :max-width="true" :source="'panel'" @contextmenu.prevent="onContextMenu($event, item)" /> + + <div class="talk-tools"> + <template v-if="talk_type == 1 && item.float == 'right'"> + <loading theme="outline" size="19" fill="#000" :strokeWidth="1" class="icon-rotate" + v-show="item.send_status == 1" /> + + <span v-show="item.send_status == 1"> 正在发送... </span> + <!-- <span v-show="item.send_status != 1"> 已送达 </span> --> + </template> + + </div> + </div> + + <div v-if="item.extra.reply" class="talk-reply pointer" @click="onJumpMessage(item.extra?.reply?.msg_id)"> + <n-icon :component="ToTop" size="14" class="icon-top" /> + <span class="ellipsis"> + 回复 {{ item.extra?.reply?.nickname }}: + {{ item.extra?.reply?.content }} + </span> + </div> + </main> + </div> </div> </div> </div> - <div class="footBox" > - <div class="mt-[16rpx] ml-[32rpx] mr-[32rpx] flex items-center justify-between" > - <div class="w-[534rpx]" > - <tm-input :height="72" placeholder="" ></tm-input> + <div class="footBox"> + <div class="mt-[16rpx] ml-[32rpx] mr-[32rpx] flex items-center justify-between"> + <div class="w-[534rpx]"> + <tm-input :height="72" placeholder=""></tm-input> </div> <tm-image :width="52" :height="52" :round="12" :src="smile"></tm-image> <tm-image :width="52" :height="52" :round="12" :src="addCircleGray"></tm-image> @@ -61,12 +105,13 @@ </div> </template> <script setup> -import { ref,reactive,watch,computed,onMounted } from 'vue'; +import { ref, reactive, watch, computed, onMounted } from 'vue'; import { useChatList } from "@/store/chatList/index.js"; -import {useAuth} from "@/store/auth"; +import { useAuth } from "@/store/auth"; import { useUserStore, useDialogueStore, useUploadsStore } from '@/store' import addCircleGray from "@/static/image/chatList/addCircleGray.png"; import { MessageComponents, ForwardableMessageType } from '@/constant/message' +import { formatTime, parseTime } from '@/utils/datetime' import smile from "@/static/image/chatList/smile@2x.png"; import { useInject, useTalkRecord } from '@/hooks' @@ -88,7 +133,7 @@ const { loadConfig, records, onLoad, onRefreshLoad, onJumpMessage } = useTalkRec watch(() => records, (newValue, oldValue) => { console.log(newValue); -},{deep:true,immediate:true}) +}, { deep: true, immediate: true }) watch(() => talkParams.uid, (newValue, oldValue) => { let objT = { @@ -98,7 +143,7 @@ watch(() => talkParams.uid, (newValue, oldValue) => { index_name: talkParams.index_name } onLoad({ ...objT, limit: 30 }) -},{immediate:true}) +}, { immediate: true }) onMounted(() => { let objT = { @@ -111,7 +156,7 @@ onMounted(() => { }) </script> -<style scoped lang="scss"> +<style scoped lang="less"> .outer-layer { overflow-y: auto; flex: 1; @@ -120,24 +165,231 @@ onMounted(() => { display: flex; flex-direction: column; } + .root { flex: 1; padding: 20rpx 32rpx; } + .searchRoot { background-color: #fff; padding: 22rpx 18rpx; } + .contentRoot { margin-top: 20rpx; background-color: #fff; } + .footBox { height: 162rpx; background-color: #fff; } -.dialogBox{ + +.dialogBox { height: 100%; } +.load-toolbar { + height: 38px; + color: #409eff; + text-align: center; + line-height: 38px; + font-size: 13px; + + .no-more { + color: #b9b3b3; + } +} + +.message-item { + &.border { + border-radius: 10px; + border: 1px solid var(--im-primary-color); + } +} + +.message-box { + width: 100%; + min-height: 30px; + margin-bottom: 5px; +} + +.datetime { + height: 30px; + line-height: 30px; + color: #ccc9c9; + font-size: 12px; + text-align: center; + margin: 5px 0; +} + +.record-box { + display: flex; + flex-direction: row; + align-items: flex-start; + .checkbox-column { + display: flex; + justify-content: center; + width: 35px; + order: 1; + user-select: none; + padding-top: 12px; + } + + .avatar-column { + width: 80rpx; + display: flex; + align-items: center; + order: 2; + user-select: none; + margin-top: 16rpx; + flex-direction: column; + } + + .main-column { + flex: 1 auto; + order: 3; + position: relative; + box-sizing: border-box; + padding: 16rpx 20rpx 14rpx 20rpx; + overflow: hidden; + min-height: 30px; + + .talk-title { + display: flex; + align-items: center; + margin-bottom: 6rpx; + font-size: 24rpx; + user-select: none; + color: #BABABA; + opacity: 1; + + &.show { + opacity: 1; + } + + .nickname { + color: var(--im-text-color); + margin-right: 5px; + + .at { + display: none; + } + + &:hover { + color: var(--im-primary-color); + + .at { + display: inline-block; + } + } + } + + span { + transform: scale(0.88); + transform-origin: left center; + } + } + + .talk-content { + display: flex; + justify-content: flex-start; + align-items: flex-end; + + box-sizing: border-box; + width: 100%; + + .talk-tools { + display: flex; + margin: 0 8px; + color: #a79e9e; + font-size: 12px; + user-select: none; + align-items: center; + justify-content: space-around; + + .more-tools { + visibility: hidden; + margin-left: 5px; + } + } + } + + .talk-reply { + display: flex; + align-items: flex-start; + align-items: center; + width: fit-content; + padding: 4px; + margin-top: 3px; + margin-right: auto; + font-size: 12px; + color: #8f8f8f; + word-break: break-all; + background-color: var(--im-message-left-bg-color); + border-radius: 5px; + max-width: 300px; + overflow: hidden; + user-select: none; + + .icon-top { + margin-right: 3px; + } + + .ellipsis { + display: -webkit-inline-box; + text-overflow: ellipsis; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + } + } + + &:hover { + .talk-title { + opacity: 1; + } + + .more-tools { + visibility: visible !important; + } + } + } + + &.direction-rt { + .avatar-column { + order: 3; + } + + .main-column { + order: 2; + + .talk-title { + justify-content: flex-end; + + span { + transform-origin: right center; + } + } + + .talk-content { + flex-direction: row-reverse; + } + + .talk-reply { + margin-right: 0; + margin-left: auto; + } + } + } + + &.multi-select { + border-radius: 5px; + + &:hover, + &.multi-select-check { + background-color: var(--im-active-bg-color); + } + } +} </style> diff --git a/src/static/image/emoji/001_微笑.png b/src/static/image/emoji/001_微笑.png new file mode 100644 index 0000000..029528d Binary files /dev/null and b/src/static/image/emoji/001_微笑.png differ diff --git a/src/static/image/emoji/002_撇嘴.png b/src/static/image/emoji/002_撇嘴.png new file mode 100644 index 0000000..aa94a43 Binary files /dev/null and b/src/static/image/emoji/002_撇嘴.png differ diff --git a/src/static/image/emoji/003_色.png b/src/static/image/emoji/003_色.png new file mode 100644 index 0000000..c6ed319 Binary files /dev/null and b/src/static/image/emoji/003_色.png differ diff --git a/src/static/image/emoji/004_发呆.png b/src/static/image/emoji/004_发呆.png new file mode 100644 index 0000000..d0c50d7 Binary files /dev/null and b/src/static/image/emoji/004_发呆.png differ diff --git a/src/static/image/emoji/005_得意.png b/src/static/image/emoji/005_得意.png new file mode 100644 index 0000000..277ebac Binary files /dev/null and b/src/static/image/emoji/005_得意.png differ diff --git a/src/static/image/emoji/006_流泪.png b/src/static/image/emoji/006_流泪.png new file mode 100644 index 0000000..4ba8813 Binary files /dev/null and b/src/static/image/emoji/006_流泪.png differ diff --git a/src/static/image/emoji/007_害羞.png b/src/static/image/emoji/007_害羞.png new file mode 100644 index 0000000..a7e93f5 Binary files /dev/null and b/src/static/image/emoji/007_害羞.png differ diff --git a/src/static/image/emoji/008_闭嘴.png b/src/static/image/emoji/008_闭嘴.png new file mode 100644 index 0000000..803c38e Binary files /dev/null and b/src/static/image/emoji/008_闭嘴.png differ diff --git a/src/static/image/emoji/009_睡.png b/src/static/image/emoji/009_睡.png new file mode 100644 index 0000000..131010e Binary files /dev/null and b/src/static/image/emoji/009_睡.png differ diff --git a/src/static/image/emoji/010_大哭.png b/src/static/image/emoji/010_大哭.png new file mode 100644 index 0000000..796bf70 Binary files /dev/null and b/src/static/image/emoji/010_大哭.png differ diff --git a/src/static/image/emoji/011_尴尬.png b/src/static/image/emoji/011_尴尬.png new file mode 100644 index 0000000..7014a5b Binary files /dev/null and b/src/static/image/emoji/011_尴尬.png differ diff --git a/src/static/image/emoji/012_发怒.png b/src/static/image/emoji/012_发怒.png new file mode 100644 index 0000000..e6345f8 Binary files /dev/null and b/src/static/image/emoji/012_发怒.png differ diff --git a/src/static/image/emoji/013_调皮.png b/src/static/image/emoji/013_调皮.png new file mode 100644 index 0000000..6d0513b Binary files /dev/null and b/src/static/image/emoji/013_调皮.png differ diff --git a/src/static/image/emoji/014_呲牙.png b/src/static/image/emoji/014_呲牙.png new file mode 100644 index 0000000..5017b0b Binary files /dev/null and b/src/static/image/emoji/014_呲牙.png differ diff --git a/src/static/image/emoji/015_惊讶.png b/src/static/image/emoji/015_惊讶.png new file mode 100644 index 0000000..79b64f8 Binary files /dev/null and b/src/static/image/emoji/015_惊讶.png differ diff --git a/src/static/image/emoji/016_难过.png b/src/static/image/emoji/016_难过.png new file mode 100644 index 0000000..f859bc7 Binary files /dev/null and b/src/static/image/emoji/016_难过.png differ diff --git a/src/static/image/emoji/017_囧.png b/src/static/image/emoji/017_囧.png new file mode 100644 index 0000000..79fa422 Binary files /dev/null and b/src/static/image/emoji/017_囧.png differ diff --git a/src/static/image/emoji/018_抓狂.png b/src/static/image/emoji/018_抓狂.png new file mode 100644 index 0000000..251d857 Binary files /dev/null and b/src/static/image/emoji/018_抓狂.png differ diff --git a/src/static/image/emoji/019_吐.png b/src/static/image/emoji/019_吐.png new file mode 100644 index 0000000..aa396d3 Binary files /dev/null and b/src/static/image/emoji/019_吐.png differ diff --git a/src/static/image/emoji/020_偷笑.png b/src/static/image/emoji/020_偷笑.png new file mode 100644 index 0000000..91a9033 Binary files /dev/null and b/src/static/image/emoji/020_偷笑.png differ diff --git a/src/static/image/emoji/021_愉快.png b/src/static/image/emoji/021_愉快.png new file mode 100644 index 0000000..2e07fbc Binary files /dev/null and b/src/static/image/emoji/021_愉快.png differ diff --git a/src/static/image/emoji/022_白眼.png b/src/static/image/emoji/022_白眼.png new file mode 100644 index 0000000..b4cc86d Binary files /dev/null and b/src/static/image/emoji/022_白眼.png differ diff --git a/src/static/image/emoji/023_傲慢.png b/src/static/image/emoji/023_傲慢.png new file mode 100644 index 0000000..23e6456 Binary files /dev/null and b/src/static/image/emoji/023_傲慢.png differ diff --git a/src/static/image/emoji/024_困.png b/src/static/image/emoji/024_困.png new file mode 100644 index 0000000..47b19a4 Binary files /dev/null and b/src/static/image/emoji/024_困.png differ diff --git a/src/static/image/emoji/025_惊恐.png b/src/static/image/emoji/025_惊恐.png new file mode 100644 index 0000000..fc3afc8 Binary files /dev/null and b/src/static/image/emoji/025_惊恐.png differ diff --git a/src/static/image/emoji/026_憨笑.png b/src/static/image/emoji/026_憨笑.png new file mode 100644 index 0000000..77d1978 Binary files /dev/null and b/src/static/image/emoji/026_憨笑.png differ diff --git a/src/static/image/emoji/027_悠闲.png b/src/static/image/emoji/027_悠闲.png new file mode 100644 index 0000000..6ee78f9 Binary files /dev/null and b/src/static/image/emoji/027_悠闲.png differ diff --git a/src/static/image/emoji/028_咒骂.png b/src/static/image/emoji/028_咒骂.png new file mode 100644 index 0000000..367a2f4 Binary files /dev/null and b/src/static/image/emoji/028_咒骂.png differ diff --git a/src/static/image/emoji/029_疑问.png b/src/static/image/emoji/029_疑问.png new file mode 100644 index 0000000..d3070d3 Binary files /dev/null and b/src/static/image/emoji/029_疑问.png differ diff --git a/src/static/image/emoji/030_嘘.png b/src/static/image/emoji/030_嘘.png new file mode 100644 index 0000000..adc2ce6 Binary files /dev/null and b/src/static/image/emoji/030_嘘.png differ diff --git a/src/static/image/emoji/031_晕.png b/src/static/image/emoji/031_晕.png new file mode 100644 index 0000000..beb03a8 Binary files /dev/null and b/src/static/image/emoji/031_晕.png differ diff --git a/src/static/image/emoji/032_衰.png b/src/static/image/emoji/032_衰.png new file mode 100644 index 0000000..08d967a Binary files /dev/null and b/src/static/image/emoji/032_衰.png differ diff --git a/src/static/image/emoji/033_骷髅.png b/src/static/image/emoji/033_骷髅.png new file mode 100644 index 0000000..cd665f8 Binary files /dev/null and b/src/static/image/emoji/033_骷髅.png differ diff --git a/src/static/image/emoji/034_敲打.png b/src/static/image/emoji/034_敲打.png new file mode 100644 index 0000000..5a235e5 Binary files /dev/null and b/src/static/image/emoji/034_敲打.png differ diff --git a/src/static/image/emoji/035_再见.png b/src/static/image/emoji/035_再见.png new file mode 100644 index 0000000..4027e2b Binary files /dev/null and b/src/static/image/emoji/035_再见.png differ diff --git a/src/static/image/emoji/036_擦汗.png b/src/static/image/emoji/036_擦汗.png new file mode 100644 index 0000000..0d36510 Binary files /dev/null and b/src/static/image/emoji/036_擦汗.png differ diff --git a/src/static/image/emoji/037_抠鼻.png b/src/static/image/emoji/037_抠鼻.png new file mode 100644 index 0000000..721be54 Binary files /dev/null and b/src/static/image/emoji/037_抠鼻.png differ diff --git a/src/static/image/emoji/038_鼓掌.png b/src/static/image/emoji/038_鼓掌.png new file mode 100644 index 0000000..299571f Binary files /dev/null and b/src/static/image/emoji/038_鼓掌.png differ diff --git a/src/static/image/emoji/039_坏笑.png b/src/static/image/emoji/039_坏笑.png new file mode 100644 index 0000000..0dcd3df Binary files /dev/null and b/src/static/image/emoji/039_坏笑.png differ diff --git a/src/static/image/emoji/040_右哼哼.png b/src/static/image/emoji/040_右哼哼.png new file mode 100644 index 0000000..3d7ed2f Binary files /dev/null and b/src/static/image/emoji/040_右哼哼.png differ diff --git a/src/static/image/emoji/041_鄙视.png b/src/static/image/emoji/041_鄙视.png new file mode 100644 index 0000000..8c5b524 Binary files /dev/null and b/src/static/image/emoji/041_鄙视.png differ diff --git a/src/static/image/emoji/042_委屈.png b/src/static/image/emoji/042_委屈.png new file mode 100644 index 0000000..3a53be3 Binary files /dev/null and b/src/static/image/emoji/042_委屈.png differ diff --git a/src/static/image/emoji/043_快哭了.png b/src/static/image/emoji/043_快哭了.png new file mode 100644 index 0000000..18cc67d Binary files /dev/null and b/src/static/image/emoji/043_快哭了.png differ diff --git a/src/static/image/emoji/044_阴险.png b/src/static/image/emoji/044_阴险.png new file mode 100644 index 0000000..2e9af31 Binary files /dev/null and b/src/static/image/emoji/044_阴险.png differ diff --git a/src/static/image/emoji/045_亲亲.png b/src/static/image/emoji/045_亲亲.png new file mode 100644 index 0000000..7511964 Binary files /dev/null and b/src/static/image/emoji/045_亲亲.png differ diff --git a/src/static/image/emoji/046_可怜.png b/src/static/image/emoji/046_可怜.png new file mode 100644 index 0000000..e754902 Binary files /dev/null and b/src/static/image/emoji/046_可怜.png differ diff --git a/src/static/image/emoji/047_笑脸.png b/src/static/image/emoji/047_笑脸.png new file mode 100644 index 0000000..fd2d9b2 Binary files /dev/null and b/src/static/image/emoji/047_笑脸.png differ diff --git a/src/static/image/emoji/048_生病.png b/src/static/image/emoji/048_生病.png new file mode 100644 index 0000000..ee867ab Binary files /dev/null and b/src/static/image/emoji/048_生病.png differ diff --git a/src/static/image/emoji/049_脸红.png b/src/static/image/emoji/049_脸红.png new file mode 100644 index 0000000..39cb713 Binary files /dev/null and b/src/static/image/emoji/049_脸红.png differ diff --git a/src/static/image/emoji/050_破涕为笑.png b/src/static/image/emoji/050_破涕为笑.png new file mode 100644 index 0000000..8e8cac7 Binary files /dev/null and b/src/static/image/emoji/050_破涕为笑.png differ diff --git a/src/static/image/emoji/051_恐惧.png b/src/static/image/emoji/051_恐惧.png new file mode 100644 index 0000000..fb78a62 Binary files /dev/null and b/src/static/image/emoji/051_恐惧.png differ diff --git a/src/static/image/emoji/052_失望.png b/src/static/image/emoji/052_失望.png new file mode 100644 index 0000000..607bc19 Binary files /dev/null and b/src/static/image/emoji/052_失望.png differ diff --git a/src/static/image/emoji/053_无语.png b/src/static/image/emoji/053_无语.png new file mode 100644 index 0000000..40f7124 Binary files /dev/null and b/src/static/image/emoji/053_无语.png differ diff --git a/src/static/image/emoji/054_嘿哈.png b/src/static/image/emoji/054_嘿哈.png new file mode 100644 index 0000000..ea5a518 Binary files /dev/null and b/src/static/image/emoji/054_嘿哈.png differ diff --git a/src/static/image/emoji/055_捂脸.png b/src/static/image/emoji/055_捂脸.png new file mode 100644 index 0000000..45f475e Binary files /dev/null and b/src/static/image/emoji/055_捂脸.png differ diff --git a/src/static/image/emoji/056_奸笑.png b/src/static/image/emoji/056_奸笑.png new file mode 100644 index 0000000..98ea534 Binary files /dev/null and b/src/static/image/emoji/056_奸笑.png differ diff --git a/src/static/image/emoji/057_机智.png b/src/static/image/emoji/057_机智.png new file mode 100644 index 0000000..fb65d4a Binary files /dev/null and b/src/static/image/emoji/057_机智.png differ diff --git a/src/static/image/emoji/058_皱眉.png b/src/static/image/emoji/058_皱眉.png new file mode 100644 index 0000000..44f0ad2 Binary files /dev/null and b/src/static/image/emoji/058_皱眉.png differ diff --git a/src/static/image/emoji/059_耶.png b/src/static/image/emoji/059_耶.png new file mode 100644 index 0000000..b5a2e76 Binary files /dev/null and b/src/static/image/emoji/059_耶.png differ diff --git a/src/static/image/emoji/060_吃瓜.png b/src/static/image/emoji/060_吃瓜.png new file mode 100644 index 0000000..8728329 Binary files /dev/null and b/src/static/image/emoji/060_吃瓜.png differ diff --git a/src/static/image/emoji/061_加油.png b/src/static/image/emoji/061_加油.png new file mode 100644 index 0000000..0e35e64 Binary files /dev/null and b/src/static/image/emoji/061_加油.png differ diff --git a/src/static/image/emoji/062_汗.png b/src/static/image/emoji/062_汗.png new file mode 100644 index 0000000..0393ed5 Binary files /dev/null and b/src/static/image/emoji/062_汗.png differ diff --git a/src/static/image/emoji/063_天啊.png b/src/static/image/emoji/063_天啊.png new file mode 100644 index 0000000..2c1f285 Binary files /dev/null and b/src/static/image/emoji/063_天啊.png differ diff --git a/src/static/image/emoji/064_Emm.png b/src/static/image/emoji/064_Emm.png new file mode 100644 index 0000000..51c329c Binary files /dev/null and b/src/static/image/emoji/064_Emm.png differ diff --git a/src/static/image/emoji/065_社会社会.png b/src/static/image/emoji/065_社会社会.png new file mode 100644 index 0000000..097fcfe Binary files /dev/null and b/src/static/image/emoji/065_社会社会.png differ diff --git a/src/static/image/emoji/066_旺柴.png b/src/static/image/emoji/066_旺柴.png new file mode 100644 index 0000000..2dc5e2c Binary files /dev/null and b/src/static/image/emoji/066_旺柴.png differ diff --git a/src/static/image/emoji/067_好的.png b/src/static/image/emoji/067_好的.png new file mode 100644 index 0000000..a62c71d Binary files /dev/null and b/src/static/image/emoji/067_好的.png differ diff --git a/src/static/image/emoji/068_打脸.png b/src/static/image/emoji/068_打脸.png new file mode 100644 index 0000000..4103e73 Binary files /dev/null and b/src/static/image/emoji/068_打脸.png differ diff --git a/src/static/image/emoji/069_哇.png b/src/static/image/emoji/069_哇.png new file mode 100644 index 0000000..aaa947f Binary files /dev/null and b/src/static/image/emoji/069_哇.png differ diff --git a/src/static/image/emoji/070_翻白眼.png b/src/static/image/emoji/070_翻白眼.png new file mode 100644 index 0000000..d63e6ca Binary files /dev/null and b/src/static/image/emoji/070_翻白眼.png differ diff --git a/src/static/image/emoji/071_666.png b/src/static/image/emoji/071_666.png new file mode 100644 index 0000000..cb7912c Binary files /dev/null and b/src/static/image/emoji/071_666.png differ diff --git a/src/static/image/emoji/072_让我看看.png b/src/static/image/emoji/072_让我看看.png new file mode 100644 index 0000000..73c5fae Binary files /dev/null and b/src/static/image/emoji/072_让我看看.png differ diff --git a/src/static/image/emoji/073_叹气.png b/src/static/image/emoji/073_叹气.png new file mode 100644 index 0000000..31a5eac Binary files /dev/null and b/src/static/image/emoji/073_叹气.png differ diff --git a/src/static/image/emoji/074_苦涩.png b/src/static/image/emoji/074_苦涩.png new file mode 100644 index 0000000..e0df9e0 Binary files /dev/null and b/src/static/image/emoji/074_苦涩.png differ diff --git a/src/static/image/emoji/075_裂开.png b/src/static/image/emoji/075_裂开.png new file mode 100644 index 0000000..43c7850 Binary files /dev/null and b/src/static/image/emoji/075_裂开.png differ diff --git a/src/static/image/emoji/076_嘴唇.png b/src/static/image/emoji/076_嘴唇.png new file mode 100644 index 0000000..758554e Binary files /dev/null and b/src/static/image/emoji/076_嘴唇.png differ diff --git a/src/static/image/emoji/077_爱心.png b/src/static/image/emoji/077_爱心.png new file mode 100644 index 0000000..69e0c7c Binary files /dev/null and b/src/static/image/emoji/077_爱心.png differ diff --git a/src/static/image/emoji/078_心碎.png b/src/static/image/emoji/078_心碎.png new file mode 100644 index 0000000..993bbc9 Binary files /dev/null and b/src/static/image/emoji/078_心碎.png differ diff --git a/src/static/image/emoji/079_拥抱.png b/src/static/image/emoji/079_拥抱.png new file mode 100644 index 0000000..3498f37 Binary files /dev/null and b/src/static/image/emoji/079_拥抱.png differ diff --git a/src/static/image/emoji/080_强.png b/src/static/image/emoji/080_强.png new file mode 100644 index 0000000..0ffeb3f Binary files /dev/null and b/src/static/image/emoji/080_强.png differ diff --git a/src/static/image/emoji/081_弱.png b/src/static/image/emoji/081_弱.png new file mode 100644 index 0000000..eb97785 Binary files /dev/null and b/src/static/image/emoji/081_弱.png differ diff --git a/src/static/image/emoji/082_握手.png b/src/static/image/emoji/082_握手.png new file mode 100644 index 0000000..3eed15b Binary files /dev/null and b/src/static/image/emoji/082_握手.png differ diff --git a/src/static/image/emoji/083_胜利.png b/src/static/image/emoji/083_胜利.png new file mode 100644 index 0000000..ab9939b Binary files /dev/null and b/src/static/image/emoji/083_胜利.png differ diff --git a/src/static/image/emoji/084_抱拳.png b/src/static/image/emoji/084_抱拳.png new file mode 100644 index 0000000..0bec2c9 Binary files /dev/null and b/src/static/image/emoji/084_抱拳.png differ diff --git a/src/static/image/emoji/085_勾引.png b/src/static/image/emoji/085_勾引.png new file mode 100644 index 0000000..20282a6 Binary files /dev/null and b/src/static/image/emoji/085_勾引.png differ diff --git a/src/static/image/emoji/086_拳头.png b/src/static/image/emoji/086_拳头.png new file mode 100644 index 0000000..0815a53 Binary files /dev/null and b/src/static/image/emoji/086_拳头.png differ diff --git a/src/static/image/emoji/087_OK.png b/src/static/image/emoji/087_OK.png new file mode 100644 index 0000000..b48648c Binary files /dev/null and b/src/static/image/emoji/087_OK.png differ diff --git a/src/static/image/emoji/088_合十.png b/src/static/image/emoji/088_合十.png new file mode 100644 index 0000000..1ab9de0 Binary files /dev/null and b/src/static/image/emoji/088_合十.png differ diff --git a/src/static/image/emoji/089_啤酒.png b/src/static/image/emoji/089_啤酒.png new file mode 100644 index 0000000..bcf95ca Binary files /dev/null and b/src/static/image/emoji/089_啤酒.png differ diff --git a/src/static/image/emoji/090_咖啡.png b/src/static/image/emoji/090_咖啡.png new file mode 100644 index 0000000..6ff8079 Binary files /dev/null and b/src/static/image/emoji/090_咖啡.png differ diff --git a/src/static/image/emoji/091_蛋糕.png b/src/static/image/emoji/091_蛋糕.png new file mode 100644 index 0000000..e9793bd Binary files /dev/null and b/src/static/image/emoji/091_蛋糕.png differ diff --git a/src/static/image/emoji/092_玫瑰.png b/src/static/image/emoji/092_玫瑰.png new file mode 100644 index 0000000..6ad9241 Binary files /dev/null and b/src/static/image/emoji/092_玫瑰.png differ diff --git a/src/static/image/emoji/093_凋谢.png b/src/static/image/emoji/093_凋谢.png new file mode 100644 index 0000000..afb937b Binary files /dev/null and b/src/static/image/emoji/093_凋谢.png differ diff --git a/src/static/image/emoji/094_菜刀.png b/src/static/image/emoji/094_菜刀.png new file mode 100644 index 0000000..979155f Binary files /dev/null and b/src/static/image/emoji/094_菜刀.png differ diff --git a/src/static/image/emoji/095_炸弹.png b/src/static/image/emoji/095_炸弹.png new file mode 100644 index 0000000..5a7a6b7 Binary files /dev/null and b/src/static/image/emoji/095_炸弹.png differ diff --git a/src/static/image/emoji/096_便便.png b/src/static/image/emoji/096_便便.png new file mode 100644 index 0000000..e23f808 Binary files /dev/null and b/src/static/image/emoji/096_便便.png differ diff --git a/src/static/image/emoji/097_月亮.png b/src/static/image/emoji/097_月亮.png new file mode 100644 index 0000000..c44c125 Binary files /dev/null and b/src/static/image/emoji/097_月亮.png differ diff --git a/src/static/image/emoji/098_太阳.png b/src/static/image/emoji/098_太阳.png new file mode 100644 index 0000000..8ed679c Binary files /dev/null and b/src/static/image/emoji/098_太阳.png differ diff --git a/src/static/image/emoji/099_庆祝.png b/src/static/image/emoji/099_庆祝.png new file mode 100644 index 0000000..d83feb0 Binary files /dev/null and b/src/static/image/emoji/099_庆祝.png differ diff --git a/src/static/image/emoji/100_礼物.png b/src/static/image/emoji/100_礼物.png new file mode 100644 index 0000000..a286ac2 Binary files /dev/null and b/src/static/image/emoji/100_礼物.png differ diff --git a/src/static/image/emoji/101_红包.png b/src/static/image/emoji/101_红包.png new file mode 100644 index 0000000..b814d2f Binary files /dev/null and b/src/static/image/emoji/101_红包.png differ diff --git a/src/static/image/emoji/102_發.png b/src/static/image/emoji/102_發.png new file mode 100644 index 0000000..1d2a136 Binary files /dev/null and b/src/static/image/emoji/102_發.png differ diff --git a/src/static/image/emoji/103_福.png b/src/static/image/emoji/103_福.png new file mode 100644 index 0000000..43b282c Binary files /dev/null and b/src/static/image/emoji/103_福.png differ diff --git a/src/static/image/emoji/104_烟花.png b/src/static/image/emoji/104_烟花.png new file mode 100644 index 0000000..b13c1a9 Binary files /dev/null and b/src/static/image/emoji/104_烟花.png differ diff --git a/src/static/image/emoji/105_爆竹.png b/src/static/image/emoji/105_爆竹.png new file mode 100644 index 0000000..4622039 Binary files /dev/null and b/src/static/image/emoji/105_爆竹.png differ diff --git a/src/static/image/emoji/106_猪头.png b/src/static/image/emoji/106_猪头.png new file mode 100644 index 0000000..af15998 Binary files /dev/null and b/src/static/image/emoji/106_猪头.png differ diff --git a/src/static/image/emoji/107_跳跳.png b/src/static/image/emoji/107_跳跳.png new file mode 100644 index 0000000..08788c5 Binary files /dev/null and b/src/static/image/emoji/107_跳跳.png differ diff --git a/src/static/image/emoji/108_发抖.png b/src/static/image/emoji/108_发抖.png new file mode 100644 index 0000000..a356963 Binary files /dev/null and b/src/static/image/emoji/108_发抖.png differ diff --git a/src/static/image/emoji/109_转圈.png b/src/static/image/emoji/109_转圈.png new file mode 100644 index 0000000..a455441 Binary files /dev/null and b/src/static/image/emoji/109_转圈.png differ diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 612ddb1..5f468f8 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -5,7 +5,7 @@ import { ServeGroupApplyUnread } from '@/api/group' // import { delAccessToken } from '@/utils/auth' // import { storage } from '@/utils/storage' -export const useUserStore = defineStore('user', { +export const useUserStore = defineStore('chatUser', { persist: true, state: () => { return { diff --git a/src/utils/emojis.js b/src/utils/emojis.js new file mode 100644 index 0000000..0eabced --- /dev/null +++ b/src/utils/emojis.js @@ -0,0 +1,195 @@ + + + + + + +/** + * 动态表情 + */ +export const emojis = { + '[微笑]': + `<img class='emoji' src='${wx001}'>`, + '[撇嘴]': + `<img class='emoji' src='${pz002}'>`, + '[色]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/2.gif'>", + '[发呆]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/3.gif'>", + '[得意]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/4.gif'>", + '[流泪]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/5.gif'>", + '[害羞]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/6.gif'>", + '[闭嘴]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/7.gif'>", + '[睡]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/8.gif'>", + '[大哭]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/9.gif'>", + '[尴尬]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/10.gif'>", + '[发怒]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/11.gif'>", + '[调皮]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/12.gif'>", + '[呲牙]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/13.gif'>", + '[惊讶]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/14.gif'>", + '[难过]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/15.gif'>", + '[酷]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/16.gif'>", + '[冷汗]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/17.gif'>", + '[抓狂]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/18.gif'>", + '[吐]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/19.gif'>", + '[偷笑]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/20.gif'>", + '[可爱]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/21.gif'>", + '[白眼]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/22.gif'>", + '[傲慢]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/23.gif'>", + '[饥饿]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/24.gif'>", + '[困]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/25.gif'>", + '[惊恐]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/26.gif'>", + '[流汗]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/27.gif'>", + '[憨笑]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/28.gif'>", + '[大兵]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/29.gif'>", + '[奋斗]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/30.gif'>", + '[咒骂]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/31.gif'>", + '[疑问]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/32.gif'>", + '[嘘]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/33.gif'>", + '[晕]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/34.gif'>", + '[折磨]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/35.gif'>", + '[衰]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/36.gif'>", + '[骷髅]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/37.gif'>", + '[敲打]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/38.gif'>", + '[再见]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/39.gif'>", + '[擦汗]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/40.gif'>", + '[抠鼻]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/41.gif'>", + '[鼓掌]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/42.gif'>", + '[糗大了]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/43.gif'>", + '[坏笑]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/44.gif'>", + '[左哼哼]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/45.gif'>", + '[右哼哼]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/46.gif'>", + '[哈欠]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/47.gif'>", + '[鄙视]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/48.gif'>", + '[委屈]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/49.gif'>", + '[快哭了]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/50.gif'>", + '[阴险]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/51.gif'>", + '[亲亲]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/52.gif'>", + '[吓]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/53.gif'>", + '[可怜]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/54.gif'>", + '[菜刀]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/55.gif'>", + '[西瓜]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/56.gif'>", + '[啤酒]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/57.gif'>", + '[篮球]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/58.gif'>", + '[咖啡]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/60.gif'>", + '[饭]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/61.gif'>", + '[玫瑰]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/63.gif'>", + '[凋谢]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/64.gif'>", + '[示爱]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/65.gif'>", + '[爱心]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/66.gif'>", + '[心碎]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/67.gif'>", + '[蛋糕]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/68.gif'>", + '[炸弹]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/70.gif'>", + '[刀]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/71.gif'>", + '[足球]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/72.gif'>", + '[礼物]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/77.gif'>", + '[拥抱]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/78.gif'>", + '[强]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/79.gif'>", + '[弱]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/80.gif'>", + '[握手]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/81.gif'>", + '[胜利]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/82.gif'>", + '[抱拳]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/83.gif'>", + '[勾引]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/84.gif'>", + '[拳头]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/85.gif'>", + '[差劲]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/86.gif'>", + '[爱你]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/87.gif'>", + '[NO]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/88.gif'>", + '[OK]': + "<img class='emoji' src='https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/89.gif'>" +} + +const emojisKeys = Object.keys(emojis) + +const regEmoji = emojisKeys + .map((value) => '|\\' + value) + .join('') + .replace('|', '') + +/** + * 替换表情文字 + * + * @param {String} content 需要替换的字符串 + */ +export function textReplaceEmoji(content) { + return content.replace(new RegExp(`(${regEmoji})`, 'gi'), ($0, $1) => { + return emojis[$1] + }) +} diff --git a/src/utils/strings.js b/src/utils/strings.js new file mode 100644 index 0000000..51f6758 --- /dev/null +++ b/src/utils/strings.js @@ -0,0 +1,80 @@ +/** + * 去除字符串控制 + * + * @param {String} str + */ +export function trim(str, type = null) { + if (type) { + return str.replace(/(^\s*)|(\s*$)/g, '') + } else if (type == 'l') { + return str.replace(/(^\s*)/g, '') + } else { + return str.replace(/(\s*$)/g, '') + } +} + +/** + * 隐藏用户手机号中间四位 + * + * @param {String} phone 手机号 + */ +export function hidePhone(phone) { + return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2') +} + +/** + * Url 替换超链接 + * + * @param {String} text 文本 + * @param {String} color 超链接颜色 + */ +export function textReplaceLink(text, color = '#409eff') { + let exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/gi + return text.replace( + exp, + `<a href='$1' alt='link' style="color:${color};text-decoration: revert;">$1</a >` + ) +} + +/** + * 文本 替换@信息 + * + * @param {String} text 文本 + * @param {String} color 超链接颜色 + */ +export function textReplaceMention(text, color = '#2196F3') { + return text.replace(new RegExp(/@\S+/, 'g'), ($0, $1) => { + return `<span style="color:${color};">${$0}</span>` + }) +} + +/** + * 格式化文件大小 + * + * @param {string|number} value 文件大小(字节) + */ +export function fileFormatSize(value) { + if (null == value || value == '') { + return '0' + } + + let unitArr = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] + let index = 0 + let srcsize = parseFloat(value) + index = Math.floor(Math.log(srcsize) / Math.log(1000)) + + let size = srcsize / Math.pow(1000, index) + size = size.toFixed(2) //保留的小数位数 + return size + unitArr[index] +} + +/** + * 获取文件后缀名 + * + * @param {String} fileName + */ +export function fileSuffix(fileName) { + let ext = fileName.split('.') + + return ext[ext.length - 1] +}