
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Preferences 以"键-值"对形式存储,值为 number、string、boolean、Array 等简单类型,适合保存用户偏好与轻量状态,不适合大数据与复杂查询。存储项类型来源状态用途videoIndexnumber恢复上次观看的视频下标number恢复播放位置tabIndexnumber恢复底部页签string断点偏好记录对比关系型数据库(RelationalStore):Prefe

V2 工程优先使用 AppStorageV2:connect 连接 @ObservedV2 类,类型安全、属性级可观察、全模块共享。WindowInfo 是"全局状态单例"的教科书实现:单例维护(WindowUtil)+ 全局存储(AppStorageV2)+ 组件观察(@Local + getWindowInfoState)三层协作。页面级共享状态(主题、侧栏、路由)用 @Provider/@C

用 @Monitor 把"状态变化"与"业务副作用"显式关联:切视频暂停/起播、窗口变化重排、进度跳转,都收敛为一条清晰的联动链路。多属性联动的场景(宽高、坐标)一次 @Monitor 监听多个属性,利用批量去重天然抗抖。需要变化前后值(拖拽回退、差值统计)时使用 IMonitorChange 参数。派生展示值(百分比、时间文本、格式化文案)用 @Computed,享受缓存的同时保持代码整洁。

组件内私有状态一律 @Local;只读入参用 @Param;行为上抛用 @Event,保持单向数据流。数据模型按需加 @ObservedV2/@Trace:对象属性需要细粒度刷新时标记,纯数据容器不滥用。跨层级共享用 @Provider/@Consumer,优先在页面根部(Index.ets)收敛全局 Provider,key 命名统一字符串常量。高频状态(播放进度、窗口尺寸)借助 @Trace

状态就近声明:只被单个组件使用的状态用 @State,避免无谓提升。参数只读优先 @Prop,需要回写才用 @Link;跨层共享优先 @Provide/@Consume,减少逐层透传。对象级数据用 @Observed + @ObjectLink,保证细粒度刷新。需要感知状态变化执行副作用(保存、埋点、联动播放器)时使用 @Watch。V1 的"就近管理"思想是 V2 的基石;新项目建议直接采用 V

标记必传参数 src,编译期约束调用方;其余 @Param 提供默认值,调用方按需覆盖(如评论头像44 : 32组件自带 aboutToAppear/aboutToDisappear 生命周期,可做数据加载与资源释放。高频 UI 片段封装为自定义组件(MSVTextIcon),必传参数用 @Require @Param,可选参数给默认值。组件内复用用 @Builder,跨模块复用用导出 @Buil
半模态优先用 bindSheet + $$ 双向绑定,弹窗内容抽成 @Builder 以便复用。输入条用 RelativeContainer 锚定底部,依赖系统键盘避让,并预留列表底部间距。同一评论组件以不同外壳呈现(半模态/分栏/全屏),断点驱动形态,避免三套 UI 代码。确认弹窗用 CustomDialog、轻提示用 promptAction,职责单一、调用简单。深色模式与毛玻璃按断点差异化启
侧边栏常驻用 autoHide(false) + showControlButton(false),菜单自绘保证全设备视觉一致。侧面板优先用 Navigation Split 模式而非弹窗,大屏下避免模态割裂、内容上下文不丢失。断点 + 布尔开关(showSideComment/showSideIndividual)驱动形态:大屏分栏、手机半模态,一套业务逻辑。divider 与选中高亮提升信息层
NavPathStack 全局唯一,用 @Provider/@Consumer 传递避免层层透传;页面内导航用 onReady 的页面级栈。路由统一注册到 route_map.json,buildFunction 与导出 @Builder 同名,保证映射可维护。模式切换由业务开关驱动,配合 enableModeChangeAnimation(false) 防止闪烁。大屏用 Split 分栏、小屏用
其余"朋友、消息、我的"为图文形态,仅传文本与内容 Builder。用数据模型驱动页签,新增页签只加一条数据,内容与图标统一收敛。参数化 + @Builder 自定义 TabBar,一套组件覆盖底部、顶部、纯图标、下划线多种形态。canIUse 探测 + useFloating 开关实现 HDS 悬浮与原生 Tabs 双轨降级。设备差异收敛在产品层:手机/平板复用 MSVTabs,TV 独立实现








