uni-app App端微信分享必须用uni.share且需正确配置manifest.json的微信分享模块、appid、URL Scheme等,scene设为WXSceneSession,type设为0,href须HTTPS,imageUrl推荐CDN地址。

uni-app 的 App 端分享到微信好友,必须用 uni.share,不能靠 onShareAppMessage —— 后者只在小程序环境生效,App 里写它完全没反应。
manifest.json 必须开启微信分享模块
不勾选就等于没装微信 SDK,uni.share 调用直接报错或静默失败。路径是:manifest.json → App模块配置 → Share(分享) → 勾选“微信分享”。同时确保 appid 已填且与微信开放平台注册一致,否则 Android 上可能提示“未安装微信”或分享后无响应。
- Android:需额外在
nativePlugins中确认是否启用weixin插件(HBuilderX 3.9+ 默认启用,但自定义基座需手动检查) - iOS:需在
manifest.json → iOS设置 → URL Scheme添加weixin和你的appid(如wx1234567890abcdef),否则唤起微信失败 - 真机调试时若分享弹窗不出现,先看控制台是否有
share weixin not available或provider not found错误
uni.share 调用时 scene 和 type 参数不能错
分享到微信好友,scene 必须是 WXSceneSession(不是 WXSceneTimeline,那是朋友圈),type 推荐显式设为 0(图文)。漏掉 scene 或拼错值,iOS 会直接 fallback 到系统分享面板,Android 可能无任何提示就失败。
公众号运营:文章发布至草稿、样式封面、评论与用户管理、数据统计等。用户要求将 Markdown 发送到公众号草稿、查看阅读量统计或类似后台操作时,使用本技能。
-
title和href是图文类型(type: 0)的必填项;imageUrl非必填但强烈建议加,否则卡片默认显示小程序图标 -
href必须是 HTTPS 地址;若想跳转自己 App 内页,得走「微信小程序」类型(type: 8),此时字段名换成miniProgram对象,和图文类型不兼容 - 测试时避免用 localhost 或 127.0.0.1 的链接,微信会拦截;临时可用 ngrok 或 vhost 映射真实域名
图片路径和网络权限容易被忽略
imageUrl 如果是本地路径(如 /static/share.jpg),Android 上多数情况能正常加载;但 iOS 要求必须是绝对路径(_www/static/share.jpg)或通过 uni.getRealPathSync 转换,否则图片不显示。更稳妥的做法是上传到 CDN,用 HTTPS 网络地址。
- Android 10+ 和 iOS 14+ 对文件访问更严格,
uni.downloadFile下载的临时文件路径不能直接传给imageUrl,需先用uni.saveFile持久化再读取真实路径 - H5 端无法调用微信分享,
uni.share会自动 fallback 到uni.shareWithSystem,不要在 H5 条件编译里硬写微信逻辑 - 分享回调
success在部分 Android 微信版本中可能不触发(尤其分屏或后台切回时),建议加complete统一收口
最常卡住的地方不是代码写错,而是 manifest 配置漏项、iOS URL Scheme 少填一个字符、或者 imageUrl 的 HTTPS 证书不被信任——这些问题都不会抛 JS 异常,只会让分享看起来“点了没反应”。调试时优先查原生层日志(Android Logcat 过滤 WeChat,iOS 控制台过滤 WX)。


















