欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序通過uni-app進(jìn)行全局分享

 更新時間:2021年11月22日 17:26:26   作者:虛乄  
這篇文章主要介紹了微信小程序通過uni-app進(jìn)行全局分享,小編覺得挺不錯的,現(xiàn)在分享給大家,需要的朋友可以收藏下

實際使用中,經(jīng)常需要小程序分享到好友或者朋友圈,一般而言是一個個頁面去設(shè)置。

官網(wǎng)分享介紹:https://uniapp.dcloud.io/api/plugins/share?id=onshareappmessage

單頁面每一個需要分享的頁面多需要單獨(dú)寫上

copyexport default {
//發(fā)送給朋友
  onShareAppMessage(res) {
    if (res.from === 'button') {// 來自頁面內(nèi)分享按鈕
      console.log(res.target)
    }
    return {
      title: '自定義分享標(biāo)題',
      path: '/pages/test/test?id=123'
    }
  },
  //分享到朋友圈
  onShareTimeline(res) {
     return {
      title: '自定義分享標(biāo)題',
      path: '/pages/test/test?id=123'
    }
  }
}

重復(fù)代碼不說,還特別容易搞混,一不小心就漏掉參數(shù)忘記修改。

分享參數(shù)配置介紹:

全局分享

減少每個頁面重復(fù)代碼,全局設(shè)置分享代碼。

先在更目錄下創(chuàng)建utils文件夾下,創(chuàng)建wxShare.js

創(chuàng)建成功后在mian.js中導(dǎo)入該wxShare.js

//分享設(shè)置
import share from './utils/wxShare.js'
Vue.mixin(share)

wxShare.js簡介

創(chuàng)建一個頁面基礎(chǔ)js,包含data,onShareAppMessage,onShareTimeline三個即可

data:分享參數(shù)設(shè)置:可以參考最開始的配置圖

onShareAppMessage:分享到微信好友配置

onShareTimeline:分享到朋友圈配置

copyexport default {
    data() {
        return {
            share: {
                // 轉(zhuǎn)發(fā)的標(biāo)題 (默認(rèn)標(biāo)題)
                title: '默認(rèn)標(biāo)題--分享標(biāo)題',
                // 默認(rèn)是當(dāng)前頁面,必須是以‘/'開頭的完整路徑
                path: '',
                //自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑,
                //支持PNG及JPG,不傳入 imageUrl 則使用默認(rèn)截圖。顯示圖片長寬比是 5:4
                imageUrl: ''
            }
        }
    },
    // 發(fā)送給朋友
    onShareAppMessage(res) {
         return {
          title: '發(fā)送給朋友',
          path: '/pages/test/test'
        }
    },
    //分享到朋友圈
    onShareTimeline(res) {
         return {
          title: '分享到朋友圈',
          path: '/pages/test/test'
        }
    }
}

到次一個最基本的全局分享已經(jīng)完成,細(xì)心的朋友可能會發(fā)現(xiàn)data里面的參數(shù)沒有使用上,而且每一個分享出去的參數(shù)全部是固定的,不能動態(tài)的去配置,和理想中的全局分享差別是很大的

getCurrentPages()函數(shù)

getCurrentPages()函數(shù)用于獲取當(dāng)前頁面棧的實例,以數(shù)組形式按棧的順序給出,第一個元素為首頁,最后一個元素為當(dāng)前頁面。

注意: getCurrentPages()僅用于展示頁面棧的情況,請勿修改頁面棧,以免造成頁面狀態(tài)錯誤。

官網(wǎng)介紹:https://uniapp.dcloud.io/collocation/frame/window?id=getcurrentpages

優(yōu)化onShareAppMessage分享給朋友

copy// 發(fā)送給朋友
onShareAppMessage(res) {
    // 獲取加載的頁面
    let pages = getCurrentPages(),
        // 獲取當(dāng)前頁面的對象
        view = pages[pages.length - 1];
    //分享的頁面路徑
    this.share.path = `/${view.route}`;
    //轉(zhuǎn)發(fā)參數(shù)
    return this.share;
},

動態(tài)獲取頁面路徑,在分享出去。

當(dāng)下有一個比較明顯的問題,小程序的標(biāo)題目前沒有方式直接獲取。

設(shè)置頁面分享標(biāo)題

找到一個曲線救國的方法,在每一個頁面需要分享的頁面動態(tài)設(shè)置標(biāo)題

copyexport default {
    onLoad() {
        /*
            在要分享的頁面 生命周期中  設(shè)計當(dāng)前頁面分享標(biāo)題
             this.share 為獲取 wxShare.js中的定義的share數(shù)據(jù)
        */
       this.share.title = "當(dāng)前頁面分享標(biāo)題"
    },
}

效果展示

button分享到好友

  頁面中放置的分享按鈕(<button open-type="share">

  代碼與上面并無區(qū)別,只是有一個單獨(dú)的區(qū)域給配置參數(shù)。

copy// 發(fā)送給朋友
onShareAppMessage(res) {
    // 來自頁面內(nèi)的按鈕的轉(zhuǎn)發(fā)
    if (res.from == 'button') {
        console.log("按鈕轉(zhuǎn)發(fā)--配置");
    } 
    // 獲取加載的頁面
    let pages = getCurrentPages(),
        // 獲取當(dāng)前頁面的對象
        view = pages[pages.length - 1];
    //分享的頁面路徑
    this.share.path = `/${view.route}`;
    //轉(zhuǎn)發(fā)參數(shù)
    return this.share;
}

優(yōu)化onShareTimeline分享到朋友圈

在配置上基本上與分享到好友一模一樣

copy//分享到朋友圈
onShareTimeline(res) {
    // 獲取加載的頁面
    let pages = getCurrentPages(),
        // 獲取當(dāng)前頁面的對象
        view = pages[pages.length - 1];
    // console.log("獲取加載的頁面", pages);
    //console.log("當(dāng)前頁面的對象", view);
    this.share.path = `/${view.route}`;
    //轉(zhuǎn)發(fā)參數(shù)
    return this.share;
}

全局分享基本上配置就如上介紹。

分享動態(tài)修改頁面路徑是沒問題了,目前還有個問題動態(tài)分享路徑加參數(shù)的配置這一塊還是個問題。

wxShare.js代碼

copyexport default {
    data() {
        return {
            share: {
                // 轉(zhuǎn)發(fā)的標(biāo)題 (默認(rèn)標(biāo)題)
                title: '默認(rèn)標(biāo)題--分享標(biāo)題',
                // 默認(rèn)是當(dāng)前頁面,必須是以‘/'開頭的完整路徑
                path: '',
                //自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑,
                //支持PNG及JPG,不傳入 imageUrl 則使用默認(rèn)截圖。顯示圖片長寬比是 5:4
                imageUrl: ''
            }
        }
    },
    /*
     在要分享的頁面 生命周期中  設(shè)計當(dāng)前頁面分享標(biāo)題
     onLoad() {
         this.share.title = "當(dāng)前頁面分享標(biāo)題"
     },
     */
    // 發(fā)送給朋友
    onShareAppMessage(res) {
        // 來自頁面內(nèi)的按鈕的轉(zhuǎn)發(fā)
        if (res.from == 'button') {
            console.log("按鈕轉(zhuǎn)發(fā)--配置");
        }
        // 獲取加載的頁面
        let pages = getCurrentPages(),
            // 獲取當(dāng)前頁面的對象
            view = pages[pages.length - 1];
        this.share.path = `/${view.route}`;
        
        //轉(zhuǎn)發(fā)參數(shù)
        return this.share;
    },
    //分享到朋友圈
    onShareTimeline(res) {
        // 獲取加載的頁面
        let pages = getCurrentPages(),
            // 獲取當(dāng)前頁面的對象
            view = pages[pages.length - 1];
        // console.log("獲取加載的頁面", pages);
        console.log("當(dāng)前頁面的對象", view);
        this.share.path = `/${view.route}`;
        //轉(zhuǎn)發(fā)參數(shù)
        return this.share;
    }
}
wxShare.js

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS對象屬性的檢測與獲取操作實例分析

    JS對象屬性的檢測與獲取操作實例分析

    這篇文章主要介紹了JS對象屬性的檢測與獲取操作,結(jié)合實例形式分析了JS針對ES5、ES6實現(xiàn)對象屬性的檢測與獲取常見操作技巧,需要的朋友可以參考下
    2020-03-03
  • layui table設(shè)置某一行的字體顏色方法

    layui table設(shè)置某一行的字體顏色方法

    今天小編就為大家分享一篇layui table設(shè)置某一行的字體顏色方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 移動端翻頁插件dropload.js(支持Zepto和jQuery)

    移動端翻頁插件dropload.js(支持Zepto和jQuery)

    這篇文章主要為大家詳細(xì)介紹了移動端翻頁插件dropload.js,支持Zepto和jQuery,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 微信小程序?qū)崿F(xiàn)倒計時補(bǔ)零功能

    微信小程序?qū)崿F(xiàn)倒計時補(bǔ)零功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)倒計時補(bǔ)零功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • JavaScript函數(shù)之call、apply以及bind方法案例詳解

    JavaScript函數(shù)之call、apply以及bind方法案例詳解

    這篇文章主要介紹了JavaScript函數(shù)之call、apply以及bind方法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • JavaScript與jQuery實現(xiàn)的閃爍輸入效果

    JavaScript與jQuery實現(xiàn)的閃爍輸入效果

    這篇文章主要介紹了JavaScript與jQuery實現(xiàn)的閃爍輸入效果,結(jié)合實例形式分別分析了JavaScript與jQuery實現(xiàn)閃爍輸入效果的方法與具體使用技巧,需要的朋友可以參考下
    2016-02-02
  • uniapp解決token值無法使用的問題

    uniapp解決token值無法使用的問題

    這篇文章主要給大家介紹了如何使用uniapp解決token值無法使用的問題,文中給大家詳細(xì)介紹了產(chǎn)生原因和解決方案,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-10-10
  • Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本

    Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本

    Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本...
    2006-09-09
  • Js注冊協(xié)議倒計時的小例子

    Js注冊協(xié)議倒計時的小例子

    Js注冊協(xié)議倒計時的小例子,需要的朋友可以參考一下
    2013-06-06
  • 常見Ajax下載文件方式以及報錯解決辦法

    常見Ajax下載文件方式以及報錯解決辦法

    AJAX(Asynchronous JavaScript and XML)是一種用于創(chuàng)建快速、動態(tài)和交互式網(wǎng)頁的技術(shù),它的主要優(yōu)勢在于能夠在不刷新整個網(wǎng)頁的情況下與服務(wù)器進(jìn)行數(shù)據(jù)交互,這篇文章主要給大家介紹了關(guān)于常見Ajax下載文件方式以及報錯解決辦法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評論