随着vue3的普及uniapp官方也支持了vue3语法的编写
相信大家在开发过程中肯定碰到过小程序所有页面都要开启分享功能的需求;指定的页面(如:文章详情页)有单独的配置,而非单独配置的页面(如:付费的订单详情页)都是统一跳转到首页
我的做法如下:
// utils/share.js export default { onLoad(){ // 创建时设置统一页面的默认值 uni.$mpShare = { title: 'xxxx', desc: 'yyyy', path: '/pages/tabList/index', imageUrl: '/zb_users/upload/2024/csdn/fx.jpg' } }, onShareAppMessage() { //发送给朋友 console.log(uni.$mpShare); return uni.$mpShare }, onShareTimeline() { //分享到朋友圈 return uni.$mpShare }, onUnload(){ // 关闭页面时重置 uni.$mpShare = { title: 'xxxx', desc: 'yyyy', path: '/pages/tabList/index', imageUrl: '/zb_users/upload/2024/csdn/fx.jpg' } } };
// main.js import App from './App' import { createSSRApp } from 'vue' import share from '/utils/share' // 引入share.js export function createApp() { const app = createSSRApp(App) app.mixin(Share) // 使用mixin全局混入 uni.$u.config.unit = 'rpx' return { app } }
此时小程序所有页的分享功能都打开并且都统一跳转到首页分享的图片也是统一的
// pages/news/news.vue
在页面你想要修改的地方修改uni.$mpShare的值就可实现差异化, 上面代码在页面onLoad时会将其设置为初始的统一页面的值,并且在页面onUnload时也会被设置为初始的统一页面
上一篇:【Linux】网络新手村
下一篇:uniapp生成微信小程序二维码