本书是钉钉官方技术团队聚力编写的钉钉小程序开发教程,内容权威、全面、系统。众所周知,数字化转型已经成为全球企业的重要战略,越来越多的企业已认同数字化转型是大势所趋。本书为数字化转型落地提供了可行的技术支撑。利用钉钉小程序开发的应用,被汇聚在应用市场中,可以服务于个人和企业,更好地帮助企业进行数字化转型。
本书从钉钉小程序的技术原理出发,细致且全面地对钉钉小程序的开发内容进行介绍,由浅入深地引领开发者了解钉钉小程序的开发工具、组件、JSAPI等,并提供了钉钉小程序实战案例,详细介绍了从成为一名钉钉开发者到小程序应用上架的每一步流程。
本书适合有一定前端基础的开发者使用,如果有其他小程序开发经验,则能更快地接受和理解本书内容,因为它们在一些基本概念和底层技术上是共通的。本书可以作为钉钉小程序的入门学习指南,也可以作为API速查工具书。
1.本书是钉钉官方技术团队聚力编写的钉钉小程序开发教程,内容权威、全面、系统。
2.众所周知,数字化转型已经成为全球企业的重要战略,越来越多的企业已认同数字化转型是大势所趋。本书为数字化转型落地提供了可行的技术支撑。利用钉钉小程序开发的应用,助力企业实现组织数字化和业务数字化。
本书适合有一定前端基础的开发者使用,如果有其他小程序开发经验,则能更快地接受和理解本书内容,因为它们在一些基本概念和底层技术上是共通的。本书可以作为钉钉小程序的入门学习指南,也可以作为API 速查工具书。
近20年,互联网发展的主要核心是消费互联网的发展。当前消费互联网格局已定,产业互联网时代正开始启动。移动互联网促进了网络的快速普及,虚拟化进程从个人延伸到企业,企业成为互联网的核心参与者之一。行业纵深领域经验、渠道、网络、2B产品认知等壁垒是产业互联网的核心价值所在,所以产业互联网的春天已经来临。未来产业互联网将影响信息、交易、定价、流通等企业全链路数字化,而产业链在互联网化过程中能否有效把控和使用这些资源,关系到一国的核心竞争实力和国家安全,同时产业互联网也是我国经济转型升级的助推器。
2020年突发的新冠肺炎疫情,对我国经济、社会等多方面的“数字化转型”起着巨大的推动作用。数字化的技术、管理、文化、理念等被广泛应用到疫情防控(健康码等)、贸易、金融、教育、行政管理,以及农业、工业、服务业等多个方面。
钉钉小程序希望可以成为帮助企业数字化转型的基础产品设施之一,助力企业实现组织数字化和业务数字化。在疫情期间,钉钉小程序有效助力企业员工在家办公(在线会议、协同办公等功能)、学生在线上课、企事业单位复工复产等。
在2021年10月13日的未来组织大会上,钉钉总裁不穷讲到钉钉提供了业务数字化的五字诀:选、搭、建、连、跨。钉钉在应用市场提供了上千款精选的SaaS应用,同时提供了应用聚合平台(钉钉搭),该平台已包含八大低代码合作伙伴、六百套精品模板,企业可定制修改,建立符合自己的业务数字化系统。钉钉可以连接平台,可以让业务系统CRM与财务系统进行连接,还可以让用户的CRM更好地与钉钉平台的基础底座能力进行连接,比如权限系统、认证系统等。钉钉也提供了非常丰富的场景,将这些业务应用放入场景,让用户在工作沟通的过程中就可以完成一个业务。钉钉还提供了工作台、群、服务窗、互动卡片等各种形式,帮助企业快速地将业务应用连接到钉钉,同时让这些业务应用之间能快速地连接。
钉钉小程序就是帮助企业在钉钉上可以快速开发和承载上述应用和系统的技术。本书将带领读者从认识—上手—开发—使用这几个阶段由浅入深地了解钉钉小程序诞生的全生命周期,以及介绍如何使用钉钉小程序技术从无到有开发一款具备数字化能力的应用。本书从钉钉小程序基础组件、JSAPI到实战开发,提供了非常详细且完整的设计规范。除此之外,还用具体案例和丰富的示例代码帮助读者将本书的知识点更好地融会贯通到具体实战中,以便读者更快地掌握钉钉小程序开发技能,进而更好地服务个人和企业,帮助更多的企业实现两个数字化。
陈岳阳(九穆)
阿里巴巴资深技术专家
钉钉开放平台技术负责人
浙江大学在读博士
杨 鹤
阿里云智能钉钉事业部技术文档专家。十年技术文档写作经验,曾负责阿里云云计算网络产品的全生命周期文档管理与开发,设计了API文档自动化流程。专注于开发者文档的探索和运营,构建开发者教程文档体系。
许 涛
云智能钉钉事业部前端技术专家,目前在钉钉开放平台负责开发者相关工具体系建设,致力于打造高效好用的开发工具,更好地服务钉钉开发者。
周子杰
云智能钉钉事业部前端开发工程师。于2021年3月硕士毕业于浙江大学,而后在钉钉开放平台从事开发者相关工具体系建设等开发工作,在前端技术世界积极探索、实践中。
陈岳阳
浙江大学在读博士,阿里巴巴资深技术专家,负责钉钉开放平台技术团队和乌鸫科技鸫风一部,在阿里经历了两件“从0到1”的事情(菜鸟、供应链),沉淀发明专利60多个。
刘晓鹏
阿里巴巴资深技术专家,从事互联网行业多年,一直负责技术相关的研发和管理工作,曾在腾讯、搜狐等公司担任技术负责人,有丰富的系统架构及平台建设经验,目前专注于营销及商业化等领域。
曲奎林
阿里巴巴高级技术专家,负责钉钉开放平台大前端研发管理工作。曾就职于搜狐、百度等公司,长期从事跨端/全栈领域的研发,有丰富的大前端架构设计经验。曾负责阿里巴巴跨端框架DX-Web的设计与实现,目前专注在开放领域,致力于打造前端开放技术体系。
第1章开发你的第一个钉钉小程序
1.1准备工作
1.2基本概念
1.3创建项目
1.4小程序开发
第2章初识钉钉小程序
2.1什么是钉钉小程序
2.1.1钉钉小程序的演进
2.1.2钉钉小程序的功能
2.1.3钉钉小程序的使用场景
2.2钉钉小程序原理解析
2.2.1概述
2.2.2Page页面原理解析
2.2.3为什么“没有DOM”
2.2.4小程序的性能优势
2.3钉钉小程序运行机制
第3章使用钉钉小程序开发者工具
3.1使用IDE创建项目
3.2钉钉小程序开发
3.3钉钉小程序调试
3.3.1本地调试
3.3.2真机预览
3.3.3真机调试
3.4钉钉小程序发布版本
第4章了解钉钉小程序框架
4.1钉钉小程序框架概述
4.1.1数据绑定
4.1.2第三方npm模块
4.2文件目录结构
4.2.1app层
4.2.2page层
4.3钉钉小程序全局配置
4.3.1通过app.js注册小程序
4.3.2app.json全局配置
4.3.3getApp方法
4.3.4多语言配置
4.4钉钉小程序页面配置
4.4.1注册小程序页面
4.4.2配置页面样式
4.4.3getCurrentPages方法
4.5视图层
4.5.1数据绑定
4.5.2条件渲染
4.5.3列表渲染
4.5.4引用
4.5.5模板
4.6自定义组件
4.6.1开发流程
4.6.2开发自定义组件
4.6.3使用自定义组件
4.6.4发布自定义组件
4.7事件
4.7.1事件概述
4.7.2事件对象
4.8样式
4.8.1rpx
4.8.2样式导入
4.8.3内联样式
4.8.4选择器
4.8.5全局样式与局部样式
4.8.6页面容器样式
4.8.7暗黑模式
4.9钉钉小程序scheme
4.9.1第三方企业应用
4.9.2第三方个人应用
4.9.3通用参数
4.9.4如何在scheme上携带业务参数
4.10SJS语法参考
4.10.1SJS概述
4.10.2变量
4.10.3注释
4.10.4运算符
4.10.5语句
4.10.6数据类型
4.10.7基础类
4.10.8Esnext
第5章使用钉钉小程序组件
5.1视图容器
5.1.1view
5.1.2swiper
5.1.3scroll-view
5.1.4movable-view
5.1.5movable-area
5.2基础内容
5.2.1text
5.2.2icon
5.2.3progress
5.2.4rich-text
5.3表单
5.3.1form
5.3.2button
5.3.3label
5.3.4input
5.3.5textarea
5.3.6radio
5.3.7radio-group
5.3.8checkbox
5.3.9checkbox-group
5.3.10switch
5.3.11slider
5.3.12pickview
5.3.13picker
5.4导航
5.5媒体
5.5.1image
5.5.2video
5.6canvas
5.7map
5.8开放能力
5.8.1web-view
5.8.2open-avatar
第6章钉钉小程序设计规范
6.1设计指南
6.1.1应用Logo符合钉钉要求
6.1.2新用户/功能引导
6.1.3用户授权
6.1.4路径清晰
6.1.5突出重点
6.1.6状态告知及引导帮助
6.1.7容错
6.1.8平等对话
6.2视觉规范
6.2.1字号
6.2.2颜色
6.2.3列表
6.2.4按钮
6.2.5图标
6.3设计走查表
6.3.1基本原则
6.3.2更好的体验
6.3.3上钉体验细则
第7章钉钉小程序实战:抽奖助手
7.1准备工作
7.2设计思路
7.2.1功能分析
7.2.2功能开发设计
7.3开发流程
7.3.1创建应用
7.3.2小程序开发初始化
7.3.3功能开发
7.3.4应用的调试与发布
第8章钉钉小程序实战:会议室管理
8.1准备工作
8.2设计思路
8.2.1功能分析
8.2.2功能开发设计
8.3开发流程
8.3.1创建应用
8.3.2小程序开发初始化
8.3.3功能开发313
8.3.4应用的调试与发布353
附录A钉钉小程序JSAPI总览356