前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送

[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送

作者头像
猫头虎
发布2024-06-01 08:18:46
730
发布2024-06-01 08:18:46
举报

[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送

第21天:小程序的社交分享与消息推送 📲

社交分享

微信小程序提供了丰富的分享功能,可以让用户将内容分享到微信好友和朋友圈。

一、实现分享功能
1. 配置分享菜单

在小程序的 app.json 文件中配置分享菜单:

代码语言:javascript
复制
{
  "window": {
    "navigationBarTitleText": "小程序",
    "navigationStyle": "custom"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页"
    }]
  }
}
2. 使用 onShareAppMessage 实现分享

在页面的 js 文件中实现分享逻辑:

代码语言:javascript
复制
Page({
  onShareAppMessage() {
    return {
      title: '分享标题',
      path: '/pages/index/index',
      imageUrl: '/images/share-image.png', // 分享图片
      success(res) {
        console.log('分享成功:', res);
      },
      fail(err) {
        console.error('分享失败:', err);
      }
    };
  }
});
二、自定义分享内容
1. 动态生成分享内容

根据页面内容动态生成分享标题和路径:

代码语言:javascript
复制
Page({
  data: {
    articleTitle: '文章标题'
  },
  onShareAppMessage() {
    return {
      title: `快来阅读这篇文章: ${this.data.articleTitle}`,
      path: `/pages/article/article?id=123`,
      imageUrl: '/images/share-image.png',
      success(res) {
        console.log('分享成功:', res);
      },
      fail(err) {
        console.error('分享失败:', err);
      }
    };
  }
});

消息推送

微信小程序提供了订阅消息功能,可以向用户推送消息。

三、实现订阅消息
1. 配置订阅消息模板

在微信公众平台的“订阅消息”功能中创建并配置消息模板。

2. 请求订阅消息权限

在页面的 js 文件中请求用户订阅消息权限:

代码语言:javascript
复制
Page({
  requestSubscribeMessage() {
    wx.requestSubscribeMessage({
      tmplIds: ['TEMPLATE_ID'], // 替换为你的订阅消息模板ID
      success(res) {
        console.log('订阅成功:', res);
        if (res['TEMPLATE_ID'] === 'accept') {
          // 用户同意订阅消息
          wx.showToast({
            title: '订阅成功',
            icon: 'success'
          });
        }
      },
      fail(err) {
        console.error('订阅失败:', err);
      }
    });
  }
});
3. 发送订阅消息

在后端服务器上实现发送订阅消息的逻辑。以下是使用 Node.js 和 Express 的示例:

代码语言:javascript
复制
const express = require('express');
const axios = require('axios');
const app = express();

app.post('/send-message', (req, res) => {
  const { openid, templateId, formId, data } = req.body;

  // 获取小程序的 access_token
  axios.get(`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=YOUR_APPID&secret=YOUR_SECRET`)
    .then(response => {
      const accessToken = response.data.access_token;

      // 发送订阅消息
      return axios.post(`https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${accessToken}`, {
        touser: openid,
        template_id: templateId,
        page: 'pages/index/index',
        data: data
      });
    })
    .then(response => {
      res.json({ success: true, data: response.data });
    })
    .catch(error => {
      console.error('发送消息失败:', error);
      res.json({ success: false, error: error.message });
    });
});

app.listen(3000, () => {
  console.log('Server running on port 3000');
});

小测试 🧪

  • 实现一个页面的分享功能,用户可以将该页面分享给微信好友。
  • 请求用户订阅消息权限,并发送一条测试消息到用户的微信。

今日学习总结 📚

概念

详细内容

社交分享

配置分享菜单,使用 onShareAppMessage 实现分享

自定义分享内容

动态生成分享标题和路径

消息推送

配置订阅消息模板,请求订阅消息权限,发送订阅消息

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第21天:小程序的社交分享与消息推送 📲
    • 社交分享
      • 一、实现分享功能
      • 二、自定义分享内容
    • 消息推送
      • 三、实现订阅消息
    • 小测试 🧪
      • 今日学习总结 📚
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档