Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
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
罗超
confucius
Commits
25c14bed
You need to sign in or sign up before continuing.
Commit
25c14bed
authored
Oct 26, 2021
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
5260fd5e
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
99 additions
and
91 deletions
+99
-91
chooseApplet.vue
src/pages/teacher/components/chooseApplet.vue
+9
-6
addimageText.vue
src/pages/teacher/contribution/addimageText.vue
+62
-57
contributionUE.vue
src/pages/teacher/contribution/ue/contributionUE.vue
+28
-28
No files found.
src/pages/teacher/components/chooseApplet.vue
View file @
25c14bed
...
...
@@ -13,8 +13,8 @@
<div
style=
"display: flex;align-items: center;margin: 10px 0 ;"
>
展示方式:
<q-radio
v-model=
"msg.type"
val=
"1"
label=
"文字"
/>
<q-radio
v-model=
"msg.type"
val=
"2"
label=
"图片"
/>
<q-radio
v-model=
"msg.type"
val=
"3"
label=
"小程序卡片"
/>
<q-radio
v-
if=
"type!=2"
v-
model=
"msg.type"
val=
"2"
label=
"图片"
/>
<q-radio
v-
if=
"type!=2"
v-
model=
"msg.type"
val=
"3"
label=
"小程序卡片"
/>
</div>
<q-input
v-if=
"msg.type==1"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.title"
@
input=
"$forceUpdate()"
label=
"文字内容"
style=
"margin-top: 20px;"
/>
...
...
@@ -43,7 +43,7 @@
<span>
{{
msg
.
title
}}
</span>
<div
style=
"width: 240px;height: 180px;border: 1px dashed #E3E4E5;display: flex;flex-direction: column;align-items: center;justify-content: center;background: #FFF;margin-top: 10px;"
v-if=
"msg.imgUrl==''"
>
<p
style=
"padding: 0 10px;text-align: center;"
>
建议图片尺寸为5:4
,大小不超过10M,暂不支持动图。
</p>
<p
style=
"padding: 0 10px;text-align: center;"
>
图片尺寸为1080*864像素
,大小不超过10M,暂不支持动图。
</p>
<q-btn
class=
"q-mr-md"
label=
"从图库选择"
@
click=
"getChoice()"
/>
</div>
<div
style=
"width: 240px;height: 180px;margin-top: 10px;"
v-if=
"msg.imgUrl!=''"
...
...
@@ -159,7 +159,7 @@
}
else
{
this
.
$q
.
notify
({
type
:
'negative'
,
message
:
`请上传图片尺寸为
5:4
,`
,
message
:
`请上传图片尺寸为
1080*864像素
,`
,
position
:
'top'
})
}
...
...
@@ -173,7 +173,10 @@
img
.
onload
=
function
()
{
// 打印
let
qualified
=
false
if
(
Number
(
img
.
height
)
/
img
.
width
==
0.8
)
{
// if (Number(img.height) / img.width == 0.8) {
// qualified = true
// }
if
(
img
.
width
==
1080
&&
img
.
height
==
864
)
{
qualified
=
true
}
callback
({
qualified
:
qualified
})
...
...
src/pages/teacher/contribution/addimageText.vue
View file @
25c14bed
...
...
@@ -95,6 +95,12 @@
<q-btn
push
label=
"小程序"
@
click=
"getapplet"
/>
</q-btn-group>
</div>
<div
style=
"width: 100%;display: flex;align-items: center;justify-content: center;"
v-if=
"addMsg.Type==2"
>
<q-btn-group
push
>
<q-btn
push
label=
"小程序"
@
click=
"getapplet"
/>
</q-btn-group>
</div>
<q-input
clearable
filled
v-model=
"addMsg.Title"
label=
"标题"
maxlength=
"64"
counter
v-if=
"this.addMsg.Type != 2 && this.addMsg.Type != 5"
style=
"margin-top: 20px;"
/>
<q-input
clearable
filled
v-model=
"addMsg.Author"
label=
"作者"
maxlength=
"8"
counter
v-if=
"addMsg.Type == 1"
...
...
@@ -166,7 +172,7 @@
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"提交并审核"
@
click=
"savemove(1)"
style=
"width: 120px;"
:loading=
"loading"
/>
<q-btn
class=
"q-mr-md"
label=
"返回"
@
click=
"goblck()"
style=
"width: 60px;"
/>
<
q-btn
class=
"q-mr-md"
label=
"推送"
@
click=
"tuisong()"
style=
"width: 60px;"
/
>
<
!--
<q-btn
class=
"q-mr-md"
label=
"推送"
@
click=
"tuisong()"
style=
"width: 60px;"
/>
--
>
</div>
<!-- 是管理端 -->
<div
v-if=
"isManage==true"
style=
"margin-top: 20px;"
>
...
...
@@ -221,8 +227,6 @@
:options=
"platTypeList"
label=
"发布平台"
:dense=
"false"
emit-value
map-options
/>
<q-input
v-if=
'IsPreview==1'
clearable
filled
v-model=
"TagId"
label=
"输入微信号"
maxlength=
"30"
style=
"margin-top: 20px;"
/>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
...
...
@@ -235,7 +239,6 @@
</q-dialog>
</div>
</
template
>
<
script
>
import
contributionUE
from
'./ue/contributionUE'
import
ChooseImg
from
'../components/ChooseImg'
...
...
@@ -425,7 +428,7 @@
if
(
this
.
iscover
==
true
)
{
//选择的音频
this
.
audiourl
=
obj
[
0
].
Path
;
this
.
addMsg
.
VideoMediumId
=
obj
[
0
].
Id
;
this
.
addMsg
.
Title
=
obj
[
0
].
Media
Group
Name
this
.
addMsg
.
Title
=
obj
[
0
].
MediaName
}
else
{
//选择音频插入富文本
this
.
$refs
.
UE_cb
.
insertaudio
(
data
)
}
...
...
@@ -454,52 +457,7 @@
this
.
$refs
.
UE_cb
.
instertImage
(
data
)
}
},
getcontnet
(
data
,
length
)
{
if
(
this
.
addMsg
.
Type
==
2
)
{
this
.
addMsg
.
Description
=
data
}
else
{
this
.
addMsg
.
Content
=
data
// var reg = /data-time="(.*?)"/g;
// let _arr = []
// _arr = data.match(reg)
// console.log(data)
// if (_arr && _arr.length > 0) {
// var _res = []; //
// _arr.sort();
// for (var i = 0; i
<
_arr
.
length
;)
{
// var count = 0;
// for (var j = i; j
<
_arr
.
length
;
j
++
)
{
// if (_arr[i] == _arr[j]) {
// count++;
// }
// }
// _res.push([_arr[i], count]);
// i += count;
// }
// //_res 二维数维中保存了 值和值的重复数
// var _newArr = [];
// for (var i = 0; i
<
_res
.
length
;
i
++
)
{
// _newArr.push(
// {name:_res[i][0],num:_res[i][1]}
// );
// }
// console.log(_newArr)
// _newArr.forEach(x=>{
// console.log(x)
// if(x.num==1){
// let a = new RegExp(`
<
mp
-
miniprogram
$
{
x
.
name
}[
^>
]
*>
(.
|
\
n
)
*<
\
/
mp
-
miniprogram
>
`,'g')
// console.log(a)
// this.addMsg.Content = data.replace(a,'')
// // this.$refs.UE_cb.getagain(this.addMsg.Content)
// }
// })
// }
console.log(this.addMsg.Content, '返回数据')
}
},
savemove
(
type
)
{
//普通的用户保存
this
.
loading
=
true
if
(
this
.
addMsg
.
Type
==
5
)
{
...
...
@@ -513,9 +471,6 @@
})
}
this
.
addMsg
.
AuditState
=
type
// let a = JSON.stringify(this.addMsg.Content)
// console.log(a)
setContributeInfo
(
this
.
addMsg
).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
Code
==
1
)
{
...
...
@@ -577,6 +532,7 @@
}
else
{
//预览 和 群发
this
.
releasedialog
=
true
this
.
IsPreview
=
type
console
.
log
(
this
.
addMsg
)
}
},
closeCourseForm
()
{
...
...
@@ -645,7 +601,7 @@
},
tuisong
()
{
setContributeInfoPublish
({
ContributeId: 1
5
,
ContributeId
:
1
6
,
PlatformId
:
1
,
IsPreview
:
1
,
TagId
:
'goodluck_cattle'
,
...
...
@@ -665,7 +621,56 @@
this
.
$refs
.
UE_cb
.
applet
(
data
)
},
getcontnet
(
data
,
length
)
{
if
(
this
.
addMsg
.
Type
==
2
)
{
this
.
addMsg
.
Description
=
data
.
replace
(
/<
\/?
p
[^
>
]
*>/gi
,
''
)
console
.
log
(
this
.
addMsg
.
Description
)
}
else
{
this
.
addMsg
.
Content
=
data
let
temporary
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
var
reg
=
/data-time="
(
.*
?)
"/g
;
let
_arr
=
[]
let
deleteName
=
''
_arr
=
data
.
match
(
reg
)
if
(
_arr
&&
_arr
.
length
>
0
)
{
var
_res
=
[];
//
_arr
.
sort
();
for
(
var
i
=
0
;
i
<
_arr
.
length
;)
{
var
count
=
0
;
for
(
var
j
=
i
;
j
<
_arr
.
length
;
j
++
)
{
if
(
_arr
[
i
]
==
_arr
[
j
])
{
count
++
;
}
}
_res
.
push
([
_arr
[
i
],
count
]);
i
+=
count
;
}
//_res 二维数维中保存了 值和值的重复数
var
_newArr
=
[];
for
(
var
i
=
0
;
i
<
_res
.
length
;
i
++
)
{
_newArr
.
push
(
{
name
:
_res
[
i
][
0
],
num
:
_res
[
i
][
1
]}
);
}
_newArr
.
forEach
(
x
=>
{
console
.
log
(
x
)
if
(
x
.
num
==
2
){
let
a
=
new
RegExp
(
`<mp-miniprogram
${
x
.
name
}
[^>]*>(.|\n)*<\/mp-miniprogram><span
${
x
.
name
}
></span>`
,
'g'
)
temporary
=
temporary
.
replace
(
a
,
''
)
// this.$refs.UE_cb.getagain(this.addMsg.Content)
}
})
// this.addMsg.Content = temporary
//新增一个存的值
console
.
log
(
temporary
,
'```````````````temporary'
)
}
console
.
log
(
this
.
addMsg
.
Content
,
'返回数据'
)
}
},
}
}
...
...
src/pages/teacher/contribution/ue/contributionUE.vue
View file @
25c14bed
...
...
@@ -116,29 +116,26 @@
let
html
=
''
;
//s视频
fileArray
.
forEach
(
item
=>
{
html
+=
"<iframe frameborder='0' width='100%' height='200px' src='https://v.qq.com/iframe/player.html?vid=v326875u4ek' allowfullscreen='true'></iframe>"
html
+=
"<iframe frameborder='0' width='100%' height='200px' src='https://v.qq.com/iframe/player.html?vid=v326875u4ek' allowfullscreen='true'></iframe>"
})
console
.
log
(
html
)
if
(
html
&&
html
!=
''
)
{
this
.
ue
.
execCommand
(
'inserthtml'
,
html
);
}
}
},
insertaudio
(
fileArray
)
{
//插入音频
if
(
fileArray
&&
fileArray
.
length
)
{
let
html
=
''
;
//音频
fileArray
.
forEach
(
item
=>
{
html
+=
`<p><audio src="
${
item
.
fileUrl
}
" controls="controls"></audio></p>`
// html += `
<
mpvoice
class
=
"js_editor_audio audio_iframe js_uneditable custom_select_card"
// src="/cgi-bin/readtemplate?t=tmpl/audio_tmpl&name=111111.mp3&play_length=04:47" name="3343434.mp3" play_length="287000"
// voice_encode_fileid="LZ-rcf9d76p-zSl-cKLq1df9pxdAefsq406nXcoz4Zc" data-topic_id="" data-topic_name="" data-pluginname="insertaudio">
<
/mpvoice>
`
html
+=
'<p style="text-align:center"><iframe height="62px" width="auto" frameborder="0" allowtransparency="true" '
+
' style="background-color:transparent;border-radius: 3px;overflow: hidden;z-index: 0;" scrolling="no" '
+
' src="'
+
this
.
ViewDomain
+
'/index.html?fileName='
+
item
.
fileName
+
'&url='
+
item
.
fileUrl
+
'" class="ans-insertaudio-module" module="_insertaudio">'
+
' </iframe></p>'
})
console
.
log
(
html
)
if
(
html
&&
html
!=
''
)
{
this
.
ue
.
execCommand
(
'inserthtml'
,
html
);
}
...
...
@@ -159,22 +156,25 @@
}
}
},
applet
(
data
){
applet
(
data
)
{
let
html
=
''
;
if
(
data
.
type
==
1
)
{
//文字小程序
if
(
data
.
type
==
1
)
{
//文字小程序
html
+=
`<p><a data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" href="">
${
data
.
title
}
</a></p>`
;
}
else
if
(
data
.
type
==
2
)
{
//图片小程序
html
+=
`<p><a data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" href=""><img src="
${
data
.
imgUrl
}
" alt="" data-width="null" ></a></p>`
}
else
if
(
data
.
type
==
3
)
{
}
else
if
(
data
.
type
==
2
)
{
//图片小程序
html
+=
`<p><a data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" href=""><img src="
${
data
.
imgUrl
}
" alt="" data-width="null" ></a></p>`
}
else
if
(
data
.
type
==
3
)
{
let
dataTime
=
Date
.
parse
(
new
Date
())
// 给公众号的写法
html
+=
`<mp-miniprogram data-time="
${
dataTime
}
" data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
" data-miniprogram-title="
${
data
.
title
}
" data-miniprogram-imageurl="http://mmbiz.qpic.cn/mmbiz_jpg/iamUJ3Ot9utFjb5RP6Fr0ECTbQDnicewkS38JbPCsoFZPUzibXuIj6IhaHOPudWSG0ZxldLIj70QtHVSbwrBaP85g/0?wx_fmt=jpeg" data-miniprogram-type="card" data-miniprogram-servicetype="0"></mp-miniprogram>`
html
+=
`<mp-miniprogram data-time="
${
dataTime
}
" data-miniprogram-appid="
${
data
.
appletmsg
.
AppID
}
" data-miniprogram-path="
${
data
.
route
}
"
data-miniprogram-title="
${
data
.
title
}
"
data-miniprogram-imageurl="http://mmbiz.qpic.cn/mmbiz_jpg/iamUJ3Ot9utFjb5RP6Fr0ECTbQDnicewkS38JbPCsoFZPUzibXuIj6IhaHOPudWSG0ZxldLIj70QtHVSbwrBaP85g/0?wx_fmt=jpeg"
data-miniprogram-type="card" data-miniprogram-servicetype="0"></mp-miniprogram><span data-time="
${
dataTime
}
"></span>`
//自己看的写法
html
+=
'<p><iframe height="320" width="auto" data-time='
+
dataTime
+
' data-miniprogram-appid='
+
data
.
appletmsg
.
AppID
+
' frameborder="0" allowtransparency="true" '
+
html
+=
'<p><iframe height="320" width="auto" data-time='
+
dataTime
+
' data-miniprogram-appid='
+
data
.
appletmsg
.
AppID
+
' frameborder="0" allowtransparency="true" '
+
' style="background-color:transparent;border-radius: 3px;overflow: hidden;z-index: 0;" scrolling="no" '
+
' src="http://localhost:8181/#/teacher/contribution/graphicType?Name='
+
data
.
appletmsg
.
Name
+
'&Image='
+
data
.
appletmsg
.
Image
+
'&title='
+
data
.
title
+
'&imgUrl='
+
data
.
imgUrl
+
data
.
appletmsg
.
Image
+
'&title='
+
data
.
title
+
'&imgUrl='
+
data
.
imgUrl
+
'" class="ans-insertaudio-module" module="_insertaudio">'
+
' </iframe></p>'
;
console
.
log
(
html
)
...
...
@@ -260,7 +260,7 @@
});
this
.
ue
.
addListener
(
'contentChange'
,
(
editor
,
e
)
=>
{
this
.
isInputChange
=
true
;
this
.
$emit
(
'input'
,
this
.
ue
.
getContent
(),
this
.
ue
.
getContentTxt
().
length
);
this
.
$emit
(
'input'
,
this
.
ue
.
getContent
(),
this
.
ue
.
getContentTxt
().
length
);
});
this
.
ue
.
addListener
(
'blur'
,
editor
=>
{
this
.
isInputChange
=
true
;
...
...
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