日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序-全局分享、自定义分享

發布時間:2024/1/8 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序-全局分享、自定义分享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

初六復工,難以接受,我甚至能接受今天是我六十大壽但是我難以接受今兒是正月初六。

言歸正傳

年前寫了個分享,還要所有的頁面都要有分享,那我豈不是每個頁面都要寫一個onShareAppMessage?nonono,這不能這么干,這違背了我們少寫一行是一行的理念。
所以,我得寫個全局的分享,但是這個onShareAppMessage的觸發點只有button和膠囊的三個點點,所以并不是簡單的寫個公共方法就能解決的事兒。

經過不懈的研究,寫了以下demo,供大家參考。

首先呢這個方法得寫在app.js里面

app.js

//這個function是要寫在APP()的外面 !function () {var PageTmp = PagePage = function (pageConfig) {let routerUrl = ""wx.onAppRoute(function (res) {let pages = getCurrentPages(), view = pages[pages.length - 1];routerUrl = view.route})pageConfig = Object.assign({onShareAppMessage: function () {//需要單獨寫分享方法的頁面let noGlobalSharePages=["pages/a/a","pages/b/b"]//分享的時候要攜帶的參數let obj = {userId: config.user_name}let value = encodeURIComponent(JSON.stringify(obj))let shareObj={}//判斷當前頁面是不是需要單獨寫分享方法的頁面if (!routerUrl.includes(noGlobalSharePages)){shareObj={title:config.text,path: 'pages/home/home?obj=' +value,imageUrl: config.ShareImg}}return shareObj}}, pageConfig);PageTmp(pageConfig);} }();APP({globalData:...,onshow(){...} })
這個方法就基本成型了

然后呢,我在寫的時候遇到了個小問題,就是我在這個方法里面拿不到globalData的數據,所以我就定義了個全局變量,在小程序初始化的時候把我需要用到的this.globalData賦值到我定義的變量上面

let config; APP({onLunch(){// 賦值config=this.globalData;},globalData:{user_name:'..',text:'...',ShareImg:'....'} }) 用的時候就是 config.text這樣就行啦

這樣的話,想用這個方法得頁面就不能在頁面的js里面寫onShareAppMessage了,不然會把app.js里面的分享方法給覆蓋掉

還有,如果想在某個頁面里面寫個單獨的分享方法,就在js里面寫個普通的onShareAppMessage就可以啦

mine.js

onShareAppMessage(){return {title:'我是一朵花',path:'...',imageUrl:'...'} }

這就大功告成啦!!

總結

以上是生活随笔為你收集整理的微信小程序-全局分享、自定义分享的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。