接入广发系统开发指南

# 流程

![image](http://m.qpic.cn/psb?/V111sNfr0xm9jo/qYyrmHoFJlh8NJcgE5X9Gn8vXWkCs2R3GJ3qY2G.Sn8!/b/dFIBAAAAAAAA&bo=EQR*AQAAAAADB0k!&rf=viewer_4)

> 客户通过主菜单进入系统

1. 客户点击乙方系统主菜单后,乙方网关调用甲方(广发)接口,由甲方(广发)判断用户是否已授权,如已授权可以正常使用。

2. 如未授权,提示没有授权。

3. 如果用户信息正常,可以使用,乙方用户模块根据tokenId获取权限清单,展示功能列表。

4. 点击功能菜单,调用iframe在客户系统中展示。

第二种:

> 客户不点击主菜单,直接在客户系统中点击某功能通过iframe展示数据

1. 客户点击某功能点,乙方网关调用甲方(广发)接口,由甲方(广发)判断用户是否已授权,如已授权可以正常使用。

2. 如未授权,提示没有授权。

3. 如果用户信息正常,网关继续判断tokenId是否有此功能项的权限。

4. 如果没有权限,提示没有该菜单项的权限。

5. 如果有权限,则通过iframe调转。

## API接口

前提:url功能清单已在客户系统维护

### Token API

- 介绍:乙方根据甲方http报文头中自带token信息,去验证token。

- 地址:http://*****/threadApi/validate/token

- 参数:

head报文头参数

参数| 说明

---|---

Authorization|存放tokenId信息

- 返回值

返回字段 | 说明

---|---

code|返回码

data|返回数据

msg|返回提示信息

winRspType|SUCC-成功、ERROR-失败

示例:

成功

```

{

  "code": "200",

  "data": {},

  "msg": "string",

  "winRspType": "SUCC"

}

```

失败

```

{

  "code": "400",

  "data": {},

  "msg": "string",

  "winRspType": "ERROR"

}

```

### validate token permission API

- 介绍:乙方根据token信息和操作的url信息,判断用户是否有操作此功能的权限

- 地址:http://*****/threadApi/validate/permission/

- 参数:

body报文体入参:

参数| 说明

---|---

tokenId|tokenId信息

url|操作功能项的url

- 返回值:

返回字段 | 说明

---|---

code|返回码

data|返回数据

msg|返回提示信息

winRspType|SUCC-成功、ERROR-失败

### User Function List API

- 介绍:乙方根据token信息获取权限清单(功能列表)

- 地址:http://*****/threadApi/data/permissionsList/

- 参数:

body报文体入参:

参数| 说明

---|---

tokenId|tokenId信息

- 返回值:

返回字段 | 说明

---|---

code|返回码

data|返回数据

msg|返回提示信息

winRspType|SUCC-成功、ERROR-失败

## 前端Iframe之间相互调用

### Iframe相互调用原理

![image](http://m.qpic.cn/psb?/V111sNfr0xm9jo/rzWLMxB1DW9CODoxkrOF*OuFHKxHB.mPP.4dbzBMxUo!/b/dDUBAAAAAAAA&bo=ewIJAQAAAAADB1M!&rf=viewer_4)

1. 客户系统主界面相当于父界面

2. 已方系统访问甲方(广发)客户系统,通过window.top.postMessage发送data到父界面的url上,data结构可以使用json字符串,其中必输字段为将要访问的甲方(广发)功能点url链接。例如:data数据类型

```

{

    "name":"标签信息" ,

    "url":"http://***/info", //必输,主页面转发地址

    "msg":"",

    ...

}

```

3. 主界面使用window.addEventListener监控message事件,并使用vuex(vue状态管理框架)或redux(react)存放并监控数据的变化,进行路由跳转,从而改变调转后的页面里的iframe的url的变化。

你可能感兴趣的:(接入广发系统开发指南)