Compare commits

..

No commits in common. "c144830fd76ba06d6b9906cb47ac77e9a22f3832" and "11f52789eb8ba51923f0b574f3ad48f688221b84" have entirely different histories.

11 changed files with 73 additions and 70 deletions

3
components.d.ts vendored
View File

@ -7,6 +7,7 @@ export {}
declare module '@vue/runtime-core' { declare module '@vue/runtime-core' {
export interface GlobalComponents { export interface GlobalComponents {
ElAlert: typeof import('element-plus/es')['ElAlert']
ElAside: typeof import('element-plus/es')['ElAside'] ElAside: typeof import('element-plus/es')['ElAside']
ElButton: typeof import('element-plus/es')['ElButton'] ElButton: typeof import('element-plus/es')['ElButton']
ElCol: typeof import('element-plus/es')['ElCol'] ElCol: typeof import('element-plus/es')['ElCol']
@ -24,7 +25,6 @@ declare module '@vue/runtime-core' {
ElIcon: typeof import('element-plus/es')['ElIcon'] ElIcon: typeof import('element-plus/es')['ElIcon']
ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
ElInput: typeof import('element-plus/es')['ElInput'] ElInput: typeof import('element-plus/es')['ElInput']
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
ElMain: typeof import('element-plus/es')['ElMain'] ElMain: typeof import('element-plus/es')['ElMain']
ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
@ -39,7 +39,6 @@ declare module '@vue/runtime-core' {
ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabPane: typeof import('element-plus/es')['ElTabPane']
ElTabs: typeof import('element-plus/es')['ElTabs'] ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag'] ElTag: typeof import('element-plus/es')['ElTag']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
ElTransfer: typeof import('element-plus/es')['ElTransfer'] ElTransfer: typeof import('element-plus/es')['ElTransfer']
ElTree: typeof import('element-plus/es')['ElTree'] ElTree: typeof import('element-plus/es')['ElTree']
ElUpload: typeof import('element-plus/es')['ElUpload'] ElUpload: typeof import('element-plus/es')['ElUpload']

View File

@ -3,12 +3,12 @@
<el-header class="layout-header"> <el-header class="layout-header">
<div class="main-title">博客管理后台</div> <div class="main-title">博客管理后台</div>
<div class="nav-btns-right"> <div class="nav-btns-right">
<el-button link @click="toggleDarkMode" style="color: #fff; font-size: 18px; margin-right: 12px;" plain> <el-button link @click="toggleDarkMode" style="color: #fff; font-size: 18px; margin-right: 12px;">
<Moon v-if="!isDark" style="width: 18px" /> <Moon v-if="!isDark" style="width: 18px" />
<Sunny v-else style="width: 18px" /> <Sunny v-else style="width: 18px" />
</el-button> </el-button>
<el-dropdown @command="dropdownMenuCommand"> <el-dropdown @command="dropdownMenuCommand">
<el-button link type="primary" plain> <el-button link type="primary">
<UserFilled style="width: 18px" /> <UserFilled style="width: 18px" />
{{ realname }} {{ realname }}
<ArrowDown style="width: 18px"/> <ArrowDown style="width: 18px"/>
@ -70,8 +70,8 @@
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="changePwdModal = false" plain>取消</el-button> <el-button @click="changePwdModal = false">取消</el-button>
<el-button type="primary" @click="submitChangePassword" :loading="changePwdLoading" plain>确定</el-button> <el-button type="primary" @click="submitChangePassword" :loading="changePwdLoading">确定</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>

View File

@ -32,7 +32,7 @@
@keyup.enter="login" @keyup.enter="login"
/> />
</el-form-item> </el-form-item>
<el-button class="login-btn" type="primary" size="large" :loading="loading" @click="login" plain> <el-button class="login-btn" type="primary" size="large" :loading="loading" @click="login">
</el-button> </el-button>
</el-form> </el-form>

View File

@ -19,11 +19,11 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn-container"> <div class="btn-container">
<el-button type="primary" @click="addModal = true" v-permission="'hitokoto:save'" plain>添加</el-button> <el-button type="primary" @click="addModal = true" v-permission="'hitokoto:save'">添加</el-button>
<el-button type="danger" @click="deleteAll" v-permission="'hitokoto:delete'" plain>删除</el-button> <el-button type="danger" @click="deleteAll" v-permission="'hitokoto:delete'">删除</el-button>
<div class="search-btn"> <div class="search-btn">
<el-button type="primary" @click="loadDataBase(true)" icon="Search" plain>搜索</el-button> <el-button type="primary" @click="loadDataBase(true)" icon="Search">搜索</el-button>
<el-button @click="reset" icon="RefreshLeft" plain>重置</el-button> <el-button @click="reset" icon="RefreshLeft">重置</el-button>
</div> </div>
</div> </div>
<el-table class="table-container" :data="hitokotoData" v-loading="loading" stripe @selection-change="dataSelect"> <el-table class="table-container" :data="hitokotoData" v-loading="loading" stripe @selection-change="dataSelect">
@ -57,8 +57,8 @@
<hitokoto-add ref="addForm" :typeList="typeList" :formData="formData" /> <hitokoto-add ref="addForm" :typeList="typeList" :formData="formData" />
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="addModal = false" plain>取消</el-button> <el-button @click="addModal = false">取消</el-button>
<el-button type="primary" @click="save" :loading="modalLoading" plain>确定</el-button> <el-button type="primary" @click="save" :loading="modalLoading">确定</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>

View File

@ -23,11 +23,11 @@
</el-form> </el-form>
<div class="btn-container"> <div class="btn-container">
<el-button type="success" plain icon="VideoPlay" @click="playMusic">播放</el-button> <el-button type="success" plain icon="VideoPlay" @click="playMusic">播放</el-button>
<el-button type="primary" icon="Upload" @click="openUploadModal" v-permission="'music:save'" plain>上传音乐</el-button> <el-button type="primary" icon="Upload" @click="openUploadModal" v-permission="'music:save'">上传音乐</el-button>
<el-button type="warning" plain icon="Notebook" @click="libDrawerVisible = true" v-permission="'music:save'">歌单管理</el-button> <el-button type="warning" plain icon="Notebook" @click="libDrawerVisible = true" v-permission="'music:save'">歌单管理</el-button>
<div class="search-btn"> <div class="search-btn">
<el-button type="primary" @click="loadDataBase(true)" icon="Search" plain>搜索</el-button> <el-button type="primary" @click="loadDataBase(true)" icon="Search">搜索</el-button>
<el-button @click="reset" icon="RefreshLeft" plain>重置</el-button> <el-button @click="reset" icon="RefreshLeft">重置</el-button>
</div> </div>
</div> </div>
<el-table class="table-container" :data="musicData" v-loading="loading" stripe @selection-change="dataSelect"> <el-table class="table-container" :data="musicData" v-loading="loading" stripe @selection-change="dataSelect">
@ -102,8 +102,8 @@
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="modifyLyricModal = false" plain>取消</el-button> <el-button @click="modifyLyricModal = false">取消</el-button>
<el-button type="primary" @click="saveLyric" :loading="modalLoading" plain>确定</el-button> <el-button type="primary" @click="saveLyric" :loading="modalLoading">确定</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
@ -138,13 +138,13 @@
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="uploadModal = false" plain>取消</el-button> <el-button @click="uploadModal = false">取消</el-button>
<el-button type="primary" @click="uploadMusic" plain>开始上传</el-button> <el-button type="primary" @click="uploadMusic" >开始上传</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
<el-drawer v-model="libDrawerVisible" title="歌单管理" size="900px"> <el-drawer v-model="libDrawerVisible" title="歌单管理" size="900px">
<el-button type="primary" icon="Plus" @click="addLibRow" style="margin-bottom: 12px" plain>添加歌单</el-button> <el-button type="primary" icon="Plus" @click="addLibRow" style="margin-bottom: 12px">添加歌单</el-button>
<el-table :data="libTableData" stripe> <el-table :data="libTableData" stripe>
<el-table-column prop="name" label="名称"> <el-table-column prop="name" label="名称">
<template #default="scope"> <template #default="scope">

View File

@ -1,28 +1,32 @@
<template> <template>
<div class="page-wrapper"> <div class="page-wrapper">
<el-alert type="info" show-icon :closable="false" style="margin-bottom: 10px" >
<template #title>上传要求</template>
图片格式为{{allowUploadExt.join('、')}}文件大小不超过10MB
</el-alert>
<el-form inline :model="search"> <el-form inline :model="search">
<el-form-item label="文件名"> <el-form-item label="文件名">
<el-input v-model="search.name" /> <el-input v-model="search.name" />
</el-form-item> </el-form-item>
<el-form-item label="宽度" > <el-form-item label="宽度" >
<el-input-number v-model="search.widthMin" :min="0" controls-position="right" step-strictly> <el-input v-model="search.widthMin" type="number" :min="0" >
<template #prefix></template> <template #prepend></template>
<template #suffix>px</template> </el-input>
</el-input-number> </el-form-item>
<el-input-number v-model="search.widthMax" :min="0" controls-position="right" step-strictly> <el-form-item>
<template #prefix></template> <el-input v-model="search.widthMax" type="number" :min="0" >
<template #suffix>px</template> <template #prepend></template>
</el-input-number> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="高度" > <el-form-item label="高度" >
<el-input-number v-model="search.heightMin" :min="0" controls-position="right" step-strictly> <el-input v-model="search.heightMin" type="number" :min="0" >
<template #prefix></template> <template #prepend></template>
<template #suffix>px</template> </el-input>
</el-input-number> </el-form-item>
<el-input-number v-model="search.heightMax" :min="0" controls-position="right" step-strictly> <el-form-item>
<template #prefix></template> <el-input v-model="search.heightMax" type="number" :min="0" >
<template #suffix>px</template> <template #prepend></template>
</el-input-number> </el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn-container"> <div class="btn-container">
@ -37,14 +41,12 @@
auto-upload auto-upload
:show-file-list="false" :show-file-list="false"
style="display: inline-block;margin-right: 10px;"> style="display: inline-block;margin-right: 10px;">
<el-tooltip :content="`图片格式为${allowUploadExt.join('、')}文件大小不超过10MB。`"> <el-button type="primary" icon="Upload" :loading="isUploading" v-permission="'photoWall:save'">上传图片</el-button>
<el-button type="primary" icon="Upload" :loading="isUploading" v-permission="'photoWall:save'" plain>上传图片</el-button>
</el-tooltip>
</el-upload> </el-upload>
<el-button type="danger" @click="deleteAll" style="vertical-align: bottom" v-permission="'photoWall:delete'" plain>批量删除</el-button> <el-button type="danger" @click="deleteAll" style="vertical-align: bottom" v-permission="'photoWall:delete'">批量删除</el-button>
<div class="search-btn"> <div class="search-btn">
<el-button type="primary" @click="loadDataBase(true)" icon="Search" plain>搜索</el-button> <el-button type="primary" @click="loadDataBase(true)" icon="Search">搜索</el-button>
<el-button @click="reset" icon="RefreshLeft" plain>重置</el-button> <el-button @click="reset" icon="RefreshLeft">重置</el-button>
</div> </div>
</div> </div>
@ -57,7 +59,7 @@
<el-table-column prop="height" label="高度" width="70" /> <el-table-column prop="height" label="高度" width="70" />
<el-table-column label="操作" width="100" > <el-table-column label="操作" width="100" >
<template #default="scope"> <template #default="scope">
<el-button link icon="View" @click="preview(scope.row)" title="预览"></el-button> <el-button link icon="View" plain @click="preview(scope.row)" title="预览"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

View File

@ -1,6 +1,10 @@
<template> <template>
<div class="page-wrapper"> <div class="page-wrapper">
<div class="btn-container"> <el-alert type="info" show-icon :closable="false" >
<template #title>上传要求</template>
图片格式为{{allowUploadExt.join('、')}}文件大小不超过10MB
</el-alert>
<div class="btn-container" style="margin-top:10px;">
<el-upload <el-upload
:action="`${apiBase}/source-image/upload`" :action="`${apiBase}/source-image/upload`"
accept="image/jpeg,image/png,image/svg+xml,image/x-icon" accept="image/jpeg,image/png,image/svg+xml,image/x-icon"
@ -12,11 +16,9 @@
auto-upload auto-upload
:show-file-list="false" :show-file-list="false"
style="display: inline-block;margin-right: 10px;"> style="display: inline-block;margin-right: 10px;">
<el-tooltip :content="`图片格式为${allowUploadExt.join('、')}文件大小不超过10MB。`"> <el-button type="primary" icon="Upload" :loading="isUploading" v-permission="'sourceImage:save'">上传图片</el-button>
<el-button type="primary" icon="Upload" :loading="isUploading" v-permission="'sourceImage:save'" plain>上传图片</el-button>
</el-tooltip>
</el-upload> </el-upload>
<el-button type="danger" @click="deleteAll" style="vertical-align: bottom" v-permission="'sourceImage:delete'" plain>批量删除</el-button> <el-button type="danger" @click="deleteAll" style="vertical-align: bottom" v-permission="'sourceImage:delete'">批量删除</el-button>
</div> </div>
<el-table class="table-container" :data="sourceImageData" v-loading="loading" stripe @selection-change="dataSelect"> <el-table class="table-container" :data="sourceImageData" v-loading="loading" stripe @selection-change="dataSelect">
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
@ -39,8 +41,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" > <el-table-column label="操作" >
<template #default="scope"> <template #default="scope">
<el-button link icon="EditPen" type="primary" @click="modifyTags(scope.row)" title="修改标签" v-permission="'sourceImage:save'"></el-button> <el-button link icon="EditPen" type="primary" plain @click="modifyTags(scope.row)" title="修改标签" v-permission="'sourceImage:save'"></el-button>
<el-button link icon="View" @click="preview(scope.row)" title="预览"></el-button> <el-button link icon="View" plain @click="preview(scope.row)" title="预览"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

View File

@ -30,11 +30,11 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn-container"> <div class="btn-container">
<el-button type="primary" @click="splitWord" style="vertical-align: bottom" v-permission="'article:edit'" plain>分词处理</el-button> <el-button type="primary" @click="splitWord" style="vertical-align: bottom" v-permission="'article:edit'">分词处理</el-button>
<el-button @click="pullArticles" style="vertical-align: bottom" v-permission="'article:edit'" plain>拉取文章</el-button> <el-button @click="pullArticles" style="vertical-align: bottom" v-permission="'article:edit'">拉取文章</el-button>
<div class="search-btn"> <div class="search-btn">
<el-button type="primary" @click="loadDataBase(true)" icon="Search" plain>搜索</el-button> <el-button type="primary" @click="loadDataBase(true)" icon="Search">搜索</el-button>
<el-button @click="reset" icon="RefreshLeft" plain>重置</el-button> <el-button @click="reset" icon="RefreshLeft">重置</el-button>
</div> </div>
</div> </div>
<el-row style="flex: 1; overflow: hidden;"> <el-row style="flex: 1; overflow: hidden;">

View File

@ -6,10 +6,10 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn-container"> <div class="btn-container">
<el-button type="primary" @click="add" v-permission="'config:save'" plain>添加</el-button> <el-button type="primary" @click="add" v-permission="'config:save'">添加</el-button>
<div class="search-btn"> <div class="search-btn">
<el-button type="primary" @click="loadData" icon="Search" plain>搜索</el-button> <el-button type="primary" @click="loadData" icon="Search">搜索</el-button>
<el-button @click="reset" icon="RefreshLeft" plain>重置</el-button> <el-button @click="reset" icon="RefreshLeft">重置</el-button>
</div> </div>
</div> </div>
<el-table class="table-container" :data="systemConfigData" v-loading="loading" stripe> <el-table class="table-container" :data="systemConfigData" v-loading="loading" stripe>
@ -46,8 +46,8 @@
<system-config-add ref="addForm" :formData="formData" /> <system-config-add ref="addForm" :formData="formData" />
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="addModal = false" plain>取消</el-button> <el-button @click="addModal = false">取消</el-button>
<el-button type="primary" @click="save" :loading="modalLoading" plain>确定</el-button> <el-button type="primary" @click="save" :loading="modalLoading">确定</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>

View File

@ -6,10 +6,10 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn-container"> <div class="btn-container">
<el-button type="primary" @click="add" v-permission="'role:save'" plain>添加</el-button> <el-button type="primary" @click="add" v-permission="'role:save'">添加</el-button>
<div class="search-btn"> <div class="search-btn">
<el-button type="primary" @click="loadDataBase(true)" icon="Search" plain>搜索</el-button> <el-button type="primary" @click="loadDataBase(true)" icon="Search">搜索</el-button>
<el-button @click="reset" icon="RefreshLeft" plain>重置</el-button> <el-button @click="reset" icon="RefreshLeft">重置</el-button>
</div> </div>
</div> </div>
<el-table class="table-container" :data="systemRoleData" v-loading="loading" stripe> <el-table class="table-container" :data="systemRoleData" v-loading="loading" stripe>
@ -65,8 +65,8 @@
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="addModal = false" plain>取消</el-button> <el-button @click="addModal = false">取消</el-button>
<el-button type="primary" @click="save" :loading="modalLoading" plain>确定</el-button> <el-button type="primary" @click="save" :loading="modalLoading">确定</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>

View File

@ -6,10 +6,10 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn-container"> <div class="btn-container">
<el-button type="primary" @click="add" v-permission="'user:save'" plain>添加</el-button> <el-button type="primary" @click="add" v-permission="'user:save'">添加</el-button>
<div class="search-btn"> <div class="search-btn">
<el-button type="primary" @click="loadDataBase(true)" icon="Search" plain>搜索</el-button> <el-button type="primary" @click="loadDataBase(true)" icon="Search">搜索</el-button>
<el-button @click="reset" icon="RefreshLeft" plain>重置</el-button> <el-button @click="reset" icon="RefreshLeft">重置</el-button>
</div> </div>
</div> </div>
<el-table class="table-container" :data="systemUserData" v-loading="loading" stripe> <el-table class="table-container" :data="systemUserData" v-loading="loading" stripe>
@ -61,8 +61,8 @@
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="addModal = false" plain>取消</el-button> <el-button @click="addModal = false">取消</el-button>
<el-button type="primary" @click="save" :loading="modalLoading" plain>确定</el-button> <el-button type="primary" @click="save" :loading="modalLoading">确定</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>