import { ref } from "vue"; import type { Ref } from "vue"; import type { BaseResponse } from "@chatgpt-plus/packages/type"; type Request = (params?: any) => Promise> function useRequest(request: Request) { const result = ref() const loading = ref(false) const requestData = async (params?: any) => { loading.value = true try { const res = await request(params) result.value = res.data return Promise.resolve(res) } catch (err) { return Promise.reject(err) } finally { loading.value = false } } return [requestData, result, loading] as [Request, Ref, Ref] } export default useRequest