Revert "♻️ 重构网页后台,改为本地静态资源 (#490)" (#491)

This reverts commit 56c92b3313.
This commit is contained in:
forchannot 2024-01-07 13:45:26 +08:00 committed by GitHub
parent 56c92b3313
commit 9f6b784ff2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 17 additions and 74678 deletions

View File

@ -1,9 +1,6 @@
import os
import re
import nonebot import nonebot
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.responses import HTMLResponse, RedirectResponse from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from LittlePaimon.config import config from LittlePaimon.config import config
from LittlePaimon.utils import logger, DRIVER from LittlePaimon.utils import logger, DRIVER
@ -11,13 +8,13 @@ from .api import BaseApiRouter
from .pages import admin_app, login_page, bind_cookie_page, blank_page from .pages import admin_app, login_page, bind_cookie_page, blank_page
requestAdaptor = """ requestAdaptor = '''
requestAdaptor(api) { requestAdaptor(api) {
api.headers["token"] = localStorage.getItem("token"); api.headers["token"] = localStorage.getItem("token");
return api; return api;
}, },
""" '''
responseAdaptor = """ responseAdaptor = '''
responseAdaptor(api, payload, query, request, response) { responseAdaptor(api, payload, query, request, response) {
if (response.data.detail == '登录验证失败或已失效,请重新登录') { if (response.data.detail == '登录验证失败或已失效,请重新登录') {
window.location.href = '/LittlePaimon/login' window.location.href = '/LittlePaimon/login'
@ -27,67 +24,51 @@ responseAdaptor(api, payload, query, request, response) {
} }
return payload return payload
}, },
""" '''
icon_path = "https://s1.ax1x.com/2023/02/05/pS62DJK.png" icon_path = 'https://s1.ax1x.com/2023/02/05/pS62DJK.png'
@DRIVER.on_startup @DRIVER.on_startup
def init_web(): def init_web():
app: FastAPI = nonebot.get_app() app: FastAPI = nonebot.get_app()
app.include_router(BaseApiRouter) app.include_router(BaseApiRouter)
static_dir = os.path.join(os.path.dirname(__file__), "static")
app.mount("/static", StaticFiles(directory=static_dir), name="static")
logger.info( logger.info(
"Web UI", 'Web UI',
f"<g>启用成功</g>,默认地址为<m>http://127.0.0.1:{DRIVER.config.port}/LittlePaimon/login</m>", f'<g>启用成功</g>,默认地址为<m>http://127.0.0.1:{DRIVER.config.port}/LittlePaimon/login</m>',
) )
@app.get("/res/history@latest") @app.get('/LittlePaimon/admin', response_class=HTMLResponse)
async def redirect_history():
return RedirectResponse("/static/history.production.min.js", status_code=302)
@app.get("/res/{path:path}")
async def redirect(path: str):
resource_name= path.split("/")[-1]
return RedirectResponse(
f"/static/{resource_name}", status_code=302
)
@app.get("/LittlePaimon/admin", response_class=HTMLResponse)
async def admin(): async def admin():
if config.admin_enable: if config.admin_enable:
return admin_app.render( return admin_app.render(
site_title="LittlePaimon 后台管理", site_title='LittlePaimon 后台管理',
site_icon=icon_path, site_icon=icon_path,
theme=config.admin_theme, theme=config.admin_theme,
cdn="/res",
requestAdaptor=requestAdaptor, requestAdaptor=requestAdaptor,
responseAdaptor=responseAdaptor, responseAdaptor=responseAdaptor,
) )
else: else:
return blank_page.render(site_title="LittlePaimon", site_icon=icon_path) return blank_page.render(site_title='LittlePaimon', site_icon=icon_path)
@app.get("/LittlePaimon/login", response_class=HTMLResponse) @app.get('/LittlePaimon/login', response_class=HTMLResponse)
async def login(): async def login():
if config.admin_enable: if config.admin_enable:
return login_page.render( return login_page.render(
site_title="登录 | LittlePaimon 后台管理", site_title='登录 | LittlePaimon 后台管理',
site_icon=icon_path, site_icon=icon_path,
cdn="/res",
theme=config.admin_theme, theme=config.admin_theme,
) )
else: else:
return blank_page.render(site_title="LittlePaimon", site_icon=icon_path) return blank_page.render(site_title='LittlePaimon', site_icon=icon_path)
@app.get("/LittlePaimon/cookie", response_class=HTMLResponse) @app.get('/LittlePaimon/cookie', response_class=HTMLResponse)
async def bind_cookie(): async def bind_cookie():
if config.CookieWeb_enable: if config.CookieWeb_enable:
return bind_cookie_page.render( return bind_cookie_page.render(
site_title="绑定Cookie | LittlePaimon", site_title='绑定Cookie | LittlePaimon',
site_icon=icon_path, site_icon=icon_path,
cdn="/res",
theme=config.admin_theme, theme=config.admin_theme,
) )
else: else:
return blank_page.render(site_title="LittlePaimon", site_icon=icon_path) return blank_page.render(site_title='LittlePaimon', site_icon=icon_path)

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff