跳转到内容

入门指南

  1. 安装核心包

    Terminal window
    npm install @capacitor-plus/core @capacitor-plus/cli
  2. 添加平台包

    Terminal window
    npm install @capacitor-plus/android # 用于 Android
    npm install @capacitor-plus/ios # 用于 iOS
  3. 初始化 Capacitor

    Terminal window
    npx cap init
  4. 添加平台

    Terminal window
    npx cap add android
    Terminal window
    npx cap add ios

如果您有现有的 Capacitor 项目,迁移到 Capacitor+ 很简单:

  1. 移除官方包

    Terminal window
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. 安装 Capacitor+ 包

    Terminal window
    npm install @capacitor-plus/core @capacitor-plus/cli
    npm install @capacitor-plus/android # 如果使用 Android
    npm install @capacitor-plus/ios # 如果使用 iOS
  3. 同步项目

    Terminal window
    npx cap sync

由于 Capacitor+ 与 API 兼容,您的现有代码无需更改即可工作:

import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
// 检查平台
const platform = Capacitor.getPlatform();
console.log('Running on:', platform);
// 检查是否为原生
if (Capacitor.isNativePlatform()) {
console.log('Running on native platform');
}
// 注册自定义插件
const MyPlugin = registerPlugin('MyPlugin');

所有官方 Capacitor 插件都可以无缝工作:

import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
import { Storage } from '@capacitor/preferences';
// Camera
const photo = await Camera.getPhoto({
quality: 90,
resultType: CameraResultType.Uri
});
// Geolocation
const position = await Geolocation.getCurrentPosition();
// Storage
await Storage.set({ key: 'name', value: 'John' });

Capgo 插件与 Capacitor+ 完美配合:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
import { CapacitorFlash } from '@capgo/capacitor-flash';
// 实时更新
await CapacitorUpdater.notifyAppReady();
// 屏幕方向
await ScreenOrientation.lock({ orientation: 'portrait' });
// 闪光灯
await CapacitorFlash.toggle();
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
  1. 每日同步:GitHub Actions 从 ionic-team/capacitor 获取最新更改
  2. 创建 PR:更改作为拉取请求提议到 plus 分支
  3. CI 验证:运行完整的测试套件(lint、单元测试、iOS 构建、Android 构建)
  4. 安全审查:AI 驱动的分析检查漏洞和破坏性更改
  5. 自动合并:仅在 CI 通过且安全审查批准时
  6. 自动发布:新版本发布到 npm 的 @capacitor-plus/*

每次上游同步都会分析:

检查捕获内容
安全性命令注入、XSS、路径遍历、硬编码秘密
破坏性更改删除/重命名的 API、更改的签名、配置更改
稳定性空引用、未处理的异常、竞态条件、内存泄漏
数据安全数据丢失场景、隐私侵犯、不安全的存储
代码完整性混淆代码、可疑的网络调用、后门

您的 PR 是否在官方 Capacitor 仓库中受阻?在 Capacitor+ 中合并:

  1. Capacitor+ 仓库中打开一个问题,链接到您的上游 PR

  2. 或直接提交 作为对 plus 分支的 PR

  3. 团队将审查、运行 CI,如果通过则合并

这样,您和其他人可以立即从您的工作中受益,而无需等待上游发布周期。

是的。Capacitor+ 用于生产应用。每个版本都通过与官方 Capacitor 相同的测试套件,以及额外的安全分析。

是的。所有 @capacitor/* 插件都可以与 Capacitor+ 开箱即用。

如果上游发布破坏性更改怎么办?

Section titled “如果上游发布破坏性更改怎么办?”

AI 安全审查会标记破坏性更改以进行手动审查。您将在合并之前看到记录的更改。

Capacitor+ GitHub 仓库上提交问题。对于也影响官方 Capacitor 的问题,我们将帮助协调上游。

绝对可以!欢迎 PR。您可以直接提交修复或请求合并特定的上游 PR。