77b1a3372c
feat:一键导出鸿蒙工程包,支持换机编译
...
把 stub-app-projects/mp-harmony 中编译所需的文件导成 zip, 供没有本仓库/没有
HBuilderX 的电脑解压后直接用 DevEco 编译上传。
用法:
npm run pack:harmony # 默认: 含证书, 不含 node_modules
npm run pack:harmony -- --no-certs # 不含签名证书
npm run pack:harmony -- --with-node-modules # 含 hvigor/node_modules(320MB), 离线机
npm run pack:harmony -- --out <dir> # 自定义输出目录
输出 unpackage/dist/harmony-export/mp-harmony-project-*.zip, 内含一层 mp-harmony/。
实现要点:
- 全程只读源目录: 先复制到暂存目录再压缩, 不修改 stub 下任何文件
- 采用「全量复制 - 排除清单」而非白名单, 避免漏掉新增必需文件
- 包含 ascf/ascf_src (uniapp 编译产物快照), 目标机因此无需本仓库和 HBuilderX
- 包含 cert-profile 签名证书, 否则 hvigor 无法签名, 产不出可上传的 .app
- 排除 node_modules(320M)/oh_modules/build/.preview(22M)/.idea/.hvigor/local.properties
ZIP 由纯 Node 实现 (zlib + 手写 ZIP 头), 未用系统命令, 因为本机两种方案都产出
不合规 zip 且失败是静默的:
- PowerShell Compress-Archive / ZipFile::CreateFromDirectory 写反斜杠条目名, 非
ZIP 规范, macOS/Linux 解压出畸形路径
- 本机 tar 是 GNU tar 1.35, 不支持创建 zip 且 exit 0, try/catch 拦不住
已验证: 解压后骨架齐全(AppScope/build-profile/entry/ascf_src/证书/README),
排除项均不存在, unzip -t 无错误, 中文文件名改 ASCII 规避工具编码差异。
2026-10-17 14:19:54 +08:00
373db1fb73
docs:修正鸿蒙产物构成描述(1 HAP + 5 HSP)
...
原描述「共 6 个 HAP」不准确。module.json5 中 type: "entry" 编成 HAP,
type: "shared" 编成 HSP(共享包, 动态下发), 本工程实际是 1 个 HAP + 5 个 HSP。
同步修正:
- 两步流程描述改为「逐个 module 编译出包, 再打成 APP」, 产物路径扩展名
改为 {hap|hsp}
- 包列表新增扩展名列, 标明哪些是 .hap、哪些是 .hsp
- 单模块调试说明改为「只产出分包、不打 APP」
另补充实测体积: 主包 entry-default.hap 约 2.37 MiB(超官方单包 2MB 限制),
总包约 6.39 MiB(在 10MB 以内)。
2026-10-17 13:55:54 +08:00
550ec72bb7
fix:麦克风权限 Permissions 类型用法修正
...
上一提交写成 Permissions.MICROPHONE 导致 CompileArkTS 失败:
'Permissions' only refers to a type, but is being used as a value here
Permissions 在 @ohos.permissions 中是 export type 字符串联合类型, 不是枚举,
只能用在类型位置。改为类型标注 + 权限名字面量:
const PERMISSION_MICROPHONE: Permissions = 'ohos.permission.MICROPHONE';
注意 abilityAccessCtrl 里的 SwitchType.MICROPHONE(=1) 是开关类型枚举,
与权限名无关, 容易误用。
readme 4.3.3 补充该类型坑说明。
2026-10-17 11:53:44 +08:00
9086f1665c
feat:鸿蒙元服务接入麦克风运行时权限申请
...
MICROPHONE 是 user_grant 权限, 上一提交补了 module.json5 的 reason 只解决
了编译校验, 运行时仍需弹窗申请, 否则录音功能不可用。
在 EntryAbility.onCreate 中调用 abilityAccessCtrl.requestPermissionsFromUser。
关键点:
- AscfUIAbility 父类已定义 onCreate, 重写时必须调 super.onCreate(want,
launchParam), 否则跳过 ascf runtime 初始化导致元服务白屏
- 选 onCreate 而非按需触发: 权限状态在 JS 侧 (uni.getRecorderManager) 读不到,
项目无现成 JS<->ArkTS 通道; 且 requestPermissionsFromUser 对已授权应用
直接 resolve 不弹窗, 实际只有首次启动打扰用户一次
- 降级: 未授权不影响浏览/下单/卡片, 仅语音不可用, 前端 voice-panel 会
showToast 提示
readme 4.3.3 补充该实现与踩坑说明, 4.3.4 移除已解决项。
2026-10-17 11:46:57 +08:00
53b5b725a5
docs:鸿蒙元服务发布独立为 4.3 章节
...
原先作为 4.1.2 嵌在「小程序发布」下,实际产出的是 atomicService 元服务包,
与小程序流程差异较大,拆为独立的 4.3 章节,排在 4.2 快应用之后。
新增 4.3.2 DevEco Studio 编译与产物:说明 assembleApp 是两步串联
(先编译 HAP,再打包成 APP),列出 HAP / APP 产物路径与 pack.info 中
6 个 HAP 的构成,并注明元服务上架 AppGallery Connect 上传的是 .app。
新增 4.3.3 常见错误:hvigor 00303218 Configuration Error 的成因与修法
(user_grant 权限必须同时声明 reason 和 usedScene),附 user_grant /
system_grant 权限速查表。
新增 4.3.4 待完善:运行时权限申请未接入、release 签名仍指向 debug 证书。
2026-10-17 11:35:38 +08:00
7c703ace4f
docs: 更新README文档,补充鸿蒙小程序发布流程
...
1. 给原有章节标题增加了多余的井号修正为正确层级
2. 新增鸿蒙小程序发布完整流程章节
3. 更新版本特性和构建脚本说明,新增极限压缩优化、harmony.patch.js等内容
2026-05-27 18:15:55 +08:00
dee2887026
docs: 更新 readme 反映 H5 自动 ZIP 打包和统一配置方式
2026-05-11 11:56:37 +08:00
79202c4542
docs: 更新 package.json 和 readme.md 反映最新构建流程
2026-05-11 10:18:47 +08:00
d8e75a0c9e
chore:
2026-04-21 14:15:46 +08:00
09e410df00
docs: 更新readme文档结构和内容
...
重构readme文档结构,使用更清晰的markdown格式和emoji图标
添加详细的开发调试说明和发布流程
补充构建脚本说明和版本历史记录
2026-01-24 17:40:40 +08:00
Zhukj
2a1f33323c
chore:修改readme.md小程序和快应用发布说明文档
2026-01-24 16:51:31 +08:00
Zhukj
b441c46993
chore:更新小程序发布说明文档
2026-01-24 11:19:53 +08:00
c1d887a2e1
chore(doc): 将小程序的发布的文档变更一下,提供如何输出构建包
2025-10-31 13:58:09 +08:00
6673a494cf
fix(ui): 支持首页点击搜索按钮或者搜索框进入登录页面及优化构建输出微信小程序
2025-10-31 11:14:59 +08:00
66bf2504e0
chore: 配置更新
2025-10-30 09:17:54 +08:00
b56a977f2b
fix(release): 添加发布到微信小程序的外部配置缺失文件,源代码的坑。
2025-10-28 11:40:14 +08:00