12 files modified
1 files added
| | |
| | | p{ |
| | | text-indent: 2rem; |
| | | } |
| | | |
| | | |
| | | img:hover{ |
| | | transform: scale(1.05); |
| | | //box-shadow: 0 0 4px rgba(0,0,0,0.5); |
| | | -webkit-filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5)); |
| | | filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5)); |
| | | } |
| | | |
| | | img{ |
| | | width: 150px; |
| | | border-radius: 12px; |
| | | margin: 10px auto; |
| | | transition: all .5s; |
| | |
| | | // -webkit-filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5)); |
| | | // filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5)); |
| | | // } |
| | | |
| | | h1, h2, h3, h4 { |
| | | color: #111111; |
| | | font-weight: 400; |
| | |
| | | h1, h2, h3, h4, h5 { |
| | | font-family: Georgia, Palatino, serif; |
| | | } |
| | | |
| | | h1, h2, h3, h4, h5, p , dl{ |
| | | margin-bottom: 16px; |
| | | padding: 0; |
| | |
| | | font-size: .85em; |
| | | white-space: pre; |
| | | background: 0 0; |
| | | |
| | | } |
| | | |
| | | code { |
| | |
| | | blockquote { |
| | | border-left:.5em solid #cfcfcf; |
| | | //padding: 0 0 0 2em; |
| | | margin-left:0; |
| | | margin-left: 0em; |
| | | } |
| | | blockquote cite { |
| | | font-size:14px; |
| | |
| | | } |
| | | |
| | | blockquote p { |
| | | text-indent: inherit; |
| | | color: #666; |
| | | } |
| | | blockquote *{ |
| | | margin-left: 10px; |
| | | } |
| | | hr { |
| | | text-align: left; |
| | | color: #999; |
| | |
| | | <template> |
| | | <div class="myModal" ref="test"> |
| | | <a-modal v-drag-modal v-model="visible" title="日志添加" on-ok="handleOk" |
| | | :bodyStyle="{'overflow':'overlay','maxHeight': '550px'}"> |
| | | <div class="myModal"> |
| | | <a-modal v-drag-modal ref="blogAddModal" v-model="visible" title="日志添加" on-ok="handleOk" |
| | | :bodyStyle="{'overflow':'overlay','maxHeight': '550px'}" :destroyOnClose="destroyOnClose"> |
| | | <template slot="footer"> |
| | | <a-button key="reset" @click="reset" type="danger"> |
| | | 擦掉重来 |
| | |
| | | return { |
| | | visible: false, |
| | | loading: false, |
| | | destroyOnClose: false, |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | |
| | | let tempData = this.$refs.modalBox.form; |
| | | var param = { |
| | | introduce: tempData.introduce, |
| | | secret: tempData.secret, |
| | | title: tempData.title, |
| | | articleTypeId: tempData.class, |
| | |
| | | articleFileId: tempData.fileId, |
| | | content: tempData.content, |
| | | articleFileType: tempData.blogType, |
| | | introduce: "", |
| | | coverFileId: tempData.coverFile, |
| | | pictureIds: tempData.pictureIds, |
| | | videoIds: tempData.videoIds, |
| | | publishDate: tempData.publishDate, |
| | | isTop: tempData.top ? 1 : 0, |
| | | topValue: tempData.sliderValue, |
| | | isLock: tempData.lock ? 1 : 0, |
| | | authStatus: tempData.auth, |
| | | authPassword: tempData.password == "" ? null : md5(tempData.password), |
| | | editorStatus: !tempData.tempSave?1:0 |
| | | editorStatus: !tempData.tempSave ? 1 : 0 |
| | | } |
| | | console.log(param) |
| | | this.loading = true; |
| | |
| | | // }, 3000); |
| | | }, |
| | | reset(e) { |
| | | var res = this.$refs.modalBox.$refs.myForm.resetFields(); |
| | | // var res = this.$refs.modalBox.$refs.myForm.resetFields(); |
| | | //this.$refs.modalBox.reset(); |
| | | this.destroyOnClose = true; |
| | | this.visible = false; |
| | | setTimeout(() => { |
| | | this.destroyOnClose = false; |
| | | }, 500) |
| | | }, |
| | | handleCancel(e) { |
| | | this.visible = false; |
| | |
| | | </a> |
| | | |
| | | <div class="article-meta-wrap" style="display: flex;"> |
| | | <span class="post-meta-date"> |
| | | <span class="post-meta-date" style="margin-right: 7px;"> |
| | | <a-icon type="calendar" /> |
| | | <span class="article-meta-label"></span> |
| | | <span class="article-meta__categories"> {{publishDate}} </span> |
| | | </span> |
| | | <span class="article-meta__separator" style="margin: 0px 5px ;">|</span> |
| | | |
| | | <span class="article-meta"> |
| | | <a-icon type="book" /> |
| | |
| | | </a> |
| | | |
| | | <span v-if="jumpURL !=null && jumpURL!=''"> |
| | | <span class="article-meta__separator" style="margin: 0px 3px 5px 0px ;">|</span> |
| | | <span class="post-meta-date"> |
| | | <a-icon type="share-alt" /> |
| | | <a :href="jumpURL" target="_blank" class="no-underline"> 外链 </a> |
| | | </span> |
| | | <a-icon type="share-alt" /> |
| | | <a :href="jumpURL" target="_blank" class="no-underline"> 外链 </a> |
| | | </span> |
| | | <span v-else-if="articleFileType==fileType.fileTypeTalking_9"> |
| | | <span> |
| | | <span class="article-meta__separator" style="margin: 0px 3px 5px 0px ;">|</span> |
| | | <span class="post-meta-date"> |
| | | <a-icon type="thunderbolt" />碎碎念 |
| | | </span> |
| | | </span> |
| | | <a-icon type="thunderbolt" /> |
| | | <span class="post-meta-date">碎碎念</span> |
| | | </span> |
| | | |
| | | <span v-if="articleFileType==fileType.fileTypeVideo_3"> |
| | | <span class="article-meta__separator" style="margin: 0px 3px ;"> | </span> |
| | | <a-icon type="video-camera" /> |
| | | <span class="post-meta-date"> |
| | | <a-icon type="video-camera" /> |
| | | <a @click="routerToPlatform()"> |
| | | 视频 |
| | | </a> |
| | | <a @click="routerToPlatform()">视频</a> |
| | | </span> |
| | | </span> |
| | | <!-- <a class="article-meta__categories" href="#"> {{tag}}</a> --> |
| | |
| | | box-shadow: aliceblue; |
| | | } |
| | | |
| | | |
| | | |
| | | // #recent-posts>.recent-post-item:not(:first-child) { |
| | | // margin-top: 1rem; |
| | | // } |
| | |
| | | <template> |
| | | <div> |
| | | <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel"> |
| | | <img alt="example" style="width: 100%" :src="previewImage" /> |
| | | </a-modal> |
| | | <a-form-model ref="myForm" :model="form" :label-col="labelCol" :wrapper-col="wrapperCol" :rules="rules"> |
| | | <a-form-model-item label="认证" prop="secret"> |
| | | <a-input v-model="form.secret" autocomplete='new-password' type="password" placeholder="口令"> |
| | |
| | | @change="handleChange" :default-file-list="form.blogFileList" :beforeUpload="beforeUpload" |
| | | :data="{'bucketName':bucketName.bucket_article}" accept=".md,.html,.htm,.txt"> |
| | | <a-button> |
| | | <a-icon type="upload" />限 markdown/html |
| | | <a-icon type="upload" />限 md/html/txt |
| | | </a-button> |
| | | </a-upload> |
| | | </a-form-model-item> |
| | |
| | | </span> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label=" 日志主类型"> |
| | | <a-form-model-item label=" 主类型"> |
| | | <a-select v-model="form.blogType" mode="default" placeholder="" |
| | | :getPopupContainer="getCalendarContainer()"> |
| | | <a-select-option value="1"> |
| | |
| | | </a-select> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="引言" prop="introduce"> |
| | | <a-input v-model="form.introduce" type="textarea" placeholder="限700字数" /> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="封面"> |
| | | <a-upload :customRequest="customRequest" name="file" :showUploadList="true" list-type="picture" |
| | | :data="{'bucketName':bucketName.bucket_cover}" @change="handleChangeCoverFile" |
| | | :default-file-list="form.coverFileList" :beforeUpload="beforeUploadCover" |
| | | accept=".jpg,.png,.jpeg" @preview="handlePreview"> |
| | | <!-- :disabled="form.coverFileList.length>=1" --> |
| | | <a-button> |
| | | <a-icon type="upload" />jpg/png/jpeg.. |
| | | </a-button> |
| | | </a-upload> |
| | | <!-- <span class="myTip"> |
| | | 自动转码,可以传高清图 |
| | | </span> --> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="图组"> |
| | | <a-upload :customRequest="customRequest" name="file" :showUploadList="true" list-type="picture-card" |
| | | :data="{'bucketName':bucketName.bucket_picture}" @change="handleChangePictureFile" |
| | | :default-file-list="form.pictureList" :beforeUpload="beforeUploadPicture" |
| | | accept=".jpg,.png,.jpeg" :multiple="true" @preview="handlePreview"> |
| | | <a-button> |
| | | <a-icon type="upload" />jpg/png/jpeg.. |
| | | </a-button> |
| | | </a-upload> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="视频组"> |
| | | <a-upload :customRequest="customRequest" name="file" :showUploadList="true" list-type="text" |
| | | :data="{'bucketName':bucketName.bucket_video}" @change="handleChangeVideoFile" |
| | | :default-file-list="form.videoList" :beforeUpload="beforeUploadVideo" :multiple="true" |
| | | accept=".mp4"> |
| | | <a-button> |
| | | <a-icon type="upload" />mp4 |
| | | </a-button> |
| | | </a-upload> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="定时"> |
| | | <a-date-picker v-model="momentDate" show-time type="datetime" placeholder="发布时间" |
| | | style="width: 100%;" :disabledDate="disabledDate" @change="formatDate" |
| | | :getCalendarContainer="getCalendarContainer()" /> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="标签"> |
| | | <template v-for="(tag, index) in tags"> |
| | | <a-tooltip v-if="tag.length > 20" :key="tag" :title="tag"> |
| | |
| | | {{ tag }} |
| | | </a-tag> |
| | | </template> |
| | | |
| | | |
| | | <a-input v-if="inputVisible" ref="input" type="text" size="small" :style="{ width: '78px' }" |
| | | :value="inputValue" @change="handleInputChange" @blur="handleInputConfirm" |
| | | @keyup.enter="handleInputConfirm" /> |
| | | |
| | | |
| | | <a-tag v-else style="background: #fff; borderStyle: dashed;" @click="showInput"> |
| | | <a-icon type="plus" /> New Tag |
| | | </a-tag> |
| | | |
| | | </a-form-model-item> |
| | | |
| | | |
| | | <a-form-model-item label="封面"> |
| | | <a-upload :customRequest="customRequest" name="file" :showUploadList="true" list-type="picture" |
| | | :data="{'bucketName':bucketName.bucket_cover}" @change="handleChangeCoverFile" |
| | | :default-file-list="form.coverFileList" :beforeUpload="beforeUploadCover" |
| | | accept=".jpg,.png,.jpeg"> |
| | | <!-- :disabled="form.coverFileList.length>=1" --> |
| | | <a-button> |
| | | <a-icon type="upload" />jpg/png/jpeg.. |
| | | </a-button> |
| | | </a-upload> |
| | | <!-- <span class="myTip"> |
| | | 自动转码,可以传高清图 |
| | | </span> --> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="定时"> |
| | | <a-date-picker v-model="form.publishDate" show-time type="datetime" placeholder="发布时间" |
| | | style="width: 100%;" :disabledDate="disabledDate" |
| | | :getCalendarContainer="getCalendarContainer()" /> |
| | | </a-form-model-item> |
| | | |
| | | <div v-bind:class="{'myBorder':form.top}" style="padding: 3px;margin-bottom: 10px;"> |
| | |
| | | import myConstant from "../../config/myConstant.js" |
| | | import md5 from 'js-md5'; |
| | | |
| | | function getBase64(file) { |
| | | return new Promise((resolve, reject) => { |
| | | const reader = new FileReader(); |
| | | reader.readAsDataURL(file); |
| | | reader.onload = () => resolve(reader.result); |
| | | reader.onerror = error => reject(error); |
| | | }); |
| | | } |
| | | |
| | | export default { |
| | | beforeMount() { |
| | | queryBlogArticleType({}).then((res) => { |
| | |
| | | }; |
| | | |
| | | return { |
| | | previewVisible: false, |
| | | previewImage: '', |
| | | bucketName: myConstant.bucketName, |
| | | momentDate: undefined, |
| | | blogArticleType: [], |
| | | tags: [], |
| | | inputVisible: false, |
| | |
| | | span: 13 |
| | | }, |
| | | form: { |
| | | introduce: '', |
| | | secret: '', |
| | | online: false, |
| | | preference: false, |
| | | title: '', |
| | | content: '', |
| | | class: [], |
| | |
| | | password: "", |
| | | fileId: null, |
| | | coverFile: null, |
| | | pictureIds: null, |
| | | videoIds: null, |
| | | blogFileList: [], |
| | | coverFileList: [], |
| | | pictureList: [], |
| | | videoList: [], |
| | | online: false, |
| | | preference: false, |
| | | }, |
| | | rules: { |
| | | title: [{ |
| | |
| | | trigger: 'blur' |
| | | }, |
| | | ], |
| | | introduce: [{ |
| | | max: 5, |
| | | message: '字数限制700', |
| | | trigger: 'blur' |
| | | }, ], |
| | | secret: [{ |
| | | required: true, |
| | | message: '好像这里错了..', |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | handleCancel() { |
| | | this.previewVisible = false; |
| | | }, |
| | | async handlePreview(file) { |
| | | if (!file.url && !file.preview) { |
| | | file.preview = await getBase64(file.originFileObj); |
| | | } |
| | | this.previewImage = file.url || file.preview; |
| | | this.previewVisible = true; |
| | | }, |
| | | reset() { |
| | | // this.form.blogFileList = []; |
| | | // this.form.coverFileList = []; |
| | | }, |
| | | formatDate(date, dateString) { |
| | | this.form.publishDate = dateString; |
| | | }, |
| | | beforeUploadVideo(file, fileList) { |
| | | return new Promise((resolve, reject) => { |
| | | if (this.form.secret == null || this.form.secret == "") { |
| | | this.$message.error('需要正确的授权码'); |
| | | return reject(false); |
| | | } |
| | | |
| | | if (this.form.coverFileList.length > 10) { |
| | | this.$message.error('这里最多上传10个文件'); |
| | | return reject(false); |
| | | } |
| | | if (file.size > myConstant.uploadVideoSizeLimit) { |
| | | this.$message.error('上传文件大小不能超过 200M!'); |
| | | return reject(false); |
| | | } |
| | | return resolve(true) |
| | | }); |
| | | }, |
| | | beforeUploadPicture(file, fileList) { |
| | | return new Promise((resolve, reject) => { |
| | | if (this.form.secret == null || this.form.secret == "") { |
| | | this.$message.error('需要正确的授权码'); |
| | | return reject(false); |
| | | } |
| | | |
| | | if (this.form.coverFileList.length > 10) { |
| | | this.$message.error('这里最多上传10个文件'); |
| | | return reject(false); |
| | | } |
| | | if (file.size > myConstant.uploadFileSizeLimit) { |
| | | this.$message.error('上传文件大小不能超过 2M!'); |
| | | return reject(false); |
| | | } |
| | | return resolve(true) |
| | | }); |
| | | }, |
| | | beforeUploadCover(file, fileList) { |
| | | return new Promise((resolve, reject) => { |
| | |
| | | } |
| | | if (info.file.status === 'done') { |
| | | this.form.fileId = info.file.response.data; |
| | | this.$message.success(`${info.file.name} file uploaded successfully`); |
| | | this.$message.success(`${info.file.name} 上传成功`); |
| | | } else if (info.file.status === 'error') { |
| | | this.$message.error(`${info.file.name} file upload failed.`); |
| | | this.$message.error(`${info.file.name} 上传失败`); |
| | | } |
| | | |
| | | if (this.form.blogFileList == null || this.form.blogFileList.length == 0) { |
| | |
| | | } |
| | | if (info.file.status === 'done') { |
| | | this.form.coverFile = info.file.response.data; |
| | | this.$message.success(`${info.file.name} file uploaded successfully`); |
| | | this.$message.success(`${info.file.name} 上传成功`); |
| | | } else if (info.file.status === 'error') { |
| | | this.$message.error(`${info.file.name} file upload failed.`); |
| | | this.$message.error(`${info.file.name} 上传失败`); |
| | | } |
| | | |
| | | if (this.form.coverFileList == null || this.form.coverFileList.length == 0) { |
| | | this.form.coverFile = null |
| | | } |
| | | }, |
| | | handleChangePictureFile(info) { |
| | | this.form.pictureList = info.fileList; |
| | | |
| | | if (info.file.status !== 'uploading') { |
| | | console.log(info.file, info.fileList); |
| | | } |
| | | if (info.file.status === 'done') { |
| | | if (this.form.pictureIds == null || this.form.pictureIds == "") { |
| | | this.form.pictureIds = info.file.response.data; |
| | | } else { |
| | | this.form.pictureIds = this.form.pictureIds + "," + info.file.response.data; |
| | | } |
| | | this.$message.success(`${info.file.name} 上传成功`); |
| | | } else if (info.file.status === 'error') { |
| | | this.$message.error(`${info.file.name} 上传失败`); |
| | | } |
| | | |
| | | if (this.form.pictureList == null || this.form.pictureList.length == 0) { |
| | | this.form.pictureIds = null |
| | | } |
| | | }, |
| | | handleChangeVideoFile(info) { |
| | | this.form.videoList = info.fileList; |
| | | |
| | | if (info.file.status !== 'uploading') { |
| | | console.log(info.file, info.fileList); |
| | | } |
| | | if (info.file.status === 'done') { |
| | | if (this.form.videoIds == null || this.form.videoIds == "") { |
| | | this.form.videoIds = info.file.response.data; |
| | | } else { |
| | | this.form.videoIds = this.form.videoIds + "," + info.file.response.data |
| | | } |
| | | this.$message.success(`${info.file.name} 上传成功`); |
| | | } else if (info.file.status === 'error') { |
| | | this.$message.error(`${info.file.name} 上传失败`); |
| | | } |
| | | |
| | | if (this.form.videoList == null || this.form.videoList.length == 0) { |
| | | this.form.videoIds = null |
| | | } |
| | | }, |
| | | /** |
| | |
| | | formData.append('file', option.file) |
| | | formData.append('bucketName', option.data.bucketName) |
| | | formData.append('authCode', this.form.secret == "" ? "" : md5(this.form.secret)) |
| | | let _this = this |
| | | myFileInfoUpload(formData).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('上传成功') |
| | | option.onSuccess(res, option.file) |
| | | // 在上传成功后进度条显示为99 |
| | | progress.percent = 100 |
| | | // this.$message.success('上传成功') |
| | | } else { |
| | | this.$message.error('上传失败:' + res.message) |
| | | } |
| | |
| | | } |
| | | }, 500) |
| | | |
| | | |
| | | }, |
| | | disabledDate(current) { |
| | | return current < moment().subtract(1, "day"); |
| | |
| | | //console.log(tags); |
| | | this.tags = this.tags.filter(tag => tag !== removedTag); |
| | | }, |
| | | |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | this.$nextTick(function() { |
| | | this.$refs.input.focus(); |
| | | }); |
| | | }, |
| | | |
| | | handleInputChange(e) { |
| | | this.inputValue = e.target.value; |
| | | }, |
| | | |
| | | handleInputConfirm() { |
| | | const inputValue = this.inputValue; |
| | | let tags = this.tags; |
| | |
| | | <div class="post-categories"> |
| | | <span class="tag vcard"> |
| | | <a-icon type="customer-service" /> |
| | | <a href="#" rel="category tag"> {{item.articleTypeName}}</a> |
| | | {{item.articleTypeName}} |
| | | </span> |
| | | </div> |
| | | <div class="post-on"> |
| | | <span class="entry-date"> |
| | | <a-icon type="calendar" /> |
| | | <a href="#" rel="bookmark"> |
| | | {{item.publishDate}} |
| | | </a> |
| | | {{item.publishDate}} |
| | | </span> |
| | | </div> |
| | | </div> |
| | |
| | | </span> |
| | | <div class="blog-scroll "> |
| | | <div class="blog-log-list"> |
| | | <div class="blog-log-item" v-for="item in list1"> |
| | | <div class="blog-log-item" v-for="(item,index) in list1"> |
| | | <router-link :to="{path:'/articleList',query:{typeId:item.id}}"> |
| | | <span>{{item.typeName}}</span> |
| | | </router-link> |
| | |
| | | /*日志部分*/ |
| | | .blog-log-list { |
| | | line-height: 1.6; |
| | | padding-left: 3%; |
| | | // padding-left: 3%; |
| | | padding-right: 3%; |
| | | |
| | | flex-wrap: wrap; |
| | |
| | | 归档信息 |
| | | </router-link> |
| | | </span> |
| | | <div class="blog-scroll "> |
| | | <div v-for="yearData in myData"> |
| | | <div class="blog-scroll" v-bind:class="{miniHeight:showLess,maxHeight:!showLess}"> |
| | | <div v-for="(yearData,index) in myData" class="fade" v-if="index < 2 || !showLess"> |
| | | <router-link :to="{name:'tagTime',query:{year:yearData.year}}"> |
| | | <p class="blog-pigeonhole-p">{{yearData.year}}年</p> |
| | | </router-link> |
| | | <div class="blog-pigeonhole-list"> |
| | | |
| | | <div class="blog-pigeonhole-item" v-for="item in yearData.list"> |
| | | <router-link :to="{name:'tagTime', |
| | | query:{year:yearData.year,month:item.month}}"> |
| | | query:{year:yearData.year,month:item.month}}"> |
| | | <span>{{item.month}}月</span> |
| | | </router-link> |
| | | <span>{{item.count}}篇</span> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div @click="()=>showLess=!showLess" v-if="myData.length>2 && showLess">...</div> |
| | | </div> |
| | | |
| | | </template> |
| | |
| | | import { |
| | | archive |
| | | } from '../../api/blogStatistics.js' |
| | | |
| | | export default { |
| | | |
| | | beforeMount() { |
| | | archive({}).then((res) => { |
| | | this.myData = res.data; |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | "myData": [ |
| | | // { |
| | | // "year": "2022", |
| | | // "list": [{ |
| | | // "month": "12", |
| | | // "count": 10 |
| | | // }, |
| | | // { |
| | | // "month": "10", |
| | | // "count": 11 |
| | | // }, |
| | | // { |
| | | // "month": "9", |
| | | // "count": 9 |
| | | // } |
| | | // ] |
| | | // }, |
| | | // { |
| | | // "year": "2021", |
| | | // "list": [{ |
| | | // "month": "12", |
| | | // "count": 8 |
| | | // }, |
| | | // { |
| | | // "month": "10", |
| | | // "count": 7 |
| | | // }, |
| | | // { |
| | | // "month": "7", |
| | | // "count": 4 |
| | | // }, |
| | | // { |
| | | // "month": "6", |
| | | // "count": 3 |
| | | // }, |
| | | // { |
| | | // "month": "5", |
| | | // "count": 2 |
| | | // }, |
| | | // { |
| | | // "month": "4", |
| | | // "count": 1 |
| | | // } |
| | | // ] |
| | | // } |
| | | ], |
| | | showLess: true, |
| | | "myData": [], |
| | | } |
| | | } |
| | | } |
| | |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .blog-scroll { |
| | | transition: all ease-in-out 0.8s; |
| | | } |
| | | |
| | | .miniHeight { |
| | | max-height: 250px; |
| | | } |
| | | |
| | | .maxHeight { |
| | | max-height: 800px; |
| | | } |
| | | |
| | | /*归档部分*/ |
| | | .archive { |
| | | a { |
| | | color: black; |
| | | } |
| | | |
| | | } |
| | | |
| | | .blog-pigeonhole { |
| | |
| | | line-height: 20px; |
| | | border-radius: 6px 6px 6px 6px; |
| | | /*background-color: #edf0f3;*/ |
| | | margin-left: 3%; |
| | | margin-left: 5%; |
| | | margin-bottom: 3%; |
| | | opacity: 0.7; |
| | | } |
| | |
| | | /*让弹性盒元素在必要的时候拆行:*/ |
| | | align-content: flex-start; |
| | | -webkit-align-content: flex-start; |
| | | |
| | | transition: all 1 ease; |
| | | } |
| | | |
| | | .blog-pigeonhole-item { |
| | |
| | | <div class="markdown-body articleTitle"> |
| | | <h4>{{articelMeta.title}}</h4> |
| | | |
| | | <div class="introduceSamll" v-if="introduce.length==0"> |
| | | <div class="introduceSamll" v-if="introduce==null||introduce.length==0"> |
| | | <p>空荡荡的..我好像忘记写点什么了OωO</p> |
| | | </div> |
| | | <div class="introduce" v-else> |
| | |
| | | <div style="text-align: center;">图组数量:{{articelMeta.pictureUrlList.length}}</div> |
| | | </div> |
| | | </div> |
| | | <div class="introduce"> |
| | | <div class="introduce" v-if="introduce!=null && introduce.length>0"> |
| | | <pre style="white-space: pre-line;padding: 10px;max-width: 100%;"> |
| | | {{introduce}} |
| | | </pre> |
| | |
| | | max-width: 120px; |
| | | } |
| | | } |
| | | .countMeta{ |
| | | |
| | | .countMeta { |
| | | bottom: 10px; |
| | | } |
| | | } |
| | |
| | | <!-- 好用的黑色 #292a2d --> |
| | | <div class="swichTag "> |
| | | <a-page-header title="关于我的一些..小故事" style="padding: 10px 0px 20px 0px;" @back="() => this.$router.go(-1)" /> |
| | | <a-timeline pending="..."> |
| | | <p slot="pendingDot" style="font-size: 18px;" /> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <!-- <a-icon slot="dot" type="form" style="font-size: 18px;" /> --> |
| | | <a-icon type="message" slot="dot" style="font-size: 18px;" /> |
| | | <br> |
| | | <p> |
| | | <ul> |
| | | <li> 尘世间一个迷途小码农</li> |
| | | <li> 喜欢钢琴~喜欢吉他 </li> |
| | | <li> 爱音乐,也爱看番 </li> |
| | | <li> B界的白嫖怪</li> |
| | | <li> PC单机的 |
| | | <!-- <span class="myTip">伪</span> --> |
| | | <span class="myTip" style="text-decoration:line-through">硬核</span>玩家 |
| | | </li> |
| | | <li> |
| | | <img src="http://t.inleft.com/share/media_photo/xm.jpg" |
| | | style="width: 50px;border-radius: 20px;" /> |
| | | 我的小老弟&御用暖床袋 |
| | | <img src="http://t.inleft.com/share/media_photo/IMG_20220117_145633.jpg" |
| | | style="width: 50px;border-radius: 30px" /> |
| | | <span style="font-size: 10px;color: #999">(小乖)</span> |
| | | </li> |
| | | <br> |
| | | </ul> |
| | | </p> |
| | | |
| | | </a-timeline-item> |
| | | </a-timeline> |
| | | <div> |
| | | <p> |
| | | <ul> |
| | | <li> 尘世间一个迷途小码农</li> |
| | | <li> 喜欢钢琴~喜欢吉他 </li> |
| | | <li> 爱音乐,也爱看番 </li> |
| | | <li> B界的白嫖怪</li> |
| | | <li> PC单机的 |
| | | <!-- <span class="myTip">伪</span> --> |
| | | <span class="myTip" style="text-decoration:line-through">硬核</span>玩家 |
| | | </li> |
| | | <li> |
| | | <img src="http://t.inleft.com/share/media_photo/xm.jpg" style="width: 50px;border-radius: 20px;" /> |
| | | 我的小老弟&御用暖床袋 |
| | | <img src="http://t.inleft.com/share/media_photo/IMG_20220117_145633.jpg" |
| | | style="width: 50px;border-radius: 30px" /> |
| | | <span style="font-size: 10px;color: #999">(小乖)</span> |
| | | </li> |
| | | <br> |
| | | </ul> |
| | | </p> |
| | | </div> |
| | | |
| | | <!-- |
| | | 寻找天堂这部作品更引起了我的共鸣 |
| | | 这个时间点之前,瞰哥还有另一个神作,去月球,我也很喜欢这个 |
| | |
| | | <h3 style="text-align: center;">那些对我而言,有意义的时刻..</h3> |
| | | <br> |
| | | <a-tabs defaultActiveKey="1" :tabBarStyle="{'display': 'flex','justify-content': 'center'}"> |
| | | <a-tab-pane key="1" tab="编年史"> |
| | | <a-tab-pane key="1" tab="更新记录"> |
| | | <a-timeline> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px; " /> |
| | | <h3>2022-08-25</h3> |
| | | <p>更新:拓展了数据库字段,日志可以支持更加丰富的媒体类型了</p> |
| | | </a-timeline-item> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px;" /> |
| | | <h3>2022-08-11</h3> |
| | | <p>更新:优化了视频模块,现在可以在 |
| | | <router-link :to="{path:'/platform'}">「月 台」</router-link>看到新发布的视频啦 |
| | | </p> |
| | | </a-timeline-item> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px;" /> |
| | | <h3>2022-07-29</h3> |
| | | <span> |
| | | <router-link to="/comment">优化更新:记住到访的朋友</router-link> |
| | | <p class="myTip">你的名字.</p> |
| | | </span> |
| | | <p>更新:近期更新日志添加小红点提示</p> |
| | | <p>更新:碎碎念类型日志优化提示</p> |
| | | <p>新增:拉取最近几条互动记录</p> |
| | | <p>新增:外链类型日志 for |
| | | <span class="myTip">浅浅子</span> |
| | | </p> |
| | | </a-timeline-item> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px;" /> |
| | | <h3>2022-03-03</h3> |
| | | <span> |
| | | <router-link to="/comment">碎碎念</router-link> |
| | | </span> |
| | | <p class="myTip">虽然没啥用,可万一有人想给我留言呢☺☺️</p> |
| | | </a-timeline-item> |
| | | </a-timeline> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="2" tab="编年史"> |
| | | <a-timeline> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px; " /> |
| | |
| | | <br>不离不弃,直至永远 |
| | | </a-timeline-item> --> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="2" tab="更新记录"> |
| | | <a-timeline> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px; " /> |
| | | <h3>2022-08-25</h3> |
| | | <p>更新:拓展了数据库字段,日志可以支持更加丰富的媒体类型了</p> |
| | | </a-timeline-item> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px;" /> |
| | | <h3>2022-08-11</h3> |
| | | <p>更新:优化了视频模块,现在可以在 |
| | | <router-link :to="{path:'/platform'}">「月 台」</router-link>看到新发布的视频啦 |
| | | </p> |
| | | <p class="myTip">谱子??谱子还没想好放哪里..</p> |
| | | </a-timeline-item> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px;" /> |
| | | <h3>2022-07-29</h3> |
| | | <span> |
| | | <router-link to="/comment">优化更新:记住到访的朋友</router-link> |
| | | <p class="myTip">你的名字.</p> |
| | | </span> |
| | | <p>更新:近期更新日志添加小红点提示</p> |
| | | <p>更新:碎碎念类型日志优化提示</p> |
| | | <p>新增:拉取最近几条互动记录</p> |
| | | <p>新增:外链类型日志 for |
| | | <span class="myTip">浅浅子</span> |
| | | </p> |
| | | </a-timeline-item> |
| | | <a-timeline-item color="" style="margin-left: 10px;"> |
| | | <a-icon slot="dot" type="clock-circle-o" style="font-size: 18px;" /> |
| | | <h3>2022-03-03</h3> |
| | | <span> |
| | | <router-link to="/comment">碎碎念</router-link> |
| | | </span> |
| | | <p class="myTip">虽然没啥用,可万一有人想给我留言呢☺☺️</p> |
| | | </a-timeline-item> |
| | | </a-timeline> |
| | | </a-tab-pane> |
| | | |
| | | </a-tabs> |
| | | |
| | | </div> |
New file |
| | |
| | | <template> |
| | | <div class="blog-main"> |
| | | <div class="edit-main"> |
| | | <div class="edit-info"> |
| | | <div class="edit-info-head"> |
| | | 头 |
| | | </div> |
| | | <div class="edit-info-body"> |
| | | 信息 |
| | | </div> |
| | | </div> |
| | | <div class="edit-write"> |
| | | <div class="edit-write-input">输入区</div> |
| | | <div class="edit-write-preview">对比区</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .edit-main { |
| | | min-height: 860px; |
| | | width: 100%; |
| | | display: grid; |
| | | grid-template-columns: repeat(11, 1fr); |
| | | } |
| | | |
| | | .edit-info { |
| | | grid-column-start: 1; |
| | | grid-column-end: 4; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .edit-info-head, |
| | | .edit-info-body { |
| | | width: 100%; |
| | | } |
| | | |
| | | .edit-info-head { |
| | | height: 200px; |
| | | background-color: #aa55ff; |
| | | } |
| | | |
| | | .edit-info-body { |
| | | background-color: #aa007f; |
| | | height: 100%; |
| | | } |
| | | |
| | | .edit-write { |
| | | grid-column-start: 4; |
| | | grid-column-end: 12; |
| | | background-color: #ffaaff; |
| | | display: flex; |
| | | } |
| | | |
| | | .edit-write-input { |
| | | width: 100%; |
| | | background-color: #aa557f; |
| | | } |
| | | |
| | | .edit-write-preview { |
| | | width: 100%; |
| | | background-color: #55007f; |
| | | } |
| | | </style> |
| | |
| | | overflow-x: hidden; |
| | | overflow-y: hidden; |
| | | |
| | | transition: height 1s; |
| | | |
| | | } |
| | | |
| | | .blog-scroll:hover::-webkit-scrollbar { |
| | |
| | | //常量 |
| | | const myConstant = { |
| | | uploadFileSizeLimit: 2 * 1024 * 1024, |
| | | uploadVideoSizeLimit: 200 * 1024 * 1024, |
| | | visitorDataKey: "visitorData.inleft.com", |
| | | userName: "inleft", |
| | | img404: "this.onerror='';this.src=\"http://t.inleft.com/share/media_photo/idea_beijing.jpg\"", |
| | |
| | | import link from '../components/swichLabel/main4-link.vue' |
| | | import login from '../components/swichLabel/main5-login.vue' |
| | | import comment from '../components/swichLabel/main6-comment.vue' |
| | | import edit from '../components/swichLabel/edit.vue' |
| | | |
| | | import platformGroup from '../components/group/platformGroup.vue' |
| | | |
| | |
| | | path: '/platform', |
| | | component: platform, |
| | | children: [ |
| | | // { |
| | | // path: '/', |
| | | // name: "videoList", |
| | | // component: videoList, |
| | | // }, |
| | | { |
| | | path: '/', |
| | | name: "platformGroup", |
| | | component: platformGroup, |
| | | }, |
| | | |
| | | { |
| | | path: '/videoDetail', |
| | | name: "videoDetail", |
| | | component: videoDetail, |
| | | }] |
| | | // { |
| | | // path: '/', |
| | | // name: "videoList", |
| | | // component: videoList, |
| | | // }, |
| | | { |
| | | path: '/', |
| | | name: "platformGroup", |
| | | component: platformGroup, |
| | | }, |
| | | |
| | | { |
| | | path: '/videoDetail', |
| | | name: "videoDetail", |
| | | component: videoDetail, |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/main3', |
| | |
| | | }, { |
| | | path: '/login', |
| | | component: login, |
| | | }, { |
| | | path: '/edit', |
| | | name: 'edit', |
| | | component: edit, |
| | | }, |
| | | |
| | | |