mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:12:51 +00:00
139 lines
3.7 KiB
TypeScript
139 lines
3.7 KiB
TypeScript
import { defineStore } from 'pinia'
|
|
import applicationApi from '@/api/application'
|
|
import applicationXpackApi from '@/api/application-xpack'
|
|
import { type Ref, type UnwrapRef } from 'vue'
|
|
|
|
import useUserStore from './user'
|
|
import type { ApplicationFormType } from '@/api/type/application'
|
|
|
|
const useApplicationStore = defineStore({
|
|
id: 'application',
|
|
state: () => ({
|
|
location: `${window.location.origin}/ui/chat/`
|
|
}),
|
|
actions: {
|
|
async asyncGetAllApplication() {
|
|
return new Promise((resolve, reject) => {
|
|
applicationApi
|
|
.getAllAppilcation()
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
async asyncGetApplicationDetail(id: string, loading?: Ref<boolean>) {
|
|
return new Promise((resolve, reject) => {
|
|
applicationApi
|
|
.getApplicationDetail(id, loading)
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
async asyncGetApplicationDataset(id: string, loading?: Ref<boolean>) {
|
|
return new Promise((resolve, reject) => {
|
|
applicationApi
|
|
.getApplicationDataset(id, loading)
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
async asyncGetAccessToken(id: string, loading?: Ref<boolean>) {
|
|
return new Promise((resolve, reject) => {
|
|
const user = useUserStore()
|
|
if (user.isEnterprise()) {
|
|
applicationXpackApi
|
|
.getAccessToken(id, loading)
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
} else {
|
|
applicationApi
|
|
.getAccessToken(id, loading)
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
async asyncGetAppProfile(loading?: Ref<boolean>) {
|
|
return new Promise((resolve, reject) => {
|
|
const user = useUserStore()
|
|
applicationApi
|
|
.getAppProfile(loading)
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
async asyncAppAuthentication(token: string, loading?: Ref<boolean>) {
|
|
return new Promise((resolve, reject) => {
|
|
applicationApi
|
|
.postAppAuthentication(token, loading)
|
|
.then((res) => {
|
|
localStorage.setItem('accessToken', res.data)
|
|
sessionStorage.setItem('accessToken', res.data)
|
|
resolve(res)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
async refreshAccessToken(token: string) {
|
|
this.asyncAppAuthentication(token)
|
|
},
|
|
// 修改应用
|
|
async asyncPutApplication(id: string, data: any, loading?: Ref<boolean>) {
|
|
return new Promise((resolve, reject) => {
|
|
applicationApi
|
|
.putApplication(id, data, loading)
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
async validatePassword(id: string, password: string, loading?: Ref<boolean>) {
|
|
return new Promise((resolve, reject) => {
|
|
applicationApi
|
|
.validatePassword(id, password)
|
|
.then((data) => {
|
|
resolve(data)
|
|
})
|
|
.catch((error) => {
|
|
reject(error)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
})
|
|
|
|
export default useApplicationStore
|