Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
admin-base
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
new-sing
admin-base
Commits
ad2ed79a
Commit
ad2ed79a
authored
Sep 27, 2018
by
王
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
公众号完善
parent
5a8a6516
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
267 additions
and
21 deletions
+267
-21
index.js
config/index.js
+2
-2
focusReplyDialog.vue
src/components/weChat/focusReplyDialog.vue
+20
-8
index.vue
src/components/weChat/index.vue
+245
-11
No files found.
config/index.js
View file @
ad2ed79a
...
...
@@ -12,8 +12,8 @@ module.exports = {
//本地代理设置
proxyTable
:
{
'/api'
:
{
target
:
'http://local.base-api.sing.com'
,
// 接口的域名
//
target: 'http://wechat.test.singsingenglish.com/',
//
target: 'http://local.base-api.sing.com', // 接口的域名
target
:
'http://wechat.test.singsingenglish.com/'
,
changeOrigin
:
true
,
// 如果接口跨域,需要进行这个参数配置
}
},
...
...
src/components/weChat/focusReplyDialog.vue
View file @
ad2ed79a
...
...
@@ -8,11 +8,11 @@
<div
class=
"content"
>
<div
class=
"inner"
v-loading=
"loading"
>
<ul
class=
"weui-desktop-msg-sender__tabs"
>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_appmsg"
:class=
"type === 'news' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
type = 'news'
"
>
图文
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_text"
:class=
"type === 'text' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
type = 'text'
"
>
文字
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_img"
:class=
"type === 'image' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
type = 'image'
"
>
图片
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_audio"
:class=
"type === 'voice' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
type = 'voice'
"
>
语音
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_video"
:class=
"type === 'video' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
type = 'video'
"
>
视频
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_appmsg"
:class=
"type === 'news' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
onChangeType('news')
"
>
图文
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_text"
:class=
"type === 'text' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
onChangeType('text')
"
>
文字
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_img"
:class=
"type === 'image' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
onChangeType('image')
"
>
图片
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_audio"
:class=
"type === 'voice' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
onChangeType('voice')
"
>
语音
</li>
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_video"
:class=
"type === 'video' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"
onChangeType('video')
"
>
视频
</li>
</ul>
<div
class=
"inner-bottom"
>
<div
class=
"img-action"
v-if=
"type === 'image'"
>
...
...
@@ -129,7 +129,7 @@
</
template
>
</el-table-column>
</el-table>
<page
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onPageChange"
/>
<page
2
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onPageChange"
/>
</div>
</div>
<div
class=
"img-action"
v-if=
"type === 'video'"
style=
"text-align: left"
>
...
...
@@ -165,7 +165,7 @@
</
template
>
</el-table-column>
</el-table>
<page
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onPageChange"
/>
<page
3
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onPageChange"
/>
</div>
</div>
<div
class=
"img-action"
v-if=
"type === 'voice'"
style=
"text-align: left"
>
...
...
@@ -196,7 +196,7 @@
</
template
>
</el-table-column>
</el-table>
<page
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onPageChange"
/>
<page
4
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onPageChange"
/>
</div>
</div>
<div
class=
"inner-emotion_editor"
v-else-if=
"type === 'text'"
>
...
...
@@ -240,6 +240,9 @@
<
script
>
import
{
updateConfigApi
,
saveConfigApi
,
getMediaListApi
,
getConfigListApi
,
getTeacherListApi
}
from
"../../service/api"
;
import
page
from
'../framework/page'
import
page2
from
'../framework/page'
import
page3
from
'../framework/page'
import
page4
from
'../framework/page'
import
emotion
from
'../framework/Emotion/index'
export
default
{
name
:
"focusReplyDialog"
,
...
...
@@ -291,6 +294,9 @@
},
components
:{
page
,
page2
,
page3
,
page4
,
emotion
},
mounted
(){
...
...
@@ -308,6 +314,12 @@
handleEmotion
(
i
)
{
this
.
content
+=
i
},
onChangeType
(
type
){
this
.
type
=
type
;
this
.
mediaList
=
[];
this
.
showMedia
=
false
;
this
.
nowPage
=
1
;
},
initDialog
(){
if
(
this
.
dialogObj
.
id
)
{
this
.
id
=
this
.
dialogObj
.
id
;
...
...
src/components/weChat/index.vue
View file @
ad2ed79a
...
...
@@ -149,6 +149,31 @@
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_video"
:class=
"buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.type === 'video' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"onClickSendMsg('video')"
>
视频
</li>
</ul>
<div
class=
"inner-bottom"
>
<div
class=
"img-action"
v-if=
"buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.type === 'text'"
>
<div
class=
"inner-edit_area"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 4, maxRows: 8}"
v-model="content"
placeholder="请输入内容">
</el-input>
</div>
<div
style=
"float: right"
>
<el-popover
placement=
"bottom-end"
width=
"400"
:offset=
"10"
trigger=
"manual"
v-model=
"showEmotion"
>
<div>
<emotion
@
emotion=
"handleEmotion"
:height=
"200"
></emotion>
</div>
<el-button
@
click=
"showEmotion = !showEmotion"
slot=
"reference"
type=
"text"
>
<span
class=
"icon_emotion emotion_switch"
></span>
</el-button>
</el-popover>
</div>
</div>
<div
class=
"img-action"
v-if=
"buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.type === 'image'"
>
<template
v-if=
"selectedIndex > -1 && buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.url"
>
<img
style=
"max-width: 30%"
:src=
"buttonList[selectedIndex].media_info.url"
/>
...
...
@@ -257,6 +282,70 @@
</el-table>
</div>
</div>
<div
class=
"img-action"
v-if=
"buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.type === 'voice'"
>
<
template
v-if=
"selectedIndex > -1 && buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.url"
>
<i
class=
"el-icon-delete"
@
click=
"deleteMedia()"
style=
"display: inline-block"
></i>
</
template
>
<div
class=
"display-b"
v-else
>
<div
class=
"img-create-access"
v-if=
"!showMedia"
>
<a
href=
"javascript:;"
class=
"img-create-access__link"
@
click=
"getMediaList('voice')"
>
从素材库中选择
</a>
</div>
</div>
<div
v-if=
"showMedia && mediaList.length > 0"
>
<el-table
:data=
"mediaList"
@
row-click=
"onChooseMedia"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
prop=
"media_id"
label=
"mediaId"
>
</el-table-column>
<el-table-column
label=
"URL"
>
<
template
slot-scope=
"scope"
>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<div
class=
"img-action"
style=
"text-align: left"
v-if=
"buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.type === 'video'"
>
<
template
v-if=
"selectedIndex > -1 && buttonList[selectedIndex].media_info && buttonList[selectedIndex].media_info.down_url"
>
<a
:href=
"buttonList[selectedIndex].media_info.down_url"
>
{{
buttonList
[
selectedIndex
].
media_info
.
title
}}
</a>
<i
class=
"el-icon-delete"
@
click=
"deleteMedia()"
style=
"display: inline-block"
></i>
</
template
>
<div
class=
"display-b"
v-else
>
<div
class=
"img-create-access"
v-if=
"!showMedia"
>
<a
href=
"javascript:;"
class=
"img-create-access__link"
@
click=
"getMediaList('video')"
>
从素材库中选择
</a>
</div>
</div>
<div
v-if=
"showMedia && mediaList.length > 0"
>
<el-table
:data=
"mediaList"
@
row-click=
"onChooseMedia"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
prop=
"media_id"
label=
"mediaId"
>
</el-table-column>
<el-table-column
label=
"URL"
>
<
template
slot-scope=
"scope"
>
<a
:href=
"scope.row.info.down_url"
target=
"_blank"
v-if=
"scope.row.info && scope.row.info.down_url"
>
{{
scope
.
row
.
info
.
title
}}
</a>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<page
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onPageChange"
v-if=
"showMedia && mediaList.length > 0"
/>
</div>
</div>
...
...
@@ -295,6 +384,31 @@
<li
class=
"weui-desktop-msg-sender__tab weui-desktop-msg-sender__tab_video"
:class=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.type === 'video' ? 'weui-desktop-msg-sender__tab_selected' : ''"
@
click=
"onClickSubSendMsg('video')"
>
视频
</li>
</ul>
<div
class=
"inner-bottom"
>
<div
class=
"img-action"
v-if=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.type === 'text'"
>
<div
class=
"inner-edit_area"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 4, maxRows: 8}"
v-model="content"
placeholder="请输入内容">
</el-input>
</div>
<div
style=
"float: right"
>
<el-popover
placement=
"bottom-end"
width=
"400"
:offset=
"10"
trigger=
"manual"
v-model=
"showEmotion"
>
<div>
<emotion
@
emotion=
"handleEmotion"
:height=
"200"
></emotion>
</div>
<el-button
@
click=
"showEmotion = !showEmotion"
slot=
"reference"
type=
"text"
>
<span
class=
"icon_emotion emotion_switch"
></span>
</el-button>
</el-popover>
</div>
</div>
<div
class=
"img-action"
v-if=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.type === 'image'"
>
<template
v-if=
"selectedIndex && selectedChildIndex > -1 && buttonList[selectedIndex].sub_button[selectedChildIndex] && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.url"
>
<img
style=
"max-width: 30%"
:src=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.url"
v-if=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.url"
/>
...
...
@@ -403,6 +517,74 @@
</el-table>
</div>
</div>
<div
class=
"img-action"
v-if=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.type === 'voice'"
>
<
template
v-if=
"selectedIndex && selectedChildIndex > -1 && buttonList[selectedIndex].sub_button[selectedChildIndex] && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.url"
>
<a
:href=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.url"
v-if=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.url"
>
{{
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
title
}}
</a>
<i
class=
"el-icon-delete"
@
click=
"deleteSubMedia()"
style=
"display: inline-block"
></i>
</
template
>
<div
class=
"display-b"
v-else
>
<div
class=
"img-create-access"
v-if=
"!showMedia"
>
<a
href=
"javascript:;"
class=
"img-create-access__link"
@
click=
"getMediaList('voice')"
>
从素材库中选择
</a>
</div>
</div>
<div
v-if=
"showMedia && mediaList.length > 0"
>
<el-table
:data=
"mediaList"
@
row-click=
"onChooseSubMedia"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
prop=
"media_id"
label=
"mediaId"
>
</el-table-column>
<el-table-column
label=
"URL"
>
<
template
slot-scope=
"scope"
>
<a
:href=
"scope.row.info.down_url"
target=
"_blank"
v-if=
"scope.row.info && scope.row.info.down_url"
>
{{
scope
.
row
.
info
.
title
}}
</a>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<div
class=
"img-action"
style=
"text-align: left"
v-if=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.type === 'video'"
>
<
template
v-if=
"selectedIndex && selectedChildIndex > -1 && buttonList[selectedIndex].sub_button[selectedChildIndex] && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info && buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.down_url"
>
<a
:href=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.url"
v-if=
"buttonList[selectedIndex].sub_button[selectedChildIndex].media_info.down_url"
>
{{
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
title
}}
</a>
<i
class=
"el-icon-delete"
@
click=
"deleteSubMedia()"
style=
"display: inline-block"
></i>
</
template
>
<div
class=
"display-b"
v-else
>
<div
class=
"img-create-access"
v-if=
"!showMedia"
>
<a
href=
"javascript:;"
class=
"img-create-access__link"
@
click=
"getMediaList('video')"
>
从素材库中选择
</a>
</div>
</div>
<div
v-if=
"showMedia && mediaList.length > 0"
>
<el-table
:data=
"mediaList"
@
row-click=
"onChooseSubMedia"
style=
"width: 100%"
>
<el-table-column
prop=
"name"
label=
"名称"
>
</el-table-column>
<el-table-column
prop=
"media_id"
label=
"mediaId"
>
</el-table-column>
<el-table-column
label=
"URL"
>
<
template
slot-scope=
"scope"
>
<a
:href=
"scope.row.info.down_url"
target=
"_blank"
v-if=
"scope.row.info && scope.row.info.down_url"
>
{{
scope
.
row
.
info
.
title
}}
</a>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<page2
:total=
"total"
v-model=
"nowPage"
:limit=
"limit"
@
pageChange=
"onSubPageChange"
v-if=
"showMedia && mediaList.length > 0"
/>
</div>
</div>
...
...
@@ -450,12 +632,14 @@
import
{
MessageBox
}
from
'element-ui'
;
import
page
from
'../framework/page'
import
page2
from
'../framework/page'
import
emotion
from
'../framework/Emotion/index'
export
default
{
name
:
"index"
,
components
:
{
draggable
,
page
,
page2
page2
,
emotion
},
data
(){
return
{
...
...
@@ -474,7 +658,9 @@
nowPage
:
1
,
limit
:
3
,
showMedia
:
false
,
mediaList
:
[]
mediaList
:
[],
showEmotion
:
false
,
content
:
''
}
},
mounted
(){
...
...
@@ -495,7 +681,7 @@
this
.
selectedIndex
=
0
this
.
selectedChildIndex
=
-
1
this
.
showOrder
=
false
;
this
.
searchMenu
();
//
this.searchMenu();
}
})
...
...
@@ -659,14 +845,19 @@
},
onChooseMedia
(
val
){
let
selectedIndex
=
this
.
selectedIndex
;
if
(
this
.
buttonList
[
selectedIndex
].
media_info
.
type
===
'image'
)
{
let
_type
=
this
.
buttonList
[
selectedIndex
].
media_info
.
type
;
if
(
_type
===
'image'
)
{
this
.
buttonList
[
selectedIndex
].
media_id
=
val
.
media_id
;
this
.
buttonList
[
selectedIndex
].
media_info
.
url
=
val
.
url
;
this
.
buttonList
[
selectedIndex
].
key
=
'image'
}
else
if
(
this
.
buttonList
[
selectedIndex
].
media_info
.
type
===
'news'
){
}
else
if
(
_
type
===
'news'
){
this
.
buttonList
[
selectedIndex
].
media_id
=
val
.
media_id
;
this
.
buttonList
[
selectedIndex
].
media_info
=
val
.
content
;
this
.
buttonList
[
selectedIndex
].
media_info
.
type
=
'news'
;
}
else
if
(
_type
===
'video'
){
this
.
buttonList
[
selectedIndex
].
media_id
=
val
.
media_id
;
this
.
buttonList
[
selectedIndex
].
media_info
=
val
.
info
;
this
.
buttonList
[
selectedIndex
].
media_info
.
type
=
'video'
;
}
this
.
showMedia
=
false
;
this
.
$forceUpdate
();
...
...
@@ -674,24 +865,35 @@
onChooseSubMedia
(
val
){
let
selectedIndex
=
this
.
selectedIndex
;
let
selectedChildIndex
=
this
.
selectedChildIndex
;
if
(
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
type
===
'image'
)
{
let
_type
=
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
type
;
if
(
_type
===
'image'
)
{
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_id
=
val
.
media_id
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
url
=
val
.
url
;
}
else
if
(
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
type
===
'news'
){
}
else
if
(
_
type
===
'news'
){
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_id
=
val
.
media_id
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
=
val
.
content
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
type
=
'news'
;
}
else
if
(
_type
===
'video'
){
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_id
=
val
.
media_id
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
=
val
.
info
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
type
=
'video'
;
}
this
.
showMedia
=
false
;
this
.
$forceUpdate
();
},
onClickSendMsg
(
type
){
this
.
mediaList
=
[];
this
.
showMedia
=
false
;
this
.
nowPage
=
1
;
this
.
buttonList
[
this
.
selectedIndex
].
media_info
=
{
type
:
type
}
this
.
$forceUpdate
();
},
onClickSubSendMsg
(
type
){
this
.
mediaList
=
[];
this
.
showMedia
=
false
;
this
.
nowPage
=
1
;
let
selectedIndex
=
this
.
selectedIndex
;
let
selectedChildIndex
=
this
.
selectedChildIndex
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
=
{
...
...
@@ -700,17 +902,39 @@
this
.
$forceUpdate
();
},
deleteMedia
(){
let
_type
=
this
.
buttonList
[
selectedIndex
].
media_info
.
type
;
this
.
buttonList
[
this
.
selectedIndex
].
media_id
=
''
;
this
.
buttonList
[
this
.
selectedIndex
].
media_info
.
url
=
''
;
if
(
_type
===
'image'
)
{
this
.
buttonList
[
this
.
selectedIndex
].
media_info
.
url
=
''
;
}
else
if
(
_type
===
'text'
){
}
else
{
this
.
buttonList
[
this
.
selectedIndex
].
media_info
=
{
type
:
_type
}
}
this
.
$forceUpdate
();
},
deleteSubMedia
(){
let
_type
=
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
type
;
let
selectedIndex
=
this
.
selectedIndex
;
let
selectedChildIndex
=
this
.
selectedChildIndex
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_id
=
''
;
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
url
=
''
;
if
(
_type
===
'image'
)
{
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
.
url
=
''
;
}
else
if
(
_type
===
'text'
){
}
else
{
this
.
buttonList
[
selectedIndex
].
sub_button
[
selectedChildIndex
].
media_info
=
{
type
:
_type
}
}
this
.
$forceUpdate
();
}
},
handleEmotion
(
i
)
{
this
.
content
+=
i
},
}
}
...
...
@@ -3019,5 +3243,15 @@
background-color
:
rgba
(
0
,
0
,
0
,
0.5
);
text-decoration
:
none
;
}
.emotion_switch
{
float
:
left
;
height
:
28px
;
line-height
:
999em
;
overflow
:
hidden
;
background
:
transparent
url(https://res.wx.qq.com/mpres/en_US/htmledition/pages/modules/reply/images/icon_emotion_switch.png)
no-repeat
0
0
;
width
:
20px
;
height
:
20px
;
vertical-align
:
middle
;
display
:
inline-block
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment