Files
cmr-mini/doc/debug/平台能力说明.md

151 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 平台能力与主体限制说明
> 文档版本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 和高级传感器按“预留 + 待验证”处理
- 待企业主体生效后,再统一回归验证