2025-06-17 08:18:41 +00:00
|
|
|
import {Result} from '@/request/Result'
|
2025-06-16 04:08:09 +00:00
|
|
|
import {
|
|
|
|
|
get,
|
|
|
|
|
post,
|
|
|
|
|
postStream,
|
|
|
|
|
del,
|
|
|
|
|
put,
|
|
|
|
|
request,
|
|
|
|
|
download,
|
|
|
|
|
exportFile,
|
|
|
|
|
} from '@/request/chat/index'
|
2025-06-17 08:18:41 +00:00
|
|
|
import {type ChatProfile} from '@/api/type/chat'
|
|
|
|
|
import {type Ref} from 'vue'
|
2025-06-16 04:08:09 +00:00
|
|
|
|
2025-06-16 11:00:46 +00:00
|
|
|
import useStore from '@/stores'
|
2025-06-17 08:18:41 +00:00
|
|
|
import type {LoginRequest} from "@/api/type/user.ts";
|
|
|
|
|
|
|
|
|
|
const prefix: any = {_value: '/workspace/'}
|
2025-06-16 11:00:46 +00:00
|
|
|
Object.defineProperty(prefix, 'value', {
|
|
|
|
|
get: function () {
|
2025-06-17 08:18:41 +00:00
|
|
|
const {user} = useStore()
|
2025-06-16 11:00:46 +00:00
|
|
|
return this._value + user.getWorkspaceId() + '/application'
|
|
|
|
|
},
|
|
|
|
|
})
|
2025-06-16 04:08:09 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 打开调试对话id
|
|
|
|
|
* @param application_id 应用id
|
|
|
|
|
* @param loading 加载器
|
|
|
|
|
* @returns
|
|
|
|
|
*/
|
2025-06-17 03:58:35 +00:00
|
|
|
const open: (loading?: Ref<boolean>) => Promise<Result<string>> = (loading) => {
|
|
|
|
|
return get('/open', {}, loading)
|
2025-06-17 08:18:41 +00:00
|
|
|
|
2025-06-16 04:08:09 +00:00
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 对话
|
|
|
|
|
* @param 参数
|
|
|
|
|
* chat_id: string
|
|
|
|
|
* data
|
|
|
|
|
*/
|
|
|
|
|
const chat: (chat_id: string, data: any) => Promise<any> = (chat_id, data) => {
|
2025-06-17 03:58:35 +00:00
|
|
|
return postStream(`/chat/api/chat_message/${chat_id}`, data)
|
2025-06-16 04:08:09 +00:00
|
|
|
}
|
2025-06-17 03:58:35 +00:00
|
|
|
const chatProfile: (assessToken: string, loading?: Ref<boolean>) => Promise<Result<ChatProfile>> = (
|
2025-06-16 04:08:09 +00:00
|
|
|
assessToken,
|
|
|
|
|
loading,
|
|
|
|
|
) => {
|
2025-06-17 08:18:41 +00:00
|
|
|
return get('/profile', {access_token: assessToken}, loading)
|
2025-06-16 04:08:09 +00:00
|
|
|
}
|
2025-06-17 03:58:35 +00:00
|
|
|
/**
|
|
|
|
|
* 匿名认证
|
|
|
|
|
* @param assessToken
|
|
|
|
|
* @param loading
|
|
|
|
|
* @returns
|
|
|
|
|
*/
|
|
|
|
|
const anonymousAuthentication: (
|
|
|
|
|
assessToken: string,
|
|
|
|
|
loading?: Ref<boolean>,
|
|
|
|
|
) => Promise<Result<any>> = (assessToken, loading) => {
|
2025-06-17 08:18:41 +00:00
|
|
|
return post('/auth/anonymous', {access_token: assessToken}, {}, loading)
|
2025-06-17 03:58:35 +00:00
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 获取应用相关信息
|
|
|
|
|
* @param loading
|
|
|
|
|
* @returns
|
|
|
|
|
*/
|
|
|
|
|
const applicationProfile: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
|
|
|
|
return get('/application/profile', {}, loading)
|
2025-06-16 04:08:09 +00:00
|
|
|
}
|
2025-06-17 08:18:41 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 登录
|
|
|
|
|
* @param request 登录接口请求表单
|
|
|
|
|
* @param loading 接口加载器
|
|
|
|
|
* @returns 认证数据
|
|
|
|
|
*/
|
|
|
|
|
const login: (accessToken: string, request: LoginRequest, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
|
|
|
accessToken: string,
|
|
|
|
|
request,
|
|
|
|
|
loading,
|
|
|
|
|
) => {
|
|
|
|
|
return post('/auth/login/' + accessToken, request, undefined, loading)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const ldapLogin: (accessToken: string, request: LoginRequest, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
|
|
|
accessToken: string,
|
|
|
|
|
request,
|
|
|
|
|
loading,
|
|
|
|
|
) => {
|
|
|
|
|
return post('/auth/ldap/login/' + accessToken, request, undefined, loading)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取验证码
|
|
|
|
|
* @param loading 接口加载器
|
|
|
|
|
*/
|
|
|
|
|
const getCaptcha: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
2025-06-17 08:31:07 +00:00
|
|
|
return get('/captcha', undefined, loading)
|
2025-06-17 08:18:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取二维码类型
|
|
|
|
|
*/
|
|
|
|
|
const getQrType: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
|
|
|
|
return get('qr_type', undefined, loading)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const getQrSource: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
|
|
|
|
return get('qr_type/source', undefined, loading)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const getDingCallback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
|
|
|
code,
|
|
|
|
|
loading
|
|
|
|
|
) => {
|
|
|
|
|
return get('dingtalk', {code}, loading)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const getDingOauth2Callback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
|
|
|
code,
|
|
|
|
|
loading
|
|
|
|
|
) => {
|
|
|
|
|
return get('dingtalk/oauth2', {code}, loading)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const getWecomCallback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
|
|
|
code,
|
|
|
|
|
loading
|
|
|
|
|
) => {
|
|
|
|
|
return get('wecom', {code}, loading)
|
|
|
|
|
}
|
|
|
|
|
const getLarkCallback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
|
|
|
code,
|
|
|
|
|
loading
|
|
|
|
|
) => {
|
|
|
|
|
return get('lark/oauth2', {code}, loading)
|
|
|
|
|
}
|
2025-06-17 08:31:07 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取认证设置
|
|
|
|
|
*/
|
|
|
|
|
const getAuthSetting: (auth_type: string, loading?: Ref<boolean>) => Promise<Result<any>> = (auth_type, loading) => {
|
|
|
|
|
return get(`/chat_user/${auth_type}/detail`, undefined, loading)
|
|
|
|
|
}
|
2025-06-16 04:08:09 +00:00
|
|
|
export default {
|
|
|
|
|
open,
|
|
|
|
|
chat,
|
|
|
|
|
chatProfile,
|
2025-06-17 03:58:35 +00:00
|
|
|
anonymousAuthentication,
|
|
|
|
|
applicationProfile,
|
2025-06-17 08:18:41 +00:00
|
|
|
login,
|
|
|
|
|
getCaptcha,
|
|
|
|
|
getDingCallback,
|
|
|
|
|
getQrType,
|
|
|
|
|
getWecomCallback,
|
|
|
|
|
getDingOauth2Callback,
|
|
|
|
|
getLarkCallback,
|
|
|
|
|
getQrSource,
|
2025-06-17 08:31:07 +00:00
|
|
|
ldapLogin,
|
|
|
|
|
getAuthSetting
|
2025-06-16 04:08:09 +00:00
|
|
|
}
|