mirror of
https://github.com/Genshin-bots/gsuid_core.git
synced 2025-05-12 06:55:49 +08:00
🎨 适配网页控制台
的权限控制
This commit is contained in:
parent
e45c202485
commit
c0802a9b48
@ -1,6 +1,23 @@
|
||||
from typing import Dict, List
|
||||
|
||||
|
||||
def get_input_image_panel(label: str, name: str):
|
||||
return {
|
||||
'type': 'input-image',
|
||||
'label': label,
|
||||
'name': name,
|
||||
'autoUpload': True,
|
||||
'proxy': True,
|
||||
'uploadType': 'fileReceptor',
|
||||
'imageClassName': 'r w-full',
|
||||
'id': 'u:1a381f9ccb8c',
|
||||
'accept': '.jpeg, .jpg, .png, .gif',
|
||||
'multiple': False,
|
||||
'hideUploadButton': False,
|
||||
'fixedSize': False,
|
||||
}
|
||||
|
||||
|
||||
def get_switch_panel(label: str, name: str, value: bool):
|
||||
return {
|
||||
'type': 'switch',
|
||||
|
10
gsuid_core/webconsole/create_input_panel.py
Normal file
10
gsuid_core/webconsole/create_input_panel.py
Normal file
@ -0,0 +1,10 @@
|
||||
from .create_base_panel import get_input_image_panel
|
||||
|
||||
|
||||
def get_intput_image_page():
|
||||
return {
|
||||
'type': 'page',
|
||||
'title': '上传图片',
|
||||
'body': [get_input_image_panel('上传背景图', 'image')],
|
||||
'id': 'u:cace1c585efd',
|
||||
}
|
@ -111,11 +111,15 @@ def get_sv_panel(
|
||||
'label': '权限控制',
|
||||
'name': 'pm',
|
||||
'options': [
|
||||
{'label': 'BOT主人', 'value': '0'},
|
||||
{'label': '超级管理员', 'value': '1'},
|
||||
{'label': '管理员', 'value': '2'},
|
||||
{'label': '正常', 'value': '3'},
|
||||
{'label': '几乎所有人', 'value': '4'},
|
||||
{'label': '所有人', 'value': '5'},
|
||||
{'label': '群主', 'value': '2'},
|
||||
{'label': '管理员', 'value': '3'},
|
||||
{'label': '频道管理员', 'value': '4'},
|
||||
{'label': '子频道管理员', 'value': '5'},
|
||||
{'label': '正常人', 'value': '6'},
|
||||
{'label': '权限极低', 'value': '7'},
|
||||
{'label': '黑名单', 'value': '8'},
|
||||
],
|
||||
'id': 'u:c71f20b605d4',
|
||||
'multiple': False,
|
||||
|
@ -288,6 +288,20 @@ class GsAdminModel(admin.ModelAdmin):
|
||||
)
|
||||
|
||||
|
||||
class GsAdminPage(admin.PageAdmin):
|
||||
async def has_page_permission(
|
||||
self,
|
||||
request: Request,
|
||||
obj: Optional[admin.ModelAdmin] = None,
|
||||
action: Optional[str] = None,
|
||||
) -> bool:
|
||||
return await super().has_page_permission(
|
||||
request
|
||||
) and await request.auth.requires(roles='admin', response=False)(
|
||||
request
|
||||
)
|
||||
|
||||
|
||||
@site.register_admin
|
||||
class UserAuth(GsAdminModel):
|
||||
pk_name = 'user_id'
|
||||
@ -371,7 +385,7 @@ class MyHomeAdmin(admin.HomeAdmin):
|
||||
|
||||
|
||||
@site.register_admin
|
||||
class SVManagePage(admin.PageAdmin):
|
||||
class SVManagePage(GsAdminPage):
|
||||
page_schema = PageSchema(
|
||||
label=('功能配置'),
|
||||
icon='fa fa-sliders',
|
||||
@ -381,21 +395,9 @@ class SVManagePage(admin.PageAdmin):
|
||||
)
|
||||
page = Page.parse_obj(get_sv_page())
|
||||
|
||||
async def has_page_permission(
|
||||
self,
|
||||
request: Request,
|
||||
obj: Optional[admin.ModelAdmin] = None,
|
||||
action: Optional[str] = None,
|
||||
) -> bool:
|
||||
return await super().has_page_permission(
|
||||
request
|
||||
) and await request.auth.requires(roles='admin', response=False)(
|
||||
request
|
||||
)
|
||||
|
||||
|
||||
@site.register_admin
|
||||
class ConfigManagePage(admin.PageAdmin):
|
||||
class ConfigManagePage(GsAdminPage):
|
||||
page_schema = PageSchema(
|
||||
label=('修改设定'),
|
||||
icon='fa fa-sliders',
|
||||
@ -405,18 +407,6 @@ class ConfigManagePage(admin.PageAdmin):
|
||||
)
|
||||
page = Page.parse_obj(get_config_page())
|
||||
|
||||
async def has_page_permission(
|
||||
self,
|
||||
request: Request,
|
||||
obj: Optional[admin.ModelAdmin] = None,
|
||||
action: Optional[str] = None,
|
||||
) -> bool:
|
||||
return await super().has_page_permission(
|
||||
request
|
||||
) and await request.auth.requires(roles='admin', response=False)(
|
||||
request
|
||||
)
|
||||
|
||||
|
||||
# 取消注册默认管理类
|
||||
site.unregister_admin(admin.HomeAdmin, APIDocsApp)
|
||||
|
Loading…
x
Reference in New Issue
Block a user