axios泛型修改
This commit is contained in:
parent
5b29560455
commit
557f8874cb
@ -27,7 +27,7 @@ service.interceptors.request.use(config => {
|
||||
})
|
||||
|
||||
service.interceptors.response.use(res=> {
|
||||
return res
|
||||
return res.data
|
||||
}, err => {
|
||||
if (err.response.status >= 500) {
|
||||
ElMessage.error('服务器内部错误')
|
||||
|
||||
@ -51,7 +51,6 @@
|
||||
<script lang="ts">
|
||||
import { Options, Vue } from 'vue-class-component'
|
||||
import { ElContainer, ElHeader, ElMain, ElAside, ElDropdown, ElDropdownMenu, ElDropdownItem, ElButton, ElMenu, ElSubMenu, ElMenuItem, ElBreadcrumb, ElBreadcrumbItem } from 'element-plus'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import menus from '../config/menu'
|
||||
|
||||
@Options({
|
||||
@ -80,7 +79,7 @@ export default class Home extends Vue{
|
||||
this.$router.push('/login')
|
||||
return
|
||||
}
|
||||
const { data } = await this.$http.post<{token: null | string}, AxiosResponse<any>>('/api/common/verifyToken', {token: localStorage.getItem('login_token')})
|
||||
const data = await this.$http.post<{token: null | string}, any>('/api/common/verifyToken', {token: localStorage.getItem('login_token')})
|
||||
if(data.status) {
|
||||
// 如果是已过期的token 服务端会签发新的token
|
||||
this.$store.commit('login', {token: data.newToken || localStorage.getItem('login_token'), userInfo: data.userInfo})
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
<script lang="ts">
|
||||
import { Options, Vue } from 'vue-class-component'
|
||||
import { ElMessage, ElButton, ElForm, ElFormItem, ElInput, ElTooltip } from 'element-plus'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { VForm } from "../types"
|
||||
|
||||
@Options({
|
||||
@ -46,7 +45,7 @@ export default class Login extends Vue {
|
||||
async login() {
|
||||
(this.$refs.loginForm as VForm).validate(async (valid: boolean) => {
|
||||
if(!valid) return
|
||||
const { data } = await this.$http.post<UserInfo, AxiosResponse<any>>('/api/common/login', this.userInfo)
|
||||
const data = await this.$http.post<UserInfo, any>('/api/common/login', this.userInfo)
|
||||
if(data.token) {
|
||||
this.$store.commit('login', data)
|
||||
this.$router.push('/')
|
||||
@ -59,7 +58,7 @@ export default class Login extends Vue {
|
||||
* 访客模式
|
||||
*/
|
||||
async guestLogin() {
|
||||
const { data } = await this.$http.post<never, AxiosResponse<any>>('/api/common/guestLogin')
|
||||
const data = await this.$http.post<never, any>('/api/common/guestLogin')
|
||||
if (data.status && data.data.token) {
|
||||
this.$store.commit('login', data.data)
|
||||
this.$router.push('/')
|
||||
|
||||
@ -71,7 +71,6 @@ import { Options, Vue } from 'vue-class-component'
|
||||
import BaseList from '../../model/baselist'
|
||||
import { Page } from '../../model/common.dto'
|
||||
import HitokotoModel from '../../model/api/hitokoto'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElSelect, ElOption, ElDatePicker, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { VForm } from '../../types'
|
||||
|
||||
@ -89,7 +88,7 @@ export default class Hitokoto extends BaseList<HitokotoPage> {
|
||||
|
||||
async loadData() {
|
||||
this.loading = true
|
||||
const { data } = await this.$http.get<HitokotoPage, AxiosResponse<any>>('/api/hitokoto/list', {params:this.search})
|
||||
const data = await this.$http.get<HitokotoPage, any>('/api/hitokoto/list', {params:this.search})
|
||||
selectedData = []
|
||||
this.loading = false
|
||||
this.total = data.total
|
||||
@ -99,7 +98,7 @@ export default class Hitokoto extends BaseList<HitokotoPage> {
|
||||
((this.$refs.addForm as Vue).$refs.hitokotoForm as VForm).validate(async (valid: boolean) => {
|
||||
if(!valid) return
|
||||
this.modalLoading = true
|
||||
const { data } = await this.$http.post<any, AxiosResponse<any>>('/api/hitokoto/save', this.formData)
|
||||
const data = await this.$http.post<any, any>('/api/hitokoto/save', this.formData)
|
||||
this.modalLoading = false
|
||||
this.addModal = false
|
||||
ElMessage.success(data.message)
|
||||
@ -114,7 +113,7 @@ export default class Hitokoto extends BaseList<HitokotoPage> {
|
||||
return
|
||||
}
|
||||
ElMessageBox.confirm(`是否确认删除选中的${selectedData.length}条数据?`, '确认删除', {type: 'warning'}).then(async () => {
|
||||
const { data } = await this.$http.delete<any, AxiosResponse<any>>('/api/hitokoto/delete', {params:{_ids: selectedData}})
|
||||
const data = await this.$http.delete<any, any>('/api/hitokoto/delete', {params:{_ids: selectedData}})
|
||||
ElMessage.success(data.message)
|
||||
this.loadData()
|
||||
}).catch(() => {})
|
||||
@ -124,7 +123,7 @@ export default class Hitokoto extends BaseList<HitokotoPage> {
|
||||
}
|
||||
created() {
|
||||
this.loadData()
|
||||
this.$http.get('/api/common/config/hitokoto_type').then(({data}) => {
|
||||
this.$http.get<never, any>('/api/common/config/hitokoto_type').then(data => {
|
||||
this.typeList = data
|
||||
})
|
||||
}
|
||||
|
||||
@ -115,8 +115,7 @@
|
||||
import { Options } from 'vue-class-component'
|
||||
import BaseList from '../../model/baselist'
|
||||
import { Page } from '../../model/common.dto'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElSelect, ElOption, ElRadioGroup, ElRadio, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElSelect, ElOption, ElRadioGroup, ElRadio, ElDrawer, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { MusicModel, MusicLibModel, MusicLyricModel, MusicPlayerItem } from '../../model/api/music'
|
||||
import prettyBytes from 'pretty-bytes'
|
||||
import { VForm } from '../../types'
|
||||
@ -124,7 +123,7 @@ import { VForm } from '../../types'
|
||||
let selectedIds: string[] = []
|
||||
@Options({
|
||||
name: 'Music',
|
||||
components: { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElSelect, ElOption, ElRadioGroup, ElRadio }
|
||||
components: { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElSelect, ElOption, ElRadioGroup, ElRadio, ElDrawer }
|
||||
})
|
||||
export default class Music extends BaseList<MusicPage> {
|
||||
search = new MusicPage()
|
||||
@ -151,17 +150,17 @@ export default class Music extends BaseList<MusicPage> {
|
||||
private musicPlaying: boolean = false
|
||||
private musicList: MusicPlayerItem[] = []
|
||||
created() {
|
||||
this.$http.get('/api/music/listLibs').then(({data}) => {
|
||||
this.$http.get<never, any>('/api/music/listLibs').then(data => {
|
||||
this.musicLibs = data
|
||||
this.loadData()
|
||||
})
|
||||
this.$http.get('/api/music/listExts').then(({data}) => {
|
||||
this.$http.get<never, any>('/api/music/listExts').then(({data}) => {
|
||||
this.exts = data
|
||||
})
|
||||
}
|
||||
async loadData() {
|
||||
this.loading = true
|
||||
const { data } = await this.$http.get<MusicPage, AxiosResponse<any>>('/api/music/list', {params: this.search})
|
||||
const data = await this.$http.get<MusicPage, any>('/api/music/list', {params: this.search})
|
||||
selectedIds = []
|
||||
this.loading = false
|
||||
this.total = data.total
|
||||
@ -177,16 +176,16 @@ export default class Music extends BaseList<MusicPage> {
|
||||
// 根据当前搜索条件播放音乐
|
||||
async playMusic() {
|
||||
try {
|
||||
const { data } = await this.$http.get<any, AxiosResponse<any>>('/api/music/list/all', {params: selectedIds.length ? {ids: selectedIds} : this.search})
|
||||
const data = await this.$http.get<any, any>('/api/music/list/all', {params: selectedIds.length ? {ids: selectedIds} : this.search})
|
||||
this.musicList = data.map((item: MusicModel, index: number) => {
|
||||
return {
|
||||
id: index + 1,
|
||||
name: item.title || item.name,
|
||||
artist: item.artist,
|
||||
album: item.album,
|
||||
url: `${this.$http.defaults.baseURL || ''}/api/common/music/get/${item._id}`,
|
||||
cover: `${this.$http.defaults.baseURL || ''}/api/common/music/album/${item._id}`,
|
||||
lrc: item.lyric_id ? `${this.$http.defaults.baseURL || ''}/api/common/music/lyric/${item.lyric_id}` : undefined
|
||||
url: `/api/common/music/get/${item._id}`,
|
||||
cover: `/api/common/music/album/${item._id}`,
|
||||
lrc: item.lyric_id ? `/api/common/music/lyric/${item.lyric_id}` : undefined
|
||||
}
|
||||
})
|
||||
// 删除原本可能存在的播放器配置(包含播放地址 时间进度等信息)
|
||||
@ -202,7 +201,7 @@ export default class Music extends BaseList<MusicPage> {
|
||||
}
|
||||
remove(row: MusicModel) {
|
||||
ElMessageBox.confirm(`是否确认删除 ${row.name} ?`, '确认删除', {type: 'warning'}).then(async () => {
|
||||
const { data } = await this.$http.delete<{params: {id: string}}, AxiosResponse<any>>('/api/music/delete', {params: {id: row._id}})
|
||||
const data = await this.$http.delete<{params: {id: string}}, any>('/api/music/delete', {params: {id: row._id}})
|
||||
if(data.status) {
|
||||
ElMessage.success(data.message)
|
||||
this.loadData()
|
||||
@ -215,7 +214,7 @@ export default class Music extends BaseList<MusicPage> {
|
||||
this.currentRow = row
|
||||
this.modifyLyricModal = true
|
||||
if (row.lyric_id) {
|
||||
const { data } = (await this.$http.get<any, AxiosResponse<any>>('/api/music/lyric/get', {params: {lyricId: row.lyric_id}}))
|
||||
const data = (await this.$http.get<any, any>('/api/music/lyric/get', {params: {lyricId: row.lyric_id}}))
|
||||
data.cloud_id = data.cloud_id ? data.cloud_id.toString() : null
|
||||
this.lyricFormData = data
|
||||
} else {
|
||||
@ -226,7 +225,7 @@ export default class Music extends BaseList<MusicPage> {
|
||||
(this.$refs.lyricForm as VForm).validate(async (valid: boolean) => {
|
||||
if(!valid) return
|
||||
this.modalLoading = true
|
||||
const { data } = await this.$http.post<MusicLyricModel, AxiosResponse<any>>(`/api/music/lyric/save?musicId=${this.currentRow ? this.currentRow._id : ''}`, this.lyricFormData)
|
||||
const data = await this.$http.post<MusicLyricModel, any>(`/api/music/lyric/save?musicId=${this.currentRow ? this.currentRow._id : ''}`, this.lyricFormData)
|
||||
this.modalLoading = false
|
||||
this.modifyLyricModal = false
|
||||
ElMessage.success(data.message)
|
||||
@ -237,7 +236,7 @@ export default class Music extends BaseList<MusicPage> {
|
||||
}
|
||||
async updateMusicLib() {
|
||||
if (!this.currentRow) return
|
||||
const { data } = await this.$http.post<any, AxiosResponse<any>>('/api/music/updateLib', {id: this.currentRow._id, libId: this.currentRow.lib_id})
|
||||
const data = await this.$http.post<any, any>('/api/music/updateLib', {id: this.currentRow._id, libId: this.currentRow.lib_id})
|
||||
ElMessage.success(data.message)
|
||||
this.modifyModal = false
|
||||
}
|
||||
|
||||
@ -79,7 +79,6 @@
|
||||
<script lang="ts">
|
||||
import { Options } from 'vue-class-component'
|
||||
import { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElAlert, ElUpload, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { MsgResult, Page } from '../../model/common.dto'
|
||||
import BaseList from '../../model/baselist'
|
||||
import PhotoWallModel from '../../model/api/photowall'
|
||||
@ -98,7 +97,7 @@ export default class PhotoWall extends BaseList<PhotoWallPage> {
|
||||
isUploading: boolean = false
|
||||
async loadData() {
|
||||
this.loading = true
|
||||
const { data } = await this.$http.get<PhotoWallPage, AxiosResponse<any>>('/api/photowall/list', {params:this.search})
|
||||
const data = await this.$http.get<PhotoWallPage, any>('/api/photowall/list', {params:this.search})
|
||||
selectedData = []
|
||||
this.loading = false
|
||||
this.total = data.total
|
||||
@ -141,7 +140,7 @@ export default class PhotoWall extends BaseList<PhotoWallPage> {
|
||||
}
|
||||
async preview(row: PhotoWallModel) {
|
||||
const previewHeight = Math.floor(row.height * (500 / row.width))
|
||||
const pictureCdn = (await this.$http.get('/api/common/config/picture_cdn')).data
|
||||
const pictureCdn = await this.$http.get('/api/common/config/picture_cdn')
|
||||
ElMessageBox({
|
||||
title: '图片预览',
|
||||
message: h('img', { style: `width:500px;height:${previewHeight}px;`, src: `${pictureCdn}/${row.name}` }, ''),
|
||||
|
||||
@ -80,7 +80,6 @@ import prettyBytes from 'pretty-bytes'
|
||||
import { MsgResult, Page } from '../../model/common.dto'
|
||||
import BaseList from '../../model/baselist'
|
||||
import { SourceImageModel, ImageLabel } from '../../model/api/source-image'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { h } from 'vue'
|
||||
|
||||
let selectedData: string[] = []
|
||||
@ -109,7 +108,7 @@ export default class SourceImage extends BaseList<Page> {
|
||||
}
|
||||
async loadData(): Promise<void> {
|
||||
this.loading = true
|
||||
const { data } = await this.$http.get<Page, AxiosResponse<any>>('/api/source-image/list', {params:this.search})
|
||||
const data = await this.$http.get<Page, any>('/api/source-image/list', {params:this.search})
|
||||
selectedData = []
|
||||
this.loading = false
|
||||
this.total = data.total
|
||||
@ -171,7 +170,7 @@ export default class SourceImage extends BaseList<Page> {
|
||||
await this.$http.post('/api/source-image/updateLabel', {id: this.curId, labels: newTargetKeys})
|
||||
}
|
||||
created() {
|
||||
this.$http.get<never, AxiosResponse<any>>('/api/common/config/image_label').then(({data}) => {
|
||||
this.$http.get<never, any>('/api/common/config/image_label').then(data => {
|
||||
this.labelList.push(...data)
|
||||
this.loadData()
|
||||
})
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
<el-button @click="pullArticles" size="small" >拉取文章</el-button>
|
||||
<el-upload
|
||||
action="/api/system/deployBlog"
|
||||
accept=".zip"
|
||||
accept="application/zip"
|
||||
name="blogZip"
|
||||
:headers="uploadHeaders"
|
||||
:before-upload="beforeUpload"
|
||||
@ -115,7 +115,6 @@ import Node from 'element-plus/lib/components/tree/src/model/node'
|
||||
import { Options } from 'vue-class-component'
|
||||
import BaseList from '../../model/baselist'
|
||||
import { Page, MsgResult } from '../../model/common.dto'
|
||||
import { AxiosResponse } from 'axios'
|
||||
|
||||
let selectedData: string[] = []
|
||||
@Options({
|
||||
@ -140,7 +139,7 @@ export default class Article extends BaseList<ArticlePage> {
|
||||
isUploading: boolean = false
|
||||
async loadData() {
|
||||
this.loading = true
|
||||
const { data } = await this.$http.get<ArticlePage, AxiosResponse<any>>('/api/article/list', {params:this.search})
|
||||
const data = await this.$http.get<ArticlePage, any>('/api/article/list', {params:this.search})
|
||||
selectedData = []
|
||||
this.loading = false
|
||||
this.total = data.total
|
||||
@ -152,7 +151,7 @@ export default class Article extends BaseList<ArticlePage> {
|
||||
return
|
||||
}
|
||||
ElMessageBox.confirm(`是否确认对选中的${selectedData.length}篇文章执行分词处理?`, '操作确认', {type: 'info'}).then(async () => {
|
||||
const { data } = await this.$http.put<{_ids: string[]}, AxiosResponse<any>>('/api/article/splitWord', {_ids: selectedData})
|
||||
const data = await this.$http.put<{_ids: string[]}, any>('/api/article/splitWord', {_ids: selectedData})
|
||||
if(data.status) {
|
||||
ElMessage.success(data.message)
|
||||
} else {
|
||||
@ -162,7 +161,7 @@ export default class Article extends BaseList<ArticlePage> {
|
||||
}
|
||||
pullArticles() {
|
||||
ElMessageBox.confirm('确认拉取全部文章?', '操作确认', {type: 'info'}).then(async () => {
|
||||
const { data } = await this.$http.get<never, AxiosResponse<any>>('/api/article/pull')
|
||||
const data = await this.$http.get<never, any>('/api/article/pull')
|
||||
if(data.status) {
|
||||
ElMessage.success(data.message)
|
||||
this.loadData()
|
||||
@ -196,7 +195,7 @@ export default class Article extends BaseList<ArticlePage> {
|
||||
isLeaf: 'isLeaf',
|
||||
}
|
||||
async loadTreeData(node: Node, resolve: Function) {
|
||||
const childItems: TreeNodeSource[] = (await this.$http.get('/api/article/tree', {params:{deep: node.level, parent: node.data.name}})).data
|
||||
const childItems: TreeNodeSource[] = await this.$http.get('/api/article/tree', {params:{deep: node.level, parent: node.data.name}})
|
||||
resolve(childItems.map((childItem): TreeNodeData => {
|
||||
const treeNode: TreeNodeData = {
|
||||
name: childItem._id,
|
||||
@ -215,7 +214,7 @@ export default class Article extends BaseList<ArticlePage> {
|
||||
async articlePreview(node: TreeNodeData) {
|
||||
if(!node.isLeaf) return
|
||||
// 加载文章markdown预览
|
||||
const mdText = (await this.$http.get('/api/article/markdown', {params:{id: node.id}})).data
|
||||
const mdText = await this.$http.get<never, any>('/api/article/markdown', {params:{id: node.id}})
|
||||
this.markdownPreview.show = true
|
||||
const markdownHtml = new hyperdown().makeHtml(mdText)
|
||||
this.markdownPreview.content = markdownHtml.replace(/(?<=<pre><code[^>]*?>)[\s\S]*?(?=<\/code><\/pre>)/gi, content => {
|
||||
@ -226,15 +225,12 @@ export default class Article extends BaseList<ArticlePage> {
|
||||
}
|
||||
created() {
|
||||
this.loadData()
|
||||
this.$http.get('/api/article/listCategories').then(({data}) => {
|
||||
this.$http.get<never, any>('/api/article/listCategories').then(data => {
|
||||
this.categories = data
|
||||
})
|
||||
this.$http.get('/api/article/listTags').then(({data}) => {
|
||||
this.$http.get<never, any>('/api/article/listTags').then(data => {
|
||||
this.tags = data
|
||||
})
|
||||
// this.loadTreeData({deep:-1, name: null}, (treeNodes: TreeNode[]) => {
|
||||
// this.articleTree.push(...treeNodes)
|
||||
// })
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -10,7 +10,6 @@
|
||||
<script lang="ts">
|
||||
import * as echarts from 'echarts'
|
||||
import { Options, Vue } from 'vue-class-component'
|
||||
import { AxiosResponse } from 'axios'
|
||||
|
||||
@Options({
|
||||
name: 'Statistics'
|
||||
@ -24,7 +23,7 @@ export default class Statistics extends Vue {
|
||||
this.publishDatesChartLoading = true
|
||||
this.timelineWordsChartLoading = true
|
||||
|
||||
const articleData = (await this.$http.get<{params:{type:string}}, AxiosResponse<any>>('/api/article/statistics', {params:{type:'normal'}})).data
|
||||
const articleData = await this.$http.get<{params:{type:string}}, any>('/api/article/statistics', {params:{type:'normal'}})
|
||||
this.categoriesChartOption.legend.data = articleData.categories.map((item: any) => item._id)
|
||||
this.categoriesChartOption.series.data = articleData.categories.map((item: any) => {
|
||||
return {name: item._id, value: item.cnt}
|
||||
@ -39,7 +38,7 @@ export default class Statistics extends Vue {
|
||||
this.categoriesChartLoading = false
|
||||
this.publishDatesChartLoading = false
|
||||
|
||||
const timelineData = (await this.$http.get<{params:{type:string}}, AxiosResponse<any>>('/api/article/statistics', {params:{type:'timelineWords'}})).data
|
||||
const timelineData = await this.$http.get<{params:{type:string}}, any>('/api/article/statistics', {params:{type:'timelineWords'}})
|
||||
this.timelineWordsChartOption.timeline.data = timelineData.timelineWords.map((item: any) => item._id)
|
||||
timelineData.timelineWords.forEach((item: any) => {
|
||||
this.timelineWordsChartOption.options.push({
|
||||
|
||||
@ -57,7 +57,6 @@
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { Options, Vue } from 'vue-class-component'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElDialog, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import moment from 'moment'
|
||||
import SystemConfigAdd from './SystemConfigAdd.vue'
|
||||
@ -88,7 +87,7 @@ export default class SystemConfig extends Vue {
|
||||
}
|
||||
async loadData() {
|
||||
this.loading = true
|
||||
this.systemConfigData = (await this.$http.get('/api/system/config/list', {params:this.search})).data
|
||||
this.systemConfigData = await this.$http.get('/api/system/config/list', {params:this.search})
|
||||
this.loading = false
|
||||
}
|
||||
add() {
|
||||
@ -113,7 +112,7 @@ export default class SystemConfig extends Vue {
|
||||
((this.$refs.addForm as Vue).$refs.configForm as VForm).validate(async (valid: boolean) => {
|
||||
if(!valid) return
|
||||
this.modalLoading = true
|
||||
const { data } = await this.$http.post<SystemConfigModel, AxiosResponse<any>>('/api/system/config/save', this.formData)
|
||||
const data = await this.$http.post<SystemConfigModel, any>('/api/system/config/save', this.formData)
|
||||
this.modalLoading = false
|
||||
this.addModal = false
|
||||
ElMessage.success(data.message)
|
||||
@ -122,7 +121,7 @@ export default class SystemConfig extends Vue {
|
||||
}
|
||||
remove(row: SystemConfigModel) {
|
||||
ElMessageBox.confirm(`是否确认删除 ${row.name} 配置项?`, '确认删除', {type: 'warning'}).then(async () => {
|
||||
const { data } = await this.$http.delete<{params: {id: string}}, AxiosResponse<any>>('/api/system/config/delete', {params: {id: row._id}})
|
||||
const data = await this.$http.delete<{params: {id: string}}, any>('/api/system/config/delete', {params: {id: row._id}})
|
||||
if(data.status) {
|
||||
ElMessage.success(data.message)
|
||||
this.loadData()
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
import { Options, Vue } from 'vue-class-component'
|
||||
import { SystemConfigModel } from '../../model/system/system-config'
|
||||
import { ElForm, ElFormItem, ElInput, ElSwitch } from 'element-plus'
|
||||
import { AxiosResponse } from 'axios'
|
||||
|
||||
@Options({
|
||||
name: 'SystemConfigAdd',
|
||||
@ -39,7 +38,7 @@ export default class SystenConfigAdd extends Vue {
|
||||
name: [
|
||||
{ required: true, message: '请输入配置项名称', trigger: 'blur' },
|
||||
{ validator: (rule: object, value: string, callback: Function) => {
|
||||
this.$http.get<any, AxiosResponse<any>>('/api/system/config/exists', {params: {name: value, id: this.formData._id}}).then(({data}) => {
|
||||
this.$http.get<any, any>('/api/system/config/exists', {params: {name: value, id: this.formData._id}}).then(data => {
|
||||
if(data.data.exists) {
|
||||
callback(new Error('配置项名称已存在'))
|
||||
} else {
|
||||
|
||||
@ -95,7 +95,6 @@ import { Options } from 'vue-class-component'
|
||||
import BaseList from '../../model/baselist'
|
||||
import { Page } from '../../model/common.dto'
|
||||
import { SystemRoleModel } from '../../model/system/system-role'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElTag, ElPagination, ElDialog, ElSelect, ElOption, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { VForm } from '../../types'
|
||||
|
||||
@ -130,7 +129,7 @@ export default class SystemRole extends BaseList<SystemRolePage> {
|
||||
}
|
||||
async loadData() {
|
||||
this.loading = true
|
||||
const { data } = await this.$http.get<{params: SystemRolePage}, AxiosResponse<any>>('/api/system/role/list', {params:this.search})
|
||||
const data = await this.$http.get<{params: SystemRolePage}, any>('/api/system/role/list', {params:this.search})
|
||||
this.loading = false
|
||||
this.total = data.total
|
||||
this.systemRoleData = data.data
|
||||
@ -181,7 +180,7 @@ export default class SystemRole extends BaseList<SystemRolePage> {
|
||||
}
|
||||
remove(row: SystemRoleModel) {
|
||||
ElMessageBox.confirm(`是否确认删除 ${row.name} 角色?`, '确认删除', {type: 'warning'}).then(async () => {
|
||||
const { data } = await this.$http.delete<{params: {id: string}}, AxiosResponse<any>>('/api/system/role/delete', {params: {id: row._id}})
|
||||
const data = await this.$http.delete<{params: {id: string}}, any>('/api/system/role/delete', {params: {id: row._id}})
|
||||
if(data.status) {
|
||||
ElMessage.success(data.message)
|
||||
this.loadData()
|
||||
@ -194,7 +193,7 @@ export default class SystemRole extends BaseList<SystemRolePage> {
|
||||
(this.$refs.roleForm as VForm).validate(async (valid: boolean) => {
|
||||
if(!valid) return
|
||||
this.modalLoading = true
|
||||
const { data } = await this.$http.post<SystemRoleModel, AxiosResponse<any>>('/api/system/role/save', this.formData)
|
||||
const data = await this.$http.post<SystemRoleModel, any>('/api/system/role/save', this.formData)
|
||||
this.modalLoading = false
|
||||
this.addModal = false
|
||||
ElMessage.success(data.message)
|
||||
|
||||
@ -75,7 +75,6 @@ import BaseList from '../../model/baselist'
|
||||
import { Page } from '../../model/common.dto'
|
||||
import { SystemUserModel } from '../../model/system/system-user'
|
||||
import { SystemRoleModel } from '../../model/system/system-role'
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { ElButton, ElForm, ElFormItem, ElInput, ElTable, ElTableColumn, ElPagination, ElDialog, ElSelect, ElOption, ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { VForm } from '../../types'
|
||||
|
||||
@ -89,7 +88,7 @@ export default class SystemUser extends BaseList<SystemUserPage> {
|
||||
username: [
|
||||
{ required: true, message: '请输入用户名', trigger: 'blur' },
|
||||
{ validator: async (rule: object, value: string, callback: Function) => {
|
||||
const { data } = await this.$http.get<any, AxiosResponse<any>>('/api/system/user/exists', {params: {username: value, id: this.formData._id}})
|
||||
const data = await this.$http.get<any, any>('/api/system/user/exists', {params: {username: value, id: this.formData._id}})
|
||||
if(data.data.exists) {
|
||||
callback(new Error('用户名已存在'))
|
||||
} else {
|
||||
@ -119,7 +118,7 @@ export default class SystemUser extends BaseList<SystemUserPage> {
|
||||
}
|
||||
async loadData() {
|
||||
this.loading = true
|
||||
const { data } = await this.$http.get<{params: SystemUserPage}, AxiosResponse<any>>('/api/system/user/list', {params:this.search})
|
||||
const data = await this.$http.get<{params: SystemUserPage}, any>('/api/system/user/list', {params:this.search})
|
||||
this.loading = false
|
||||
this.total = data.total
|
||||
this.systemUserData = data.data
|
||||
@ -150,7 +149,7 @@ export default class SystemUser extends BaseList<SystemUserPage> {
|
||||
(this.$refs.userForm as VForm).validate(async (valid: boolean) => {
|
||||
if(!valid) return
|
||||
this.modalLoading = true
|
||||
const { data } = await this.$http.post<SystemUserModel, AxiosResponse<any>>('/api/system/user/save', this.formData)
|
||||
const data = await this.$http.post<SystemUserModel, any>('/api/system/user/save', this.formData)
|
||||
this.modalLoading = false
|
||||
this.addModal = false
|
||||
ElMessage.success(data.message)
|
||||
@ -159,7 +158,7 @@ export default class SystemUser extends BaseList<SystemUserPage> {
|
||||
}
|
||||
remove(row: SystemUserModel) {
|
||||
ElMessageBox.confirm(`是否确认删除 ${row.username} 用户?`, '确认删除', {type: 'warning'}).then(async () => {
|
||||
const { data } = await this.$http.delete<{params: {id: string}}, AxiosResponse<any>>('/api/system/user/delete', {params: {id: row._id}})
|
||||
const data = await this.$http.delete<{params: {id: string}}, any>('/api/system/user/delete', {params: {id: row._id}})
|
||||
if(data.status) {
|
||||
ElMessage.success(data.message)
|
||||
this.loadData()
|
||||
@ -170,7 +169,7 @@ export default class SystemUser extends BaseList<SystemUserPage> {
|
||||
}
|
||||
created() {
|
||||
this.loadData()
|
||||
this.$http.get('/api/system/role/listAll').then(({data}) => {
|
||||
this.$http.get<never, any>('/api/system/role/listAll').then(data => {
|
||||
this.roles = data
|
||||
})
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user