提交 29894812 authored 作者: zhengyadong's avatar zhengyadong

提交

上级 fad915f4
......@@ -5,5 +5,5 @@ const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
BASE_API: '"/api/"'
// BASE_API: '"http://192.168.2.231/"'
// BASE_API: '"http://192.168.2.242:8996"'
})
......@@ -12,7 +12,7 @@ module.exports = {
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: 'http://192.168.2.231:2018',//后端接口地址
target: 'http://192.168.2.242:8996',//后端接口地址
// target: 'http://122.14.50.6:2018',//后端接口地址
changeOrigin: true,//是否允许跨越
pathRewrite: {
......@@ -23,8 +23,8 @@ module.exports = {
// Various Dev Server settings
host: '192.168.2.40', // can be overwritten by process.env.HOST
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
host: '192.168.2.39', // can be overwritten by process.env.HOST
port: 8082, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
......
......@@ -20,9 +20,8 @@
</script>
<style lang="less">
@import 'assets/fonts/font.css';
#app {
height: 100%;
}
@import 'assets/fonts/font.css';
#app {
height: 100%;
}
</style>
import request from '@/utils/request';
import { requestPath } from '@/utils/global.js';
// 周周练列表
export function getWeekListAPI(params){
return request({
url:`${requestPath.resource}/week-practise/online/answer`,
method:'get',
params
})
}
// 周周练试题详情
export function getWeekDetailAPI(params){
return request({
url:`${requestPath.resource}/week-practise/get-exampaper-info`,
method:'get',
params
})
}
<template>
<div class="foot">
<span class="footer">
{{title}}
</span>
</div>
</template>
<script>
export default {
name: 'listFooter',
props:{
title:{
type:String,
default:''
}
},
data() {
return {
}
},
created() {
},
watch: {},
methods: {},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.foot{
line-height: .36rem;
text-align: center;
}
.footer{
color: #CCCCCC;
position: relative;
}
.footer:before, .footer:after{
position: absolute;
content: '';
top: .05rem;
height: .0rem;
width: .3rem;
border: .005rem solid #CCCCCC;
}
.footer:before{
left: -.35rem;
}
.footer:after{
right: -.35rem;
}
</style>
<template>
<!-- 'url(' + (coverImgUrl ? coverImgUrl : baseImg) + ')'-->
<div class="header" :style="{backgroundColor:$route.name=='play'?'':'#02BCBE'}">
<h1 @click="backBtn" >{{headerTitle}}</h1>
<div class="headerB">
<img src="@/assets/img/public/left.png" alt="">
<h2 v-if="showCol"><img src="../../../static/img/coll.png" alt=""></h2>
</div>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props:{
headerTitle:{
type:String,
default:''
},
showCol:{
type:Boolean,
default:true
}
},
data() {
return {}
},
created() {
console.log(this.$route.meta=={})
},
watch: {},
methods: {
backBtn(){
this.$router.go(-1)
},
},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
.header{
height: .44rem;
position:fixed;
top: 0;
left: 0;
width: 100%;
display: flex;
justify-content: center;
background-size: cover;
h1{
font-family: my-font;
color: #fff;
font-size: .18rem;
position: absolute;
overflow: hidden;
margin: 0 auto;
height: .44rem;
line-height: .44rem;
z-index: 0;
}
.headerB{
height: .44rem;
width: 3.51rem;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
img{width: .09rem;object-fit: contain}
h2{font-family: my-font;
color: #fff;
font-size: .18rem;
img{
width: .17rem;
height: .17rem;
}}
}
}
</style>
<template>
<div class="type-answer">
<div class="right-answer">正确答案:{{answer}}</div>
<div class="answer-analysis">
<span class="analysis-t">解析:</span>
<span v-html="analysis"></span>
</div>
</div>
</template>
<script>
export default {
name: "pButton",
props: {
analysis: {
type: String,
default: ""
},
answer: {
type: String,
default: ""
},
},
data() {
return {};
},
created() {},
mounted() {},
watch: {},
methods: {
click() {
this.$emit("click");
}
}
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.type-answer {
margin: 0 .15rem;
background: #F7F7F7;
padding: .15rem .12rem;
border-radius: .02rem;
.right-answer{
color: #333333;
font-weight: Bold;
font-size: .15rem;
}
.answer-analysis{
margin-top: .1rem;
font-size: .14rem;
color: #333333;
line-height: .29rem;
.analysis-t{
color: #4C7AF3;
}
}
}
</style>
<template>
<div class="type-button">
<div class="button-wrap">
<span @click="click" class="button-name">{{name}}</span>
</div>
</div>
</template>
<script>
export default {
name: "pButton",
props: {
name: {
type: String,
default: ""
}
},
data() {
return {};
},
created() {},
mounted() {},
watch: {},
methods: {
click() {
this.$emit("click");
}
}
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.type-button {
margin: 0.1rem 0;
padding: 0 0.15rem;
.button-wrap {
background: #03b0b3;
text-align: center;
padding: 0.1rem 0;
border-radius: 0.4rem;
.button-name {
width: 100%;
padding: 0.12rem 0;
color: #fff;
font-size: .15rem;
}
}
}
</style>
<template>
<div class="type-completion">
<div v-html="dataObj.content">
</div>
<div class="answer-completion">
<p-input :value="value" :show-answer="1"></p-input>
</div>
</div>
</template>
<script>
import pInput from './input'
export default {
name: 'completion',
components:{
pInput
},
props:{
dataObj:{
type:Object,
default:()=>{}
}
},
data() {
return {
value:'11'
}
},
created() {
},
mounted() {
console.log(this.dataObj,1111);
},
watch: {},
methods: {},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.type-completion{
border-radius: .1rem .1rem 0 0 ;
background: #fff;
padding: .185rem .15rem 0;
line-height: .2rem;
.answer-completion{
}
}
</style>
<template>
<div class="p-input">
<input
class="p-input__inner"
:class="{'p-input-right':showAnswer ===1,'p-input-fill':showAnswer ===2,}"
placeholder="填写答案"
type="text"
:value="value"
@input="handleInput"
@change="handleChange"
>
<span class="p-input__suffix">
<img v-if="showAnswer ===1" src="@/assets/img/practice/input-right.png" alt="">
<img v-if="showAnswer=== 2" src="@/assets/img/practice/input-fill.png" alt="">
</span>
</div>
</template>
<script>
export default {
name:"pInput",
props:{
showAnswer:{
type:Number,
default:0
},
value:{
type:String,
default:''
},
},
data(){
return{
passwordVisiable:false
}
},
computed:{
},
methods:{
handleInput(e){
// console.log(e.target.value)
this.$emit('input',e.target.value)
},
handleChange(e){
// console.log(e.target.value)
this.$emit('change',e.target.value)
},
// clear(){
// this.$emit('input','')
// },
// handlePassword(){
// this.passwordVisiable= !this.passwordVisiable
// }
}
}
</script>
<style lang="scss" scoped>
.p-input{
// width: 380px;
width: 100%;
height: .4rem;
position: relative;
font-size: .14rem;
display: inline-block;
.p-input__inner{
-webkit-appearance: none;
background-color: #fff;
border: 0;
border-bottom: 1px solid #E4E4E4;
box-sizing: border-box;
color: #606266;
display: inline-block;
font-size: inherit;
height: .4rem;
line-height: .4rem;
outline: none;
padding: 0 .15rem;
transition: border-color .2s cubic-bezier(.645,.045,.355,1);
width: 100%;
&:hover{
outline:none;
border-color: #4093ff;
}
}
.p-input-right{
border-bottom: .01rem solid #24C17D;
}
.p-input-fill{
border-bottom: .01rem solid #FA6E51;
}
}
.p-input__suffix{
position: absolute;
right: .1rem;
top: .1rem;
line-height: .35rem;
text-align: center;
color: #c0c4cc;
transition: all .3s;
z-index: 900;
&:hover{
cursor: pointer;
}
img{
width: .22rem;
height: .22rem;
}
}
</style>
\ No newline at end of file
<template>
<div class="type-single">
<div>
{{dataObj.content}}
</div>
<div class="answer-single">
<div class="option-item" v-if="dataObj.answer1">
<span class="option-num">A:</span>
<span>
{{dataObj.answer1}}sddddddddddddddddddddddddddddddddddddddddddddddddddd
</span>
</div>
<div class="option-item" v-if="dataObj.answer2">B:
<span>
{{dataObj.answer2}}
</span>
</div>
<div class="option-item" v-if="dataObj.answer3">C:
<span>
{{dataObj.answer3}}
</span>
</div>
<div class="option-item" v-if="dataObj.answer4">D:
<span>
{{dataObj.answer4}}
</span>
</div>
<div class="option-item" v-if="dataObj.answer5">E:
<span>
{{dataObj.answer5}}
</span>
</div>
<div class="option-item" v-if="dataObj.answer6">F:
<span>
{{dataObj.answer6}}
</span>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'single',
props:{
dataObj:{
type:Object,
default:()=>{}
}
},
data() {
return {
}
},
created() {
},
mounted() {
console.log(this.dataObj,1111);
},
watch: {},
methods: {},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.type-single{
border-radius: .1rem .1rem 0 0 ;
background: #fff;
padding: .185rem .15rem 0;
.option-item{
padding: .06rem 0 ;
// height: .45rem;
line-height: .3rem;
font-size: .16rem;
color: #333333;
font-weight: Medium;
display: flex;
.option-num{
line-height: .3rem;
display: inline-block;
width: .25rem;
}
}
}
</style>
<template>
<div class="type-text" :class="{'max-height':open}">
<div v-html="dataObj.content" ></div>
<div class="answer-text" @click="open = !open">
打开
</div>
</div>
</template>
<script>
export default {
name: 'textCase',
props:{
dataObj:{
type:Object,
default:()=>{}
}
},
data() {
return {
open:false
}
},
created() {
},
mounted() {
console.log(this.dataObj,1111);
},
watch: {},
methods: {},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.type-text{
border-radius: .1rem .1rem 0 0 ;
background: #fff;
padding: .185rem .15rem 0;
height: 2rem;
}
.max-height{
height: 3rem;
}
</style>
<template>
<div class="type-title">
<div class="title-name">{{title}}</div>
<div>
<span class="now-index">{{currentIndex}}</span>
<span class="all-index">/{{allNum}}</span>
</div>
</div>
</template>
<script>
export default {
name: 'pTitle',
props:{
title:{
type:String,
default:''
},
currentIndex:{
type:Number,
default:0
},
allNum:{
type:Number,
default:0
}
},
data() {
return {
}
},
created() {
},
mounted() {
console.log(this.dataObj,1111);
},
watch: {},
methods: {},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.type-title{
padding: .06rem .15rem 0 ;
height: .45rem;
line-height: .45rem;
display: flex;
justify-content: space-between;
background:#f2f2f2;
.title-name{
color: #000000;
font-size: .16rem;
font-weight: Bold;
}
.now-index{
color: #000;
}
.all-index{
color: #666666;
}
}
</style>
......@@ -39,6 +39,26 @@ export default new Router({
name: 'my',
meta:'个人中心',
component: () => import('@/views/play/index.vue'),
}
},
{
path: '/weekPractice',
name: 'weekPractice',
meta:'周周练习',
component: () => import('@/views/weekPractice/index.vue'),
},
{
path: '/practice',
name: 'practice',
meta:'周周练习',
component: () => import('@/views/weekPractice/practice.vue'),
},
{
path: '/answerRecord',
name: 'answerRecord',
meta:'答题记录',
component: () => import('@/views/answerRecord/index.vue'),
},
]
})
......@@ -6,19 +6,10 @@ export const requestPath = {
commonbg: '/sysuser/bg',
commonfg: '/sysuser/fg',
orderfg: '/order/fg',
resourcefg: '/resource/fg',
resourceweb: '/resource/wap',
member: '/member/fg',
resource: '/fg-resource/fg',
resource: '/resource/fg',
resourceBg: '/resource/bg',
file: '/file/file/',
third: '/third/',
school: '/school-sysuser/fg',
sysydcc:'/sysuser/ydcc',
memberydcc:'/member/ydcc',
resourceydcc: '/resource/ydcc',
resourcefgydcc: '/resource/fg/ydcc',
sysuserBg:'/sysuser/bg'
}
export const uploadUrl = `${process.env.BASE_API}/file/file/`
......
<template>
<!--答题记录-->
<div class="answer-record">
<div class="banner"></div>
<div class="record-top">
<img src="@/assets/img/public/left.png" alt="" @click="backTo">
<div class="record-title">答题记录</div>
</div>
<div class="record-stic">
<div class="item-wrap">
<div class="record-item">
<div class="item-title">
正确率
</div>
<div class="item-percent">
90%
</div>
<div class="item-num">
<span>答题数量 </span>
<span class="num">100道</span>
</div>
<img class="item-img" src="@/assets/img/record/zonghe.png" alt="">
</div>
<div class="record-item">
<div class="item-title">
平均分
</div>
<div class="item-percent one">
90%
</div>
<div class="item-num">
<span>答题数量 </span>
<span class="num">100道</span>
</div>
<img class="item-img" src="@/assets/img/record/kaoshi.png" alt="">
</div>
</div>
<div class="item-wrap">
<div class="record-item">
<div class="item-title">
正确率
</div>
<div class="item-percent two">
90%
</div>
<div class="item-num">
<span>答题数量 </span>
<span class="num">100道</span>
</div>
<img class="item-img" src="@/assets/img/record/lianxi.png" alt="">
</div>
<div class="record-item">
<div class="item-title">
正确率
</div>
<div class="item-percent three">
90%
</div>
<div class="item-num">
<span>答题数量 </span>
<span class="num">100道</span>
</div>
<img class="item-img" src="@/assets/img/record/kaoshi.png" alt="">
</div>
</div>
</div>
<div class="record-list">
<div v-for="(item,index) in list" :key="index" class="list-item">
<h2>{{item.title}}</h2>
<div class="item-detail">
<div>
<span class="item-right-num">{{item.rightNum}}</span>
<span class="item-num">/{{item.num}}</span>
<span class="item-time">{{item.createTime}}</span>
</div>
<div>
<span class="">
成绩:
</span>
<span class="item-mark">
{{item.percent}}
</span>
</div>
</div>
</div>
</div>
<list-footer title='展示最近30天的答题记录'></list-footer>
</div>
</template>
<script>
import listFooter from '@/components/header/listFooter'
export default {
name: 'weekPractice',
components:{
listFooter
},
data() {
return {
list:[
{
title:'1111111',
rightNum:4,
num:5,
createTime:'2020-2020-20',
percent:50
},
{
title:'1111111',
rightNum:4,
num:5,
createTime:'2020-2020-20',
percent:50
}
]
}
},
created() {
console.log(listFooter,22);
},
watch: {},
methods: {
backTo(){
}
},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.answer-record{
width: 100%;
height: 100%;
position: relative;
background: #F2F2F2;
.banner {
width: 100%;
height: 2rem;
background:url('~@/assets/img/record/answer-bg.png') no-repeat;
background-size: cover;
}
.record-top{
position: absolute;
top: 0;
left:0;
right: 0;
img{
position: absolute;
left: .125rem;
top: .2rem;
width: .09rem;
height: .155rem;
}
.record-title{
position: absolute;
top: .2rem;
left: 50%;
transform: translateX(-50%);
color: #fff;
font-size: .18rem;
font-weight: Bold;
line-height: .17rem;
}
}
// 统计记录
.record-stic{
margin-top: -1rem;
.item-wrap{
display: flex;
height: 1rem;
margin-left: .11rem;
margin-bottom: .11rem;
.record-item{
flex: 1;
display: flex;
flex-direction: column;
text-align: center;
margin-right: .11rem;
height: 1rem;
background: #fff;
border-radius: .05rem;
}
}
}
}
.record-item{
position: relative;
box-shadow: 0 0 .15rem rgba(0, 0, 0, 0.05);
.item-title{
font-size: .15rem;
line-height: .3rem;
margin-top: .1rem;
font-weight: Medium;
}
.item-percent{
font-size: .23rem;
line-height: .3rem;
color: #2A7EFB;
}
.one{
color: #E9493E;
}
.two{
color: #4FAF6E;
}
.three{
color: #F28D2A;
}
.item-num{
margin-top: 0.04rem;
font-size: .09rem;
line-height: .15rem;
color: #999999;
.num{
color: #5189F8;
}
}
.item-img{
position: absolute;
top: 0;
right: 0;
height: .18rem;
width: .34rem;
}
}
.record-list{
.list-item{
margin: .1rem .14rem;
background: #fff;
border-radius: .05rem;
padding: .15rem .12rem;
box-shadow: 0 0 .15rem rgba(0, 0, 0, 0.05);
h2{
font-size: .14rem;
line-height: .2rem;
color: #000;
}
.item-detail{
display: flex;
margin-top: .1rem;
justify-content: space-between;
font-size: .11rem;
}
}
}
.item-detail{
.item-right-num{
color: #000;
}
.item-num{
color: #999;
}
.item-time{
color: #999;
}
.item-mark{
color: #E9493E;
}
}
</style>
<template>
<!--在线练习-->
<div class="week-list">
<topHeader header-title="在线答题" :showCol="false"></topHeader>
<div class="list-cnt">
<div v-for="(item,key) in list" :key="key" class="list-item">
<div class="item-time">{{key}}</div>
<div class="item-el-child">
<div v-for="(el,ind) in item" :key="ind" class="item-child" @click="linkTo(el)">
<div class="item-child-cnt">
<div class="item-child-title">{{el.name}}</div>
<div class="item-child-has" v-if="el.isJoin === '1'">已参加</div>
<div v-else class="item-child-no">未参加</div>
</div>
<img src="@/assets/img/list/list-right.png" alt="">
</div>
</div>
</div>
<list-footer title='展示最近30天的答题记录'></list-footer>
</div>
</div>
</template>
<script>
import topHeader from "@/components/header/topHeader.vue";
import listFooter from '@/components/header/listFooter'
import { getWeekListAPI } from '@/api/week'
export default {
name: "weekPractice",
components: {
topHeader,
listFooter
},
data() {
return {
list:[],
listQuery:{
pageNum:1,
pageSize:100,
}
};
},
created() {
this.getList()
},
watch: {},
methods: {
getList(){
getWeekListAPI(this.listQuery).then(res=>{
if(res.data.code == 0){
console.log(res.data,22);
this.list = res.data.data.map
console.log(this.list,111);
}
})
},
linkTo(item){
console.log(item);
this.$router.push({name:'practice',query:{id:item.id}})
}
}
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.week-list{
height: 100vh;
background: #F2F2F2;
}
.list-cnt{
padding-top: .44rem;
background: #F2F2F2;
.list-item{
.item-time{
padding-left:.15rem;
line-height: .445rem;
height: .445rem;
}
.item-el-child{
padding: 0 .15rem;
background: #fff;
}
}
}
.item-child{
display: flex;
padding: .06rem 0 ;
line-height: .25rem;
justify-content: space-between;
align-items: center;
border-bottom: .005rem solid #EBEBEB;
img{
height: .115rem;
width: .075rem;
}
&:last-child{
border-bottom: 0;
}
.item-child-cnt{
font-size: .12rem;
}
.item-child-title{
color: #000000;
font-size: .15rem;
}
.item-child-no{
color: #FC7B2D
}
.item-child-has{
color: #999999;
}
}
</style>
<template>
<!--在线练习-->
<div class="practice">
<topHeader :header-title="topTitle" ></topHeader>
<div class="practice-item">
<p-title :title='typeObj[currentObj.questionType]' :current-index="currentIndex" :all-num="list.length"></p-title>
<!-- <single :data-obj="currentObj"></single> -->
<!-- <completion :data-obj="currentObj"></completion> -->
<text-case :data-obj="currentObj"></text-case>
</div>
<p-button name="确认"></p-button>
<right-answer :analysis='currentObj.analysis' :answer="currentObj.answer"></right-answer>
</div>
</template>
<script>
import topHeader from "@/components/header/topHeader.vue";
import pButton from "@/components/practice/button.vue"; // 按钮
import rightAnswer from "@/components/practice/answer.vue"; // 正确答案
import pTitle from "@/components/practice/title.vue"; // 头部选择
import single from "@/components/practice/single.vue"; // 单选
import completion from "@/components/practice/completion.vue"; // 填空
import textCase from "@/components/practice/textCase.vue"; // 填空
import { getWeekDetailAPI } from '@/api/week'
export default {
name: "weekPractice",
components: {
topHeader,
pButton,
rightAnswer,
pTitle,
single,
completion,
textCase
},
data() {
return {
typeObj:{
'1':'单选',
'2':'多选',
'3':'判断',
'4':'填空',
'5':'文字案例题',
'6':'视频案例题',
},
topTitle:'',
list:[],
listQuery:{
id:1,
type:1,
},
id:0,
currentObj:{},
currentIndex:1,
showAnswer:true
};
},
created() {
this.id = this.$route.query.id
this.listQuery.id = this.id
this.getDetail()
},
watch: {},
methods: {
getDetail(){
getWeekDetailAPI(this.listQuery).then(res=>{
if(res.data.code == 0){
this.list = res.data.data
this.currentIndex = 1
this.currentObj = this.list[0]
console.log(this.list,111);
}
})
},
}
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
.practice{
height: 100%;
// background: #F2F2F2;
.practice-item{
background: #f2f2f2;
padding-top: .44rem;
}
}
</style>
差异被折叠。
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
.mce-visualblocks p {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
background-repeat: no-repeat;
}
.mce-visualblocks h1 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks h2 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks h3 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
background-repeat: no-repeat;
}
.mce-visualblocks h4 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks h5 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks h6 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks div:not([data-mce-bogus]) {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
background-repeat: no-repeat;
}
.mce-visualblocks section {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
background-repeat: no-repeat;
}
.mce-visualblocks article {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
background-repeat: no-repeat;
}
.mce-visualblocks blockquote {
padding-top: 10px;
border: 1px dashed #BBB;
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
background-repeat: no-repeat;
}
.mce-visualblocks address {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
background-repeat: no-repeat;
}
.mce-visualblocks pre {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks figure {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
background-repeat: no-repeat;
}
.mce-visualblocks hgroup {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
background-repeat: no-repeat;
}
.mce-visualblocks aside {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
background-repeat: no-repeat;
}
.mce-visualblocks figcaption {
border: 1px dashed #BBB;
}
.mce-visualblocks ul {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks ol {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
background-repeat: no-repeat;
}
.mce-visualblocks dl {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
background-repeat: no-repeat;
}
.word-wrap {
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto
}
.mce-content-body .mce-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
vertical-align: top;
background: transparent;
text-decoration: none;
color: black;
font-family: Arial;
font-size: 11px;
text-shadow: none;
float: none;
position: static;
width: auto;
height: auto;
white-space: nowrap;
cursor: inherit;
line-height: normal;
font-weight: normal;
text-align: left;
-webkit-tap-highlight-color: transparent;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
direction: ltr;
max-width: none
}
.mce-object {
border: 1px dotted #3A3A3A;
background: #D5D5D5 url(img/object.gif) no-repeat center
}
.mce-preview-object {
display: inline-block;
position: relative;
margin: 0 2px 0 2px;
line-height: 0;
border: 1px solid gray
}
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none
}
.mce-preview-object .mce-shim {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
}
figure.align-left {
float: left
}
figure.align-right {
float: right
}
figure.image.align-center {
display: table;
margin-left: auto;
margin-right: auto
}
figure.image {
display: inline-block;
border: 1px solid gray;
margin: 0 2px 0 1px;
background: #f5f2f0
}
figure.image img {
margin: 8px 8px 0 8px
}
figure.image figcaption {
margin: 6px 8px 6px 8px;
text-align: center
}
.mce-toc {
border: 1px solid gray
}
.mce-toc h2 {
margin: 4px
}
.mce-toc li {
list-style-type: none
}
.mce-pagebreak {
cursor: default;
display: block;
border: 0;
width: 100%;
height: 5px;
border: 1px dashed #666;
margin-top: 15px;
page-break-before: always
}
@media print {
.mce-pagebreak {
border: 0
}
}
.mce-item-anchor {
cursor: default;
display: inline-block;
-webkit-user-select: all;
-webkit-user-modify: read-only;
-moz-user-select: all;
-moz-user-modify: read-only;
user-select: all;
user-modify: read-only;
width: 9px !important;
height: 9px !important;
border: 1px dotted #3A3A3A;
background: #D5D5D5 url(img/anchor.gif) no-repeat center
}
.mce-nbsp,
.mce-shy {
background: #AAA
}
.mce-shy::after {
content: '-'
}
.mce-match-marker {
background: #AAA;
color: #fff
}
.mce-match-marker-selected {
background: #3399ff;
color: #fff
}
.mce-spellchecker-word {
border-bottom: 2px solid rgba(208, 2, 27, 0.5);
cursor: default
}
.mce-spellchecker-grammar {
border-bottom: 2px solid #008000;
cursor: default
}
.mce-item-table,
.mce-item-table td,
.mce-item-table th,
.mce-item-table caption {
border: 1px dashed #BBB
}
td[data-mce-selected],
th[data-mce-selected] {
background-color: #2276d2 !important
}
.mce-edit-focus {
outline: 1px dotted #333
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
outline: 2px solid #2276d2
}
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
outline: 2px solid #2276d2
}
.mce-content-body *[contentEditable=false][data-mce-selected] {
outline: 2px solid #2276d2
}
.mce-content-body *[data-mce-selected="inline-boundary"] {
background: #bfe6ff
}
.mce-content-body .mce-item-anchor[data-mce-selected] {
background: #D5D5D5 url(img/anchor.gif) no-repeat center
}
.mce-content-body hr {
cursor: default
}
.ephox-snooker-resizer-bar {
background-color: #2276d2;
opacity: 0
}
.ephox-snooker-resizer-cols {
cursor: col-resize
}
.ephox-snooker-resizer-rows {
cursor: row-resize
}
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
opacity: .2
}
.mce-content-body {
line-height: 1.3
}
\ No newline at end of file
body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2} a {color: #1478F0;}
This source diff could not be displayed because it is too large. You can view the blob instead.
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论