uni-app配新浪微博分享需三步:一、manifest.json的app-plus→distribute→sdkConfigs→Share→sinaweibo下配置appkey、redirect_uri(HTTPS且与微博后台一致)、universalLink(iOS必填且需服务端部署apple-app-site-association);二、uni.share调用时provider固定为'sinaweibo',仅支持type:0(图文)或1(纯文字),href必填且域名须在微博安全域名白名单,imageUrl仅支持本地路径或base64;三、真机必须用自定义调试基座,标准基座无微博能力。

uni-app 项目里怎么配新浪微博分享(sinaweibo)
直接能用 uni.share 调通微博分享,前提是 manifest.json 里已正确启用并配置了微博 SDK,且云端打包生效。真机运行必须用自定义调试基座,标准基座不带微博能力。
manifest.json 中必须填的三个微博关键配置项
在 HBuilderX 打开 manifest.json → 切到「源码视图」→ 找到 "mp-weixin" 同级的 "app-plus" 节点下,确保有以下结构:
{
"name": "xxx",
"appid": "",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
"splashscreen": {
...
},
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"splashscreen": { ... },
"distribute": {
"android": { ... },
"ios": { ... },
"sdkConfigs": {
"Share": {
"sinaweibo": {
"appkey": "<你的微博AppKey>",
"redirect_uri": "https://api.weibo.com/oauth2/default.html",
"universalLink": "https://yourdomain.com/weibo"
}
}
}
}
}
}
-
appkey:必须是新浪微博开放平台申请的 AppKey,不是测试 Key;未审核的应用只能用测试账号授权 -
redirect_uri:必须和微博后台「应用信息 → 授权设置」中填写的一致,且需是 HTTPS;若用默认值,确保后台也设为该地址 -
universalLink:iOS 必填,Android 可空;该域名需在微博后台「iOS 平台设置」中备案,且服务端要能响应apple-app-site-association文件
uni.share 调用微博时的参数限制
微博只支持 type: 0(图文)和 type: 1(纯文字),不支持图片、音乐、视频或小程序类型。传错 type 会导致静默失败或弹出“参数错误”提示。
-
provider固定为"sinaweibo",大小写敏感 -
title和summary都会被发到微博正文,但微博会截断过长内容(建议 title ≤ 30 字,summary ≤ 140 字) -
href是必填项,且域名必须在微博后台「安全域名」白名单中,否则分享后点不开 -
imageUrl可选,但仅支持本地路径(uni.downloadFile下载后的tempFilePath)或base64,网络地址会被忽略
示例调用:
uni.share({
provider: 'sinaweibo',
type: 0,
title: '这是一篇技术文章',
summary: 'UniApp 微博分享踩坑实录',
href: 'https://example.com/article/123',
imageUrl: '_www/images/share.jpg', // 注意:仅安卓支持相对路径,iOS 必须是本地绝对路径或 base64
success: res => console.log('微博分享成功', res),
fail: err => console.error('微博分享失败', err)
})
为什么 iOS 上点了分享没反应,或者报 “invalid url”
90% 是因为 universalLink 配置不闭环:manifest.json 里写了,但微博后台没填、服务端没部署 apple-app-site-association、或该文件返回头没加 Content-Type: application/json。
- 检查微博开放平台「iOS 设置」中是否已填写和 manifest 一致的 universalLink 域名
- 用 Safari 直接访问
https://yourdomain.com/.well-known/apple-app-site-association,确认能返回合法 JSON 且无重定向 - 确保该域名已加入苹果开发者后台的 Associated Domains,并在 Xcode 的
Signing & Capabilities中开启 - 安卓端不校验 universalLink,但要求
redirect_uri和微博后台完全一致(含末尾斜杠)
微博 SDK 对配置强依赖,少一个环节就卡在授权页或直接失败,没有中间状态可 debug —— 这是最容易被忽略的复杂点。


















