mirror of https://github.com/halo-dev/halo-admin
parent
be2d518c22
commit
7a0334a469
@ -0,0 +1,39 @@
|
||||
import service from '@/utils/service'
|
||||
|
||||
const baseUrl = '/api/admin/static_page'
|
||||
|
||||
const staticPageApi = {}
|
||||
|
||||
staticPageApi.list = () => {
|
||||
return service({
|
||||
url: baseUrl,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
staticPageApi.generate = () => {
|
||||
return service({
|
||||
url: `${baseUrl}/generate`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
staticPageApi.deploy = () => {
|
||||
return service({
|
||||
url: `${baseUrl}/deploy`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
staticPageApi.deployType = {
|
||||
GIT: {
|
||||
type: 'GIT',
|
||||
text: 'Git'
|
||||
},
|
||||
NETLIFY: {
|
||||
type: 'NETLIFY',
|
||||
text: 'Netlify'
|
||||
}
|
||||
}
|
||||
|
||||
export default staticPageApi
|
@ -0,0 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
SettingsForm
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'SettingsForm'
|
||||
}
|
||||
</script>
|
@ -0,0 +1,105 @@
|
||||
<template>
|
||||
<div class="option-tab-wrapper">
|
||||
<a-card
|
||||
:bordered="false"
|
||||
:bodyStyle="{ padding: 0 }"
|
||||
>
|
||||
<div class="table-operator">
|
||||
<a-button
|
||||
type="primary"
|
||||
icon="reload"
|
||||
@click="handleGenerate"
|
||||
>生成</a-button>
|
||||
<a-button
|
||||
icon="cloud-upload"
|
||||
@click="handleDeploy"
|
||||
:loading="deployLoading"
|
||||
:disabled="deployLoading"
|
||||
>
|
||||
部署
|
||||
</a-button>
|
||||
<a-button
|
||||
icon="sync"
|
||||
@click="loadStaticPageList"
|
||||
:loading="loading"
|
||||
:disabled="loading"
|
||||
>
|
||||
刷新
|
||||
</a-button>
|
||||
</div>
|
||||
<div style="margin-top:15px">
|
||||
<a-table
|
||||
:rowKey="record => record.name"
|
||||
:columns="columns"
|
||||
:dataSource="staticPages"
|
||||
:pagination="false"
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
>
|
||||
<span
|
||||
slot="name"
|
||||
slot-scope="name"
|
||||
>
|
||||
<ellipsis
|
||||
:length="64"
|
||||
tooltip
|
||||
>
|
||||
{{ name }}
|
||||
</ellipsis>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import staticPageApi from '@/api/staticPage'
|
||||
const columns = [
|
||||
{
|
||||
title: '文件名',
|
||||
dataIndex: 'name',
|
||||
scopedSlots: { customRender: 'name' }
|
||||
}
|
||||
]
|
||||
export default {
|
||||
name: 'StaticPagesList',
|
||||
data() {
|
||||
return {
|
||||
columns: columns,
|
||||
staticPages: [],
|
||||
loading: false,
|
||||
deployLoading: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.loadStaticPageList()
|
||||
},
|
||||
methods: {
|
||||
loadStaticPageList() {
|
||||
this.loading = true
|
||||
staticPageApi.list().then(response => {
|
||||
this.staticPages = response.data.data
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
handleGenerate() {
|
||||
this.loading = true
|
||||
const hide = this.$message.loading('生成中...', 0)
|
||||
staticPageApi.generate().then(response => {
|
||||
hide()
|
||||
this.$message.success('生成成功!')
|
||||
this.loadStaticPageList()
|
||||
})
|
||||
},
|
||||
handleDeploy() {
|
||||
this.deployLoading = true
|
||||
const hide = this.$message.loading('部署中...', 0)
|
||||
staticPageApi.deploy().then(response => {
|
||||
hide()
|
||||
this.deployLoading = false
|
||||
this.$message.success('部署成功!')
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
Loading…
Reference in new issue