用户管理

Anylearn后端引擎对用户注册、查询、修改、删除等在线服务。

class anylearn.interfaces.user.User(id: Optional[str] = None, token: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, namespace: Optional[str] = None, email: Optional[str] = None, role: Optional[str] = None, algorithm_tree: Optional[str] = None, collected_algorithm: Optional[list] = None, own_algorithms: Optional[list] = None, own_models: Optional[list] = None, own_files: Optional[list] = None, create_time: Optional[datetime.datetime] = None, own_datasets: Optional[list] = None, load_detail=False)[源代码]

基类:anylearn.interfaces.base.BaseObject

AnyLearn用户类,以方法映射训练任务CRUD相关接口

id

用户的唯一标识符,自动生成,由USER+uuid1生成的编码中后28个有效位(小写字母和数字)组成

token

单点登录令牌

username

用户名

password

用户密码

namespace

命名空间

email

邮箱

role

用户角色

algorithm_tree

暂时忽略不用

collected_algorithm

暂时忽略不用

own_algorithms

用户算法集合

own_models

用户模型集合

own_files

用户文件集合

create_time

创建时间

own_datasets

用户数据集集合

load_detail

初始化时是否加载详情

__init__(id: Optional[str] = None, token: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, namespace: Optional[str] = None, email: Optional[str] = None, role: Optional[str] = None, algorithm_tree: Optional[str] = None, collected_algorithm: Optional[list] = None, own_algorithms: Optional[list] = None, own_models: Optional[list] = None, own_files: Optional[list] = None, create_time: Optional[datetime.datetime] = None, own_datasets: Optional[list] = None, load_detail=False)[源代码]
参数
  • id – 用户的唯一标识符,自动生成,由USER+uuid1生成的编码中后28个有效位(小写字母和数字)组成

  • token – 单点登录令牌

  • username – 用户名

  • password – 用户密码

  • namespace – 命名空间

  • email – 邮箱

  • role – 用户角色

  • algorithm_tree – 暂时忽略不用

  • collected_algorithm – 暂时忽略不用

  • own_algorithms – 用户算法集合

  • own_models – 用户模型集合

  • own_files – 用户文件集合

  • create_time – 创建时间

  • own_datasets – 用户数据集集合

  • load_detail – 初始化时是否加载详情

_check_fields(required=[])

对象检查属性是否存在

_create()[源代码]

创建对象,如果子类创建方法与此有较大差异可以重写此方法

_fields = {'payload': {'create': ['id', 'username', 'password', 'email'], 'update': ['id', 'username', 'email', 'role']}, 'required': {'create': ['username', 'password', 'email'], 'update': ['id']}}

创建/更新对象时:

  • 必须包含且不能为空的字段 _fields['required']

  • 所有字段 _fields['payload']

_namespace()[源代码]
  • 子类的命名空间,调用此方法以获取子类的名称用于异常信息输出等,以 User 为例, _namespace 可以为 user

  • 子类需实现此抽象方法

_update()

更新对象,如果子类更新方法与此有较大差异可以重写此方法

_url_create()[源代码]

创建对象url,如果子类创建对象接口名称不是 add ,可以重写此方法来定制接口名称

_url_delete()[源代码]

删除对象url,如果子类删除对象接口名称不是 delete ,可以重写此方法来定制接口名称

_url_update()[源代码]

更新对象url,如果子类更新对象接口名称不是 update ,可以重写此方法来定制接口名称

change_password(old_password: str, new_password: str)[源代码]

修改密码

  • 对象属性 id 应为非空

参数
  • old_passwordstr 旧密码。

  • new_passwordstr 新密码。

返回

{
  "data": "USER123",
  "message": "密码修改成功"
}

delete(force: bool = False)

删除对象

  • 对象属性 id 应为非空

返回

True or False

返回类型

bool

get_detail()[源代码]

获取用户详细信息

  • 对象属性 id 应为非空

返回

用户对象。

返回类型

User

classmethod get_list()[源代码]

获取用户列表

返回

用户对象的集合。

返回类型

List [User]

save()

创建或更新对象

  • 对象包含非空属性 id 时为更新,否则为创建

  • 创建对象时必须包含且不能为空的字段: _fields['required']['create']

  • 创建对象时包含的所有字段: _fields['payload']['create']

  • 更新对象时必须包含且不能为空的字段: _fields['required']['update']

  • 更新对象时包含的所有字段: _fields['payload']['update']

返回

True or False

返回类型

bool

classmethod user_check(username: str)[源代码]

用户名查重

参数

username (str) – 检查用户名是否重复。

返回

True or False

返回类型

bool

classmethod user_collection(ids: str)[源代码]

获取用户集合

参数

ids (str) – 要查询的用户ID,多用户用逗号 , 隔开。

返回

用户对象的集合。

返回类型

List[User]