Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
vue-kwan-admin
提交
c222f0bb
V
vue-kwan-admin
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
vue-kwan-admin
通知
38
Star
6
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-kwan-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
c222f0bb
编写于
1月 22, 2024
作者:
Kwan的解忧杂货铺@新空间代码工作室
🐭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:更新前端
上级
231cfdce
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
1359 addition
and
1267 deletion
+1359
-1267
src/api/ApiService.js
src/api/ApiService.js
+49
-8
src/components/MyLogin.vue
src/components/MyLogin.vue
+92
-88
src/components/menus/MyAlgorithmic.vue
src/components/menus/MyAlgorithmic.vue
+451
-382
src/components/menus/MyArticleInfo.vue
src/components/menus/MyArticleInfo.vue
+3
-3
src/components/menus/MyCsdnUser.vue
src/components/menus/MyCsdnUser.vue
+413
-441
src/components/menus/MyMessage.vue
src/components/menus/MyMessage.vue
+246
-290
src/components/menus/MyPic.vue
src/components/menus/MyPic.vue
+101
-49
src/components/menus/MyTripletDayInfo.vue
src/components/menus/MyTripletDayInfo.vue
+4
-6
未找到文件。
src/api/ApiService.js
浏览文件 @
c222f0bb
import
axios
from
'
axios
'
import
axios
from
'
axios
'
const
BASE_URL
=
'
http://localhost:80
'
const
BASE_URL
=
'
http://localhost:80
'
// 创建一个名为 ApiService 的对象,包含您的异步方法
// 创建一个名为 ApiService 的对象,包含您的异步方法
const
ApiService
=
{
const
ApiService
=
{
...
@@ -107,19 +108,26 @@ const ApiService = {
...
@@ -107,19 +108,26 @@ const ApiService = {
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/followFans/deleteFollow
'
)
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/followFans/deleteFollow
'
)
},
},
//我的图片
//我的图片
async
queryPic
(
currentPage
,
pageSize
,
picType
)
{
async
queryPic
(
currentPage
,
pageSize
,
formInline
)
{
return
await
axios
.
get
(
BASE_URL
+
'
/picInfo/page
'
,
{
return
await
axios
.
post
(
BASE_URL
+
'
/picInfo/page
'
,
{
params
:
{
page
:
currentPage
,
page
:
currentPage
,
pageSize
:
pageSize
,
pageSize
:
pageSize
,
picType
:
picT
ype
,
type
:
formInline
.
type
==
'
全部
'
?
''
:
formInline
.
t
ype
,
}
,
picName
:
formInline
.
picName
,
})
})
},
},
async
editPicConfirm
(
currentRowId
,
type
)
{
async
editPicConfirm
(
currentRowId
,
type
,
picName
)
{
return
await
axios
.
post
(
BASE_URL
+
'
/picInfo/update
'
,
{
return
await
axios
.
post
(
BASE_URL
+
'
/picInfo/update
'
,
{
id
:
currentRowId
,
id
:
currentRowId
,
type
:
type
,
type
:
type
,
picName
:
picName
,
})
},
async
batchUpdatePic
(
ids
,
type
)
{
return
await
axios
.
post
(
BASE_URL
+
'
/picInfo/batchUpdatePic
'
,
{
ids
:
ids
,
type
:
type
,
})
})
},
},
//余额管理
//余额管理
...
@@ -149,5 +157,38 @@ const ApiService = {
...
@@ -149,5 +157,38 @@ const ApiService = {
endDate
:
formInline
.
accountDate
!=
null
?
formInline
.
accountDate
[
1
]
:
''
,
endDate
:
formInline
.
accountDate
!=
null
?
formInline
.
accountDate
[
1
]
:
''
,
})
})
},
},
//用户管理
async
multiTriplet
(
userNames
)
{
return
await
axios
.
post
(
BASE_URL
+
'
/csdn/multiTriplet
'
,
userNames
)
},
async
autoReply
()
{
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/autoReply
'
)
},
async
singleTriplet
(
userName
)
{
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/singleTriplet?username=
'
+
userName
)
},
//私信管理
async
dealMessageOne
(
userName
)
{
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/message/dealMessageOne?userName=
'
+
userName
)
},
async
dealMessage
()
{
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/message/dealMessage
'
)
},
async
dealLikeCollect
()
{
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/likeCollect/dealLikeCollect
'
)
},
async
acquireMessage
()
{
return
await
axios
.
get
(
BASE_URL
+
'
/csdn/message/acquireMessage
'
)
},
async
messagePage
(
currentPage
,
pageSize
,
formInline
)
{
return
await
axios
.
post
(
'
http://localhost:80/csdn/message/page
'
,
{
page
:
currentPage
,
pageSize
:
pageSize
,
userName
:
formInline
.
userName
,
nickName
:
formInline
.
nickName
,
hasReplied
:
formInline
.
hasRepliedInfo
==
-
1
?
null
:
formInline
.
hasRepliedInfo
,
})
},
}
}
export
default
ApiService
export
default
ApiService
src/components/MyLogin.vue
浏览文件 @
c222f0bb
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"login-box"
>
<div
class=
"login-box"
>
<!-- 头像区域 -->
<!-- 头像区域 -->
<div
class=
"text-center avatar-box"
>
<div
class=
"text-center avatar-box"
>
<img
src=
"../assets/kwan.png"
class=
"img-thumbnail avatar"
alt=
"kwan的解忧杂货铺"
/>
<img
src=
"../assets/kwan.png"
class=
"img-thumbnail avatar"
alt=
"kwan的解忧杂货铺"
/>
</div>
</div>
<!-- 表单区域 -->
<!-- 表单区域 -->
...
@@ -11,12 +11,13 @@
...
@@ -11,12 +11,13 @@
<!-- 登录名称 -->
<!-- 登录名称 -->
<div
class=
"form-group form-inline"
>
<div
class=
"form-group form-inline"
>
<label
for=
"username"
>
登录名称
</label>
<label
for=
"username"
>
登录名称
</label>
<input
type=
"text"
class=
"form-control ml-2"
id=
"username"
placeholder=
"请输入登录名称"
autocomplete=
"off"
v-model.trim=
"username"
/>
<input
type=
"text"
class=
"form-control ml-2"
id=
"username"
placeholder=
"请输入登录名称"
autocomplete=
"off"
v-model.trim=
"username"
/>
</div>
</div>
<!-- 登录密码 -->
<!-- 登录密码 -->
<div
class=
"form-group form-inline"
>
<div
class=
"form-group form-inline"
>
<label
for=
"password"
>
登录密码
</label>
<label
for=
"password"
>
登录密码
</label>
<input
type=
"password"
class=
"form-control ml-2"
id=
"password"
placeholder=
"请输入登录密码"
v-model.trim=
"password"
/>
<input
type=
"password"
class=
"form-control ml-2"
id=
"password"
placeholder=
"请输入登录密码"
v-model.trim=
"password"
/>
</div>
</div>
<!-- 登录和重置按钮 -->
<!-- 登录和重置按钮 -->
<div
class=
"form-group form-inline d-flex justify-content-end"
>
<div
class=
"form-group form-inline d-flex justify-content-end"
>
...
@@ -43,7 +44,7 @@ export default {
...
@@ -43,7 +44,7 @@ export default {
this
.
password
=
''
this
.
password
=
''
},
},
login
()
{
login
()
{
if
(
this
.
username
===
'
admin
'
&&
this
.
password
===
'
8888
88
'
)
{
if
(
this
.
username
===
'
admin
'
&&
this
.
password
===
'
7162
88
'
)
{
// 登录成功
// 登录成功
// 1. 存储 token
// 1. 存储 token
localStorage
.
setItem
(
'
token
'
,
'
Bearer xxxx
'
)
localStorage
.
setItem
(
'
token
'
,
'
Bearer xxxx
'
)
...
@@ -70,6 +71,7 @@ export default {
...
@@ -70,6 +71,7 @@ export default {
.login-container {
.login-container {
background-color: #35495e;
background-color: #35495e;
height: 100%;
height: 100%;
.login-box {
.login-box {
width: 400px;
width: 400px;
height: 250px;
height: 250px;
...
@@ -80,6 +82,7 @@ export default {
...
@@ -80,6 +82,7 @@ export default {
top: 50%;
top: 50%;
transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
box-shadow: 0 0 6px rgba(255, 255, 255, 0.5);
box-shadow: 0 0 6px rgba(255, 255, 255, 0.5);
.form-login {
.form-login {
position: absolute;
position: absolute;
bottom: 0;
bottom: 0;
...
@@ -99,6 +102,7 @@ export default {
...
@@ -99,6 +102,7 @@ export default {
width: 100%;
width: 100%;
top: -65px;
top: -65px;
left: 0;
left: 0;
.avatar {
.avatar {
width: 120px;
width: 120px;
height: 120px;
height: 120px;
...
...
src/components/menus/MyAlgorithmic.vue
浏览文件 @
c222f0bb
...
@@ -2,16 +2,58 @@
...
@@ -2,16 +2,58 @@
<div>
<div>
<el-container>
<el-container>
<el-main>
<el-main>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item>
<el-input
clearable
v-model=
"formInline.questionName"
placeholder=
"请输入问题"
@
keydown.enter.native=
"algorithmPage"
></el-input>
</el-form-item>
<el-select
v-model=
"formInline.questionType"
clearable
placeholder=
"请选择"
@
change=
"algorithmPage"
>
<el-option
v-for=
"item in questionType"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
<el-select
v-model=
"formInline.tag"
clearable
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"item in allOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
<el-form-item>
<el-button
type=
"primary"
@
click=
"algorithmPage"
>
查询
</el-button>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"prepareRandom"
>
随机一题
</el-button>
<el-dialog
title=
"随机一题"
:visible.sync=
"randomFormVisible"
style=
"width: 100%"
>
<el-descriptions
class=
"margin-top"
title=
"随机选择的题目如下:"
:column=
"3"
border
>
<el-descriptions-item
v-model=
"randomAlgorithmic.questionName"
>
<template
slot=
"label"
>
题目名称
</
template
>
{{ randomAlgorithmic.questionName }}
</el-descriptions-item>
<el-descriptions-item>
<
template
slot=
"label"
>
力扣题号
</
template
>
{{ randomAlgorithmic.leetcodeNumber }}
</el-descriptions-item>
<el-descriptions-item
show-overflow-tooltip
>
<
template
slot=
"label"
>
力扣链接
</
template
>
<a
:href=
"randomAlgorithmic.leetcodeLink"
target=
"_blank"
>
{{ randomAlgorithmic.leetcodeLink }}
</a>
</el-descriptions-item>
</el-descriptions>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"randomFormVisible = false"
>
取 消
</el-button>
</div>
</el-dialog>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"prepareAdd"
>
新增
</el-button>
<el-dialog
title=
"新增算法问题"
:visible.sync=
"dialogFormVisible"
style=
"width: 100%"
>
<el-dialog
title=
"新增算法问题"
:visible.sync=
"dialogFormVisible"
style=
"width: 100%"
>
<el-form
:model=
"form"
class=
"custom-form"
>
<el-form
:model=
"form"
class=
"custom-form"
>
<el-form-item
label=
"算法问题"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-form-item
label=
"算法问题"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-input
v-model=
"form.questionName"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
<el-input
v-model=
"form.questionName"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"问题类型
"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-form-item
label=
"问题标签
"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-select
v-model=
"form.questionType"
placeholder=
"请选择问题类型
"
>
<el-select
v-model=
"form.tag"
multiple
placeholder=
"请选择
"
>
<el-option
v-for=
"item in allOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
<el-option
v-for=
"item in allOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"问题集"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-select
v-model=
"form.questionType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in questionType"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"重要程度"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-form-item
label=
"重要程度"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-input
v-model=
"form.degreeOfImportance"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
<el-input
v-model=
"form.degreeOfImportance"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -33,6 +75,9 @@
...
@@ -33,6 +75,9 @@
<el-button
type=
"primary"
@
click=
"handleConfirm(0)"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"handleConfirm(0)"
>
确 定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"prepareMutiAdd"
>
批量新增
</el-button>
<el-dialog
class=
"red-title"
:visible.sync=
"dialogMutiFormVisible"
>
<el-dialog
class=
"red-title"
:visible.sync=
"dialogMutiFormVisible"
>
<div
class=
"red-title"
slot=
"title"
>
批量新增算法问题(多个问题换行填写)
</div>
<div
class=
"red-title"
slot=
"title"
>
批量新增算法问题(多个问题换行填写)
</div>
<el-form
:model=
"form"
class=
"custom-form"
>
<el-form
:model=
"form"
class=
"custom-form"
>
...
@@ -45,43 +90,6 @@
...
@@ -45,43 +90,6 @@
<el-button
type=
"primary"
@
click=
"handleConfirm(1)"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"handleConfirm(1)"
>
确 定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
title=
"随机一题"
:visible.sync=
"randomFormVisible"
style=
"width: 100%"
>
<el-descriptions
class=
"margin-top"
title=
"随机选择的题目如下:"
:column=
"3"
border
>
<el-descriptions-item
v-model=
"randomAlgorithmic.questionName"
>
<template
slot=
"label"
>
题目名称
</
template
>
{{ randomAlgorithmic.questionName }}
</el-descriptions-item>
<el-descriptions-item>
<
template
slot=
"label"
>
力扣题号
</
template
>
{{ randomAlgorithmic.leetcodeNumber }}
</el-descriptions-item>
<el-descriptions-item
show-overflow-tooltip
>
<
template
slot=
"label"
>
力扣链接
</
template
>
<a
:href=
"randomAlgorithmic.leetcodeLink"
target=
"_blank"
>
{{ randomAlgorithmic.leetcodeLink }}
</a>
</el-descriptions-item>
</el-descriptions>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"randomFormVisible = false"
>
取 消
</el-button>
</div>
</el-dialog>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item>
<el-input
clearable
v-model=
"formInline.questionName"
placeholder=
"请输入问题"
@
keydown.enter.native=
"algorithmPage"
></el-input>
</el-form-item>
<el-select
v-model=
"formInline.questionType"
placeholder=
"请选择"
@
change=
"algorithmPage"
>
<el-option
v-for=
"item in allOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
<el-form-item>
<el-button
type=
"primary"
@
click=
"algorithmPage"
>
查询
</el-button>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"prepareRandom"
>
随机一题
</el-button>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"prepareAdd"
>
新增
</el-button>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"prepareMutiAdd"
>
批量新增
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
border
:data=
"algorithmicList"
v-loading=
"loading"
>
<el-table
border
:data=
"algorithmicList"
v-loading=
"loading"
>
...
@@ -92,11 +100,23 @@
...
@@ -92,11 +100,23 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"leetcodeNumber"
label=
"力扣题号"
width=
"100"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"leetcodeNumber"
label=
"力扣题号"
width=
"100"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"questionType"
label=
"问题类型"
show-overflow-tooltip
align=
"center"
>
<el-table-column
prop=
"tags"
label=
"标签"
width=
"150px"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<div
class=
"tag-flex"
>
<div
:style=
"
{ 'margin-left': index > 0 ? '2px' : '0', 'margin-bottom': '2px' }" v-for="(tag, index) in scope.row.tags" :key="index">
<el-tag
:type=
"getTagType(tag)"
>
{{
tag
}}
</el-tag>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"questionType"
label=
"问题集"
show-overflow-tooltip
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
:style=
"
{ color: getColorForValue(scope.row.questionType) }" v-html="scope.row.questionType">
</span>
<span
:style=
"
{ color: getColorForValue(scope.row.questionType) }" v-html="scope.row.questionType">
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
sortable
prop=
"degreeOfImportance"
label=
"重要程度"
show-overflow-tooltip
></el-table-column>
<el-table-column
sortable
prop=
"degreeOfImportance"
label=
"重要程度"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"degreeOfDifficulty"
label=
"难易程度"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"degreeOfDifficulty"
label=
"难易程度"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"difficultyOfScore"
label=
"难易分数"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"difficultyOfScore"
label=
"难易分数"
show-overflow-tooltip
></el-table-column>
...
@@ -108,17 +128,25 @@
...
@@ -108,17 +128,25 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"操作"
label=
"操作"
>
<el-table-column
prop=
"操作"
label=
"操作"
>
<
template
slot-scope=
"props"
>
<
template
slot-scope=
"props"
>
<el-button
type=
"success"
@
click.prevent=
"preEdit(props.row.id, props.row.questionName, props.row.questionType, props.row.degreeOfImportance, props.row.degreeOfDifficulty, props.row.difficultyOfScore, props.row.leetcodeNumber, props.row.leetcodeLink)"
width=
"200"
>
编辑
</el-button>
<el-button
type=
"success"
@
click.prevent=
"preEdit(props.row.id, props.row.questionName, props.row.questionType, props.row.
tags, props.row.
degreeOfImportance, props.row.degreeOfDifficulty, props.row.difficultyOfScore, props.row.leetcodeNumber, props.row.leetcodeLink)"
width=
"200"
>
编辑
</el-button>
<el-dialog
title=
"编辑算法问题"
:visible.sync=
"editVisible"
>
<el-dialog
title=
"编辑算法问题"
:visible.sync=
"editVisible"
>
<el-form
:model=
"form"
>
<el-form
:model=
"form"
>
<el-form-item
label=
"算法问题"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-form-item
label=
"算法问题"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-input
v-model=
"form.questionName"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
<el-input
v-model=
"form.questionName"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"问题类型"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-select
v-model=
"form.questionType"
placeholder=
"请选择活动区域"
>
<el-form-item
label=
"问题标签"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-select
v-model=
"form.tag"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"item in allOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
<el-option
v-for=
"item in allOptions"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"问题集"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-select
v-model=
"form.questionType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in questionType"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"重要程度"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-form-item
label=
"重要程度"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-input
v-model=
"form.degreeOfImportance"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
<el-input
v-model=
"form.degreeOfImportance"
autocomplete=
"off"
style=
"width: 100%"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -180,8 +208,10 @@ export default {
...
@@ -180,8 +208,10 @@ export default {
formInline
:
{
formInline
:
{
questionName
:
''
,
questionName
:
''
,
questionType
:
''
,
questionType
:
''
,
tag
:
[],
},
},
allOptions
:
[
'
hash表
'
,
'
回溯
'
,
'
双指针
'
,
'
二分法
'
,
'
滑动窗口
'
,
'
动态规划
'
,
'
链表
'
,
'
二叉树
'
],
allOptions
:
[
'
hash表
'
,
'
递归
'
,
'
数组
'
,
'
栈
'
,
'
回溯
'
,
'
双指针
'
,
'
二分法
'
,
'
滑动窗口
'
,
'
动态规划
'
,
'
链表
'
,
'
二叉树
'
,
'
组合
'
],
questionType
:
[
'
HOT-100
'
,
'
周赛
'
,
'
网络
'
],
// 新增的内容
// 新增的内容
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
randomFormVisible
:
false
,
randomFormVisible
:
false
,
...
@@ -194,6 +224,7 @@ export default {
...
@@ -194,6 +224,7 @@ export default {
difficultyOfScore
:
1200
,
difficultyOfScore
:
1200
,
leetcodeNumber
:
''
,
leetcodeNumber
:
''
,
leetcodeLink
:
''
,
leetcodeLink
:
''
,
tag
:
[],
},
},
formLabelWidth
:
'
120px
'
,
formLabelWidth
:
'
120px
'
,
dialogVisible
:
false
,
dialogVisible
:
false
,
...
@@ -244,7 +275,7 @@ export default {
...
@@ -244,7 +275,7 @@ export default {
this
.
currentRowId
=
id
this
.
currentRowId
=
id
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
},
},
preEdit
(
id
,
questionName
,
questionType
,
degreeOfImportance
,
degreeOfDifficulty
,
difficultyOfScore
,
leetcodeNumber
,
leetcodeLink
)
{
preEdit
(
id
,
questionName
,
questionType
,
tags
,
degreeOfImportance
,
degreeOfDifficulty
,
difficultyOfScore
,
leetcodeNumber
,
leetcodeLink
)
{
this
.
form
.
questionName
=
questionName
this
.
form
.
questionName
=
questionName
this
.
form
.
degreeOfImportance
=
degreeOfImportance
this
.
form
.
degreeOfImportance
=
degreeOfImportance
this
.
form
.
degreeOfDifficulty
=
degreeOfDifficulty
this
.
form
.
degreeOfDifficulty
=
degreeOfDifficulty
...
@@ -252,6 +283,7 @@ export default {
...
@@ -252,6 +283,7 @@ export default {
this
.
form
.
leetcodeNumber
=
leetcodeNumber
this
.
form
.
leetcodeNumber
=
leetcodeNumber
this
.
form
.
leetcodeLink
=
leetcodeLink
this
.
form
.
leetcodeLink
=
leetcodeLink
this
.
form
.
questionType
=
questionType
this
.
form
.
questionType
=
questionType
this
.
form
.
tag
=
tags
this
.
currentRowId
=
id
this
.
currentRowId
=
id
this
.
editVisible
=
true
this
.
editVisible
=
true
},
},
...
@@ -268,6 +300,25 @@ export default {
...
@@ -268,6 +300,25 @@ export default {
this
.
addQuestion
(
addType
)
// 发送请求
this
.
addQuestion
(
addType
)
// 发送请求
},
},
async
algorithmPage
()
{
this
.
loading
=
true
const
{
data
:
res
}
=
await
axios
.
post
(
'
http://localhost:80/algorithmicProblem/page
'
,
{
page
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
questionName
:
this
.
formInline
.
questionName
,
questionType
:
this
.
formInline
.
questionType
,
tag
:
this
.
formInline
.
tag
,
})
if
(
res
.
code
===
200
)
{
this
.
total
=
res
.
result
.
totalElements
res
.
result
.
content
.
forEach
((
item
)
=>
{
item
.
tags
=
item
&&
item
.
tag
?
item
.
tag
.
split
(
'
,
'
)
:
[]
})
this
.
algorithmicList
=
res
.
result
.
content
}
this
.
loading
=
false
},
async
addQuestion
(
addType
)
{
async
addQuestion
(
addType
)
{
try
{
try
{
this
.
loading
=
true
this
.
loading
=
true
...
@@ -275,6 +326,7 @@ export default {
...
@@ -275,6 +326,7 @@ export default {
addType
:
addType
,
addType
:
addType
,
questionName
:
this
.
form
.
questionName
,
questionName
:
this
.
form
.
questionName
,
questionType
:
this
.
form
.
questionType
,
questionType
:
this
.
form
.
questionType
,
tag
:
this
.
form
.
tag
,
degreeOfImportance
:
this
.
form
.
degreeOfImportance
,
degreeOfImportance
:
this
.
form
.
degreeOfImportance
,
degreeOfDifficulty
:
this
.
form
.
degreeOfDifficulty
,
degreeOfDifficulty
:
this
.
form
.
degreeOfDifficulty
,
difficultyOfScore
:
this
.
form
.
difficultyOfScore
,
difficultyOfScore
:
this
.
form
.
difficultyOfScore
,
...
@@ -290,6 +342,7 @@ export default {
...
@@ -290,6 +342,7 @@ export default {
this
.
form
.
difficultyOfScore
=
1200
this
.
form
.
difficultyOfScore
=
1200
this
.
form
.
leetcodeNumber
=
''
this
.
form
.
leetcodeNumber
=
''
this
.
form
.
leetcodeLink
=
''
this
.
form
.
leetcodeLink
=
''
this
.
form
.
tag
=
[]
this
.
algorithmPage
()
this
.
algorithmPage
()
}
else
{
}
else
{
console
.
error
(
'
Received non-200 status code
'
,
res
)
console
.
error
(
'
Received non-200 status code
'
,
res
)
...
@@ -302,13 +355,7 @@ export default {
...
@@ -302,13 +355,7 @@ export default {
this
.
loading
=
false
this
.
loading
=
false
}
}
},
},
errorMsg
(
msg
)
{
this
.
$message
({
showClose
:
true
,
message
:
msg
,
type
:
'
error
'
,
})
},
async
editConfirm
()
{
async
editConfirm
()
{
try
{
try
{
this
.
loading
=
true
this
.
loading
=
true
...
@@ -321,6 +368,7 @@ export default {
...
@@ -321,6 +368,7 @@ export default {
difficultyOfScore
:
this
.
form
.
difficultyOfScore
,
difficultyOfScore
:
this
.
form
.
difficultyOfScore
,
leetcodeNumber
:
this
.
form
.
leetcodeNumber
,
leetcodeNumber
:
this
.
form
.
leetcodeNumber
,
leetcodeLink
:
this
.
form
.
leetcodeLink
,
leetcodeLink
:
this
.
form
.
leetcodeLink
,
tag
:
this
.
form
.
tag
,
})
})
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
form
.
questionName
=
''
this
.
form
.
questionName
=
''
...
@@ -356,22 +404,6 @@ export default {
...
@@ -356,22 +404,6 @@ export default {
location
.
reload
()
location
.
reload
()
},
},
async
algorithmPage
()
{
this
.
loading
=
true
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/algorithmicProblem/page
'
,
{
params
:
{
page
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
questionName
:
this
.
formInline
.
questionName
,
questionType
:
this
.
formInline
.
questionType
,
},
})
if
(
res
.
code
===
200
)
{
this
.
total
=
res
.
result
.
totalElements
this
.
algorithmicList
=
res
.
result
.
content
}
this
.
loading
=
false
},
async
interviewRandom
()
{
async
interviewRandom
()
{
this
.
loading
=
true
this
.
loading
=
true
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/algorithmicProblem/random
'
,
{
params
:
{}
})
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/algorithmicProblem/random
'
,
{
params
:
{}
})
...
@@ -395,6 +427,27 @@ export default {
...
@@ -395,6 +427,27 @@ export default {
// 返回值对应的颜色
// 返回值对应的颜色
return
this
.
colorMap
[
value
]
return
this
.
colorMap
[
value
]
},
},
getTagType
(
tag
)
{
switch
(
tag
.
trim
())
{
case
'
链表
'
:
case
'
二叉树
'
:
case
'
栈
'
:
case
'
数组
'
:
return
'
primary
'
case
'
hash表
'
:
case
'
回溯
'
:
case
'
双指针
'
:
case
'
二分法
'
:
return
'
success
'
case
'
滑动窗口
'
:
case
'
动态规划
'
:
return
'
danger
'
case
'
组合
'
:
return
'
warning
'
default
:
return
'
info
'
}
},
getRandomColor
()
{
getRandomColor
()
{
// 从颜色数组中随机选取一个颜色
// 从颜色数组中随机选取一个颜色
const
colorArray
=
[
const
colorArray
=
[
...
@@ -480,6 +533,13 @@ export default {
...
@@ -480,6 +533,13 @@ export default {
const
randomIndex
=
Math
.
floor
(
Math
.
random
()
*
colorArray
.
length
)
const
randomIndex
=
Math
.
floor
(
Math
.
random
()
*
colorArray
.
length
)
return
colorArray
[
randomIndex
]
return
colorArray
[
randomIndex
]
},
},
errorMsg
(
msg
)
{
this
.
$message
({
showClose
:
true
,
message
:
msg
,
type
:
'
error
'
,
})
},
},
},
}
}
</
script
>
</
script
>
...
@@ -499,6 +559,7 @@ export default {
...
@@ -499,6 +559,7 @@ export default {
margin-top: 16px;
margin-top: 16px;
text-align: right;
text-align: right;
}
}
.header-button-item {
.header-button-item {
margin-right: 15px;
margin-right: 15px;
font-size: 20px;
font-size: 20px;
...
@@ -524,11 +585,19 @@ export default {
...
@@ -524,11 +585,19 @@ export default {
cursor: pointer;
cursor: pointer;
z-index: 999;
z-index: 999;
}
}
.custom-textarea {
.custom-textarea {
width: 100%;
width: 100%;
text-align: left;
text-align: left;
}
}
.backtop:hover {
.backtop:hover {
background-color: #0050a0;
background-color: #0050a0;
}
}
.tag-flex {
display: flex;
width: 150px;
flex-wrap: wrap;
}
</
style
>
</
style
>
\ No newline at end of file
src/components/menus/MyArticleInfo.vue
浏览文件 @
c222f0bb
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
</el-dialog>
</el-dialog>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"articleInfoList"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<el-table
border
ref=
"multipleTable"
v-loading=
"loading"
:data=
"articleInfoList"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"50"
></el-table-column>
<el-table-column
type=
"selection"
width=
"50"
></el-table-column>
<el-table-column
prop=
"articleId"
label=
"文章id"
show-overflow-tooltip
></el-table-column>
<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=
"userName"
label=
"用户名称"
show-overflow-tooltip
></el-table-column>
...
@@ -282,7 +282,7 @@ export default {
...
@@ -282,7 +282,7 @@ export default {
{
type
:
2
,
name
:
'
评论已满
'
},
{
type
:
2
,
name
:
'
评论已满
'
},
{
type
:
3
,
name
:
'
禁言
'
},
{
type
:
3
,
name
:
'
禁言
'
},
{
type
:
4
,
name
:
'
评论太快
'
},
{
type
:
4
,
name
:
'
评论太快
'
},
{
type
:
5
,
name
:
'
评论已
经到了
40条
'
},
{
type
:
5
,
name
:
'
评论已
到
40条
'
},
{
type
:
8
,
name
:
'
其他错误
'
},
{
type
:
8
,
name
:
'
其他错误
'
},
{
type
:
9
,
name
:
'
评论成功
'
},
{
type
:
9
,
name
:
'
评论成功
'
},
],
],
...
@@ -605,7 +605,7 @@ export default {
...
@@ -605,7 +605,7 @@ export default {
return
'
info
'
return
'
info
'
}
else
if
(
statusName
==
'
已经点过赞
'
||
statusName
==
'
已经收藏过
'
||
statusName
==
'
已经评论过
'
)
{
}
else
if
(
statusName
==
'
已经点过赞
'
||
statusName
==
'
已经收藏过
'
||
statusName
==
'
已经评论过
'
)
{
return
'
success
'
return
'
success
'
}
else
if
(
statusName
==
'
文章状态不能点赞
'
||
statusName
==
'
收藏已满
'
||
statusName
==
'
收藏夹不存在
'
||
statusName
==
'
评论已满
'
||
statusName
==
'
禁言
'
||
statusName
==
'
评论已
经到了
40条
'
)
{
}
else
if
(
statusName
==
'
文章状态不能点赞
'
||
statusName
==
'
收藏已满
'
||
statusName
==
'
收藏夹不存在
'
||
statusName
==
'
评论已满
'
||
statusName
==
'
禁言
'
||
statusName
==
'
评论已
到
40条
'
)
{
return
'
danger
'
return
'
danger
'
}
else
if
(
statusName
==
'
点赞成功
'
||
statusName
==
'
收藏成功
'
||
statusName
==
'
评论成功
'
)
{
}
else
if
(
statusName
==
'
点赞成功
'
||
statusName
==
'
收藏成功
'
||
statusName
==
'
评论成功
'
)
{
return
'
success
'
return
'
success
'
...
...
src/components/menus/MyCsdnUser.vue
浏览文件 @
c222f0bb
...
@@ -80,18 +80,9 @@
...
@@ -80,18 +80,9 @@
</div>
</div>
</el-dialog>
</el-dialog>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
size=
"small"
type=
"primary"
@
click=
"prepareAllTriplet"
>
三连
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"multiTriplet"
>
三连
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"allTripletDialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<span>
确认三连吗?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"allTripletDialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"allTriplet()"
>
确 定
</el-button>
</span>
</el-dialog>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
size=
"small"
type=
"warning"
@
click=
"prepareResetLikesComment"
>
核验状态
</el-button>
<el-button
size=
"small"
type=
"warning"
@
click=
"prepareResetLikesComment"
>
核验状态
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"resetLikesCommentDialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<el-dialog
title=
"提示"
:visible.sync=
"resetLikesCommentDialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
...
@@ -104,17 +95,10 @@
...
@@ -104,17 +95,10 @@
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
size=
"small"
type=
"success"
@
click=
"prepareAutoReply"
>
自动评论
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"autoReply"
>
自动评论
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"autoReplyDialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<span>
确认自动评论吗?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"autoReplyDialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"autoReply()"
>
确 定
</el-button>
</span>
</el-dialog>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"csdnUserList"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<el-table
border
ref=
"multipleTable"
v-loading=
"loading"
:data=
"csdnUserList"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"用户名称"
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
prop=
"nickName"
label=
"用户昵称"
show-overflow-tooltip
>
...
@@ -143,7 +127,12 @@
...
@@ -143,7 +127,12 @@
<el-table-column
prop=
"userWeightName"
label=
"用户权重"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"userWeightName"
label=
"用户权重"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"articleType"
label=
"文章类型"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"articleType"
label=
"文章类型"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"getArticleType(scope.row.articleType)"
>
{{
scope
.
row
.
articleType
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"更新时间"
>
<el-table-column
label=
"更新时间"
>
<
template
slot-scope=
"props"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
updateTime
|
dateFormat
}}
{{
props
.
row
.
updateTime
|
dateFormat
}}
...
@@ -151,22 +140,8 @@
...
@@ -151,22 +140,8 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"操作"
label=
"操作"
width=
"380px"
>
<el-table-column
prop=
"操作"
label=
"操作"
width=
"380px"
>
<
template
slot-scope=
"props"
>
<
template
slot-scope=
"props"
>
<el-button
type=
"primary"
@
click=
"prepareTriplet(props.row.userName)"
size=
"small"
>
三连
</el-button>
<el-button
type=
"primary"
@
click=
"triplet(props.row.userName)"
size=
"small"
>
三连
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"tripletVisible"
width=
"30%"
:before-close=
"handleClose"
>
<el-button
type=
"warning"
@
click=
"resetUserDayStatus(props.row.userName)"
size=
"small"
>
重置
</el-button>
<span>
确认三连?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"tripletVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"triplet(currentUserName)"
>
确 定
</el-button>
</span>
</el-dialog>
<el-button
type=
"warning"
@
click=
"prepareResetUserDayStatus(props.row.userName)"
size=
"small"
>
重置
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"resetUserDayStatusVisible"
width=
"30%"
:before-close=
"handleClose"
>
<span>
确认重置?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"resetUserDayStatusVisible = false"
>
取 消
</el-button>
<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.userHomeUrl, props.row.userWeight)"
width=
"200"
size=
"small"
>
编辑
</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"
size=
"small"
>
编辑
</el-button>
<el-dialog
title=
"编辑用户信息"
:visible.sync=
"editVisible"
>
<el-dialog
title=
"编辑用户信息"
:visible.sync=
"editVisible"
>
<el-form
:model=
"form"
>
<el-form
:model=
"form"
>
...
@@ -209,7 +184,7 @@
...
@@ -209,7 +184,7 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[
8,
10, 50, 100, 200, 400]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[ 10, 50, 100, 200, 400]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</el-main>
</el-main>
<el-backtop
class=
"backtop"
></el-backtop>
<el-backtop
class=
"backtop"
></el-backtop>
</el-container>
</el-container>
...
@@ -218,6 +193,7 @@
...
@@ -218,6 +193,7 @@
<
script
>
<
script
>
import
axios
from
'
axios
'
import
axios
from
'
axios
'
import
ApiService
from
'
../../api/ApiService
'
export
default
{
export
default
{
name
:
'
MyCsdnUser
'
,
name
:
'
MyCsdnUser
'
,
...
@@ -296,7 +272,7 @@ export default {
...
@@ -296,7 +272,7 @@ export default {
{
type
:
2
,
name
:
'
评论已满
'
},
{
type
:
2
,
name
:
'
评论已满
'
},
{
type
:
3
,
name
:
'
禁言
'
},
{
type
:
3
,
name
:
'
禁言
'
},
{
type
:
4
,
name
:
'
评论太快
'
},
{
type
:
4
,
name
:
'
评论太快
'
},
{
type
:
5
,
name
:
'
评论已经到了
40条
'
},
{
type
:
5
,
name
:
'
评论已到
40条
'
},
{
type
:
8
,
name
:
'
其他错误
'
},
{
type
:
8
,
name
:
'
其他错误
'
},
{
type
:
9
,
name
:
'
评论成功
'
},
{
type
:
9
,
name
:
'
评论成功
'
},
],
],
...
@@ -304,10 +280,6 @@ export default {
...
@@ -304,10 +280,6 @@ export default {
dialogMutiFormVisible
:
false
,
dialogMutiFormVisible
:
false
,
dialogVisible
:
false
,
dialogVisible
:
false
,
editVisible
:
false
,
editVisible
:
false
,
tripletVisible
:
false
,
allTripletDialogVisible
:
false
,
autoReplyDialogVisible
:
false
,
resetUserDayStatusVisible
:
false
,
blog10DialogVisible
:
false
,
blog10DialogVisible
:
false
,
resetLikesCommentDialogVisible
:
false
,
resetLikesCommentDialogVisible
:
false
,
// 用户列表数据
// 用户列表数据
...
@@ -315,7 +287,7 @@ export default {
...
@@ -315,7 +287,7 @@ export default {
loading
:
false
,
loading
:
false
,
elementui_page_component_key
:
0
,
elementui_page_component_key
:
0
,
currentPage
:
Number
(
localStorage
.
getItem
(
'
csdnUserPage
'
))
||
1
,
currentPage
:
Number
(
localStorage
.
getItem
(
'
csdnUserPage
'
))
||
1
,
pageSize
:
8
,
pageSize
:
10
,
total
:
0
,
total
:
0
,
// 新增的内容
// 新增的内容
formLabelWidth
:
'
120px
'
,
formLabelWidth
:
'
120px
'
,
...
@@ -351,13 +323,6 @@ export default {
...
@@ -351,13 +323,6 @@ export default {
this
.
form
.
nickName
=
''
this
.
form
.
nickName
=
''
this
.
dialogFormVisible
=
true
this
.
dialogFormVisible
=
true
},
},
prepareAllTriplet
()
{
this
.
allTripletDialogVisible
=
true
},
prepareResetUserDayStatus
(
userName
)
{
this
.
resetUserDayStatusVisible
=
true
this
.
currentUserName
=
userName
},
prepareBlog10
(
userName
)
{
prepareBlog10
(
userName
)
{
this
.
blog10DialogVisible
=
true
this
.
blog10DialogVisible
=
true
this
.
currentUserName
=
userName
this
.
currentUserName
=
userName
...
@@ -365,9 +330,7 @@ export default {
...
@@ -365,9 +330,7 @@ export default {
prepareResetLikesComment
()
{
prepareResetLikesComment
()
{
this
.
resetLikesCommentDialogVisible
=
true
this
.
resetLikesCommentDialogVisible
=
true
},
},
prepareAutoReply
()
{
this
.
autoReplyDialogVisible
=
true
},
prepareMutiAdd
()
{
prepareMutiAdd
()
{
this
.
form
.
userName
=
''
this
.
form
.
userName
=
''
this
.
dialogMutiFormVisible
=
true
this
.
dialogMutiFormVisible
=
true
...
@@ -376,10 +339,6 @@ export default {
...
@@ -376,10 +339,6 @@ export default {
this
.
currentRowId
=
id
this
.
currentRowId
=
id
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
},
},
prepareTriplet
(
userName
)
{
this
.
currentUserName
=
userName
this
.
tripletVisible
=
true
},
preEdit
(
id
,
userName
,
nickName
,
userHomeUrl
,
userWeight
)
{
preEdit
(
id
,
userName
,
nickName
,
userHomeUrl
,
userWeight
)
{
this
.
form
.
userName
=
userName
this
.
form
.
userName
=
userName
this
.
form
.
nickName
=
nickName
this
.
form
.
nickName
=
nickName
...
@@ -430,13 +389,6 @@ export default {
...
@@ -430,13 +389,6 @@ export default {
this
.
loading
=
false
this
.
loading
=
false
}
}
},
},
errorMsg
(
msg
)
{
this
.
$message
({
showClose
:
true
,
message
:
msg
,
type
:
'
error
'
,
})
},
async
editConfirm
()
{
async
editConfirm
()
{
try
{
try
{
this
.
loading
=
true
this
.
loading
=
true
...
@@ -466,14 +418,14 @@ export default {
...
@@ -466,14 +418,14 @@ export default {
}
}
},
},
async
all
Triplet
()
{
async
multi
Triplet
()
{
this
.
loading
=
true
this
.
loading
=
true
this
.
allTripletDialogVisible
=
false
if
(
this
.
multipleSelection
&&
this
.
multipleSelection
.
length
===
0
)
{
if
(
this
.
multipleSelection
&&
this
.
multipleSelection
.
length
===
0
)
{
console
.
error
(
'
请选择需要处理的项
'
)
this
.
loading
=
false
this
.
errorMsg
(
'
请选择需要处理项
'
)
}
else
{
}
else
{
let
userNames
=
this
.
multipleSelection
.
map
((
item
)
=>
item
.
userName
)
let
userNames
=
this
.
multipleSelection
.
map
((
item
)
=>
item
.
userName
)
const
{
data
:
res
}
=
await
axios
.
post
(
'
http://localhost:80/csdn/multiTriplet
'
,
userNames
)
const
{
data
:
res
}
=
await
ApiService
.
multiTriplet
(
userNames
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
multipleSelection
=
[]
this
.
multipleSelection
=
[]
this
.
userPage
()
this
.
userPage
()
...
@@ -483,10 +435,21 @@ export default {
...
@@ -483,10 +435,21 @@ export default {
}
}
this
.
loading
=
false
this
.
loading
=
false
},
},
async
autoReply
()
{
this
.
loading
=
true
const
{
data
:
res
}
=
await
ApiService
.
autoReply
()
if
(
res
.
code
===
200
)
{
this
.
userPage
()
}
else
{
console
.
error
(
'
Received non-200 status code
'
,
res
)
}
this
.
loading
=
false
},
async
triplet
(
userName
)
{
async
triplet
(
userName
)
{
this
.
loading
=
true
this
.
loading
=
true
this
.
tripletVisible
=
false
const
{
data
:
res
}
=
await
ApiService
.
singleTriplet
(
userName
)
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/singleTriplet?username=
'
+
userName
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
currentUserName
=
null
this
.
currentUserName
=
null
this
.
userPage
()
this
.
userPage
()
...
@@ -520,7 +483,6 @@ export default {
...
@@ -520,7 +483,6 @@ export default {
},
},
async
resetUserDayStatus
(
userName
)
{
async
resetUserDayStatus
(
userName
)
{
this
.
loading
=
true
this
.
loading
=
true
this
.
resetUserDayStatusVisible
=
false
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/user/resetCsdnUserInfo?username=
'
+
userName
)
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/user/resetCsdnUserInfo?username=
'
+
userName
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
currentUserName
=
null
this
.
currentUserName
=
null
...
@@ -611,7 +573,7 @@ export default {
...
@@ -611,7 +573,7 @@ export default {
return
'
info
'
return
'
info
'
}
else
if
(
statusName
==
'
已经点过赞
'
||
statusName
==
'
已经收藏过
'
||
statusName
==
'
已经评论过
'
)
{
}
else
if
(
statusName
==
'
已经点过赞
'
||
statusName
==
'
已经收藏过
'
||
statusName
==
'
已经评论过
'
)
{
return
'
success
'
return
'
success
'
}
else
if
(
statusName
==
'
文章状态不能点赞
'
||
statusName
==
'
收藏已满
'
||
statusName
==
'
收藏夹不存在
'
||
statusName
==
'
评论已满
'
||
statusName
==
'
禁言
'
||
statusName
==
'
评论已经到了
40条
'
)
{
}
else
if
(
statusName
==
'
文章状态不能点赞
'
||
statusName
==
'
收藏已满
'
||
statusName
==
'
收藏夹不存在
'
||
statusName
==
'
评论已满
'
||
statusName
==
'
禁言
'
||
statusName
==
'
评论已到
40条
'
)
{
return
'
danger
'
return
'
danger
'
}
else
if
(
statusName
==
'
点赞成功
'
||
statusName
==
'
收藏成功
'
||
statusName
==
'
评论成功
'
)
{
}
else
if
(
statusName
==
'
点赞成功
'
||
statusName
==
'
收藏成功
'
||
statusName
==
'
评论成功
'
)
{
return
'
success
'
return
'
success
'
...
@@ -619,16 +581,26 @@ export default {
...
@@ -619,16 +581,26 @@ export default {
return
'
warning
'
return
'
warning
'
}
}
},
},
async
autoReply
()
{
getArticleType
(
articleType
)
{
this
.
loading
=
true
if
(
articleType
==
'
blog
'
)
{
this
.
autoReplyDialogVisible
=
false
return
'
success
'
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/autoReply
'
)
}
else
if
(
articleType
==
'
blink
'
)
{
if
(
res
.
code
===
200
)
{
return
'
danger
'
this
.
userPage
()
}
else
if
(
articleType
==
'
topic
'
)
{
}
else
{
return
'
warning
'
console
.
error
(
'
Received non-200 status code
'
,
res
)
}
else
if
(
articleType
==
'
download
'
)
{
return
'
primary
'
}
else
if
(
articleType
==
'
ask
'
)
{
return
'
info
'
}
}
this
.
loading
=
false
},
errorMsg
(
msg
)
{
this
.
$message
({
showClose
:
true
,
message
:
msg
,
type
:
'
error
'
,
})
},
},
},
},
}
}
...
...
src/components/menus/MyMessage.vue
浏览文件 @
c222f0bb
...
@@ -4,14 +4,17 @@
...
@@ -4,14 +4,17 @@
<el-main>
<el-main>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item>
<el-form-item>
<el-input
size=
"small"
clearable
v-model=
"formInline.userName"
placeholder=
"请输入用户名"
@
keydown.enter.native=
"messagePage"
></el-input>
<el-input
size=
"small"
clearable
v-model=
"formInline.userName"
placeholder=
"请输入用户名"
@
keydown.enter.native=
"messagePage"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-input
size=
"small"
clearable
v-model=
"formInline.nickName"
placeholder=
"请输入用户昵称"
@
keydown.enter.native=
"messagePage"
></el-input>
<el-input
size=
"small"
clearable
v-model=
"formInline.nickName"
placeholder=
"请输入用户昵称"
@
keydown.enter.native=
"messagePage"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-select
size=
"small"
v-model=
"formInline.hasRepliedInfo"
placeholder=
"请选择收藏状态"
@
change=
"messagePage"
>
<el-select
size=
"small"
v-model=
"formInline.hasRepliedInfo"
placeholder=
"请选择收藏状态"
@
change=
"messagePage"
>
<el-option
v-for=
"item in hasRepliedInfo"
:key=
"item.type"
:label=
"item.name"
:value=
"item.type"
></el-option>
<el-option
v-for=
"item in hasRepliedInfo"
:key=
"item.type"
:label=
"item.name"
:value=
"item.type"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
@@ -24,23 +27,17 @@
...
@@ -24,23 +27,17 @@
<span>
确认刷新私信列表吗?
</span>
<span>
确认刷新私信列表吗?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"refreshMessageDialogVisible = false"
>
取 消
</el-button>
<el-button
@
click=
"refreshMessageDialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"
refresh
Message()"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"
acquire
Message()"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
size=
"small"
type=
"primary"
@
click=
"prepareMeaasge"
>
私信点赞收藏
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"messageDeal"
>
私信点赞收藏
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"messageDialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<span>
确认处理私信点赞收藏吗?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"messageDialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"messageDeal()"
>
确 定
</el-button>
</span>
</el-dialog>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"csdnMessageList"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table
border
ref=
"multipleTable"
v-loading=
"loading"
:data=
"csdnMessageList"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
prop=
"id"
label=
"序号"
width=
"100"
sortable
></el-table-column>
<el-table-column
prop=
"id"
label=
"序号"
width=
"100"
sortable
></el-table-column>
<el-table-column
prop=
"userName"
label=
"用户名称"
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
prop=
"nickName"
label=
"用户昵称"
show-overflow-tooltip
>
...
@@ -64,26 +61,13 @@
...
@@ -64,26 +61,13 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"操作"
label=
"操作"
width=
"380px"
>
<el-table-column
prop=
"操作"
label=
"操作"
width=
"380px"
>
<
template
slot-scope=
"props"
>
<
template
slot-scope=
"props"
>
<el-button
type=
"primary"
@
click=
"prepareDealMessageOne(props.row.userName)"
size=
"small"
>
私信
</el-button>
<el-button
type=
"primary"
@
click=
"dealMessageOne(props.row.userName)"
size=
"small"
>
私信
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"dealMessageOneVisible"
width=
"30%"
:before-close=
"handleClose"
>
<span>
确认私信吗?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dealMessageOneVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"dealMessageOne(currentUserName)"
>
确 定
</el-button>
</span>
</el-dialog>
<el-button
type=
"danger"
@
click=
"prepareDelete(props.row.id)"
size=
"small"
>
删除
</el-button>
<el-dialog
title=
"提示"
:visible.sync=
"deleteDialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<span>
确认删除?
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"deleteDialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click.prevent=
"onDelete(currentRowId)"
>
确 定
</el-button>
</span>
</el-dialog>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[8, 50, 100, 200, 400]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[8, 50, 100, 200, 400]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</el-main>
</el-main>
<el-backtop
class=
"backtop"
></el-backtop>
<el-backtop
class=
"backtop"
></el-backtop>
</el-container>
</el-container>
...
@@ -92,6 +76,7 @@
...
@@ -92,6 +76,7 @@
<
script
>
<
script
>
import
axios
from
'
axios
'
import
axios
from
'
axios
'
import
ApiService
from
'
../../api/ApiService
'
export
default
{
export
default
{
name
:
'
MyMessage
'
,
name
:
'
MyMessage
'
,
...
@@ -111,11 +96,8 @@ export default {
...
@@ -111,11 +96,8 @@ export default {
type
:
0
,
type
:
0
,
name
:
'
未回复
'
,
name
:
'
未回复
'
,
},
},
{
type
:
1
,
name
:
'
已回复
'
},
{
type
:
1
,
name
:
'
已回复
'
},
],
],
deleteDialogVisible
:
false
,
dealMessageOneVisible
:
false
,
messageDialogVisible
:
false
,
refreshMessageDialogVisible
:
false
,
refreshMessageDialogVisible
:
false
,
// 用户列表数据
// 用户列表数据
csdnMessageList
:
[],
csdnMessageList
:
[],
...
@@ -156,27 +138,17 @@ export default {
...
@@ -156,27 +138,17 @@ export default {
this
.
currentPage
=
1
this
.
currentPage
=
1
},
},
methods
:
{
methods
:
{
prepareMeaasge
()
{
this
.
messageDialogVisible
=
true
},
prepareRefreshMessage
()
{
prepareRefreshMessage
()
{
this
.
refreshMessageDialogVisible
=
true
this
.
refreshMessageDialogVisible
=
true
},
},
prepareDelete
(
id
)
{
this
.
currentRowId
=
id
this
.
deleteDialogVisible
=
true
},
prepareDealMessageOne
(
userName
)
{
this
.
currentUserName
=
userName
this
.
dealMessageOneVisible
=
true
},
handleClose
(
done
)
{
handleClose
(
done
)
{
this
.
$confirm
(
'
确认关闭?
'
)
this
.
$confirm
(
'
确认关闭?
'
)
.
then
((
_
)
=>
{
.
then
((
_
)
=>
{
done
()
done
()
})
})
.
catch
((
_
)
=>
{})
.
catch
((
_
)
=>
{
})
},
},
handleConfirm
(
addType
)
{
handleConfirm
(
addType
)
{
this
.
dialogFormVisible
=
false
// 关闭对话框
this
.
dialogFormVisible
=
false
// 关闭对话框
...
@@ -185,13 +157,7 @@ export default {
...
@@ -185,13 +157,7 @@ export default {
},
},
async
messagePage
()
{
async
messagePage
()
{
this
.
loading
=
true
this
.
loading
=
true
const
{
data
:
res
}
=
await
axios
.
post
(
'
http://localhost:80/csdn/message/page
'
,
{
const
{
data
:
res
}
=
await
ApiService
.
messagePage
(
this
.
currentPage
,
this
.
pageSize
,
this
.
formInline
)
page
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
userName
:
this
.
formInline
.
userName
,
nickName
:
this
.
formInline
.
nickName
,
hasReplied
:
this
.
formInline
.
hasRepliedInfo
==
-
1
?
null
:
this
.
formInline
.
hasRepliedInfo
,
})
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
total
=
res
.
result
.
totalElements
this
.
total
=
res
.
result
.
totalElements
const
userWeightMap
=
{}
const
userWeightMap
=
{}
...
@@ -208,11 +174,10 @@ export default {
...
@@ -208,11 +174,10 @@ export default {
async
dealMessageOne
(
userName
)
{
async
dealMessageOne
(
userName
)
{
this
.
loading
=
true
this
.
loading
=
true
this
.
dealMessageOneVisible
=
false
const
{
data
:
res
}
=
await
ApiService
.
dealMessageOne
(
userName
)
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/message/dealMessageOne?userName=
'
+
userName
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
currentUserName
=
null
this
.
currentUserName
=
null
this
.
messagePage
()
await
this
.
messagePage
()
}
else
{
}
else
{
console
.
error
(
'
Received non-200 status code
'
,
res
)
console
.
error
(
'
Received non-200 status code
'
,
res
)
}
}
...
@@ -221,43 +186,31 @@ export default {
...
@@ -221,43 +186,31 @@ export default {
async
messageDeal
()
{
async
messageDeal
()
{
this
.
loading
=
true
this
.
loading
=
true
this
.
messageDialogVisible
=
false
const
{
data
:
res1
}
=
await
ApiService
.
dealMessage
()
const
{
data
:
res1
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/message/dealMessage
'
)
if
(
res1
.
code
===
200
)
{
if
(
res1
.
code
===
200
)
{
this
.
messagePage
()
await
this
.
messagePage
()
}
else
{
}
else
{
console
.
error
(
'
Received non-200 status code
'
,
res1
)
console
.
error
(
'
Received non-200 status code
'
,
res1
)
}
}
const
{
data
:
res2
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/likeCollect/dealLikeCollect
'
)
const
{
data
:
res2
}
=
await
ApiService
.
dealLikeCollect
(
)
if
(
res2
.
code
===
200
)
{
if
(
res2
.
code
===
200
)
{
this
.
messagePage
()
await
this
.
messagePage
()
}
else
{
}
else
{
console
.
error
(
'
Received non-200 status code
'
,
res2
)
console
.
error
(
'
Received non-200 status code
'
,
res2
)
}
}
this
.
loading
=
false
this
.
loading
=
false
},
},
async
refresh
Message
()
{
async
acquire
Message
()
{
this
.
loading
=
true
this
.
loading
=
true
this
.
refreshMessageDialogVisible
=
false
this
.
refreshMessageDialogVisible
=
false
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/message/acquireMessage
'
)
const
{
data
:
res
}
=
await
ApiService
.
acquireMessage
(
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
messagePage
()
await
this
.
messagePage
()
}
else
{
}
else
{
console
.
error
(
'
Received non-200 status code
'
,
res
)
console
.
error
(
'
Received non-200 status code
'
,
res
)
}
}
this
.
loading
=
false
this
.
loading
=
false
},
},
async
onDelete
(
id
)
{
this
.
loading
=
true
const
{
data
:
res
}
=
await
axios
.
get
(
'
http://localhost:80/csdn/user/delete
'
,
{
params
:
{
id
:
id
,
},
})
this
.
deleteDialogVisible
=
false
this
.
messagePage
()
this
.
loading
=
false
},
refreshPage
()
{
refreshPage
()
{
//获取问题类型的枚举
//获取问题类型的枚举
this
.
messagePage
()
this
.
messagePage
()
...
@@ -297,6 +250,7 @@ export default {
...
@@ -297,6 +250,7 @@ export default {
margin-top: 16px;
margin-top: 16px;
text-align: right;
text-align: right;
}
}
.header-button-item {
.header-button-item {
margin-right: 15px;
margin-right: 15px;
font-size: 20px;
font-size: 20px;
...
@@ -322,10 +276,12 @@ export default {
...
@@ -322,10 +276,12 @@ export default {
cursor: pointer;
cursor: pointer;
z-index: 999;
z-index: 999;
}
}
.custom-textarea {
.custom-textarea {
width: 100%;
width: 100%;
text-align: left;
text-align: left;
}
}
.backtop:hover {
.backtop:hover {
background-color: #0050a0;
background-color: #0050a0;
}
}
...
...
src/components/menus/MyPic.vue
浏览文件 @
c222f0bb
...
@@ -4,8 +4,11 @@
...
@@ -4,8 +4,11 @@
<el-main>
<el-main>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item>
<el-form-item>
<el-select
size=
"small"
v-model=
"picType"
placeholder=
"请选择"
@
change=
"queryPic"
>
<el-input
size=
"small"
clearable
v-model=
"formInline.picName"
placeholder=
"请输入图片名称"
@
keydown.enter.native=
"queryPic"
></el-input>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-form-item>
<el-form-item>
<el-select
size=
"small"
clearable
v-model=
"formInline.type"
placeholder=
"请选择"
@
change=
"queryPic"
>
<el-option
v-for=
"item in options"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
@@ -14,22 +17,44 @@
...
@@ -14,22 +17,44 @@
<el-form-item>
<el-form-item>
<el-button
size=
"small"
type=
"primary"
@
click=
"prepareAddPic"
>
新增图片
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"prepareAddPic"
>
新增图片
</el-button>
<el-dialog
title=
"新增图片"
:visible.sync=
"addPicVisible"
style=
"width: 100%"
>
<el-dialog
title=
"新增图片"
:visible.sync=
"addPicVisible"
style=
"width: 100%"
>
<el-upload
ref=
"upload"
:limit=
"30"
accept=
".jpg,.gif,.png,.jpeg,.txt,.pdf,.doc,.docx,.xls,.xlsx"
name=
"files"
multiple
action=
"http://localhost:80/picInfo/upload"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:file-list=
"fileList"
:auto-upload=
"false"
:on-success=
"handleUploadSuccess"
>
<el-select
size=
"small"
v-model=
"formInline.type"
placeholder=
"请选择图片类型"
>
<el-option
v-for=
"item in options"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
<el-upload
ref=
"upload"
:limit=
"30"
accept=
".jpg,.gif,.png,.jpeg,.txt,.pdf,.doc,.docx,.xls,.xlsx"
name=
"files"
multiple
:action=
"getUploadAction()"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:file-list=
"fileList"
:auto-upload=
"false"
:on-success=
"handleUploadSuccess"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选择图片
</el-button>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选择图片
</el-button>
<el-button
style=
"margin-left: 10px"
size=
"small"
type=
"success"
@
click=
"submitUpload"
>
上传到服务器
</el-button>
<el-button
style=
"margin-left: 10px"
size=
"small"
type=
"success"
@
click=
"submitUpload"
>
上传到服务器
</el-button>
</el-upload>
</el-upload>
</el-dialog>
</el-dialog>
</el-form-item>
</el-form-item>
</el-form>
<el-table
border
:data=
"picList"
v-loading=
"loading"
>
<el-form-item>
<el-button
size=
"small"
type=
"primary"
@
click=
"prepareBatchUpdatePic"
>
批量修改
</el-button>
<el-dialog
title=
"批量修改"
:visible.sync=
"batchUpdatePicVisible"
style=
"width: 100%"
>
<el-form
:model=
"form"
class=
"custom-form"
>
<el-form-item
label=
"图片类型"
:label-width=
"formLabelWidth"
class=
"form-item"
>
<el-select
size=
"small"
v-model=
"form.type"
placeholder=
"请选择图片类型"
>
<el-option
v-for=
"item in options"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"batchUpdatePicVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"batchUpdatePic()"
>
确 定
</el-button>
</div>
</el-dialog>
</el-form-item>
</el-form>
<el-table
border
ref=
"multipleTable"
v-loading=
"loading"
:data=
"picList"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
prop=
"id"
label=
"序号"
align=
"center"
sortable
></el-table-column>
<el-table-column
prop=
"id"
label=
"序号"
align=
"center"
sortable
></el-table-column>
<el-table-column
prop=
"picName"
label=
"图片名字"
align=
"center"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"picName"
label=
"图片名字"
align=
"center"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"type"
label=
"图片类型"
align=
"center"
show-overflow-tooltip
></el-table-column>
<el-table-column
align=
"center"
>
<el-table-column
align=
"center"
>
<template
slot-scope=
"props"
>
<template
slot-scope=
"props"
>
<img
:src=
"props.row.picUrl"
alt=
"图片"
height=
"100px"
@
click=
"showImageDialog(props.row.picUrl, props.$index)"
style=
"cursor: pointer"
/>
<img
:src=
"props.row.picUrl"
alt=
"图片"
height=
"100px"
@
click=
"showImageDialog(props.row.picUrl, props.$index)"
style=
"cursor: pointer"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
>
<el-table-column
label=
"创建时间"
align=
"center"
>
<
template
slot-scope=
"props"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
createTime
|
dateFormat
}}
{{
props
.
row
.
createTime
|
dateFormat
}}
...
@@ -38,18 +63,20 @@
...
@@ -38,18 +63,20 @@
<el-table-column
prop=
"操作"
label=
"操作"
width=
"100px"
align=
"center"
>
<el-table-column
prop=
"操作"
label=
"操作"
width=
"100px"
align=
"center"
>
<
template
slot-scope=
"props"
>
<
template
slot-scope=
"props"
>
<el-button
size=
"small"
type=
"primary"
@
click.prevent=
"prePicEdit(props.row.id, props.row.picUrl, props.row.type)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click.prevent=
"prePicEdit(props.row.id, props.row.pic
Name, props.row.pic
Url, props.row.type)"
>
编辑
</el-button>
<el-dialog
title=
"编辑图片信息"
:visible.sync=
"editPicVisible"
>
<el-dialog
title=
"编辑图片信息"
:visible.sync=
"editPicVisible"
>
<el-form
:model=
"form"
class=
"custom-form"
>
<el-form
:model=
"form"
class=
"custom-form"
>
<el-form-item
align=
"center"
class=
"form-item"
>
<el-form-item
align=
"center"
class=
"form-item"
>
<img
:src=
"form.picUrl"
alt=
"图片"
height=
"100px"
style=
"cursor: pointer"
/>
<img
:src=
"form.picUrl"
alt=
"图片"
height=
"100px"
style=
"cursor: pointer"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
""
class=
"form-item"
align=
"middle"
>
<el-form-item
label=
""
class=
"form-item"
align=
"middle"
>
<el-select
v-model=
"form.type"
placeholder=
"请选择"
>
<el-select
v-model=
"form.type"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item
.value"
:label=
"item.label"
:value=
"item.value
"
></el-option>
<el-option
v-for=
"item in options"
:key=
"item
"
:label=
"item"
:value=
"item
"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-input
clearable
v-model=
"form.picName"
placeholder=
"请输入图片名称"
></el-input>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"editPicVisible = false"
>
取 消
</el-button>
<el-button
@
click=
"editPicVisible = false"
>
取 消
</el-button>
...
@@ -83,15 +110,19 @@ export default {
...
@@ -83,15 +110,19 @@ export default {
name
:
'
MyPic
'
,
name
:
'
MyPic
'
,
data
()
{
data
()
{
return
{
return
{
fileUrl
:
'
http://localhost:80/picInfo/upload
'
,
form
:
{
form
:
{
picName
:
''
,
picUrl
:
''
,
picUrl
:
''
,
type
:
0
,
type
:
''
,
},
},
formInline
:
{
formInline
:
{
picType
:
0
,
type
:
''
,
picName
:
''
,
},
},
//待上传的图片
//待上传的图片
fileList
:
[],
fileList
:
[],
multipleSelection
:
[],
// 用户列表数据
// 用户列表数据
picList
:
[],
picList
:
[],
loading
:
false
,
loading
:
false
,
...
@@ -99,54 +130,43 @@ export default {
...
@@ -99,54 +130,43 @@ export default {
currentPage
:
1
,
currentPage
:
1
,
pageSize
:
6
,
pageSize
:
6
,
total
:
0
,
total
:
0
,
formLabelWidth
:
'
120px
'
,
imageDialogVisible
:
false
,
imageDialogVisible
:
false
,
batchUpdatePicVisible
:
false
,
addPicVisible
:
false
,
addPicVisible
:
false
,
editPicVisible
:
false
,
editPicVisible
:
false
,
enlargedImageUrl
:
''
,
enlargedImageUrl
:
''
,
currentRowId
:
null
,
currentRowId
:
null
,
imageIndex
:
0
,
// 当前展示的图片索引
imageIndex
:
0
,
// 当前展示的图片索引
options
:
[
options
:
[
'
全部
'
,
'
宝宝
'
,
'
学习
'
,
'
风景
'
,
'
美女
'
,
'
猫咪
'
,
'
素材
'
,
'
动漫
'
,
'
其他
'
],
{
}
value
:
0
,
label
:
'
宝宝
'
,
},
{
value
:
1
,
label
:
'
学习
'
,
},
{
value
:
2
,
label
:
'
风景
'
,
},
{
value
:
3
,
label
:
'
美女
'
,
},
{
value
:
4
,
label
:
'
猫咪
'
,
},
},
{
watch
:
{
value
:
5
,
formInline
:
{
label
:
'
素材
'
,
handler
(
newVal
,
oldVal
)
{
this
.
currentPage
=
1
localStorage
.
setItem
(
'
picPage
'
,
this
.
currentPage
)
this
.
queryPic
()
},
},
{
deep
:
true
,
value
:
6
,
label
:
'
动漫
'
,
},
},
{
// 监听currentPage的变化,将新值保存到localStorage中
value
:
99
,
currentPage
(
newPage
)
{
label
:
'
其他
'
,
localStorage
.
setItem
(
'
picPage
'
,
newPage
.
toString
())
},
},
],
picType
:
0
,
}
},
},
created
()
{
created
()
{
// 调用请求数据的方法
// 调用请求数据的方法
this
.
queryPic
()
this
.
queryPic
()
},
},
methods
:
{
methods
:
{
prepareBatchUpdatePic
()
{
this
.
form
.
type
=
''
this
.
batchUpdatePicVisible
=
true
},
getUploadAction
()
{
return
this
.
fileUrl
+
'
?type=
'
+
this
.
formInline
.
type
},
async
submitUpload
()
{
async
submitUpload
()
{
this
.
$refs
.
upload
.
submit
()
this
.
$refs
.
upload
.
submit
()
this
.
addPicVisible
=
false
this
.
addPicVisible
=
false
...
@@ -160,8 +180,9 @@ export default {
...
@@ -160,8 +180,9 @@ export default {
prepareAddPic
()
{
prepareAddPic
()
{
this
.
addPicVisible
=
true
this
.
addPicVisible
=
true
},
},
prePicEdit
(
id
,
picUrl
,
type
)
{
prePicEdit
(
id
,
pic
Name
,
pic
Url
,
type
)
{
this
.
currentRowId
=
id
this
.
currentRowId
=
id
this
.
form
.
picName
=
picName
this
.
form
.
picUrl
=
picUrl
this
.
form
.
picUrl
=
picUrl
this
.
form
.
type
=
type
this
.
form
.
type
=
type
this
.
editPicVisible
=
true
this
.
editPicVisible
=
true
...
@@ -199,7 +220,7 @@ export default {
...
@@ -199,7 +220,7 @@ export default {
},
},
async
queryPic
()
{
async
queryPic
()
{
this
.
loading
=
true
this
.
loading
=
true
const
{
data
:
res
}
=
await
ApiService
.
queryPic
(
this
.
currentPage
,
this
.
pageSize
,
this
.
picTyp
e
)
const
{
data
:
res
}
=
await
ApiService
.
queryPic
(
this
.
currentPage
,
this
.
pageSize
,
this
.
formInlin
e
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
picList
=
res
.
result
.
records
this
.
picList
=
res
.
result
.
records
this
.
total
=
res
.
result
.
total
this
.
total
=
res
.
result
.
total
...
@@ -210,9 +231,10 @@ export default {
...
@@ -210,9 +231,10 @@ export default {
try
{
try
{
this
.
loading
=
true
this
.
loading
=
true
this
.
editPicVisible
=
false
this
.
editPicVisible
=
false
const
{
data
:
res
}
=
await
ApiService
.
editPicConfirm
(
this
.
currentRowId
,
this
.
form
.
type
)
const
{
data
:
res
}
=
await
ApiService
.
editPicConfirm
(
this
.
currentRowId
,
this
.
form
.
type
,
this
.
form
.
picName
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
form
.
type
=
0
this
.
form
.
picName
=
''
this
.
form
.
type
=
''
this
.
form
.
picUrl
=
null
this
.
form
.
picUrl
=
null
this
.
currentRowId
=
null
this
.
currentRowId
=
null
this
.
queryPic
()
this
.
queryPic
()
...
@@ -227,6 +249,26 @@ export default {
...
@@ -227,6 +249,26 @@ export default {
}
}
},
},
async
batchUpdatePic
()
{
this
.
loading
=
true
this
.
batchUpdatePicVisible
=
false
if
(
this
.
multipleSelection
&&
this
.
multipleSelection
.
length
===
0
)
{
this
.
loading
=
false
this
.
errorMsg
(
'
请选择需要处理项
'
)
}
else
{
let
ids
=
this
.
multipleSelection
.
map
((
item
)
=>
item
.
id
)
const
{
data
:
res
}
=
await
ApiService
.
batchUpdatePic
(
ids
,
this
.
form
.
type
)
if
(
res
.
code
===
200
)
{
this
.
multipleSelection
=
[]
this
.
form
.
type
=
''
this
.
queryPic
()
}
else
{
console
.
error
(
'
Received non-200 status code
'
,
res
)
}
}
this
.
loading
=
false
},
handleCurrentChange
(
currentPage
)
{
handleCurrentChange
(
currentPage
)
{
this
.
currentPage
=
currentPage
this
.
currentPage
=
currentPage
this
.
queryPic
()
this
.
queryPic
()
...
@@ -235,6 +277,16 @@ export default {
...
@@ -235,6 +277,16 @@ export default {
this
.
pageSize
=
currentSize
this
.
pageSize
=
currentSize
this
.
queryPic
()
this
.
queryPic
()
},
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
},
errorMsg
(
msg
)
{
this
.
$message
({
showClose
:
true
,
message
:
msg
,
type
:
'
error
'
,
})
},
},
},
}
}
</
script
>
</
script
>
...
...
src/components/menus/MyTripletDayInfo.vue
浏览文件 @
c222f0bb
...
@@ -32,13 +32,11 @@
...
@@ -32,13 +32,11 @@
{{
props
.
row
.
tripletDate
|
dateDayFormat
}}
{{
props
.
row
.
tripletDate
|
dateDayFormat
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
sortable
prop=
"likeNum"
label=
"点赞数量"
show-overflow-tooltip
>
<el-table-column
align=
"center"
sortable
prop=
"likeNum"
label=
"点赞数量"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"isMaxValue(scope.row.likeNum, 'likeNum')"
>
{{
scope
.
row
.
likeNum
}}
</el-tag>
<el-tag
:type=
"isMaxValue(scope.row.likeNum, 'likeNum')"
>
{{
scope
.
row
.
likeNum
}}
</el-tag>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
sortable
prop=
"collectNum"
label=
"收藏数量"
show-overflow-tooltip
>
<el-table-column
align=
"center"
sortable
prop=
"collectNum"
label=
"收藏数量"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"isMaxValue(scope.row.collectNum, 'collectNum')"
>
{{
scope
.
row
.
collectNum
}}
</el-tag>
<el-tag
:type=
"isMaxValue(scope.row.collectNum, 'collectNum')"
>
{{
scope
.
row
.
collectNum
}}
</el-tag>
...
@@ -79,7 +77,6 @@
...
@@ -79,7 +77,6 @@
</template>
</template>
<
script
>
<
script
>
import
axios
from
'
axios
'
import
ApiService
from
'
../../api/ApiService
'
import
ApiService
from
'
../../api/ApiService
'
export
default
{
export
default
{
name
:
'
MyTripletDayInfo
'
,
name
:
'
MyTripletDayInfo
'
,
...
@@ -126,6 +123,8 @@ export default {
...
@@ -126,6 +123,8 @@ export default {
endDate
:
null
,
endDate
:
null
,
weekInfo
:
null
,
weekInfo
:
null
,
},
},
form
:
{
},
tripletDayInfoList
:
[],
tripletDayInfoList
:
[],
weekInfo
:
[
'
星期一
'
,
'
星期二
'
,
'
星期三
'
,
'
星期四
'
,
'
星期五
'
,
'
星期六
'
,
'
星期日
'
],
weekInfo
:
[
'
星期一
'
,
'
星期二
'
,
'
星期三
'
,
'
星期四
'
,
'
星期五
'
,
'
星期六
'
,
'
星期日
'
],
likeStatus
:
[
likeStatus
:
[
...
@@ -174,7 +173,7 @@ export default {
...
@@ -174,7 +173,7 @@ export default {
{
type
:
2
,
name
:
'
评论已满
'
},
{
type
:
2
,
name
:
'
评论已满
'
},
{
type
:
3
,
name
:
'
禁言
'
},
{
type
:
3
,
name
:
'
禁言
'
},
{
type
:
4
,
name
:
'
评论太快
'
},
{
type
:
4
,
name
:
'
评论太快
'
},
{
type
:
5
,
name
:
'
评论已
经到了
40条
'
},
{
type
:
5
,
name
:
'
评论已
到
40条
'
},
{
type
:
8
,
name
:
'
其他错误
'
},
{
type
:
8
,
name
:
'
其他错误
'
},
{
type
:
9
,
name
:
'
评论成功
'
},
{
type
:
9
,
name
:
'
评论成功
'
},
],
],
...
@@ -249,7 +248,6 @@ export default {
...
@@ -249,7 +248,6 @@ export default {
res
.
result
.
from
.
content
.
forEach
((
item
)
=>
{
res
.
result
.
from
.
content
.
forEach
((
item
)
=>
{
item
.
commentStatusName
=
commentStatusMap
[
item
.
commentStatus
]
item
.
commentStatusName
=
commentStatusMap
[
item
.
commentStatus
]
})
})
this
.
tripletDayInfoList
=
res
.
result
.
from
.
content
this
.
tripletDayInfoList
=
res
.
result
.
from
.
content
}
}
this
.
loading
=
false
this
.
loading
=
false
...
@@ -271,7 +269,7 @@ export default {
...
@@ -271,7 +269,7 @@ export default {
return
'
info
'
return
'
info
'
}
else
if
(
statusName
==
'
已经点过赞
'
||
statusName
==
'
已经收藏过
'
||
statusName
==
'
已经评论过
'
)
{
}
else
if
(
statusName
==
'
已经点过赞
'
||
statusName
==
'
已经收藏过
'
||
statusName
==
'
已经评论过
'
)
{
return
'
success
'
return
'
success
'
}
else
if
(
statusName
==
'
文章状态不能点赞
'
||
statusName
==
'
收藏已满
'
||
statusName
==
'
收藏夹不存在
'
||
statusName
==
'
评论已满
'
||
statusName
==
'
禁言
'
||
statusName
==
'
评论已
经到了
40条
'
)
{
}
else
if
(
statusName
==
'
文章状态不能点赞
'
||
statusName
==
'
收藏已满
'
||
statusName
==
'
收藏夹不存在
'
||
statusName
==
'
评论已满
'
||
statusName
==
'
禁言
'
||
statusName
==
'
评论已
到
40条
'
)
{
return
'
danger
'
return
'
danger
'
}
else
if
(
statusName
==
'
点赞成功
'
||
statusName
==
'
收藏成功
'
||
statusName
==
'
评论成功
'
)
{
}
else
if
(
statusName
==
'
点赞成功
'
||
statusName
==
'
收藏成功
'
||
statusName
==
'
评论成功
'
)
{
return
'
success
'
return
'
success
'
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录