Browse Source

表情包更换

liuxiaona 1 year ago
parent
commit
9e457f98fb

File diff suppressed because it is too large
+ 0 - 1
dist/assets/index.22aacf9f.js


File diff suppressed because it is too large
+ 1 - 0
dist/assets/index.6afbfb8b.css


File diff suppressed because it is too large
+ 1 - 0
dist/assets/index.70f55177.js


File diff suppressed because it is too large
+ 0 - 1
dist/assets/index.b973f7a6.css


File diff suppressed because it is too large
+ 0 - 1
dist/assets/vue3-emoji.57433202.css


+ 2 - 2
dist/index.html

@@ -6,7 +6,7 @@
6 6
     <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
7 7
     <title>广告系统</title>
8 8
       <script src="//open.thunderurl.com/thunder-link.js"></script>
9
-    <script type="module" crossorigin src="./assets/index.22aacf9f.js"></script>
9
+    <script type="module" crossorigin src="./assets/index.70f55177.js"></script>
10 10
     <link rel="modulepreload" href="./js/@vue/@vue.a4e5ba32.js">
11 11
     <link rel="modulepreload" href="./js/vue-router/vue-router.3516c392.js">
12 12
     <link rel="modulepreload" href="./js/axios/axios.8506093b.js">
@@ -22,7 +22,7 @@
22 22
     <link rel="modulepreload" href="./js/@popperjs/@popperjs.f1fb8f77.js">
23 23
     <link rel="modulepreload" href="./js/escape-html/escape-html.d572c0fd.js">
24 24
     <link rel="modulepreload" href="./js/normalize-wheel-es/normalize-wheel-es.94de1731.js">
25
-    <link rel="modulepreload" href="./js/element-plus/element-plus.d346164c.js">
25
+    <link rel="modulepreload" href="./js/element-plus/element-plus.e23d1172.js">
26 26
     <link rel="modulepreload" href="./js/tslib/tslib.e35f93b8.js">
27 27
     <link rel="modulepreload" href="./js/zrender/zrender.fe59a237.js">
28 28
     <link rel="modulepreload" href="./js/echarts/echarts.5b4b2848.js">

File diff suppressed because it is too large
+ 1 - 1
dist/js/_dialog/_dialog.fc55c6f1.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/_drawer/_drawer.eca709bb.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/_input/_input.771f34e6.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/_popconfirm/_popconfirm.7ace31c2.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/_select/_select.b07e05d7.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/basisMoudle/accountManage.96a504de.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/basisMoudle/error.a9921099.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/basisMoudle/home.b3251775.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/basisMoudle/login.ae3642e0.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/businessMoudle/adqManage.468b88b4.js


File diff suppressed because it is too large
+ 0 - 1
dist/js/collectClip/index.2a209242.js


File diff suppressed because it is too large
+ 1 - 0
dist/js/collectClip/index.6aec877f.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/element-plus/element-plus.d346164c.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/layout/index.7ca25452.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/materialLibrary/index.5c8ebba3.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/menuPermission/menuList.a6cdf17f.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/tableInfo/tableInfo.fdddf91c.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/taskList/index.f60385ea.js


File diff suppressed because it is too large
+ 0 - 1
dist/js/textLibrary/index.aa7139f6.js


File diff suppressed because it is too large
+ 1 - 0
dist/js/textLibrary/index.f86a123c.js


File diff suppressed because it is too large
+ 1 - 1
dist/js/timeScreen/timeScreen.046ffa4f.js


File diff suppressed because it is too large
+ 0 - 1
dist/js/vue3-emoji/vue3-emoji.dc098bbd.js


BIN
src/assets/img/icon.png


+ 107 - 0
src/common/emoji.js

@@ -0,0 +1,107 @@
1
+export const emojiList = [
2
+    "[微笑]",
3
+    "[撇嘴]",
4
+    "[色]",
5
+    "[发呆]",
6
+    "[得意]",
7
+    "[流泪]",
8
+    "[害羞]",
9
+    "[闭嘴]",
10
+    "[睡]",
11
+    "[大哭]",
12
+    "[尴尬]",
13
+    "[发怒]",
14
+    "[调皮]",
15
+    "[呲牙]",
16
+    "[惊讶]",
17
+    "[难过]",
18
+    "[酷]",
19
+    "[冷汗]",
20
+    "[抓狂]",
21
+    "[吐]",
22
+    "[偷笑]",
23
+    "[可爱]",
24
+    "[白眼]",
25
+    "[傲慢]",
26
+    "[饥饿]",
27
+    "[困]",
28
+    "[惊恐]",
29
+    "[流汗]",
30
+    "[憨笑]",
31
+    "[大兵]",
32
+    "[奋斗]",
33
+    "[咒骂]",
34
+    "[疑问]",
35
+    "[嘘]",
36
+    "[晕]",
37
+    "[折磨]",
38
+    "[衰]",
39
+    "[骷髅]",
40
+    "[敲打]",
41
+    "[再见]",
42
+    "[擦汗]",
43
+    "[抠鼻]",
44
+    "[鼓掌]",
45
+    "[糗大了]",
46
+    "[坏笑]",
47
+    "[左哼哼]",
48
+    "[右哼哼]",
49
+    "[哈欠]",
50
+    "[鄙视]",
51
+    "[委屈]",
52
+    "[快哭了]",
53
+    "[阴险]",
54
+    "[亲亲]",
55
+    "[吓]",
56
+    "[可怜]",
57
+    "[菜刀]",
58
+    "[西瓜]",
59
+    "[啤酒]",
60
+    "[篮球]",
61
+    "[乒乓]",
62
+    "[咖啡]",
63
+    "[饭]",
64
+    "[猪头]",
65
+    "[玫瑰]",
66
+    "[凋谢]",
67
+    "[示爱]",
68
+    "[爱心]",
69
+    "[心碎]",
70
+    "[蛋糕]",
71
+    "[闪电]",
72
+    "[炸弹]",
73
+    "[刀]",
74
+    "[足球]",
75
+    "[瓢虫]",
76
+    "[便便]",
77
+    "[月亮]",
78
+    "[太阳]",
79
+    "[礼物]",
80
+    "[拥抱]",
81
+    "[强]",
82
+    "[弱]",
83
+    "[握手]",
84
+    "[胜利]",
85
+    "[抱拳]",
86
+    "[勾引]",
87
+    "[拳头]",
88
+    "[差劲]",
89
+    "[爱你]",
90
+    "[NO]",
91
+    "[OK]",
92
+    "[爱情]",
93
+    "[飞吻]",
94
+    "[跳跳]",
95
+    "[发抖]",
96
+    "[怄火]",
97
+    "[转圈]",
98
+    "[磕头]",
99
+    "[回头]",
100
+    "[跳绳]",
101
+    "[挥手]",
102
+    "[激动]",
103
+    "[街舞]",
104
+    "[献吻]",
105
+    "[左太极]",
106
+    "[右太极]"
107
+]

+ 25 - 43
src/components/businessMoudle/textLibrary/dialog/addEditText.vue

@@ -14,7 +14,16 @@
14 14
           <div class="flex  titleBox">
15 15
             <div>文案 <span v-if="getRows()>0" class="c-theme">{{getRows()}}</span></div>
16 16
             <div class="lMarauto">
17
-              <V3Emoji size="mid" :custom-size="customSize" :fulldata="true" @click-emoji="appendText" :disableGroup="disableGroupArr"/>
17
+              <el-popover trigger="hover" width="400">
18
+                <div class="emojiBox">
19
+                  <img class="pointer" v-for="(i,idx) in emojiList" @click="appendText(i)" :alt="i" :title="i"
20
+                       style="width: 28px;height: 28px;margin-right: 6px;margin-bottom: 6px;display: inline-block"
21
+                       :src="'https://wxa.wxs.qq.com/wxad-design/emojis/smiley_'+idx+'.png'" />
22
+                </div>
23
+                <template #reference>
24
+                  <img class="pointer"  src="@/assets/img/icon.png" alt="" width="20">
25
+                </template>
26
+              </el-popover>
18 27
             </div>
19 28
           </div>
20 29
           <div class="tips">系统会根据您填写的文案长度,自动设配不同要求的创意形式,添加多个文案请换行</div>
@@ -31,17 +40,8 @@ import TypeSelect from './type.vue'
31 40
 import {getCurrentInstance, nextTick, onMounted, reactive, ref} from "vue";
32 41
 import {textParam} from "@/api/ApiModel";
33 42
 import {Api} from "@/api/api";
43
+import {emojiList} from "@/common/emoji";
34 44
 import {ElMessage} from "element-plus";
35
-import V3Emoji from 'vue3-emoji'
36
-import 'vue3-emoji/dist/style.css'
37
-
38
-const customSize= {
39
-  'V3Emoji-width': '500px',
40
-  'V3Emoji-height': '250px',
41
-  'V3Emoji-fontSize': '1rem',
42
-  'V3Emoji-itemSize': '20px'
43
-};
44
-const disableGroupArr= ['People & Body','Animals & Nature','Food & Drink','Travel & Places','Activities','Objects','Symbols','Flags']
45 45
 
46 46
 const emit = defineEmits<{
47 47
   (event: "init"): void;
@@ -70,12 +70,12 @@ const appendText = (val:any) => {
70 70
   if (startPos === undefined || endPos === undefined) return
71 71
   var txt = elInput.value;
72 72
   // 将表情添加到选中的光标位置
73
-  var result = txt.substring(0, startPos) + val.emoji + txt.substring(endPos)
73
+  var result = txt.substring(0, startPos) + val + txt.substring(endPos)
74 74
   elInput.value = result;// 赋值给input的value
75 75
   // 重新定义光标位置
76 76
   elInput.focus();
77
-  elInput.selectionStart = startPos + val.name.length;
78
-  // elInput.selectionEnd = endPos + val.name.length;
77
+  elInput.selectionStart = startPos + val.length;
78
+  elInput.selectionEnd = endPos + val.length;
79 79
   text_textarea.value  = result// 赋值给表单中的的字段
80 80
 }
81 81
 
@@ -84,31 +84,23 @@ const appendText = (val:any) => {
84 84
 const loading = ref<boolean>(false)
85 85
 const text_textarea = ref<string>('')
86 86
 // 提交前判断是否为空
87
-const checkValEvent = () => {
88
-  nextTick(()=>{
89
-    return new Promise(async (resolve:any, reject:any) => {
90
-      if (!typeRef.value!.textVal) {
91
-        ElMessage.error('请选择分类')
92
-        reject()
93
-      } else if(text_textarea.value == ''){
94
-        ElMessage.error('请输入文案')
95
-        reject()
96
-      } else {
97
-        if(typeof typeRef.value!.textVal == 'number'){}else{
98
-          await typeRef.value!.add_type()
99
-        }
100
-        resolve()
101
-      }
102
-    })
103
-  })
104
-}
105 87
 //关闭
106 88
 const closeEvent = () => {
107 89
   dialogShow.value = false
108 90
   emit('initType')
109 91
 }
110 92
 const confirmEvent = async ()=>{
111
-  await checkValEvent()
93
+  if (!typeRef.value!.textVal) {
94
+    ElMessage.error('请选择分类')
95
+    return
96
+  } else if(text_textarea.value == ''){
97
+    ElMessage.error('请输入文案')
98
+    return
99
+  } else {
100
+    if(typeof typeRef.value!.textVal == 'number'){}else{
101
+      await typeRef.value!.add_type()
102
+    }
103
+  }
112 104
   loading.value = true
113 105
   const paramsModel = reactive<textParam>({
114 106
     classify_id:Number(typeRef.value!.textVal),
@@ -180,16 +172,6 @@ onMounted(()=>{
180 172
 })
181 173
 </script>
182 174
 <style lang="scss" scoped>
183
-:deep(.pollup .tab-name){
184
-  display: none;
185
-}
186
-:deep(.pollup .emoji-container){
187
-  max-height: calc(var(--V3Emoji-height) * 2 - 50px);
188
-}
189
-:deep(.pollup){
190
-  z-index: 999;
191
-  top: 30px;
192
-}
193 175
 .addTextSelect{
194 176
   :deep(.el-select-dropdown__item){
195 177
     padding: 0 10px;