uni-app中“一键分享朋友圈”实为用户主动触发,需页面级定义onShareTimeline、三处配置开关全开启、imageUrl为HTTPS直链且≥300×300px、仅支持title/query/imageUrl字段。

uni-app 里“一键分享朋友圈”根本不存在——必须用户主动触发,且只能在右上角菜单里点出来,按钮无法唤起朋友圈分享。这是微信平台强制限制,不是 uni-app 能绕开的。所谓“一键”,实际是指配置正确后,用户点击右上角「…」→「分享到朋友圈」时能立刻弹出预览图,不报错、不静默失败。
onShareTimeline 必须页面级定义,全局混入无效
很多人用 Vue.mixin 或 App.vue 里统一注册 onShareTimeline,结果真机测试发现朋友圈入口压根不显示。这是因为微信小程序要求该函数必须出现在具体页面的 export default 对象中,且不能被包裹在 methods、computed 等内部——它得和 data、onLoad 平级。
- ✅ 正确写法:在
pages/index/index.vue的export default里直接写onShareTimeline() { return { title: 'xxx', imageUrl: 'https://...' } } - ❌ 错误写法:在
mixins/share.js中导出onShareTimeline,再通过Vue.mixin注入 - ⚠️ 注意:即使你用了
<script setup></script>,也得显式调用onShareTimeline(() => {...}),不能只 import 不执行
pages.json 和 manifest.json 三处开关缺一不可
朋友圈入口是“静默消失”的——漏掉任意一个配置,右上角菜单里就只剩「转发给朋友」,控制台无报错、开发者工具也不提示。
name wechat-article-writer-pro description 微信公众号文章完整生成技能(专业版)。输入主题即自动完成:信息调研、文章撰写(含章节配图)、5个备选爆款标题、封面图生成、带格式排版的DOCX文档输出。触发词:写公众号文章、生成公众号内容、做微信推文、公众号文章完整版。 agent_created true 微信公众号文章完整生成技能(专业版) 概述 本技能提供微信公众号文章从主题到成品的完整生成流程,在基础版之上增加:章节配图、DOCX 格式输出(含彩色重点文字和表格
-
manifest.json→ 「App模块配置」→「Share(分享)」→ 勾选「微信分享」,并填对mp-weixin.appid -
pages.json→ 对应页面配置项里加"enableShareTimeline": true(不是enableShareAppMessage) - 微信公众平台后台 → 小程序「设置」→「功能设置」→ 手动开启「分享到朋友圈」开关(2026 年仍需人工开通)
imageUrl 必须是 HTTPS 直链,且尺寸 ≥ 300×300px
本地路径如 /static/share.jpg 或相对路径在朋友圈分享中完全无效;网络图若未加白名单或用了 HTTP,会 fallback 成空白卡片或默认截图。
- 图片必须能被微信服务器直访问,推荐部署在 CDN,URL 以
https://开头 - 安卓微信 8.0.33+ 会对
imageUrl做尺寸校验:小于300×300px可能降级为灰色占位图 - 朋友圈卡片是正方形预览,
imageUrl建议用 1:1 图片,避免拉伸变形 -
path字段在onShareTimeline中不生效,只认query参数(如query: 'uid=123')
onShareTimeline 返回对象字段极简,不支持 success/fail 回调
和 onShareAppMessage 不同,onShareTimeline 只接受固定字段,多一个都报错,少一个就静默失败:
- ✅ 允许字段:
title(字符串)、query(字符串,如'a=1&b=2')、imageUrl(HTTPS 地址) - ❌ 禁止字段:
path、success、fail、desc、from—— 写了会直接导致分享卡片不渲染 - ⚠️
title最长支持 24 字符,超长会被截断,无提示
最容易被忽略的是:朋友圈分享没有“来源判断”机制,onShareTimeline 不接收 res 参数,也无法区分是来自右上角还是某个按钮——它只响应右上角菜单触发,且必须在用户点击后的上下文中同步返回配置对象。任何异步操作(比如先请求标题再 return)都会导致失败。


















