vue实现个推
Vue 集成个推(Getui)推送服务
安装个推 SDK
在 Vue 项目中通过 npm 或 yarn 安装个推官方 Web SDK:
npm install gt-push-sdk
或
yarn add gt-push-sdk
初始化个推
在 Vue 的入口文件(如 main.js)或组件中初始化个推服务。需替换 APP_ID、APP_KEY 等参数为实际值:
import GtPush from 'gt-push-sdk';
const push = new GtPush({
appId: 'YOUR_APP_ID',
appKey: 'YOUR_APP_KEY',
appSecret: 'YOUR_APP_SECRET'
});
// 绑定到 Vue 原型以便全局使用(可选)
Vue.prototype.$push = push;
注册设备并获取 CID
在需要启用推送的页面(如 App.vue)中调用注册方法:
export default {
mounted() {
this.$push.register()
.then(cid => {
console.log('注册成功,CID:', cid);
// 可将 CID 发送到服务端用于定向推送
})
.catch(err => {
console.error('注册失败:', err);
});
}
}
处理推送消息
监听推送消息事件并处理:
this.$push.onMessage(payload => {
console.log('收到推送:', payload);
// 根据 payload 内容显示通知或跳转页面
if (payload.notification) {
new Notification(payload.notification.title, {
body: payload.notification.body
});
}
});
服务端集成示例(Node.js)
个推通常需要服务端配合发送推送。以下是 Node.js 示例:

const GeTui = require('gt-push-server-sdk');
const pusher = new GeTui({
appId: 'YOUR_APP_ID',
appKey: 'YOUR_APP_KEY',
masterSecret: 'YOUR_MASTER_SECRET'
});
// 单推示例
pusher.pushToSingle({
cid: 'DEVICE_CID',
title: 'Vue 通知',
body: '您有一条新消息',
payload: { url: '/message' }
});
注意事项
- HTTPS 要求:个推 Web SDK 要求部署在 HTTPS 环境下。
- 浏览器支持:需检查 Notification API 兼容性,部分浏览器需用户手动授权。
- CID 管理:建议将获取到的 CID 与用户信息绑定存储在服务端。
- 生产环境配置:区分测试和生产环境的个推应用配置。
调试技巧
- 使用个推控制台的「推送测试」功能验证集成。
- 在浏览器控制台查看 SDK 日志,定位注册或收信问题。
- 通过
this.$push.getClientId()验证当前 CID 是否有效。
以上实现可根据项目需求调整,例如添加离线消息处理、本地通知样式定制等扩展功能。






