UNPKG

@tarojs/taro

Version:
328 lines (313 loc) 14.7 kB
import Taro from '../../index' declare module '../../index' { namespace openEmbeddedMiniProgram { interface Option { /** 要打开的小程序 appId */ appId?: string /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch``App.onShow``Page.onLoad` 的回调函数或小游戏的 [Taro.onShow](#) 回调函数、[Taro.getLaunchOptionsSync](/docs/apis/base/weapp/life-cycle/getLaunchOptionsSync) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ path?: string /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch``App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [Taro.onShow](#)、[Taro.getLaunchOptionsSync](/docs/apis/base/weapp/life-cycle/getLaunchOptionsSync) 中可以获取到这份数据数据。 */ extraData?: TaroGeneral.IAnyObject /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 */ envVersion?: keyof EnvVersion /** 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 */ shortLink?: string /** 校验方式 。默认为binding */ verify?: keyof Verify /** 不 reLaunch 目标小程序,直接打开目标跳转的小程序退后台时的页面,需满足以下条件:1. 目标跳转的小程序生命周期未被销毁;2. 且目标当次启动的path、query、apiCategory与上次启动相同。默认值为 false 。 */ noRelaunchIfPathUnchanged?: boolean /** 打开的小程序是否支持全屏 */ allowFullScreen?: boolean /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void } interface Verify { /** 校验小程序管理后台的绑定关系 */ binding /** 校验目标打开链接是否为小程序联盟商品。 */ unionProduct } interface EnvVersion { /** 开发版 */ develop /** 体验版 */ trial /** 正式版 */ release } } namespace navigateToMiniProgram { interface Option { /** 要打开的小程序 appId */ appId?: string /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch``App.onShow``Page.onLoad` 的回调函数或小游戏的 [Taro.onShow](#) 回调函数、[Taro.getLaunchOptionsSync](/docs/apis/base/weapp/life-cycle/getLaunchOptionsSync) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ path?: string /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch``App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [Taro.onShow](#)、[Taro.getLaunchOptionsSync](/docs/apis/base/weapp/life-cycle/getLaunchOptionsSync) 中可以获取到这份数据数据。 */ extraData?: TaroGeneral.IAnyObject /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 */ envVersion?: keyof EnvVersion /** 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 */ shortLink?: string /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void } interface EnvVersion { /** 开发版 */ develop /** 体验版 */ trial /** 正式版 */ release } } namespace navigateBackMiniProgram { interface Option { /** 需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据。 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)。 */ extraData?: TaroGeneral.IAnyObject /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void } } namespace exitMiniProgram { interface Option { /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void } } namespace openBusinessView { /** * wxpayScoreEnable 业务参数 * @see https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_9.shtml */ interface ScoreEnableExtraData { /** * 用于跳转到微信侧小程序授权数据,跳转到微信侧小程序传入,有效期为1小时;apply_permissions_token可以从[《商户预授权API》](https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_2.shtml)接口的返回参数中获取。 * 示例值:1230000109 * @type {string[1,2048]} */ apply_permissions_token: string } /** * wxpayScoreUse 业务参数 * @see https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_13.shtml */ interface ScoreUsedExtraData { /** * 商户号:微信支付分配的商户号。 * 示例值:1230000109 * @type {string[1,32]} */ mch_id: string /** * 可在【创建订单】接口的返回字段package中获取。 * 示例值:XXXXXXXX * @type {string[1,128]} */ package: string /** * 时间戳:生成签名时间戳,单位秒。 * 示例值:1530097563 * @type {string[1,32]} */ timestamp: string /** * 随机字符串:生成签名随机串。由数字、大小写字母组成,长度不超过32位。 * 示例值:zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2 * @type {string[1,32]} */ nonce_str: string /** * 签名方式:签名类型,仅支持HMAC-SHA256。 * 示例值:HMAC-SHA256 * @type {string[1,32]} */ sign_type: string /** * 签名:使用字段mch_id、service_id、out_order_no、timestamp、nonce_str、sign_type按照签名生成算法计算得出的签名值。 * 示例值:029B52F67573D7E3BE74904BF9AEA * @type {string[1,64]} */ sign: string } /** * wxpayScoreDetail 业务参数 * @see https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_25.shtml */ interface ScoreDetailExtraData { /** * 商户号:微信支付分配的商户号。 * 示例值:1230000109 * @type {string[1,32]} */ mch_id: string /** * 服务ID * 示例值:88888888000011 * @type {string[1,32]} */ service_id: string /** * 商户服务订单号:商户系统内部服务订单号(不是交易单号)。 * 示例值:234323JKHDFE1243252 * @type {string[1,32]} */ out_order_no: string /** * 时间戳:生成签名时间戳,单位秒。 * 示例值:1530097563 * @type {string[1,32]} */ timestamp: string /** * 随机字符串:生成签名随机串。由数字、大小写字母组成,长度不超过32位。 * 示例值:zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2 * @type {string[1,32]} */ nonce_str: string /** * 签名方式:签名类型,仅支持HMAC-SHA256。 * 示例值:HMAC-SHA256 * @type {string[1,32]} */ sign_type: string /** * 签名:使用字段mch_id、service_id、out_order_no、timestamp、nonce_str、sign_type按照签名生成算法计算得出的签名值。 * 示例值:029B52F67573D7E3BE74904BF9AEA * @type {string[1,64]} */ sign: string } interface Option { /** * 跳转类型:固定配置:wxpayScoreDetail * 示例值:wxpayScoreDetail * @type {string[1,16]} * @memberof Option */ businessType: 'wxpayScoreEnable' | 'wxpayScoreUse' | 'wxpayScoreDetail' | string /** 业务参数:需要传递给支付分的业务数据 */ extraData: ScoreEnableExtraData | ScoreUsedExtraData | ScoreDetailExtraData /** 接口调用成功的回调函数 */ success?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void } } interface TaroStatic { /** 打开半屏小程序。接入指引请参考 [半屏小程序能力](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html)。 * @supported weapp * @see https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html */ openEmbeddedMiniProgram(option?: openEmbeddedMiniProgram.Option): Promise<TaroGeneral.CallbackResult> /** 打开另一个小程序 * * **使用限制** * ##### 需要用户触发跳转 * 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。 * ##### 需要用户确认跳转 * 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。 * ##### 每个小程序可跳转的其他小程序数量限制为不超过 10 个 * 从 2.4.0 版本以及指定日期(具体待定)开始,开发者提交新版小程序代码时,如使用了跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单,限定不超过 10 个,否则将无法通过审核。该名单可在发布新版时更新,不支持动态修改。配置方法详见 [小程序全局配置](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html)。调用此接口时,所跳转的 appId 必须在配置列表中,否则回调 `fail appId "${appId}" is not in navigateToMiniProgramAppIdList`。 * * **关于调试** * - 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) * - 开发者工具上支持被跳转的小程序处理接收参数的调试。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) * @supported weapp, tt, harmony_hybrid * @example * ```tsx * Taro.navigateToMiniProgram({ * appId: '', * path: 'page/index/index?id=123', * extraData: { * foo: 'bar' * }, * envVersion: 'develop', * success: function(res) { * // 打开成功 * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/open-api/miniprogram-navigate/wx.navigateToMiniProgram.html */ navigateToMiniProgram(option: navigateToMiniProgram.Option): Promise<TaroGeneral.CallbackResult> /** 返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功 * * 注意:**微信客户端 iOS 6.5.9,Android 6.5.10 及以上版本支持** * @supported weapp, tt * @example * ```tsx * Taro.navigateBackMiniProgram({ * extraData: { * foo: 'bar' * }, * success: function (res) { * // 返回成功 * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/open-api/miniprogram-navigate/wx.navigateBackMiniProgram.html */ navigateBackMiniProgram(option: navigateBackMiniProgram.Option): Promise<TaroGeneral.CallbackResult> /** 退出当前小程序。必须有点击行为才能调用成功。 * @supported weapp * @example * ```tsx * Taro.exitMiniProgram() * ··· * * @see https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.exitMiniProgram.html */ exitMiniProgram(option?: exitMiniProgram.Option): Promise<TaroGeneral.CallbackResult> /** 商户通过调用订单详情接口打开微信支付分小程序,引导用户查看订单详情(小程序端) * @supported weapp * @example * ```tsx * if (Taro.openBusinessView) { * Taro.openBusinessView({ * businessType: 'wxpayScoreDetail', * extraData: { * mch_id: '1230000109', * service_id: '88888888000011', * out_order_no: '1234323JKHDFE1243252', * timestamp: '1530097563', * nonce_str: 'zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2', * sign_type: 'HMAC-SHA256', * sign: '029B52F67573D7E3BE74904BF9AEA' * }, * success() { * //dosomething * }, * fail() { * //dosomething * }, * complete() { * //dosomething * } * }); * } else { * //引导用户升级微信版本 * } * ``` * @see https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_25.shtml */ openBusinessView(option: openBusinessView.Option): Promise<TaroGeneral.CallbackResult> } }