0.0.1 • Published 9 months ago

@ticatec/aoss-client-library v0.0.1

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

aoss-client-library

AOSS Client API

这是一组用于和AOSS客户端API,用于从aoss获取各种基础数据。

使用方法

1. 初始化ClientAPI

AossClientAPI是一个单列类,在使用前首先需要初始化,然后通过静态方法获取实例。

初始化

示例代码

import AossClientAPI from "./aoss-client-api";

/**
 * 创建接口服务代理类
 */
const serviceProxy = new RestService(getPath(), (ex): boolean => {
    if (ex instanceof ApiError) {
        window.Toast.show(appCtx.getError(ex['code']));
    } else {
        window.Toast.show('发生系统错误');
    }

    return true;
}, (headers, method, url) => {
    appCtx.appendHeader(headers);
});

AossClientAPI.initialize(serviceProxy);

2. 获取当前用户

通过此接口可以获取当前登录的用户。

  • 接口方法: async getMe()
  • 参数:
  • 返回值: 用户对象

示例数据

{
  "code": "admin@saas",
  "name": "系统管理员",
  "tenant": {
    "code": "00000000",
    "name": "北京滴答科技有限公司"
  },
  "dept": {
    "id": "8eafde981496478ab80096f548ebc4f2",
    "name": "北京滴答科技有限公司"
  }
}

示例代码

import AossClientAPI from "./aoss-client-api";

let aossApi = AossClientAPI.getInstance();
let me = await aossApi.getMe();
console.log('当前登录用户:', me);

3. 获取指定应用的实体权限定义

获取当前用户在指定应用中的权限

  • 接口方法: async getPermission(appCode)
  • 参数: appCode 应用的编码

示例数据

{
    "dic-group": {
      "maintain": true,
      "discard": true
    },
    "ts-role": {
      "maintain": true,
      "mngRoleUser": true
    },
    "ts-app-package": {
      "maintain": true
    },
    "ts-role-user": {},
    "ts-tenant": {
      "maintain": true,
      "maintainStatus": true
    },
    "dic-data": {
      "maintain": true
    },
    "ts-usr": {
      "maintain": true,
      "mngUserRole": true
    },
    "ts-application": {
      "maintain": true,
      "maintainStatus": true
    },
    "ts-organization": {
      "maintain": true
    },
    "ts-tenant-app": {
      "maintain": true
    },
    "ts-app-module": {
      "maintain": true
    }
}

示例代码

import AossClientAPI from "./aoss-client-api";

let aossApi = AossClientAPI.getInstance();
let permission = await aossApi.getPermission('saas-platform');
console.log("模块权限:", permission);

4. 获取应用中指定模块的权限

获取当前应用中某个模块的权限

  • 接口方法: async getModulePermission(appCode, modCode)
  • 参数:
    • appCode: 应用编码
    • modCode: 模块编码

返回示例数据

{
  "maintain": true,
  "maintainStatus": true
}
import AossClientAPI from "./aoss-client-api";

let aossApi = AossClientAPI.getInstance();

let permission = await aossApi.getModulePermission('saas-platform', 'dic-group');

console.log('是否有维护的权利', permission.maintain!=false);

5. 获取字典数据

获取指定的数据字典组的数据,对于平层数据,获取的数据格式为code/text数据组,对于多层数据,仅仅返回顶层数据。

  • 接口方法: async getDataOptions(dicNames)
  • 参数:
    • dicNames 字符串或者字符串数组,带读取的数据字典组名称

5.1 读取用于下拉框的数据选项接口

import AossClientAPI from "./aoss-client-api";

let aossApi = AossClientAPI.getInstance();

let dataOptions = await aossApi.getDataOptions(['ops-gender', 'ops-card-type', 'ops-nationality']);

console.log('性别选项:', dataOptions[ops-gender]);

5.2 读取多层级数据字典的子项目。

  • 接口方法: async getChildrenOptions(dicName, parentCode);
  • 参数:
    • dicName 数据字典的名称
    • parentCode 待读取子节点的节点值
import AossClientAPI from "./aoss-client-api";

let aossApi = AossClientAPI.getInstance();

let regions = await aossApi.getChildrenOptions('region', '130100');

console.log('下级地区:', regions);

6. 处理令牌过期

当应用请求后端返回401的时候,通知顶层窗口,平台客户端将要求用户重新登录

import AossClientAPI from "./aoss-client-api";

let aossApi = AossClientAPI.getInstance();

aossApi.handleTokenExpiry();

7. 打开新模块页面

不用菜单打开一个新的功能页面,此函数包括两个参数,页面的hash编码和启动参数,启动参数为一个对象。

import AossClientAPI from "./aoss-client-api";

let aossApi = AossClientAPI.getInstance();
//启动随访管理
aossApi.openModule('/#/plan/PlanHomePage', {status: 'A'});
0.0.1

9 months ago