用户服务

更新时间:2024-05-20 03:17:00下载pdf

用户服务提供用户相关的基本操作,包括获取登录信息、用户登录、用户登出等接口。

常用属性解释

IUser 接口

接口 说明
getUserId(): String 用户的唯一标识符
getUserName(): String 用户的名称
getSpaceType(): Int 当前空间体系
  • 1 代表空间体系
  • 2 代表资产体系

获取登录用户

代码示例

let user = UserService.shared().user()

用户登录

- (void)loginWithParams:(NSDictionary *)params
                success:(void(^)(void))success
                failure:(void(^)(NSError *))failure;

参数说明

参数名 类型 是否必填 说明
params NSDictionary 参数信息
  • username:账号信息
  • password:密码
  • projectCode:项目 Code
success (() -> Void)? 成功回调函数
failure ((Error) -> Void)? 失败回调函数

代码示例

        let params = [
            "username": "your account",
            "password": "your password",
            "projectCode": AppKey.projectCode,
        ]

        UserService.shared().login(withParams: params) {
            printf("success")
        } failure: { error in
            printf("error")
        }

登出

- (void)logoutSuccess:(void(^)(void))success
              failure:(void(^)(NSError *))failure;

参数说明

参数名 类型 是否必填 说明
success (() -> Void)? 成功回调函数
failure ((Error) -> Void)? 失败回调函数

代码示例

UserService.shared().logoutSuccess {
    printf("success")
} failure: { error in
    printf("error")
}

查询用户信息

- (void)getUserDetailWithParams:(NSDictionary *_Nullable)params
                        success:(void(^)(NSDictionary *))success
                        failure:(void(^)(NSError *))failure

参数说明

参数名 类型 是否必填 说明
params NSDictionary 参数信息
success (() -> Void)? 成功回调函数
failure ((Error) -> Void)? 失败回调函数

代码示例

    UserService.shared().getUserDetail(withParams: nil, success: { userDetails in
        print("User details: \(userDetails)")
    } failure: { error in
        print("Error: \(error.localizedDescription)")
    })

用户是否登录

代码示例

if (let isLogin = UserService.shared().user()?.isLogin()) {
    print("login state")
} else {
    print("no login")
}

注册登录会话过期监听

如果您注册监听了用户登录会话过期,在账号修改了密码或者长时间未登录的情况下,会触发此回调。成功回调说明登录过期,可以引导用户重新登录。

代码示例

import IndustryAuthKit

// Adding an observer for the login notification
NotificationCenter.default.addObserver(
    self,
    selector: #selector(loginAction),
    name: NSNotification.Name("industryAuthKitDidAuth"),
    object: nil)

// Adding an observer for the logout notification
NotificationCenter.default.addObserver(
    self,
    selector: #selector(logoutAction),
    name: NSNotification.Name("industryAuthKitDidUnauth"),
    object: nil)

// Adding an observer for the logout notification due to invalid authentication
NotificationCenter.default.addObserver(
    self,
    selector: #selector(logoutAction),
    name: NSNotification.Name("industryAuthKitAuthDidInvalid"),
    object: nil)

@objc func loginAction() {
    // Handle login
    print("Logged in successfully")
}

@objc func logoutAction() {
    // Handle logout
    print("Logged out successfully or session invalidated")
}