Skip to content

Kernel API#

API#

arkid.core.api #

Universal Openapi Schema#

arkid.core.schema #

RootSchema (Schema) pydantic-model #

__setattr__(self, item, value) special #

Implement setattr(self, name, value).

dict(self, **kwargs) #

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Front -end page#

arkid.core.pages #

CardsPage (SelectPage) #

卡片列表

ChartPage (FrontPage) #

图表页面

DescriptionPage (FrontPage) #

描述页面

FormPage (FrontPage) #

表单页面

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) #

前端页面类型枚举类 Type页面类型 [可扩展]:

    - 表格型页面 (table)
    - 表单型页面 (form)
    - 描述型页面 (description)
    - 树状型页面 (tree)
    - 切换型页面 (tabs)- 暂不支持
    - 列表型页面 (list)- 暂不支持
    - 卡片型页面 (cards)- 暂不支持
    - 网格型页面 (grid)- 暂不支持
    - 步骤型页面 (step)- 暂不支持

GridPage (FrontPage) #

网格页面

ListPage (SelectPage) #

列表页面

ScanPage (FrontPage) #

表单页面

SelectPage (FrontPage) #

选择型页面

StepPage (FrontPage) #

步骤页面

TablePage (SelectPage) #

表格页面

TabsPage (FrontPage) #

网格页面

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

Front -end routing#

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.token #

get_valid_token(user, tenant) #

如果没过期就不刷新,过期才刷新

Internationalization#

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 标识

error code#

arkid.core.error #

ErrorCode (Enum) #

An enumeration.

评论