惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
美团技术团队
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
Jina AI
Jina AI
D
Docker
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
鸿蒙版微信小程序不可用,一文告诉你10分钟修复
华为开发者联盟 · 2025-05-27 · via 人人都是产品经理

而开发者可能比较困惑,我的代码一直都没有更新过,为什么最近突然这么多报障的了?

其实很有可能反馈者使用的是华为新的鸿蒙操作系统。

华为的HarmonyOS 5自从24年9月开启商用后,发展极为迅速,尤其是25年4月的pura x 首个鸿蒙商用设备发布后,用户量增长迅速,预计现有使用者过千万,微信小程序作为基础使用,必不可少,另外,华为新鸿蒙系统基本都在华为高端手机上才适配,这部分用户本身也是相对高价值用户,因此,小程序业主也比较关注这部分用户,作为开发者,需要提早做兼容,避免后续舆情和紧急修复。

本文针对鸿蒙上的小程序常见的一些问题适配,做下分享,大部分开发者可能就改几行代码(微信小程序本身就是类OS系统,本身就是跨端),就能完成适配。(微信开发者官网提示说明)

1. platform支持问题

小程序开发者习惯针对不同的平台做不同的策略处理,比如,区分andorid, ios , windows, 那么在新增一个OS 系统HarmonyOS的时候,可能就让程序不可用。

举例(错误代码):

wx.getSystemInfo({ 
   success: function (t) {
     var p =  t.platform;
     this.isMobile = "android" === p || "ios" === p; 
   }
   fail: function (t) {
     this.isMobile = 0;
   }
 })

举例(错误代码):

var p = wx.getSystemInfoSync();
 var num = {
   devtools: 44,
   ios: 40, // IOS平台
   android: 48 // android平台
 } [p.platform],
 this.someting.set(num);

建议修改代码(平台判断时,需要增加鸿蒙平台的识别):

wx.getSystemInfo({ 
   success: function (t) {
     var p =  t.platform;
     this.isMobile = "android" === p || "ios" === p || "ohos" === p;
   }
   fail: function (t) {
     this.isMobile = 0;
   }
 })

建议修改代码(业务适配时,增加鸿蒙平台的处理):

var p = wx.getSystemInfoSync();
 var num = {
   devtools: 44,
   ios: 40,
   android: 48,
   ohos: 48,
 } [p.platform],
 this.someting.set(num);

快速排查建议:

​ 针对此类问题,建议在代码中搜索 调用getSystemInfoSync /getSystemInfo的地方,看看相关逻辑是否只处理IOS/android, 如果存在上诉问题,建议优先加入OHOS分支,尝试让代码走android分支即可。

2. UserAgent支持问题

部分微信小程序开发者会使用UA的系统版本/XWEB等描述进行策略区分,导致小程序在新增HarmonyOS的环境,代码走入异常分支。

举例: android 和HarmonyOS的UA参考

HarmonyOS Next 微信的 UA(微信1.0.6.41版本测试):

Mozilla/5.0 (Phone; ***OpenHarmony 5.0***) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ***ArkWeb***/4.1.6.1 Mobile MicroMessenger/8.0.6.41(0xf3100629) Weixin NetType/4G Lang uage/zh_CN MiniProgramEnv/ohos MMWE BID/8794 MMWEBSDK/202504030004X WEB/1140209

Android 系统微信中的 UA:

Mozilla/5.0 (Linux; ***Android 12***; ALT-AL10 Build/HUAWEIALT-AL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.103 Mobile Safari/537.36 ***XWEB***/1300149 MMWEBSDK/20241103 MMWEBID/6593 MicroMessenger/8.0.54.2760(0x2800363F) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64

如何适配:

  1. 针对是否是移动端的设备,需要增加检测是否包含 OpenHarmony的判断。
  2. 其他针对UA返回值里面的字符串匹配,建议要区分OpenHarmony的平台,比如,ArkWeb/XWEB.

举例(错误代码)

function isMobile() {
   var e = navigator.userAgent.toLowerCase();
   return /Android|webos|iPhone|iPod|BlackBerry/i.test(e) ? !0 : 0; // 小程序只在移动端支持
 }

建议修改代码(平台判断时,需要增加鸿蒙平台的识别):

function isMobile() {
   var e = navigator.userAgent.toLowerCase();
   return /Android|webos|iPhone|iPod|BlackBerry|OpenHarmony/i.test(e) ? !0 : 0; // 移动端新增openHarmony支持
 }

快速排查建议:

针对此类问题,建议在代码中搜索 调用navigator.userAgent的地方,看看相关逻辑是否未考虑HarmonyOS的逻辑, 如果存在上诉问题,建议优先加入OHOS分支,尝试让代码走android分支即可。

3. 其他问题

作者在开发中也遇到一些其他问题,比如,鸿蒙上微信小程序的支持API还不完善,导致个别功能受阻,

可以去官网看最新的API列表中:https://developers.weixin.qq.com/miniprogram/dev/api/

找到希望使用的API以后,在看这里可以确认当前是否支持鸿蒙:

遇到尚未支持的API,可以通过这里向微信小程序官方进行反馈:

https://developers.weixin.qq.com/community/blog/create/1

好在微信现在更新挺快的,基本上1个月好几个内测版本更新,应该是在快速补齐能力,建议小程序开发者可以定期1-2周查看下需要的API是否已支持。

4. 参考文档

鸿蒙 OS 适配指南developers.weixin.qq.com/miniprogram…

微信开放标签developers.weixin.qq.com/doc/offiacc…