vant-weapp/types/wx.d.ts
2019-02-02 16:18:12 +08:00

455 lines
11 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

interface SystemInfo {
/**
* 设备品牌
*/
brand: string
/**
* 设备型号
*/
model: string
/**
* 设备像素比
*/
pixelRatio: number
/**
* 屏幕宽度单位px
*/
screenWidth: number
/**
* 屏幕高度单位px
*/
screenHeight: number
/**
* 可使用窗口宽度单位px
*/
windowWidth: number
/**
* 可使用窗口高度单位px
*/
windowHeight: number
/**
* 状态栏的高度单位px
*/
statusBarHeight: number
/**
* 微信设置的语言
*/
language: string
/**
* 微信版本号
*/
version: string
/**
* 操作系统及版本
*/
system: string
/**
* 客户端平台
*/
platform: string
/**
* 用户字体大小单位px。以微信客户端「我-设置-通用-字体大小」中的设置为准
*/
fontSizeSetting: number
/**
* 客户端基础库版本
*/
SDKVersion: string
/**
* 设备性能等级仅Android小游戏。取值为-2 或 0该设备无法运行小游戏-1性能未知>=1设备性能值该值越高设备性能越好目前最高不到50
*/
benchmarkLevel: number
}
type TimingFunction =
| 'linear'
| 'ease'
| 'ease-in'
| 'ease-in-out'
| 'ease-out'
| 'step-start'
| 'step-end';
interface AnimationOptions {
/**
* 动画持续时间单位ms
*/
duration?: number
/**
* 定义动画的效果
*/
timingFunction?: TimingFunction
/**
* 动画延迟时间,单位 ms
*/
delay?: number
/**
* 设置transform-origin
*/
transformOrigin?: string
}
interface Animation {
/**
* 导出动画队列。export 方法每次调用后会清掉之前的动画操作。
*/
export(): object
/**
* 表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。
*/
step(object: AnimationOptions): void
/**
* 透明度,参数范围 0~1
*/
opacity(value: number): Animation
/**
* 颜色值
*/
backgroundColor(color: string): Animation
/**
* 长度值,如果传入 Number 则默认使用 px可传入其他自定义单位的长度值
*/
width(length: number): Animation
/**
* 长度值,如果传入 Number 则默认使用 px可传入其他自定义单位的长度值
*/
height(length: number): Animation
/**
* 长度值,如果传入 Number 则默认使用 px可传入其他自定义单位的长度值
*/
top(length: number): Animation
/**
* 长度值,如果传入 Number 则默认使用 px可传入其他自定义单位的长度值
*/
left(length: number): Animation
/**
* 长度值,如果传入 Number 则默认使用 px可传入其他自定义单位的长度值
*/
bottom(length: number): Animation
/**
* 长度值,如果传入 Number 则默认使用 px可传入其他自定义单位的长度值
*/
right(length: number): Animation
/**
* deg的范围-180~180从原点顺时针旋转一个deg角度
*/
rotate(deg: number): Animation
/**
* deg的范围-180~180在X轴旋转一个deg角度
*/
rotateX(deg: number): Animation
/**
* deg的范围-180~180在Y轴旋转一个deg角度
*/
rotateY(deg: number): Animation
/**
* deg的范围-180~180在Z轴旋转一个deg角度
*/
rotateZ(deg: number): Animation
/**
* 同transform-function rotate3d
*/
rotate3d(x: number, y: number, z: number, deg: number): Animation
/**
* 一个参数时表示在X轴、Y轴同时缩放sx倍数两个参数时表示在X轴缩放sx倍数在Y轴缩放sy倍数
*/
scale(sx: number, sy?: number): Animation
/**
* 在X轴缩放sx倍数
*/
scaleX(sx: number): Animation
/**
* 在Y轴缩放sy倍数
*/
scaleY(sy: number): Animation
/**
* 在Z轴缩放sy倍数
*/
scaleZ(sz: number): Animation
/**
* 在X轴缩放sx倍数在Y轴缩放sy倍数在Z轴缩放sz倍数
*/
scale3d(sx: number, sy: number, sz: number): Animation
/**
* 一个参数时表示在X轴偏移tx单位px两个参数时表示在X轴偏移tx在Y轴偏移ty单位px。
*/
translate(tx: number, ty?: number): Animation
/**
* 在X轴偏移tx单位px
*/
translateX(tx: number): Animation
/**
* 在Y轴偏移tx单位px
*/
translateY(tx: number): Animation
/**
* 在Z轴偏移tx单位px
*/
translateZ(tx: number): Animation
/**
* 在X轴偏移tx在Y轴偏移ty在Z轴偏移tz单位px
*/
translate3d(tx: number, ty: number, tz: number): Animation
/**
* 参数范围-180~180一个参数时Y轴坐标不变X轴坐标延顺时针倾斜ax度两个参数时分别在X轴倾斜ax度在Y轴倾斜ay度
*/
skew(ax: number, ay?: number): Animation
/**
* 参数范围-180~180Y轴坐标不变X轴坐标延顺时针倾斜ax度
*/
skewX(ax: number): Animation
/**
* 参数范围-180~180X轴坐标不变Y轴坐标延顺时针倾斜ay度
*/
skewY(ay: number): Animation
/**
* 同transform-function matrix
*/
matrix(
a: number,
b: number,
c: number,
d: number,
tx: number,
ty: number
): Animation
/**
* 同transform-function matrix3d
*/
matrix3d(): Animation
}
interface FieldsOptions {
/**
* 是否返回节点 id
*/
id?: boolean
/**
* 是否返回节点 dataset
*/
dataset?: boolean
rect?: boolean
size?: boolean
scrollOffset?: boolean
properties?: string[]
computedStyle?: string[]
context?: boolean
}
interface BoundingClientRect {
id: string
dataset: object
left: number
right: number
top: number
bottom: number
width: number
height: number
}
interface IntersectionRect {
/**
* 左边界
*/
left: number
/**
* 右边界
*/
right: number
/**
* 上边界
*/
top: number
/**
* 下边界
*/
bottom: number
}
interface ScrollOffset {
/**
* 节点的 ID
*/
id: string
/**
* 节点的 dataset
*/
dataset: Object
/**
* 节点的水平滚动位置
*/
scrollLeft: number
/**
* 节点的竖直滚动位置
*/
scrollTop: number
}
interface NodesRef {
/**
* 获取节点的相关信息。需要获取的字段在fields中指定。返回值是 nodesRef 对应的 selectorQuery
*/
fields(object: FieldsOptions): object
/**
* 添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。其功能类似于 DOM 的 getBoundingClientRect。返回 NodesRef 对应的 SelectorQuery。
*/
boundingClientRect(callback: (res: BoundingClientRect) => void): SelectorQuery
/**
* 添加节点的滚动位置查询请求。以像素为单位。节点必须是 scroll-view 或者 viewport返回 NodesRef 对应的 SelectorQuery。
*/
scrollOffset(callback: (res: ScrollOffset) => void): SelectorQuery
/**
* 添加节点的 Context 对象查询请求。目前支持 VideoContext、CanvasContext、LivePlayerContext 和 MapContext 的获取。
*/
context(callback: (res: { content: any }) => void): SelectorQuery
}
interface SelectorQuery {
/**
* 将选择器的选取范围更改为自定义组件 component 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。
* @param component [description]
*/
in(component: Weapp.Component): SelectorQuery
/**
* 在当前页面下选择第一个匹配选择器 selector 的节点。返回一个 NodesRef 对象实例,可以用于获取节点信息。
*/
select(selector: string): NodesRef
/**
* 在当前页面下选择匹配选择器 selector 的所有节点。
*/
selectAll(selector: string): NodesRef
/**
* 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息。
*/
selectViewport(): NodesRef
/**
* 执行所有的请求。请求结果按请求次序构成数组在callback的第一个参数中返回。
*/
exec(callback?: Function): NodesRef
}
interface ObserverOptions {
/**
* 一个数值数组,包含所有阈值。
*/
thresholds?: number[]
/**
* 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。
*/
initialRatio?: number
/**
* 是否同时观测多个目标节点(而非一个),如果设为 true observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能)
*/
observeAll?: boolean
}
interface Margins {
/**
* 节点布局区域的左边界
*/
left: number
/**
* 节点布局区域的右边界
*/
right: number
/**
* 节点布局区域的上边界
*/
top: number
/**
* 节点布局区域的下边界
*/
bottom: number
}
interface IntersectionObserver {
/**
* 停止监听。回调函数将不再触发
*/
disconnect(): void
/**
* 使用选择器指定一个节点,作为参照区域之一。
*/
relativeTo(selector: string, object: Margins): IntersectionObserver
/**
* 指定页面显示区域作为参照区域之一
*/
relativeToViewport(object: Margins): IntersectionObserver
/**
* 指定目标节点并开始监听相交状态变化情况
*/
observe(
selector: string,
callback: (
object: {
/**
* 相交比例
*/
intersectionRatio: number
/**
* 相交区域的边界
*/
intersectionRect: IntersectionRect
/**
* 目标边界
*/
boundingClientRect: IntersectionRect
/**
* 参照区域的边界
*/
relativeRect: IntersectionRect
/**
* 相交检测时的时间戳
*/
time: number
}
) => void
): void
}
interface Wx {
/**
* 获取系统信息
*/
getSystemInfo(object: {
success: (res: SystemInfo) => void
fail?: () => void
complete?: () => void
}): void
/**
* 获取系统信息
*/
getSystemInfoSync(): SystemInfo
/**
* 创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。
*/
createAnimation(object: AnimationOptions): Animation
/**
* 返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 this.createSelectorQuery() 来代替。
*/
createSelectorQuery(): SelectorQuery
createIntersectionObserver(
component: Weapp.Component,
options: ObserverOptions
): IntersectionObserver
}
declare const wx: Wx;