钉钉小程序全局配置包括通过app.js注册小程序、app.json全局配置等。
App方法接收一个Object作为参数,用来配置小程序的生命周期回调。
App方法必须在app.js里调用,且不能调用多次。
Object的属性列表如表4-1所示。
表4-1 Object的属性列表
示例代码:
● onLaunch(options:Object).
小程序初始化完成时触发,全局只触发一次。
options的属性列表如表4-2所示。
表4-2 options的属性列表
● onShow(options:Object).
小程序启动或者在后台被scheme重新打开时触发。参数与onLaunch一致。
● onHide.
当小程序从前台状态进入后台状态时触发。
● onError.
当小程序发生JavaScript错误时触发。
app.json用于进行全局配置,可设置页面文件的路径、窗口表现、网络超时时间及多tab等。
以下是一个包含部分配置选项的简单app.json全局配置示例:
app.json配置项如表4-3所示。
表4-3 app.json配置项
1.pages
app.json中的pages配置项是一个数组,数组中的每一项都是字符串,用于指定小程序的页面。每一项代表对应页面的路径信息,数组的第一项代表小程序的首页。页面路径不需要写.js后缀,框架会自动加载同名的.json、.js、.axml、.acss文件。
当小程序中新增/减少页面时,都需要对pages数组进行修改。
如果开发目录为:
则需要在app.json中编写如下代码:
2.window
window配置项用于设置通用的状态栏、导航栏、标题、窗口背景颜色,其属性列表如表4-4所示。
表4-4 window属性列表
● HexColor使用十六进制颜色值,如#FF00FF。
● 如果要开启下拉刷新事件,则需要将pullRefresh的值设置为true。
示例代码:
3.tabBar
如果你的小程序是一个多tab应用(客户端窗口的底部栏可以切换页面),那么可以通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面,其属性列表如表4-5所示。
表4-5 tabBar的属性列表
通过页面跳转(dd.navigateTo)或者页面重定向(dd.redirectTo)所到达的页面,即使它是定义在tabBar配置中的页面,也不会显示底部的tab栏。另外,tabBar的第一个页面必须是首页。
items中每个item的属性配置如表4-6所示。
表4-6 item的属性配置
续表
图标推荐大小为60px×60px,系统会对任意传入的图片进行非等比拉伸/缩放操作。
示例代码:
小程序提供了全局的getApp方法,该方法可以获取小程序实例,一般用于在各个子页面中获取顶层应用。
示例代码:
● App方法必须在app.js中调用,且不能调用多次。
● 不要在App方法内定义的函数中调用getApp方法,使用this就可以获取app实例。
● 不要在onLaunch里调用getCurrentPages,这个时候page还没有生成。
● 通过getApp方法获取实例之后,不要私自调用生命周期方法。
● 全局变量如果在一个页面中被改变,该操作会在所有页面中都有效。
全局的数据可以在App方法中设置,各个子页面通过getApp方法可以获取全局的应用实例。
app.js示例代码:
a.js示例代码:
b.js示例代码:
在上述代码中,a.js和b.js都声明了变量localValue,它们不会互相影响,因为各个脚本声明的变量和函数只在该文件中有效。
钉钉小程序可以配置Native渲染的tabBar和titleBar部分的多语言文案。多语言配置通过小程序全局配置文件和页面配置文件进行注入。
多语言配置目前支持zh_CN(简体中文)、zh_TW(繁体中文—台湾)、zh_HK(繁体中文—香港)、en_US(美式英文)、ja_JP(日文)5种语言。
示例代码: