# 打开飞书审批 
从飞书 7.3.0 版本开始支持。
## 使用场景

在某些场景下，需要从企业内部系统或者别的小程序，跳转到飞书审批的指定页面，这时候需要使用 applink 拼接一个页面，并在合理的场景下调用。

## 协议

飞书审批固定使用 Applink 打开小程序协议，有关 AppLink 的详细内容可参考文档[AppLink的结构](https://open.feishu.cn/document/uYjL24iN/ucjN1UjL3YTN14yN2UTN)。

`https://applink.feishu.cn/client/mini_program/open`

## 参数

**字段** | **必填** | **说明**                                      |
| ------ | ------ | ------------------------------------------- |
| appId  | 是      | 审批的应用 ID。其中飞书品牌下审批的应用 ID 为 `cli_9cb844403dbb9108`，<br> Lark 品牌下审批的应用 ID 为`cli_9c7cc8a9a9edd105`。 |
| path   | 是      | 跳转的审批页面路径及相关参数。详情参考下文。                      |
| mode   | 否      | 只有在侧边栏模式下需要，侧边栏模式为 `mode=sidebar-semi`。

### path  参数说明

审批页面 | 移动端页面路径 | PC 端页面路径 | 是否支持 PC 侧边栏
---|---|---|---
发起申请页 | `pages/approval-form/index?id=${审批定义id}` | `pc/pages/create-form/index?id=${审批定义id}` | 不支持
单据详情页 | `pages/detail/index?instanceId=${审批实例id或实例code}` | `pc/pages/in-process/index?instanceId=${审批实例id或实例code}` | 支持，同移动端
审批中心页 | `pages/approval-list/index?selectIndex=${对应列表下标}`<br>列表下标枚举值：<br>- 待审批`0`<br>- 已审批`1`<br>- 抄送我 `2`<br>- 已发起 `3` | `pc/pages/${列表路径}/index`<br>列表路径枚举值：<br>- 待审批 `in-process`<br>- 已审批 `approved` <br>- 抄送我 `cc-2-me` <br>- 已发起 `requested` | 不支持

- 审批实例 code 获取方式：调用[批量获取审批实例 ID](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/approval-v4/instance/list)接口获取

- 审批定义 id 获取方式：通过审批管理后台打开某个审批的编辑页，从 url 链接中获取：

![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/0f13c062ae7ded0fa5e2e1cff1aa1756_WQj6kAs36R.png?height=1502&lazyload=true&maxWidth=640&width=2740)

## 打开方式

### 浏览器打开

从浏览器跳转到飞书审批应用，可以直接在浏览器进行路由跳转，跳转到拼接好的 applink 地址。
```js
const schema = 'https://applink.feishu.cn/client/mini_program/open?mode=appCenter&appId=cli_9cb844403dbb9108&width=1136&height=750&path=pc%2Fpages%2Fin-process%2Findex'
<a href={schema} />
window.location.href = schema
window.open(schema)
```

### 小程序跳转

从某个飞书小程序，跳转到飞书审批应用，需要使用客户端 API [openSchema](https://open.larkoffice.com/document/client-docs/gadget/-web-app-api/navigation/openschema)。
举例说明，其他小程序跳转到飞书审批，打开审批首页：
```js
tt.openSchema({
    schema: "https://applink.feishu.cn/client/mini_program/open?mode=appCenter&appId=cli_9cb844403dbb9108&width=1136&height=750&path=pc%2Fpages%2Fin-process%2Findex",
    external: true,
    success(res) {
      console.log(JSON.stringify(res));
    },
    fail(res) {
      console.log(`openSchema fail: ${JSON.stringify(res)}`);
    }
});
```

## 使用示例warning
- 实际场景中，请替换对应的 path、 instanceId等参数为实际值。
- 对于具体页面的路径，必须 URL 编码，如：`pages/detail/index?instanceId=123`→`pages%2Fdetail%2Findex%3FinstanceId%3D123`。

### 移动端示例

#### **打开审批单详情页**
```
https://applink.feishu.cn/client/mini_program/open?appId=cli_9cb844403dbb9108&path=pages%2Fdetail%2Findex%3FinstanceId%3D7418929504369377284
```

![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/a9557c6854bfd4cdd4ffafa0f71356ad_PPlbC3eSbY.jpeg?height=2341&lazyload=true&maxWidth=450&width=1080)

#### **打开审批表单页（发起页）**
```
https://applink.feishu.cn/client/mini_program/open?appId=cli_9cb844403dbb9108&path=pages%2Fapproval-form%2Findex%3Fid%3D7418928911667068932
```
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/461d92df78e047efaed53e2857a29635_J3CwNOYYKa.jpeg?height=2341&lazyload=true&maxWidth=450&width=1080)

#### **打开审批列表**
```
https://applink.feishu.cn/client/mini_program/open?appId=cli_9cb844403dbb9108&path=pages%2Fapproval-list%2Findex%3FselectIndex%3D0
```
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/ab8f61ccef04a49f60c0f6c9617f84d8_4xqADQAtFp.jpeg?height=2341&lazyload=true&maxWidth=450&width=1080)

### PC 端示例

#### **打开审批中心详情页**
```
https://applink.feishu.cn/client/mini_program/open?mode=appCenter&appId=cli_9cb844403dbb9108&path=pc%2Fpages%2Fin-process%2Findex%3FinstanceId%3D7418929504369377284
```
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/baeb8d6acdb9744ab6fa74445db1497d_f59SXyNbYb.png?height=1798&lazyload=true&maxWidth=700&width=3080)

#### **打开审批列表**
```
https://applink.feishu.cn/client/mini_program/open?mode=appCenter&appId=cli_9cb844403dbb9108&path=pc%2Fpages%2Fin-progress%2Findex
```
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/94e760e9e4fdea6900dcbc582650e13a_ZkzO9zUn8n.png?height=1802&lazyload=true&maxWidth=700&width=3116)

若打开已办审批列表，需要同时加上 approved 页面路径和 reviewed 参数：
```
https://applink.feishu.cn/client/mini_program/open?mode=appCenter&appId=cli_9cb844403dbb9108&path=pc%2Fpages%2Fapproved%2Findex%3Ftab_name%3Dreviewed
```
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/f5e996c37adfb6be108bb470d8e08f14_NDKqIhjhNH.png?height=1802&lazyload=true&maxWidth=700&width=3120)

#### **打开审批表单页（发起页）**
```
https://applink.feishu.cn/client/mini_program/open?mode=appCenter&appId=cli_9cb844403dbb9108&path=pc%2Fpages%2Fcreate-form%2Findex%3Fid%3D7418928911667068932
```
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/158026ffb7e043ccd42c80cc594f7838_oQZTVOGjH7.png?height=1682&lazyload=true&maxWidth=700&width=3078)

### PC 侧边栏/分页器示例

#### **打开审批单详情页**

**⚠️侧边栏需要增加mode=sidebar-semi参数，其他与移动端一致**：
```
https://applink.feishu.cn/client/mini_program/open?appId=cli_9cb844403dbb9108&mode=sidebar-semi&path=pages%2Fdetail%2Findex%3FinstanceId%3D7418929504369377284
```
![](//sf3-cn.feishucdn.com/obj/open-platform-opendoc/b42edb609a42c0a10f0d7992a17660f7_LuBqxzxPXL.png?height=1680&lazyload=true&maxWidth=700&width=3076)