热搜:前端 nest neovim nvim

胶襄菜单栏分享小程序,必须点一下 button 共享聊天内容

lxf2023-05-12 00:51:39

序言

在小程序定制开发的过程当中,必须涉及到共享分享作用的研发,因而进行统计。

在其中,开发设计流程主要分配备开启

配备

胶襄菜单栏分享小程序,必须点一下 button 共享聊天内容

默认设置前提下,微信小程序是禁止使用共享这一操控的,必须手动式配备打开。

配备有以下三种方法,可随意选择一种:

  • app.json 已不能使用
  • wx.showShareMenu
  • 生命周期函数

app.js

全局性统一默认配置。

// app.json
{
  "window": {
    "defaultShareAppMessage": {
      "title": "感谢来到我的小程序", // 特定分享标题
      "path": "/pages/index/index", // 特定共享详细地址
      "imageUrl": "https://example.com/images/logo.png" // 特定共享封面照片
    }
  }
}

wx.showShareMenu

wx.showShareMenu(Object object)

功能描述 表明当前页的分享按键

常见问题

  • "shareAppMessage"表明“发送给朋友”按键,"shareTimeline"表明“分享朋友圈”按键
  • 表明“分享朋友圈”按键时必须同时表明“发送给朋友”按键,表明“发送给朋友”按键的时候容许无法显示“分享朋友圈”按键

实例编码

// 需分享分享页面.js
Page({
  onLoad() {
    wx.showShareMenu({
      withShareTicket: true,
      menus: ["shareAppMessage", "shareTimeline"],
    });
  },
});

生命周期函数

  • onShareAppMessage - 打开朋友分享
  • onShareTimeline - 打开朋友圈分享
// 需分享分享页面.js
Page({
  // 打开朋友分享
  onShareAppMessage() {
    return {
      title: "感谢来到我的小程序",
      path: "/pages/index/index",
      imageUrl: "https://example.com/images/logo.png",
    };
  },

  // 打开朋友圈分享
  onShareTimeline() {
    return {
      title: "感谢来到我的小程序",
      path: "/pages/index/index",
      imageUrl: "https://example.com/images/logo.png",
    };
  },
});

比照

比照app.jswx.showShareMenu生命周期函数
优势统一打开全局性分享共享作用可特定网页页面打开共享分享作用可特定网页页面打开共享分享作用,并可传送网页页面主要参数
缺陷不可以网页页面传递数据,已弃用不可以网页页面传递数据如果需要配备好几个网页页面时,也会存在代码冗余难题,提议按照实际业务需求封装形式函数公式统一解决。

开启

进行前面的随意一配备以后,就能根据 右上方胶襄菜单栏分享按钮button open-type="share" 的形式,开展分享或共享去操作。

分辨

很多时候必须针对不同的触发机制进行划分解决。

场景模拟:在一个聊天场景下,必须点一下胶襄菜单栏分享小程序,必须点一下 button 共享聊天内容。

Page({
  onShareAppMessage(event) {
    const { from } = event; // 分享事情由来
    // 分享事情由来。
    // button:界面内分享按键;
    // menu:右上方分享菜单栏
    if (from === "button") {
      // button
    } else if (from === "menu") {
      // 胶襄菜单栏
    }
  },
});

主要参数解决

这节关键纪录分享共享时,必须传递参数应当怎样处理。实例将均采用 index 网页页面演试。

// index.js
Page({
  data: {
    userId: "98751568-d827-4ff9-931b-fc4527a572cb",
  },

  onLoad(options) {
    if (options.userId) {
      // 接受到分享达人id
      console.log(options.userId)
    }
  },

  onShareAppMessage() {
    // 打开朋友分享
    const { userId } = this.data;

    return {
      title: "感谢来到我的小程序",
      path: `/pages/index/index?userId=${userId}`,
      imageUrl: "https://example.com/images/logo.png",
    };
  },

  onShareTimeline() {
    // 打开朋友圈分享,同样
  },
});
本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!