M3(批4): 图片/摇一摇/扫码/相机/定位 Provider

T-M3-07 PhotoProvider:getphoto 批量下载到资源根 photos/(file:// 白名单内) → 出站 getphoto[{pid,photourl}],复用 Downloader 并行
T-M3-08 ShakeProvider:startshake/SwitchShake/stopshake,@ohos.sensor 加速度合力阈值检测+节流,~1s 后出站 shakeEnd(空串),反馈震动
T-M3-11 ScanProvider:opensaoma → @kit.ScanKit 默认界面扫码(免权限) → 出站 getsaomaData(originalValue)
T-M3-12 CameraProvider:opencamera → @kit.CameraKit cameraPicker.pick(免权限) → 出站 getcameraaAddress(resultUri)
T-M3-09 LocationProvider:startlocation(连续/单次,用时申请权限)/getlocationinfo(同步) → geoLocationManager 定位+逆地理编码 →
        出站 getlocationinfo(MaplocationInfo;错误码 0/-1未就绪/-2权限拒绝)
module.json5 增 ACCELEROMETER/LOCATION/APPROXIMATELY_LOCATION;组装根装配 5 者

devecocli build 通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
lanterngamescn
2026-06-25 19:59:04 +08:00
parent 841a964693
commit 9dc3e2ddf7
9 changed files with 463 additions and 1 deletions
+7 -1
View File
@@ -7,7 +7,8 @@
*/
import { CapabilityProvider, EchoSampleProvider, RoomStubProvider, PayStubProvider,
VibrateProvider, ClipboardProvider, AppSystemProvider, DeviceProvider,
NetworkProvider, ShareProvider, LoginProvider } from 'feature_capabilities';
NetworkProvider, ShareProvider, LoginProvider, PhotoProvider, ShakeProvider,
ScanProvider, CameraProvider, LocationProvider } from 'feature_capabilities';
export function buildCapabilities(): CapabilityProvider[] {
return [
@@ -20,6 +21,11 @@ export function buildCapabilities(): CapabilityProvider[] {
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
// —— 暂缓能力占位桩(§6.5)——
new RoomStubProvider(),
new PayStubProvider(),
+19
View File
@@ -67,6 +67,25 @@
},
{
"name": "ohos.permission.GET_WIFI_INFO"
},
{
"name": "ohos.permission.ACCELEROMETER"
},
{
"name": "ohos.permission.LOCATION",
"reason": "$string:reason_location",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
},
{
"name": "ohos.permission.APPROXIMATELY_LOCATION",
"reason": "$string:reason_location",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
}
]
}
@@ -15,6 +15,10 @@
{
"name": "reason_internet",
"value": "用于下载游戏资源与获取远程配置"
},
{
"name": "reason_location",
"value": "用于向游戏提供定位服务"
}
]
}