主题
LimeWeixin 微信功能集成
lime-weixin UTS插件集成微信核心功能(登录、分享、小程序跳转等)的接口使用方法,适用于Android/iOS,未测试。
安装
Android
在 uni_modules/lime-weixin/utssdk/app-android/AndroidManifest.xml
文档中将所有填写真实包名
换成你的应用包名
IOS
在 uni_modules/lime-weixin/utssdk/app-ios/Info.plist
文档将填写微信AppId
换成你的微信AppId
代码演示
初始化微信配置
js
import {useWeiXin, type UseWeiXinOptions} from '@/uni_modules/lime-weixin';
const wxUtils = useWeiXin({
appId: "wx1234567890abcdef", // 微信开放平台AppID
universalLink: "https://yourdomain.com/universal-link/", // iOS Universal Link
success: (res) => console.log("初始化成功", res),
fail: (err) => console.error("初始化失败", err)
} as UseWeiXinOptions);
UseWeiXinOptions
参数名 | 类型 | 必填 | 说明 | 平台差异 | 默认值 |
---|---|---|---|---|---|
appId | string | 是 | 微信开放平台注册的AppID | Android/iOS 均需 | 无 |
universalLink | string | iOS必填 | iOS Universal Link(用于微信登录/分享等功能) | 仅iOS生效 | 无 |
success | (res: SuccessCallbackResult) => void | 否 | 初始化成功的回调(返回状态码及消息) | 无 | 无 |
fail | (res: GeneralCallbackResult) => void | 否 | 初始化失败的回调(包含错误码及错误信息) | 无 | 无 |
complete | (res: any) => void | 否 | 接口调用完成的回调(无论成功/失败均触发) | 无 | 无 |
微信客户端检查
js
// 是否存在微信客户端
wxUtils.isInstalled()
打开微信
js
wxUtils.openApp()
跳转微信小程序
js
import { type NavigateToMiniProgramOptions} from '@/uni_modules/lime-weixin';
wxUtils.navigateToMiniProgram({
appId: "目标小程序AppID",
path: "/pages/index?id=123",
envVersion: "release",
success: (res) => console.log("跳转成功"),
fail: (err) => console.error("跳转失败", err)
} as NavigateToMiniProgramOptions);
微信登录授权
js
import { type LoginOptions} from '@/uni_modules/lime-weixin';
wxUtils.login({
// scope: "snsapi_userinfo",
success: (res) => console.log("发送授权成功", res),
fail: (err) => console.error("登录失败", err)
} as LoginOptions);
LoginOptions
参数名 | 类型 | 必填 | 说明 | 平台差异 | 默认值 | 示例值 |
---|---|---|---|---|---|---|
appId | string | 是 | 目标小程序的 AppID | 无 | 无 | "wx1234567890abcdef" |
path | string | 否 | 目标小程序的启动路径(格式:/pages/index?id=1 ) | 无 | 空字符串 | "/pages/home?from=main" |
envVersion | string | 否 | 目标小程序版本:develop (开发版)trial (体验版)release (正式版) | iOS/Android 均生效 | "release" | "trial" |
分享图片
js
import { type ShareOptions} from '@/uni_modules/lime-weixin';
wxUtils.share({
type: 'image',
imageUrl: 'https://example.com/share-image.jpg',
thumb: 'https://example.com/thumbnail.jpg', // 建议提供缩略图
scene: 'timeline' // 分享到朋友圈
} as ShareOptions);
分享小程序
js
import { type ShareOptions} from '@/uni_modules/lime-weixin';
// 分享示例
wxUtils.share({
type: 'miniProgram',
title: '领取优惠券',
miniProgramId: 'wx1234567890', // 必填
miniProgramPath: 'pages/coupon/index?id=123',
thumb: 'https://example.com/coupon-thumb.jpg', // 必填
envVersion: 'release'
} as ShareOptions);
分享视频
js
import { type ShareOptions} from '@/uni_modules/lime-weixin';
// 分享示例
wxUtils.share({
type: 'video',
title: '精彩电影预告',
summary: '2023年度大片抢先看',
videoUrl: 'https://example.com/movie-trailer.mp4',
thumb: 'https://example.com/video-thumb.jpg' // 必填
} as ShareOptions);
分享音乐
js
import { type ShareOptions} from '@/uni_modules/lime-weixin';
// 分享示例
wxUtils.share({
type: 'music',
title: '周杰伦 - 最伟大的作品',
musicUrl: 'https://music.example.com/track/123', // 高清音频
musicDataUrl: 'https://music.example.com/low/123', // 低带宽版本
thumb: 'https://example.com/music-cover.jpg'
} as ShareOptions);
分享网页
js
import { type ShareOptions} from '@/uni_modules/lime-weixin';
// 分享示例
wxUtils.share({
type: 'webpage',
title: '科技前沿动态',
summary: '人工智能最新突破性进展',
webpageUrl: 'https://technews.example.com/article/123',
thumb: 'https://example.com/news-thumb.jpg',
scene: 'timeline'
} as ShareOptions);
ShareOptions 参数说明表
参数名 | 类型 | 必填条件 | 说明 | 适用分享类型 | 示例值 |
---|---|---|---|---|---|
type | string | 必填 | 分享类型(见下方类型对照表) | 所有类型 | "imageText" |
title | string | 非text类型必填 | 分享标题(最长512字节) | imageText/webpage/miniProgram等 | "限时特惠" |
summary | string | 图文/网页/小程序类型 | 分享描述(最长1KB) | imageText/webpage/miniProgram | "点击领取新人礼包" |
thumb | string | 建议非文本类型提供 | 缩略图URL(建议<32KB) | 除text外所有类型 | "https://example.com/thumb.jpg" |
scene | string | 否 | 分享场景:session (会话)timeline (朋友圈)favorite (收藏) | 所有类型 | "timeline" |
text | string | text类型必填 | 文本内容 | text | "点击查看详情" |
imageUrl | string | image/imageText类型必填 | 图片资源地址(支持本地路径) | image/imageText | "/static/share.jpg" |
videoUrl | string | video类型必填 | 视频URL | video | "https://example.com/video.mp4" |
musicUrl | string | music类型必填 | 音乐资源链接 | music | "https://example.com/music.mp3" |
filePath | string | file类型必填 | 文件路径 | file | "/data/files/doc.pdf" |
webpageUrl | string | webpage类型必填 | 网页链接 | webpage | "https://company.com" |
miniProgramId | string | miniProgram类型必填 | 小程序原始ID | miniProgram | "gh_123456789" |
miniProgramPath | string | 否 | 小程序页面路径 | miniProgram | "/pages/index?id=123" |
envVersion | string | 否 | 小程序版本:develop /trial /release | miniProgram | "release" |
分享类型对照表
type | 必填参数 | 场景示例 |
---|---|---|
text | text | 纯文本分享 |
image | imageUrl | 图片分享到聊天 |
imageText | title+summary+imageUrl | 朋友圈图文动态 |
webpage | title+summary+webpageUrl | H5页面分享卡片 |
miniProgram | title+miniProgramId | 小程序卡片分享 |
video | title+videoUrl | 短视频分享 |
music | title+musicUrl | 音乐播放链接分享 |
file | filePath | PDF文档分享 |
分享相关错误码表
错误码 | 说明 | 常见原因 | 处理建议 |
---|---|---|---|
9010007 | 无效的分享类型 | type参数值不在允许范围内 | 检查type参数是否符合规范 |
9010008 | 缺少必填参数 | 未提供对应类型的必填参数 | 根据分享类型补充缺失参数 |
9010009 | 图片资源下载失败 | 图片URL不可访问或格式错误 | 1.检查图片链接有效性 2.本地文件需确保路径正确 |
9010010 | 视频资源无效 | 视频URL不可用或格式不支持 | 验证视频链接,建议MP4/H264格式 |
9010011 | 文件大小超过限制 | 文件>100MB/图片>10MB | 压缩资源后重新尝试 |
9010012 | 小程序路径格式错误 | miniProgramPath不符合规范 | 路径需以"/"开头,如/pages/index?id=1 |
9010013 | 缩略图超过大小限制 | thumb图片>32KB | 使用图像压缩工具处理 |
9010014 | 用户取消分享 | 用户主动取消分享操作 | 引导用户重新触发分享流程 |
9010015 | 分享场景不支持 | 当前类型不支持所选scene | 例如:文件类型不支持分享到朋友圈 |
9010016 | 微信版本过低 | 客户端版本不支持指定功能 | 提示用户升级微信客户端 |
9010030 | 网络连接异常 | 下载资源时网络中断 | 检查网络状态后重试 |
9010031 | 本地文件读取失败 | filePath指向的文件不存在 | 验证文件路径及读写权限 |
9010032 | 企业微信配置缺失 | 使用客服消息但未配置corpid | 检查corpid参数是否正确 |
9010099 | 未知错误 | 微信客户端返回未分类错误 | 收集错误日志联系技术支持 |