@doubao-dev/framework 0.0.38 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -123,7 +123,8 @@ declare interface BounceConfig {
123
123
  /**
124
124
  * 按钮组件。
125
125
  *
126
- * ## CSS 继承原则
126
+ * @remarks
127
+ * ## 使用建议
127
128
  *
128
129
  * 由于 Lynx 组件不开启 CSS 继承,Button 的文本样式不会自动应用到 children。
129
130
  * 因此提供了以下明确的 API 用法:
@@ -132,9 +133,6 @@ declare interface BounceConfig {
132
133
  * - `icon` + `text` prop:组合使用,显示图标和文字
133
134
  * - `children`:完全自定义内容,**不会**应用按钮的默认文本样式
134
135
  *
135
- *
136
- * ## 使用建议
137
- *
138
136
  * ```tsx
139
137
  * // 简单文字:用 text prop(推荐)
140
138
  * <Button text="确定" />
@@ -206,7 +204,7 @@ export declare interface ButtonProps {
206
204
  /**
207
205
  * 开放能力类型
208
206
  */
209
- openType?: 'getPhoneNumber' | 'agreePrivacyAuthorization' | 'agreePrivacyAuthorization|getPhoneNumber';
207
+ openType?: 'getPhoneNumber' | 'agreePrivacyAuthorization' | 'agreePrivacyAuthorization|getPhoneNumber' | 'openSetting';
210
208
  /**
211
209
  * 点击回调函数
212
210
  * @eventProperty
@@ -227,6 +225,26 @@ export declare interface ButtonProps {
227
225
  * @eventProperty
228
226
  */
229
227
  onAgreePrivacyAuthorization?: (result?: AgreePrivacyResult) => void;
228
+ /**
229
+ * 打开授权设置页回调,只在 openType="openSetting" 时有效
230
+ *
231
+ * 成功时 detail 包含 `errMsg: 'openSetting:ok'` 和最新 `authSetting`;
232
+ * 失败时 detail 仅包含 `openSetting:fail ...`,不会包含 `authSetting` 字段。
233
+ *
234
+ * @example
235
+ * ```tsx
236
+ * <Button
237
+ * openType="openSetting"
238
+ * onOpenSetting={({ detail }) => {
239
+ * if (detail.errMsg === 'openSetting:ok') {
240
+ * console.log(detail.authSetting);
241
+ * }
242
+ * }}
243
+ * />
244
+ * ```
245
+ * @eventProperty
246
+ */
247
+ onOpenSetting?: (event: OpenSettingEvent) => void;
230
248
  }
231
249
 
232
250
  declare type ButtonSize = 'default' | 'medium' | 'mini';
@@ -251,13 +269,37 @@ export declare interface CanvasElement {
251
269
  }
252
270
 
253
271
  declare interface CanvasImage {
272
+ /**
273
+ * 图片资源地址。
274
+ */
254
275
  src: string;
276
+ /**
277
+ * 图片原始宽度。
278
+ */
255
279
  readonly width: number;
280
+ /**
281
+ * 图片原始高度。
282
+ */
256
283
  readonly height: number;
284
+ /**
285
+ * 图片资源是否加载完成。
286
+ */
257
287
  readonly complete: boolean;
288
+ /**
289
+ * 图片加载完成时触发。
290
+ */
258
291
  onload: (() => void) | null;
292
+ /**
293
+ * 图片加载失败时触发。
294
+ */
259
295
  onerror: ((error: unknown) => void) | null;
296
+ /**
297
+ * 添加图片加载或失败事件监听器。
298
+ */
260
299
  addEventListener: (event: 'load' | 'error', listener: (event: unknown) => void, options?: AddEventListenerOptions | boolean) => void;
300
+ /**
301
+ * 移除图片加载或失败事件监听器。
302
+ */
261
303
  removeEventListener: (event: 'load' | 'error', listener: (event: unknown) => void, options?: EventListenerOptions | boolean) => void;
262
304
  }
263
305
 
@@ -395,7 +437,13 @@ export declare interface CanvasResizeEvent {
395
437
  }
396
438
 
397
439
  export declare interface Circle {
440
+ /**
441
+ * 圆形唯一标识。
442
+ */
398
443
  id: string;
444
+ /**
445
+ * 圆心坐标。
446
+ */
399
447
  center: LatLng;
400
448
  /**
401
449
  * 圆半径。
@@ -573,7 +621,13 @@ export declare type GetDoubaoPaymentOrderId = (mode?: DoubaoPaymentMode_2) => st
573
621
  declare type GetDoubaoPaymentOrderId_2 = (mode?: DoubaoPaymentMode) => string | Promise<string>;
574
622
 
575
623
  export declare interface GetPhoneNumberResult {
624
+ /**
625
+ * 获取手机号结果码。
626
+ */
576
627
  code?: string;
628
+ /**
629
+ * 获取手机号结果信息。
630
+ */
577
631
  message?: string;
578
632
  }
579
633
 
@@ -653,7 +707,11 @@ export declare interface ImageProps {
653
707
  */
654
708
  src: string;
655
709
  /**
656
- * 图片裁剪、缩放模式
710
+ * 图片裁剪、缩放模式。
711
+ * - `scaleToFill`:不保持宽高比缩放图片,使图片拉伸填满元素。
712
+ * - `aspectFit`:保持宽高比缩放图片,使图片长边完整显示。
713
+ * - `aspectFill`:保持宽高比缩放图片,使图片短边填满元素。
714
+ * - `center`:不缩放图片,将图片居中显示。
657
715
  * @defaultValue 'scaleToFill'
658
716
  */
659
717
  mode?: 'scaleToFill' | 'aspectFit' | 'aspectFill' | 'center';
@@ -930,7 +988,13 @@ export declare interface InputRef {
930
988
  }
931
989
 
932
990
  export declare type LatLng = {
991
+ /**
992
+ * 纬度。
993
+ */
933
994
  latitude: number;
995
+ /**
996
+ * 经度。
997
+ */
934
998
  longitude: number;
935
999
  };
936
1000
 
@@ -1543,7 +1607,7 @@ export declare interface MapProps {
1543
1607
  */
1544
1608
  showLocation?: boolean;
1545
1609
  /**
1546
- * 地图logo位置。
1610
+ * 地图 logo 位置。
1547
1611
  * @defaultValue 'bottom-left'
1548
1612
  */
1549
1613
  logoPosition?: 'bottom-left' | 'bottom-center' | 'bottom-right' | 'top-left' | 'top-center' | 'top-right';
@@ -2170,6 +2234,62 @@ export declare interface MovableViewProps {
2170
2234
  children?: ReactNode;
2171
2235
  }
2172
2236
 
2237
+ export declare interface NavigationBarBackEvent {
2238
+ /** 返回的页面层数。为 0 时只触发回调,不执行页面返回。 */
2239
+ delta: number;
2240
+ }
2241
+
2242
+ /**
2243
+ * 页面顶部导航栏组件。
2244
+ *
2245
+ * 用于隐藏宿主默认标题栏后的自定义页面导航,自动适配状态栏和平台导航规格。
2246
+ */
2247
+ export declare interface NavigationBarProps {
2248
+ /** 组件样式。 */
2249
+ style?: CSSProperties;
2250
+ /** 组件类名。 */
2251
+ className?: string;
2252
+ /** 导航标题。为空时渲染 centerContent。 */
2253
+ title?: string;
2254
+ /**
2255
+ * 是否显示默认返回按钮。为 false 时渲染 leftContent。
2256
+ * @defaultValue true
2257
+ */
2258
+ back?: boolean;
2259
+ /**
2260
+ * 点击返回按钮时返回的页面层数。为 0 时只触发 onBack,不执行页面返回。
2261
+ * @defaultValue 1
2262
+ */
2263
+ delta?: number;
2264
+ /** 导航栏背景色。默认跟随当前主题。 */
2265
+ background?: string;
2266
+ /** 标题、返回图标和加载图标的颜色。默认跟随当前主题。 */
2267
+ color?: string;
2268
+ /**
2269
+ * 是否在标题左侧显示加载图标。
2270
+ * @defaultValue false
2271
+ */
2272
+ loading?: boolean;
2273
+ /**
2274
+ * 是否显示导航栏内容。隐藏时仍保留导航栏高度占位。
2275
+ * @defaultValue true
2276
+ */
2277
+ show?: boolean;
2278
+ /**
2279
+ * show 变化时是否使用透明度过渡动画。
2280
+ * @defaultValue true
2281
+ */
2282
+ animated?: boolean;
2283
+ /** back 为 false 时显示的左侧自定义内容。 */
2284
+ leftContent?: ReactNode;
2285
+ /** title 为空时显示的中间自定义内容。 */
2286
+ centerContent?: ReactNode;
2287
+ /** 右侧自定义内容。 */
2288
+ rightContent?: ReactNode;
2289
+ /** 点击默认返回按钮后触发。 */
2290
+ onBack?: (event: NavigationBarBackEvent) => void;
2291
+ }
2292
+
2173
2293
  declare interface OffscreenCanvas_2 {
2174
2294
  /**
2175
2295
  * 画布宽度(buffer 像素数)
@@ -2216,6 +2336,40 @@ declare interface OnDragCallback {
2216
2336
  top: number;
2217
2337
  }
2218
2338
 
2339
+ /**
2340
+ * Button 通过 `openType="openSetting"` 打开授权设置页后的回调事件。
2341
+ */
2342
+ export declare interface OpenSettingEvent {
2343
+ /**
2344
+ * 打开授权设置页的结果详情。
2345
+ */
2346
+ detail: OpenSettingEventDetail;
2347
+ }
2348
+
2349
+ /**
2350
+ * 打开授权设置页后的事件详情。
2351
+ *
2352
+ * 可通过 `errMsg` 区分成功和失败:成功时同时返回最新的 `authSetting`,
2353
+ * 失败时不包含 `authSetting` 字段。
2354
+ */
2355
+ export declare type OpenSettingEventDetail = {
2356
+ /**
2357
+ * 回调状态,成功时固定为 `openSetting:ok`。
2358
+ */
2359
+ errMsg: 'openSetting:ok';
2360
+ /**
2361
+ * 用户授权设置结果。
2362
+ *
2363
+ * key 为权限 scope,value 表示用户是否已授权该权限。
2364
+ */
2365
+ authSetting: Record<string, boolean>;
2366
+ } | {
2367
+ /**
2368
+ * 回调状态,失败时格式为 `openSetting:fail ${错误信息}`。
2369
+ */
2370
+ errMsg: `openSetting:fail ${string}`;
2371
+ };
2372
+
2219
2373
  /**
2220
2374
  * PickerColumn 单个选项的数据结构
2221
2375
  */
@@ -2331,6 +2485,9 @@ export declare interface PickerViewRef {
2331
2485
  }
2332
2486
 
2333
2487
  export declare interface Polygon {
2488
+ /**
2489
+ * 多边形唯一标识。
2490
+ */
2334
2491
  id: string;
2335
2492
  /**
2336
2493
  * 多边形顶点经纬度数组,顺时针方向。
@@ -2363,6 +2520,9 @@ export declare interface Polygon {
2363
2520
  }
2364
2521
 
2365
2522
  export declare interface Polyline {
2523
+ /**
2524
+ * 路线唯一标识。
2525
+ */
2366
2526
  id: string;
2367
2527
  /**
2368
2528
  * 路线点数组。
@@ -3052,7 +3212,7 @@ export declare interface SliderProps {
3052
3212
  */
3053
3213
  key?: string | number | null | undefined;
3054
3214
  /**
3055
- * 当前数值 (必填,只支持受控用法)
3215
+ * 当前数值(必填,只支持受控用法)
3056
3216
  */
3057
3217
  value: number;
3058
3218
  /**
@@ -3573,10 +3733,15 @@ export declare interface TextProps {
3573
3733
  */
3574
3734
  textSingleLineVerticalAlign?: 'normal' | 'bottom' | 'center' | 'top';
3575
3735
  /**
3576
- * 是否开启文本选择功能
3736
+ * 是否开启文本选择功能,开启时需同时设置 `flatten={false}`
3577
3737
  * @defaultValue false
3578
3738
  */
3579
3739
  textSelection?: boolean;
3740
+ /**
3741
+ * 是否将节点扁平化以加速渲染,开启文本选择等需要真实节点的能力时需设为 false
3742
+ * @defaultValue true
3743
+ */
3744
+ flatten?: boolean;
3580
3745
  /**
3581
3746
  * 开启文本选择后,是否使用自定义弹窗菜单
3582
3747
  * @defaultValue false
@@ -4493,6 +4658,9 @@ export declare interface WebViewProps {
4493
4658
  }
4494
4659
 
4495
4660
  export declare interface WebViewRef {
4661
+ /**
4662
+ * 向网页发送消息
4663
+ */
4496
4664
  postMessage(data: unknown): void;
4497
4665
  }
4498
4666
 
package/dist/index.d.ts CHANGED
@@ -323,7 +323,7 @@ export declare function defineLoginApi(api: LoginApi): LoginApi;
323
323
  /**
324
324
  * 定义 MCP 登录页面
325
325
  * @param options 定义 MCP 登录页面的选项
326
- * @returns 小程序 MCP 登录页面
326
+ * @returns 智能服务 MCP 登录页面
327
327
  */
328
328
  export declare function defineLoginPage<Data extends AnyObject>(options: Omit<DefinePageToolOptions<Data>, 'aiMeta'> & ThisType<Readonly<PageInstanceMethods<Data>>>): Page<Data>;
329
329
 
@@ -459,8 +459,9 @@ export { Dispatch }
459
459
 
460
460
  export { DispatchWithoutAction }
461
461
 
462
- /** 当前小程序基础库版本。 */
463
- export declare const DoubaoAppsSDKVersion: string;
462
+ /** 当前前端库版本。 */
463
+ declare const DoubaoAppsSDKVersion_2: string;
464
+ export { DoubaoAppsSDKVersion_2 as DoubaoAppsSDKVersion }
464
465
 
465
466
  export { EffectCallback }
466
467
 
@@ -496,7 +497,8 @@ export { FunctionComponentElement }
496
497
 
497
498
  export { FunctionComponentFactory }
498
499
 
499
- export declare function getApp<T extends App = App>(): T;
500
+ declare function getApp_2<T extends App = App>(): T;
501
+ export { getApp_2 as getApp }
500
502
 
501
503
  export declare function getCurrentPages(): CurrentPage[];
502
504
 
@@ -505,7 +507,13 @@ export { GetDerivedStateFromError }
505
507
  export { GetDerivedStateFromProps }
506
508
 
507
509
  declare interface GetPhoneNumberResult {
510
+ /**
511
+ * 获取手机号结果码。
512
+ */
508
513
  code?: string;
514
+ /**
515
+ * 获取手机号结果信息。
516
+ */
509
517
  message?: string;
510
518
  }
511
519
 
package/jsx-runtime.d.ts CHANGED
@@ -19,6 +19,7 @@ export namespace JSX {
19
19
  map: import('./components.d.ts').MapProps;
20
20
  'map-marker': import('./components.d.ts').MapMarkerProps;
21
21
  markdown: import('./components.d.ts').MarkdownProps;
22
+ 'navigation-bar': import('./components.d.ts').NavigationBarProps;
22
23
  'long-image': import('./components.d.ts').LongImageProps;
23
24
  'movable-area': import('./components.d.ts').MovableAreaProps;
24
25
  'movable-view': import('./components.d.ts').MovableViewProps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doubao-dev/framework",
3
- "version": "0.0.38",
3
+ "version": "0.0.39",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {