接口对接
This commit is contained in:
parent
3a613b5b23
commit
ccefdde865
|
|
@ -1,7 +1,7 @@
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function apiFileCateAdd(params: any) {
|
export function apiFileCateAdd(params: any) {
|
||||||
return request.post('/file/addCate', params)
|
return request.post('/album/cateAdd', params)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function apiFileCateEdit(params: { id: number; name: string }) {
|
export function apiFileCateEdit(params: { id: number; name: string }) {
|
||||||
|
|
@ -10,32 +10,32 @@ export function apiFileCateEdit(params: { id: number; name: string }) {
|
||||||
|
|
||||||
// 文件分类删除
|
// 文件分类删除
|
||||||
export function apiFileCateDelete(params: { id: number }) {
|
export function apiFileCateDelete(params: { id: number }) {
|
||||||
return request.post('/file/delCate', params)
|
return request.post('/album/albumDel', params)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件分类列表
|
// 文件分类列表
|
||||||
export function apiFileCateLists(params: any) {
|
export function apiFileCateLists(params: any) {
|
||||||
return request.get('/file/listCate', { params })
|
return request.get('/album/cateList', { params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件列表
|
// 文件列表
|
||||||
export function apiFileList(params: any) {
|
export function apiFileList(params: any) {
|
||||||
return request.get('/file/lists', { params })
|
return request.get('/album/albumList', { params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件删除
|
// 文件删除
|
||||||
export function apiFileDelete(params: { ids: any[] }) {
|
export function apiFileDelete(params: { ids: any[] }) {
|
||||||
return request.post('/file/delete', params)
|
return request.post('/album/albumDel', params)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件移动
|
// 文件移动
|
||||||
export function apiFileMove(params: { ids: any[]; cid: number }) {
|
export function apiFileMove(params: { ids: any[]; cid: number }) {
|
||||||
return request.post('/file/move', params)
|
return request.post('/album/albumMove', params)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件重命名
|
// 文件重命名
|
||||||
export function apiFileRename(params: { id: number; name: string }) {
|
export function apiFileRename(params: { id: number; name: string }) {
|
||||||
return request.post('/file/rename', params)
|
return request.post('/album/albumRename', params)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 配置
|
// 配置
|
||||||
|
|
|
||||||
|
|
@ -24,25 +24,26 @@ export function apiAdminDetail(params: any) {
|
||||||
return request.get('/system/admin/detail', { params })
|
return request.get('/system/admin/detail', { params })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 角色 */
|
||||||
// 角色列表
|
// 角色列表
|
||||||
export function apiRoleLists(params: any) {
|
export function apiRoleLists(params: any) {
|
||||||
return request.get('/system/role/lists', { params })
|
return request.get('/system/role/lists', { params })
|
||||||
}
|
}
|
||||||
// 添加角色
|
// 添加角色
|
||||||
export function apiRoleAdd(params: any) {
|
export function apiRoleAdd(params: any) {
|
||||||
return request.post('/auth.role/add', { ...params })
|
return request.post('/system/role/add', { ...params })
|
||||||
}
|
}
|
||||||
// 编辑角色
|
// 编辑角色
|
||||||
export function apiRoleEdit(params: any) {
|
export function apiRoleEdit(params: any) {
|
||||||
return request.post('/auth.role/edit', { ...params })
|
return request.post('/system/role/edit', { ...params })
|
||||||
}
|
}
|
||||||
// 删除角色
|
// 删除角色
|
||||||
export function apiRoleDel(params: any) {
|
export function apiRoleDel(params: any) {
|
||||||
return request.post('/auth.role/delete', { ...params })
|
return request.post('/system/role/del', { ...params })
|
||||||
}
|
}
|
||||||
// 角色详情
|
// 角色详情
|
||||||
export function apiRoleDetail(params: any) {
|
export function apiRoleDetail(params: any) {
|
||||||
return request.get('/auth.role/detail', { params })
|
return request.get('/system/role/detail', { params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 角色权限菜单
|
// 角色权限菜单
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,11 @@ import request from '@/utils/request'
|
||||||
|
|
||||||
// 获取备案信息
|
// 获取备案信息
|
||||||
export function apiGetCopyright() {
|
export function apiGetCopyright() {
|
||||||
return request.get('/setting.web.web_setting/getCopyright')
|
return request.get('/setting/copyright')
|
||||||
}
|
}
|
||||||
// 设置备案信息
|
// 设置备案信息
|
||||||
export function apiSetCopyright(params: any) {
|
export function apiSetCopyright(params: any) {
|
||||||
return request.post('/setting.web.web_setting/setCopyright', { ...params })
|
return request.post('/setting/copyright', { ...params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取网站信息
|
// 获取网站信息
|
||||||
|
|
@ -15,7 +15,7 @@ export function apiGetWebsite() {
|
||||||
}
|
}
|
||||||
// 设置网站信息
|
// 设置网站信息
|
||||||
export function apiSetWebsite(params: any) {
|
export function apiSetWebsite(params: any) {
|
||||||
return request.post('/setting.web.web_setting/setWebsite', { ...params })
|
return request.post('/setting/website', { ...params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取政策协议
|
// 获取政策协议
|
||||||
|
|
@ -29,7 +29,7 @@ export function apiSetProtocol(params: any) {
|
||||||
|
|
||||||
// 获取系统环境
|
// 获取系统环境
|
||||||
export function apiSystemInfo() {
|
export function apiSystemInfo() {
|
||||||
return request.get('/setting.system.system/info')
|
return request.get('/monitor/server')
|
||||||
}
|
}
|
||||||
|
|
||||||
/** S 在线客服 **/
|
/** S 在线客服 **/
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
|
|
@ -5,26 +5,24 @@ import {
|
||||||
apiFileCateLists,
|
apiFileCateLists,
|
||||||
apiFileDelete,
|
apiFileDelete,
|
||||||
apiFileList,
|
apiFileList,
|
||||||
apiFileMove,
|
apiFileMove
|
||||||
} from "@/api/app"
|
} from '@/api/app'
|
||||||
import { usePages } from "@/core/hooks/pages"
|
import { usePages } from '@/core/hooks/pages'
|
||||||
import { ElMessage } from "element-plus"
|
import { ElMessage } from 'element-plus'
|
||||||
import { computed, inject, reactive, ref, Ref } from "vue"
|
import { computed, inject, reactive, ref, Ref } from 'vue'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 左侧分组的钩子函数
|
// 左侧分组的钩子函数
|
||||||
export function useCate(typeValue: Ref<any>) {
|
export function useCate(typeValue: Ref<any>) {
|
||||||
// 分组列表
|
// 分组列表
|
||||||
const cateLists: Ref<any[]> = ref([])
|
const cateLists: Ref<any[]> = ref([])
|
||||||
// 选中的分组id
|
// 选中的分组id
|
||||||
const cateId = ref("")
|
const cateId = ref('')
|
||||||
// 添加分组
|
// 添加分组
|
||||||
const handleAddCate = (val: string) => {
|
const handleAddCate = (val: string) => {
|
||||||
apiFileCateAdd({
|
apiFileCateAdd({
|
||||||
type: typeValue.value,
|
type: typeValue.value,
|
||||||
pid: 0,
|
pid: 0,
|
||||||
name: val,
|
name: val
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
getCateLists()
|
getCateLists()
|
||||||
})
|
})
|
||||||
|
|
@ -33,7 +31,7 @@ export function useCate(typeValue: Ref<any>) {
|
||||||
const handleEditCate = (val: string, id: number) => {
|
const handleEditCate = (val: string, id: number) => {
|
||||||
apiFileCateEdit({
|
apiFileCateEdit({
|
||||||
id,
|
id,
|
||||||
name: val,
|
name: val
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
getCateLists()
|
getCateLists()
|
||||||
})
|
})
|
||||||
|
|
@ -41,7 +39,7 @@ export function useCate(typeValue: Ref<any>) {
|
||||||
// 删除分组
|
// 删除分组
|
||||||
const handleDeleteCate = (id: number) => {
|
const handleDeleteCate = (id: number) => {
|
||||||
apiFileCateDelete({
|
apiFileCateDelete({
|
||||||
id,
|
id
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
getCateLists()
|
getCateLists()
|
||||||
})
|
})
|
||||||
|
|
@ -51,17 +49,17 @@ export function useCate(typeValue: Ref<any>) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
apiFileCateLists({
|
apiFileCateLists({
|
||||||
type: typeValue.value,
|
type: typeValue.value,
|
||||||
page_type: 1,
|
page_type: 1
|
||||||
}).then((res: any) => {
|
}).then((res: any) => {
|
||||||
const item: any[] = [
|
const item: any[] = [
|
||||||
{
|
{
|
||||||
name: "全部",
|
name: '全部',
|
||||||
id: "",
|
id: ''
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "未分组",
|
name: '未分组',
|
||||||
id: 0,
|
id: 0
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
cateLists.value = res?.lists
|
cateLists.value = res?.lists
|
||||||
cateLists.value.unshift(...item)
|
cateLists.value.unshift(...item)
|
||||||
|
|
@ -75,26 +73,24 @@ export function useCate(typeValue: Ref<any>) {
|
||||||
handleAddCate,
|
handleAddCate,
|
||||||
handleEditCate,
|
handleEditCate,
|
||||||
handleDeleteCate,
|
handleDeleteCate,
|
||||||
getCateLists,
|
getCateLists
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 处理文件的钩子函数
|
// 处理文件的钩子函数
|
||||||
export function useFile(cateId: Ref<string>, type: Ref<any>, limit: Ref<number>) {
|
export function useFile(cateId: Ref<string>, type: Ref<any>, limit: Ref<number>) {
|
||||||
const moveId = ref(0)
|
const moveId = ref(0)
|
||||||
const select: Ref<any[]> = ref([])
|
const select: Ref<any[]> = ref([])
|
||||||
const fileParams = reactive({
|
const fileParams = reactive({
|
||||||
name: "",
|
name: '',
|
||||||
type: type,
|
type: type,
|
||||||
cid: cateId,
|
cid: cateId
|
||||||
})
|
})
|
||||||
const { pager, requestApi, resetPage } = usePages({
|
const { pager, requestApi, resetPage } = usePages({
|
||||||
callback: apiFileList,
|
callback: apiFileList,
|
||||||
params: fileParams
|
params: fileParams
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
const selectStatus = computed(
|
const selectStatus = computed(
|
||||||
() => (id: number) => select.value.find((item: any) => item.id == id)
|
() => (id: number) => select.value.find((item: any) => item.id == id)
|
||||||
)
|
)
|
||||||
|
|
@ -108,8 +104,8 @@ export function useFile(cateId: Ref<string>, type: Ref<any>, limit: Ref<number>)
|
||||||
const batchFileDelete = (id?: number[]) => {
|
const batchFileDelete = (id?: number[]) => {
|
||||||
let ids = id ? id : select.value.map((item: any) => item.id)
|
let ids = id ? id : select.value.map((item: any) => item.id)
|
||||||
apiFileDelete({
|
apiFileDelete({
|
||||||
ids,
|
ids
|
||||||
}).then((res) => {
|
}).then(res => {
|
||||||
getFileList()
|
getFileList()
|
||||||
clearSelect()
|
clearSelect()
|
||||||
})
|
})
|
||||||
|
|
@ -118,8 +114,8 @@ export function useFile(cateId: Ref<string>, type: Ref<any>, limit: Ref<number>)
|
||||||
let ids = select.value.map((item: any) => item.id)
|
let ids = select.value.map((item: any) => item.id)
|
||||||
apiFileMove({
|
apiFileMove({
|
||||||
ids,
|
ids,
|
||||||
cid: moveId.value,
|
cid: moveId.value
|
||||||
}).then((res) => {
|
}).then(res => {
|
||||||
moveId.value = 0
|
moveId.value = 0
|
||||||
getFileList()
|
getFileList()
|
||||||
clearSelect()
|
clearSelect()
|
||||||
|
|
@ -138,7 +134,7 @@ export function useFile(cateId: Ref<string>, type: Ref<any>, limit: Ref<number>)
|
||||||
select.value.push(item)
|
select.value.push(item)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ElMessage.warning("已达到选择上限")
|
ElMessage.warning('已达到选择上限')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
select.value.push(item)
|
select.value.push(item)
|
||||||
|
|
@ -147,7 +143,7 @@ export function useFile(cateId: Ref<string>, type: Ref<any>, limit: Ref<number>)
|
||||||
select.value = []
|
select.value = []
|
||||||
}
|
}
|
||||||
const cancelSelete = (id: number) => {
|
const cancelSelete = (id: number) => {
|
||||||
select.value = select.value.filter((item) => item.id != id)
|
select.value = select.value.filter(item => item.id != id)
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
moveId,
|
moveId,
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ export default defineComponent({
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const uploadRefs: Ref<typeof ElUpload | null> = ref(null)
|
const uploadRefs: Ref<typeof ElUpload | null> = ref(null)
|
||||||
const action = ref(`${import.meta.env.VITE_APP_BASE_URL}/adminapi/upload/${props.type}`)
|
const action = ref(`${import.meta.env.VITE_APP_BASE_URL}/api/upload/${props.type}`)
|
||||||
const headers = computed(() => ({
|
const headers = computed(() => ({
|
||||||
token: store.getters.token,
|
token: store.getters.token,
|
||||||
version: version
|
version: version
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@
|
||||||
size="small"
|
size="small"
|
||||||
>
|
>
|
||||||
<!-- 账号输入框 -->
|
<!-- 账号输入框 -->
|
||||||
<el-form-item label="账号:" prop="account">
|
<el-form-item label="账号:" prop="username">
|
||||||
<el-input v-model="formData.account" placeholder="请输入账号"></el-input>
|
<el-input v-model="formData.username" placeholder="请输入账号"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 管理员头像 -->
|
<!-- 管理员头像 -->
|
||||||
<el-form-item label="头像:">
|
<el-form-item label="头像:">
|
||||||
|
|
@ -23,13 +23,13 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 名称输入框 -->
|
<!-- 名称输入框 -->
|
||||||
<el-form-item label="名称:" prop="name">
|
<el-form-item label="名称:" prop="nickname">
|
||||||
<el-input v-model="formData.name" placeholder="请输入名称"></el-input>
|
<el-input v-model="formData.nickname" placeholder="请输入名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 角色选择框 -->
|
<!-- 角色选择框 -->
|
||||||
<el-form-item label="角色:" prop="role_id">
|
<el-form-item label="角色:" prop="role">
|
||||||
<el-select v-model="formData.role_id" placeholder="请选择角色">
|
<el-select v-model="formData.role" placeholder="请选择角色">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in roleList"
|
v-for="(item, index) in roleList"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
|
@ -59,13 +59,13 @@
|
||||||
|
|
||||||
<!-- 管理员状态 -->
|
<!-- 管理员状态 -->
|
||||||
<el-form-item label="管理员状态">
|
<el-form-item label="管理员状态">
|
||||||
<el-switch v-model="formData.disable" :active-value="0" :inactive-value="1" />
|
<el-switch v-model="formData.isDisable" :active-value="0" :inactive-value="1" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 多处登录 -->
|
<!-- 多处登录 -->
|
||||||
<el-form-item label="支持多处登录">
|
<el-form-item label="支持多处登录">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="formData.multipoint_login"
|
v-model="formData.isMultipoint"
|
||||||
:active-value="1"
|
:active-value="1"
|
||||||
:inactive-value="0"
|
:inactive-value="0"
|
||||||
/>
|
/>
|
||||||
|
|
@ -100,31 +100,31 @@ export default defineComponent({
|
||||||
const { formData, rules } = toRefs(
|
const { formData, rules } = toRefs(
|
||||||
reactive({
|
reactive({
|
||||||
formData: {
|
formData: {
|
||||||
account: '',
|
username: '',
|
||||||
name: '',
|
nickname: '',
|
||||||
role_id: '',
|
role: '',
|
||||||
avatar: '',
|
avatar: '',
|
||||||
password: '',
|
password: '',
|
||||||
password_confirm: '',
|
password_confirm: '',
|
||||||
disable: 0,
|
isDisable: 0,
|
||||||
multipoint_login: 0
|
isMultipoint: 0
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
account: [
|
username: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入账号',
|
message: '请输入账号',
|
||||||
trigger: ['blur']
|
trigger: ['blur']
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
name: [
|
nickname: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入名称',
|
message: '请输入名称',
|
||||||
trigger: ['blur']
|
trigger: ['blur']
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
role_id: [
|
role: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请选择角色',
|
message: '请选择角色',
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,9 @@
|
||||||
<el-input v-model="formData.name" placeholder="请输入名称"></el-input>
|
<el-input v-model="formData.name" placeholder="请输入名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 备注 -->
|
<!-- 备注 -->
|
||||||
<el-form-item label="备注" prop="desc">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.desc"
|
v-model="formData.remark"
|
||||||
placeholder="请输入备注"
|
placeholder="请输入备注"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:autosize="{ minRows: 4, maxRows: 6 }"
|
:autosize="{ minRows: 4, maxRows: 6 }"
|
||||||
|
|
@ -85,7 +85,7 @@ export default defineComponent({
|
||||||
reactive({
|
reactive({
|
||||||
formData: {
|
formData: {
|
||||||
name: '', // 角色名称
|
name: '', // 角色名称
|
||||||
desc: '', // 备注
|
remark: '', // 备注
|
||||||
auth_keys: [] // 权限
|
auth_keys: [] // 权限
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,54 +1,67 @@
|
||||||
<!-- 系统环境 -->
|
<!-- 系统环境 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="system-environment">
|
<div class="system-environment">
|
||||||
<el-card shadow="never">
|
<div class="flex">
|
||||||
|
<el-card class="flex-1 m-r-15" shadow="never">
|
||||||
|
<div>CPU</div>
|
||||||
|
<div class="m-t-15">
|
||||||
|
<el-table :data="info.cpu" size="medium">
|
||||||
|
<el-table-column prop="cpuNum" label="核心数"> </el-table-column>
|
||||||
|
<el-table-column prop="value" label="值"> </el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<el-card class="flex-1" shadow="never">
|
||||||
|
<div>内存</div>
|
||||||
|
<div class="m-t-15">
|
||||||
|
<el-table :data="info.mem" size="medium">
|
||||||
|
<el-table-column prop="param" label="属性"> </el-table-column>
|
||||||
|
<el-table-column prop="value" label="内存"> </el-table-column>
|
||||||
|
<el-table-column prop="value" label="JVM"> </el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-card shadow="never" class="m-t-15">
|
||||||
<div>服务器信息</div>
|
<div>服务器信息</div>
|
||||||
<div class="m-t-15">
|
<div class="m-t-15">
|
||||||
<el-table :data="info.server" size="medium">
|
<el-table :data="info.server" size="medium">
|
||||||
<el-table-column prop="param" label="参数"> </el-table-column>
|
<el-table-column prop="computerName" label="服务器名称"> </el-table-column>
|
||||||
<el-table-column prop="value" label="值"> </el-table-column>
|
<el-table-column prop="computerIp" label="服务器IP"> </el-table-column>
|
||||||
|
<el-table-column prop="osName" label="操作系统"> </el-table-column>
|
||||||
|
<el-table-column prop="osArch" label="系统架构"> </el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="m-t-15">
|
<el-card shadow="never" class="m-t-15">
|
||||||
<div>PHP环境要求</div>
|
<div>Java虚拟机信息</div>
|
||||||
<div class="m-t-15">
|
<div class="m-t-15">
|
||||||
<el-table :data="info.env" size="medium">
|
<el-table :data="info.server" size="medium">
|
||||||
<el-table-column prop="option" label="选项"> </el-table-column>
|
<el-table-column prop="option" label="Java名称"> </el-table-column>
|
||||||
<el-table-column prop="require" label="要求"> </el-table-column>
|
<el-table-column prop="require" label="启动时间"> </el-table-column>
|
||||||
<el-table-column prop="status" label="状态">
|
<el-table-column prop="remark" label="安装路径"> </el-table-column>
|
||||||
<template #default="scope">
|
<el-table-column prop="remark" label="项目路径"> </el-table-column>
|
||||||
<el-icon v-show="scope.row.status" color="#67C23A">
|
<el-table-column prop="remark" label="运行参数"> </el-table-column>
|
||||||
<Select />
|
<el-table-column prop="remark" label="Java版本"> </el-table-column>
|
||||||
</el-icon>
|
<el-table-column prop="remark" label="运行时长"> </el-table-column>
|
||||||
<el-icon v-show="!scope.row.status" color="#DB2828">
|
|
||||||
<close-bold />
|
|
||||||
</el-icon>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="remark" label="说明及帮助"> </el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="m-t-15">
|
<el-card shadow="never" class="m-t-15">
|
||||||
<div>目录权限</div>
|
<div>硬盘状态</div>
|
||||||
<div class="m-t-15">
|
<div class="m-t-15">
|
||||||
<el-table :data="info.auth" size="medium">
|
<el-table :data="info.disk" size="medium">
|
||||||
<el-table-column prop="dir" label="选项"> </el-table-column>
|
<el-table-column prop="dirName" label="盘符路径"> </el-table-column>
|
||||||
<el-table-column prop="require" label="要求"> </el-table-column>
|
<el-table-column prop="sysTypeName" label="文件系统"> </el-table-column>
|
||||||
<el-table-column prop="status" label="状态">
|
<el-table-column prop="typeName" label="盘符类型"> </el-table-column>
|
||||||
<template #default="scope">
|
<el-table-column prop="total" label="总大小"> </el-table-column>
|
||||||
<el-icon v-show="scope.row.status" color="#67C23A">
|
<el-table-column prop="free" label="可以大小"> </el-table-column>
|
||||||
<Select />
|
<el-table-column prop="used" label="已用大小"> </el-table-column>
|
||||||
</el-icon>
|
<el-table-column prop="usage" label="已用百分比"> </el-table-column>
|
||||||
<el-icon v-show="!scope.row.status" color="#DB2828">
|
|
||||||
<close-bold />
|
|
||||||
</el-icon>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="remark" label="说明及帮助"> </el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
@ -61,17 +74,20 @@ import { apiSystemInfo } from '@/api/setting'
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
setup() {
|
setup() {
|
||||||
const info = reactive({
|
const info = reactive({
|
||||||
|
cpu: [], // cpu
|
||||||
|
mem: [], // 内存
|
||||||
server: [], // 服务器信息
|
server: [], // 服务器信息
|
||||||
env: [], // PHP环境要求
|
auth: [], // 目录权限
|
||||||
auth: [] // 目录权限
|
disk: [] // 硬盘
|
||||||
})
|
})
|
||||||
|
|
||||||
const getSystemInfo = () => {
|
const getSystemInfo = () => {
|
||||||
apiSystemInfo().then((res: any) => {
|
apiSystemInfo().then((res: any) => {
|
||||||
console.log('res', res)
|
console.log('res', res)
|
||||||
|
info.cpu = res.cpu
|
||||||
info.server = res.server
|
info.server = res.server
|
||||||
info.env = res.env
|
|
||||||
info.auth = res.auth
|
info.auth = res.auth
|
||||||
|
info.disk = res.disk
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,23 +11,20 @@
|
||||||
size="small"
|
size="small"
|
||||||
>
|
>
|
||||||
<!-- 版权信息输入框 -->
|
<!-- 版权信息输入框 -->
|
||||||
<el-form-item label="版权信息" prop="info">
|
<el-form-item label="版权信息" prop="privilege">
|
||||||
<el-input v-model="formData.info" placeholder="请输入版权信息"></el-input>
|
<el-input v-model="formData.privilege" placeholder="请输入版权信息"></el-input>
|
||||||
<div class="muted xs m-r-16">例如填写,Copyright © 2019-2020 公司名称</div>
|
<div class="muted xs m-r-16">例如填写,Copyright © 2019-2020 公司名称</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- ICP备案号输入框 -->
|
<!-- ICP备案号输入框 -->
|
||||||
<el-form-item label="ICP备案号" prop="icp_number">
|
<el-form-item label="ICP备案号" prop="icpNumber">
|
||||||
<el-input
|
<el-input v-model="formData.icpNumber" placeholder="请输入ICP备案号"></el-input>
|
||||||
v-model="formData.icp_number"
|
|
||||||
placeholder="请输入ICP备案号"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- ICP备案号链接输入框 -->
|
<!-- ICP备案号链接输入框 -->
|
||||||
<el-form-item label="ICP备案号链接" prop="icp_link">
|
<el-form-item label="ICP备案号链接" prop="icpLink">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.icp_link"
|
v-model="formData.icpLink"
|
||||||
placeholder="请输入ICP备案号链接"
|
placeholder="请输入ICP备案号链接"
|
||||||
></el-input>
|
></el-input>
|
||||||
<div class="muted xs m-r-16">
|
<div class="muted xs m-r-16">
|
||||||
|
|
@ -36,17 +33,14 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!--公安备案号输入框 -->
|
<!--公安备案号输入框 -->
|
||||||
<el-form-item label="公安备案号" prop="public_number">
|
<el-form-item label="公安备案号" prop="gaNumber">
|
||||||
<el-input
|
<el-input v-model="formData.gaNumber" placeholder="请输入公安备案号"></el-input>
|
||||||
v-model="formData.public_number"
|
|
||||||
placeholder="请输入公安备案号"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 公安备案号链接输入框 -->
|
<!-- 公安备案号链接输入框 -->
|
||||||
<el-form-item label="公安备案号链接" prop="public_link">
|
<el-form-item label="公安备案号链接" prop="gaLink">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.public_link"
|
v-model="formData.gaLink"
|
||||||
placeholder="请输入公安备案号链接"
|
placeholder="请输入公安备案号链接"
|
||||||
></el-input>
|
></el-input>
|
||||||
<div class="muted xs m-r-16">
|
<div class="muted xs m-r-16">
|
||||||
|
|
@ -73,16 +67,16 @@ export default defineComponent({
|
||||||
setup() {
|
setup() {
|
||||||
// 表单数据
|
// 表单数据
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
info: '', // 版权信息
|
privilege: '', // 版权信息
|
||||||
icp_number: '', // icp备案号
|
icpNumber: '', // icp备案号
|
||||||
icp_link: '', // icp备案链接
|
icpLink: '', // icp备案链接
|
||||||
public_number: '', // 公安备案号
|
gaNumber: '', // 公安备案号
|
||||||
public_link: '' // 公安备案链接
|
gaLink: '' // 公安备案链接
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const rules = {
|
const rules = {
|
||||||
// info: [
|
// privilege: [
|
||||||
// {
|
// {
|
||||||
// required: true,
|
// required: true,
|
||||||
// message: '请输入版权信息',
|
// message: '请输入版权信息',
|
||||||
|
|
@ -95,22 +89,22 @@ export default defineComponent({
|
||||||
const getCopyright = () => {
|
const getCopyright = () => {
|
||||||
apiGetCopyright().then((res: any) => {
|
apiGetCopyright().then((res: any) => {
|
||||||
console.log('res', res)
|
console.log('res', res)
|
||||||
formData.info = res.info
|
formData.privilege = res.privilege
|
||||||
formData.icp_number = res.icp_number
|
formData.icpNumber = res.icpNumber
|
||||||
formData.icp_link = res.icp_link
|
formData.icpLink = res.icpLink
|
||||||
formData.public_number = res.public_number
|
formData.gaNumber = res.gaNumber
|
||||||
formData.public_link = res.public_link
|
formData.gaLink = res.gaLink
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置备案信息
|
// 设置备案信息
|
||||||
const setCopyright = () => {
|
const setCopyright = () => {
|
||||||
apiSetCopyright({
|
apiSetCopyright({
|
||||||
info: formData.info,
|
privilege: formData.privilege,
|
||||||
icp_number: formData.icp_number,
|
icpNumber: formData.icpNumber,
|
||||||
icp_link: formData.icp_link,
|
icpLink: formData.icpLink,
|
||||||
public_number: formData.public_number,
|
gaNumber: formData.gaNumber,
|
||||||
public_link: formData.public_link
|
gaLink: formData.gaLink
|
||||||
})
|
})
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
console.log('res', res)
|
console.log('res', res)
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
show-word-limit
|
show-word-limit
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="网站图标" prop="web_favicon" required>
|
<el-form-item label="网站图标" prop="favicon" required>
|
||||||
<material-select v-model="formData.web_favicon" :limit="1" />
|
<material-select v-model="formData.favicon" :limit="1" />
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="muted xs m-r-16">
|
<div class="muted xs m-r-16">
|
||||||
建议尺寸:100*100像素,支持jpg,jpeg,png格式
|
建议尺寸:100*100像素,支持jpg,jpeg,png格式
|
||||||
|
|
@ -32,8 +32,8 @@
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="网站LOGO" prop="web_logo" required>
|
<el-form-item label="网站LOGO" prop="logo" required>
|
||||||
<material-select v-model="formData.web_logo" :limit="1" />
|
<material-select v-model="formData.logo" :limit="1" />
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="muted xs m-r-16">
|
<div class="muted xs m-r-16">
|
||||||
建议尺寸:100*100像素,支持jpg,jpeg,png格式
|
建议尺寸:100*100像素,支持jpg,jpeg,png格式
|
||||||
|
|
@ -46,8 +46,8 @@
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="登录页广告图" prop="login_image" required>
|
<el-form-item label="登录页广告图" prop="backdrop" required>
|
||||||
<material-select v-model="formData.login_image" :limit="1" />
|
<material-select v-model="formData.backdrop" :limit="1" />
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="muted xs m-r-16">
|
<div class="muted xs m-r-16">
|
||||||
建议尺寸:100*100像素,支持jpg,jpeg,png格式
|
建议尺寸:100*100像素,支持jpg,jpeg,png格式
|
||||||
|
|
@ -86,9 +86,9 @@ export default defineComponent({
|
||||||
// 表单数据
|
// 表单数据
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
name: '', // 网站名称
|
name: '', // 网站名称
|
||||||
web_favicon: '', // 网站图标
|
favicon: '', // 网站图标
|
||||||
web_logo: '', // 网站logo
|
logo: '', // 网站logo
|
||||||
login_image: '' // 登录页广告图
|
backdrop: '' // 登录页广告图
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
|
|
@ -107,9 +107,9 @@ export default defineComponent({
|
||||||
apiGetWebsite().then((res: any) => {
|
apiGetWebsite().then((res: any) => {
|
||||||
console.log('res', res)
|
console.log('res', res)
|
||||||
formData.name = res.name
|
formData.name = res.name
|
||||||
formData.web_favicon = res.web_favicon
|
formData.favicon = res.favicon
|
||||||
formData.web_logo = res.web_logo
|
formData.logo = res.logo
|
||||||
formData.login_image = res.login_image
|
formData.backdrop = res.backdrop
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -123,9 +123,9 @@ export default defineComponent({
|
||||||
console.log('fasdfasd')
|
console.log('fasdfasd')
|
||||||
apiSetWebsite({
|
apiSetWebsite({
|
||||||
name: formData.name,
|
name: formData.name,
|
||||||
web_favicon: formData.web_favicon,
|
favicon: formData.favicon,
|
||||||
web_logo: formData.web_logo,
|
logo: formData.logo,
|
||||||
login_image: formData.login_image
|
backdrop: formData.backdrop
|
||||||
})
|
})
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
console.log('res', res)
|
console.log('res', res)
|
||||||
|
|
|
||||||
|
|
@ -24,25 +24,23 @@
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<div class="lighter m-b-10">访问量</div>
|
<div class="lighter m-b-10">访问量</div>
|
||||||
<div class="f-s-32 m-b-10">
|
<div class="f-s-32 m-b-10">
|
||||||
{{ workbenchData.today.today_visitor }}
|
{{ workbenchData.today.todayVisits }}
|
||||||
</div>
|
</div>
|
||||||
<div class="lighter">总访问量:{{ workbenchData.today.total_visitor }}</div>
|
<div class="lighter">总访问量:{{ workbenchData.today.totalVisits }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<div class="lighter m-b-10">销售额</div>
|
<div class="lighter m-b-10">销售额</div>
|
||||||
<div class="f-s-32 m-b-10">
|
<div class="f-s-32 m-b-10">
|
||||||
{{ workbenchData.today.today_sales }}
|
{{ workbenchData.today.todaySales }}
|
||||||
</div>
|
</div>
|
||||||
<div class="lighter">总销售额:{{ workbenchData.today.total_sales }}</div>
|
<div class="lighter">总销售额:{{ workbenchData.today.totalSales }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<div class="lighter m-b-10">新增用户</div>
|
<div class="lighter m-b-10">新增用户</div>
|
||||||
<div class="f-s-32 m-b-10">
|
<div class="f-s-32 m-b-10">
|
||||||
{{ workbenchData.today.today_new_user }}
|
{{ workbenchData.today.todayUsers }}
|
||||||
</div>
|
|
||||||
<div class="lighter">
|
|
||||||
总访用户:{{ workbenchData.today.total_new_user }}
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="lighter">总访用户:{{ workbenchData.today.totalUsers }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
@ -53,18 +51,46 @@
|
||||||
<span class="card-title">常用功能</span>
|
<span class="card-title">常用功能</span>
|
||||||
</template>
|
</template>
|
||||||
<div class="nav-lists">
|
<div class="nav-lists">
|
||||||
<div
|
<!-- <div
|
||||||
v-for="item in workbenchData.menu"
|
v-for="item in workbenchData.menu"
|
||||||
:key="item"
|
:key="item"
|
||||||
class="nav-item flex-col m-t-10"
|
class="nav-item flex-col m-t-10"
|
||||||
>
|
> -->
|
||||||
<router-link :to="item.url">
|
<router-link to="">
|
||||||
|
<div class="nav-item flex-col m-t-10">
|
||||||
<view class="flex flex-center">
|
<view class="flex flex-center">
|
||||||
<el-image style="width: 48px; height: 48px" :src="item?.image"></el-image>
|
<img
|
||||||
|
style="width: 48px; height: 48px"
|
||||||
|
src="@/assets/images/avatar.png"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
<div class="m-t-8 normal text-center">{{ item.name }}</div>
|
<div class="m-t-8 normal text-center">工作台</div>
|
||||||
</router-link>
|
</div>
|
||||||
</div>
|
</router-link>
|
||||||
|
|
||||||
|
<router-link to="/setting/website/information">
|
||||||
|
<div class="nav-item flex-col m-t-10">
|
||||||
|
<view class="flex flex-center">
|
||||||
|
<img
|
||||||
|
style="width: 48px; height: 48px"
|
||||||
|
src="@/assets/images/avatar.png"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<div class="m-t-8 normal text-center">网站信息</div>
|
||||||
|
</div>
|
||||||
|
</router-link>
|
||||||
|
|
||||||
|
<router-link to="/setting/website/environment">
|
||||||
|
<div class="nav-item flex-col m-t-10">
|
||||||
|
<view class="flex flex-center">
|
||||||
|
<img
|
||||||
|
style="width: 48px; height: 48px"
|
||||||
|
src="@/assets/images/avatar.png"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<div class="m-t-8 normal text-center">系统环境</div>
|
||||||
|
</div>
|
||||||
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -114,8 +140,8 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="name" label="文章名称"> </el-table-column>
|
<el-table-column prop="title" label="文章名称"> </el-table-column>
|
||||||
<el-table-column prop="read" label="阅读量"> </el-table-column>
|
<el-table-column prop="visit" label="阅读量"> </el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue