国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序封裝分享與分銷功能過程解析

2024-07-22 01:17:44
字體:
來源:轉載
供稿:網(wǎng)友

前言

在微信小程序中,可以很簡單的分享一個頁面,比微信H5簡單多了,然而,分享出去的頁面(也叫卡片),打開后只是一個單獨的頁面,沒有底部導航欄,點擊返回按鈕的時候就直接退出小程序了。如果需要去到首頁,還必須點擊頂部膠囊的“回到首頁”,可是該功能很少人知道。

為了解決這個問題,有兩種解決方案。

第一種:在分享的頁面在添加顯眼的“首頁”懸浮按鈕,點擊按鈕跳轉到首頁。這種方法,好容易理解,可是萬一頁面多,需要開發(fā)不少這樣的懸浮按鈕,而且點擊返回依舊是退出小程序。

第二種:分享的時候不是分享本頁面,而是分享首頁的鏈接,不過在鏈接上帶上本頁面的參數(shù),打開卡片號進入首頁,首先判斷參數(shù),符合要求的直接跳轉到目標頁面。這個的好處是不需要修改ui效果,只需要在分享接口上做些處理,而且還支持返回首頁;缺點是會從首頁一閃到目標頁面。

同時,如果小程序涉及到分享功能的,需要記錄我是誰邀請進來的,那么就需要在分享參數(shù)中加上自己的分享id,綜合考慮后第二種方式更合適。

第一步:創(chuàng)建分享配置文件pageshare.js

該文件的模塊包含五個屬性,分別是config數(shù)組(頁面路徑和頁面id數(shù)組)、find方法(通過id查找頁面路徑的方法)、build(創(chuàng)建分享參數(shù)的方法,如返回頁面id、分享id、文章id等)、baseshare(基礎分享方法,返回微信分享所需的對象)

module.exports = {config: [{pageId: 1,pageUrl: "/pages/home/home",isTab: true,isHome: true}],/**查找相應的頁面@pageId 頁面id*/find: function(pageId) {let result = this.config[0];this.config.forEach(item => { if (item.pageId.toString() === pageId.toString()) {  result = item; }});return result;},/**創(chuàng)建分享參數(shù)@obj 分享鍵值對[默認內(nèi)置salesmanId或shareId]*/build: function(obj) {if (!(obj instanceof Object)) { obj = {};}let userInfo = getApp().globalData.userInfo;if (userInfo.is_salesman) { obj.salesmanId = userInfo.salesman_info.id;} else { obj.shareId = userInfo.id;}let params = [];for (let name in obj) { params.push(name + "=" + obj[name]);}return params.join("&");},/**基礎分享@title 標題@params url參數(shù)@imageUrl 圖片[默認截圖]*/baseshare: function({title,params,imageUrl}) {return { title: title, path: "/pages/home/home?" + this.build(params), imageUrl: imageUrl || ""}}}

PS:config與小程序的頁面一一對應,需要手動配置。

第二步:引入pageshare.js文件

const Pageshare = require("../../../utils/pageshare");//在需要做分享的頁面引入該文件

第三步:配置分享信息

在需要做分享的頁面中修改分享信息

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹阳市| 衡阳县| 正宁县| 万盛区| 光山县| 鄂尔多斯市| 丹东市| 石家庄市| 廊坊市| 措勤县| 壤塘县| 贵州省| 阳朔县| 通江县| 惠州市| 牙克石市| 深圳市| 临安市| 蓬安县| 通海县| 贡觉县| 富民县| 邹平县| 龙胜| 新晃| 高台县| 鄂温| 拉萨市| 堆龙德庆县| 克拉玛依市| 屯门区| 东方市| 文水县| 那坡县| 天津市| 建平县| 明水县| 明水县| 屏东市| 肇庆市| 通许县|