网站首页 > 技术文章 正文
已经申请了自定义工作台,但是官方基础组件和三方组件都不满足诉求,组织又具备一定的开发能力,那钉钉工作台自定义组件将是你很好的选择。这里采用开发一个简单的自定义新闻组件来作为DEMO。由于组件开发是基于钉钉小程序,因此需要具备一定的小程序开发知识。钉钉小程序基础教程如文档所示:https://developers.dingtalk.com/document/app/introduction-to-dingtalk-mini-programs
基础概念介绍
概念 | 介绍 |
自定义工作台 | 钉钉最中间的TAB,默认是钉钉官方提供的标准工作台,申请权限后可以获得自定义工作台权限,自定义工作台是组织管理员登录开发者后台采用是设计器配置生效后生成 |
工作台页面 | 自定义工作台可以包含若干个页面,可以选择一个页面作为当前首页加载的页面 |
组件 | 工作台元素组成的最小单位,一个组件包含了运行一个业务逻辑的最小小程序单元 |
插件 | 一组组件的集合,至少包含一个组件。 |
数据源 | 组件内运行所需要的外部数据源,默认仅支持HTTP数据源 |
一、创建自定义插件
登录开发者后台,选择右边导航的【工作台】-【插件管理】-【创建插件】。选择”定制组件“后点击”创建插件“。
二、注册数据源
由于新闻组件需要使用到服务端的HTTP接口,因此需要提前注册一个HTTP接口。数据源比较简单,就是HTTP返回一个JSON请求,请求包含字段title和对应的内容。
完成上述数据源的创建并保存,后面IDE开发组件将会用到上述的数据源,注意apiKey和apiSecret都是自定义约定的值,需要填充到组件代码中。
三、IDE开发组件
完成上面的设置后,下载IDE开发工具,扫码登录后,关联组织内的插件。IDE会自动下载DEMO工程并跟远端进行关联。使用IDE进行本地开发,本DEMO就是开发一个组件,内容是加载远端的HTTP接口,并且把数据显示在工作台上。
开发成功的截图如下所示:
核心小程序代码如下:
//这里是获取远程数据
const data = await getSdk().request(this.props.componentProps.news_for_test,{},{
// sdk.request的第三个参数,输入注册数据源的信息
url: 'http://www.javaer.com.cn/news/news.php',
apiKey: 'news_for_test',
httpMethod: 'GET',
params:"",
apiSecret: 'news_for_test',
});
console.log(data);
//渲染本地页面
this.setData({title:data.title})
<view class="component-template">
新闻标题:{{title}}
</view>
注意在对应模块的config.json中注册好数据源:
"dataSources": [{
"apiKey": "news_for_test",
"propName": "news_for_test"
}]
四、上传组件并提交审批
组件开发并验证完成后,即可提交审批,自定义组件审批后自动通过,通过后即可上架,上架后即可在设计器里看到组件,可以把组件拖拽到设计器内,生效到工作台,用户即可看到效果。
五、实际效果
实际效果如上述所示,在工作台上已经可以显示出自定义的新闻组件并生效。上面仅仅是一个简单的案例,组织可以根据自己的需要,开发出各式各样符合自身需要的工作台,只要具备开发能力,基本上可以完全做到组织任意想要的视觉效果。
更多自定义组件开发介绍可以参考:https://developers.dingtalk.com/document/dashboard/dashboard-component-develop-overview
猜你喜欢
- 2024-10-25 号外号外:网关是什么意思?网关的作用是什么?
- 2024-10-25 MIUI里面的原声安卓功能详解(miui 原生安卓)
- 2024-10-25 恕我直言,牛逼哄哄的MongoDB你可能只会30%
- 2024-10-25 网络基本概念和测试(网络的基础知识)
- 2024-10-25 过程控制系统PCS 7 简要概述和视图
- 2024-10-25 Config 2022 落幕!这15项新功能让 Figma 更简单好用了
- 2024-10-25 路由器WPS功能有什么用?家里买路由器必须要这个功能吗
- 2024-10-25 一个注解搞定责任链,学还是不学?
- 2024-10-25 系统小技巧:有备无患 Windows 10注册表自动备份/还原
- 2024-10-25 交换机的基本配置方法及VLAN常用命令详解
- 11-26Win7\8\10下一条cmd命令可查得笔记本电脑连接过的Wifi密码
- 11-26一文搞懂MySQL行锁、表锁、间隙锁详解
- 11-26电脑的wifi密码忘记了?一招教你如何找回密码,简单明了,快收藏
- 11-26代码解决忘记密码问题 教你用CMD命令查看所有连接过的WIFI密码
- 11-26CMD命令提示符能干嘛?这些功能你都知道吗?
- 11-26性能测试之慢sql分析
- 11-26论渗透信息收集的重要性
- 11-26如何查看电脑连接过的所有WiFi密码
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)