diff --git a/src/main/webapp/WEB-INF/manager/login.ftl b/src/main/webapp/WEB-INF/manager/login.ftl
new file mode 100644
index 00000000..ab1e5acf
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/login.ftl
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 账户登录 / User login
+
+
+
+
+
+
+
+
+
+
+ 看不清?
+ 换一张
+
+
+
+ 记住密码
+
+
+ 登录
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/keyword/form.ftl b/src/main/webapp/WEB-INF/manager/mweixin/keyword/form.ftl
new file mode 100644
index 00000000..b4f46e4f
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/keyword/form.ftl
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/keyword/index.ftl b/src/main/webapp/WEB-INF/manager/mweixin/keyword/index.ftl
new file mode 100644
index 00000000..887ca33e
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/keyword/index.ftl
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/menu.ftl b/src/main/webapp/WEB-INF/manager/mweixin/menu.ftl
new file mode 100644
index 00000000..47313dac
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/menu.ftl
@@ -0,0 +1,59 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/menu/index.ftl b/src/main/webapp/WEB-INF/manager/mweixin/menu/index.ftl
new file mode 100644
index 00000000..c93196ec
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/menu/index.ftl
@@ -0,0 +1,94 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl b/src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
new file mode 100644
index 00000000..40cd9553
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+ 回复内容
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/metarial/form.ftl b/src/main/webapp/WEB-INF/manager/mweixin/metarial/form.ftl
new file mode 100644
index 00000000..f56684e6
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/metarial/form.ftl
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加图文
+
+
+
+
+
+
+
+ 添加封面
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/metarial/index.ftl b/src/main/webapp/WEB-INF/manager/mweixin/metarial/index.ftl
new file mode 100644
index 00000000..5082bdd1
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/metarial/index.ftl
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/picture/index.ftl b/src/main/webapp/WEB-INF/manager/mweixin/picture/index.ftl
new file mode 100644
index 00000000..5cddee4b
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/picture/index.ftl
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 全部图片(6)
+
+ 小米(1)
+
+
+
+
+ 小米(1)
+
+
+
+
+ 新建分组
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/weixin.ftl b/src/main/webapp/WEB-INF/manager/mweixin/weixin.ftl
new file mode 100644
index 00000000..594e13a9
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mweixin/weixin.ftl
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/static/ms-admin/4.7.0/css/login.css b/src/main/webapp/static/ms-admin/4.7.0/css/login.css
new file mode 100644
index 00000000..b019c2cc
--- /dev/null
+++ b/src/main/webapp/static/ms-admin/4.7.0/css/login.css
@@ -0,0 +1,210 @@
+/*
+*这里的值严格按照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 14px 0 14px;
+ background: #fff;
+}
+.ms-header {
+ padding: 10px;
+ margin: 0;
+ border-bottom: 1px solid #ddd;
+ background: #fff;
+ height: 50px;
+}
+.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;
+}
+.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;
+}
diff --git a/src/main/webapp/static/ms-admin/4.7.0/less/app.less b/src/main/webapp/static/ms-admin/4.7.0/less/app.less
new file mode 100644
index 00000000..17d11cff
--- /dev/null
+++ b/src/main/webapp/static/ms-admin/4.7.0/less/app.less
@@ -0,0 +1,129 @@
+@import "base/style.less";
+@import "base/mixin.less";
+html,
+body {
+ min-height: 100vh;
+ width: 100vw;
+ background-color: @backgroundColor;
+ margin: 0;
+ display: flex;
+ .ms-font(@defalutSize, @defalutColor) !important; //默认字体样式
+ * {
+ text-decoration: none !important;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ box-sizing: border-box;
+ }
+}
+
+@headHeight: 50px;
+//超文本隐藏
+.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 {
+ .ms-font(@auxiliarySize, @auxiliaryColor);
+ resize: none;
+}
+
+//设置滚动条样式
+*::-webkit-scrollbar {
+ .ms-width-height(8px);
+}
+
+
+/*定义滚动条轨道 内阴影+圆角*/
+
+*::-webkit-scrollbar-track {
+ border-radius: 10px;
+ /*滚动条的背景区域的圆角*/
+ background-color: @backgroundColor;
+ /*滚动条的背景颜色*/
+}
+
+
+/*定义滑块 内阴影+圆角*/
+
+*::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ /*滚动条的圆角*/
+ background-color: @borderColor;
+ /*滚动条的背景颜色*/
+}
+
+.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;
+ button{
+ height: 30px;
+ }
+}
+
+.ms-pagination {
+ padding: 20px 0;
+ text-align: right;
+}
+
+.ms-fr {
+ float: right;
+}
+
+.ms-tr {
+ text-align: right;
+}
+
+.el-button+.el-button {
+// margin-left: 0
+}
+
+.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 @borderColor;
+ .el-dialog__title{
+ .ms-font(@defalutSize,@defalutColor,bold);
+ }
+ }
+ .el-dialog__footer{
+ border-top: 1px solid @borderColor;
+ padding: 15px !important;
+ }
+}
+
+//选中样式
+.ms-hover{
+ cursor: pointer;
+ &:hover{
+ color: @themeColor;
+ background: #fff;
+ border-color: @themeColor;
+ }
+}
diff --git a/src/main/webapp/static/ms-admin/4.7.0/less/css/login.css b/src/main/webapp/static/ms-admin/4.7.0/less/css/login.css
new file mode 100644
index 00000000..5594d3f2
--- /dev/null
+++ b/src/main/webapp/static/ms-admin/4.7.0/less/css/login.css
@@ -0,0 +1,221 @@
+/*
+*这里的值严格按照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;
+}
diff --git a/src/main/webapp/static/ms-admin/4.7.0/less/login.less b/src/main/webapp/static/ms-admin/4.7.0/less/login.less
new file mode 100644
index 00000000..2f2ae4e5
--- /dev/null
+++ b/src/main/webapp/static/ms-admin/4.7.0/less/login.less
@@ -0,0 +1,88 @@
+@import "app.less";
+// 登录
+.login{
+ .ms-width-height(100vw,100vh);
+ .ms-admin-login-container{
+ height: 100%;
+ background: url('../images/login-bg.jpg') center no-repeat;
+ background-size:cover;
+ .ms-admin-login-main{
+ .ms-flex(center);
+ align-items: center;
+ .ms-admin-login-warp{
+ .ms-flex(center);
+ align-items: center;
+ .ms-width-height(680px,320px);
+ // 口号
+ >img{
+ flex: 1;
+ display: inline-block;
+ }
+ // 表单
+ .ms-admin-login-form{
+ flex: 1;
+ height: 320px;
+ background: #fff;
+ padding:39px 54px;
+ // 标题
+ h1{
+ line-height: 1;
+ .ms-font(12px,#999999);
+ margin: 0 0 30px 0;
+ span{
+ .ms-font(16px,#0099ff);
+ }
+ }
+ .ms-admin-form-item{
+ margin-bottom: 12px;
+ >div{
+ margin-left: 0 !important;
+ }
+ .el-form-item__content,.el-input,input{
+ height: 34px !important;
+ line-height: 34px !important;
+ }
+ }
+ // 验证码
+ .ms-admin-form-item-code{
+ .el-form-item__content{
+ .ms-flex();
+ .el-input__inner,.el-input{
+ width:110px;
+ }
+ >img{
+ .ms-width-height(66px,34px);
+ margin:0 6px;
+ }
+ p{
+ .ms-flex();
+ line-height: 1;
+ flex-direction: column;
+ margin: 0;
+ span:nth-of-type(1){
+ .ms-font(10px,#999999);
+ }
+ span:nth-of-type(2){
+ .ms-font(10px,#0099ff);
+ }
+ }
+
+ }
+ }
+ .ms-admin-form-item-checkout{
+ .el-form-item__content,.el-input,input{
+ height: auto !important;
+ line-height: 1px !important;
+ }
+ }
+ // 提交按钮
+ .ms-admin-login-btn{
+ .ms-width-height(100%,34px);
+ line-height: 5px;
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/src/main/webapp/static/mweixin/article.less b/src/main/webapp/static/mweixin/article.less
new file mode 100644
index 00000000..9edee892
--- /dev/null
+++ b/src/main/webapp/static/mweixin/article.less
@@ -0,0 +1,148 @@
+// 新建图文
+@import "../ms-admin/4.7.0/less/app.less";
+.ms-article {
+ .ms-flex();
+ width: 100%;
+ background: transparent !important;
+ padding: 0 !important;
+ .el-container {
+ .ms-container {
+ padding: 0;
+ background: transparent;
+ align-items: flex-start;
+ }
+ // 侧边
+ .el-aside {
+ padding: 14px;
+ background: #fff;
+ // 主文章
+ .ms-main-article {
+ position: relative;
+ img {
+ .ms-width-height(100%, 146px);
+ }
+ .ms-main-article-mask {
+ background: #000;
+ opacity: .2;
+ .ms-width-height(100%, 146px);
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+ span {
+ position: absolute;
+ bottom: 0;
+ padding: 15px;
+ color: #fff;
+ .ms-ellipsis-clamp(2);
+ }
+ } // 子文章
+ .ms-article-item {
+ .ms-width-height(100%, 70px);
+ .ms-flex();
+ padding: 10px 0;
+ border-bottom: 1px solid @borderColor;
+ p {
+ margin: 0 10px 0 0;
+ .ms-flex();
+ align-items: center;
+ span {
+ width: 100%;
+ display: inline-block;
+ .ms-ellipsis-clamp(2);
+ }
+ }
+ img {
+ .ms-width-height(50px);
+ }
+ &:hover {
+ cursor: pointer;
+ }
+ } // 尾部
+ .ms-article-footer {
+ background: #fff;
+ padding-top: 20px;
+ .el-button {
+ width: 100%;
+ background: rgb(242, 242, 246);
+ i,
+ span {
+ .ms-font(@auxiliarySize, @auxiliaryColor);
+ }
+ }
+ }
+ } // 内容区域
+ .el-main {
+ flex: 1;
+ margin-left: 14px;
+ padding: 0 !important;
+ .ms-main-header {
+ background: #fff;
+ .ms-flex();
+ height: 180px;
+ padding: 20px;
+ padding-bottom: 24px;
+ box-sizing: border-box;
+ border-bottom: 1px solid @borderColor; // 图片上传
+ .ms-pic-upload {
+ .ms-width-height(140px);
+ border-radius: 4px;
+ border: 1px dashed @borderColor;
+ .ms-flex(center);
+ flex-direction: column;
+ margin-right: 20px;
+ .el-upload {
+ .ms-flex();
+ flex-direction: column;
+ align-items: center;
+ span {
+ .ms-font(@auxiliarySize, @auxiliaryColor);
+ margin-top: 4px;
+ }
+ i {
+ .ms-font(18px, @auxiliaryColor);
+ }
+ }
+ } // 表单
+ .el-form {
+ flex: 1;
+ margin: 0 !important;
+ .ms-flex();
+ flex-direction: column;
+ .el-form-item {
+ margin-bottom: 0 !important;
+ }
+ .el-input__suffix {
+ top: -3px !important;
+ }
+ }
+ }
+ .ms-main-body {
+ height: calc(~'100% - 180px');
+ background: #fff;
+ .edui-default {
+ border: none;
+ .edui-editor {
+ .edui-editor-toolbarboxouter {
+ background-color: none !important;
+ background-image: none !important;
+ } // 编辑器样式
+ .edui-editor {
+ border: none !important;
+ .edui-editor-toolbarbox {
+ box-shadow: none !important;
+ .edui-editor-toolbarboxouter {
+ background-color: transparent !important;
+ background-image: none !important;
+ border: none !important;
+ border-radius: 0 !important;
+ box-shadow: none !important;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/css/article.css b/src/main/webapp/static/mweixin/css/article.css
new file mode 100644
index 00000000..c5f1d7e6
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/article.css
@@ -0,0 +1,291 @@
+/*
+*这里的值严格按照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;
+}
+.ms-article {
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+ background: transparent !important;
+ padding: 0 !important;
+}
+.ms-article .el-container .ms-container {
+ padding: 0;
+ background: transparent;
+ align-items: flex-start;
+}
+.ms-article .el-container .el-aside {
+ padding: 14px;
+ background: #fff;
+}
+.ms-article .el-container .el-aside .ms-main-article {
+ position: relative;
+}
+.ms-article .el-container .el-aside .ms-main-article img {
+ width: 100%;
+ height: 146px;
+}
+.ms-article .el-container .el-aside .ms-main-article .ms-main-article-mask {
+ background: #000;
+ opacity: 0.2;
+ width: 100%;
+ height: 146px;
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+.ms-article .el-container .el-aside .ms-main-article span {
+ position: absolute;
+ bottom: 0;
+ padding: 15px;
+ color: #fff;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+.ms-article .el-container .el-aside .ms-article-item {
+ width: 100%;
+ height: 70px;
+ display: flex;
+ justify-content: space-between;
+ padding: 10px 0;
+ border-bottom: 1px solid #ddd;
+}
+.ms-article .el-container .el-aside .ms-article-item p {
+ margin: 0 10px 0 0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.ms-article .el-container .el-aside .ms-article-item p span {
+ width: 100%;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+.ms-article .el-container .el-aside .ms-article-item img {
+ width: 50px;
+ height: 50px;
+}
+.ms-article .el-container .el-aside .ms-article-item:hover {
+ cursor: pointer;
+}
+.ms-article .el-container .el-aside .ms-article-footer {
+ background: #fff;
+ padding-top: 20px;
+}
+.ms-article .el-container .el-aside .ms-article-footer .el-button {
+ width: 100%;
+ background: #f2f2f6;
+}
+.ms-article .el-container .el-aside .ms-article-footer .el-button i,
+.ms-article .el-container .el-aside .ms-article-footer .el-button span {
+ font-weight: initial;
+ font-size: 12px;
+ color: #aaa;
+}
+.ms-article .el-container .el-main {
+ flex: 1;
+ margin-left: 14px;
+ padding: 0 !important;
+}
+.ms-article .el-container .el-main .ms-main-header {
+ background: #fff;
+ display: flex;
+ justify-content: space-between;
+ height: 180px;
+ padding: 20px;
+ padding-bottom: 24px;
+ box-sizing: border-box;
+ border-bottom: 1px solid #ddd;
+}
+.ms-article .el-container .el-main .ms-main-header .ms-pic-upload {
+ width: 140px;
+ height: 140px;
+ border-radius: 4px;
+ border: 1px dashed #ddd;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ margin-right: 20px;
+}
+.ms-article .el-container .el-main .ms-main-header .ms-pic-upload .el-upload {
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+ align-items: center;
+}
+.ms-article .el-container .el-main .ms-main-header .ms-pic-upload .el-upload span {
+ font-weight: initial;
+ font-size: 12px;
+ color: #aaa;
+ margin-top: 4px;
+}
+.ms-article .el-container .el-main .ms-main-header .ms-pic-upload .el-upload i {
+ font-weight: initial;
+ font-size: 18px;
+ color: #aaa;
+}
+.ms-article .el-container .el-main .ms-main-header .el-form {
+ flex: 1;
+ margin: 0 !important;
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+}
+.ms-article .el-container .el-main .ms-main-header .el-form .el-form-item {
+ margin-bottom: 0 !important;
+}
+.ms-article .el-container .el-main .ms-main-header .el-form .el-input__suffix {
+ top: -3px !important;
+}
+.ms-article .el-container .el-main .ms-main-body {
+ height: calc(100% - 180px);
+ 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 {
+ background-color: none !important;
+ background-image: none !important;
+}
+.ms-article .el-container .el-main .ms-main-body .edui-default .edui-editor .edui-editor {
+ border: none !important;
+}
+.ms-article .el-container .el-main .ms-main-body .edui-default .edui-editor .edui-editor .edui-editor-toolbarbox {
+ box-shadow: none !important;
+}
+.ms-article .el-container .el-main .ms-main-body .edui-default .edui-editor .edui-editor .edui-editor-toolbarbox .edui-editor-toolbarboxouter {
+ background-color: transparent !important;
+ background-image: none !important;
+ border: none !important;
+ border-radius: 0 !important;
+ box-shadow: none !important;
+}
diff --git a/src/main/webapp/static/mweixin/css/custom-menu.css b/src/main/webapp/static/mweixin/css/custom-menu.css
new file mode 100644
index 00000000..9b8c1151
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/custom-menu.css
@@ -0,0 +1,278 @@
+/*
+*这里的值严格按照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 14px 0 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;
+}
+.ms-custom-menu {
+ color: #f2f2f6;
+}
+.ms-custom-menu .ms-custom-container {
+ display: flex;
+ justify-content: space-between;
+}
+.ms-custom-menu .ms-custom-container > .ms-container {
+ padding: 0;
+ background: transparent;
+}
+.ms-custom-menu .ms-custom-container .el-aside {
+ background: #fff;
+ width: 280px !important;
+ height: 470px !important;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-header {
+ height: 40px !important;
+ line-height: 40px !important;
+ font-weight: initial;
+ font-size: 16px;
+ color: #fff;
+ text-align: center;
+ background: #323232;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-main {
+ padding: 0;
+ width: 280px !important;
+ height: 379px !important;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer {
+ white-space: nowrap;
+ padding: 0;
+ font-size: 0;
+ background-color: #FAFAFA;
+ width: 280px !important;
+ height: 50px !important;
+ display: flex;
+ justify-content: flex-start;
+ border-top: 1px solid #ddd !important;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer > .el-button {
+ width: 40px !important;
+ height: 50px !important;
+ padding: 0 !important;
+ border: none !important;
+ border-right: 1px solid #ddd !important;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .el-button {
+ border-radius: 0 !important;
+ height: 50px !important;
+ background: transparent !important;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu {
+ flex: 1;
+ font-size: 0;
+ display: flex;
+ justify-content: space-between;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-button {
+ flex: 1;
+ border: none !important;
+ background: transparent !important;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-button span {
+ color: #333;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .ms-create-sub-menu {
+ flex: 1;
+ position: relative;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .ms-create-sub-menu > .el-button:first-child {
+ width: 100%;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .ms-create-sub-menu > .el-button:last-child {
+ position: absolute;
+ top: -60px;
+ left: 0;
+ border: 1px solid #ddd !important;
+ width: 100%;
+}
+.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-button--default {
+ border-left: 1px solid #ddd !important;
+ padding: 0 !important;
+ flex: 1;
+}
+.ms-custom-menu .ms-custom-container .el-main {
+ padding: 0;
+ padding-left: 20px;
+ flex: 1;
+ height: 470px;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card {
+ height: 100%;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-name .el-form-item__content {
+ display: flex;
+ justify-content: flex-start;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-name .el-form-item__content .el-input {
+ width: 153px !important;
+ height: 30px !important;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-name .el-form-item__content span {
+ margin-left: 10px;
+ font-weight: initial;
+ font-size: 12px;
+ color: #aaa;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs {
+ border: 1px solid #ddd;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tabs__header {
+ background: #f2f2f6;
+ border-radius: 4px 4px 0 0 !important;
+ margin: 0 !important;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tabs__header .el-tabs__nav-scroll {
+ padding: 0 20px;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tabs__header .el-tabs__nav-scroll i {
+ margin-right: 8px;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tab-pane {
+ padding: 20px;
+ width: 100%;
+ height: 220px;
+ display: flex;
+ justify-content: space-between;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tab-pane > div {
+ flex: 1;
+ border: 1px dashed #ddd;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tab-pane > div i {
+ font-weight: bolder;
+ font-size: 20px;
+ color: #0099ff;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tab-pane > div span {
+ margin-top: 8px;
+ line-height: 1;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tab-pane > div:hover {
+ cursor: pointer;
+}
+.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs .el-tab-pane > div:last-child {
+ margin-left: 20px;
+}
diff --git a/src/main/webapp/static/mweixin/css/keyword-list.css b/src/main/webapp/static/mweixin/css/keyword-list.css
new file mode 100644
index 00000000..a3cc0281
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/keyword-list.css
@@ -0,0 +1,125 @@
+/*
+*这里的值严格按照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;
+}
diff --git a/src/main/webapp/static/mweixin/css/keyword-reply.css b/src/main/webapp/static/mweixin/css/keyword-reply.css
new file mode 100644
index 00000000..3e4bd1f6
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/keyword-reply.css
@@ -0,0 +1,203 @@
+/*
+*这里的值严格按照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;
+}
+.keyword-reply {
+ padding-bottom: 20px;
+}
+.keyword-reply .el-select .el-input {
+ width: 90px;
+}
+.keyword-reply .el-select .el-input > input {
+ padding: 0 10px !important;
+}
+.keyword-reply .ms-keyword-input {
+ margin-bottom: 15px !important;
+}
+.keyword-reply .ms-keyword-input .el-input__suffix {
+ line-height: 28px;
+}
+.keyword-reply .ms-keyword-input .el-icon-plus {
+ margin-left: 20px;
+ font-weight: bold;
+ font-size: 14px;
+ color: #0099ff;
+}
+.keyword-reply .ms-keyword-input .el-icon-plus:hover {
+ cursor: pointer;
+}
+.keyword-reply .ms-keyword-reply-content {
+ margin: 0;
+}
+.keyword-reply .ms-keyword-reply-content .keyword-reply-tabs {
+ flex: 1;
+ border: 1px solid #ddd;
+ border-radius: 4px 4px 0 0 !important;
+ min-height: 226px;
+}
+.keyword-reply .ms-keyword-reply-content .keyword-reply-tabs .el-tabs__header {
+ margin: 0 !important;
+}
+.keyword-reply .ms-keyword-reply-content .keyword-reply-tabs .el-tabs__header .el-tabs__nav-scroll {
+ padding: 0 20px;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content {
+ position: relative;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content .el-icon-delete {
+ position: absolute;
+ right: 5px;
+ bottom: 66px;
+ font-weight: initial;
+ font-size: 12px;
+ color: #aaa;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content .el-icon-delete:hover {
+ cursor: pointer;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content textarea {
+ height: 127px !important;
+ border: none !important;
+ border-bottom: 1px solid #ddd !important;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content .footer {
+ height: 58px;
+ padding: 0 14px;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content .footer i {
+ margin-right: 12px;
+ font-size: 16px;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content .footer a {
+ font-weight: initial;
+ font-size: 14px;
+ color: #0099ff;
+}
+.keyword-reply .ms-keyword-reply-content .el-form-item__content .footer i:hover,
+.keyword-reply .ms-keyword-reply-content .el-form-item__content .footer a:hover {
+ cursor: pointer;
+}
diff --git a/src/main/webapp/static/mweixin/css/material-bank-form.css b/src/main/webapp/static/mweixin/css/material-bank-form.css
new file mode 100644
index 00000000..974668af
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/material-bank-form.css
@@ -0,0 +1,168 @@
+/*
+*这里的值严格按照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;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog {
+ width: 895px !important;
+ height: 587px !important;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body {
+ width: 100% !important;
+ height: 469px !important;
+ padding: 0 !important;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs {
+ height: 100%;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs .el-tabs__header {
+ width: 150px !important;
+ box-sizing: border-box;
+ margin: 0 !important;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs .el-tabs__header .el-tabs__nav-scroll {
+ padding: 20px 10px;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs .el-tabs__header .el-tabs__nav-wrap::after {
+ width: 1px !important;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs .el-tabs__content {
+ height: 100%;
+ box-sizing: border-box;
+ padding: 20px 20px 10px 20px;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs .el-tabs__content .el-tab-pane {
+ height: 100%;
+ display: flex;
+ justify-content: space-between;
+ flex-direction: column;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs .el-tabs__content .el-tab-pane > div:first-child {
+ flex: 1;
+}
+.material-bank-form > .el-dialog__wrapper > .el-dialog > .el-dialog__body > .el-tabs .is-active {
+ background-color: #e9eaf0;
+ font-weight: initial;
+ font-size: 14px;
+ color: #333;
+}
diff --git a/src/main/webapp/static/mweixin/css/material-list.css b/src/main/webapp/static/mweixin/css/material-list.css
new file mode 100644
index 00000000..3054da88
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/material-list.css
@@ -0,0 +1,199 @@
+/*
+*这里的值严格按照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 14px 0 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;
+}
+.ms-admin-material-list {
+ background: #fff;
+ margin: 12px;
+ padding: 14px;
+ display: flex;
+ flex-wrap: wrap;
+}
+.ms-admin-material-list .ms-admin-material-item {
+ margin: 0 24px 0 0;
+ padding: 0 10px;
+ width: 230px;
+ display: flex;
+ flex-direction: column;
+ border: 1px solid #e6e6e6;
+ border-radius: 4px;
+}
+.ms-admin-material-list .ms-admin-material-item .head {
+ border-bottom: 1px solid #e6e6e6;
+ padding: 10px 0;
+}
+.ms-admin-material-list .ms-admin-material-item .head span {
+ color: #999;
+}
+.ms-admin-material-list .ms-admin-material-item .body {
+ display: flex;
+ flex-direction: column;
+ line-height: 2em;
+}
+.ms-admin-material-list .ms-admin-material-item .body span {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: block;
+ cursor: pointer;
+}
+.ms-admin-material-list .ms-admin-material-item .body span:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
+.ms-admin-material-list .ms-admin-material-item .body img {
+ width: 170px;
+ height: 110px;
+ margin: 0 auto;
+ object-fit: cover;
+}
+.ms-admin-material-list .ms-admin-material-item .body p {
+ margin: 0;
+ color: #999;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+}
+.ms-admin-material-list .ms-admin-material-item .footer {
+ display: flex;
+ padding: 14px 0;
+}
+.ms-admin-material-list .ms-admin-material-item .footer i {
+ color: #999;
+ margin: auto;
+ cursor: pointer;
+}
+.ms-admin-material-list .ms-admin-material-item .footer i:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
+.ms-admin-material-list .ms-admin-material-item .footer em {
+ width: 1px;
+ height: 1em;
+ background: #e6e6e6;
+}
diff --git a/src/main/webapp/static/mweixin/css/menu.css b/src/main/webapp/static/mweixin/css/menu.css
new file mode 100644
index 00000000..72d56da4
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/menu.css
@@ -0,0 +1,165 @@
+/*
+*这里的值严格按照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;
+}
+.ms-admin-menu {
+ min-height: 100vh;
+ min-width: 140px;
+}
+.ms-admin-menu .ms-header {
+ border-right: solid 1px #e6e6e6;
+}
+.ms-admin-menu .ms-header div {
+ height: 100%;
+ display: flex;
+ align-items: center;
+}
+.ms-admin-menu .ms-header div i {
+ display: inline-block;
+ text-align: center;
+ line-height: 1.4em;
+ width: 1.4em;
+ height: 1.4em;
+ border-radius: 4px;
+ color: #fff;
+ font-size: 1.4em;
+ background: #02CF5D;
+}
+.ms-admin-menu .ms-header div span {
+ margin: auto;
+}
+.ms-admin-menu .el-main {
+ padding: 0;
+}
+.ms-admin-menu .el-main .ms-admin-menu-menu {
+ min-height: calc(100vh - 50px);
+ background: #fff;
+}
+.ms-admin-menu .el-main .ms-admin-menu-menu .el-menu-item {
+ min-width: 140px;
+ width: 140px;
+}
+.ms-admin-menu .el-main .ms-admin-material-item {
+ min-width: 100% !important;
+}
diff --git a/src/main/webapp/static/mweixin/css/message-reply.css b/src/main/webapp/static/mweixin/css/message-reply.css
new file mode 100644
index 00000000..e5a991c9
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/message-reply.css
@@ -0,0 +1,215 @@
+/*
+*这里的值严格按照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;
+}
+.ms-admin-message-reply .ms-container {
+ display: flex;
+}
+.ms-admin-message-reply .ms-container .message-reply-tabs {
+ padding-left: 12px;
+}
+.ms-message-reply {
+ display: flex;
+ justify-content: flex-start;
+ height: auto;
+}
+.ms-message-reply > div:first-child {
+ margin-right: 10px;
+ line-height: 40px;
+}
+.ms-message-reply .message-reply-tabs {
+ flex: 1;
+ border-radius: 4px 4px 0 0 !important;
+ border: none !important;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__header {
+ margin: 0 !important;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__header .el-tabs__nav-scroll {
+ padding: 0 20px;
+ border: 1px solid #ddd;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content {
+ border: 1px solid #ddd;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane {
+ padding: 0 !important;
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form {
+ width: 100%;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content {
+ margin: 0;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content {
+ position: relative;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .el-icon-delete {
+ position: absolute;
+ right: 7px;
+ bottom: 66px;
+ font-weight: initial;
+ font-size: 12px;
+ color: #aaa;
+ cursor: pointer;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .el-icon-delete:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content textarea {
+ height: 127px !important;
+ border: none !important;
+ border-bottom: 1px solid #ddd !important;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .footer {
+ height: 58px;
+ padding: 0 14px;
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .footer i {
+ margin-right: 12px;
+ font-size: 16px;
+ cursor: pointer;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .footer i:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .footer a {
+ font-weight: initial;
+ font-size: 14px;
+ color: #0099ff;
+}
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .footer i:hover,
+.ms-message-reply .message-reply-tabs .el-tabs__content .el-tab-pane > .el-form .ms-message-reply-content .el-form-item__content .footer a:hover {
+ cursor: pointer;
+}
diff --git a/src/main/webapp/static/mweixin/css/new-pic-form.css b/src/main/webapp/static/mweixin/css/new-pic-form.css
new file mode 100644
index 00000000..0697f99b
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/new-pic-form.css
@@ -0,0 +1,139 @@
+/*
+*这里的值严格按照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;
+}
+.new-pic-form dl {
+ margin: 0;
+}
+.new-pic-form dd,
+.new-pic-form dt {
+ line-height: 1;
+ font-weight: initial;
+ font-size: 12px;
+ color: #aaa;
+}
+.new-pic-form dt {
+ display: inline-block;
+ margin-bottom: 8px;
+}
diff --git a/src/main/webapp/static/mweixin/css/picture-list.css b/src/main/webapp/static/mweixin/css/picture-list.css
new file mode 100644
index 00000000..3af945ef
--- /dev/null
+++ b/src/main/webapp/static/mweixin/css/picture-list.css
@@ -0,0 +1,240 @@
+/*
+*这里的值严格按照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 14px 0 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;
+}
+.ms-admin-picture {
+ height: 100%;
+}
+.ms-admin-picture-list {
+ background: #fff;
+ margin: 12px;
+ padding: 14px;
+ display: flex;
+}
+.ms-admin-picture-list .ms-admin-picture-item {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-start;
+ width: calc(100% - 220px) !important;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div {
+ margin: 0 24px 0 0;
+ padding: 10px 10px 0 10px;
+ width: 230px;
+ display: flex;
+ flex-direction: column;
+ border: 1px solid #e6e6e6;
+ border-radius: 4px;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .body {
+ display: flex;
+ flex-direction: column;
+ line-height: 2em;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .body div {
+ margin-top: 0.5em;
+ display: flex;
+ align-items: center;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .body div span {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ display: block;
+ cursor: pointer;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .body div span:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .body img {
+ width: 100%;
+ height: 130px;
+ object-fit: cover;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .footer {
+ display: flex;
+ padding: 14px 0;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .footer i {
+ color: #999;
+ margin: auto;
+ cursor: pointer;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .footer i:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
+.ms-admin-picture-list .ms-admin-picture-item > div .footer em {
+ width: 1px;
+ height: 1em;
+ background: #e6e6e6;
+}
+.ms-admin-picture-list .ms-admin-picture-show {
+ min-width: 220px;
+ height: 100%;
+ margin: -14px 0;
+ padding: 14px;
+ border-left: 1px solid #e6e6e6;
+}
+.ms-admin-picture-list .ms-admin-picture-show > span {
+ padding: 10px;
+ display: flex;
+ background: #f2f2f6;
+ font-weight: bold;
+}
+.ms-admin-picture-list .ms-admin-picture-show > div {
+ display: flex;
+ align-items: center;
+ padding: 10px;
+ font-size: 14px;
+}
+.ms-admin-picture-list .ms-admin-picture-show > div span {
+ margin-right: auto;
+}
+.ms-admin-picture-list .ms-admin-picture-show > div i {
+ margin-left: 10px;
+ cursor: pointer;
+}
+.ms-admin-picture-list .ms-admin-picture-show > div i:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
+.ms-admin-picture-list .ms-admin-picture-show > p {
+ margin: 0;
+ padding: 10px;
+ border: 1px solid #e6e6e6;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+}
+.ms-admin-picture-list .ms-admin-picture-show > p:hover {
+ color: #0099ff;
+ background: #fff;
+ border-color: #0099ff;
+}
diff --git a/src/main/webapp/static/mweixin/custom-menu.less b/src/main/webapp/static/mweixin/custom-menu.less
new file mode 100644
index 00000000..67c1e4a7
--- /dev/null
+++ b/src/main/webapp/static/mweixin/custom-menu.less
@@ -0,0 +1,151 @@
+@import "../ms-admin/4.7.0/less/app.less";
+// 自定义菜单
+.ms-custom-menu {
+ color: rgb(242, 242, 246);
+ .ms-custom-container {
+ .ms-flex();
+ &>.ms-container{
+ padding: 0;
+ background: transparent;
+ }
+ // 侧边
+ .el-aside {
+ background: #fff;
+ .ms-width-height(280px, 470px) !important;
+ // 微信界面
+ .el-container {
+ // 头部
+ .el-header {
+ .ms-line-height(40px) !important;
+ .ms-font(16px, #fff);
+ text-align: center;
+ background: #323232;
+ }
+ .el-main {
+ padding: 0;
+ .ms-width-height(280px, 379px) !important;
+ }
+ .el-footer {
+ white-space: nowrap;
+ padding: 0;
+ font-size: 0;
+ background-color: #FAFAFA;
+ .ms-width-height(280px, 50px) !important;
+ .ms-flex(flex-start);
+ border-top: 1px solid @borderColor !important;
+ >.el-button {
+ .ms-width-height(40px, 50px) !important;
+ padding: 0 !important;
+ border: none !important;
+ border-right: 1px solid @borderColor !important;
+ }
+ .el-button {
+ border-radius: 0 !important;
+ height: 50px !important;
+ background: transparent !important;
+ }
+ .ms-create-menu {
+ flex: 1;
+ font-size: 0;
+ .ms-flex(space-between);
+ .el-button {
+ flex: 1;
+ border: none !important;
+ background: transparent !important;
+ span {
+ color: #333;
+ }
+ }
+ .ms-create-sub-menu {
+ flex: 1;
+ position: relative;
+ >.el-button:first-child {
+ width: 100%;
+ }
+ >.el-button:last-child {
+ position: absolute;
+ top: -60px;
+ left: 0;
+ border: 1px solid @borderColor !important;
+ width: 100%;
+ }
+ }
+ // 添加菜单
+ .el-button--default {
+ border-left: 1px solid @borderColor !important;
+ padding: 0 !important;
+ flex: 1;
+ }
+ }
+ }
+ }
+ }
+ // 内容
+ .el-main {
+ padding: 0;
+ padding-left: 20px;
+ flex: 1;
+ height: 470px;
+ // 内容区域卡片
+ .custom-menu-card {
+ height: 100%;
+ // 内容菜单表单
+ .ms-custom-menu-name {
+ .el-form-item__content {
+ .el-input {
+ .ms-width-height(153px, 30px) !important;
+ }
+ .ms-flex(flex-start);
+ span {
+ margin-left: 10px;
+ .ms-font(@auxiliarySize, @auxiliaryColor);
+ }
+ }
+ }
+ // 菜单内容
+ .ms-custom-menu-content {
+ .el-tabs {
+ border: 1px solid @borderColor;
+ .el-tabs__header {
+ background: #f2f2f6;
+ border-radius: 4px 4px 0 0 !important;
+ margin: 0 !important;
+ .el-tabs__nav-scroll {
+ padding: 0 20px;
+ i {
+ margin-right: 8px;
+ }
+ }
+ }
+ .el-tab-pane {
+ padding: 20px;
+ .ms-width-height(100%, 220px);
+ .ms-flex();
+ // 素材库
+ >div {
+ flex: 1;
+ border: 1px dashed @borderColor;
+ .ms-flex(center);
+ align-items: center;
+ flex-direction: column;
+ i {
+ .ms-font(20px, @themeColor, bolder);
+ }
+ span {
+ margin-top: 8px;
+ line-height: 1;
+ }
+ &:hover {
+ cursor: pointer;
+ }
+ }
+ >div:last-child {
+ margin-left: 20px;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/keyword-list.less b/src/main/webapp/static/mweixin/keyword-list.less
new file mode 100644
index 00000000..11025585
--- /dev/null
+++ b/src/main/webapp/static/mweixin/keyword-list.less
@@ -0,0 +1 @@
+@import "../ms-admin/4.7.0/less/app.less";
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/keyword-reply.less b/src/main/webapp/static/mweixin/keyword-reply.less
new file mode 100644
index 00000000..20de4d53
--- /dev/null
+++ b/src/main/webapp/static/mweixin/keyword-reply.less
@@ -0,0 +1,80 @@
+@import "../ms-admin/4.7.0/less/app.less";
+// 关键字回复
+.keyword-reply {
+ padding-bottom: 20px;
+ .el-select .el-input {
+ width: 90px;
+ >input {
+ padding: 0 10px !important;
+ }
+ }
+ // 关键词
+ .ms-keyword-input {
+ margin-bottom: 15px !important;
+ // 尾词
+ .el-input__suffix {
+ line-height: 28px;
+ }
+ // 添加
+ .el-icon-plus {
+ margin-left: 20px;
+ .ms-font(@defalutSize, @themeColor, bold);
+ &:hover {
+ cursor: pointer;
+ }
+ }
+ }
+ // 回复内容
+ .ms-keyword-reply-content {
+ margin: 0;
+ .keyword-reply-tabs {
+ flex: 1;
+ border: 1px solid @borderColor;
+ border-radius: 4px 4px 0 0 !important;
+ min-height: 226px;
+ .el-tabs__header {
+ // background: #f2f2f6;
+ margin: 0 !important;
+ .el-tabs__nav-scroll {
+ padding: 0 20px;
+ }
+ }
+ }
+ .el-form-item__content {
+ position: relative;
+ .el-icon-delete {
+ position: absolute;
+ right: 5px;
+ bottom: 66px;
+ .ms-font(@auxiliarySize, @auxiliaryColor);
+ &:hover {
+ cursor: pointer;
+ }
+ }
+ textarea {
+ height: 127px !important;
+ border: none !important;
+ border-bottom: 1px solid @borderColor !important;
+ }
+ .footer {
+ height: 58px;
+ padding: 0 14px;
+ .ms-flex(flex-start);
+ align-items: center;
+ i {
+ margin-right: 12px;
+ font-size: 16px;
+ }
+ a {
+ .ms-font(@defalutSize, @themeColor);
+ }
+ i,
+ a {
+ &:hover {
+ cursor: pointer;
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/material-bank-form.less b/src/main/webapp/static/mweixin/material-bank-form.less
new file mode 100644
index 00000000..c76c496c
--- /dev/null
+++ b/src/main/webapp/static/mweixin/material-bank-form.less
@@ -0,0 +1,48 @@
+@import "../ms-admin/4.7.0/less/app.less";
+// 素材库表单
+.material-bank-form{
+ >.el-dialog__wrapper{
+ >.el-dialog{
+ .ms-width-height(895px,587px) !important;
+ >.el-dialog__body{
+ .ms-width-height(100%,469px) !important;
+ padding:0 !important;
+ >.el-tabs{
+ height: 100%;
+ // 侧边导航
+ .el-tabs__header{
+ width: 150px !important;
+ box-sizing: border-box;
+ margin: 0 !important;
+ .el-tabs__nav-scroll{
+ padding:20px 10px;
+ }
+ .el-tabs__nav-wrap::after{
+ width: 1px !important;
+ }
+
+ }
+ // 导航内容
+ .el-tabs__content{
+ height: 100%;
+ box-sizing: border-box;
+ padding:20px 20px 10px 20px;
+ .el-tab-pane{
+ height: 100%;
+ .ms-flex();
+ flex-direction: column;
+ >div:first-child{
+ flex: 1;
+ }
+ }
+ }
+ // tab选中的样式
+ .is-active{
+ background-color:rgb(233, 234, 240);
+ .ms-font(@defalutSize,@defalutColor);
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/material-list.less b/src/main/webapp/static/mweixin/material-list.less
new file mode 100644
index 00000000..bf598068
--- /dev/null
+++ b/src/main/webapp/static/mweixin/material-list.less
@@ -0,0 +1,55 @@
+@import "../ms-admin/4.7.0/less/app.less";
+.ms-admin-material-list {
+ background: #fff;
+ .ms-margin-padding(12px, 14px);
+ display: flex;
+ flex-wrap: wrap;
+ //单个素材
+ .ms-admin-material-item {
+ .ms-margin-padding(0 24px 0 0, 0 10px);
+ width: 230px;
+ display: flex;
+ flex-direction: column;
+ border: 1px solid #e6e6e6;
+ border-radius: 4px;
+ .head {
+ border-bottom: 1px solid #e6e6e6;
+ padding: 10px 0;
+ span {
+ color: @contentColor;
+ }
+ }
+ .body {
+ display: flex;
+ flex-direction: column;
+ line-height: 2em;
+ span {
+ .ms-ellipsis;
+ .ms-hover;
+ }
+ img {
+ .ms-width-height(170px, 110px);
+ margin: 0 auto;
+ object-fit: cover;
+ }
+ p {
+ margin: 0;
+ color: @contentColor;
+ .ms-ellipsis-clamp(3);
+ }
+ }
+ .footer {
+ display: flex;
+ padding: 14px 0;
+ i {
+ color: @contentColor;
+ margin: auto;
+ .ms-hover;
+ }
+ em {
+ .ms-width-height(1px, 1em);
+ background: #e6e6e6;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/menu.less b/src/main/webapp/static/mweixin/menu.less
new file mode 100644
index 00000000..f2836918
--- /dev/null
+++ b/src/main/webapp/static/mweixin/menu.less
@@ -0,0 +1,39 @@
+@import "../ms-admin/4.7.0/less/app.less";
+.ms-admin-menu {
+ min-height: 100vh;
+ min-width: 140px;
+ .ms-header {
+ border-right: solid 1px #e6e6e6;
+ div {
+ height: 100%;
+ .ms-align-center;
+ i {
+ display: inline-block;
+ text-align: center;
+ line-height: 1.4em;
+ .ms-width-height(1.4em);
+ border-radius: 4px;
+ color: #fff;
+ font-size: 1.4em;
+ background: #02CF5D;
+ }
+ span {
+ margin: auto;
+ }
+ }
+ }
+ .el-main {
+ padding: 0;
+ .ms-admin-menu-menu {
+ min-height: ~'calc(100vh - 50px)';
+ background: #fff;
+ .el-menu-item{
+ min-width: 140px;
+ width: 140px;
+ }
+ }
+ .ms-admin-material-item {
+ min-width: 100% !important;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/message-reply.less b/src/main/webapp/static/mweixin/message-reply.less
new file mode 100644
index 00000000..2cb3726a
--- /dev/null
+++ b/src/main/webapp/static/mweixin/message-reply.less
@@ -0,0 +1,82 @@
+@import "../ms-admin/4.7.0/less/app.less";
+.ms-admin-message-reply {
+ .ms-container {
+ display: flex;
+ .message-reply-tabs {
+ padding-left: 12px;
+ }
+ }
+}
+
+// 消息回复 && 关注回复
+.ms-message-reply {
+ .ms-flex(flex-start);
+ height: auto;
+ >div:first-child {
+ margin-right: 10px;
+ line-height: 40px;
+ }
+ // 导航切换
+ .message-reply-tabs {
+ flex: 1;
+ border-radius: 4px 4px 0 0 !important;
+ border: none !important;
+ .el-tabs__header {
+ // background: #f2f2f6;
+ margin: 0 !important;
+ .el-tabs__nav-scroll {
+ padding: 0 20px;
+ border: 1px solid @borderColor;
+ }
+ }
+ .el-tabs__content {
+ border: 1px solid @borderColor;
+ .el-tab-pane {
+ padding: 0 !important;
+ width: 100%;
+ .ms-flex();
+ >.el-form {
+ width: 100%;
+ .ms-message-reply-content {
+ margin: 0;
+ .el-form-item__content {
+ position: relative;
+ .el-icon-delete {
+ position: absolute;
+ right: 7px;
+ bottom: 66px;
+ .ms-font(@auxiliarySize, @auxiliaryColor);
+ .ms-hover;
+ }
+ textarea {
+ height: 127px !important;
+ border: none !important;
+ border-bottom: 1px solid @borderColor !important;
+ }
+ .footer {
+ height: 58px;
+ padding: 0 14px;
+ .ms-flex(flex-start);
+ align-items: center;
+ i {
+ margin-right: 12px;
+ font-size: 16px;
+ .ms-hover;
+ }
+ a {
+ .ms-font(@defalutSize, @themeColor);
+ }
+ i,
+ a {
+ &:hover {
+ cursor: pointer;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/new-pic-form.less b/src/main/webapp/static/mweixin/new-pic-form.less
new file mode 100644
index 00000000..9e7db68a
--- /dev/null
+++ b/src/main/webapp/static/mweixin/new-pic-form.less
@@ -0,0 +1,15 @@
+@import "../ms-admin/4.7.0/less/app.less";
+// 新建图片
+.new-pic-form{
+ dl{
+ margin: 0;
+ }
+ dd,dt{
+ line-height: 1;
+ .ms-font(@auxiliarySize,@auxiliaryColor);
+ }
+ dt{
+ display: inline-block;
+ margin-bottom: 8px;
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/static/mweixin/picture-list.less b/src/main/webapp/static/mweixin/picture-list.less
new file mode 100644
index 00000000..4b96ba72
--- /dev/null
+++ b/src/main/webapp/static/mweixin/picture-list.less
@@ -0,0 +1,90 @@
+@import "../ms-admin/4.7.0/less/app.less";
+.ms-admin-picture {
+ height: 100%;
+}
+
+//图片列表
+.ms-admin-picture-list {
+ background: #fff;
+ .ms-margin-padding(12px, 14px);
+ display: flex;
+ //单个素材
+ .ms-admin-picture-item {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-start;
+ width: ~'calc(100% - 220px)' !important;
+ &>div {
+ .ms-margin-padding(0 24px 0 0, 10px 10px 0 10px);
+ width: 230px;
+ display: flex;
+ flex-direction: column;
+ border: 1px solid #e6e6e6;
+ border-radius: 4px;
+ .body {
+ display: flex;
+ flex-direction: column;
+ line-height: 2em;
+ div {
+ margin-top: 0.5em;
+ display: flex;
+ align-items: center;
+ span {
+ .ms-ellipsis;
+ .ms-hover;
+ }
+ }
+ img {
+ .ms-width-height(100%, 130px);
+ object-fit: cover;
+ }
+ }
+ .footer {
+ display: flex;
+ padding: 14px 0;
+ i {
+ color: @contentColor;
+ margin: auto;
+ .ms-hover;
+ }
+ em {
+ .ms-width-height(1px, 1em);
+ background: #e6e6e6;
+ }
+ }
+ }
+ }
+ .ms-admin-picture-show {
+ min-width: 220px;
+ height: 100%;
+ .ms-margin-padding(-14px 0, 14px);
+ border-left: 1px solid #e6e6e6;
+ &>span {
+ padding: 10px;
+ display: flex;
+ background: #f2f2f6;
+ font-weight: bold;
+ }
+ &>div {
+ .ms-align-center;
+ padding: 10px;
+ font-size: 14px;
+ span {
+ margin-right: auto;
+ }
+ i {
+ .ms-hover;
+ margin-left: 10px;
+ cursor: pointer;
+ }
+ }
+ &>p {
+ margin: 0;
+ padding: 10px;
+ border: 1px solid #e6e6e6;
+ .ms-flex(center);
+ align-items: center;
+ .ms-hover;
+ }
+ }
+}
\ No newline at end of file