update types for uni-app (#36317)

* fix: getStoragetSync return value is incorrect.

* fix: The type of return value type of Storage is incorrect

* added parameter for GetStorageOptions.success

* added value parameter for setStorageSync

* fix setStorageSync with value: any

* update types for uni-app

* add class EditorContext for uni-app types

* fix lint for uni-app

* remove *.vue module for uni-app

* update types for uni-app

* update types for uni-app
This commit is contained in:
折腾笔记
2019-06-27 09:35:45 -07:00
committed by Benjamin Lichtman
parent b27ccfad30
commit 855654eb09
4 changed files with 452 additions and 267 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
// Type definitions for non-npm package uni-app 1.2
// Type definitions for non-npm package uni-app 1.3
// Project: https://github.com/dcloudio/uni-app
// Definitions by: DCloud <https://github.com/dcloudio>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+164 -209
View File
@@ -1,234 +1,189 @@
declare namespace App {
interface LaunchOptions {
query: number;
}
interface ReferrerInfo {
/**
* 来源小程序或公众号或App的 appId
*
* 以下场景支持返回 referrerInfo.appId
* - 1020(公众号 profile 页相关小程序列表): appId
* - 1035(公众号自定义菜单):来源公众号 appId
* - 1036(App 分享消息卡片):来源应用 appId
* - 1037(小程序打开小程序):来源小程序 appId
* - 1038(从另一个小程序返回):来源小程序 appId
* - 1043(公众号模板消息):来源公众号 appId
*/
appId: string;
/** 来源小程序传过来的数据,scene=1037或1038时支持 */
extraData?: any;
}
type SceneValues = 1001
| 1005
| 1006
| 1007
| 1008
| 1011
| 1012
| 1013
| 1014
| 1017
| 1019
| 1020
| 1022
| 1023
| 1024
| 1025
| 1026
| 1027
| 1028
| 1029
| 1030
| 1031
| 1032
| 1034
| 1035
| 1036
| 1037
| 1038
| 1039
| 1042
| 1043
| 1044
| 1045
| 1046
| 1047
| 1048
| 1049
| 1052
| 1053
| 1054
| 1056
| 1057
| 1058
| 1059
| 1064
| 1067
| 1068
| 1069
| 1071
| 1072
| 1073
| 1074
| 1077
| 1078
| 1079
| 1081
| 1082
| 1084
| 1089
| 1090
| 1091
| 1092
| 1095
| 1096
| 1097
| 1099
| 1102
| 1103
| 1104
| number;
interface LaunchShowOption {
/** 打开小程序的路径 */
path: string;
/** 打开小程序的query */
query: AnyObject;
/**
* 打开小程序的场景值
* - 1001: 发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表)
* - 1005: 顶部搜索框的搜索结果页
* - 1006: 发现栏小程序主入口搜索框的搜索结果页
* - 1007: 单人聊天会话中的小程序消息卡片
* - 1008: 群聊会话中的小程序消息卡片
* - 1011: 扫描二维码
* - 1012: 长按图片识别二维码
* - 1013: 手机相册选取二维码
* - 1014: 小程序模板消息
* - 1017: 前往体验版的入口页
* - 1019: 微信钱包
* - 1020: 公众号 profile 页相关小程序列表
* - 1022: 聊天顶部置顶小程序入口
* - 1023: 安卓系统桌面图标
* - 1024: 小程序 profile 页
* - 1025: 扫描一维码
* - 1026: 附近小程序列表
* - 1027: 顶部搜索框搜索结果页「使用过的小程序」列表
* - 1028: 我的卡包
* - 1029: 卡券详情页
* - 1030: 自动化测试下打开小程序
* - 1031: 长按图片识别一维码
* - 1032: 手机相册选取一维码
* - 1034: 微信支付完成页
* - 1035: 公众号自定义菜单
* - 1036: App 分享消息卡片
* - 1037: 小程序打开小程序
* - 1038: 从另一个小程序返回
* - 1039: 摇电视
* - 1042: 添加好友搜索框的搜索结果页
* - 1043: 公众号模板消息
* - 1044: 带 shareTicket 的小程序消息卡片 [详情]((转发#获取更多转发信息))
* - 1045: 朋友圈广告
* - 1046: 朋友圈广告详情页
* - 1047: 扫描小程序码
* - 1048: 长按图片识别小程序码
* - 1049: 手机相册选取小程序码
* - 1052: 卡券的适用门店列表
* - 1053: 搜一搜的结果页
* - 1054: 顶部搜索框小程序快捷入口
* - 1056: 音乐播放器菜单
* - 1057: 钱包中的银行卡详情页
* - 1058: 公众号文章
* - 1059: 体验版小程序绑定邀请页
* - 1064: 微信连Wi-Fi状态栏
* - 1067: 公众号文章广告
* - 1068: 附近小程序列表广告
* - 1069: 移动应用
* - 1071: 钱包中的银行卡列表页
* - 1072: 二维码收款页面
* - 1073: 客服消息列表下发的小程序消息卡片
* - 1074: 公众号会话下发的小程序消息卡片
* - 1077: 摇周边
* - 1078: 连Wi-Fi成功页
* - 1079: 微信游戏中心
* - 1081: 客服消息下发的文字链
* - 1082: 公众号会话下发的文字链
* - 1084: 朋友圈广告原生页
* - 1089: 微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏)
* - 1090: 长按小程序右上角菜单唤出最近使用历史
* - 1091: 公众号文章商品卡片
* - 1092: 城市服务入口
* - 1095: 小程序广告组件
* - 1096: 聊天记录
* - 1097: 微信支付签约页
* - 1099: 页面内嵌插件
* - 1102: 公众号 profile 页服务预览
* - 1103: 发现栏小程序主入口,「我的小程序」列表(基础库2.2.4版本起废弃)
* - 1104: 微信聊天主界面下拉,「我的小程序」栏(基础库2.2.4版本起废弃)
*/
scene: SceneValues;
/** shareTicket,详见 [获取更多转发信息]((转发#获取更多转发信息)) */
shareTicket: string;
/** 当场景为由从另一个小程序或公众号或App打开时,返回此字段 */
referrerInfo?: ReferrerInfo;
}
interface PageNotFoundOption {
/** 不存在页面的路径 */
path: string;
/** 打开不存在页面的 query */
query: AnyObject;
/** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */
isEntryPage: boolean;
}
interface AppInstance<T extends AnyObject = {}> {
interface ReferrerInfo {
/**
* 生命周期回调—监听应用初始化
* 来源小程序或公众号或App的 appId
*
* 以下场景支持返回 referrerInfo.appId
* - 1020(公众号 profile 页相关小程序列表): appId
* - 1035(公众号自定义菜单):来源公众号 appId
* - 1036(App 分享消息卡片):来源应用 appId
* - 1037(小程序打开小程序):来源小程序 appId
* - 1038(从另一个小程序返回):来源小程序 appId
* - 1043(公众号模板消息):来源公众号 appId
*/
appId: string;
/**
* 来源小程序传过来的数据,scene=1037或1038时支持
*/
extraData?: any;
}
interface LaunchShowOption {
/**
* 打开小程序的路径
*/
path: string;
/**
* 打开小程序的query
*/
query: AnyObject;
/**
* 打开小程序的场景值
* - 1001: 发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表)
* - 1005: 顶部搜索框的搜索结果页
* - 1006: 发现栏小程序主入口搜索框的搜索结果页
* - 1007: 单人聊天会话中的小程序消息卡片
* - 1008: 群聊会话中的小程序消息卡片
* - 1011: 扫描二维码
* - 1012: 长按图片识别二维码
* - 1013: 手机相册选取二维码
* - 1014: 小程序模板消息
* - 1017: 前往体验版的入口页
* - 1019: 微信钱包
* - 1020: 公众号 profile 页相关小程序列表
* - 1022: 聊天顶部置顶小程序入口
* - 1023: 安卓系统桌面图标
* - 1024: 小程序 profile 页
* - 1025: 扫描一维码
* - 1026: 附近小程序列表
* - 1027: 顶部搜索框搜索结果页「使用过的小程序」列表
* - 1028: 我的卡包
* - 1029: 卡券详情页
* - 1030: 自动化测试下打开小程序
* - 1031: 长按图片识别一维码
* - 1032: 手机相册选取一维码
* - 1034: 微信支付完成页
* - 1035: 公众号自定义菜单
* - 1036: App 分享消息卡片
* - 1037: 小程序打开小程序
* - 1038: 从另一个小程序返回
* - 1039: 摇电视
* - 1042: 添加好友搜索框的搜索结果页
* - 1043: 公众号模板消息
* - 1044: 带 shareTicket 的小程序消息卡片
* - 1045: 朋友圈广告
* - 1046: 朋友圈广告详情页
* - 1047: 扫描小程序码
* - 1048: 长按图片识别小程序码
* - 1049: 手机相册选取小程序码
* - 1052: 卡券的适用门店列表
* - 1053: 搜一搜的结果页
* - 1054: 顶部搜索框小程序快捷入口
* - 1056: 音乐播放器菜单
* - 1057: 钱包中的银行卡详情页
* - 1058: 公众号文章
* - 1059: 体验版小程序绑定邀请页
* - 1064: 微信连Wi-Fi状态栏
* - 1067: 公众号文章广告
* - 1068: 附近小程序列表广告
* - 1069: 移动应用
* - 1071: 钱包中的银行卡列表页
* - 1072: 二维码收款页面
* - 1073: 客服消息列表下发的小程序消息卡片
* - 1074: 公众号会话下发的小程序消息卡片
* - 1077: 摇周边
* - 1078: 连Wi-Fi成功页
* - 1079: 微信游戏中心
* - 1081: 客服消息下发的文字链
* - 1082: 公众号会话下发的文字链
* - 1084: 朋友圈广告原生页
* - 1089: 微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏)
* - 1090: 长按小程序右上角菜单唤出最近使用历史
* - 1091: 公众号文章商品卡片
* - 1092: 城市服务入口
* - 1095: 小程序广告组件
* - 1096: 聊天记录
* - 1097: 微信支付签约页
* - 1099: 页面内嵌插件
* - 1102: 公众号 profile 页服务预览
* - 1103: 发现栏小程序主入口,「我的小程序」列表(基础库2.2.4版本起废弃)
* - 1104: 微信聊天主界面下拉,「我的小程序」栏(基础库2.2.4版本起废弃)
*/
scene: number;
/**
* 打开小程序的场景值
*/
shareTicket: string;
/**
* 当场景为由从另一个小程序或公众号或App打开时,返回此字段
*/
referrerInfo?: ReferrerInfo;
}
interface PageNotFoundOption {
/**
* 不存在页面的路径
*/
path: string;
/**
* 打开不存在页面的 query
*/
query: AnyObject;
/**
* 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面)
*/
isEntryPage: boolean;
}
interface AppInstance<T extends AnyObject = {}> {
/**
* 生命周期回调 监听应用初始化
*
* 应用初始化完成时触发,全局只触发一次。
*/
onLaunch?(options?: LaunchShowOption): void;
/**
* 生命周期回调监听应用显示
* 应用启动,或从后台进入前台显示时
* 生命周期回调 监听应用显示
*
* 应用启动,或从后台进入前台显示时触发
*/
onShow?(options?: LaunchShowOption): void;
/**
* 生命周期回调监听应用隐藏
* 应用从前台进入后台时
* 生命周期回调 监听应用隐藏
*
* 应用从前台进入后台时触发
*/
onHide?(): void;
/**
* 错误监听函数
* 应用发生脚本错误,或者 api
* 小程序发生脚本错误或 API 调用报错时触发
* @param error 错误信息,包含堆栈
*/
onError?(/** 错误信息,包含堆栈 */error?: string): void;
onError?(error: string): void;
/**
* 页面不存在监听函数
*
* 应用要打开的页面不存在时触发,会带上页面信息回调该函数
*
* **注意:**
* 1. 如果开发者没有添加 `onPageNotFound` 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。
* 2. 如果 `onPageNotFound` 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 `onPageNotFound`。
*
*/
onPageNotFound?(options?: PageNotFoundOption): void;
}
type AppConstructor = <T extends AnyObject & AppInstance>(
options: AppInstance<T> & T,
) => void;
interface GetAppOption {
/**
* 在 `App` 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。一般用于独立分包
*/
allowDefault: boolean;
}
type GetApp = <T extends AnyObject>(opts?: GetAppOption) => AppInstance<T> & T;
onPageNotFound?(options: PageNotFoundOption): void;
/**
* 监听 nvue 页面消息
*
* nvue 页面使用 `uni.postMessage` 发送消息时触发
*/
onUniNViewMessage?(options: AnyObject): void;
}
type AppConstructor = <T extends AnyObject & AppInstance>(
options: AppInstance<T> & T,
) => void;
interface GetAppOption {
/**
* 在 `App` 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。一般用于独立分包
*/
allowDefault: boolean;
}
type GetApp = <T extends AnyObject>(opts?: GetAppOption) => AppInstance<T> & T;
}
declare const getApp: App.GetApp;
declare const createApp: any;
declare const createPage: any;
declare const createComponent: any;
+85 -49
View File
@@ -16,7 +16,7 @@ declare namespace Page {
interface PageScrollOption {
/**
* 页面在垂直方向已滚动的距离(单位px)
* 页面在垂直方向已滚动的距离(单位 px
*/
scrollTop: number;
}
@@ -27,124 +27,160 @@ declare namespace Page {
* 可选值:
* - `button`:页面内转发按钮;
* - `menu`:右上角转发菜单。
*
*/
from: "button" | "menu" | string;
from: "button" | "menu";
/**
* 如果 `from` 值是 `button`,则 `target` 是触发这次转发事件的 `button`,否则为 `undefined`
*/
target: any;
/**
* 页面中包含`<web-view>`组件时,返回当前`<web-view>`的url
* 页面中包含 `<web-view>` 组件时,返回当前 `<web-view>` 的url
*/
webViewUrl?: string;
}
interface TabItemTapOption {
/**
* 被点击tabItem的序号,从0开始
* 被点击 tabItem 的序号,从0开始
*/
index: string;
/**
* 被点击tabItem的页面路径
* 被点击 tabItem 的页面路径
*/
pagePath: string;
/**
* 被点击tabItem的按钮文字
* 被点击 tabItem 的按钮文字
*/
text: string;
}
interface NavigationBarButtonTapOption {
/**
* 原生标题栏按钮数组的下标
*/
index: string;
}
interface BackPressOption {
/**
* - backbutton 顶部导航栏左边的返回按钮或 Android 实体返回键
* - navigateBack 返回 API,即 uni.navigateBack()
*/
from: 'backbutton' | 'navigateBack';
}
interface NavigationBarSearchInputEvent {
/**
* 搜索输入框输入内容
*/
text: string;
}
interface PageInstanceBaseProps<D extends AnyObject = any> {
/**
* 到当前页面的路径,类型为`String`
* 到当前页面的路径,类型为 `String`
*/
route?: string;
}
interface PageInstance<D extends AnyObject = any, T extends AnyObject = any> extends PageInstanceBaseProps<D> {
/**
* 生命周期回调监听页面加载
* 生命周期回调 监听页面加载
*
* 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
* @param query 打开当前页面路径中的参数
*/
onLoad?(
/**
* 打开当前页面路径中的参数
*/
query?: { [queryKey: string]: string },
): void;
onLoad?(query?: AnyObject): void;
/**
* 生命周期回调监听页面显示
* 生命周期回调 监听页面显示
*
* 页面显示/切入前台时触发。
*/
onShow?(): void;
/**
* 生命周期回调监听页面初次渲染完成
* 生命周期回调 监听页面初次渲染完成
*
* 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
*/
onReady?(): void;
/**
* 生命周期回调监听页面隐藏
* 生命周期回调 监听页面隐藏
*
* 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,应用切入后台等。
*/
onHide?(): void;
/**
* 生命周期回调监听页面卸载
* 页面卸载时触发。如`redirectTo`或`navigateBack`到其他页面时。
* 生命周期回调 监听页面卸载
*
* 页面卸载时触发。如 `redirectTo` 或 `navigateBack` 到其他页面时。
*/
onUnload?(): void;
/**
* 监听用户下拉动作
* 监听用户下拉刷新事件
* - 需要在`pages.json`的页面配置中开启`enablePullDownRefresh`
* - 可以通过`uni.startPullDownRefresh`触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致
* - 当处理完数据刷新后,`uni.stopPullDownRefresh`可以停止当前页面的下拉刷新。
* - 需要在 `pages.json` 的页面配置中开启 `enablePullDownRefresh`
* - 可以通过 `uni.startPullDownRefresh` 触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致
* - 当处理完数据刷新后,`uni.stopPullDownRefresh` 可以停止当前页面的下拉刷新
*/
onPullDownRefresh?(): void;
/**
* 页面上拉触底事件的处理函数
* 监听用户上拉触底事件
* - 可以在`pages.json`的页面配置中设置触发距离`onReachBottomDistance`。
* - 可以在 `pages.json` 的页面配置中设置触发距离 `onReachBottomDistance`
* - 在触发距离内滑动期间,本事件只会被触发一次。
*/
onReachBottom?(): void;
/**
* 用户点击右上角转发
*
* 监听用户点击页面内转发按钮(`<button>` 组件 `open-type="share"`)或右上角菜单“转发”按钮的行为,并自定义转发内容。
* **注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮**
* 此事件需要 return 一个 Object,用于自定义转发内容
* @param options 分享发起来源参数
* @return 转发内容
*/
onShareAppMessage?(
/**
* 分享发起来源参数
*/
options?: ShareAppMessageOption,
): CustomShareContent;
onShareAppMessage?(options: ShareAppMessageOption): CustomShareContent;
/**
* 页面滚动触发事件的处理函数
*
* 监听用户滑动页面事件。
* @param options 页面滚动参数
*/
onPageScroll?(
/**
* 页面滚动参数
*/
options?: PageScrollOption,
): void;
onPageScroll?(options: PageScrollOption): void;
/**
* 页面尺寸改变时触发
* @param options 页面滚动参数
*/
onResize?(options: PageScrollOption): void;
/**
* 当前是 tab 页时,点击 tab 时触发
* @param options tab 点击参数
*/
onTabItemTap?(
/**
* tab 点击参数
*/
options?: TabItemTapOption,
): void;
onTabItemTap?(options: TabItemTapOption): void;
/**
* 监听原生标题栏按钮点击事件
* @param options tab 点击参数
*/
onNavigationBarButtonTap?(options: NavigationBarButtonTapOption): void;
/**
* 监听页面返回
* @param options tab 点击参数
* @return 返回 `true` 时阻止页面返回
*/
onBackPress?(options: BackPressOption): any;
/**
* 监听原生标题栏搜索输入框输入内容变化事件
*/
onNavigationBarSearchInputChanged?(event: NavigationBarSearchInputEvent): void;
/**
* 监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的“搜索”按钮时触发。
*/
onNavigationBarSearchInputConfirmed?(event: NavigationBarSearchInputEvent): void;
/**
* 监听原生标题栏搜索输入框点击事件
*/
onNavigationBarSearchInputClicked?(): void;
}
type PageConstructor = <T extends AnyObject & PageInstance>(
options: PageInstance<AnyObject, T> & T,
) => void;
options: PageInstance<AnyObject, T> & T,
) => void;
type GetCurrentPages = <T extends AnyObject = {}>() => Array<PageInstance<AnyObject, T> & T>;
}
+202 -8
View File
@@ -16,6 +16,42 @@ declare class Uni {
* 参考: [http://uniapp.dcloud.io/api/arrayBufferToBase64?id=arraybuffertobase64](http://uniapp.dcloud.io/api/arrayBufferToBase64?id=arraybuffertobase64)
*/
arrayBufferToBase64(arrayBuffer?: ArrayBuffer): string;
/**
* 监听自定义事件。事件可以由 uni.$emit 触发。回调函数会接收 uni.$emit 传递的参数。
*
* 参考: [http://uniapp.dcloud.io/api/window/communication?id=on](http://uniapp.dcloud.io/api/window/communication?id=on)
*/
$on(eventName?: string, callback?: () => void): void;
/**
* 触发自定义事件,附加的参数会传递给事件监听器。
*
* 参考: [http://uniapp.dcloud.io/api/window/communication?id=emit](http://uniapp.dcloud.io/api/window/communication?id=emit)
*/
$emit(eventName?: string, param?: any): void;
/**
* 监听一个自定义事件。事件只触发一次,在第一次触发之后移除事件监听器。
*
* 参考: [http://uniapp.dcloud.io/api/window/communication?id=once](http://uniapp.dcloud.io/api/window/communication?id=once)
*/
$once(eventName?: string, callback?: () => void): void;
/**
* 移除自定义事件监听器。如果没有指定事件名,则移除所有事件监听器。如果提供事件名,则移除该事件的所有监听器。如果提供了事件名和回调,则只移除这个回调的监听器。
*
* 参考: [http://uniapp.dcloud.io/api/window/communication?id=off](http://uniapp.dcloud.io/api/window/communication?id=off)
*/
$off(eventName?: string | any [], callback?: () => void): void;
/**
* 通过id 获取 subNVues 原生子窗体的实例
*
* 参考: [http://uniapp.dcloud.io/api/window/subNVues?id=app-getsubnvuebyid](http://uniapp.dcloud.io/api/window/subNVues?id=app-getsubnvuebyid)
*/
getSubNVueById(subNvueId?: string): SubNVue;
/**
* 获取当前 subNVues 原生子窗体的实例
*
* 参考: [http://uniapp.dcloud.io/api/window/subNVues?id=app-getsubnvuebyid](http://uniapp.dcloud.io/api/window/subNVues?id=app-getsubnvuebyid)
*/
getCurrentSubNVue(): SubNVue;
/**
* 发起网络请求
*
@@ -273,13 +309,13 @@ declare class Uni {
*/
createMapContext(): MapContext;
/**
* 获取系统信息
* 异步获取系统信息
*
* 参考: [http://uniapp.dcloud.io/api/system/info?id=getsysteminfo](http://uniapp.dcloud.io/api/system/info?id=getsysteminfo)
*/
getSystemInfo(options?: GetSystemInfoOptions): void;
/**
* 获取系统信息
* 同步获取系统信息
*
* 参考: [http://uniapp.dcloud.io/api/system/info?id=getsysteminfosync](http://uniapp.dcloud.io/api/system/info?id=getsysteminfosync)
*/
@@ -899,6 +935,87 @@ interface GeneralCallbackResult {
errMsg?: string;
}
interface SubNVue {
/**
* 显示原生子窗体
*/
show(options?: 'slide-in-right' | 'slide-in-left' | 'slide-in-top' | 'slide-in-bottom' | 'fade-in' | 'zoom-out' | 'zoom-fade-out' | 'pop-in'): void;
/**
* 隐藏原生子窗体
*/
hide(options?: 'slide-out-right' | 'slide-out-left' | 'slide-out-top' | 'slide-out-bottom' | 'fade-out' | 'zoom-in' | 'zoom-fade-in' | 'pop-out'): void;
/**
* 设置原生子窗体的样式
*/
setStyle(options?: SubNVuesSetStyleOptions): void;
/**
* 发送消息
*/
postMessage(): void;
/**
* 监听消息
*/
onMessage(success?: () => void): void;
}
interface SubNVuesSetStyleOptions {
/**
* 原生子窗体的排版位置
* - static: 原生子窗体在页面中正常定位
* - absolute: 原生子窗体在页面中绝对定位
* - dock: 原生子窗体在页面中停靠
*/
position?: 'static' | 'absolute' | 'dock';
/**
* 原生子窗体的停靠方式,仅当原生子窗体 "position" 属性值设置为 "dock" 时才生效
* - top: 原生子窗体停靠则页面顶部
* - bottom: 原生子窗体停靠在页面底部
* - left: 原生子窗体停靠在页面左侧
* - right: 原生子窗体停靠在页面右侧
*/
dock?: 'top' | 'bottom' | 'left' | 'right';
/**
* 原生子窗体的内置样式
* - popup: 弹出层
* - navigationBar: 导航栏
*/
type?: 'popup' | 'navigationBar';
/**
* 原生子窗体的遮罩层,仅当原生子窗体 "type" 属性值设置为 "popup" 时才生效
* - popup: 弹出层
* - navigationBar: 导航栏
*/
mask?: 'popup' | 'navigationBar';
/**
* 原生子窗体的宽度
*/
width?: string;
/**
* 原生子窗体的高度
*/
height?: string;
/**
* 原生子窗体垂直向下的偏移量
*/
top?: string;
/**
* 原生子窗体垂直向上的偏移量
*/
bottom?: string;
/**
* 原生子窗体水平向左的偏移量
*/
left?: string;
/**
* 原生子窗体水平向右的偏移量
*/
right?: string;
/**
* 原生子窗体的边距
*/
margin?: string;
}
interface RequestPaymentOptions {
/**
* 支付服务提供商,通过 uni.getProvider 获取
@@ -1331,6 +1448,10 @@ interface PreviewImageOptions {
* 当前显示图片的链接,不填则默认为 urls 的第一张
*/
count?: string;
/**
* current 为当前显示图片的链接/索引值,不填或填写的值无效则为 urls 的第一张。App平台在 1.9.5至1.9.8之间,current为必填。不填会报错
*/
current?: string;
/**
* 需要预览的图片链接列表
*/
@@ -1910,6 +2031,12 @@ interface ChooseVideoOptions {
* 拍摄视频最长拍摄时间,单位秒。最长支持 60 秒
*/
maxDuration?: number;
/**
* 摄像切换
* - front: 前置摄像头
* - back: 后置摄像头
*/
camera?: 'front' | 'back';
/**
* 接口调用成功,返回视频文件的临时文件路径,详见返回参数说明
*/
@@ -2331,6 +2458,10 @@ interface GetLocationOptions {
* 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
*/
altitude?: boolean;
/**
* 传入 true 会解析地址
*/
geocode?: boolean;
/**
* 接口调用成功的回调函数
*/
@@ -2374,6 +2505,10 @@ interface GetLocationSuccess {
* 水平精度,单位 m
*/
horizontalAccuracy?: number;
/**
* 地址信息
*/
address?: any;
}
interface ChooseLocationOptions {
@@ -4935,11 +5070,11 @@ interface CanvasContext {
/**
* 设置线条的端点样式
*/
setLineCap(lineCap?: string): void;
setLineCap(lineCap?: 'butt' | 'round' | 'square'): void;
/**
* 设置线条的交点样式
*/
setLineJoin(lineJoin?: string): void;
setLineJoin(lineJoin?: 'bevel' | 'round' | 'miter'): void;
/**
* 设置线条的宽度
*/
@@ -5027,11 +5162,11 @@ interface CanvasContext {
/**
* 设置文字的对齐
*/
setTextAlign(align?: string): void;
setTextAlign(align?: 'left' | 'center' | 'right'): void;
/**
* 设置文字的水平对齐
*/
setTextBaseline(textBaseline?: string): void;
setTextBaseline(textBaseline?: 'top' | 'bottom' | 'middle' | 'normal'): void;
/**
* 绘制图像到画布
*/
@@ -5067,7 +5202,7 @@ interface CanvasContext {
/**
* 对指定的图像创建模式的方法,可在指定的方向上重复元图像
*/
createPattern(image?: string, repetition?: string): void;
createPattern(image?: string, repetition?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'): void;
/**
* 使用矩阵重新设置(覆盖)当前变换的方法
*/
@@ -5572,6 +5707,26 @@ interface LoginRes {
* 登录服务商提供的登录信息,服务商不同返回的结果不完全相同
*/
authResult?: string;
/**
* 小程序用户临时登录凭证
*/
code?: string;
/**
* 头条小程序当前设备标识
*/
anonymousCode?: string;
/**
* 支付宝小程序授权码
*/
authCode?: string;
/**
* 支付宝小程序登录失败的授权类型,key是授权失败的 scope,value 是对应的错误码
*/
authErrorScope?: any;
/**
* 支付宝小程序登录成功的授权 scope
*/
authSucessScope?: string [];
}
interface CheckSessionOptions {
@@ -6113,13 +6268,52 @@ interface GetSettingOptions {
/**
* 接口调用失败的回调函数
*/
fail?: () => void;
fail?: (result: AuthSetting) => void;
/**
* 接口调用结束的回调函数(调用成功、失败都会执行)
*/
complete?: () => void;
}
interface AuthSetting {
/**
* 是否授权用户信息
*/
'scope.userInfo'?: boolean;
/**
* 是否授权地理位置
*/
'scope.userLocation'?: boolean;
/**
* 是否授权通讯地址
*/
'scope.address'?: boolean;
/**
* 是否授权发票抬头
*/
'scope.invoiceTitle'?: boolean;
/**
* 是否授权获取发票
*/
'scope.invoice'?: boolean;
/**
* 是否授权微信运动步数
*/
'scope.werun'?: boolean;
/**
* 是否授权录音功能
*/
'scope.record'?: boolean;
/**
* 是否授权保存到相册
*/
'scope.writePhotosAlbum'?: boolean;
/**
* 是否授权摄像头
*/
'scope.camera'?: boolean;
}
interface GetWeRunDataOptions {
/**
* 超时时间,单位 ms