🚩后羿 - TenSunS Release v1.0.0

pull/79/head
starsliao 2023-07-31 02:27:44 +08:00
parent 8357abac91
commit 46f03bf1ae
6 changed files with 42 additions and 165 deletions

View File

@ -18,6 +18,7 @@ parser = reqparse.RequestParser()
parser.add_argument('username',type=str)
parser.add_argument('password',type=str)
parser.add_argument('title',type=str)
parser.add_argument('height',type=str)
parser.add_argument('ldap',type=str)
parser.add_argument('file',type=FileStorage, location="files", help="File is wrong.")
@ -25,6 +26,9 @@ class Logo(Resource):
@token_auth.auth.login_required
def post(self, logo_opt):
if logo_opt == 'nologo':
height = parser.parse_args().get("height")
height = '450' if height == "" else height
consul_kv.put_kv('ConsulManager/img/logoheight',height)
consul_kv.put_kv('ConsulManager/img/biglogo','R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7')
consul_kv.put_kv('ConsulManager/img/isbig',True)
return {"code": 20000, "data": "设置成功!"}
@ -75,7 +79,11 @@ class Logo(Resource):
consul_kv_path = 'ConsulManager/img/smallogo'
b64logo = consul_kv.get_value(consul_kv_path)
if b64logo:
return {"code": 20000, "isbig": isbig, "data": 'data:image/png;base64,' + b64logo}
if b64logo == 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7':
logoheight = consul_kv.get_value('ConsulManager/img/logoheight')
return {"code": 20000, "isbig": isbig, "data": 'data:image/png;base64,' + b64logo, "logoheight": logoheight}
else:
return {"code": 20000, "isbig": isbig, "data": 'data:image/png;base64,' + b64logo}
else:
return {"code": 20000, "isbig": isbig, "data": 'default'}
elif logo_opt == 'title':

View File

@ -7,10 +7,11 @@ export function logo() {
})
}
export function postnologo() {
export function postnologo(height) {
return request({
url: '/api/login/nologo',
method: 'post'
method: 'post',
data: { height }
})
}

View File

@ -19,7 +19,7 @@
<p><el-button type="primary" size="mini" icon="el-icon-star-off" circle />支持阿里/华为/腾讯云采集ECS外网IP功能</p>
<p><el-button type="success" size="mini" icon="el-icon-star-off" circle />支持华为云ECS采集到期日指标</p>
<p><el-button type="warning" size="mini" icon="el-icon-star-off" circle />优化云ECS资源推送到JumpServer3.x资产管理</p>
<p><el-button type="info" size="mini" icon="el-icon-star-off" circle />优化自建资源/站点监控查询分页</p>
<p><el-button type="info" size="mini" icon="el-icon-star-off" circle />优化自建资源/站点监控查询分页</p>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="2023/07/26" placement="top">

View File

@ -68,19 +68,39 @@
<br><el-button type="primary" @click="setresmall">LOGO</el-button>
</div></el-col>
</el-row><br>
<el-divider><i class="el-icon-s-promotion" /></el-divider>
<el-divider><i class="el-icon-s-promotion" />展示名称</el-divider>
<el-form :inline="true" :model="formtitle" class="demo-form-inline">
&nbsp;&nbsp;<el-form-item label="登录页名称">
<el-input v-model="formtitle.title" placeholder="请输入" />
</el-form-item>
<el-form-item>
<span slot="label">
<span class="span-box">
&nbsp;&nbsp;<span>登录页名称</span>
<el-tooltip style="diaplay:inline" effect="dark" content="登录页面展示的名称,仅在LOGO风格的时候会展示名称。" placement="top">
<i class="el-icon-info" />
</el-tooltip>
</span>
</span>
<el-input v-model="formtitle.title" placeholder="默认显示:TenSunS" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="setitle"></el-button>
</el-form-item>
<el-form-item>
&nbsp;&nbsp;&nbsp;&nbsp;<el-button type="info" icon="el-icon-refresh-left" @click="setretitle"></el-button>
</el-form-item>
<el-divider><i class="el-icon-s-promotion" />壁纸模式</el-divider>
<el-form-item>
&nbsp;&nbsp;&nbsp;&nbsp;<el-button type="warning" icon="el-icon-magic-stick" @click="setnologo"></el-button>
<span slot="label">
<span class="span-box">
&nbsp;&nbsp;<span>登录框位置</span>
<el-tooltip style="diaplay:inline" effect="dark" content="登录框位置仅壁纸模式可用默认位置的值是450增大该值登录框位置下移。" placement="top">
<i class="el-icon-info" />
</el-tooltip>
</span>
</span>
<el-input v-model="formtitle.height" placeholder="壁纸模式默认位置值:450" />
</el-form-item>
<el-form-item>
<el-button type="warning" icon="el-icon-magic-stick" @click="setnologo"></el-button>
</el-form-item>
</el-form>
@ -97,7 +117,7 @@ export default {
imageUrl1: '',
imageUrl2: '',
imageUrl3: '',
formtitle: { title: '' }
formtitle: { title: '', height: '' }
}
},
methods: {
@ -123,7 +143,7 @@ export default {
},
setnologo() {
postnologo().then(response => {
postnologo(this.formtitle.height).then(response => {
this.$message.success(response.data)
})
},

View File

@ -1,152 +0,0 @@
<template>
<div>
<el-upload
class="avatar-uploader"
action="/api/login/bgimg"
:headers="myHeaders"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" />
</el-upload>
<el-upload
class="avatar-uploader"
action="/api/login/biglogo"
:headers="myHeaders"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" />
</el-upload>
<el-upload
class="avatar-uploader"
action="/api/login/smallogo"
:headers="myHeaders"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" />
</el-upload>
<el-form :inline="true" :model="formtitle" class="demo-form-inline">
<el-form-item label="登录页名称">
<el-input v-model="formtitle.title" placeholder="请输入" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="setitle"></el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="setretitle"></el-button>
</el-form-item>
<br>
<el-form-item>
<el-button type="primary" @click="setnologo"></el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="setrebig"></el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="setresmall">Logo</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="setrebgimg"></el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { postitle, postnologo, rebig, resmall, rebgimg, retitle } from '@/api/login'
export default {
data() {
return {
myHeaders: { Authorization: this.$store.getters.token },
imageUrl: '',
formtitle: { title: '' }
}
},
methods: {
setrebig() {
rebig().then(response => {
this.$message.success(response.data)
})
},
setresmall() {
resmall().then(response => {
this.$message.success(response.data)
})
},
setrebgimg() {
rebgimg().then(response => {
this.$message.success(response.data)
})
},
setretitle() {
retitle().then(response => {
this.$message.success(response.data)
})
},
setnologo() {
postnologo().then(response => {
this.$message.success(response.data)
})
},
setitle() {
postitle(this.formtitle.title).then(response => {
this.$message.success(response.data)
})
},
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw)
this.$message.success('LOGO设置成功!')
},
beforeAvatarUpload(file) {
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'
const isLt2M = file.size / 1024 < 512
if (!isJPG) {
this.$message.error('上传LOGO图片只能是 JPG/PNG 格式!')
}
if (!isLt2M) {
this.$message.error('上传LOGO图片大小不能超过 512KB!')
}
return isJPG && isLt2M
}
}
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>

View File

@ -95,7 +95,7 @@ export default {
loginbgimg: '',
logintitle: 'T e n S u n S',
isbig: true,
height: 330,
height: '330',
redirect: undefined
}
},
@ -125,7 +125,7 @@ export default {
}
} else {
if (response.data === 'data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7') {
this.height = 450
this.height = response.logoheight
}
this.loginlogo = response.data
this.isbig = response.isbig