精品国产免费观看久久久_久久天天躁狠狠躁夜夜爽_无码人妻少妇久久中文字幕_狠狠做深爱婷婷久久综合一区

網絡建站知識

精準傳達 ? 價值共享

洞悉互聯(lián)網前沿資訊,探尋網站營銷規(guī)律

微信小程序內嵌的網址WebchatShare項目

作者:狐靈科技 | 2019-10-19 14:21 |點擊:

項目地址:https://github.com/sennyla/WebchatShare

需求是這樣子的:小程序啟動授權等操作成功后直接跳轉到內嵌網頁,內嵌的網址也就是公司的官網產品項目,而后,產品項目里面的各個網頁都能支持分享操作,當然,對方打開的一定是你分享的那個頁面而不是整個小程序初始頁面。

解決思路:官方提供的轉發(fā)接口 onShareAppMessage 中自定義路徑即可轉發(fā)指定的頁面。使用 web-view 存放內嵌網頁,路徑以參數(shù)的形式傳遞,但初始化加載頁面的時候再填充路徑。

一開始是想著既然內嵌網頁的路徑可以動態(tài)添加,那我轉發(fā)時再重新跳轉回內嵌網頁,附上我轉發(fā)的這個地址就好了,但是,但是,打開轉發(fā)了的頁面時,竟然提示找不到路徑,可謂愁死人了。控制臺打印檢查發(fā)現(xiàn),onShareAppMessage(options) 中 options 攜帶了一個參數(shù) webViewUrl,即當前轉發(fā)的文件的路徑,在轉發(fā)成功之后,通過

this.setData({ web_src: options.webViewUrl }) 賦值后,打開的轉發(fā)頁面依舊提示找不到頁面。經仔細研究 onShareAppMessage 接口中各個值的含義和功能后,得出以下結論

onShareAppMessage: function (res) { if (res.from === 'button') { // 來自頁面內轉發(fā)按鈕 console.log(res.target) } return { title: '自定義轉發(fā)標題', path: '/page/user?id=123', success: function(res) { // 轉發(fā)成功 }, fail: function(res) { // 轉發(fā)失敗 } } } path:轉發(fā)路徑, 注:當前頁面 path ,必須是以 / 開頭的完整路徑 個人對這個 path 的理解是這樣子的,微信小程序接口里面的path,是不是 指代微信小程序里跳轉到其他頁面的路徑,如果一個內嵌路徑無法實現(xiàn)轉載操作頁面和分享頁面,那我就分開好了,再加一個內嵌路徑來專門存放轉發(fā)的結果。果不其然,這樣子一處理,還真能實現(xiàn)了需求,話不多說,上代碼:

步驟一:準備工作,在 app.js里 定義一個全局變量,用于存放 內嵌網頁的地址,如,

globalData: { userInfo: null, ctxPath: 'https://xxxxxx', } 步驟二:在初始化頁面,即首頁存放一個按鈕,定義跳轉到內嵌網頁的事件,如,

開啟

對應的事件為:

toHome:function(){ let that = this; wx.redirectTo({ url: '../pcweb/pcweb' }) }, 步驟三:使用 web-view 加載內嵌網頁,(注:pcweb.wxml 中)

對應的事件為:

//生命周期函數(shù)--監(jiān)聽頁面加載 onLoad: function (options) { //初始化頁面的時候加載補充內嵌網頁的路徑 let that = this; that.setData({ web_src: ctxPath
}) }, 備注:因為內嵌網頁網址之前存放成全局變量在app.js里,故我們要先引入全局變量

var app = getApp(); var ctxPath = app.globalData.ctxPath; //內嵌網頁的路徑 分享操作實現(xiàn): onShareAppMessage: function (options) { let that = this let return_url = options.webViewUrl //分享的當前頁面的路徑 var path = 'pages/sharepage/sharepage?shareUrl=' + return_url //小程序存放分享頁面的內嵌網頁路徑 console.log(path, options) return { title: '內嵌網頁分享', path: path, success: function (res) { // 轉發(fā)成功 wx.showToast({ title: "轉發(fā)成功", icon: 'success', duration: 2000 }) }, fail: function (res) { // 轉發(fā)失敗 } } },

步驟四:定義存放分享頁面的內嵌網頁路徑,即 sharepage.wxml,附上如下代碼:

//share_src:分享后的路徑 定義事件:

onLoad: function (options) { console.log(options) let that = this; that.setData({ share_src: options.shareUrl, }) }, 打開分享的頁面時獲取之前分享操作時傳遞的參數(shù),即路徑,并在打開分享的初始化函數(shù)中填充路徑值options.shareUrl ,

同樣,倘若想要在打開分享的頁面中進行分享操作的話,然后需要補充分享事件,只是這次跳轉的路徑指向本身,

并且分享成功時將分享時的路徑再次賦值給share_src,

onShareAppMessage(options) { var that = this var return_url = options.webViewUrl var path = 'pages/sharepage/sharepage?shareUrl=' + return_url //分享成功后跳轉回本頁面 console.log(path, options) return { title: '內嵌網頁分享', path: path, success: function (res) { // 轉發(fā)成功 wx.showToast({ title: "轉發(fā)成功", icon: 'success', duration: 2000 }) that.setData({
share_src: return_url //再次賦值分享內嵌網頁的路徑 }) }, fail: function (res) { // 轉發(fā)失敗 } } }, 至此,小程序內嵌網頁的分享就完成了。

如沒特殊注明,文章均為狐靈科技原創(chuàng),轉載請注明?? "微信小程序內嵌的網址WebchatShare項目
多一份免費策劃方案,總有益處。

請直接添加技術總監(jiān)微信聯(lián)系咨詢

網站設計 品牌營銷

多一份參考,總有益處

聯(lián)系狐靈科技,免費獲得專屬《策劃方案》及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯(lián)系

業(yè)務熱線:15082661954 / 大客戶專線:15523356218