内核API#
API#
arkid.core.api
#
通用 OpenAPI Schema#
arkid.core.schema
#
前端页面#
arkid.core.pages
#
CardsPage (SelectPage)
#
卡片列表
FrontPage (DeepSN)
#
前端页面配置类
Examples:
>>> from arkid.core import pages
>>> from arkid.core.translation import gettext_default as _
>>>
>>> # 申明一个页面
>>> page = pages.FrontPage(
>>> tag="user_list",
>>> name="user_list",
>>> page_type=pages.FrontPageType.TABLE_PAGE,
>>> init_action=pages.FrontAction(
>>> path='/api/v1/tenant/{tenant_id}/users/',
>>> method=pages.FrontActionMethod.GET
>>> )
>>> )
>>> # 添加局部动作
>>> page.add_local_action(
>>> [
>>> pages.FrontAction(
>>> name=_("编辑"),
>>> page=user_edit_page,
>>> icon="icon-edit",
>>> action_type=pages.FrontActionType.OPEN_ACTION
>>> ),
>>> ...
>>> ]
>>> )
>>> # 添加全局动作
>>> page.add_global_action(
>>> [
>>> pages.FrontAction(
>>> name="创建",
>>> page=user_create_page,
>>> icon="icon-create",
>>> action_type=pages.FrontActionType.OPEN_ACTION
>>> )
>>> ]
>>> )
__init__(self, name, tag=None, tag_pre=None, type=<FrontPageType.TABLE_PAGE: 'table'>, *args, **kwargs)
special
#
初始化函数
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str |
页面名称 |
required |
page_type |
FrontPageType |
页面类型 |
required |
init_action |
FrontAction|OrderedDict |
初始化动作 |
required |
global_actions |
list |
全局动作 |
required |
local_actions |
list |
本地动作 |
required |
tag |
str |
标识. |
None |
tag_pre |
str |
标识前缀. |
None |
add_global_actions(self, actions)
#
添加全局动作
Parameters:
Name | Type | Description | Default |
---|---|---|---|
actions |
FrontAction|OrderedDict |
动作列表 |
required |
add_local_actions(self, actions)
#
添加表单动作
Parameters:
Name | Type | Description | Default |
---|---|---|---|
actions |
FrontAction|OrderedDict |
动作列表 |
required |
add_node_actions(self, actions)
#
添加表单动作
Parameters:
Name | Type | Description | Default |
---|---|---|---|
actions |
FrontAction|OrderedDict |
动作列表 |
required |
add_tag_pre(self, tag_pre)
#
添加标识前缀 用于插件中生成页面时给页面的标识添加前缀
Parameters:
Name | Type | Description | Default |
---|---|---|---|
tag_pre |
str |
前缀 |
required |
FrontPageType (Enum)
#
ListPage (SelectPage)
#
列表页面
TablePage (SelectPage)
#
表格页面
TreePage (SelectPage)
#
树形页面
get_global_pages()
#
获取页面列表
register_front_pages(pages)
#
注册前端页面
Parameters:
Name | Type | Description | Default |
---|---|---|---|
pages |
List|FrontPage |
前端页面 |
required |
unregister_front_pages(pages)
#
卸载页面
Parameters:
Name | Type | Description | Default |
---|---|---|---|
pages |
List|FrontPage |
前端页面 |
required |
前端路由#
arkid.core.routers
#
FrontRouter (DeepSN)
#
_前端路由类
Examples:
>>> from arkid.core import routers
>>>
>>> router = routers.FrontRouter(
>>> path='user',
>>> name='用户管理',
>>> icon='user',
>>> children=[
>>> routers.FrontRouter(
>>> path=user_list_tag,
>>> name='用户管理',
>>> icon='user',
>>> page=user_list_tag,
>>> )
>>> ],
>>> )
__init__(self, path, name=None, icon=None, children=None, redirect=None, page=None, url=None, web=True, mobile=False, *args, **kwargs)
special
#
初始化
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path |
str |
路由路径 |
required |
name |
str |
路由名称. Defaults to None. |
None |
icon |
str |
图标. Defaults to None. |
None |
children |
List |
子路由列表. Defaults to None. |
None |
redirect |
str |
跳转链接. Defaults to None. |
None |
page |
FrontPage |
页面. Defaults to None. |
None |
url |
str |
链接地址. Defaults to None. |
None |
add_children(self, child)
#
添加子路由
Parameters:
Name | Type | Description | Default |
---|---|---|---|
child |
OrderedDict |
子路由描述 |
required |
change_page_tag(self, header)
#
更改页面标识,主要用于插件中添加标识前缀以注明该页面来源
注意: 此处会将子页面标识一并更改
Parameters:
Name | Type | Description | Default |
---|---|---|---|
header |
str |
页面标识前缀 |
required |
remove_child(self, child)
#
移除子路由
Parameters:
Name | Type | Description | Default |
---|---|---|---|
child |
OrderedDict |
子路由描述 |
required |
exclude_routers(global_routers)
#
通过事件机制排除掉一些路由
register_front_routers(routers, primary=None)
#
注册前端路由
Parameters:
Name | Type | Description | Default |
---|---|---|---|
routers |
list |
路由列表或者路由 |
required |
primary |
str |
主路由. Defaults to ''. |
None |
unregister_front_routers(routers, primary=None)
#
卸载前端路由
Parameters:
Name | Type | Description | Default |
---|---|---|---|
routers |
list |
路由列表或路由 |
required |
primary |
str |
主路由. Defaults to ''. |
None |
Token#
语言国际化#
arkid.core.translation
#
gettext_default(id, msg=None, lang='简体中文')
#
多语言默认方法
Parameters:
Name | Type | Description | Default |
---|---|---|---|
id |
str |
标识 |
required |
msg |
str |
语言文字. Defaults to None. |
None |
lang |
str |
语言种类. Defaults to "简体中文". |
'简体中文' |
Returns:
Type | Description |
---|---|
str |
id 标识 |