Compare commits
2 Commits
013c030963
...
d9f379d489
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9f379d489 | ||
|
|
92d43c50bc |
79
pages/im/components/sent/sentEmoji.vue
Normal file
79
pages/im/components/sent/sentEmoji.vue
Normal file
@@ -0,0 +1,79 @@
|
||||
<template>
|
||||
<view class="emoji--lay" v-show="show">
|
||||
<scroll-view class="scroll" :scroll-y="true">
|
||||
<view class="emoji-flex">
|
||||
<view class="item" v-for="(item, index) in emojiArr" :key="index" @click="$emit('onEmoji', item)">{{item.emoji}}</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="tool">
|
||||
<!-- <view class="item" @click="$emit('delete')">删除</view> -->
|
||||
<view class="item sent" @click="$emit('sent')">发送</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import emoji from '@/static/im/emoji'
|
||||
export default{
|
||||
props:{
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: () => {
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
emojiArr: emoji
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.emoji--lay{
|
||||
height: 600rpx;
|
||||
position: relative;
|
||||
.scroll{
|
||||
height: 600rpx;
|
||||
.emoji-flex{
|
||||
padding: 15rpx 15rpx 120rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
.item{
|
||||
margin: 10rpx 15rpx;
|
||||
font-size: 52rpx;
|
||||
width: calc(12.5% - 30rpx);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tool{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-image: linear-gradient(to top, #FFF, rgba(255, 255, 255, .0));
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding: 20rpx 30rpx 30rpx;
|
||||
.item{
|
||||
line-height: 70rpx;
|
||||
border-radius: 35rpx;
|
||||
width: 140rpx;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
margin-left: 20rpx;
|
||||
background: white;
|
||||
border: solid 1rpx #f5f5f5;
|
||||
box-sizing: border-box;
|
||||
&.sent{
|
||||
border-color: #34CE98;
|
||||
background: #34CE98;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,7 +1,17 @@
|
||||
<template>
|
||||
<view class="sent--text">
|
||||
<input class="input" type="text" :auto-blur="true" @focus="focus" @blur="blur" :focus="focusState"
|
||||
v-model="inputTxt" confirm-type="send" @confirm="sent" cursor-spacing="10" />
|
||||
<input
|
||||
class="input"
|
||||
type="text"
|
||||
:auto-blur="true"
|
||||
:focus="focusState"
|
||||
v-model="inputTxt"
|
||||
confirm-type="send"
|
||||
cursor-spacing="10"
|
||||
@focus="focus"
|
||||
@blur="blur"
|
||||
@confirm="sent"
|
||||
/>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -27,7 +37,7 @@
|
||||
computed: {
|
||||
disabled() {
|
||||
return this.inputTxt.length === 0
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
RongIMLib.getTextMessageDraft(this.conversationType, this.targetId, ({
|
||||
@@ -46,6 +56,12 @@
|
||||
inputTxt: ''
|
||||
}
|
||||
},
|
||||
created(){
|
||||
uni.$on('emojiValue', res => {
|
||||
this.inputTxt = res.value
|
||||
})
|
||||
},
|
||||
|
||||
methods: {
|
||||
sent() {
|
||||
if (!this.disabled) {
|
||||
@@ -59,10 +75,13 @@
|
||||
focus() {
|
||||
this.$emit('focus')
|
||||
},
|
||||
blur() {
|
||||
blur(e) {
|
||||
uni.hideKeyboard()
|
||||
this.$emit('blur')
|
||||
this.$emit('blur', e.detail)
|
||||
}
|
||||
},
|
||||
destroyed() {
|
||||
uni.$off('emojiValue')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -75,7 +94,7 @@
|
||||
.input {
|
||||
background: #F3F6FB;
|
||||
height: 70rpx;
|
||||
width: 460rpx;
|
||||
width: 400rpx;
|
||||
border-radius: 10rpx;
|
||||
margin-right: 15rpx;
|
||||
padding: 0 20rpx;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view class="send--voice">
|
||||
<view class="voice" hover-class="chat-hover" @touchstart="startRecord" @touchend="stopRecord" @touchmove="touchmove">
|
||||
<text class="button">按住说话</text>
|
||||
<text class="button">按住 说话</text>
|
||||
</view>
|
||||
<!-- 录音层 -->
|
||||
<view class="lay" v-if="showRecordTip">
|
||||
@@ -222,10 +222,11 @@
|
||||
line-height: 70rpx;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 500rpx;
|
||||
width: 400rpx;
|
||||
border-radius: 10rpx;
|
||||
margin-right: 15rpx;
|
||||
|
||||
padding: 0 20rpx;
|
||||
font-weight: bold;
|
||||
.button {
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
|
||||
@@ -7,11 +7,19 @@
|
||||
<image class="icon" src="@/static/icon/msg-icon.png" v-if="chatType === 1" mode="widthFix" />
|
||||
</view>
|
||||
<sent-voice v-if="chatType === 0" :conversationType="conversationType" :targetId="targetId" @success="onSuccess" />
|
||||
<sent-text v-if="chatType === 1" :conversationType="conversationType" :targetId="targetId" @success="onSuccess" />
|
||||
<view class="msg-type msg-popups" @click="showPopups = !showPopups"> <image class="icon" src="@/static/icon/popups-icon.png" /> </view>
|
||||
<sent-text ref="textView" v-if="chatType === 1" :conversationType="conversationType" :targetId="targetId" @success="onSuccess" @blur="onBlur" />
|
||||
<view class="msg-type msg-popups" @click="onShowEmoji">
|
||||
<image class="icon" src="@/static/icon/emoji-icon.png" />
|
||||
<!-- 考虑唤起键盘,暂时保留v-show -->
|
||||
<!-- <image v-show="!showEmoji" class="icon" src="@/static/icon/emoji-icon.png" /> -->
|
||||
<!-- <image v-show="showEmoji" class="icon" src="@/static/icon/key-icon.png" /> -->
|
||||
</view>
|
||||
<view class="msg-type msg-popups" @click="() => {showPopups = !showPopups, showEmoji = false}"> <image class="icon" src="@/static/icon/popups-icon.png" /> </view>
|
||||
</view>
|
||||
<!-- 弹出层 -->
|
||||
<sent-popups :show="showPopups" :conversationType="conversationType" :targetId="targetId" @success="() => {showPopups = false, onSuccess()}" />
|
||||
<!-- 表情包 -->
|
||||
<sent-emoji :show="showEmoji" @onEmoji="onEmoji" @delete="onDelete" @sent="onSent"></sent-emoji>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -19,6 +27,7 @@
|
||||
import sentText from './sent/sentText'
|
||||
import sentVoice from './sent/sentVoice'
|
||||
import sentPopups from './sent/sentPopups'
|
||||
import sentEmoji from './sent/sentEmoji'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
@@ -34,18 +43,26 @@
|
||||
components: {
|
||||
sentText,
|
||||
sentVoice,
|
||||
sentPopups
|
||||
sentPopups,
|
||||
sentEmoji
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
chatType: 1, // 0 语音,1 文本
|
||||
showPopups: false
|
||||
chatType : 1, // 0 语音,1 文本
|
||||
showPopups : false,
|
||||
showEmoji : false,
|
||||
chatText : {
|
||||
value : "",
|
||||
cursor : 0
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 切换聊天类型,语音/文本
|
||||
changeMessageType() {
|
||||
this.chatType = this.chatType === 1 ? 0 : 1
|
||||
if(this.showEmoji) this.showEmoji = false
|
||||
if(this.showPopups) this.showPopups = false
|
||||
},
|
||||
onSuccess() {
|
||||
this.$emit('onSuccess')
|
||||
@@ -55,6 +72,39 @@
|
||||
if(this.showPopups){
|
||||
this.showPopups = false
|
||||
}
|
||||
},
|
||||
// 输入表情
|
||||
onEmoji(e){
|
||||
let atMsg = this.chatText
|
||||
let newMsg = () => {
|
||||
return atMsg.value.slice(0, atMsg.cursor) + e.emoji + atMsg.value.slice(atMsg.cursor)
|
||||
}
|
||||
atMsg.value = newMsg()
|
||||
atMsg.cursor += 2
|
||||
// 全局通讯
|
||||
uni.$emit('emojiValue', atMsg)
|
||||
},
|
||||
// 删除表情
|
||||
onDelete(){
|
||||
console.log('删除')
|
||||
},
|
||||
// 发送消息
|
||||
onSent(){
|
||||
this.$refs.textView.sent()
|
||||
this.chatText = {
|
||||
value : "",
|
||||
cursor : 0
|
||||
}
|
||||
},
|
||||
// 获取输入框文字最新状态
|
||||
onBlur(e){
|
||||
this.chatText = e
|
||||
},
|
||||
// 显示emoji表情
|
||||
onShowEmoji(){
|
||||
this.showEmoji = !this.showEmoji
|
||||
this.chatType = 1
|
||||
if(this.showPopups) this.showPopups = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<view class="chat">
|
||||
<sent-message-bar :conversationType="conversationType" :targetId="targetId" @onSuccess="getNewMessage()" />
|
||||
|
||||
<view class="shade" @click="hidePop" v-show="showPop">
|
||||
<view class="pop" :style="popStyle" :class="{'show':showPop}">
|
||||
<view v-for="(item, index) in popButton" :key="index" @click="pickerMenu(item)">
|
||||
@@ -9,7 +8,6 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- chat -->
|
||||
<view class="body">
|
||||
<view class="scroll">
|
||||
|
||||
BIN
static/.DS_Store
vendored
BIN
static/.DS_Store
vendored
Binary file not shown.
BIN
static/icon/emoji-icon.png
Normal file
BIN
static/icon/emoji-icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.5 KiB |
795
static/im/emoji.js
Normal file
795
static/im/emoji.js
Normal file
@@ -0,0 +1,795 @@
|
||||
var EmojiFactory = {
|
||||
"u1F603": {
|
||||
"en": "Smiley Face",
|
||||
"zh": "绗戣劯",
|
||||
"tag": "\uD83D\uDE03",
|
||||
"position": "-75px 0px"
|
||||
},
|
||||
"u1F600": {
|
||||
"en": "Grinning Face",
|
||||
"zh": "绗戝樆鍢<E6A886>",
|
||||
"tag": "\uD83D\uDE00",
|
||||
"position": "0px 0px"
|
||||
},
|
||||
"u1F60A": {
|
||||
"en": "Smiley",
|
||||
"zh": "寰瑧",
|
||||
"tag": "\uD83D\uDE0A",
|
||||
"position": "-1725px 0px"
|
||||
},
|
||||
"u263A": {
|
||||
"en": "Cute",
|
||||
"zh": "钀岃悓鍝<E68293>",
|
||||
"tag": "\u263A",
|
||||
"position": "-2950px 0px"
|
||||
},
|
||||
"u1F609": {
|
||||
"en": "Winking Face",
|
||||
"zh": "鐪ㄧ溂",
|
||||
"tag": "\uD83D\uDE09",
|
||||
"position": "-200px 0px"
|
||||
},
|
||||
"u1F60D": {
|
||||
"en": "Heart Eyes",
|
||||
"zh": "鑹茶糠杩<E7B3A0>",
|
||||
"tag": "\uD83D\uDE0D",
|
||||
"position": "-1800px 0px"
|
||||
},
|
||||
"u1F618": {
|
||||
"en": "Blowing Kiss",
|
||||
"zh": "椋炲惢",
|
||||
"tag": "\uD83D\uDE18",
|
||||
"position": "-375px 0px"
|
||||
},
|
||||
"u1F61A": {
|
||||
"en": "Kiss Face",
|
||||
"zh": "涔堜箞鍝<E7AE9E>",
|
||||
"tag": "\uD83D\uDE1A",
|
||||
"position": "-1875px 0px"
|
||||
},
|
||||
"u1F61C": {
|
||||
"en": "Crazy Face",
|
||||
"zh": "璋冪毊",
|
||||
"tag": "\uD83D\uDE1C",
|
||||
"position": "-1900px 0px"
|
||||
},
|
||||
"u1F61D": {
|
||||
"en": "Tongue Out",
|
||||
"zh": "鍚愯垖澶<E59E96>",
|
||||
"tag": "\uD83D\uDE1D",
|
||||
"position": "-1925px 0px"
|
||||
},
|
||||
"u1F633": {
|
||||
"en": "Flushed Face",
|
||||
"zh": "鑴哥孩",
|
||||
"tag": "\uD83D\uDE33",
|
||||
"position": "-625px 0px"
|
||||
},
|
||||
"u1F601": {
|
||||
"en": "Grinning With Smiling",
|
||||
"zh": "闇查娇鑰岀瑧",
|
||||
"tag": "\uD83D\uDE01",
|
||||
"position": "-25px 0px"
|
||||
},
|
||||
"u1F614": {
|
||||
"en": "Pensive",
|
||||
"zh": "娌夋€<E5A48B>",
|
||||
"tag": "\uD83D\uDE14",
|
||||
"position": "-300px 0px"
|
||||
},
|
||||
"u1F60C": {
|
||||
"en": "Pleased",
|
||||
"zh": "婊℃剰",
|
||||
"tag": "\uD83D\uDE0C",
|
||||
"position": "-1775px 0px"
|
||||
},
|
||||
"u1F612": {
|
||||
"en": "Dissatisfied",
|
||||
"zh": "涓嶆弧",
|
||||
"tag": "\uD83D\uDE12",
|
||||
"position": "-250px 0px"
|
||||
},
|
||||
"u1F61F": {
|
||||
"en": "Worried Face",
|
||||
"zh": "鑻︾摐鑴<E69190>",
|
||||
"tag": "\uD83D\uDE1F",
|
||||
"position": "-1975px 0px"
|
||||
},
|
||||
"u1F61E": {
|
||||
"en": "Disappointed Face",
|
||||
"zh": "澶辨湜",
|
||||
"tag": "\uD83D\uDE1E",
|
||||
"position": "-1950px 0px"
|
||||
},
|
||||
"u1F623": {
|
||||
"en": "Helpless Face",
|
||||
"zh": "鏃犲姪",
|
||||
"tag": "\uD83D\uDE23",
|
||||
"position": "-450px 0px"
|
||||
},
|
||||
"u1F62D": {
|
||||
"en": "Crying",
|
||||
"zh": "浼ゅ績",
|
||||
"tag": "\uD83D\uDE22",
|
||||
"position": "-425px 0px"
|
||||
},
|
||||
"u1F602": {
|
||||
"en": "Laughing Tears",
|
||||
"zh": "鍠滄瀬鑰屾常",
|
||||
"tag": "\uD83D\uDE02",
|
||||
"position": "-50px 0px"
|
||||
},
|
||||
"u1F622": {
|
||||
"en": "Sobbing",
|
||||
"zh": "鍝常",
|
||||
"tag": "\uD83D\uDE2D",
|
||||
"position": "-2075px 0px"
|
||||
},
|
||||
"u1F62A": {
|
||||
"en": "Sleepy Face",
|
||||
"zh": "鍥<>",
|
||||
"tag": "\uD83D\uDE2A",
|
||||
"position": "-2000px 0px"
|
||||
},
|
||||
"u1F630": {
|
||||
"en": "Cold Sweat",
|
||||
"zh": "鍐锋睏",
|
||||
"tag": "\uD83D\uDE30",
|
||||
"position": "-550px 0px"
|
||||
},
|
||||
"u1F605": {
|
||||
"en": "Happy Sweat",
|
||||
"zh": "灏村艾",
|
||||
"tag": "\uD83D\uDE05",
|
||||
"position": "-100px 0px"
|
||||
},
|
||||
"u1F613": {
|
||||
"en": "Sweat",
|
||||
"zh": "姹<>",
|
||||
"tag": "\uD83D\uDE13",
|
||||
"position": "-275px 0px"
|
||||
},
|
||||
"u1F62B": {
|
||||
"en": "Tired Face",
|
||||
"zh": "鎶撶媯",
|
||||
"tag": "\uD83D\uDE2B",
|
||||
"position": "-2025px 0px"
|
||||
},
|
||||
"u1F629": {
|
||||
"en": "Weary Face",
|
||||
"zh": "鐤叉儷",
|
||||
"tag": "\uD83D\uDE29",
|
||||
"position": "-525px 0px"
|
||||
},
|
||||
"u1F628": {
|
||||
"en": "Fearful Face",
|
||||
"zh": "鍙€<EE889B>",
|
||||
"tag": "\uD83D\uDE28",
|
||||
"position": "-500px 0px"
|
||||
},
|
||||
"u1F631": {
|
||||
"en": "Scream",
|
||||
"zh": "灏栧彨",
|
||||
"tag": "\uD83D\uDE31",
|
||||
"position": "-575px 0px"
|
||||
},
|
||||
"u1F621": {
|
||||
"en": "Angry Face",
|
||||
"zh": "鐢熸皵",
|
||||
"tag": "\uD83D\uDE21",
|
||||
"position": "-400px 0px"
|
||||
},
|
||||
"u1F624": {
|
||||
"en": "Mad Face",
|
||||
"zh": "鎬掓皵鍐插啿",
|
||||
"tag": "\uD83D\uDE24",
|
||||
"position": "-475px 0px"
|
||||
},
|
||||
"u1F616": {
|
||||
"en": "Confounded Face",
|
||||
"zh": "钂欑緸",
|
||||
"tag": "\uD83D\uDE16",
|
||||
"position": "-350px 0px"
|
||||
},
|
||||
"u1F606": {
|
||||
"en": "Big Grin",
|
||||
"zh": "澶х瑧",
|
||||
"tag": "\uD83D\uDE06",
|
||||
"position": "-125px 0px"
|
||||
},
|
||||
"u1F60B": {
|
||||
"en": "Hungry",
|
||||
"zh": "棣<>",
|
||||
"tag": "\uD83D\uDE0B",
|
||||
"position": "-1750px 0px"
|
||||
},
|
||||
"u1F637": {
|
||||
"en": "Mask Face",
|
||||
"zh": "鍙g僵",
|
||||
"tag": "\uD83D\uDE37",
|
||||
"position": "-725px 0px"
|
||||
},
|
||||
"u1F60E": {
|
||||
"en": "Sunglasses",
|
||||
"zh": "澧ㄩ暅",
|
||||
"tag": "\uD83D\uDE0E",
|
||||
"position": "-1825px 0px"
|
||||
},
|
||||
"u1F634": {
|
||||
"en": "Sleeping",
|
||||
"zh": "鐫$湢",
|
||||
"tag": "\uD83D\uDE34",
|
||||
"position": "-650px 0px"
|
||||
},
|
||||
"u1F635": {
|
||||
"en": "Dizzy Face",
|
||||
"zh": "澶存檿鐪艰姳",
|
||||
"tag": "\uD83D\uDE35",
|
||||
"position": "-675px 0px"
|
||||
},
|
||||
"u1F632": {
|
||||
"en": "Shocked Face",
|
||||
"zh": "闇囨儕",
|
||||
"tag": "\uD83D\uDE32",
|
||||
"position": "-600px 0px"
|
||||
},
|
||||
"u1F608": {
|
||||
"en": "Purple Devil",
|
||||
"zh": "灏忔伓榄<E4BC93>",
|
||||
"tag": "\uD83D\uDE08",
|
||||
"position": "-175px 0px"
|
||||
},
|
||||
"u1F47F": {
|
||||
"en": "Devil",
|
||||
"zh": "鎭堕瓟",
|
||||
"tag": "\uD83D\uDC7F",
|
||||
"position": "-1600px 0px"
|
||||
},
|
||||
"u1F62F": {
|
||||
"en": "Surprised Face",
|
||||
"zh": "鎯婂憜",
|
||||
"tag": "\uD83D\uDE2F",
|
||||
"position": "-2100px 0px"
|
||||
},
|
||||
"u1F62C": {
|
||||
"en": "Grimacing Face",
|
||||
"zh": "鎵鑴<EE8397>",
|
||||
"tag": "\uD83D\uDE2C",
|
||||
"position": "-2050px 0px"
|
||||
},
|
||||
"u1F615": {
|
||||
"en": "Confused",
|
||||
"zh": "鍥版儜",
|
||||
"tag": "\uD83D\uDE15",
|
||||
"position": "-325px 0px"
|
||||
},
|
||||
"u1F636": {
|
||||
"en": "Mouthless",
|
||||
"zh": "鏃犲彛",
|
||||
"tag": "\uD83D\uDE36",
|
||||
"position": "-700px 0px"
|
||||
},
|
||||
"u1F607": {
|
||||
"en": "Halo",
|
||||
"zh": "澶╀娇鍏夌幆",
|
||||
"tag": "\uD83D\uDE07",
|
||||
"position": "-150px 0px"
|
||||
},
|
||||
"u1F60F": {
|
||||
"en": "Smirking Face",
|
||||
"zh": "鍌荤瑧",
|
||||
"tag": "\uD83D\uDE0F",
|
||||
"position": "-1850px 0px"
|
||||
},
|
||||
"u1F611": {
|
||||
"en": "Expressionless Face",
|
||||
"zh": "闈㈡棤琛ㄦ儏",
|
||||
"tag": "\uD83D\uDE11",
|
||||
"position": "-225px 0px"
|
||||
},
|
||||
"u1F648": {
|
||||
"en": "See No Monkey",
|
||||
"zh": "涓嶇湅",
|
||||
"tag": "\uD83D\uDE48",
|
||||
"position": "-2675px 0px"
|
||||
},
|
||||
"u1F649": {
|
||||
"en": "Hear No Monkey",
|
||||
"zh": "涓嶅惉",
|
||||
"tag": "\uD83D\uDE49",
|
||||
"position": "-2700px 0px"
|
||||
},
|
||||
"u1F64A": {
|
||||
"en": "No Speaking",
|
||||
"zh": "闂槾",
|
||||
"tag": "\uD83D\uDE4A",
|
||||
"position": "-2125px 0px"
|
||||
},
|
||||
"u1F47D": {
|
||||
"en": "Alien",
|
||||
"zh": "澶栨槦浜<E6A7A6>",
|
||||
"tag": "\uD83D\uDC7D",
|
||||
"position": "-1575px 0px"
|
||||
},
|
||||
"u1F4A9": {
|
||||
"en": "Pile Of Poo",
|
||||
"zh": "渚夸究",
|
||||
"tag": "\uD83D\uDCA9",
|
||||
"position": "-1025px 0px"
|
||||
},
|
||||
"u1F494": {
|
||||
"en": "Broken Heart",
|
||||
"zh": "蹇冪",
|
||||
"tag": "\uD83D\uDC94",
|
||||
"position": "-2600px 0px"
|
||||
},
|
||||
"u1F525": {
|
||||
"en": "Fire",
|
||||
"zh": "鐏<>",
|
||||
"tag": "\uD83D\uDD25",
|
||||
"position": "-2625px 0px"
|
||||
},
|
||||
"u1F4A2": {
|
||||
"en": "Anger",
|
||||
"zh": "鎰ゆ€<E38286>",
|
||||
"tag": "\uD83D\uDCA2",
|
||||
"position": "-950px 0px"
|
||||
},
|
||||
"u1F4A4": {
|
||||
"en": "Zzz",
|
||||
"zh": "ZZZ",
|
||||
"tag": "\uD83D\uDCA4",
|
||||
"position": "-1000px 0px"
|
||||
},
|
||||
"u1F6AB": {
|
||||
"en": "Prohibited",
|
||||
"zh": "绂佹",
|
||||
"tag": "\uD83D\uDEAB",
|
||||
"position": "-1175px 0px"
|
||||
},
|
||||
"u2B50": {
|
||||
"en": "Star",
|
||||
"zh": "鏄熸槦",
|
||||
"tag": "\u2B50",
|
||||
"position": "-2750px 0px"
|
||||
},
|
||||
"u26A1": {
|
||||
"en": "Lightning Bolt",
|
||||
"zh": "闂數",
|
||||
"tag": "\u26A1",
|
||||
"position": "-2825px 0px"
|
||||
},
|
||||
"u1F319": {
|
||||
"en": "Drescent Moon",
|
||||
"zh": "寮湀",
|
||||
"tag": "\uD83C\uDF19",
|
||||
"position": "-2175px 0px"
|
||||
},
|
||||
"u2600": {
|
||||
"en": "Sunny",
|
||||
"zh": "鏅存湕",
|
||||
"tag": "\u2600",
|
||||
"position": "-3075px 0px"
|
||||
},
|
||||
"u26C5": {
|
||||
"en": "Cloudy",
|
||||
"zh": "澶氫簯",
|
||||
"tag": "\u26C5",
|
||||
"position": "-2900px 0px"
|
||||
},
|
||||
"u2601": {
|
||||
"en": "Cloud",
|
||||
"zh": "浜戝僵",
|
||||
"tag": "\u2601",
|
||||
"position": "-3100px 0px"
|
||||
},
|
||||
"u2744": {
|
||||
"en": "Snowflake",
|
||||
"zh": "闆姳",
|
||||
"tag": "\u2744",
|
||||
"position": "-3175px 0px"
|
||||
},
|
||||
"u2614": {
|
||||
"en": "Umbrella",
|
||||
"zh": "闆ㄤ紴",
|
||||
"tag": "\u2614",
|
||||
"position": "-3125px 0px"
|
||||
},
|
||||
"u26C4": {
|
||||
"en": "Snowman",
|
||||
"zh": "闆汉",
|
||||
"tag": "\u26C4",
|
||||
"position": "-2875px 0px"
|
||||
},
|
||||
"u1F44D": {
|
||||
"en": "Thumbs Up",
|
||||
"zh": "璧<>",
|
||||
"tag": "\uD83D\uDC4D",
|
||||
"position": "-1400px 0px"
|
||||
},
|
||||
"u1F44E": {
|
||||
"en": "Thumbs Down",
|
||||
"zh": "鍠濆€掑僵",
|
||||
"tag": "\uD83D\uDC4E",
|
||||
"position": "-1425px 0px"
|
||||
},
|
||||
"u1F91D": {
|
||||
"en": "Handshake",
|
||||
"zh": "鎻℃墜",
|
||||
"tag": "\uD83E\uDD1D",
|
||||
"position": "-3200px 0px"
|
||||
},
|
||||
"u1F44C": {
|
||||
"en": "Ok Hand",
|
||||
"zh": "娌¢棶棰<E6A3B6>",
|
||||
"tag": "\uD83D\uDC4C",
|
||||
"position": "-1375px 0px"
|
||||
},
|
||||
"u1F44A": {
|
||||
"en": "Raised Fist",
|
||||
"zh": "涓捐捣鎷冲ご",
|
||||
"tag": "\u270A",
|
||||
"position": "-2975px 0px"
|
||||
},
|
||||
"u270A": {
|
||||
"en": "Oncoming Fist",
|
||||
"zh": "鍑绘嫵",
|
||||
"tag": "\uD83D\uDC4A",
|
||||
"position": "-1350px 0px"
|
||||
},
|
||||
"u270C": {
|
||||
"en": "Victory Hand",
|
||||
"zh": "鑰<>",
|
||||
"tag": "\u270C",
|
||||
"position": "-3025px 0px"
|
||||
},
|
||||
"u270B": {
|
||||
"en": "Raised Hand",
|
||||
"zh": "涓炬墜",
|
||||
"tag": "\u270B",
|
||||
"position": "-3000px 0px"
|
||||
},
|
||||
"u1F64F": {
|
||||
"en": "Folded Hands",
|
||||
"zh": "绁堢シ",
|
||||
"tag": "\uD83D\uDE4F",
|
||||
"position": "-2150px 0px"
|
||||
},
|
||||
"u261D": {
|
||||
"en": "Pointing Up",
|
||||
"zh": "绗竴",
|
||||
"tag": "\u261D",
|
||||
"position": "-2925px 0px"
|
||||
},
|
||||
"u1F44F": {
|
||||
"en": "Clapping Hands",
|
||||
"zh": "榧撴帉",
|
||||
"tag": "\uD83D\uDC4F",
|
||||
"position": "-1450px 0px"
|
||||
},
|
||||
"u1F4AA": {
|
||||
"en": "Flexed Biceps",
|
||||
"zh": "鑲岃倝",
|
||||
"tag": "\uD83D\uDCAA",
|
||||
"position": "-1050px 0px"
|
||||
},
|
||||
"u1F46A": {
|
||||
"en": "Family",
|
||||
"zh": "瀹跺涵",
|
||||
"tag": "\uD83D\uDC6A",
|
||||
"position": "-1475px 0px"
|
||||
},
|
||||
"u1F46B": {
|
||||
"en": "Couple",
|
||||
"zh": "鎯呬荆",
|
||||
"tag": "\uD83D\uDC6B",
|
||||
"position": "-1500px 0px"
|
||||
},
|
||||
"u1F47C": {
|
||||
"en": "Baby Angel",
|
||||
"zh": "瀹濊礉澶╀娇",
|
||||
"tag": "\uD83D\uDC7C",
|
||||
"position": "-1550px 0px"
|
||||
},
|
||||
"u1F434": {
|
||||
"en": "Horse",
|
||||
"zh": "椹<>",
|
||||
"tag": "\uD83D\uDC34",
|
||||
"position": "-2475px 0px"
|
||||
},
|
||||
"u1F436": {
|
||||
"en": "Dog",
|
||||
"zh": "鐙<>",
|
||||
"tag": "\uD83D\uDC36",
|
||||
"position": "-2500px 0px"
|
||||
},
|
||||
"u1F437": {
|
||||
"en": "Pig",
|
||||
"zh": "鐚<>",
|
||||
"tag": "\uD83D\uDC37",
|
||||
"position": "-2525px 0px"
|
||||
},
|
||||
"u1F47B": {
|
||||
"en": "Ghost",
|
||||
"zh": "楝<>",
|
||||
"tag": "\uD83D\uDC7B",
|
||||
"position": "-1525px 0px"
|
||||
},
|
||||
"u1F339": {
|
||||
"en": "Rose",
|
||||
"zh": "鐜懓",
|
||||
"tag": "\uD83C\uDF39",
|
||||
"position": "-2225px 0px"
|
||||
},
|
||||
"u1F33B": {
|
||||
"en": "Sunflower",
|
||||
"zh": "鍚戞棩钁<E6A3A9>",
|
||||
"tag": "\uD83C\uDF3B",
|
||||
"position": "-1250px 0px"
|
||||
},
|
||||
"u1F332": {
|
||||
"en": "Pine Tree",
|
||||
"zh": "鏉炬爲",
|
||||
"tag": "\uD83C\uDF32",
|
||||
"position": "-2200px 0px"
|
||||
},
|
||||
"u1F384": {
|
||||
"en": "Christmas Tree",
|
||||
"zh": "鍦h癁鏍<E79981>",
|
||||
"tag": "\uD83C\uDF84",
|
||||
"position": "-2400px 0px"
|
||||
},
|
||||
"u1F381": {
|
||||
"en": "Wrapped Gift",
|
||||
"zh": "绀肩墿",
|
||||
"tag": "\uD83C\uDF81",
|
||||
"position": "-2350px 0px"
|
||||
},
|
||||
"u1F389": {
|
||||
"en": "Party Popper",
|
||||
"zh": "鑱氫細绀艰姳",
|
||||
"tag": "\uD83C\uDF89",
|
||||
"position": "-2425px 0px"
|
||||
},
|
||||
"u1F4B0": {
|
||||
"en": "Money Bag",
|
||||
"zh": "閽辫",
|
||||
"tag": "\uD83D\uDCB0",
|
||||
"position": "-1075px 0px"
|
||||
},
|
||||
"u1F382": {
|
||||
"en": "Birthday Cake",
|
||||
"zh": "鐢熸棩铔嬬硶",
|
||||
"tag": "\uD83C\uDF82",
|
||||
"position": "-2375px 0px"
|
||||
},
|
||||
"u1F356": {
|
||||
"en": "Barbecue",
|
||||
"zh": "BBQ",
|
||||
"tag": "\uD83C\uDF56",
|
||||
"position": "-2275px 0px"
|
||||
},
|
||||
"u1F35A": {
|
||||
"en": "Cooked Rice",
|
||||
"zh": "绫抽キ",
|
||||
"tag": "\uD83C\uDF5A",
|
||||
"position": "-1275px 0px"
|
||||
},
|
||||
"u1F366": {
|
||||
"en": "Ice Cream",
|
||||
"zh": "鍐版穱娣<E7A9B1>",
|
||||
"tag": "\uD83C\uDF66",
|
||||
"position": "-2300px 0px"
|
||||
},
|
||||
"u1F36B": {
|
||||
"en": "Chocolate Bar",
|
||||
"zh": "宸у厠鍔<E58EA0>",
|
||||
"tag": "\uD83C\uDF6B",
|
||||
"position": "-1300px 0px"
|
||||
},
|
||||
"u1F349": {
|
||||
"en": "Watermelon",
|
||||
"zh": "瑗跨摐",
|
||||
"tag": "\uD83C\uDF49",
|
||||
"position": "-2250px 0px"
|
||||
},
|
||||
"u1F377": {
|
||||
"en": "Wine Glass",
|
||||
"zh": "绾㈤厭",
|
||||
"tag": "\uD83C\uDF77",
|
||||
"position": "-2325px 0px"
|
||||
},
|
||||
"u1F37B": {
|
||||
"en": "Cheers",
|
||||
"zh": "骞叉澂",
|
||||
"tag": "\uD83C\uDF7B",
|
||||
"position": "-1325px 0px"
|
||||
},
|
||||
"u2615": {
|
||||
"en": "Coffee",
|
||||
"zh": "鍜栧暋",
|
||||
"tag": "\u2615",
|
||||
"position": "-3150px 0px"
|
||||
},
|
||||
"u1F3C0": {
|
||||
"en": "Basketball",
|
||||
"zh": "绡悆",
|
||||
"tag": "\uD83C\uDFC0",
|
||||
"position": "-825px 0px"
|
||||
},
|
||||
"u26BD": {
|
||||
"en": "Soccer Ball",
|
||||
"zh": "瓒崇悆",
|
||||
"tag": "\u26BD",
|
||||
"position": "-2850px 0px"
|
||||
},
|
||||
"u1F3C2": {
|
||||
"en": "Snowboarder",
|
||||
"zh": "鍗曟澘婊戦洩",
|
||||
"tag": "\uD83C\uDFC2",
|
||||
"position": "-850px 0px"
|
||||
},
|
||||
"u1F3A4": {
|
||||
"en": "Microphone",
|
||||
"zh": "楹﹀厠椋<E58EA0>",
|
||||
"tag": "\uD83C\uDFA4",
|
||||
"position": "-750px 0px"
|
||||
},
|
||||
"u1F3B5": {
|
||||
"en": "Musical Note",
|
||||
"zh": "闊充箰",
|
||||
"tag": "\uD83C\uDFB5",
|
||||
"position": "-800px 0px"
|
||||
},
|
||||
"u1F3B2": {
|
||||
"en": "Game Die",
|
||||
"zh": "楠板瓙",
|
||||
"tag": "\uD83C\uDFB2",
|
||||
"position": "-775px 0px"
|
||||
},
|
||||
"u1F004": {
|
||||
"en": "Mahjong Red Dragon",
|
||||
"zh": "楹诲皢",
|
||||
"tag": "\uD83C\uDC04",
|
||||
"position": "-900px 0px"
|
||||
},
|
||||
"u1F451": {
|
||||
"en": "Crown",
|
||||
"zh": "鐜嬪啝",
|
||||
"tag": "\uD83D\uDC51",
|
||||
"position": "-2550px 0px"
|
||||
},
|
||||
"u1F484": {
|
||||
"en": "Lipstick",
|
||||
"zh": "鍙g孩",
|
||||
"tag": "\uD83D\uDC84",
|
||||
"position": "-2575px 0px"
|
||||
},
|
||||
"u1F48B": {
|
||||
"en": "Kiss",
|
||||
"zh": "鍚<>",
|
||||
"tag": "\uD83D\uDC8B",
|
||||
"position": "-1650px 0px"
|
||||
},
|
||||
"u1F48D": {
|
||||
"en": "Ring",
|
||||
"zh": "鎴掓寚",
|
||||
"tag": "\uD83D\uDC8D",
|
||||
"position": "-1675px 0px"
|
||||
},
|
||||
"u1F4DA": {
|
||||
"en": "Books",
|
||||
"zh": "涔︾睄",
|
||||
"tag": "\uD83D\uDCDA",
|
||||
"position": "-1100px 0px"
|
||||
},
|
||||
"u1F393": {
|
||||
"en": "Graduation Cap",
|
||||
"zh": "姣曚笟甯<E7AC9F>",
|
||||
"tag": "\uD83C\uDF93",
|
||||
"position": "-2450px 0px"
|
||||
},
|
||||
"u270F": {
|
||||
"en": "Pencil",
|
||||
"zh": "閾呯瑪",
|
||||
"tag": "\u270F",
|
||||
"position": "-3050px 0px"
|
||||
},
|
||||
"u1F3E1": {
|
||||
"en": "House With Garden",
|
||||
"zh": "鎴垮瓙",
|
||||
"tag": "\uD83C\uDFE1",
|
||||
"position": "-875px 0px"
|
||||
},
|
||||
"u1F6BF": {
|
||||
"en": "Shower",
|
||||
"zh": "娣嬫荡",
|
||||
"tag": "\uD83D\uDEBF",
|
||||
"position": "-1200px 0px"
|
||||
},
|
||||
"u1F4A1": {
|
||||
"en": "Light Bulb",
|
||||
"zh": "鐏场",
|
||||
"tag": "\uD83D\uDCA1",
|
||||
"position": "-925px 0px"
|
||||
},
|
||||
"u1F4DE": {
|
||||
"en": "Telephone Receiver",
|
||||
"zh": "鐢佃瘽鍚瓛",
|
||||
"tag": "\uD83D\uDCDE",
|
||||
"position": "-1125px 0px"
|
||||
},
|
||||
"u1F4E2": {
|
||||
"en": "Loudspeaker",
|
||||
"zh": "鎵╅煶鍣<E785B6>",
|
||||
"tag": "\uD83D\uDCE2",
|
||||
"position": "-1150px 0px"
|
||||
},
|
||||
"u1F556": {
|
||||
"en": "Clock",
|
||||
"zh": "琛<>",
|
||||
"tag": "\uD83D\uDD56",
|
||||
"position": "-2650px 0px"
|
||||
},
|
||||
"u23F0": {
|
||||
"en": "Alarm Clock",
|
||||
"zh": "闂归挓",
|
||||
"tag": "\u23F0",
|
||||
"position": "-2775px 0px"
|
||||
},
|
||||
"u23F3": {
|
||||
"en": "Hourglass",
|
||||
"zh": "娌欐紡",
|
||||
"tag": "\u23F3",
|
||||
"position": "-2800px 0px"
|
||||
},
|
||||
"u1F4A3": {
|
||||
"en": "Bomb",
|
||||
"zh": "鐐稿脊",
|
||||
"tag": "\uD83D\uDCA3",
|
||||
"position": "-975px 0px"
|
||||
},
|
||||
"u1F52B": {
|
||||
"en": "Pistol",
|
||||
"zh": "鎵嬫灙",
|
||||
"tag": "\uD83D\uDD2B",
|
||||
"position": "-1700px 0px"
|
||||
},
|
||||
"u1F48A": {
|
||||
"en": "Capsule",
|
||||
"zh": "鑽<>",
|
||||
"tag": "\uD83D\uDC8A",
|
||||
"position": "-1625px 0px"
|
||||
},
|
||||
"u1F680": {
|
||||
"en": "Rocket",
|
||||
"zh": "鐏",
|
||||
"tag": "\uD83D\uDE80",
|
||||
"position": "-2725px 0px"
|
||||
},
|
||||
"u1F30F": {
|
||||
"en": "Globe",
|
||||
"zh": "鍦扮悆",
|
||||
"tag": "\uD83C\uDF0F",
|
||||
"position": "-1225px 0px"
|
||||
}
|
||||
};
|
||||
let EmojiList = []
|
||||
|
||||
function setEmojiList() {
|
||||
EmojiList.length = 0;
|
||||
for (var unicode in EmojiFactory) {
|
||||
var detail = EmojiFactory[unicode];
|
||||
if (detail.tag) {
|
||||
var lang = 'en';
|
||||
var symbol = detail[lang];
|
||||
EmojiList.push({
|
||||
unicode: unicode,
|
||||
symbol: '[' + symbol + ']',
|
||||
emoji: detail.tag,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
setEmojiList()
|
||||
export default EmojiList
|
||||
@@ -47,10 +47,14 @@ export default {
|
||||
name: contactInfo.name,
|
||||
portraitUrl: contactInfo.portraitUrl
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
}
|
||||
=======
|
||||
},
|
||||
setContactRemark(state, contactInfo) {
|
||||
Vue.set(state.contacts, contactInfo.targetId, contactInfo)
|
||||
}
|
||||
>>>>>>> 013c030963aef06a00ac33d5f767cbd97ef2ceac
|
||||
},
|
||||
actions: {
|
||||
setContactRemark({
|
||||
|
||||
Reference in New Issue
Block a user