diff --git a/packages/taro-components/types/Button.d.ts b/packages/taro-components/types/Button.d.ts index 3e992c66aff4..b90cc9050124 100644 --- a/packages/taro-components/types/Button.d.ts +++ b/packages/taro-components/types/Button.d.ts @@ -40,7 +40,7 @@ interface ButtonProps extends StandardProps { /** 微信开放能力 * @supported weapp */ - openType?: keyof ButtonProps.openType + openType?: ButtonProps.openType | string /** 指定按下去的样式类。当 `hover-class="none"` 时,没有点击态效果 * @default button-hover @@ -214,33 +214,79 @@ declare namespace ButtonProps { reset } /** open-type 的合法值 */ - interface openType { - /** 打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息 - * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/customer-message/customer-message.html - */ - contact - contactShare - /** 触发用户转发,使用前建议先阅读使用指引 - * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95 - */ - share - getRealnameAuthInfo - getAuthorize - /** 获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息 - * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html + type openType = keyof openTypeKeys["weapp"] | keyof openTypeKeys["alipay"] | keyof openTypeKeys["qq"] + /** open-type 的合法值 */ + interface openTypeKeys { + weapp: { + /** 打开客服会话,如果用户在会话中点击消息卡片后返回小程序,可以从 bindcontact 回调中获得具体信息 + * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/customer-message/customer-message.html + */ + contact + /** 触发用户转发,使用前建议先阅读使用指引 + * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95 + */ + share + /** 获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息 + * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html + */ + getPhoneNumber + /** 获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 */ + getUserInfo + /** 用户实名信息授权,已经弃用 */ + getRealnameAuthInfo + /** 打开APP,可以通过app-parameter属性设定向APP传的参数 + * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html + */ + launchApp + /** 打开授权设置页 */ + openSetting + /** 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容 */ + feedback + } + /** 支付宝小程序专属的 open-type 合法值 + * @see https://opendocs.alipay.com/mini/component/button */ - getPhoneNumber - /** 获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 */ - getUserInfo - lifestyle - /** 打开APP,可以通过app-parameter属性设定向APP传的参数 - * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html + alipay: { + /** 触发 自定义分享 */ + share + /** 支持小程序授权 */ + getAuthorize + /** 分享到通讯录好友 */ + contactShare + /** 关注生活号 */ + lifestyle + } + /** QQ 小程序专属的 open-type 合法值 + * @see https://q.qq.com/wiki/develop/miniprogram/component/form/button.html */ - launchApp - /** 打开授权设置页 */ - openSetting - /** 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容 */ - feedback + qq: { + /** 触发用户转发,使用前建议先阅读使用指引 + * @see https://q.qq.com/wiki/develop/miniprogram/frame/open_ability/open_share.html#%E8%BD%AC%E5%8F%91-2 + */ + share + /** 获取用户信息,可以从 onGetUserInfo 回调中获取到用户信息 */ + getUserInfo + /** 打开APP,可以通过 app-parameter 属性设定向APP传的参数 + * @see https://q.qq.com/wiki/develop/miniprogram/frame/open_ability/open_app.html + */ + launchApp + /** 打开授权设置页 */ + openSetting + /** 呼起吐个槽反馈页面,开发者可以到官网查看反馈 */ + feedback + /** 呼起群资料卡页面,可以通过 group-id 属性设定需要打开的群资料卡的群号,同时 app.json 中必须配置 groupIdList(数量不超过 10 个),表明可以打开群资料卡的群号 */ + openGroupProfile + /** 添加好友,对方需要通过该小程序进行授权,允许被加好友后才能调用成功[用户授权](https://q.qq.com/wiki/develop/miniprogram/frame/open_ability/open_userinfo.html#%E6%8E%88%E6%9D%83) */ + addFriend + /** 添加彩签,点击后添加状态有用户提示,无回调 */ + addColorSign + /** 打开公众号资料卡,可以通过 public-id 属性设定需要打开的公众号资料卡的号码,同时 app.json 中必须配置 publicIdList(目前只能配置 1 个),表明可以打开的公众号资料卡的号码 */ + openPublicProfile + /** 添加群应用(只有管理员或群主有权操作,建议先调用 qq.getGroupInfo 获取当前用户是否为管理员,如果是管理员才显示该按钮),添加后给button绑定 onAddGroupApp 事件接收回调数据。 */ + addGroupApp + /** 在自定义开放数据域组件中,向指定好友发起分享据 */ + shareMessageToFriend + } } /** lang 的合法值 */ interface lang {