# 平台能力与主体限制说明
> 文档版本：v1.0
> 最后更新：2026-04-02 08:28:05


本文档用于记录当前项目在 **微信小程序平台能力** 上已经确认的边界，避免后续把环境或主体限制误判成代码问题。

---

## 1. 当前已确认的关键事实

当前项目最初使用的是**个人主体**小程序。

在这个前提下，已经出现并确认了以下问题：

- `web-view` 无法打开指定 H5 页面
- 某些传感器能力在不同设备上表现异常或不稳定
- 部分能力在 `iOS` 与 `Android` 上差异极大

这些问题在排查后，已经基本确认不完全是代码链路问题，而与 **小程序主体能力边界** 直接相关。

---

## 2. 当前确认受影响的能力

### 2.1 WebView / H5 定制内容

现象：

- 浏览器中 H5 页面可正常打开
- 小程序 `web-view` 中提示：
  - `无法打开该页面`
  - `不支持打开 https://...`

当前结论：

- 这不代表 H5 页面本身有问题
- 也不代表内容体验链路本身有问题
- 在个人主体下，即使同域名下配置可读，`web-view` 仍可能不可用或受限

### 2.2 传感器相关能力

现象：

- `Compass` 在不同平台表现不一致
- `Accelerometer` 启动异常
- 某些 Android 设备上指北针样本不稳定

当前结论：

- 这类问题不能简单归因为算法
- 其中一部分和小程序主体能力、平台能力边界有关
- 在企业主体完成前，不宜继续对这类问题做过度代码优化

---

## 3. 为什么“同域名能读配置”不代表“能开 H5”

这是排查中最容易误判的点。

在微信小程序里：

- 读取配置、请求接口，依赖的是：
  - `request` 相关域名能力
- 打开 `web-view`，依赖的是：
  - `业务域名`

这两者不是同一条能力链。

因此会出现：

- 配置文件能正常读取
- 同域名 H5 页面却无法在 `web-view` 中打开

这个现象本身并不矛盾。

---

## 4. 当前开发策略

在企业主体审核完成前，建议采用以下策略：

### 4.1 原生能力优先

继续优先开发：

- 地图主流程
- 打点逻辑
- HUD
- 指北针与自动转图
- 原生内容卡兜底
- 原生结果页兜底

### 4.2 H5 与高级传感器相关能力先按“接口预留”处理

当前阶段可以继续做：

- 文档
- 模型
- 配置结构
- Bridge 设计
- 容器页

但不要再花大量时间试图用当前个人主体把所有能力彻底打通。

### 4.3 企业主体通过后再做专项回归

企业主体切换完成后，应专项回归：

- `web-view`
- `Compass`
- `Accelerometer`
- 其它之前表现异常的能力

---

## 5. 企业主体切换后的回归建议

建议回归顺序：

1. 最小 `web-view` 测试页
2. H5 内容体验页自动弹出
3. H5 点击内容页
4. `Compass` 样本接收
5. 自动转图
6. `Accelerometer`

如果最小 `web-view` 测试页仍失败，再继续查：

- 业务域名
- 当前 appid
- 当前环境版本
- 真机微信缓存

---

## 6. 一句话结论

当前阶段已经确认：

**个人主体会直接影响 `web-view` 和部分传感器能力的可用性与稳定性。**

因此在企业主体审核完成前，最合理的做法是：

- 原生主流程继续开发
- H5 和高级传感器按“预留 + 待验证”处理
- 待企业主体生效后，再统一回归验证



