小工具知识网

当前位置: 首页 > 行业知识 > [猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送

行业知识

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

2026-11-03 09:02:48 来源:互联网转载

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


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

自我介绍

大家好,我是猫头虎,一名全栈软件工程师。今天我们继续微信小程序的学习,重点了解如何实现社交分享与消息推送功能。这些功能可以帮助你提高小程序的用户互动和活跃度。

社交分享

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

一、实现分享功能

1. 配置分享菜单

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

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

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

Page({  onShareAppMessage() {    return {      title: '分享标题',      path: '/pages/index/index',      imageUrl: '/images/share-image.png', // 分享图片      success(res) {        console.log('分享成功:', res);      },      fail(err) {        console.error('分享失败:', err);      }    };  }});

二、自定义分享内容

1. 动态生成分享内容

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

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 文件中请求用户订阅消息权限:

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 的示例:

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 实现分享
    自定义分享内容动态生成分享标题和路径
    消息推送配置订阅消息模板,请求订阅消息权限,发送订阅消息

    结语

    通过今天的学习,你应该掌握了如何在小程序中实现社交分享与消息推送功能。这些技术可以帮助你提高小程序的用户互动和活跃度。感谢你跟随我完成了这21天的微信小程序基础入门教程。如果你有任何疑问,欢迎关注并留言在我的公众号猫头虎技术团队。


上一篇:联想服务器怎么护航?

下一篇:论文参考文献正确标注指南,全面解析标注要点,让你的研究更有说服力!