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
|
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):
|
def get_switch_panel(label: str, name: str, value: bool):
|
||||||
return {
|
return {
|
||||||
'type': 'switch',
|
'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': '权限控制',
|
'label': '权限控制',
|
||||||
'name': 'pm',
|
'name': 'pm',
|
||||||
'options': [
|
'options': [
|
||||||
|
{'label': 'BOT主人', 'value': '0'},
|
||||||
{'label': '超级管理员', 'value': '1'},
|
{'label': '超级管理员', 'value': '1'},
|
||||||
{'label': '管理员', 'value': '2'},
|
{'label': '群主', 'value': '2'},
|
||||||
{'label': '正常', 'value': '3'},
|
{'label': '管理员', 'value': '3'},
|
||||||
{'label': '几乎所有人', 'value': '4'},
|
{'label': '频道管理员', 'value': '4'},
|
||||||
{'label': '所有人', 'value': '5'},
|
{'label': '子频道管理员', 'value': '5'},
|
||||||
|
{'label': '正常人', 'value': '6'},
|
||||||
|
{'label': '权限极低', 'value': '7'},
|
||||||
|
{'label': '黑名单', 'value': '8'},
|
||||||
],
|
],
|
||||||
'id': 'u:c71f20b605d4',
|
'id': 'u:c71f20b605d4',
|
||||||
'multiple': False,
|
'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
|
@site.register_admin
|
||||||
class UserAuth(GsAdminModel):
|
class UserAuth(GsAdminModel):
|
||||||
pk_name = 'user_id'
|
pk_name = 'user_id'
|
||||||
@ -371,7 +385,7 @@ class MyHomeAdmin(admin.HomeAdmin):
|
|||||||
|
|
||||||
|
|
||||||
@site.register_admin
|
@site.register_admin
|
||||||
class SVManagePage(admin.PageAdmin):
|
class SVManagePage(GsAdminPage):
|
||||||
page_schema = PageSchema(
|
page_schema = PageSchema(
|
||||||
label=('功能配置'),
|
label=('功能配置'),
|
||||||
icon='fa fa-sliders',
|
icon='fa fa-sliders',
|
||||||
@ -381,21 +395,9 @@ class SVManagePage(admin.PageAdmin):
|
|||||||
)
|
)
|
||||||
page = Page.parse_obj(get_sv_page())
|
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
|
@site.register_admin
|
||||||
class ConfigManagePage(admin.PageAdmin):
|
class ConfigManagePage(GsAdminPage):
|
||||||
page_schema = PageSchema(
|
page_schema = PageSchema(
|
||||||
label=('修改设定'),
|
label=('修改设定'),
|
||||||
icon='fa fa-sliders',
|
icon='fa fa-sliders',
|
||||||
@ -405,18 +407,6 @@ class ConfigManagePage(admin.PageAdmin):
|
|||||||
)
|
)
|
||||||
page = Page.parse_obj(get_config_page())
|
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)
|
site.unregister_admin(admin.HomeAdmin, APIDocsApp)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user