From 3487844fbbd42cd08587c8fa14b477ab0f8c5481 Mon Sep 17 00:00:00 2001 From: Jiayu Liu Date: Mon, 3 Sep 2018 21:46:54 +0800 Subject: [PATCH] adding some more apis for weixin-app --- types/weixin-app/index.d.ts | 63 +++++++++++++++++++++++++--- types/weixin-app/weixin-app-tests.ts | 14 ++++++- 2 files changed, 70 insertions(+), 7 deletions(-) diff --git a/types/weixin-app/index.d.ts b/types/weixin-app/index.d.ts index 9f6fee5a55..9ebc2f1023 100644 --- a/types/weixin-app/index.d.ts +++ b/types/weixin-app/index.d.ts @@ -24,11 +24,11 @@ declare namespace wx { /** 文件的临时路径 */ tempFilePath: string; } - interface BaseOptions { + interface BaseOptions { /** 接口调用成功的回调函数 */ - success?(res: any): void; + success?(res: R): void; /** 接口调用失败的回调函数 */ - fail?(res: any): void; + fail?(res: E): void; /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?(res: any): void; } @@ -38,7 +38,7 @@ declare namespace wx { interface RequestHeader { [key: string]: string; } - interface RequestOptions extends BaseOptions { + interface RequestOptions extends BaseOptions { /** 开发者服务器接口地址 */ url: string; /** 请求的参数 */ @@ -2858,8 +2858,10 @@ declare namespace wx { type CheckSessionOption = BaseOptions; /** * 检测当前用户登录态是否有效。 - * 通过wx.login获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。开发者只需要调用wx.checkSession接口检测当前用户登录态是否有效。登录态过期后开发者可以再调用wx.login获取新的用户登录态。 - * + * 通过wx.login获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。 + * 反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。 + * 开发者只需要调用wx.checkSession接口检测当前用户登录态是否有效。 + * 登录态过期后开发者可以再调用wx.login获取新的用户登录态。 */ function checkSession(options: CheckSessionOption): void; /** @@ -3229,6 +3231,55 @@ declare namespace wx { // 在支持 3D Touch 的 iPhone 设备,重按时会触发 } // #endregion + + interface Logger { + /** + * 写log日志,可以提供任意个参数,每个参数的类型为Object/Array/Number/String,参数p1到pN的内容会写入日志 + */ + log: (...args: any[]) => void; + /** + * 写warn日志,参数同log方法 + */ + warn: (...args: any[]) => void; + /** + * 写debug日志,参数同log方法 + */ + debug: (...args: any[]) => void; + /** + * 写info日志,参数同log方法 + */ + info: (...args: any[]) => void; + } + + /** + * 获取日志管理器 logManager 对象。logManager提供log、info、warn、debug四个方法写日志到文件, + * 这四个方法接受任意个类型为Object/Array/Number/String的参数, + * 每次调用的参数的总大小不超过100Kb。最多保存5M的日志内容,超过5M后,旧的日志内容会被删除。 + * 用户可以通过设置Button组件的open-type为feedback来上传打印的日志。 + * 用户上传的日志可以通过登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到。 + */ + function getLogManager(): Logger; + + /** + * 自定义业务数据监控上报接口。使用前,需要在小程序管理后台-运维中心-性能监控-业务数据监控中新建监控事件, + * 配置监控描述与告警类型。每一个监控事件对应唯一的监控ID,开发者最多可以创建128个监控事件。 + * @param name 监控ID,在小程序管理后台新建数据指标后获得 + * @param value 上报数值,经处理后会在小程序管理后台上展示每分钟的上报总量 + */ + function reportMonitor(name: string, value: number): void; + + /** + * 用于延迟一部分操作到下一个时间片再执行(类似于 setTimeout)。 + * @param func + * @version 2.2.3 + */ + function nextTick(func: () => any): void; + + interface EnableDebugOptions extends BaseOptions { + enableDebug: boolean; + } + + function setEnableDebug(options: EnableDebugOptions): void; } // #region App里的onLaunch、onShow回调参数 interface LaunchOptions { diff --git a/types/weixin-app/weixin-app-tests.ts b/types/weixin-app/weixin-app-tests.ts index dea53308d0..74861a7e8d 100644 --- a/types/weixin-app/weixin-app-tests.ts +++ b/types/weixin-app/weixin-app-tests.ts @@ -54,7 +54,19 @@ Component({ }, // 私有数据,可用于模版渲染 lifetimes: { - attached() {}, + attached() { + wx.setEnableDebug({ + enableDebug: true, + success(res) {} + }); + + wx.reportMonitor("123", 123); + + wx.getLogManager().info("123"); + wx.getLogManager().log("123"); + wx.getLogManager().warn("123"); + wx.getLogManager().debug("123"); + }, detached() { this.setData(