整理

上级 f084ce64
.login-container[data-v-1be4e8ce]{background-color:#35495e;height:100%}.login-container .login-box[data-v-1be4e8ce]{width:400px;height:250px;background-color:#fff;border-radius:3px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px hsla(0,0%,100%,.5)}.login-container .login-box .form-login[data-v-1be4e8ce]{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box}.form-control[data-v-1be4e8ce]{flex:1}.avatar-box[data-v-1be4e8ce]{position:absolute;width:100%;top:-65px;left:0}.avatar-box .avatar[data-v-1be4e8ce]{width:120px;height:120px;border-radius:50%!important;box-shadow:0 0 6px #efefef}.layout-header-container[data-v-1eaf2085]{height:60px;border-bottom:1px solid #eaeaea}.layout-header-left-img[data-v-1eaf2085]{height:50px}.layout-aside-container[data-v-71932282]{width:200px;height:100%;border-right:1px solid #eaeaea}.left-aside-item[data-v-71932282]{font-size:20px}.el-main{padding:20px 3px!important}.el-header[data-v-15b8f4b2]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-15b8f4b2]{color:#333}.pagination[data-v-15b8f4b2]{margin-top:16px;text-align:right}.arrow-button[data-v-15b8f4b2]{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;cursor:pointer}.custom-icon[data-v-15b8f4b2]{font-size:24px;color:#f90;margin-right:6px}.arrow-button.disabled[data-v-15b8f4b2]{pointer-events:none;opacity:.1}.el-header[data-v-06991ced]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-06991ced]{color:#333}.pagination[data-v-06991ced]{margin-top:16px;text-align:right}.header-button-item[data-v-06991ced]{margin-right:15px;font-size:20px}.backtop[data-v-06991ced]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.backtop[data-v-06991ced]:hover{background-color:#0050a0}.el-header[data-v-c5d18cf4]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-c5d18cf4]{color:#333}.pagination[data-v-c5d18cf4]{margin-top:16px;text-align:right}.header-button-item[data-v-c5d18cf4]{margin-right:15px;font-size:20px}.red-title[data-v-c5d18cf4]{line-height:24px;font-size:18px;color:red}.backtop[data-v-c5d18cf4]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-c5d18cf4]{width:100%;text-align:left}.backtop[data-v-c5d18cf4]:hover{background-color:#0050a0}.el-header[data-v-3f842b70]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-3f842b70]{color:#333}.pagination[data-v-3f842b70]{margin-top:16px;text-align:right}.header-button-item[data-v-3f842b70]{margin-right:15px;font-size:20px}.red-title[data-v-3f842b70]{line-height:24px;font-size:18px;color:red}.backtop[data-v-3f842b70]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-3f842b70]{width:100%;text-align:left}.backtop[data-v-3f842b70]:hover{background-color:#0050a0}.el-header[data-v-6bb76c1c]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-6bb76c1c]{color:#333}.pagination[data-v-6bb76c1c]{margin-top:16px;text-align:right}.header-button-item[data-v-6bb76c1c]{margin-right:15px;font-size:20px}.red-title[data-v-6bb76c1c]{line-height:24px;font-size:18px;color:red}.backtop[data-v-6bb76c1c]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-6bb76c1c]{width:100%;text-align:left}.backtop[data-v-6bb76c1c]:hover{background-color:#0050a0}.el-header[data-v-d1510630]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-d1510630]{color:#333}.pagination[data-v-d1510630]{margin-top:16px;text-align:right}.header-button-item[data-v-d1510630]{margin-right:15px;font-size:20px}.red-title[data-v-d1510630]{line-height:24px;font-size:18px;color:red}.backtop[data-v-d1510630]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-d1510630]{width:100%;text-align:left}.backtop[data-v-d1510630]:hover{background-color:#0050a0}.el-header[data-v-77361692]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-77361692]{color:#333}.pagination[data-v-77361692]{margin-top:16px;text-align:right}.header-button-item[data-v-77361692]{margin-right:15px;font-size:20px}.red-title[data-v-77361692]{line-height:24px;font-size:18px;color:red}.backtop[data-v-77361692]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-77361692]{width:100%;text-align:left}.backtop[data-v-77361692]:hover{background-color:#0050a0}.button-container[data-v-9d5d30a4]{position:fixed;bottom:0;right:0;margin:16px}.container[data-v-ddc6c3e0]{display:flex;justify-content:center;align-items:center;height:30vh}
.login-container[data-v-1be4e8ce]{background-color:#35495e;height:100%}.login-container .login-box[data-v-1be4e8ce]{width:400px;height:250px;background-color:#fff;border-radius:3px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px hsla(0,0%,100%,.5)}.login-container .login-box .form-login[data-v-1be4e8ce]{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box}.form-control[data-v-1be4e8ce]{flex:1}.avatar-box[data-v-1be4e8ce]{position:absolute;width:100%;top:-65px;left:0}.avatar-box .avatar[data-v-1be4e8ce]{width:120px;height:120px;border-radius:50%!important;box-shadow:0 0 6px #efefef}.layout-header-left-img[data-v-747b32ea]{height:50px}.layout-aside-container[data-v-605e601d]{width:200px;height:100%;border-right:1px solid #eaeaea}.left-aside-item[data-v-605e601d]{font-size:20px}.el-main{padding:20px 3px!important}.el-header[data-v-15b8f4b2]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-15b8f4b2]{color:#333}.pagination[data-v-15b8f4b2]{margin-top:16px;text-align:right}.arrow-button[data-v-15b8f4b2]{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;cursor:pointer}.custom-icon[data-v-15b8f4b2]{font-size:24px;color:#f90;margin-right:6px}.arrow-button.disabled[data-v-15b8f4b2]{pointer-events:none;opacity:.1}.el-header[data-v-0be38d50]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-0be38d50]{color:#333}.pagination[data-v-0be38d50]{margin-top:16px;text-align:right}.header-button-item[data-v-0be38d50]{margin-right:15px;font-size:20px}.backtop[data-v-0be38d50]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.backtop[data-v-0be38d50]:hover{background-color:#0050a0}.el-header[data-v-8d787e5a]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-8d787e5a]{color:#333}.pagination[data-v-8d787e5a]{margin-top:16px;text-align:right}.header-button-item[data-v-8d787e5a]{margin-right:15px;font-size:20px}.red-title[data-v-8d787e5a]{line-height:24px;font-size:18px;color:red}.backtop[data-v-8d787e5a]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-8d787e5a]{width:100%;text-align:left}.backtop[data-v-8d787e5a]:hover{background-color:#0050a0}.el-header[data-v-1320254c]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-1320254c]{color:#333}.pagination[data-v-1320254c]{margin-top:16px;text-align:right}.header-button-item[data-v-1320254c]{margin-right:15px;font-size:20px}.red-title[data-v-1320254c]{line-height:24px;font-size:18px;color:red}.backtop[data-v-1320254c]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-1320254c]{width:100%;text-align:left}.backtop[data-v-1320254c]:hover{background-color:#0050a0}.el-header[data-v-834ece92]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-834ece92]{color:#333}.pagination[data-v-834ece92]{margin-top:16px;text-align:right}.header-button-item[data-v-834ece92]{margin-right:15px;font-size:20px}.red-title[data-v-834ece92]{line-height:24px;font-size:18px;color:red}.backtop[data-v-834ece92]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-834ece92]{width:100%;text-align:left}.backtop[data-v-834ece92]:hover{background-color:#0050a0}.el-header[data-v-0d841a2a]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-0d841a2a]{color:#333}.pagination[data-v-0d841a2a]{margin-top:16px;text-align:right}.header-button-item[data-v-0d841a2a]{margin-right:15px;font-size:20px}.red-title[data-v-0d841a2a]{line-height:24px;font-size:18px;color:red}.backtop[data-v-0d841a2a]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-0d841a2a]{width:100%;text-align:left}.backtop[data-v-0d841a2a]:hover{background-color:#0050a0}.el-header[data-v-033c4ad2]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-033c4ad2]{color:#333}.pagination[data-v-033c4ad2]{margin-top:16px;text-align:right}.header-button-item[data-v-033c4ad2]{margin-right:15px;font-size:20px}.red-title[data-v-033c4ad2]{line-height:24px;font-size:18px;color:red}.backtop[data-v-033c4ad2]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-033c4ad2]{width:100%;text-align:left}.backtop[data-v-033c4ad2]:hover{background-color:#0050a0}.el-header[data-v-6e6ab333]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-6e6ab333]{color:#333}.pagination[data-v-6e6ab333]{margin-top:16px;text-align:right}.header-button-item[data-v-6e6ab333]{margin-right:15px;font-size:20px}.red-title[data-v-6e6ab333]{line-height:24px;font-size:18px;color:red}.backtop[data-v-6e6ab333]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-6e6ab333]{width:100%;text-align:left}.backtop[data-v-6e6ab333]:hover{background-color:#0050a0}.button-container[data-v-9d5d30a4]{position:fixed;bottom:0;right:0;margin:16px}.container[data-v-ddc6c3e0]{display:flex;justify-content:center;align-items:center;height:30vh}
/*!
* Bootstrap v4.5.0 (https://getbootstrap.com/)
......
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/kwan.png"><title>kwan</title><link href="/css/app.ac53a82d.css" rel="preload" as="style"><link href="/css/chunk-vendors.bedbfba9.css" rel="preload" as="style"><link href="/js/app.f519624b.js" rel="preload" as="script"><link href="/js/chunk-vendors.8385d186.js" rel="preload" as="script"><link href="/css/chunk-vendors.bedbfba9.css" rel="stylesheet"><link href="/css/app.ac53a82d.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but kwan doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.8385d186.js"></script><script src="/js/app.f519624b.js"></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/kwan.png"><title>kwan</title><link href="/css/app.af923cd6.css" rel="preload" as="style"><link href="/css/chunk-vendors.bedbfba9.css" rel="preload" as="style"><link href="/js/app.6a2ec81d.js" rel="preload" as="script"><link href="/js/chunk-vendors.8385d186.js" rel="preload" as="script"><link href="/css/chunk-vendors.bedbfba9.css" rel="stylesheet"><link href="/css/app.af923cd6.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but kwan doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.8385d186.js"></script><script src="/js/app.6a2ec81d.js"></script></body></html>
\ No newline at end of file
此差异已折叠。
因为 它太大了无法显示 source diff 。你可以改为 查看blob
此差异已折叠。
因为 它太大了无法显示 source diff 。你可以改为 查看blob
......@@ -370,7 +370,6 @@ export default {
const { data: res } = await axios.get('http://120.79.36.53:8888/algorithmicProblem/questionType', { params: {} })
if (res.code === 200) {
this.options = res.result
console.log(this.options)
//获取问题列表
this.interviewPage()
}
......
......@@ -44,7 +44,7 @@
<el-button type="primary" @click="interviewPage">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="prepareRandom">随机一题</el-button>
<el-button type="primary" @click="prepareRandom">随机诗词</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="prepareAdd">新增</el-button>
......@@ -145,11 +145,6 @@ export default {
},
mounted() {
this.currentPage = 1
// // 在页面加载时从localStorage中获取currentPage的值
// const storedPage = localStorage.getItem('poetryLastPage')
// if (storedPage) {
// this.currentPage = parseInt(storedPage)
// }
},
methods: {
prepareAdd() {
......
<template>
<div>
<el-container>
<el-main>
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item>
<el-input clearable v-model="formInline.articleId" placeholder="请输入文章id" @keydown.enter.native="articleInfoPage"></el-input>
</el-form-item>
<el-form-item>
<el-input clearable v-model="formInline.userName" placeholder="请输入用户名" @keydown.enter.native="articleInfoPage"></el-input>
</el-form-item>
<el-form-item>
<el-input clearable v-model="formInline.nickName" placeholder="请输入用户昵称" @keydown.enter.native="articleInfoPage"></el-input>
</el-form-item>
<el-select v-model="formInline.likeStatus" placeholder="请选择点赞状态" @change="articleInfoPage">
<el-option v-for="item in likeStatus" :key="item.type" :label="item.name" :value="item.type"></el-option>
</el-select>
<el-select v-model="formInline.collectStatus" placeholder="请选择收藏状态" @change="articleInfoPage">
<el-option v-for="item in collectStatus" :key="item.type" :label="item.name" :value="item.type"></el-option>
</el-select>
<el-select v-model="formInline.commentStatus" placeholder="请选择评论状态" @change="articleInfoPage">
<el-option v-for="item in commentStatus" :key="item.type" :label="item.name" :value="item.type"></el-option>
</el-select>
<br />
<el-form-item>
<el-button type="primary" @click="articleInfoPage">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="prepareAdd">新增</el-button>
<el-dialog title="新增用户" :visible.sync="dialogAddFormVisible" style="width: 100%">
<el-form :model="form" class="custom-form">
<el-form-item label="用户名称" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.userName" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<br />
<el-form-item label="文章Id" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.articleId" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogAddFormVisible = false">取 消</el-button>
<el-button type="primary" @click="handleConfirm(0)">确 定</el-button>
</div>
</el-dialog>
</el-form-item>
</el-form>
<el-table border :data="articleInfoList" v-loading="loading">
<el-table-column prop="articleId" label="文章id" show-overflow-tooltip></el-table-column>
<el-table-column prop="userName" label="用户名称" show-overflow-tooltip></el-table-column>
<el-table-column prop="nickName" label="用户昵称" show-overflow-tooltip></el-table-column>
<el-table-column prop="articleTitle" label="文章标题" show-overflow-tooltip>
<template slot-scope="scope">
<a :href="scope.row.articleUrl" target="_blank">{{ scope.row.articleTitle }}</a>
</template>
</el-table-column>
<el-table-column prop="articleDescription" label="文章描述" show-overflow-tooltip></el-table-column>
<el-table-column prop="likeStatusName" label="点赞状态" show-overflow-tooltip></el-table-column>
<el-table-column prop="collectStatusName" label="收藏状态" show-overflow-tooltip></el-table-column>
<el-table-column prop="commentStatusName" label="评论状态" show-overflow-tooltip></el-table-column>
<el-table-column label="创建时间">
<template slot-scope="props">
{{ props.row.createTime | dateFormat }}
</template>
</el-table-column>
<el-table-column label="更新时间">
<template slot-scope="props">
{{ props.row.updateTime | dateFormat }}
</template>
</el-table-column>
<el-table-column prop="操作" label="操作" width="310px">
<template slot-scope="props">
<el-button type="primary" @click="prepareTriplet(props.row.articleId)">三连</el-button>
<el-dialog title="提示" :visible.sync="tripletVisible" width="30%" :before-close="handleClose">
<span>确认三连?</span>
<span slot="footer" class="dialog-footer">
<el-button @click="tripletVisible = false">取 消</el-button>
<el-button type="primary" @click.prevent="triplet(articleId)">确 定</el-button>
</span>
</el-dialog>
<el-button type="success" @click.prevent="preEdit(props.row.id, props.row.articleId, props.row.userName, props.row.nickName, props.row.articleUrl)" width="200">编辑</el-button>
<el-dialog title="编辑用户信息" :visible.sync="editVisible">
<el-form :model="form">
<el-form-item label="文章id" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.articleId" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="用户名称" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.userName" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="用户昵称" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.nickName" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="文章链接" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.articleUrl" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editVisible = false">取 消</el-button>
<el-button type="primary" @click="editConfirm">确 定</el-button>
</div>
</el-dialog>
<el-button type="danger" @click="prepareDelete(props.row.id)">删除</el-button>
<el-dialog title="提示" :visible.sync="dialogDelVisible" width="30%" :before-close="handleClose">
<span>确认删除?</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogDelVisible = false">取 消</el-button>
<el-button type="primary" @click.prevent="onDelete(currentRowId)">确 定</el-button>
</span>
</el-dialog>
</template>
</el-table-column>
</el-table>
<el-pagination class="pagination" background :key="elementui_page_component_key" :current-page.sync="currentPage" :page-size="pageSize" :total="total" @current-change="handleCurrentChange"></el-pagination>
</el-main>
<el-backtop class="backtop"></el-backtop>
</el-container>
</div>
</template>
<script>
import axios from 'axios'
export default {
name: 'MyArticleInfo',
data() {
return {
form: {
userName: '',
articleId: '',
},
formInline: {
articleId: '',
userName: '',
nickName: '',
articleUrl: '',
likeStatus: null,
collectStatus: null,
commentStatus: null,
},
likeStatus: [
{
type: -1,
name: '全部',
},
{
type: 0,
name: '未处理',
},
{ type: 1, name: '已经点过赞' },
{ type: 2, name: '点赞已满' },
{ type: 3, name: '取消点赞' },
{ type: 9, name: '点赞成功' },
],
collectStatus: [
{
type: -1,
name: '全部',
},
{
type: 0,
name: '未处理',
},
{ type: 1, name: '已经收藏过' },
{ type: 2, name: '收藏已满' },
{ type: 3, name: '参数缺失' },
{ type: 9, name: '收藏成功' },
],
commentStatus: [
{
type: -1,
name: '全部',
},
{
type: 0,
name: '未处理',
},
{ type: 1, name: '已经评论过' },
{ type: 2, name: '评论已满' },
{ type: 3, name: '禁言' },
{ type: 4, name: '评论太快' },
{ type: 5, name: '评论已经到了49条' },
{ type: 8, name: '其他错误' },
{ type: 9, name: '评论成功' },
],
dialogAddFormVisible: false,
dialogDelVisible: false,
editVisible: false,
tripletVisible: false,
allTripletDialogVisible: false,
// 用户列表数据
articleInfoList: [],
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('csdnUserPage')) || 1,
pageSize: 9,
total: 0,
// 新增的内容
formLabelWidth: '120px',
currentRowId: null,
articleId: null,
}
},
watch: {
'formInline.articleId'(newVal, oldVal) {
this.currentPage = 1
localStorage.setItem('csdnUserPage', this.currentPage)
this.articleInfoPage()
},
'formInline.userName'(newVal, oldVal) {
this.currentPage = 1
localStorage.setItem('csdnUserPage', this.currentPage)
this.articleInfoPage()
},
'formInline.nickName'(newVal, oldVal) {
this.currentPage = 1
localStorage.setItem('csdnUserPage', this.currentPage)
this.articleInfoPage()
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('csdnUserPage', newPage.toString())
},
},
created() {
//获取问题类型的枚举
this.articleInfoPage()
},
mounted() {
this.currentPage = 1
},
methods: {
prepareAdd() {
this.form.userName = ''
this.form.articleId = ''
this.dialogAddFormVisible = true
},
prepareAllTriplet() {
this.allTripletDialogVisible = true
},
prepareDelete(id) {
this.currentRowId = id
this.dialogDelVisible = true
},
prepareTriplet(articleId) {
this.articleId = articleId
this.tripletVisible = true
},
preEdit(id, articleId, userName, nickName, articleUrl) {
this.form.articleId = articleId
this.form.userName = userName
this.form.nickName = nickName
this.form.articleUrl = articleUrl
this.currentRowId = id
this.editVisible = true
},
handleClose(done) {
this.$confirm('确认关闭?')
.then((_) => {
done()
})
.catch((_) => {})
},
handleConfirm(addType) {
this.dialogAddFormVisible = false // 关闭对话框
this.addUser(addType) // 发送请求
},
async addUser(addType) {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/csdnArticleInfo/add', {
addType: addType,
userName: this.form.userName,
articleId: this.form.articleId,
})
if (res.code === 200) {
this.currentPage = 1
this.form.userName = ''
this.form.articleId = ''
this.articleInfoPage()
} else {
this.errorMsg(res.message)
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the questionName:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
errorMsg(msg) {
this.$message({
showClose: true,
message: msg,
type: 'error',
})
},
async editConfirm() {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/csdnArticleInfo/update', {
id: this.currentRowId,
articleId: this.form.articleId,
userName: this.form.userName,
nickName: this.form.nickName,
articleUrl: this.form.articleUrl,
})
if (res.code === 200) {
this.form.userName = ''
this.form.nickName = ''
this.form.articleId = ''
this.form.articleUrl = ''
this.editVisible = false
currentRowId: null
this.articleInfoPage()
} else {
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the questionName:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
async triplet(articleId) {
this.loading = true
this.articleId = null
this.tripletVisible = false
const { data: res } = await axios.get('http://120.79.36.53:8888/csdnArticleInfo/triplet?articleId=' + articleId)
if (res.code === 200) {
this.articleInfoPage()
} else {
console.error('Received non-200 status code', res)
}
this.loading = false
},
async onDelete(id) {
this.dialogDelVisible = false
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/csdnArticleInfo/delete', {
params: {
id: id,
},
})
this.articleInfoPage()
this.loading = false
},
refreshPage() {
//获取问题类型的枚举
this.articleInfoPage()
location.reload()
},
async articleInfoPage() {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/csdnArticleInfo/page', {
page: this.currentPage,
pageSize: this.pageSize,
articleId: this.formInline.articleId,
userName: this.formInline.userName,
nickName: this.formInline.nickName,
likeStatus: this.formInline.likeStatus == -1 ? null : this.formInline.likeStatus,
collectStatus: this.formInline.collectStatus == -1 ? null : this.formInline.collectStatus,
commentStatus: this.formInline.commentStatus == -1 ? null : this.formInline.commentStatus,
})
if (res.code === 200) {
this.total = res.result.totalElements
const likeStatusMap = {}
this.likeStatus.forEach((option) => {
likeStatusMap[option.type] = option.name
})
res.result.content.forEach((item) => {
item.likeStatusName = likeStatusMap[item.likeStatus]
})
const collectStatusMap = {}
this.collectStatus.forEach((option) => {
collectStatusMap[option.type] = option.name
})
res.result.content.forEach((item) => {
item.collectStatusName = collectStatusMap[item.collectStatus]
})
const commentStatusMap = {}
this.commentStatus.forEach((option) => {
commentStatusMap[option.type] = option.name
})
res.result.content.forEach((item) => {
item.commentStatusName = commentStatusMap[item.commentStatus]
})
this.articleInfoList = res.result.content
}
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.articleInfoPage()
},
},
}
</script>
<style lang="less" scoped>
.el-header {
background-color: #b3c0d1;
color: #333;
line-height: 60px;
}
.el-aside {
color: #333;
}
.pagination {
margin-top: 16px;
text-align: right;
}
.header-button-item {
margin-right: 15px;
font-size: 20px;
}
.red-title {
line-height: 24px;
font-size: 18px;
color: red;
}
.backtop {
position: fixed;
bottom: 50px;
right: 50px;
height: 40px;
width: 40px;
line-height: 40px;
text-align: center;
border-radius: 20px;
background-color: #007aff;
color: #fff;
cursor: pointer;
z-index: 999;
}
.custom-textarea {
width: 100%;
text-align: left;
}
.backtop:hover {
background-color: #0050a0;
}
</style>
\ No newline at end of file
......@@ -116,7 +116,7 @@ export default {
question: this.formInline.question,
},
})
console.log(res)
if (res.code === 200) {
this.userlist = res.result.content
this.total = res.result.totalElements
......
......@@ -145,7 +145,7 @@
<el-button type="primary" @click.prevent="resetUserDayStatus(currentUserName)">确 定</el-button>
</span>
</el-dialog>
<el-button type="success" @click.prevent="preEdit(props.row.id, props.row.userName, props.row.nickName, props.row.userWeight)" width="200">编辑</el-button>
<el-button type="success" @click.prevent="preEdit(props.row.id, props.row.userName, props.row.nickName, props.row.userHomeUrl, props.row.userWeight)" width="200">编辑</el-button>
<el-dialog title="编辑用户信息" :visible.sync="editVisible">
<el-form :model="form">
<el-form-item label="用户名称" :label-width="formLabelWidth" class="form-item">
......@@ -154,6 +154,9 @@
<el-form-item label="用户昵称" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.nickName" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="用户主页" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.userHomeUrl" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="用户权重" :label-width="formLabelWidth" class="form-item">
<el-select v-model="form.userWeight" placeholder="请选择">
<el-option v-for="item in allOptions" :key="item.type" :label="item.name" :value="item.type"></el-option>
......@@ -193,6 +196,7 @@ export default {
form: {
userName: '',
nickName: '',
userHomeUrl: '',
userWeight: null,
},
formInline: {
......@@ -346,9 +350,10 @@ export default {
this.currentUserName = userName
this.tripletVisible = true
},
preEdit(id, userName, nickName, userWeight) {
preEdit(id, userName, nickName, userHomeUrl, userWeight) {
this.form.userName = userName
this.form.nickName = nickName
this.form.userHomeUrl = userHomeUrl
this.form.userWeight = userWeight
this.currentRowId = id
this.editVisible = true
......@@ -407,10 +412,12 @@ export default {
userName: this.form.userName,
nickName: this.form.nickName,
userWeight: this.form.userWeight,
userHomeUrl: this.form.userHomeUrl,
})
if (res.code === 200) {
this.form.userName = ''
this.form.nickName = ''
this.form.userHomeUrl = ''
this.form.userWeight = null
this.editVisible = false
currentRowId: null
......
......@@ -15,7 +15,7 @@
<el-form-item>
<el-button type="primary" @click="prepareReset">重置</el-button>
</el-form-item>
<el-dialog title="提示" :visible.sync="resetDialogVisible" width="30%" :before-close="handleClose">
<el-dialog title="提示" :visible.sync="resetDialogVisible" width="30%">
<span>确认重置吗?</span>
<span slot="footer" class="dialog-footer">
<el-button @click="resetDialogVisible = false">取 消</el-button>
......
......@@ -32,13 +32,19 @@
</router-link>
<router-link to="/home/csdnUser">
<el-menu-item index="/csdnUser" class="left-aside-item">
<i class="el-icon-user"></i>
<i class="el-icon-s-custom"></i>
<span slot="title">用户管理</span>
</el-menu-item>
</router-link>
<router-link to="/home/articleInfo">
<el-menu-item index="/articleInfo" class="left-aside-item">
<i class="el-icon-document"></i>
<span slot="title">文章管理</span>
</el-menu-item>
</router-link>
<router-link to="/home/tripletDayInfo">
<el-menu-item index="/tripletDayInfo" class="left-aside-item">
<i class="el-icon-user"></i>
<i class="el-icon-thumb"></i>
<span slot="title">三连管理</span>
</el-menu-item>
</router-link>
......
......@@ -7,7 +7,9 @@
<!-- 标题 -->
<h4 class="layout-header-left-title ml-3">kwan的解忧杂货铺</h4>
</div>
<h2 class="layout-header-left-title ml-3" :style="{ color: textColor }">{{ randomAlgorithmic.poetryText }}</h2>
<marquee ref="myMarquee" behavior="scroll" direction="left" :scrollamount="5" width="1000px" height="50px">
<h1 class="layout-header-left-title ml-3" :style="{ color: textColor }">{{ randomAlgorithmic.poetryText }}</h1>
</marquee>
<el-row>
<el-col :inline="true" :span="24">
<el-button class="el-button-header" type="success" round @click="myHome">我的主页</el-button>
......@@ -26,11 +28,12 @@ export default {
randomAlgorithmic: {
poetryText: '',
},
textColor: 'skyblue', // 初始字体颜色为黑色
loading: false,
color: [
'red',
'blue',
'green',
'yellow',
'purple',
'orange',
'pink',
......@@ -128,19 +131,12 @@ export default {
'turquoise',
'violet',
],
textColor: 'skyblue', // 初始字体颜色为黑色
loading: false,
}
},
watch: {
'randomAlgorithmic.poetryText': {
handler(newValue, oldValue) {
if (newValue !== oldValue) {
'randomAlgorithmic.poetryText'(newVal, oldVal) {
// 当值改变时,根据条件设置不同的字体颜色
this.textColor = this.getRandomColor()
}
},
deep: true,
},
},
created() {
......@@ -164,19 +160,18 @@ export default {
},
async interviewRandom() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/random', { params: {} })
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/random')
if (res.code === 200) {
this.randomAlgorithmic.poetryText = res.result.poetryText
}
this.loading = false
},
// 定时执行 interviewRandom 方法
startInterviewRandomTimer() {
this.interviewRandom() // 首次调用方法
this.interviewRandomTimer = setInterval(() => {
this.interviewRandom()
}, 10000) // 5000 毫秒(5秒)为间隔
}, 15000) // 5000 毫秒(5秒)为间隔
},
// 停止定时执行 interviewRandom 方法
......@@ -193,11 +188,6 @@ export default {
</script>
<style lang="less" scoped>
.layout-header-container {
height: 60px;
border-bottom: 1px solid #eaeaea;
}
.layout-header-left-img {
height: 50px;
}
......
......@@ -12,6 +12,7 @@ import Interview from '@/components/menus/MyInterview.vue'
import Algorithmic from '@/components/menus/MyAlgorithmic.vue'
import AphorismPoetry from '@/components/menus/MyAphorismPoetry.vue'
import MyCsdnUser from '@/components/menus/MyCsdnUser.vue'
import MyArticleInfo from '@/components/menus/MyArticleInfo.vue'
import MyTripletDayInfo from '@/components/menus/MyTripletDayInfo.vue'
import MyChatDetail from '@/components/user/MyChatDetail.vue'
import AddChatDetail from '@/components/user/AddChatDetail.vue'
......@@ -84,6 +85,12 @@ const router = new VueRouter({
meta: {
title: '三连管理' // 设置默认标题
}
}, {
path: 'articleInfo',
component: MyArticleInfo,
meta: {
title: '文章管理' // 设置默认标题
}
}, {
path: 'chatinfo/:id',
component: MyChatDetail,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册