快速上手|飞书低代码平台

快速上手|飞书低代码平台

飞书低代码平台手册精选NaN-NaN-NaN
产品功能
阅读本文档,你将了解到:如何在「飞书低代码平台」中,从零开发一个自定义组件,用于桌面端使用。
  • @kunlun-dx/cli 命令行工具的作用与基本用法
  • 创建、编译、调试自定义组件的方法
  • 发布自定义组件的方法
关于自定义组件
在「飞书低代码平台」中,已内置许多 UI 组件,支持表格、图片、文本、HTML 片段等。
这些组件能满足大部分常规需求,但依然无法满足全部应用场景,包括:
(1)现有组件不支持的能力。例如,期望在表格中“定制某些数据列的展示逻辑“,如图所示。
250px|700px|reset
(2)现有组件的组合逻辑复杂,想要达到一些预期效果时,会导致开发与维护成本过高。例如,期望以时间轴方式展示数据,如图所示。
250px|700px|reset
简言之,当 「飞书低代码平台」 内置的组件无法满足你的全部要求时,就可以考虑开发一个 自定义组件
自定义组件 的开发并不复杂,分为以下步骤:
  1. 安装 @kunlun-dx/cli 命令行工具(需要用它进行编译、调试、上传部署代码等)
  1. 登录授权
  1. 创建组件
  1. 编译调试组件
  1. 在页面编辑器中使用组件
  1. 发布组件
创建第一个自定义组件
(一)安装 CLI 工具
首先,我们来安装 @kunlun-dx/cli工具:
yarn add global @kunlun-dx/cli
# 或者
npm i -g @kunlun-dx/cli
提示:由于「飞书低代码平台」 自定义组件强依赖于 Node.js,推荐参考章节《Node.js 安装配置》,先进行Node.js的安装配置。同时,我们更推荐使用 yarn 作为项目的包管理器,相对比较稳定且性能较优异。
命令执行完毕后,可以用 kldx -v 命令测试是否安装成功:
250px|700px|reset
目前,@kunlun-dx/cli 最新版本为 0.2.16,支持在「飞书低代码平台」 中【拉取应用代码】、【登录】、【创建组件】、【组件调试】等多种特性:
250px|700px|reset
💡
提示:初次安装可能会遇到 Node 版本不兼容、用户无全局安装权限问题,可参考文章后面「常见问题」章节解决。
当前,在快速上手阶段,不会用到太多命令,我们按步骤往下操作即可。
(二)登录
安装 「飞书低代码平台」 CLI 工具之后,你需要首先执行登录命令:
kldx auth login
执行完毕后命令行会要求你输tenant domain name 信息,即【租户域名】:
250px|700px|reset
【租户域名】可以进入准备开发的项目页面获取,可参见 常见问题 FAQ - 如何查看自己所需调试应用的租户名称 一节了解获取租户名称的详情。
上图中的 apaas-dev1978 就是我们需要用到的值。将该值录入到命令行工具后,会弹出「飞书」登录授权页面,我们点击【授权】按钮后,即可成功登录。
(三)克隆代码
完成了【登录】命令,我们接下来克隆项目代码:
kldx project clone ${namespace}
这里需要用到 namespace 参数,这个参数在应用详情页的 URL ,也可以直接获取,如下图所示:
250px|700px|reset
URL 中的 package_xxx 路径就是应用的 namespace,我们使用该值执行命令:
kldx project clone package_copyaaddawcathqao__c
执行上述命令后,CLI 会帮我们拉取线上应用代码到本地的 namespace 目录:
250px|700px|reset
这就是项目初始化代码,可以看到只有 kldx-project.json 配置文件与 user-interface 文件夹
接下来,我们开始创建自定义组件。
(四)创建组件
下载项目代码后,我们可以开始创建自定义组件。
# 首先进入刚刚 clone 下来的项目文件夹
cd ${namespace}
# 接着,调用 kunlun cli 命令:
kldx component create ${component name}
如下图所示:
250px|700px|reset
命令执行完毕后,CLI 会在本地创建组件名对应的组件代码目录,如下图所示:
250px|700px|reset
组件代码目录中默认包含如下文件:
  • index.meta.json:用于定义组件名称、Icon、适用场景(小程序、桌面端)等基础配置
  • index.tsx:自定义组件的入口代码文件
先来看看默认创建出来的 index.tsx 组件代码:
import React from "react";
import { BaseComponent } from '@kunlun-dx/component';
export default class CustomTable extends BaseComponent {
render(): React.ReactNode {
return (
<span>Hello Kunlun DX!</span>
);
}
}
如上所示,这是一个使用 TypeScript 编写的 React Class-Base Component 组件。
假设你已经是一个熟练的 React 开发者,接下来你可以复用你所熟悉的大多数开发方法,改造这个自定义组件的功能;如果你并没有 React 开发经验,建议你先简单过一遍 React 官方文档之后,再回过头来继续阅读下面的内容。
提示:我门也可以使用 kldx component create xxx --template令选择自定义组件模板,具体方法可以参考章节《使用 CLI 开发自定义组件
(五)组件编译
组件创建完毕后,我们该开始让代码跑起来。这里需要要用的命令是:
import React from "react";
import { BaseComponent } from '@kunlun-dx/component';
export default class CustomTable extends BaseComponent {
render(): React.ReactNode {
return (
<span>Hello Kunlun DX!</span>
);
}
}
提示:内网最新 Preview 版本0.9.1 ,开发命令略有差异:kldx component dev
⚠️ 注意,首次运行会报错:
250px|700px|reset
这个错误的意思是“找不到 package.json 文件” ,是 CLI@0.2.16 的 Bug(后续版本已修复),所以这里需要手动初始化开发环境:
cd component
yarn init -y
# 之后,还需要手动添加 @kunlun-dx/sdk 基础依赖,否则会报错
yarn add @kunlun-dx/sdk
⚠️ 注意上面命令中还需要手动添加 @kunlun-dx/sdk 基础环境包,如下图所示:
250px|700px|reset
之后,再次运行调试命kldx dev
250px|700px|reset
到此,即可正常执行了。
💡
小结:@kunlun-dx/cli@0.2.16 首次运行可能会遇到环境未初始化问题,需要手动创建 package.json 文件并安装基础依赖 @kunlun-dx/sdk 包。
(六)使用组件
自定义组件 目前还不支持本地调试、运行,只能放在 「飞书低代码平台」 云环境中执行。
所以在上一步命令 kldx dev 执行完毕后,我们需要手动打开 「飞书低代码平台」 项目线上编辑器,步骤如下:
  1. 进入 「飞书低代码平台」 项目列表页
  1. 选择你正在开发的项目,并点击【开发】按钮,进入项目编辑页
    250px|700px|reset
  1. 点击【开发应用】按钮:
250px|700px|reset
  1. 点击【应用页面】菜单项,进入应用页面列表页:
250px|700px|reset
  1. 点击需要修改的页面,如图所示:
250px|700px|reset
  1. 进入“应用页面编辑器”。在页面左侧的“组件”菜单栏中,包含“标准组件”、“自定义组件”两个子菜单,如图所示:
250px|700px|reset
标准组件: 官方提供的默认组件,支持布局、导航、按钮、图片、表格等等
自定义组件:由你开发的自定义组件
⚠️ 注意,如果CLI工具为 0.2.16 版本,切换到“自定义组件”面板,会显示暂无内容:
250px|700px|reset
这种情况,我们需要手动将上一步 kldx dev 命令生成的 localStorage 变量设置到浏览器中,复制下面这段代码:
250px|700px|reset
进入“应用页面编辑器”,打开浏览器的开发者工具,输入代码并回车:
250px|700px|reset
再次刷新页面,就可以看到正在开发的自定义组件了:
250px|700px|reset
💡
小结:@kunlun-dx/cli@0.2.16 没有自动关联开发环境与线上环境状态,因此我们需要手动设置 localStorage 变量,才能在线上编辑器中看到我们开发的自定义组件。
到这里,环境已设置完毕。接下来,我们就可以在页面编辑器里,将组件添加到页面中,如下图所示:
250px|700px|reset
提示:「飞书低代码平台」 没有过多限制 自定义组件 的开发方法。在 React 技术栈大前提下,你可以灵活选择你所熟悉的大多数 UI 组件框架、工具库、状态管理工具等,后面章节我们会针对每一个技术主题展开详细剖析应用方法与最佳实践。
(七)组件调试
经过前面步骤,我们即可搭建起【自定义组件】的基本开发环境,编写组件代码并在页面上运行了。
现在,我们进行到组件调试阶段,这里需要学习一个重要工具:断点调试。操作步骤如下:
  • 修改组件代码,插入断点调试语句 debugger
import React from "react";
import { BaseComponent } from '@kunlun-dx/component';
export default class CustomTable extends BaseComponent {
render(): React.ReactNode {
+ debugger;
return (
<span>Hello World!</span>
);
}
}
  • 保存代码,之后打开浏览器的开发者工具,并刷新编辑器页面。如下方视频所示:
提示: @kunlun-dx/cli@0.2.16 版本暂未支持 HMR 功能,每次修改后,建议手动刷新编辑器页面
可以看到,浏览器渲染该组件时遇到 debugger 语句进入断点调试模式,此后我们就可以使用浏览器的各种 Debug 技巧,调试组件代码。
💡
小结:与开发普通组件相似,直接在组件中插入 debugger 语句,打开浏览器开发者工具就可以实现组件调试~
(八)发布组件
组件开发完毕后,接下来我们需要将组件代码推送到线上,执行命令:
kldx source push
如图所示:
250px|700px|reset
执行命令后,@kunlun-dx/cli 会将代码上传到 「飞书低代码平台」 代码仓库中,并自动完成编译部署操作。至此,组件代码完成发布,后续能够脱离开发态独立运行,包括:
  • 不需要设置 localstorage 变量即可使用
  • 发布到正式线上环境使用(如图所示,点击【去发布】按钮)
250px|700px|reset
常见问题 FAQ
(一)无全局安装权限
在Mac 或 Linux 系统下,首次安装 @kunlun-dx/cli 工具时可能会报 permission denied 错误:
250px|700px|reset
这是因为:当前登录用户没有全局 NPM 目录写权限。可通过创建一个新的安装目录解决,步骤如下:
  • 创建一个新的目录:
mkdir ~/.npm-global
  • 设置安装目录:
npm config set prefix '~/.npm-global'
  • 修改环境变量:
echo "export PATH=~/.npm-global/bin:$PATH" >> ~/.profile
source ~/.profile
  • 再次执行安装命令即可:
yarn add global @kunlun-dx/cli
(二)Windows 系统安全策略问题
在 Windows 上,执行 kldx dev 命令时可能报错:
250px|700px|reset
此时只需要在 dev 命令前执行 set-ExecutionPolicy RemoteSigned 即可:
set-ExecutionPolicy RemoteSigned
kldx dev
了解更多
先进生产力和业务协同平台
联系我们立即试用

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
快速上手|飞书低代码平台
先进生产力和业务协同平台
联系我们立即试用
联系我们立即试用