Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
MCMS
Commits
352235a1
Commit
352235a1
authored
Jan 28, 2019
by
a123456
Browse files
Signed-off-by: a123456 <1209165801@qq.com>
parent
a16292b8
Changes
35
Hide whitespace changes
Inline
Side-by-side
src/main/webapp/WEB-INF/manager/login.ftl
View file @
352235a1
<!
DOCTYPE
html>
<!
DOCTYPE
html>
<
html
lang="">
<
html
lang="">
<
head
>
<head>
<title></title>
<title></title>
<!-- <#include "/include/head-file.ftl"/> -->
<!-- <#include "/include/head-file.ftl"/> -->
<!-- <link rel="stylesheet" href="$
{
base
}
/static/ms-admin/4.7.0/css/login.css"> -->
<!-- <link rel="stylesheet" href="$
{
base
}
/static/ms-admin/4.7.0/css/login.css"> -->
<!--#include virtual="include/head-file.ftl" -->
<link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/login.css">
</
head
>
<
body
>
<!--#include virtual="include/head-file.ftl" -->
<div id="login" class="login">
<link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/login.css">
<el-container class="ms-admin-login-container">
</head>
<body>
<div id="login" class="login">
<el-container class="ms-admin-login-container">
<el-main class="ms-admin-login-main">
<el-main class="ms-admin-login-main">
<div class="ms-admin-login-warp">
<div class="ms-admin-login-warp">
<img :src="ms.base+'/static/ms-admin/4.7.0/images/login-slogn.png'">
<img :src="ms.base+'/static/ms-admin/4.7.0/images/login-slogn.png'">
<el-form :model="loginForm" status-icon :rules="loginFormRule" ref="loginForm" label-width="100px" class="ms-admin-login-form">
<el-form :model="loginForm" status-icon :rules="loginFormRule" ref="loginForm" label-width="100px" class="ms-admin-login-form">
<h1><span>账户登录 / </span>User login</h1>
<h1>
<el-form-item prop="name" class="ms-admin-form-item">
<span>账户登录 / </span>User login</h1>
<el-input type="text" placeholder='用户名' v-model="loginForm.managerName" autocomplete="off"></el-input>
<el-form-item prop="name" class="ms-admin-form-item">
</el-form-item>
<el-input type="text" placeholder='用户名' v-model="loginForm.managerName" autocomplete="off"></el-input>
<el-form-item prop="pass" class="ms-admin-form-item">
</el-form-item>
<el-input type="password" placeholder='密码' v-model="loginForm.managerPassword" autocomplete="off"></el-input>
<el-form-item prop="pass" class="ms-admin-form-item">
</el-form-item>
<el-input type="password" placeholder='密码' v-model="loginForm.managerPassword" autocomplete="off"></el-input>
<el-form-item prop="code" class="ms-admin-form-item ms-admin-form-item-code">
</el-form-item>
<el-input type="text" placeholder='验证码' v-model="loginForm.rand_code" autocomplete="off"></el-input>
<el-form-item prop="code" class="ms-admin-form-item ms-admin-form-item-code">
<img :src="verifCode" class="code-img" @click="code" />
<el-input type="text" placeholder='验证码' v-model="loginForm.rand_code" autocomplete="off"></el-input>
<p><span>看不清?</span><span @click="code">换一张</span></p>
<img :src="verifCode" class="code-img" @click="code" />
</el-form-item>
<p>
<el-form-item class="ms-admin-form-item ms-admin-form-item-checkout">
<span>看不清?</span>
<el-checkbox v-model="rememberPass">记住密码</el-checkbox>
<span @click="code">换一张</span>
</el-form-item>
</p>
<el-form-item class="ms-admin-form-item">
</el-form-item>
<el-button type="primary" @click="checkLogin" class="ms-admin-login-btn">登录</el-button>
<el-form-item class="ms-admin-form-item ms-admin-form-item-checkout">
</el-form-item>
<el-checkbox v-model="rememberPass">记住密码</el-checkbox>
</el-form>
</el-form-item>
</div>
<el-form-item class="ms-admin-form-item">
<el-button type="primary" @click="checkLogin" class="ms-admin-login-btn">登录</el-button>
</el-form-item>
</el-form>
</div>
</el-main>
</el-main>
</el-container>
</el-container>
</div>
</div>
</
body
>
</body>
</
html
>
</
html
>
<
script
>
<
script
>
var
loginVue = new Vue(
{
var loginVue = new Vue(
{
el
:
'#
login
'
,
el
:
'#
login
'
,
data
:
{
data
:
{
loginForm
:
{
loginForm
:
{
managerName
:
''
,
managerName
:
''
,
managerPassword
:
""
,
managerPassword
:
""
,
rand_code
:
''
,
rand_code
:
''
,
},
},
verifCode
:
ms
.manager
+
"/code?t="
+
new
D
ate
()
.getTime
(),
verifCode
:
ms
.manager
+
"/code?t="
+
new
D
ate
()
.getTime
(),
rememberPass
:
''
,
rememberPass
:
''
,
loginFormRule
:
{
loginFormRule
:
{
managerName
:
[
{
managerName
:
[
{
required
:
true
,
required
:
true
,
message
:
'请输入用户名'
,
message
:
'请输入用户名'
,
trigger
:
'
blur
'
trigger
:
'
blur
'
},
},
{
{
min
:
3
,
min
:
3
,
max
:
6
,
max
:
6
,
message
:
'长度在
3
到
5
个字符'
,
message
:
'长度在
3
到
5
个字符'
,
trigger
:
'
blur
'
trigger
:
'
blur
'
}
}
]
,
]
,
managerPassword
:
[
{
managerPassword
:
[
{
required
:
true
,
required
:
true
,
message
:
'请输入密码'
,
message
:
'请输入密码'
,
trigger
:
'
blur
'
trigger
:
'
blur
'
},
},
{
{
min
:
6
,
min
:
6
,
max
:
20
,
max
:
20
,
message
:
'长度在
6
到
20
个字符'
,
message
:
'长度在
6
到
20
个字符'
,
trigger
:
'
blur
'
trigger
:
'
blur
'
}
}
]
,
]
,
rand_code
:
[
{
rand_code
:
[
{
required
:
true
,
required
:
true
,
message
:
'请填写验证码'
,
message
:
'请填写验证码'
,
trigger
:
'
blur
'
trigger
:
'
blur
'
},
},
{
{
min
:
1
,
min
:
1
,
max
:
4
,
max
:
4
,
message
:
'长度在
1
到
4
个字符'
,
message
:
'长度在
1
到
4
个字符'
,
trigger
:
'
blur
'
trigger
:
'
blur
'
}
}
]
,
]
,
}
}
},
},
methods
:
{
methods
:
{
//
登录
//
登录
checkLogin
:
function
()
{
checkLogin
:
function
()
{
var
that
=
this
;
var
that
=
this
;
ms
.http.post
(
ms
.manager
+
"/checkLogin.do"
,
that
.loginForm
)
.then
(
function
(
data
)
{
ms
.http.post
(
ms
.manager
+
"/checkLogin.do"
,
that
.loginForm
)
.then
(
function
(
data
)
{
if
(
data
.result
)
{
if
(
data
.result
)
{
that
.
$notify
({
that
.
$notify
({
title
:
'成功'
,
title
:
'成功'
,
message
:
'登录成功'
,
message
:
'登录成功'
,
type
:
'
success
'
type
:
'
success
'
})
;
})
;
location
.href
=
ms
.manager
+
"/index.do"
;
location
.href
=
ms
.manager
+
"/index.do"
;
}
else
{
}
else
{
that
.
$notify
({
that
.
$notify
({
title
:
'失败'
,
title
:
'失败'
,
message
:
data
.resultMsg
,
message
:
data
.resultMsg
,
type
:
'
warning
'
type
:
'
warning
'
})
;
})
;
}
}
},
(
err
)
=>
{
},
(
err
)
=>
{
that
.
$message
.error
(
data
.resultMsg
)
;
that
.
$message
.error
(
data
.resultMsg
)
;
})
})
},
},
code
:
function
()
{
code
:
function
()
{
this
.verifCode
=
ms
.manager
+
"/code?t="
+
new
D
ate
()
.getTime
()
;
this
.verifCode
=
ms
.manager
+
"/code?t="
+
new
D
ate
()
.getTime
()
;
},
},
},
},
mounted
:
function
(){
mounted
:
function
()
{
this
.verifCode
=
ms
.manager
+
"/code?t="
+
new
D
ate
()
.getTime
()
this
.verifCode
=
ms
.manager
+
"/code?t="
+
new
D
ate
()
.getTime
()
}
}
}
)
}
)
</
script
>
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/mweixin/article/index.ftl
deleted
100644 → 0
View file @
a16292b8
<!--
新建图文 -->
<
link
rel="stylesheet" href="../../../../static/mweixin/css/article.css">
<
div
id='article' class="ms-article ms-container" v-show="menuVue.menuActive == '新建图文'">
<el-container>
<el-aside width="280px">
<div class="ms-main-article">
<img :src='mainArticle.basicPic'>
<div class="ms-main-article-mask"></div>
<span v-text='mainArticle.basicTitle'></span>
</div>
<draggable v-model="subArticleList" :options="
{
draggable
:
'
.ms-article-item
'
}
">
<div v-for="(element,index) in subArticleList" :key="index" class="ms-article-item">
<p><span v-text='element.basicTitle'></span></p>
<img :src='element.basicThumbnailsl'>
</div>
</draggable>
<div class="ms-article-footer">
<el-button size='medium' icon='el-icon-plus' @click='addArticle'>添加图文</el-button>
</div>
</el-aside>
<el-main>
<div class="ms-main-header">
<el-upload class="ms-pic-upload" :show-file-list="false">
<img v-if="false" :src="false" class="avatar">
<i v-else class="el-icon-picture"></i>
<span>添加封面</span>
</el-upload>
<el-form label-width='40px'>
<el-form-item label="标题" prop="">
<el-input size='small' placeholder="请输入图文标题" v-model='articleForm.basicTitle' @input="resetWordNum('title')">
<span slot='suffix' v-text="titleWordNumber+'/64'"></span>
</el-input>
</el-form-item>
<el-form-item label="作者" prop="">
<el-input size='small' placeholder="请输入图文作者" v-model='articleForm.articleAuthor' @input="resetWordNum('author')">
<span slot='suffix' v-text="authorWordNumber+'/8'"></span>
</el-input>
</el-form-item>
<el-form-item label="摘要" prop="">
<el-input
size='small'
type='textarea'
placeholder="选填,如果不写会默认抓取正文前54个字"
:autosize="
{
minRows
:
2
,
maxRows
:
2
}
"
resize='none'
v-model='articleForm.basicDescription'
@input="resetWordNum('desc')"
>
<span slot='suffix' v-text="descWordNumber+'/54'"></span>
</el-input>
</el-form-item>
</el-form>
</div>
<div class="ms-main-body">
<!-- 百度编辑器 -->
<script id="ueditorArticle" type="text/plain" name="articleContent"></script>
</div>
</el-main>
</el-container>
</
div
>
<
script
>
var articleVue = new Vue(
{
el
:
'#
article
'
,
data
:
{
mainArticle
:
{
basicPic
:
'
https
:
//
img03
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125112329
'
,
//主图
basicTitle
:
'国足
0-3
不敌伊朗被淘汰,赛后还有一个消息'
,
//标题
},
//
文章列表
subArticleList
:
[
{
basicTitle
:
'硬核!年会当着老板面唱,“干活的干不过写
PPT
的……'
,
basicThumbnailsl
:
'
https
:
//
img01
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125112509
'
},
{
basicTitle
:
'知否知否,党组织犯错,处理有多严?'
,
basicThumbnailsl
:
'
https
:
//
img01
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125112509
'
},
{
basicTitle
:
'没有奇迹,国足
0-3
不敌伊朗止步八强!'
,
basicThumbnailsl
:
'
https
:
//
img03
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125113148
'
}
]
,
titleWordNumber
:
64
,
//图文标题剩余字数
authorWordNumber
:
8
,
//图文作者剩余字数
descWordNumber
:
54
,
//摘要
editor
:
null
,
//富文本实例
articleForm
:{
basicTitle
:
''
,
//标题
articleAuthor
:
''
,
//作者
basicDescription
:
''
,
//摘要
articleContent
:
''
,
//正文
}
},
methods
:
{
//
添加文章
addArticle
:
function
()
{
this
.subArticleList.push
({
basicTitle
:
'新增文章标题'
,
basicThumbnailsl
:
'
https
:
//
img03
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125113148
'
})
},
//
计算剩余字数
resetWordNum
:
function
(
type
){
}
},
mounted
:
function
()
{
let
that
=
this
;
//富文本加载
var
URL
=
window
.UEDITOR_HOME_URL
||
"http://mpm.mingsoft.net/static/plugins/ueditor/1.4.3.1/"
;
if
(
this
.editor
==
null
)
{
this
.editor
=
UE
.getEditor
(
'
ueditorArticle
'
,
{
toolbars
:
[
['
fullscreen
'
,
'
undo
'
,
'
redo
'
,
'|'
,
'
bold
'
,
'
italic
'
,
'
underline
'
,
'
strikethrough
'
,
'
removeformat
'
,
'
blockquote
'
,
'|'
,
'
forecolor
'
,
'
backcolor
'
,
'
insertorderedlist
'
,
'
insertunorderedlist
'
,
'|'
,
'
attachment
'
,
'
simpleupload
'
,
'
link
'
]
]
,
imageScaleEnabled
:
true
,
//
服务器统一请求接口路径
serverUrl
:
URL
+
"jsp/msController.jsp?jsonConfig=%7BvideoUrlPrefix:'http://mpm.mingsoft.net/',fileUrlPrefix:'http://mpm.mingsoft.net/',imageUrlPrefix:'http://mpm.mingsoft.net/',imagePathFormat:'/upload/pm/editor/%7Btime%7D',filePathFormat:'/upload/pm/editor/%7Btime%7D',videoPathFormat:'/upload/pm/editor/%7Btime%7D'%7D"
,
autoHeightEnabled
:
true
,
autoFloatEnabled
:
true
,
scaleEnabled
:
false
,
compressSide
:
0
,
maxImageSideLength
:
2000
,
maximumWords
:
80000
,
zIndex
:
10000
,
elementPathEnabled
:
false
,
wordCount
:
false
,
initialFrameWidth
:
'
100
%'
,
initialFrameHeight
:
500
,
})
;
this
.editor.ready
(
function
()
{
var
a
=
$
(
"#ueditor_0"
)
.contents
()[
0
]
.activeElement;
$
(
a
)
.addClass
(
"ms-webkit-scrollbar"
)
.before
(
"<style>.ms-webkit-scrollbar::-webkit-scrollbar,::-webkit-scrollbar{width:10px;/*滚动条宽度*/height:1.5%;/*滚动条高度*/}/*定义滚动条轨道内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-track,::-webkit-scrollbar-track{border-radius:10px;/*滚动条的背景区域的圆角*/background-color:#eeeeee;/*滚动条的背景颜色*/}.ms-task-content::-webkit-scrollbar-track{border-radius:10px;background-color:#FFFFFF;}/*定义滑块内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb{border-radius:10px;/*滚动条的圆角*/background-color:#dddddd;/*滚动条的背景颜色*/}</style>"
)
;
})
;
}
}
}
)
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/mweixin/keyword/form.ftl
View file @
352235a1
<!--
关键词回复 -->
<!--
关键词回复 -->
<
link
rel="stylesheet" href="../../../../static/mweixin/css/keyword-reply.css">
<
link
rel="stylesheet" href="../../../../static/mweixin/css/keyword-reply.css">
<
div
id="keyword-reply" class="keyword-reply ms-container ms-weixin-content" v-if="menuVue.menuActive == '关键词表单'">
<
div
id="keyword-reply" class="keyword-reply ms-weixin-content" v-if="menuVue.menuActive == '关键词表单'">
<el-form :model="keywordReplyForm" status-icon :rules="keywordReplyFormRules" ref="keywordReplyForm" label-width="100px">
<el-container>
<el-form-item label="关键词" prop="keyword" class="ms-keyword-input">
<el-header class="ms-header" height="50px">
<el-row type='flex' justify='space-between' align='center'>
<el-row>
<el-col :span='12'>
<el-button class="ms-fr" size="small" icon="el-icon-arrow-left" @click="menuVue.menuActive = '关键词回复'">返回</el-button>
<el-input placeholder="请输入内容" v-model="keywordReplyForm.keyword" class="input-with-select" size='mini' maxlength='30' @input='resetWord'>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
<el-select v-model="keywordReplyForm.select" slot="prepend" placeholder="请选择">
<el-button class="ms-fr" type="success" size="small" icon="el-icon-tickets" @click="menuVue.menuActive = '关键词回复'">保存</el-button>
<el-option label="模糊匹配" value="1"></el-option>
<el-option label="全匹配" value="2"></el-option>
</el-select>
<span slot='suffix' v-text="wordNumber+'/30'"></span>
</el-input>
</el-col>
<el-col>
<i class="el-icon-plus" @click='addKeyWord'></i>
</el-col>
</el-row>
</el-row>
</el-form-item>
</el-header>
<el-form-item class="ms-keyword-reply-content" label="回复内容">
<el-main class="ms-container" width="100%">
<el-tabs v-model="activeName" @tab-click="" class="keyword-reply-tabs">
<el-form :model="keywordReplyForm" status-icon :rules="keywordReplyFormRules" ref="keywordReplyForm" label-width="100px">
<el-tab-pane label="文字" name="text">
<el-form-item label="关键词" prop="keyword" class="ms-keyword-input">
<el-input type="textarea" v-model="keywordReplyForm.reply" :autosize="
{
minRows
:
4
,
maxRows
:
4
}
" resize='none'>
<el-row type='flex' justify='space-between' align='center'>
</el-input>
<el-col :span='12'>
<i class="el-icon-delete" @click="keywordReplyForm.reply = ''"></i>
<el-input placeholder="请输入内容" v-model="keywordReplyForm.keyword" class="input-with-select" size='mini' maxlength='30' @input='resetWord'>
<div class="footer">
<el-select v-model="keywordReplyForm.select" slot="prepend" placeholder="请选择">
<i class="el-icon-star-off"></i>
<el-option label="模糊匹配" value="1"></el-option>
<a>插入超链接</a>
<el-option label="全匹配" value="2"></el-option>
</div>
</el-select>
</el-tab-pane>
<span slot='suffix' v-text="wordNumber+'/30'"></span>
<el-tab-pane label="图片" name="picture">
</el-input>
</el-tab-pane>
</el-col>
<el-tab-pane label="图文" name="article">
<el-col>
</el-tab-pane>
<i class="el-icon-plus" @click='addKeyWord'></i>
</el-tabs>
</el-col>
</el-form-item>
</el-row>
</el-form>
</el-form-item>
<el-form-item class="ms-keyword-reply-content" label="回复内容">
<el-tabs v-model="activeName" @tab-click="" class="keyword-reply-tabs">
<el-tab-pane label="文字" name="text">
<el-input type="textarea" v-model="keywordReplyForm.reply" :autosize="
{
minRows
:
4
,
maxRows
:
4
}
" resize='none'>
</el-input>
<i class="el-icon-delete" @click="keywordReplyForm.reply = ''"></i>
<div class="footer">
<i class="el-icon-star-off"></i>
<a>插入超链接</a>
</div>
</el-tab-pane>
<el-tab-pane label="图片" name="picture">
</el-tab-pane>
<el-tab-pane label="图文" name="article">
</el-tab-pane>
</el-tabs>
</el-form-item>
</el-form>
</el-main>
</el-container>
</
div
>
</
div
>
<
script
>
<
script
>
...
...
src/main/webapp/WEB-INF/manager/mweixin/keyword/index.ftl
View file @
352235a1
<!--
关键字列表 -->
<!--
关键字列表 -->
<
link
rel="stylesheet" href="../../../../static/mweixin/css/keyword-list.css">
<
link
rel="stylesheet" href="../../../../static/mweixin/css/keyword-list.css">
<
div
id="keyword-list" class="keyword-list ms-container ms-weixin-content" v-if="menuVue.menuActive == '关键词回复'">
<
div
id="keyword-list" class="keyword-list ms-weixin-content" v-if="menuVue.menuActive == '关键词回复'">
<el-table :data="tableData" border style="width: 100%">
<el-container>
<el-table-column prop="date" label="规则名" width="180" align='center'>
<!--右侧头部-->
</el-table-column>
<el-header class="ms-header" height="50px">
<el-table-column prop="name" label="关键词" width="180" align='center'>
<el-row>
</el-table-column>
<el-button type="primary" size="small" icon="el-icon-plus" @click="menuVue.menuActive = '关键词表单'">添加</el-button>
<el-table-column prop="address" label="消息回复类型" align='center'>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
</el-table-column>
</el-row>
<el-table-column prop="address" label="发送对象" align='center'>
</el-header>
</el-table-column>
<el-container>
<el-table-column prop="address" label="回复方式" align='center'>
<!--内容头部-->
</el-table-column>
<el-header class="ms-tr ms-header">
</el-table>
<el-input size="medium" placeholder="请输入内容" suffix-icon="el-icon-search">
</el-input>
</el-header>
<!--素材列表-->
<el-main class="ms-admin-picture-list ms-container">
<el-table :data="tableData" border style="width: 100%">
<el-table-column prop="date" label="规则名" width="180" align='center'>
</el-table-column>
<el-table-column prop="name" label="关键词" width="180" align='center'>
</el-table-column>
<el-table-column prop="address" label="消息回复类型" align='center'>
</el-table-column>
<el-table-column prop="address" label="发送对象" align='center'>
</el-table-column>
<el-table-column prop="address" label="回复方式" align='center'>
</el-table-column>
</el-table>
</el-main>
</el-container>
</el-container>
</
div
>
</
div
>
<
script
>
<
script
>
...
...
src/main/webapp/WEB-INF/manager/mweixin/menu.ftl
View file @
352235a1
...
@@ -52,10 +52,7 @@
...
@@ -52,10 +52,7 @@
},
{
},
{
title
:
'关键词回复'
title
:
'关键词回复'
}
]
}
]
},{
}
]
,
//左侧导航列表
title
:
'新建图文'
}
]
,
//左侧导航列表
menuActive
:
'图文'
,
//选中
menuActive
:
'图文'
,
//选中
}
}
}
)
}
)
...
...
src/main/webapp/WEB-INF/manager/mweixin/menu/index.ftl
View file @
352235a1
...
@@ -2,55 +2,64 @@
...
@@ -2,55 +2,64 @@
<
link
rel="stylesheet" href="../../../../static/mweixin/css/custom-menu.css">
<
link
rel="stylesheet" href="../../../../static/mweixin/css/custom-menu.css">
<
div
id="custom-menu" class="ms-custom-menu ms-weixin-content" v-if="menuVue.menuActive == '自定义菜单'">
<
div
id="custom-menu" class="ms-custom-menu ms-weixin-content" v-if="menuVue.menuActive == '自定义菜单'">
<el-container class="ms-custom-container">
<el-container class="ms-custom-container">
<el-aside>
<el-header class="ms-header" height="50px">
<el-container>
<el-row>
<el-header>公众号</el-header>
<el-button type="danger" size="small" icon="el-icon-delet">删除</el-button>
<el-main></el-main>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
<el-footer>
<el-button type="success" class="ms-fr" size="small" icon="el-icon-tickets">保存</el-button>
<el-button icon="el-icon-date"></el-button>
</el-row>
<div class="ms-create-menu">
</el-header>
<div class="ms-create-sub-menu">
<el-container class="ms-container">
<el-button type="primary" @click='addSubMenuShow = !addSubMenuShow'>新建菜单</el-button>
<el-aside>
<el-button icon="el-icon-plus" v-show='addSubMenuShow'></el-button>
<el-container>
<el-header>公众号</el-header>
<el-main></el-main>
<el-footer>
<el-button icon="el-icon-date"></el-button>
<div class="ms-create-menu">
<div class="ms-create-sub-menu">
<el-button type="primary" @click='addSubMenuShow = !addSubMenuShow'>新建菜单</el-button>
<el-button icon="el-icon-plus" v-show='addSubMenuShow'></el-button>
</div>
<el-button icon="el-icon-plus"></el-button>
</div>
</div>
<el-button icon="el-icon-plus"></el-button>
</el-footer>
</el-container>
</el-aside>
<el-main>
<el-card class="custom-menu-card" shadow="never">
<div slot="header" class="clearfix">
<span>新建菜单</span>
</div>
</div>
</el-footer>
<el-form ref="customMenuForm" :rule='customMenuFormRules' :model="customMenuForm" label-width="80px">
</el-container>
<el-form-item label="菜单名称" prop='name' class="ms-custom-menu-name">
</el-aside>
<el-input v-model="customMenuForm.name" size='mini'></el-input>
<el-main>
<span>菜单名称字数不多于5个汉字或10个字母</span>
<el-card class="custom-menu-card" shadow="never">
</el-form-item>
<div slot="header" class="clearfix">
<el-form-item label="菜单内容" class="ms-custom-menu-content">
<span>新建菜单</span>
<el-tabs v-model="activeName" @tab-click="">
</div>
<el-tab-pane label="图片" name="picture">
<el-form ref="customMenuForm" :rule='customMenuFormRules' :model="customMenuForm" label-width="80px">
<span slot="label">
<el-form-item label="菜单名称" prop='name' class="ms-custom-menu-name">
<i class="el-icon-picture"></i>图片</span>
<el-input v-model="customMenuForm.name" size='mini'></el-input>
<div onclick="materialBankFormVue.open()">
<span>菜单名称字数不多于5个汉字或10个字母</span>
<i class="el-icon-picture-outline"></i>
</el-form-item>
<span>从素材库选择</span>
<el-form-item label="菜单内容" class="ms-custom-menu-content">
</div>
<el-tabs v-model="activeName" @tab-click="">
<div onclick="newPicFormVue.open()">
<el-tab-pane label="图片" name="picture">
<i class="el-icon-plus"></i>
<span slot="label">
<span>新建图片</span>
<i class="el-icon-picture"></i>图片</span>
</div>
<div onclick="materialBankFormVue.open()">
</el-tab-pane>
<i class="el-icon-picture-outline"></i>
<el-tab-pane label="图文管理" name="article">
<span>从素材库选择</span>
<span slot="label">
</div>
<i class="el-icon-picture"></i>图文管理</span>
<div onclick="newPicFormVue.open()">
</el-tab-pane>
<i class="el-icon-plus"></i>
</el-tabs>
<span>新建图片</span>
</el-form-item>
</div>
</el-form>
</el-tab-pane>
</el-card>
<el-tab-pane label="图文管理" name="article">
</el-main>
<span slot="label">
</el-container>
<i class="el-icon-picture"></i>图文管理</span>
</el-tab-pane>
</el-tabs>
</el-form-item>
</el-form>
</el-card>
</el-main>
</el-container>
</el-container>
</
div
>
</
div
>
<
script
>
<
script
>
...
@@ -78,7 +87,7 @@
...
@@ -78,7 +87,7 @@
activeName
:
'
picture
'
activeName
:
'
picture
'
},
},
methods
:
{
methods
:
{
}
}
}
)
}
)
...
...
src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
View file @
352235a1
<!--
消息回复 && 关注回复 -->
<!--
消息回复 && 关注回复 -->
<
link
rel="stylesheet" href="../../../../static/mweixin/css/message-reply.css">
<
link
rel="stylesheet" href="../../../../static/mweixin/css/message-reply.css">
<
div
id="message-reply" class="ms-message-reply ms-container ms-weixin-content" v-if="menuVue.menuActive == '消息回复'||menuVue.menuActive == '关注时回复'">
<
div
id="message-reply" class="ms-message-reply ms-weixin-content" v-if="menuVue.menuActive == '消息回复'||menuVue.menuActive == '关注时回复'">
<div>回复内容</div>
<el-container class="ms-admin-message-reply">
<el-tabs v-model="activeName" @tab-click="" class="message-reply-tabs">
<el-header class="ms-header" height="50px">
<el-tab-pane label="文字" name="text">
<el-row>
<el-form ref="messageReplyForm" :rules='messageReplyFormRules' :model="messageReplyForm">
<el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
<el-form-item class="ms-message-reply-content">
<el-button type="success" class="ms-fr" size="small" icon="el-icon-tickets">保存</el-button>
<el-input type="textarea" v-model="messageReplyForm.reply" :autosize="
{
minRows
:
4
,
maxRows
:
4
}
" resize='none'>
</el-row>
</el-input>
</el-header>
<i class="el-icon-delete" @click="messageReplyForm.reply = ''"></i>
<el-container>
<div class="footer">
<el-header class="ms-tr ms-header">
<i class="el-icon-star-off"></i>
<el-input size="medium" placeholder="请输入内容" suffix-icon="el-icon-search">
<a>插入超链接</a>
</el-input>
</div>
</el-header>
</el-form-item>
<em-main class="ms-container">
</el-form>
<div>回复内容</div>
</el-form>
<el-tabs v-model="activeName" @tab-click="" class="message-reply-tabs">
</el-tab-pane>
<el-tab-pane label="文字" name="text">
<el-tab-pane label="图片" name="picture">
<el-form ref="messageReplyForm" :rules='messageReplyFormRules' :model="messageReplyForm">
</el-tab-pane>
<el-form-item class="ms-message-reply-content">
<el-tab-pane label="图文" name="article">
<el-input type="textarea" v-model="messageReplyForm.reply" :autosize="
{
minRows
:
4
,
maxRows
:
4
}
" resize='none'>
</el-tab-pane>
</el-input>
</el-tabs>
<i class="el-icon-delete" @click="messageReplyForm.reply = ''"></i>
<div class="footer">
<i class="el-icon-star-off"></i>
<a>插入超链接</a>
</div>
</el-form-item>
</el-form>
</el-form>
</el-tab-pane>
<el-tab-pane label="图片" name="picture">
</el-tab-pane>
<el-tab-pane label="图文" name="article">
</el-tab-pane>
</el-tabs>
</em-main>
</el-container>
</el-container>
</
div
>
</
div
>
<
script
>
<
script
>
var messageReplyVue = new Vue(
{
var messageReplyVue = new Vue(
{
...
...
src/main/webapp/WEB-INF/manager/mweixin/metarial/form.ftl
0 → 100644
View file @
352235a1
<!--
新建图文 -->
<
link
rel="stylesheet" href="../../../../static/mweixin/css/article.css">
<
div
id='article' class="ms-article" v-show="menuVue.menuActive == '新建图文'">
<el-container class="ms-admin-picture">
<!--右侧头部-->
<el-header class="ms-header" height="50px">
<el-row>
<el-button class="ms-fr" size="small" icon="el-icon-arrow-left" @click="menuVue.menuActive = '关键词回复'">返回</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">更新</el-button>
<el-button class="ms-fr" type="success" size="small" icon="el-icon-tickets" @click="menuVue.menuActive = '关键词回复'">保存</el-button>
</el-row>
</el-header>
<el-container class=" ms-container">
<el-aside width="280px">
<div class="ms-main-article">
<img :src='mainArticle.basicPic'>
<div class="ms-main-article-mask"></div>
<span v-text='mainArticle.basicTitle'></span>
</div>
<draggable v-model="subArticleList" :options="
{
draggable
:
'
.ms-article-item
'
}
">
<div v-for="(element,index) in subArticleList" :key="index" class="ms-article-item">
<p>
<span v-text='element.basicTitle'></span>
</p>
<img :src='element.basicThumbnailsl'>
</div>
</draggable>
<div class="ms-article-footer">
<el-button size='medium' icon='el-icon-plus' @click='addArticle'>添加图文</el-button>
</div>
</el-aside>
<el-main>
<div class="ms-main-header">
<el-upload class="ms-pic-upload" :show-file-list="false">
<img v-if="false" :src="false" class="avatar">
<i v-else class="el-icon-picture"></i>
<span>添加封面</span>
</el-upload>
<el-form label-width='40px'>
<el-form-item label="标题" prop="">
<el-input size='small' placeholder="请输入图文标题" v-model='articleForm.basicTitle' @input="resetWordNum('title')">
<span slot='suffix' v-text="titleWordNumber+'/64'"></span>
</el-input>
</el-form-item>
<el-form-item label="作者" prop="">
<el-input size='small' placeholder="请输入图文作者" v-model='articleForm.articleAuthor' @input="resetWordNum('author')">
<span slot='suffix' v-text="authorWordNumber+'/8'"></span>
</el-input>
</el-form-item>
<el-form-item label="摘要" prop="">
<el-input size='small' type='textarea' placeholder="选填,如果不写会默认抓取正文前54个字" :autosize="
{
minRows
:
2
,
maxRows
:
2
}
" resize='none' v-model='articleForm.basicDescription' @input="resetWordNum('desc')">
<span slot='suffix' v-text="descWordNumber+'/54'"></span>
</el-input>
</el-form-item>
</el-form>
</div>
<div class="ms-main-body">
<!-- 百度编辑器 -->
<script id="ueditorArticle" type="text/plain" name="articleContent"></script>
</div>
</el-main>
</el-container>
</el-container>
</
div
>
<
script
>
var articleVue = new Vue(
{
el
:
'#
article
'
,
data
:
{
mainArticle
:
{
basicPic
:
'
https
:
//
img03
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125112329
'
,
//主图
basicTitle
:
'国足
0-3
不敌伊朗被淘汰,赛后还有一个消息'
,
//标题
},
//
文章列表
subArticleList
:
[
{
basicTitle
:
'硬核!年会当着老板面唱,“干活的干不过写
PPT
的……'
,
basicThumbnailsl
:
'
https
:
//
img01
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125112509
'
},
{
basicTitle
:
'知否知否,党组织犯错,处理有多严?'
,
basicThumbnailsl
:
'
https
:
//
img01
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125112509
'
},
{
basicTitle
:
'没有奇迹,国足
0-3
不敌伊朗止步八强!'
,
basicThumbnailsl
:
'
https
:
//
img03
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125113148
'
}
]
,
titleWordNumber
:
64
,
//图文标题剩余字数
authorWordNumber
:
8
,
//图文作者剩余字数
descWordNumber
:
54
,
//摘要
editor
:
null
,
//富文本实例
articleForm
:
{
basicTitle
:
''
,
//标题
articleAuthor
:
''
,
//作者
basicDescription
:
''
,
//摘要
articleContent
:
''
,
//正文
}
},
methods
:
{
//
添加文章
addArticle
:
function
()
{
if
(
this
.subArticleList.length
>
6
)
{
this
.
$notify
({
title
:
'添加失败'
,
message
:
'最大图文数量为
7
'
,
type
:
'
warning
'
})
;
return
;
}
this
.subArticleList.push
({
basicTitle
:
'新增文章标题'
,
basicThumbnailsl
:
'
https
:
//
img03
.sogoucdn.com
/
app
/
a
/
100520091
/
20190125113148
'
})
},
//
计算剩余字数
resetWordNum
:
function
(
type
)
{
}
},
mounted
:
function
()
{
let
that
=
this
;
//富文本加载
var
URL
=
window
.UEDITOR_HOME_URL
||
"http://mpm.mingsoft.net/static/plugins/ueditor/1.4.3.1/"
;
if
(
this
.editor
==
null
)
{
this
.editor
=
UE
.getEditor
(
'
ueditorArticle
'
,
{
toolbars
:
[
['
fullscreen
'
,
'
undo
'
,
'
redo
'
,
'|'
,
'
bold
'
,
'
italic
'
,
'
underline
'
,
'
strikethrough
'
,
'
removeformat
'
,
'
blockquote
'
,
'|'
,
'
forecolor
'
,
'
backcolor
'
,
'
insertorderedlist
'
,
'
insertunorderedlist
'
,
'|'
,
'
attachment
'
,
'
simpleupload
'
,
'
link
'
]
]
,
imageScaleEnabled
:
true
,
//
服务器统一请求接口路径
serverUrl
:
URL
+
"jsp/msController.jsp?jsonConfig=%7BvideoUrlPrefix:'http://mpm.mingsoft.net/',fileUrlPrefix:'http://mpm.mingsoft.net/',imageUrlPrefix:'http://mpm.mingsoft.net/',imagePathFormat:'/upload/pm/editor/%7Btime%7D',filePathFormat:'/upload/pm/editor/%7Btime%7D',videoPathFormat:'/upload/pm/editor/%7Btime%7D'%7D"
,
autoHeightEnabled
:
true
,
autoFloatEnabled
:
true
,
scaleEnabled
:
false
,
compressSide
:
0
,
maxImageSideLength
:
2000
,
maximumWords
:
80000
,
zIndex
:
10000
,
elementPathEnabled
:
false
,
wordCount
:
false
,
initialFrameWidth
:
'
100
%'
,
initialFrameHeight
:
500
,
})
;
this
.editor.ready
(
function
()
{
var
a
=
$
(
"#ueditor_0"
)
.contents
()[
0
]
.activeElement;
$
(
a
)
.addClass
(
"ms-webkit-scrollbar"
)
.before
(
"<style>.ms-webkit-scrollbar::-webkit-scrollbar,::-webkit-scrollbar{width:10px;/*滚动条宽度*/height:1.5%;/*滚动条高度*/}/*定义滚动条轨道内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-track,::-webkit-scrollbar-track{border-radius:10px;/*滚动条的背景区域的圆角*/background-color:#eeeeee;/*滚动条的背景颜色*/}.ms-task-content::-webkit-scrollbar-track{border-radius:10px;background-color:#FFFFFF;}/*定义滑块内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb{border-radius:10px;/*滚动条的圆角*/background-color:#dddddd;/*滚动条的背景颜色*/}</style>"
)
;
})
;
}
}
}
)
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/mweixin/metarial/index.ftl
View file @
352235a1
...
@@ -3,9 +3,9 @@
...
@@ -3,9 +3,9 @@
<
div
id="material-list-vue" v-if="menuVue.menuActive == '图文'" class="ms-weixin-content">
<
div
id="material-list-vue" v-if="menuVue.menuActive == '图文'" class="ms-weixin-content">
<el-container>
<el-container>
<!--右侧头部-->
<!--右侧头部-->
<el-header class="ms-header" height="5
2
px">
<el-header class="ms-header" height="5
0
px">
<el-row>
<el-row>
<el-button type="primary" size="small" icon="el-icon-plus">添加</el-button>
<el-button type="primary" size="small" icon="el-icon-plus"
@click="menuVue.menuActive = '新建图文'"
>添加</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button>
<el-button class="ms-fr" size="small">同步微信素材</el-button>
<el-button class="ms-fr" size="small">同步微信素材</el-button>
</el-row>
</el-row>
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
<p v-text="material.det"></p>
<p v-text="material.det"></p>
</div>
</div>
<div class="footer">
<div class="footer">
<i class="el-icon-edit"></i>
<i class="el-icon-edit"
@click="menuVue.menuActive = '新建图文'"
></i>
<em></em>
<em></em>
<i class="el-icon-delete"></i>
<i class="el-icon-delete"></i>
</div>
</div>
...
...
src/main/webapp/WEB-INF/manager/mweixin/picture/index.ftl
View file @
352235a1
<!--图文素材页-->
<!--图文素材页-->
<
link
rel="stylesheet" href="../../../static/mweixin/css/picture-list.css">
<
link
rel="stylesheet" href="../../../static/mweixin/css/picture-list.css">
<
div
id="picture-list-vue" v-if="menuVue.menuActive == '图片'" class="ms-weixin-content">
<
div
id="picture-list-vue" v-if="menuVue.menuActive == '图片'" class="ms-weixin-content">
<el-container>
<el-container
class="ms-admin-picture"
>
<!--右侧头部-->
<!--右侧头部-->
<el-header class="ms-header" height="5
2
px">
<el-header class="ms-header" height="5
0
px">
<el-row>
<el-row>
<el-button type="primary" size="small" icon="el-icon-plus">添加</el-button>
<el-button type="primary" size="small" icon="el-icon-plus">添加</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button>
...
@@ -25,22 +25,42 @@
...
@@ -25,22 +25,42 @@
</el-header>
</el-header>
<!--素材列表-->
<!--素材列表-->
<el-main class="ms-admin-picture-list">
<el-main class="ms-admin-picture-list">
<div class="ms-admin-picture-item" v-for="picture in pictureList">
<el-container>
<div class="body">
<el-aside class="ms-admin-picture-item">
<img :src="picture.img" />
<div v-for="picture in pictureList">
<div class="body">
<img :src="picture.img" />
<div>
<input type="checkbox" />
<span v-text="picture.title"></span>
</div>
</div>
<div class="footer">
<i class="el-icon-edit"></i>
<em></em>
<i class="el-icon-download"></i>
<em></em>
<i class="el-icon-delete"></i>
</div>
</div>
</el-aside>
<el-main class="ms-admin-picture-show">
<span>全部图片(6)</span>
<div>
<span>小米(1)</span>
<i class="el-icon-edit"></i>
<i class="el-icon-delete"></i>
</div>
<div>
<div>
<input type="checkbox" />
<span>小米(1)</span>
<span v-text="picture.title"></span>
<i class="el-icon-edit"></i>
<i class="el-icon-delete"></i>
</div>
</div>
</div>
<p>
<div class="footer">
<i class="el-icon-plus"></i>新建分组</p>
<i class="el-icon-edit"></i>
</el-main>
<em></em>
</el-container>
<i class="el-icon-delete"></i>
<em></em>
<i class="el-icon-delete"></i>
</div>
</div>
</el-main>
</el-main>
</el-container>
</el-container>
</el-container>
</el-container>
...
...
src/main/webapp/WEB-INF/manager/mweixin/weixin.ftl
View file @
352235a1
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
<body>
<body>
<!--#include virtual="menu.ftl" -->
<!--#include virtual="menu.ftl" -->
<!--#include virtual="metarial/index.ftl" -->
<!--#include virtual="metarial/index.ftl" -->
<!--#include virtual="metarial/form.ftl" -->
<!--#include virtual="picture/index.ftl" -->
<!--#include virtual="picture/index.ftl" -->
<!--#include virtual="keyword/index.ftl" -->
<!--#include virtual="keyword/index.ftl" -->
<!--#include virtual="keyword/form.ftl" -->
<!--#include virtual="keyword/form.ftl" -->
...
@@ -16,6 +17,5 @@
...
@@ -16,6 +17,5 @@
<!--#include virtual="menu/new-pic-form.ftl" -->
<!--#include virtual="menu/new-pic-form.ftl" -->
<!--#include virtual="menu/material-bank-form.ftl" -->
<!--#include virtual="menu/material-bank-form.ftl" -->
<!--#include virtual="message/index.ftl" -->
<!--#include virtual="message/index.ftl" -->
<!--#include virtual="article/index.ftl" -->
</body>
</body>
</
html
>
</
html
>
\ No newline at end of file
src/main/webapp/static/ms-admin/4.7.0/css/login.css
View file @
352235a1
...
@@ -94,9 +94,6 @@ textarea::-webkit-input-placeholder {
...
@@ -94,9 +94,6 @@ textarea::-webkit-input-placeholder {
.ms-tr
{
.ms-tr
{
text-align
:
right
;
text-align
:
right
;
}
}
.el-button
+
.el-button
{
margin-left
:
0
;
}
.ms-weixin-content
{
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
width
:
calc
(
100%
-
140px
);
}
}
...
...
src/main/webapp/static/ms-admin/4.7.0/less/app.less
View file @
352235a1
...
@@ -65,7 +65,7 @@ textarea::-webkit-input-placeholder {
...
@@ -65,7 +65,7 @@ textarea::-webkit-input-placeholder {
.ms-container {
.ms-container {
margin: 12px;
margin: 12px;
height: ~'calc(100% - 24px)';
height: ~'calc(100% - 24px)';
padding:
14px 14px 0
14px;
padding: 14px;
background: #fff;
background: #fff;
}
}
...
@@ -74,7 +74,10 @@ textarea::-webkit-input-placeholder {
...
@@ -74,7 +74,10 @@ textarea::-webkit-input-placeholder {
margin: 0;
margin: 0;
border-bottom: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background: #fff;
background: #fff;
height: 50px
height: 50px;
button{
height: 30px;
}
}
}
.ms-pagination {
.ms-pagination {
...
@@ -91,7 +94,7 @@ textarea::-webkit-input-placeholder {
...
@@ -91,7 +94,7 @@ textarea::-webkit-input-placeholder {
}
}
.el-button+.el-button {
.el-button+.el-button {
margin-left: 0
//
margin-left: 0
}
}
.ms-weixin-content{
.ms-weixin-content{
...
@@ -113,4 +116,14 @@ textarea::-webkit-input-placeholder {
...
@@ -113,4 +116,14 @@ textarea::-webkit-input-placeholder {
border-top: 1px solid @borderColor;
border-top: 1px solid @borderColor;
padding: 15px !important;
padding: 15px !important;
}
}
}
}
\ No newline at end of file
//选中样式
.ms-hover{
cursor: pointer;
&:hover{
color: @themeColor;
background: #fff;
border-color: @themeColor;
}
}
src/main/webapp/static/ms-admin/4.7.0/less/css/login.css
0 → 100644
View file @
352235a1
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html
,
body
{
min-height
:
100vh
;
width
:
100vw
;
background-color
:
#eee
;
margin
:
0
;
display
:
flex
;
font-weight
:
initial
!important
;
font-size
:
14px
!important
;
color
:
#333
!important
;
}
html
*,
body
*
{
text-decoration
:
none
!important
;
font-family
:
Verdana
,
Arial
,
Helvetica
,
sans-serif
;
box-sizing
:
border-box
;
}
.ms-ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
display
:
block
;
}
.ms-align-center
{
display
:
flex
;
align-items
:
center
;
}
input
::-webkit-input-placeholder
,
textarea
::-webkit-input-placeholder
{
font-weight
:
initial
;
font-size
:
12px
;
color
:
#aaa
;
resize
:
none
;
}
*
::-webkit-scrollbar
{
width
:
8px
;
height
:
8px
;
}
/*定义滚动条轨道 内阴影+圆角*/
*
::-webkit-scrollbar-track
{
border-radius
:
10px
;
/*滚动条的背景区域的圆角*/
background-color
:
#eee
;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*
::-webkit-scrollbar-thumb
{
border-radius
:
10px
;
/*滚动条的圆角*/
background-color
:
#ddd
;
/*滚动条的背景颜色*/
}
.ms-container
{
margin
:
12px
;
height
:
calc
(
100%
-
24px
);
padding
:
14px
;
background
:
#fff
;
}
.ms-header
{
padding
:
10px
;
margin
:
0
;
border-bottom
:
1px
solid
#ddd
;
background
:
#fff
;
height
:
50px
;
}
.ms-header
button
{
height
:
30px
;
}
.ms-pagination
{
padding
:
20px
0
;
text-align
:
right
;
}
.ms-fr
{
float
:
right
;
}
.ms-tr
{
text-align
:
right
;
}
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
}
.ms-weixin-dialog
.el-dialog__header
{
height
:
55px
;
box-sizing
:
border-box
;
padding
:
10px
10px
25px
10px
;
border-bottom
:
1px
solid
#ddd
;
}
.ms-weixin-dialog
.el-dialog__header
.el-dialog__title
{
font-weight
:
bold
;
font-size
:
14px
;
color
:
#333
;
}
.ms-weixin-dialog
.el-dialog__footer
{
border-top
:
1px
solid
#ddd
;
padding
:
15px
!important
;
}
.ms-hover
{
cursor
:
pointer
;
}
.ms-hover
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.login
{
width
:
100vw
;
height
:
100vh
;
}
.login
.ms-admin-login-container
{
height
:
100%
;
background
:
url('../images/login-bg.jpg')
center
no-repeat
;
background-size
:
cover
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
680px
;
height
:
320px
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
>
img
{
flex
:
1
;
display
:
inline-block
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
{
flex
:
1
;
height
:
320px
;
background
:
#fff
;
padding
:
39px
54px
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
h1
{
line-height
:
1
;
font-weight
:
initial
;
font-size
:
12px
;
color
:
#999999
;
margin
:
0
0
30px
0
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
h1
span
{
font-weight
:
initial
;
font-size
:
16px
;
color
:
#0099ff
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item
{
margin-bottom
:
12px
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item
>
div
{
margin-left
:
0
!important
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item
.el-form-item__content
,
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item
.el-input
,
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item
input
{
height
:
34px
!important
;
line-height
:
34px
!important
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-code
.el-form-item__content
{
display
:
flex
;
justify-content
:
space-between
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-code
.el-form-item__content
.el-input__inner
,
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-code
.el-form-item__content
.el-input
{
width
:
110px
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-code
.el-form-item__content
>
img
{
width
:
66px
;
height
:
34px
;
margin
:
0
6px
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-code
.el-form-item__content
p
{
display
:
flex
;
justify-content
:
space-between
;
line-height
:
1
;
flex-direction
:
column
;
margin
:
0
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-code
.el-form-item__content
p
span
:nth-of-type
(
1
)
{
font-weight
:
initial
;
font-size
:
10px
;
color
:
#999999
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-code
.el-form-item__content
p
span
:nth-of-type
(
2
)
{
font-weight
:
initial
;
font-size
:
10px
;
color
:
#0099ff
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-checkout
.el-form-item__content
,
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-checkout
.el-input
,
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-form-item-checkout
input
{
height
:
auto
!important
;
line-height
:
1px
!important
;
}
.login
.ms-admin-login-container
.ms-admin-login-main
.ms-admin-login-warp
.ms-admin-login-form
.ms-admin-login-btn
{
width
:
100%
;
height
:
34px
;
line-height
:
5px
;
}
src/main/webapp/static/ms-admin/4.7.0/less/login.less
View file @
352235a1
...
@@ -2,10 +2,10 @@
...
@@ -2,10 +2,10 @@
// 登录
// 登录
.login{
.login{
.ms-width-height(100vw,100vh);
.ms-width-height(100vw,100vh);
.ms-admin-login-container{
.ms-admin-login-container{
height: 100%;
height: 100%;
background: url('../images/login-bg.jpg') center no-repeat;
background: url('../images/login-bg.jpg') center no-repeat;
background-size:cover;
background-size:cover;
.ms-admin-login-main{
.ms-admin-login-main{
.ms-flex(center);
.ms-flex(center);
align-items: center;
align-items: center;
...
...
src/main/webapp/static/mweixin/article.less
View file @
352235a1
...
@@ -6,11 +6,15 @@
...
@@ -6,11 +6,15 @@
background: transparent !important;
background: transparent !important;
padding: 0 !important;
padding: 0 !important;
.el-container {
.el-container {
.ms-container {
padding: 0;
background: transparent;
align-items: flex-start;
}
// 侧边
// 侧边
.el-aside {
.el-aside {
padding: 14px;
padding: 14px;
background: #fff;
background: #fff;
height: 475px;
// 主文章
// 主文章
.ms-main-article {
.ms-main-article {
position: relative;
position: relative;
...
@@ -45,7 +49,7 @@
...
@@ -45,7 +49,7 @@
span {
span {
width: 100%;
width: 100%;
display: inline-block;
display: inline-block;
.ms-ellipsis-clamp(
1
);
.ms-ellipsis-clamp(
2
);
}
}
}
}
img {
img {
...
@@ -116,7 +120,8 @@
...
@@ -116,7 +120,8 @@
.ms-main-body {
.ms-main-body {
height: calc(~'100% - 180px');
height: calc(~'100% - 180px');
background: #fff;
background: #fff;
.edui-default{
.edui-default {
border: none;
.edui-editor {
.edui-editor {
.edui-editor-toolbarboxouter {
.edui-editor-toolbarboxouter {
background-color: none !important;
background-color: none !important;
...
...
src/main/webapp/static/mweixin/css/article.css
View file @
352235a1
...
@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
...
@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
.ms-container
{
.ms-container
{
margin
:
12px
;
margin
:
12px
;
height
:
calc
(
100%
-
24px
);
height
:
calc
(
100%
-
24px
);
padding
:
14px
14px
0
14px
;
padding
:
14px
;
background
:
#fff
;
background
:
#fff
;
}
}
.ms-header
{
.ms-header
{
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background
:
#fff
;
background
:
#fff
;
height
:
50px
;
height
:
50px
;
}
}
.ms-header
button
{
height
:
30px
;
}
.ms-pagination
{
.ms-pagination
{
padding
:
20px
0
;
padding
:
20px
0
;
text-align
:
right
;
text-align
:
right
;
...
@@ -94,9 +97,6 @@ textarea::-webkit-input-placeholder {
...
@@ -94,9 +97,6 @@ textarea::-webkit-input-placeholder {
.ms-tr
{
.ms-tr
{
text-align
:
right
;
text-align
:
right
;
}
}
.el-button
+
.el-button
{
margin-left
:
0
;
}
.ms-weixin-content
{
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
width
:
calc
(
100%
-
140px
);
}
}
...
@@ -115,6 +115,14 @@ textarea::-webkit-input-placeholder {
...
@@ -115,6 +115,14 @@ textarea::-webkit-input-placeholder {
border-top
:
1px
solid
#ddd
;
border-top
:
1px
solid
#ddd
;
padding
:
15px
!important
;
padding
:
15px
!important
;
}
}
.ms-hover
{
cursor
:
pointer
;
}
.ms-hover
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.ms-article
{
.ms-article
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
...
@@ -122,10 +130,14 @@ textarea::-webkit-input-placeholder {
...
@@ -122,10 +130,14 @@ textarea::-webkit-input-placeholder {
background
:
transparent
!important
;
background
:
transparent
!important
;
padding
:
0
!important
;
padding
:
0
!important
;
}
}
.ms-article
.el-container
.ms-container
{
padding
:
0
;
background
:
transparent
;
align-items
:
flex-start
;
}
.ms-article
.el-container
.el-aside
{
.ms-article
.el-container
.el-aside
{
padding
:
14px
;
padding
:
14px
;
background
:
#fff
;
background
:
#fff
;
height
:
475px
;
}
}
.ms-article
.el-container
.el-aside
.ms-main-article
{
.ms-article
.el-container
.el-aside
.ms-main-article
{
position
:
relative
;
position
:
relative
;
...
@@ -136,7 +148,7 @@ textarea::-webkit-input-placeholder {
...
@@ -136,7 +148,7 @@ textarea::-webkit-input-placeholder {
}
}
.ms-article
.el-container
.el-aside
.ms-main-article
.ms-main-article-mask
{
.ms-article
.el-container
.el-aside
.ms-main-article
.ms-main-article-mask
{
background
:
#000
;
background
:
#000
;
opacity
:
.2
;
opacity
:
0
.2
;
width
:
100%
;
width
:
100%
;
height
:
146px
;
height
:
146px
;
position
:
absolute
;
position
:
absolute
;
...
@@ -174,7 +186,7 @@ textarea::-webkit-input-placeholder {
...
@@ -174,7 +186,7 @@ textarea::-webkit-input-placeholder {
overflow
:
hidden
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
display
:
-webkit-box
;
-webkit-line-clamp
:
1
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
-webkit-box-orient
:
vertical
;
}
}
.ms-article
.el-container
.el-aside
.ms-article-item
img
{
.ms-article
.el-container
.el-aside
.ms-article-item
img
{
...
@@ -257,6 +269,9 @@ textarea::-webkit-input-placeholder {
...
@@ -257,6 +269,9 @@ textarea::-webkit-input-placeholder {
height
:
calc
(
100%
-
180px
);
height
:
calc
(
100%
-
180px
);
background
:
#fff
;
background
:
#fff
;
}
}
.ms-article
.el-container
.el-main
.ms-main-body
.edui-default
{
border
:
none
;
}
.ms-article
.el-container
.el-main
.ms-main-body
.edui-default
.edui-editor
.edui-editor-toolbarboxouter
{
.ms-article
.el-container
.el-main
.ms-main-body
.edui-default
.edui-editor
.edui-editor-toolbarboxouter
{
background-color
:
none
!important
;
background-color
:
none
!important
;
background-image
:
none
!important
;
background-image
:
none
!important
;
...
...
src/main/webapp/static/mweixin/css/custom-menu.css
View file @
352235a1
...
@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
...
@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
textarea
::-webkit-input-placeholder
{
textarea
::-webkit-input-placeholder
{
font-weight
:
initial
;
font-weight
:
initial
;
font-size
:
12px
;
font-size
:
12px
;
color
:
#
999
;
color
:
#
aaa
;
resize
:
none
;
resize
:
none
;
}
}
*
::-webkit-scrollbar
{
*
::-webkit-scrollbar
{
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background
:
#fff
;
background
:
#fff
;
height
:
50px
;
height
:
50px
;
}
}
.ms-header
button
{
height
:
30px
;
}
.ms-pagination
{
.ms-pagination
{
padding
:
20px
0
;
padding
:
20px
0
;
text-align
:
right
;
text-align
:
right
;
...
@@ -94,20 +97,43 @@ textarea::-webkit-input-placeholder {
...
@@ -94,20 +97,43 @@ textarea::-webkit-input-placeholder {
.ms-tr
{
.ms-tr
{
text-align
:
right
;
text-align
:
right
;
}
}
.el-button
+
.el-button
{
margin-left
:
0
;
}
.ms-weixin-content
{
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
width
:
calc
(
100%
-
140px
);
}
}
.ms-weixin-dialog
.el-dialog__header
{
height
:
55px
;
box-sizing
:
border-box
;
padding
:
10px
10px
25px
10px
;
border-bottom
:
1px
solid
#ddd
;
}
.ms-weixin-dialog
.el-dialog__header
.el-dialog__title
{
font-weight
:
bold
;
font-size
:
14px
;
color
:
#333
;
}
.ms-weixin-dialog
.el-dialog__footer
{
border-top
:
1px
solid
#ddd
;
padding
:
15px
!important
;
}
.ms-hover
{
cursor
:
pointer
;
}
.ms-hover
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.ms-custom-menu
{
.ms-custom-menu
{
color
:
#f2f2f6
;
color
:
#f2f2f6
;
}
}
.ms-custom-menu
.ms-custom-container
{
.ms-custom-menu
.ms-custom-container
{
margin
:
10px
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
.ms-custom-menu
.ms-custom-container
>
.ms-container
{
padding
:
0
;
background
:
transparent
;
}
.ms-custom-menu
.ms-custom-container
.el-aside
{
.ms-custom-menu
.ms-custom-container
.el-aside
{
background
:
#fff
;
background
:
#fff
;
width
:
280px
!important
;
width
:
280px
!important
;
...
@@ -204,7 +230,7 @@ textarea::-webkit-input-placeholder {
...
@@ -204,7 +230,7 @@ textarea::-webkit-input-placeholder {
margin-left
:
10px
;
margin-left
:
10px
;
font-weight
:
initial
;
font-weight
:
initial
;
font-size
:
12px
;
font-size
:
12px
;
color
:
#
999
;
color
:
#
aaa
;
}
}
.ms-custom-menu
.ms-custom-container
.el-main
.custom-menu-card
.ms-custom-menu-content
.el-tabs
{
.ms-custom-menu
.ms-custom-container
.el-main
.custom-menu-card
.ms-custom-menu-content
.el-tabs
{
border
:
1px
solid
#ddd
;
border
:
1px
solid
#ddd
;
...
...
src/main/webapp/static/mweixin/css/keyword-list.css
View file @
352235a1
...
@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
...
@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
textarea
::-webkit-input-placeholder
{
textarea
::-webkit-input-placeholder
{
font-weight
:
initial
;
font-weight
:
initial
;
font-size
:
12px
;
font-size
:
12px
;
color
:
#
999
;
color
:
#
aaa
;
resize
:
none
;
resize
:
none
;
}
}
*
::-webkit-scrollbar
{
*
::-webkit-scrollbar
{
...
@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
...
@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
.ms-container
{
.ms-container
{
margin
:
12px
;
margin
:
12px
;
height
:
calc
(
100%
-
24px
);
height
:
calc
(
100%
-
24px
);
padding
:
14px
14px
0
14px
;
padding
:
14px
;
background
:
#fff
;
background
:
#fff
;
}
}
.ms-header
{
.ms-header
{
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background
:
#fff
;
background
:
#fff
;
height
:
50px
;
height
:
50px
;
}
}
.ms-header
button
{
height
:
30px
;
}
.ms-pagination
{
.ms-pagination
{
padding
:
20px
0
;
padding
:
20px
0
;
text-align
:
right
;
text-align
:
right
;
...
@@ -94,12 +97,29 @@ textarea::-webkit-input-placeholder {
...
@@ -94,12 +97,29 @@ textarea::-webkit-input-placeholder {
.ms-tr
{
.ms-tr
{
text-align
:
right
;
text-align
:
right
;
}
}
.el-button
+
.el-button
{
margin-left
:
0
;
}
.ms-weixin-content
{
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
width
:
calc
(
100%
-
140px
);
}
}
.keyword-list
{
.ms-weixin-dialog
.el-dialog__header
{
padding
:
14px
;
height
:
55px
;
box-sizing
:
border-box
;
padding
:
10px
10px
25px
10px
;
border-bottom
:
1px
solid
#ddd
;
}
.ms-weixin-dialog
.el-dialog__header
.el-dialog__title
{
font-weight
:
bold
;
font-size
:
14px
;
color
:
#333
;
}
.ms-weixin-dialog
.el-dialog__footer
{
border-top
:
1px
solid
#ddd
;
padding
:
15px
!important
;
}
.ms-hover
{
cursor
:
pointer
;
}
.ms-hover
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
}
src/main/webapp/static/mweixin/css/keyword-reply.css
View file @
352235a1
...
@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
...
@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
textarea
::-webkit-input-placeholder
{
textarea
::-webkit-input-placeholder
{
font-weight
:
initial
;
font-weight
:
initial
;
font-size
:
12px
;
font-size
:
12px
;
color
:
#
999
;
color
:
#
aaa
;
resize
:
none
;
resize
:
none
;
}
}
*
::-webkit-scrollbar
{
*
::-webkit-scrollbar
{
...
@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
...
@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
.ms-container
{
.ms-container
{
margin
:
12px
;
margin
:
12px
;
height
:
calc
(
100%
-
24px
);
height
:
calc
(
100%
-
24px
);
padding
:
14px
14px
0
14px
;
padding
:
14px
;
background
:
#fff
;
background
:
#fff
;
}
}
.ms-header
{
.ms-header
{
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
...
@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background
:
#fff
;
background
:
#fff
;
height
:
50px
;
height
:
50px
;
}
}
.ms-header
button
{
height
:
30px
;
}
.ms-pagination
{
.ms-pagination
{
padding
:
20px
0
;
padding
:
20px
0
;
text-align
:
right
;
text-align
:
right
;
...
@@ -94,12 +97,32 @@ textarea::-webkit-input-placeholder {
...
@@ -94,12 +97,32 @@ textarea::-webkit-input-placeholder {
.ms-tr
{
.ms-tr
{
text-align
:
right
;
text-align
:
right
;
}
}
.el-button
+
.el-button
{
margin-left
:
0
;
}
.ms-weixin-content
{
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
width
:
calc
(
100%
-
140px
);
}
}
.ms-weixin-dialog
.el-dialog__header
{
height
:
55px
;
box-sizing
:
border-box
;
padding
:
10px
10px
25px
10px
;
border-bottom
:
1px
solid
#ddd
;
}
.ms-weixin-dialog
.el-dialog__header
.el-dialog__title
{
font-weight
:
bold
;
font-size
:
14px
;
color
:
#333
;
}
.ms-weixin-dialog
.el-dialog__footer
{
border-top
:
1px
solid
#ddd
;
padding
:
15px
!important
;
}
.ms-hover
{
cursor
:
pointer
;
}
.ms-hover
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.keyword-reply
{
.keyword-reply
{
padding-bottom
:
20px
;
padding-bottom
:
20px
;
}
}
...
@@ -148,7 +171,7 @@ textarea::-webkit-input-placeholder {
...
@@ -148,7 +171,7 @@ textarea::-webkit-input-placeholder {
bottom
:
66px
;
bottom
:
66px
;
font-weight
:
initial
;
font-weight
:
initial
;
font-size
:
12px
;
font-size
:
12px
;
color
:
#
999
;
color
:
#
aaa
;
}
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.el-icon-delete
:hover
{
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.el-icon-delete
:hover
{
cursor
:
pointer
;
cursor
:
pointer
;
...
...
Prev
1
2
Next
Write
Preview
Supports
Markdown
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