Skip to content

Commit 4c77e65

Browse files
authored
feat(button): add support for liveActivity open-type
2 parents 3396524 + 363abb6 commit 4c77e65

File tree

2 files changed

+149
-0
lines changed

2 files changed

+149
-0
lines changed

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

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ type _ButtonFormType = "submit" | "reset";
5353
*
5454
* ChooseAvatar 获取用户头像,可以从 `@chooseavatar` 回调中获取到头像信息
5555
*
56+
* LiveActivity 通过前端获取新的一次性订阅消息下发机制使用的 code
57+
*
5658
* GetAuthorize 支持小程序授权
5759
*
5860
* Lifestyle 关注生活号
@@ -105,6 +107,7 @@ type _ButtonOpenType =
105107
| "chooseAvatar"
106108
| "getAuthorize"
107109
| "lifestyle"
110+
| "liveActivity"
108111
| "contactShare"
109112
| "openGroupProfile"
110113
| "openGuildProfile"
@@ -134,6 +137,56 @@ type _ButtonOpenType =
134137
*/
135138
type _ButtonLang = "zh_CN" | "zh_TW" | "en";
136139

140+
/**
141+
* 卡片业态类型,用于一次性订阅消息
142+
*
143+
* 1001 打车服务
144+
*
145+
* 1003 同城配送服务
146+
*
147+
* 1004 取餐等候服务
148+
*
149+
* 1005 餐厅排队服务
150+
*
151+
* 2001 购物(实体物流)服务
152+
*
153+
* 2002 购物(自提)服务
154+
*
155+
* 2003 购物(虚拟发货)服务
156+
*
157+
* 2004 快递寄送服务
158+
*
159+
* 2005 保险购买服务
160+
*
161+
* 2006 购物&餐饮(同城配送)服务
162+
*
163+
* 2007 购物&餐饮&本地生活(等候领取)服务
164+
*
165+
* 2008 酒店预订服务
166+
*
167+
* 2009 机票服务
168+
*
169+
* 2010 火车票、汽车票、船票服务
170+
*
171+
* 2011 景区门票服务
172+
*/
173+
type _ButtonActivityType =
174+
| "1001"
175+
| "1003"
176+
| "1004"
177+
| "1005"
178+
| "2001"
179+
| "2002"
180+
| "2003"
181+
| "2004"
182+
| "2005"
183+
| "2006"
184+
| "2007"
185+
| "2008"
186+
| "2009"
187+
| "2010"
188+
| "2011";
189+
137190
interface _ButtonOnGetphonenumberDetail {
138191
/** 错误信息 */
139192
errMsg?: string;
@@ -184,6 +237,25 @@ type _ButtonOnErrorEvent = BaseEvent;
184237
/** 使用开放能力发生错误时回调 */
185238
type _ButtonOnError = (event: _ButtonOnErrorEvent) => void;
186239

240+
interface _ButtonOnCreateliveactivityDetail {
241+
/** 错误信息 */
242+
errMsg?: string;
243+
/** 动态更新令牌,用于后续调用服务端接口更新卡片状态 */
244+
code?: string;
245+
}
246+
247+
type _ButtonOnCreateliveactivityEvent =
248+
CustomEvent<_ButtonOnCreateliveactivityDetail>;
249+
250+
/**
251+
* 获取一次性订阅消息的动态令牌回调
252+
*
253+
* Open-type="liveActivity" 时有效
254+
*/
255+
type _ButtonOnCreateliveactivity = (
256+
event: _ButtonOnCreateliveactivityEvent,
257+
) => void;
258+
187259
interface _ButtonOnOpensettingDetail {
188260
authSetting: Record<string, any>;
189261
}
@@ -497,6 +569,12 @@ type _ButtonProps = CommonProps &
497569
* Open-type="openPublicProfile" 时有效
498570
*/
499571
publicId: string;
572+
/**
573+
* 卡片业态类型,用于一次性订阅消息
574+
*
575+
* Open-type="liveActivity" 时有效
576+
*/
577+
activityType: _ButtonActivityType;
500578
/**
501579
* 获取用户手机号时回调
502580
*
@@ -529,6 +607,12 @@ type _ButtonProps = CommonProps &
529607
* Open-type="chooseAvatar" 时有效
530608
*/
531609
onChooseavatar: _ButtonOnChooseavatar;
610+
/**
611+
* 获取一次性订阅消息的动态令牌回调
612+
*
613+
* Open-type="liveActivity" 时有效
614+
*/
615+
onCreateliveactivity: _ButtonOnCreateliveactivity;
532616
/**
533617
* 添加群应用回调
534618
*
@@ -579,6 +663,7 @@ export type {
579663
_ButtonFormType as ButtonFormType,
580664
_ButtonOpenType as ButtonOpenType,
581665
_ButtonLang as ButtonLang,
666+
_ButtonActivityType as ButtonActivityType,
582667
_ButtonOnGetphonenumberDetail as ButtonOnGetphonenumberDetail,
583668
_ButtonOnGetphonenumberEvent as ButtonOnGetphonenumberEvent,
584669
_ButtonOnGetphonenumber as ButtonOnGetphonenumber,
@@ -587,6 +672,9 @@ export type {
587672
_ButtonOnGetrealtimephonenumber as ButtonOnGetrealtimephonenumber,
588673
_ButtonOnErrorEvent as ButtonOnErrorEvent,
589674
_ButtonOnError as ButtonOnError,
675+
_ButtonOnCreateliveactivityDetail as ButtonOnCreateliveactivityDetail,
676+
_ButtonOnCreateliveactivityEvent as ButtonOnCreateliveactivityEvent,
677+
_ButtonOnCreateliveactivity as ButtonOnCreateliveactivity,
590678
_ButtonOnOpensettingDetail as ButtonOnOpensettingDetail,
591679
_ButtonOnOpensettingEvent as ButtonOnOpensettingEvent,
592680
_ButtonOnOpensetting as ButtonOnOpensetting,
@@ -713,6 +801,40 @@ declare global {
713801
* En 英文
714802
*/
715803
export type ButtonLang = _ButtonLang;
804+
/**
805+
* 卡片业态类型,用于一次性订阅消息
806+
*
807+
* 1001 打车服务
808+
*
809+
* 1003 同城配送服务
810+
*
811+
* 1004 取餐等候服务
812+
*
813+
* 1005 餐厅排队服务
814+
*
815+
* 2001 购物(实体物流)服务
816+
*
817+
* 2002 购物(自提)服务
818+
*
819+
* 2003 购物(虚拟发货)服务
820+
*
821+
* 2004 快递寄送服务
822+
*
823+
* 2005 保险购买服务
824+
*
825+
* 2006 购物&餐饮(同城配送)服务
826+
*
827+
* 2007 购物&餐饮&本地生活(等候领取)服务
828+
*
829+
* 2008 酒店预订服务
830+
*
831+
* 2009 机票服务
832+
*
833+
* 2010 火车票、汽车票、船票服务
834+
*
835+
* 2011 景区门票服务
836+
*/
837+
export type ButtonActivityType = _ButtonActivityType;
716838
export interface ButtonOnGetphonenumberDetail
717839
extends _ButtonOnGetphonenumberDetail {}
718840
export type ButtonOnGetphonenumberEvent = _ButtonOnGetphonenumberEvent;
@@ -736,6 +858,17 @@ declare global {
736858
export type ButtonOnErrorEvent = _ButtonOnErrorEvent;
737859
/** 使用开放能力发生错误时回调 */
738860
export interface ButtonOnError extends _ButtonOnError {}
861+
export interface ButtonOnCreateliveactivityDetail
862+
extends _ButtonOnCreateliveactivityDetail {}
863+
export type ButtonOnCreateliveactivityEvent =
864+
_ButtonOnCreateliveactivityEvent;
865+
/**
866+
* 获取一次性订阅消息的动态令牌回调
867+
*
868+
* Open-type="liveActivity" 时有效
869+
*/
870+
export interface ButtonOnCreateliveactivity
871+
extends _ButtonOnCreateliveactivity {}
739872
export interface ButtonOnOpensettingDetail
740873
extends _ButtonOnOpensettingDetail {}
741874
export type ButtonOnOpensettingEvent = _ButtonOnOpensettingEvent;

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type {
22
Button,
3+
ButtonActivityType,
34
ButtonFormType,
45
ButtonInstance,
56
ButtonLang,
@@ -13,6 +14,9 @@ import type {
1314
ButtonOnChooseavatarEvent,
1415
ButtonOnChooseinvoicetitle,
1516
ButtonOnChooseinvoicetitleEvent,
17+
ButtonOnCreateliveactivity,
18+
ButtonOnCreateliveactivityDetail,
19+
ButtonOnCreateliveactivityEvent,
1620
ButtonOnError,
1721
ButtonOnErrorEvent,
1822
ButtonOnGetphonenumber,
@@ -54,6 +58,9 @@ describe("Button", () => {
5458
expectTypeOf<ButtonLang>().toBeString();
5559
expectTypeOf<ButtonLang>().toEqualTypeOf<UniHelper.ButtonLang>();
5660

61+
expectTypeOf<ButtonActivityType>().toBeString();
62+
expectTypeOf<ButtonActivityType>().toEqualTypeOf<UniHelper.ButtonActivityType>();
63+
5764
expectTypeOf<ButtonOnGetphonenumberDetail>().toBeObject();
5865
expectTypeOf<ButtonOnGetphonenumberDetail>().toEqualTypeOf<UniHelper.ButtonOnGetphonenumberDetail>();
5966

@@ -78,6 +85,15 @@ describe("Button", () => {
7885
expectTypeOf<ButtonOnError>().toBeFunction();
7986
expectTypeOf<ButtonOnError>().toEqualTypeOf<UniHelper.ButtonOnError>();
8087

88+
expectTypeOf<ButtonOnCreateliveactivityDetail>().toBeObject();
89+
expectTypeOf<ButtonOnCreateliveactivityDetail>().toEqualTypeOf<UniHelper.ButtonOnCreateliveactivityDetail>();
90+
91+
expectTypeOf<ButtonOnCreateliveactivityEvent>().toBeObject();
92+
expectTypeOf<ButtonOnCreateliveactivityEvent>().toEqualTypeOf<UniHelper.ButtonOnCreateliveactivityEvent>();
93+
94+
expectTypeOf<ButtonOnCreateliveactivity>().toBeFunction();
95+
expectTypeOf<ButtonOnCreateliveactivity>().toEqualTypeOf<UniHelper.ButtonOnCreateliveactivity>();
96+
8197
expectTypeOf<ButtonOnOpensettingDetail>().toBeObject();
8298
expectTypeOf<ButtonOnOpensettingDetail>().toEqualTypeOf<UniHelper.ButtonOnOpensettingDetail>();
8399

0 commit comments

Comments
 (0)