Skip to content

Commit ae34a4d

Browse files
authored
feat(uat): add getRealtimePhoneNumber for Button (#43)
1 parent 63c2c5b commit ae34a4d

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

packages/uni-app-types/src/form-components/button.ts

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ type _ButtonFormType = "submit" | "reset";
4545
*
4646
* GetPhoneNumber 获取用户手机号,可以从 `@getphonenumber` 回调中获取到用户信息
4747
*
48+
* GetRealtimePhoneNumber 手机号实时验证,可以从 `@getrealtimephonenumber` 回调中获取到用户信息
49+
*
4850
* LaunchApp 小程序中打开APP,可以通过 `app-parameter` 属性设定向 APP 传的参数
4951
*
5052
* OpenSetting 打开授权设置页
@@ -97,6 +99,7 @@ type _ButtonOpenType =
9799
| "getUserInfo"
98100
| "contact"
99101
| "getPhoneNumber"
102+
| "getRealtimePhoneNumber"
100103
| "launchApp"
101104
| "openSetting"
102105
| "chooseAvatar"
@@ -153,6 +156,29 @@ type _ButtonOnGetphonenumberEvent = CustomEvent<_ButtonOnGetphonenumberDetail>;
153156
*/
154157
type _ButtonOnGetphonenumber = (event: _ButtonOnGetphonenumberEvent) => void;
155158

159+
interface _ButtonOnGetrealtimephonenumberDetail {
160+
/** 错误信息 */
161+
errMsg?: string;
162+
/** 错误码(失败时返回) */
163+
errno?: number;
164+
/** 动态令牌 */
165+
code?: string;
166+
/** 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据 */
167+
cloudID?: string;
168+
}
169+
170+
type _ButtonOnGetrealtimephonenumberEvent =
171+
CustomEvent<_ButtonOnGetrealtimephonenumberDetail>;
172+
173+
/**
174+
* 手机号实时验证回调
175+
*
176+
* Open-type="getRealtimePhoneNumber" 时有效
177+
*/
178+
type _ButtonOnGetrealtimephonenumber = (
179+
event: _ButtonOnGetrealtimephonenumberEvent,
180+
) => void;
181+
156182
type _ButtonOnErrorEvent = BaseEvent;
157183

158184
/** 使用开放能力发生错误时回调 */
@@ -310,6 +336,8 @@ type _ButtonProps = CommonProps &
310336
*
311337
* GetPhoneNumber 获取用户手机号,可以从 `@getphonenumber` 回调中获取到用户信息
312338
*
339+
* GetRealtimePhoneNumber 手机号实时验证,可以从 `@getrealtimephonenumber` 回调中获取到用户信息
340+
*
313341
* LaunchApp 小程序中打开APP,可以通过 `app-parameter` 属性设定向 APP 传的参数
314342
*
315343
* OpenSetting 打开授权设置页
@@ -355,6 +383,14 @@ type _ButtonProps = CommonProps &
355383
* OpenProfile 触发打开用户主页
356384
*/
357385
openType: _ButtonOpenType;
386+
/**
387+
* 当手机号快速验证或手机号实时验证额度用尽时,
388+
* 是否对用户展示“申请获取你的手机号,但该功能
389+
* 使用次数已达当前小程序上限,暂时无法使用”的
390+
* 提示。
391+
* @default true
392+
*/
393+
phoneNumberNoQuotaToast?: boolean;
358394
/**
359395
* 指定按下去的样式类
360396
*
@@ -467,6 +503,12 @@ type _ButtonProps = CommonProps &
467503
* Open-type="getPhoneNumber" 时有效
468504
*/
469505
onGetphonenumber: _ButtonOnGetphonenumber;
506+
/**
507+
* 手机号实时验证回调
508+
*
509+
* Open-type="getRealtimePhoneNumber" 时有效
510+
*/
511+
onGetrealtimephonenumber: _ButtonOnGetrealtimephonenumber;
470512
/** 使用开放能力发生错误时回调 */
471513
onError: _ButtonOnError;
472514
/**
@@ -540,6 +582,9 @@ export type {
540582
_ButtonOnGetphonenumberDetail as ButtonOnGetphonenumberDetail,
541583
_ButtonOnGetphonenumberEvent as ButtonOnGetphonenumberEvent,
542584
_ButtonOnGetphonenumber as ButtonOnGetphonenumber,
585+
_ButtonOnGetrealtimephonenumberDetail as ButtonOnGetrealtimephonenumberDetail,
586+
_ButtonOnGetrealtimephonenumberEvent as ButtonOnGetrealtimephonenumberEvent,
587+
_ButtonOnGetrealtimephonenumber as ButtonOnGetrealtimephonenumber,
543588
_ButtonOnErrorEvent as ButtonOnErrorEvent,
544589
_ButtonOnError as ButtonOnError,
545590
_ButtonOnOpensettingDetail as ButtonOnOpensettingDetail,
@@ -609,6 +654,8 @@ declare global {
609654
*
610655
* GetPhoneNumber 获取用户手机号,可以从 `@getphonenumber` 回调中获取到用户信息
611656
*
657+
* GetRealtimePhoneNumber 手机号实时验证,可以从 `@getrealtimephonenumber` 回调中获取到用户信息
658+
*
612659
* LaunchApp 小程序中打开APP,可以通过 `app-parameter` 属性设定向 APP 传的参数
613660
*
614661
* OpenSetting 打开授权设置页
@@ -675,6 +722,17 @@ declare global {
675722
* Open-type="getPhoneNumber" 时有效
676723
*/
677724
export interface ButtonOnGetphonenumber extends _ButtonOnGetphonenumber {}
725+
export interface ButtonOnGetrealtimephonenumberDetail
726+
extends _ButtonOnGetrealtimephonenumberDetail {}
727+
export type ButtonOnGetrealtimephonenumberEvent =
728+
_ButtonOnGetrealtimephonenumberEvent;
729+
/**
730+
* 手机号实时验证回调
731+
*
732+
* Open-type="getRealtimePhoneNumber" 时有效
733+
*/
734+
export interface ButtonOnGetrealtimephonenumber
735+
extends _ButtonOnGetrealtimephonenumber {}
678736
export type ButtonOnErrorEvent = _ButtonOnErrorEvent;
679737
/** 使用开放能力发生错误时回调 */
680738
export interface ButtonOnError extends _ButtonOnError {}

packages/uni-app-types/test/form-components/button.test-d.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ import type {
1818
ButtonOnGetphonenumber,
1919
ButtonOnGetphonenumberDetail,
2020
ButtonOnGetphonenumberEvent,
21+
ButtonOnGetrealtimephonenumber,
22+
ButtonOnGetrealtimephonenumberDetail,
23+
ButtonOnGetrealtimephonenumberEvent,
2124
ButtonOnLaunchapp,
2225
ButtonOnLaunchappEvent,
2326
ButtonOnLogin,
@@ -60,6 +63,15 @@ describe("Button", () => {
6063
expectTypeOf<ButtonOnGetphonenumber>().toBeFunction();
6164
expectTypeOf<ButtonOnGetphonenumber>().toEqualTypeOf<UniHelper.ButtonOnGetphonenumber>();
6265

66+
expectTypeOf<ButtonOnGetrealtimephonenumberDetail>().toBeObject();
67+
expectTypeOf<ButtonOnGetrealtimephonenumberDetail>().toEqualTypeOf<UniHelper.ButtonOnGetrealtimephonenumberDetail>();
68+
69+
expectTypeOf<ButtonOnGetrealtimephonenumberEvent>().toBeObject();
70+
expectTypeOf<ButtonOnGetrealtimephonenumberEvent>().toEqualTypeOf<UniHelper.ButtonOnGetrealtimephonenumberEvent>();
71+
72+
expectTypeOf<ButtonOnGetrealtimephonenumber>().toBeFunction();
73+
expectTypeOf<ButtonOnGetrealtimephonenumber>().toEqualTypeOf<UniHelper.ButtonOnGetrealtimephonenumber>();
74+
6375
expectTypeOf<ButtonOnErrorEvent>().toBeObject();
6476
expectTypeOf<ButtonOnErrorEvent>().toEqualTypeOf<UniHelper.ButtonOnErrorEvent>();
6577

0 commit comments

Comments
 (0)