This commit is contained in:
2023-12-28 22:48:08 +08:00
parent 7d9186d31c
commit 26fec1bf40
15 changed files with 342 additions and 103 deletions

View File

@@ -15,7 +15,7 @@
<img style="width: 28px" :src="require('@/assets/img/null.png')" alt="图标">
</div>
</el-image>
<span v-if="item.name" style="overflow-x: scroll;margin-top:2px;margin-left:10px;width:90%;text-align: center">{{item.name}}</span>
<span v-if="item.name" style="overflow-x: scroll;margin-top:2px;margin-left:10px;width:300px;height: 30px;white-space: nowrap;text-align: center">{{item.name}}</span>
</div>
</div>
</div>
@@ -44,12 +44,27 @@ export default {
},
methods: {
// toDetail(id){
// if(id){
// this.$router.push({
// path: '/nav',
// query: {
// uid: id,
// refresh: true
// }
// })
// } else {
// return false;
// }
// },
toDetail(id){
if(id){
let pathInfo = this.$router.resolve({
path: '/nav',
query: {
uid: id,
refresh: true
}
})
window.open(pathInfo.href, '_self');

View File

@@ -1,5 +1,5 @@
<template>
<div class="wrapper">
<div class="wrapper" :key="UrlId">
<LeftSide :category="category"></LeftSide>
<div class="DefinedPage">
<div class="LeftPart" style="overflow: auto">
@@ -141,6 +141,19 @@
</div>
</div>
</div>
<div id="热度趋势" class="JustBack" style="width:670px;display:flex; flex-direction: column; flex-wrap: nowrap;">
<div style="width:670px;color: var(--theme-color)">
<div class="HeadLine" style="margin-top:50px">
<div class="HeadSquare"></div>
<div class="TitleFont"><i class="el-icon-info"></i>特别声明</div>
</div>
<div class="ArticleContent">
<span>
{{copyright_info}}
</span>
</div>
</div>
</div>
<!--用户评论-->
<div id="用户评论" v-show="update" class="JustBack" style="width:670px;
height:auto;display:flex; flex-direction: column; flex-wrap: nowrap;">
@@ -379,16 +392,29 @@ export default {
rules: {
rating: [{ required: 'true', message: '请输入评分!', trigger: 'blur' }],
content: [{ required: 'true', message: '请输入评价!', trigger: 'blur' }],
}
},
copyright_info:null,
}
},
watch: {
'$route': 'getPath'
// '$route': 'getPath',
$route () {
this.getPath();
if(this.$route.query.refresh){
this.GetAllComment();
this.GetAllCate();
this.addViewByTime();
this.UrlId = this.$route.query.uid;
this.getUser();
}
}
},
mounted() {
// this.GetAllComment();
this.GetAllComment();
this.GetAllCate();
this.getConfig('copyright_info');
},
created() {
this.addViewByTime();
@@ -403,6 +429,35 @@ export default {
},
computed: {},
methods: {
getConfig(name) {
let _this = this;
if (name) {
axios({
method: 'get',
url: '/api/getConfig',
params: {
name: name
}
}).then(function (res) {
if (res) {
if (res.data.copyright_info) {
_this.copyright_info = res.data.copyright_info.value;
}
// if(res.data.light_bg){
// _this.light_bg=res.data.light_bg.value;
// }
}
}).catch((error) => {
})
} else {
return false
}
},
closeDialog() {
var that = this;
// 先重置

View File

@@ -55,6 +55,7 @@ export default {
path: '/nav',
query: {
uid: id,
refresh: true
}
})
window.open(pathInfo.href, '_self');

View File

@@ -22,7 +22,7 @@
<!-- <div class="app-card__subtext">{{nav.desc}}</div>-->
<div class="dividing-line"></div>
<div class="app-card-buttons">
<el-tooltip v-if="nav.agentHint" class="item" effect="dark" :content="nav.agentHint" placement="bottom">
<el-tooltip v-if="nav.agentHint || copyright_info" class="item" effect="dark" :content="nav.agentHint || copyright_info" placement="bottom">
<i v-show="nav.isNeedAgent===1" style="color: red" class="qr el-icon-info"></i>
</el-tooltip>
<!-- <button class="content-button status-button"><i class="el-icon-d-arrow-right"></i>详情</button>-->
@@ -66,10 +66,11 @@ export default {
return {
imageCode: '',
dialogVisible:false,
copyright_info:null,
}
},
mounted() {
this.getConfig('copyright_info');
},
created() {
@@ -116,13 +117,41 @@ export default {
path: '/nav',
query: {
uid: this.nav.urlId,
refresh: true
}
})
window.open(pathInfo.href, '_self');
} else {
return false;
}
}
},
getConfig(name) {
let _this = this;
if (name) {
axios({
method: 'get',
url: '/api/getConfig',
params: {
name: name
}
}).then(function (res) {
if (res) {
if (res.data.copyright_info) {
_this.copyright_info = res.data.copyright_info.value;
}
// if(res.data.light_bg){
// _this.light_bg=res.data.light_bg.value;
// }
}
}).catch((error) => {
})
} else {
return false
}
},
}
}
</script>

View File

@@ -0,0 +1,23 @@
<template>
</template>
<script>
export default {
name: "CommentManage",
data() {
return {}
},
mounted() {
},
created() {
},
computed: {},
methods: {}
}
</script>
<style scoped>
</style>

View File

@@ -9,7 +9,9 @@
<InfoCard v-if="this.infoData.urlListNum && this.infoData.name1 && this.infoData.icon1" :info="this.infoData.urlListNum" :name="this.infoData.name1" :icon="this.infoData.icon1"></InfoCard>
<InfoCard v-if="this.infoData.cateNum && this.infoData.name2 && this.infoData.icon2" :info="this.infoData.cateNum" :name="this.infoData.name2" :icon="this.infoData.icon2" style="margin-left: 10px"></InfoCard>
</div>
<div style="display: flex;align-items: center;justify-content: center">
<vueLive2d :size="450" :homePage="homepage"></vueLive2d>
</div>
</div>
</div>
</div>
@@ -19,10 +21,10 @@ import PersonalInfoCard from "@/components/setting/home/PersonalInfoCard.vue";
import InfoCard from "@/components/setting/home/InfoCard.vue";
import axios from "axios";
import Vue from "vue";
import vueLive2d from 'vue-live2d'
export default {
name: "PersonalHomePage",
components: { InfoCard, PersonalInfoCard},
components: { InfoCard, PersonalInfoCard,vueLive2d},
data() {
return {
infoData:{
@@ -33,6 +35,7 @@ export default {
icon1:'https://imgbed.landaiqing.space/img/1/2023/12/25/1_65893ab12d3f2_1703492272311_20231225.webp',
icon2:'https://imgbed.landaiqing.space/img/1/2023/12/25/1_65893af89eecf_1703492343951_20231225.webp',
},
homepage:'https://landaiqing.space'
}
},

View File

@@ -22,12 +22,12 @@
<!-- <span class="min-title">Logo(深色模式)</span>-->
<!-- <UploadComponent :config-name="dark_logo" style="margin-top: 10px;"></UploadComponent>-->
<!-- </div>-->
<div class="min-content" style="margin-left: 50px">
<span class="min-title">Favicon</span>
<div class="img-card">
<UploadComponent style="margin-top: 10px;" :config-name="favicon"></UploadComponent>
</div>
</div>
<!-- <div class="min-content" style="margin-left: 50px">-->
<!-- <span class="min-title">Favicon</span>-->
<!-- <div class="img-card">-->
<!-- <UploadComponent style="margin-top: 10px;" :config-name="favicon"></UploadComponent>-->
<!-- </div>-->
<!-- </div>-->
</div>
<!-- <div class="color-select">-->
<!-- <span class="theme-color-select">主题色</span>-->
@@ -115,7 +115,6 @@ export default {
dark_bg:null,
light_bg:null,
value:null,
favicon:"favicon",
logo:'logo',
dark_bg_file:'dark_bg_file',
light_bg_file:'light_bg_file',

View File

@@ -19,10 +19,10 @@
<span class="min-title">站名:</span>
<el-input
placeholder="请输入站名"
v-model="website_name"
v-model="metaInfo.website_name"
clearable
style="margin-top:10px"
@change="setInfoConfig('website_name',website_name,'String')"
@change="setInfoConfig('website_name',metaInfo.website_name,'String')"
>
</el-input>
</div>
@@ -32,9 +32,9 @@
type="textarea"
:rows="3"
placeholder="请输入内容"
v-model="seo_desc"
v-model="metaInfo.seo_desc"
style="margin-top:10px"
@change="setInfoConfig('seo_desc',seo_desc,'String')">
@change="setInfoConfig('seo_desc',metaInfo.seo_desc,'String')">
</el-input>
</div>
<div class="LineInput">
@@ -43,9 +43,9 @@
type="textarea"
:rows="3"
placeholder="请输入内容"
v-model="seo_key_words"
v-model="metaInfo.seo_key_words"
style="margin-top:10px"
@change="setInfoConfig('seo_key_words',seo_key_words,'String')">
@change="setInfoConfig('seo_key_words',metaInfo.seo_key_words,'String')">
</el-input>
</div>
<!-- <div class="LineInput">-->
@@ -82,17 +82,17 @@
<!-- </div>-->
<!-- <el-button @click="addItem" style="width: 100px;margin-top:20px" plain round type="primary">增加</el-button>-->
<!-- </div>-->
<div class="LineInput" style="margin-top:25px!important;">
<span class="min-title">底部信息</span>
<el-input
type="textarea"
:rows="3"
placeholder="请输入内容"
v-model="bottom_info"
style="margin-top:10px"
@change="setInfoConfig('bottom_info',bottom_info,'String')">
</el-input>
</div>
<!-- <div class="LineInput" style="margin-top:25px!important;">-->
<!-- <span class="min-title">底部信息</span>-->
<!-- <el-input-->
<!-- type="textarea"-->
<!-- :rows="3"-->
<!-- placeholder="请输入内容"-->
<!-- v-model="bottom_info"-->
<!-- style="margin-top:10px"-->
<!-- @change="setInfoConfig('bottom_info',bottom_info,'String')">-->
<!-- </el-input>-->
<!-- </div>-->
<div style="display: flex;flex-direction: column">
<span class="min-title">版权信息</span>
<el-input
@@ -205,23 +205,22 @@
<script>
import axios from "axios";
import Vue from "vue";
import {mapMutations} from "vuex";
export default {
name: "InformationSettings",
components: {},
data() {
return {
website_name: null,
seo_desc : null,
seo_key_words: null,
metaInfo:{
website_name: null,
seo_desc : null,
seo_key_words: null,
},
bottom_info: null,
copyright_info: null,
icp_info: null,
proxy_prompts: null,
// form: [{
// name: null,
// url: null,
// }]
loading:true,
}
},
@@ -229,7 +228,6 @@ export default {
this.getInfoConfig('website_name');
this.getInfoConfig('seo_desc');
this.getInfoConfig('seo_key_words');
this.getInfoConfig('bottom_info');
this.getInfoConfig('copyright_info');
this.getInfoConfig('icp_info');
this.getInfoConfig('proxy_prompts');
@@ -239,6 +237,8 @@ export default {
},
computed: {},
methods: {
...mapMutations(['setTitle','setKeywords','setDescription']),
setInfoConfig(name,value,type){
let _this = this;
if (localStorage.getItem('userId')&&localStorage.getItem('Authorization')) {
@@ -303,13 +303,17 @@ export default {
}).then(function (res) {
if(res){
if(res.data.website_name){
_this.website_name=res.data.website_name.value;
_this.metaInfo.website_name=res.data.website_name.value;
_this.setTitle({title:_this.metaInfo.website_name});
}
if(res.data.seo_desc){
_this.seo_desc=res.data.seo_desc.value;
_this.metaInfo.seo_desc=res.data.seo_desc.value;
_this.setDescription({description:_this.metaInfo.seo_desc});
}
if(res.data.seo_key_words){
_this.seo_key_words=res.data.seo_key_words.value;
_this.metaInfo.seo_key_words=res.data.seo_key_words.value;
_this.setKeywords({keywords:_this.metaInfo.seo_key_words});
}
if(res.data.bottom_info){
_this.bottom_info=res.data.bottom_info.value;