> 技术文档 > uni-app 中全局实现微信小程序的分享功能_uni.showsharemenu

uni-app 中全局实现微信小程序的分享功能_uni.showsharemenu


一、分享按钮为何\"面如死灰\"?

uni-app 中全局实现微信小程序的分享功能_uni.showsharemenu

当你满心欢喜地开发完小程序,准备分享给好友炫耀时,却发现分享按钮灰蒙蒙一片,点击毫无反应?这不是你的代码有问题,而是微信小程序的分享功能需要主动调用API开启!

二、传统实现方式的痛点

在常规开发中,通常会在每个页面中这样写:

uni.showShareMenu({ withShareTicket: true, menus: [\'shareAppMessage\', \'shareTimeline\'],})

这种方式存在三大痛点:

  1. 代码重复 - 每个页面都需要写相同的配置

  2. 维护困难 - 修改分享策略需要逐个页面调整

  3. 容易遗漏 - 新页面可能会忘记添加分享配置

三、终极解决方案:全局\"共享单车\"式分享

既然每个页面都要配置太麻烦,不如搞个\"共享单车\"式的解决方案。一次配置,全项目通用!

核心代码实现:

  • 创建分享插件 (plugins/sharePlugin.js)

export default { install(app) { app.mixin({ onLoad() { const page = getCurrentPages().pop() if (page) { uni.showShareMenu({ withShareTicket: true, menus: [\'shareAppMessage\', \'shareTimeline\'], }) } }, }) },}
  •  在main.js中注册插件

import { createSSRApp } from \'vue\'import App from \'./App.vue\'import sharePlugin from \'./plugins/sharePlugin\'export function createApp() { const app = createSSRApp(App) app.use(sharePlugin) return { app, }}
  • 效果展示

uni-app 中全局实现微信小程序的分享功能_uni.showsharemenu