[猫头虎分享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'], // 替换为你的订阅消息模板IDsuccess(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_tokenaxios.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天的微信小程序基础入门教程。如果你有任何疑问,欢迎关注并留言在我的公众号猫头虎技术团队。📩