更新记录

1.0.0(2026-08-27) 下载此版本

1.0.0

  • 首个版本
  • 全局 mixin 兜底分享(onShareAppMessage / onShareTimeline,仅微信小程序)
  • 页面级 registerPageShare 自定义分享覆盖,字段支持 getter 实时求值
  • setDefaultShare 宿主应用全局默认分享配置

平台兼容性

uni-app(5.24)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(5.24)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

wc-share 微信小程序分享封装

统一封装微信小程序「转发好友」(onShareAppMessage)与「分享朋友圈」(onShareTimeline):

  • 全局 mixin 兜底:挂载后所有页面均可转发,未注册的页面自动分享全局默认(默认首页)
  • 页面级自定义:页面 setup 中一行注册,覆盖该页面的分享内容
  • 支持 getter:所有配置字段都支持函数形式,转发发生时才执行,可取页面实时数据

仅微信小程序生效(内部已做 MP-WEIXIN 条件编译),其他平台引入无副作用。

快速上手

1. 全局配置(main.ts)

import { shareMixin, setDefaultShare } from '@/uni_modules/wc-share/commons'

// 全局兜底分享:任何未注册自定义分享的页面都会分享这条
setDefaultShare({
  title: '你的产品名',
  path: '/pages/index/index',
  // imageUrl: '可选:全局默认卡片图'
})

app.mixin(shareMixin)

2. 页面级自定义分享(任意页面 setup 内)

import { registerPageShare } from '@/uni_modules/wc-share/commons'

registerPageShare({
  // 所有字段均支持 getter(转发时实时求值)
  title: () => detail.value?.title || '默认标题',
  path: `/pages/live/detail?id=${id}`,
  imageUrl: cover.value, // 分享卡图 5:4;缺省用微信自动截图
})

API

导出 说明
setDefaultShare(config) 设置全局默认分享(建议启动时调用一次;不调用则使用内置默认)
shareMixin 全局 mixin(含 onShareAppMessage / onShareTimeline),通过 app.mixin 挂载
registerPageShare(config) 注册当前页面的自定义分享;同页重复注册以后一次为准
resolveAppMessage() / resolveTimeline() 解析入口(mixin 内部使用,一般无需直接调用)
clearShareRegistry() 清空页面注册表(测试用)

WcShareConfig 字段:title / path / imageUrl / query(后两项仅特定端读取),均为 string | (() => string)

朋友圈限制(平台规则)

  • onShareTimeline 仅支持 title + query + imageUrl,不支持带参数的完整路径(path 中的 query 会被自动拆出,也可单独传 query
  • imageUrl 仅支持本地或 CDN 图片地址

兼容性

Vue3 ✓ / Vue2 未验证;微信小程序 ✓(其余小程序/App/H5 未适配,mixin 在这些端为空实现)。

开源协议

仅供学习与项目内使用。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。