/** * 组装根(框架 §6.2 DI)。**唯一知道"全部能力"的地方**。 * * 桥核心、容器都不感知具体能力;新增/裁剪能力只改这里一行。 * M2:仅示例能力(验证插件模式)。M3:替换为全部真实 Provider + 占位桩 * (RoomStubProvider/PayStubProvider,§6.5),契约 handler 名/数量不变。 */ import { CapabilityProvider, EchoSampleProvider, RoomStubProvider, PayStubProvider, VibrateProvider, ClipboardProvider, AppSystemProvider, DeviceProvider, NetworkProvider, ShareProvider, LoginProvider, PhotoProvider, ShakeProvider, ScanProvider, CameraProvider, LocationProvider, AudioProvider, NavProvider } from 'feature_capabilities'; export function buildCapabilities(): CapabilityProvider[] { return [ new EchoSampleProvider(), // M2 回显样板(M3 全部 Provider 就位后可移除) // —— M3 已落地能力(顺序无关,互不依赖)—— new AppSystemProvider(), // orientation/browser/finsh/openApplyDownloadpath/notification new VibrateProvider(), // vibrator/repeatvibrator/canclevibrator new ClipboardProvider(), // gameCopytext/gamepastetext new DeviceProvider(), // getTime/getphonestate/getbattery/getwifiLevel/getphoneInfo/getmarketname/getothername/getOther/getcompareCode new NetworkProvider(), // getnetwork + 出站广播 new ShareProvider(), // friendsSharetypeUrlToptitleDescript → sharesuccess(微信) new LoginProvider(), // accreditlogin → sharelogin(微信 code 模式,profile 待服务端) new PhotoProvider(), // getphoto 批量下载 → getphoto new ShakeProvider(), // startshake/SwitchShake/stopshake → shakeEnd new ScanProvider(), // opensaoma → getsaomaData new CameraProvider(), // opencamera → getcameraaAddress new LocationProvider(), // startlocation/getlocationinfo → getlocationinfo new AudioProvider(), // mediaTypeAudio/srcIsloop/voicePlaying(播放);prepareaudio 录音分档 new NavProvider(), // OpenurlTitleData/SwitchOverGameData/getGameinstall/backgameData // —— 暂缓能力占位桩(§6.5)—— new RoomStubProvider(), new PayStubProvider(), // —— M3 待落地:DeviceProvider/NetworkProvider/ShakeProvider/LocationProvider/AudioProvider/ // ScanProvider/CameraProvider/PhotoProvider/NavProvider/ShareProvider/LoginProvider —— ]; }