mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
feat: debug 配置记忆
This commit is contained in:
@@ -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}`
|
||||||
},
|
},
|
||||||
|
@@ -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
|
||||||
|
@@ -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: ''
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user