日本在线免费视频,国产精品视频2020,亚洲一区二区色,亚洲精品在线播放

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容「必看:朋友圈直接轉(zhuǎn)發(fā)文字圖片操作」

小伙伴們大家好,今天衛(wèi)寧輝給大家分析下關(guān)于微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作的事情,以及微信如何轉(zhuǎn)發(fā)朋友圈這些一系列的相關(guān)干貨內(nèi)容,思路很重要,希望我整理分享的這篇文章對你能有一定的幫助!

最近被產(chǎn)品提了相關(guān)需求,過程中遇到了一些坑。作者帶著踩坑經(jīng)驗,給大家介紹下這個功能,以及其如何實(shí)現(xiàn)。

概述

點(diǎn)擊右上角分享朋友圈

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

分享到朋友圈樣式

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

朋友圈打開樣式

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

這個功能目前只支持Android(在IOS高版本微信支持朋友圈打開小程序能力,但不能分享)。

用戶打開朋友圈分享的小程序,看到不是真正的小程序,而是原本頁面的“單頁模式”。

什么是“單頁模式”?

以下是微信官方對于“單頁模式”的描述:

“單頁模式”下,頁面頂部固定有導(dǎo)航欄,標(biāo)題顯示為當(dāng)前頁面 JSON 配置的標(biāo)題。底部固定有操作欄,點(diǎn)擊操作欄的“前往小程序”可打開小程序的當(dāng)前頁面。頂部導(dǎo)航欄與底部操作欄均不支持自定義樣式。

“單頁模式”默認(rèn)運(yùn)行的是小程序頁面內(nèi)容,但由于頁面固定有頂部導(dǎo)航欄與底部操作欄,很可能會影響小程序頁面的布局。因此,請開發(fā)者特別注意適配“單頁模式”的頁面交互,以實(shí)現(xiàn)流暢完整的交互體驗。

限制

另外,“單頁模式”存在著很多限制。以下是官方給出的禁用能力列表:

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

限制主要包括以下幾點(diǎn):

頁面無登錄態(tài),與登錄相關(guān)的接口,如wx.login均不可用

不允許跳轉(zhuǎn)到其它頁面,包括任何跳小程序頁面、跳其它小程序、跳微信原生頁面

若頁面包含 tabBar,tabBar 不會渲染,包括自定義 tabBar

本地存儲與小程序普通模式不共用

這些限制,讓“單頁模式”只適用于內(nèi)容展示,不適用于有較多交互

配置

針對“單頁模式”,新增了單頁模式相關(guān)配置。目前這個配置里只有一個navigationBarFit屬性:

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

navigationBarFit屬性主要是針對原頁面設(shè)置了自定義導(dǎo)航欄的情況。也就是原頁面的json文件中配置了這個屬性:

{ // … “navigationStyle”:”custom” // …}

給大家看一下普通導(dǎo)航欄和自定義導(dǎo)航欄的區(qū)別,下圖是普通導(dǎo)航欄頁面:

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

下圖是自定義導(dǎo)航欄頁面,我們在原本的導(dǎo)航欄位置使用了banner:

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

“navigationStyle”:”custom”這個設(shè)置在“單頁模式”下也會生效。前文微信官方對“單頁模式”的描述有說到“頂部導(dǎo)航欄與底部操作欄均不支持自定義樣式”。如果我們在原頁面設(shè)置了自定義導(dǎo)航欄。那么“單頁模式”樣式就會變成這樣:

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

通過設(shè)置navigationBarFit為 squeezed就可以解決這個問題:

{ // … “singlePage”: { “navigationBarFit”: “squeezed” } // …}

設(shè)置后的樣式:

微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容,朋友圈直接轉(zhuǎn)發(fā)文字圖片操作,微信如何轉(zhuǎn)發(fā)朋友圈

開發(fā)

接下來介紹如何在小程序中實(shí)現(xiàn)這個功能。

第一步在需要轉(zhuǎn)發(fā)朋友圈的頁面中注冊用戶點(diǎn)擊右上角轉(zhuǎn)發(fā)功能,這是實(shí)現(xiàn)轉(zhuǎn)發(fā)朋友圈功能的必要滿足條件。

onShareAppMessage: function () { return { title: ‘轉(zhuǎn)發(fā)標(biāo)題’, path: ‘/pages/home/index’, imageUrl: ‘自定義圖片路徑’ }}

第二步注冊分享朋友圈功能(從基礎(chǔ)庫 2.11.3 開始支持):

onShareTimeline: function () { return { title: ‘轉(zhuǎn)發(fā)標(biāo)題’, query: ‘from=pyq’, imageUrl: ‘自定義圖片路徑’ }}

注意,這里有個問題,分享朋友圈功能不支持自定義頁面路徑,意味著只能轉(zhuǎn)發(fā)當(dāng)前頁面。如果當(dāng)前頁面存在較多“單頁模式”限制功能,就可能讓我們的頁面不能按預(yù)期展示。

當(dāng)頁面存在限制功能時,我們存在兩個方案,第一個方案,針對“單頁模式”做改動,不調(diào)用那些限制的功能。第二個方案,另外寫一個針對“單頁模式”的頁面。

這兩種方案都需要能判斷當(dāng)前是否正處在小程序“單頁模式”。

我們通過判斷場景值(場景值用來描述用戶進(jìn)入小程序的路徑)是否等于 1154 來判斷當(dāng)前是否正處在小程序“單頁模式”。場景值可以在 App 的 onLaunch 獲取。

// app.jsApp({ // … onLaunch(options) { const { scene } = options; this.isSinglePage = scene === 1154; } // …})

我們將是否正處在“單頁模式”的Boolean值放入App實(shí)例,方便全局拿到值。

接下來說說兩種方案。

第一種方案,在“單頁模式”不調(diào)用那些限制功能(這是一種不推薦的方案,代碼耦合性太強(qiáng))。舉個例子:

const app = getApp();Page({ // … onLoad() { if (!app.isSinglePage) { wx.login({ // … }) } } // …})

第二種方案,針對“單頁模式”另寫一個頁面。因為分享朋友圈功能并不支持自定義頁面路徑,我們只能另外寫一個組件來作為“單頁模式”的內(nèi)容承載。

將isSinglePage放入頁面的初始數(shù)據(jù),方便在wxml中拿到:

// pages/home/index.jsconst app = getApp();Page({ data: { isSinglePage: app.isSinglePage, } // …})

home-single-page就是分享到朋友圈的內(nèi)容承載組件:

// pages/home/index.json{ // … “usingComponents”: { “home-single-page”: “components/home-single-page/index” },}

當(dāng)“單頁模式”時,我們展示 home-single-page組件,否則就展示普通頁面內(nèi)容:

// pages/home/index.wxml

樣式上雖然搞定了,但是在原本的生命周期中可能會調(diào)用一些限制功能,或者跑一些其它“單頁模式”用不上的內(nèi)容。我們得停止原本生命周期函數(shù)調(diào)用。

建議對傳入Page的對象進(jìn)行統(tǒng)一處理,當(dāng)“單頁模式”時,不調(diào)用原本的生命周期:

// pages/home/index.jsimport ExtendPage from ‘common/extend-page/index’const app = getApp();ExtendPage({ data: { isSinglePage: app.isSinglePage, } // …})

ExtendPage函數(shù)針對“單頁模式”進(jìn)行統(tǒng)一處理:

// common/extend-page/index.jsconst app = getApp();const PAGE_LIFE = [ ‘onLoad’, ‘onReady’, ‘onShow’, ‘onHide’, ‘onError’, ‘onUnload’, ‘onResize’, ‘onPullDownRefresh’, ‘onReachBottom’, ‘onPageScroll’];export default function(option) { let newOption = {}; if(app.isSinglePage) { newOption = PAGE_LIFE.reduce((res, lifeKey) => { if (option[lifeKey]) { res[lifeKey] = undefined; } return res; }, {}) } return Page({ …option, …newOption, });}

在“單頁模式”下,我們將原本的生命周期都停止了調(diào)用。這樣就能很好的將“單頁模式”下的頁面和普通頁面進(jìn)行解耦。

如果”單頁模式“頁面比較復(fù)雜,需要使用生命周期。我們也可以添加 singlePageLife屬性,當(dāng)處在“單頁模式”下,就調(diào)用 singlePageLife內(nèi)的生命周期:

// pages/home/index.jsimport ExtendPage from ‘common/extend-page/index’const app = getApp();ExtendPage({ data: { isSinglePage: app.isSinglePage, }, singlePageLife: { onLoad() { // … }, } // …})

// common/extend-page/index.jsconst app = getApp();const PAGE_LIFE = [ ‘onLoad’, ‘onReady’, ‘onShow’, ‘onHide’, ‘onError’, ‘onUnload’, ‘onResize’, ‘onPullDownRefresh’, ‘onReachBottom’, ‘onPageScroll’];export default function(option) { let newOption = {}; if(app.isSinglePage) { const { singlePageLife } = option; newOption = PAGE_LIFE.reduce((res, lifeKey) => { if (singlePageLife[lifeKey]) { res[lifeKey] = singlePageLife[lifeKey]; } else if(option[lifeKey]) { res[lifeKey] = undefined; } return res; }, {}) } return Page({ …option, …newOption, });}

文章如有疏漏、錯誤歡迎批評指正。

這篇文章就到這里了,不管如何,只要能幫到你我就非常開心了,看完了,如果你感覺微信如何轉(zhuǎn)發(fā)朋友圈內(nèi)容「必看:朋友圈直接轉(zhuǎn)發(fā)文字圖片操作」挺不錯的話幫忙點(diǎn)個贊吧,瀏覽巢座耶學(xué)習(xí)網(wǎng)更多頁面可以學(xué)到更多知識哈!

本文發(fā)布者:百事通,不代表巢座耶立場,轉(zhuǎn)載請注明出處:http://www.sdwldmy.com/p/5534.html

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 jubao226688#126.com 舉報,一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2023年4月7日 08:37
下一篇 2023年4月7日 08:40

相關(guān)推薦

  • 自己開網(wǎng)店要什么流程 必看:新手開店必看教程

    最近比較忙,今天王濤又抽時間給大家?guī)砹俗约洪_網(wǎng)店要什么流程,新手開店必看教程干貨,以及開網(wǎng)店要什么流程相關(guān)的事項,思路決定出路,確實(shí),這個真的很重要,希望能幫到你! 在淘寶、京東等平臺開網(wǎng)店、經(jīng)營一家店鋪,現(xiàn)在已經(jīng)是一件非常普遍的事情了,而且開網(wǎng)店的朋友年齡層次各異,也有越來越多的人愿意加入到網(wǎng)店這個行業(yè)大軍中去。所以,要做好網(wǎng)店的運(yùn)營和優(yōu)化,需要考慮的事…

    2024年5月1日
  • 微商軟件必備一件轉(zhuǎn)發(fā)有哪些 最新免費(fèi)的推廣引流軟件推薦

    小伙伴們你們好,韓紫玥很高興又和各位見面了,今天主要來講講微商軟件必備一件轉(zhuǎn)發(fā)有哪些,免費(fèi)的推廣引流軟件推薦,還有關(guān)于微商軟件必備一件轉(zhuǎn)發(fā)等等各種相關(guān)干貨,成功的路上不會一帆風(fēng)順,每一個成功的背后都有一個驚人的故事。 1.微信多開輔助工具,華為安卓手機(jī)自帶多開微信 微信多開可以實(shí)現(xiàn)一個設(shè)備上同時登錄多個微信賬號,并且這些號可以同時使用。一方面可以更好的區(qū)別個…

    2023年5月16日
  • 淘寶新店鋪如何推廣 必看:新店死店必備運(yùn)營技巧

    哈嘍,小伙伴們大家好,今天孫世堂說的這篇文章淘寶新店鋪如何推廣,新店死店必備運(yùn)營技巧,還有關(guān)于新店鋪如何推廣這些的相關(guān)干貨文章,這篇文章對新手朋友來說是比較重要的,因為涉及到各個方面,閱讀完你一定能有所收獲! 淘寶的推廣渠道都是公開透明的,所以怎么推廣店鋪取決于兩個維度: 1、你對于相應(yīng)的推廣渠道是否了解熟悉,不同的推廣渠道適合什么樣的產(chǎn)品等; 2、你是否有…

    2024年3月27日 ? 百科
  • 未來中國什么行業(yè)最火好賺錢「必看:中國目前發(fā)展最好的行業(yè)」

    HI,大家好,廢話不多說,直接上干貨:未來中國什么行業(yè)最火好賺錢,中國目前發(fā)展最好的行業(yè),以及關(guān)于未來中國什么行業(yè)最火這些的相關(guān)干貨,認(rèn)真閱讀完,把我想表達(dá)的思路完全理解,相信你很快就可以掌握! 一、大健康行業(yè)。在人民健康意識逐漸提升和我們國家老齡化程度加深的背景下,大健康產(chǎn)業(yè),將進(jìn)入調(diào)速成長期。健康產(chǎn)業(yè)的新發(fā)展、健康消費(fèi)的新升級等問題,越來越受人們的重視。…

    2023年4月15日 ? 百科
  • 微信怎么快速引流推廣「詳細(xì)講解:微商做到高效引流的技巧」

    小伙伴們大家好,今天何晨抽了個時間整理了一些關(guān)于微信怎么快速引流推廣,微商做到高效引流的技巧,以及關(guān)于怎么快速引流等等各種相關(guān)干貨,經(jīng)過我各種整理總結(jié)之后,決定寫下這篇文章分享給大家。 對于很多的微商互聯(lián)網(wǎng)從業(yè)者而言,產(chǎn)品和服務(wù)幾乎都是針對寶媽群體,也正是因為如此,很大一部分寶媽用戶也成了‘香餑餑’,那么如何快速引流精準(zhǔn)寶媽用戶成了大家最關(guān)注的一個問題。 寶…

    2023年1月1日
  • 閑魚二手網(wǎng)交易app下載 必看:二手貨的萬億生意之道

    小伙伴們大家好,今天褚傳敖給大家分析下關(guān)于閑魚二手網(wǎng)交易app下載,二手貨的萬億生意之道的事情,以及閑魚二手網(wǎng)相關(guān)的事項,經(jīng)過我各種整理總結(jié)之后,決定寫下這篇文章分享給大家。 大家可否想過把這些二手物品轉(zhuǎn)賣兌換成錢錢呢? 如果我沒有這么多的二手要賣,可也想利用二手轉(zhuǎn)賣渠道賺錢,可不可以呢? 以上兩種需求都是可以滿足的,利用閑魚二手網(wǎng)就可以實(shí)現(xiàn),今天我就來跟大…

    2023年11月12日 ? 百科