mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 15:13:55 +08:00
update:优化web端目录结构
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
async def verify_token(config, request):
|
||||
if 'token' not in config['manager']:
|
||||
return True
|
||||
|
||||
expected_token = config['manager']['token']
|
||||
token = request.headers.get('Authorization', '').replace('Bearer ', '')
|
||||
|
||||
if not token or token != expected_token:
|
||||
return False
|
||||
return True
|
||||
@@ -0,0 +1,36 @@
|
||||
import logging
|
||||
from aiohttp import web
|
||||
from manager.api.auth import verify_token
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class PromptHandler:
|
||||
def __init__(self, config):
|
||||
self.config = config
|
||||
|
||||
async def get_prompt(self, request):
|
||||
if not await verify_token(self.config, request):
|
||||
return web.json_response({'error': 'Unauthorized'}, status=401)
|
||||
|
||||
return web.json_response({
|
||||
'prompt': self.config['prompt'],
|
||||
'Access-Control-Allow-Origin': '*'
|
||||
})
|
||||
|
||||
async def update_prompt(self, request):
|
||||
if not await verify_token(self.config, request):
|
||||
return web.json_response({'error': 'Unauthorized'}, status=401)
|
||||
|
||||
try:
|
||||
data = await request.json()
|
||||
if 'prompt' not in data:
|
||||
return web.json_response({'error': 'Missing prompt field'}, status=400)
|
||||
|
||||
# 通过config参数回传修改能力
|
||||
self.config['prompt'] = data['prompt']
|
||||
return web.json_response({'success': True}, headers={'Access-Control-Allow-Origin': '*'})
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to update prompt: {e}")
|
||||
return web.json_response({'error': str(e)}, status=500)
|
||||
Reference in New Issue
Block a user