feat: debug 配置记忆

This commit is contained in:
bietiaop
2025-01-26 10:44:31 +08:00
parent 3223a06983
commit 84f0e43369
3 changed files with 20 additions and 11 deletions

View File

@@ -2,12 +2,14 @@ import { Button } from '@heroui/button'
import { Card, CardBody, CardHeader } from '@heroui/card' import { Card, CardBody, CardHeader } from '@heroui/card'
import { Input } from '@heroui/input' import { Input } from '@heroui/input'
import { Snippet } from '@heroui/snippet' import { Snippet } from '@heroui/snippet'
import { useLocalStorage } from '@uidotdev/usehooks'
import { motion } from 'motion/react' import { motion } from 'motion/react'
import { useEffect, useState } from 'react' import { useEffect, useState } from 'react'
import toast from 'react-hot-toast' import toast from 'react-hot-toast'
import { IoLink, IoSend } from 'react-icons/io5' import { IoLink, IoSend } from 'react-icons/io5'
import { PiCatDuotone } from 'react-icons/pi' import { PiCatDuotone } from 'react-icons/pi'
import key from '@/const/key'
import { OneBotHttpApiContent, OneBotHttpApiPath } from '@/const/ob_api' import { OneBotHttpApiContent, OneBotHttpApiPath } from '@/const/ob_api'
import ChatInputModal from '@/components/chat_input/modal' import ChatInputModal from '@/components/chat_input/modal'
@@ -27,12 +29,10 @@ export interface OneBotApiDebugProps {
const OneBotApiDebug: React.FC<OneBotApiDebugProps> = (props) => { const OneBotApiDebug: React.FC<OneBotApiDebugProps> = (props) => {
const { path, data } = props const { path, data } = props
const url = new URL(window.location.origin).href const currentURL = new URL(window.location.origin)
let defaultHttpUrl = url.replace(':6099', ':3000') currentURL.port = '3000'
if (defaultHttpUrl.endsWith('/')) { const defaultHttpUrl = currentURL.href
defaultHttpUrl = defaultHttpUrl.slice(0, -1) const [httpConfig, setHttpConfig] = useLocalStorage(key.httpDebugConfig, {
}
const [httpConfig, setHttpConfig] = useState({
url: defaultHttpUrl, url: defaultHttpUrl,
token: '' token: ''
}) })
@@ -50,8 +50,10 @@ const OneBotApiDebug: React.FC<OneBotApiDebugProps> = (props) => {
const r = toast.loading('正在发送请求...') const r = toast.loading('正在发送请求...')
try { try {
const parsedRequestBody = JSON.parse(requestBody) const parsedRequestBody = JSON.parse(requestBody)
const requestURL = new URL(httpConfig.url)
requestURL.pathname = path
request request
.post(httpConfig.url + path, parsedRequestBody, { .post(requestURL.href, parsedRequestBody, {
headers: { headers: {
Authorization: `Bearer ${httpConfig.token}` Authorization: `Bearer ${httpConfig.token}`
}, },

View File

@@ -7,7 +7,9 @@ enum key {
autoPlay = 'auto-play', autoPlay = 'auto-play',
customIcons = 'custom-icons', customIcons = 'custom-icons',
isCollapsedMusicPlayer = 'is-collapsed-music-player', isCollapsedMusicPlayer = 'is-collapsed-music-player',
sideBarOpen = 'side-bar-open' sideBarOpen = 'side-bar-open',
httpDebugConfig = 'http-debug-config',
wsDebugConfig = 'ws-debug-config'
} }
export default key export default key

View File

@@ -1,9 +1,12 @@
import { Button } from '@heroui/button' import { Button } from '@heroui/button'
import { Card, CardBody } from '@heroui/card' import { Card, CardBody } from '@heroui/card'
import { Input } from '@heroui/input' import { Input } from '@heroui/input'
import { useLocalStorage } from '@uidotdev/usehooks'
import { useCallback, useState } from 'react' import { useCallback, useState } from 'react'
import toast from 'react-hot-toast' import toast from 'react-hot-toast'
import key from '@/const/key'
import ChatInputModal from '@/components/chat_input/modal' import ChatInputModal from '@/components/chat_input/modal'
import OneBotMessageList from '@/components/onebot/message_list' import OneBotMessageList from '@/components/onebot/message_list'
import OneBotSendModal from '@/components/onebot/send_modal' import OneBotSendModal from '@/components/onebot/send_modal'
@@ -12,9 +15,11 @@ import WSStatus from '@/components/onebot/ws_status'
import { useWebSocketDebug } from '@/hooks/use-websocket-debug' import { useWebSocketDebug } from '@/hooks/use-websocket-debug'
export default function WSDebug() { export default function WSDebug() {
const url = new URL(window.location.origin).href const url = new URL(window.location.origin)
const defaultWsUrl = url.replace('http', 'ws').replace(':6099', ':3000') url.port = '3000'
const [socketConfig, setSocketConfig] = useState({ url.protocol = 'ws:'
const defaultWsUrl = url.href
const [socketConfig, setSocketConfig] = useLocalStorage(key.wsDebugConfig, {
url: defaultWsUrl, url: defaultWsUrl,
token: '' token: ''
}) })