Skip to content

fix(ascf): 增加OpenEmbeddedAtomicservice组件#19114

Merged
Single-Dancer merged 1 commit intoNervJS:mainfrom
2extliuweijian32:main
Apr 22, 2026
Merged

fix(ascf): 增加OpenEmbeddedAtomicservice组件#19114
Single-Dancer merged 1 commit intoNervJS:mainfrom
2extliuweijian32:main

Conversation

@2extliuweijian32
Copy link
Copy Markdown
Contributor

@2extliuweijian32 2extliuweijian32 commented Apr 16, 2026

这个 PR 做了什么? (简要描述所做更改)
针对ASCF元服务,增加OpenEmbeddedAtomicservice组件

这个 PR 是什么类型? (至少选择一个)

  • 错误修复 (Bugfix) issue: fix #
  • 新功能 (Feature)
  • 代码重构 (Refactor)
  • TypeScript 类型定义修改 (Types)
  • 文档修改 (Docs)
  • 代码风格更新 (Code style update)
  • 构建优化 (Chore)
  • 其他,请描述 (Other, please describe):

这个 PR 涉及以下平台:

  • 所有平台
  • Web 端(H5)
  • 移动端(React-Native)
  • 鸿蒙(Harmony)
  • 鸿蒙容器(Harmony Hybrid)
  • ASCF 元服务
  • 快应用(QuickApp)
  • 所有小程序
  • 微信小程序
  • 企业微信小程序
  • 京东小程序
  • 百度小程序
  • 支付宝小程序
  • 支付宝 IOT 小程序
  • 钉钉小程序
  • QQ 小程序
  • 飞书小程序
  • 快手小程序
  • 头条小程序

Summary by CodeRabbit

  • 新增功能
    • 新增 OpenEmbeddedAtomicservice 组件,支持嵌入式原子化服务集成。
    • 提供错误处理与服务终止回调机制。
    • 对多框架提供支持(React、Vue3、Solid)及对应的类型声明。
    • 增加用于管理服务生命周期的重启相关 API 映射与默认属性/事件绑定配置。

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 16, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8346d121-bfc2-4c12-bd89-fb90fc5515f5

📥 Commits

Reviewing files that changed from the base of the PR and between 08eab45 and 61f7247.

📒 Files selected for processing (11)
  • packages/taro-components/src/components/index.ts
  • packages/taro-components/src/components/open-embedded-atomicservice/index.ts
  • packages/taro-components/src/components/open-embedded-atomicservice/open-embedded-atomicservice.tsx
  • packages/taro-components/src/components/open-embedded-atomicservice/readme.md
  • packages/taro-components/types/OpenEmbeddedAtomicservice.d.ts
  • packages/taro-components/types/index.d.ts
  • packages/taro-components/types/index.solid.d.ts
  • packages/taro-components/types/index.vue3.d.ts
  • packages/taro-platform-ascf/src/components-react.ts
  • packages/taro-platform-ascf/src/components.ts
  • packages/taro-platform-ascf/src/reflect-apis.ts
✅ Files skipped from review due to trivial changes (4)
  • packages/taro-components/src/components/open-embedded-atomicservice/readme.md
  • packages/taro-platform-ascf/src/components-react.ts
  • packages/taro-components/src/components/open-embedded-atomicservice/index.ts
  • packages/taro-components/types/OpenEmbeddedAtomicservice.d.ts
🚧 Files skipped from review as they are similar to previous changes (7)
  • packages/taro-platform-ascf/src/reflect-apis.ts
  • packages/taro-components/types/index.d.ts
  • packages/taro-components/src/components/open-embedded-atomicservice/open-embedded-atomicservice.tsx
  • packages/taro-components/src/components/index.ts
  • packages/taro-platform-ascf/src/components.ts
  • packages/taro-components/types/index.solid.d.ts
  • packages/taro-components/types/index.vue3.d.ts

Walkthrough

新增 OpenEmbeddedAtomicservice 组件及其 Stencil 实现、框架类型声明(React/Solid/Vue3)、barrel 重新导出、组件 README、以及 ASCF 平台的组件注册与 reflectApis 中的 restartMiniProgram -> restartAtomicService 映射。

Changes

Cohort / File(s) Summary
组件实现与导出
packages/taro-components/src/components/open-embedded-atomicservice/open-embedded-atomicservice.tsx, packages/taro-components/src/components/open-embedded-atomicservice/index.ts, packages/taro-components/src/components/index.ts
新增 Stencil 组件 OpenEmbeddedAtomicservice(tag: taro-open-embedded-atomicservice-core);在 componentDidLoad 调用 notSupport('OpenEmbeddedAtomicservice', this);通过组件目录及顶层 components/index.ts 进行 re-export。
类型声明(barrel 与具体类型)
packages/taro-components/types/OpenEmbeddedAtomicservice.d.ts, packages/taro-components/types/index.d.ts
添加 OpenEmbeddedAtomicservicePropsOpenEmbeddedAtomicservice 导出,声明必需属性 appid、可选 path/wantParam 及事件 onTerminated/onError
框架特定类型
packages/taro-components/types/index.solid.d.ts, packages/taro-components/types/index.vue3.d.ts
为 Solid 与 Vue3 导出组件声明并扩展 JSX/IntrinsicElements(open-embedded-atomicservicetaro-open-embedded-atomicservice-core)。
文档
packages/taro-components/src/components/open-embedded-atomicservice/readme.md
添加组件 README(包名、自动生成标记与 Stencil 归属信息)。
ASCF 平台注册
packages/taro-platform-ascf/src/components-react.ts, packages/taro-platform-ascf/src/components.ts
在组件映射中新增 OpenEmbeddedAtomicservice(React 映射常量与 components 配置,含 appidpathwant-parambindterminatedbinderror)。
API 反射映射
packages/taro-platform-ascf/src/reflect-apis.ts
在 reflectApisMap 中新增映射,使 restartMiniProgram 映射到 restartAtomicService(影响 needPromiseApis 与 transformMeta 的输出)。

Sequence Diagram(s)

(已省略 —— 变更为添加新组件与类型,未引入复杂的跨组件控制流图示需求。)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • tutuxxx
  • yoyo837

Poem

🐰 新组件来报到,
原子服务已就绪,
类型、导出齐整好,
平台映射也到位,
兔兔为你跳一跳 🥕✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 标题准确描述了主要变更:为 ASCF 平台添加 OpenEmbeddedAtomicservice 组件,与所有文件变更内容相符。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
packages/taro-components/types/OpenEmbeddedAtomicservice.d.ts (1)

25-25: 考虑使用 Record<string, unknown> 替代 object 以获得更好的类型提示。

当前 wantParam?: object 的宽泛类型与 Navigator 的 extraData?: object 和 FunctionalPageNavigator 的 args?: object 保持一致。虽然当前实现符合已有代码风格,但若无兼容性约束,改为 Record<string, unknown> 能提供更好的类型推导和开发体验。

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/taro-components/types/OpenEmbeddedAtomicservice.d.ts` at line 25,
The property wantParam?: object in the OpenEmbeddedAtomicservice type is too
broad—replace its type with wantParam?: Record<string, unknown> to improve
IDE/type inference; update the declaration in OpenEmbeddedAtomicservice.d.ts
(the wantParam symbol) accordingly, run TypeScript checks to ensure
compatibility with Navigator.extraData/FunctionalPageNavigator.args usages, and
adjust any call sites or tests that relied on the looser object type if
compilation errors arise.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@packages/taro-components/types/OpenEmbeddedAtomicservice.d.ts`:
- Line 25: The property wantParam?: object in the OpenEmbeddedAtomicservice type
is too broad—replace its type with wantParam?: Record<string, unknown> to
improve IDE/type inference; update the declaration in
OpenEmbeddedAtomicservice.d.ts (the wantParam symbol) accordingly, run
TypeScript checks to ensure compatibility with
Navigator.extraData/FunctionalPageNavigator.args usages, and adjust any call
sites or tests that relied on the looser object type if compilation errors
arise.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 604c179a-37dd-4ce1-bf5d-b21bb5097c9c

📥 Commits

Reviewing files that changed from the base of the PR and between f0e5c39 and 08eab45.

📒 Files selected for processing (11)
  • packages/taro-components/src/components/index.ts
  • packages/taro-components/src/components/open-embedded-atomicservice/index.ts
  • packages/taro-components/src/components/open-embedded-atomicservice/open-embedded-atomicservice.tsx
  • packages/taro-components/src/components/open-embedded-atomicservice/readme.md
  • packages/taro-components/types/OpenEmbeddedAtomicservice.d.ts
  • packages/taro-components/types/index.d.ts
  • packages/taro-components/types/index.solid.d.ts
  • packages/taro-components/types/index.vue3.d.ts
  • packages/taro-platform-ascf/src/components-react.ts
  • packages/taro-platform-ascf/src/components.ts
  • packages/taro-platform-ascf/src/reflect-apis.ts

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.07%. Comparing base (c69da55) to head (61f7247).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #19114   +/-   ##
=======================================
  Coverage   56.07%   56.07%           
=======================================
  Files         447      447           
  Lines       23454    23454           
  Branches     5816     5785   -31     
=======================================
  Hits        13151    13151           
- Misses       8447     8453    +6     
+ Partials     1856     1850    -6     
Flag Coverage Δ
taro-cli 72.85% <ø> (ø)
taro-runtime 58.33% <ø> (ø)
taro-web 53.12% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This was referenced Apr 18, 2026
@Single-Dancer Single-Dancer added this to the 4.2.1 milestone Apr 21, 2026
@Single-Dancer Single-Dancer merged commit 9c6c511 into NervJS:main Apr 22, 2026
25 checks passed
This was referenced Apr 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants