学习路之uniapp--unipush2.0推送功能--服务端推送消息
- 一、绑定云空间及创建云函数
- 二、编写发送界面
- 三、效果
一、绑定云空间及创建云函数


{"name": "server-push","dependencies": {},"main": "index.js","extensions": {"uni-cloud-push": {}}
}
'use strict';
const uniPush = uniCloud.getPushManager({appId:"__UNI__5630355"})
exports.main = async (event, context) => {console.log('event : ', event);let obj = JSON.parse(event.body)console.log('obj : ', obj);const res = await uniPush.sendMessage({"push_clientid": obj.cids, "title": obj.title, "content": obj.content, "payload": obj.data, "force_notification": true, "request_id": obj.request_id })return res
};
二、编写发送界面
<template><view class="content"><view class="text-area"><text class="title">通知标题:</text><input class="uni-input" v-model="title" placeholder="输入标题" /></view><view class="text-area"><text class="title">通知内容:</text><input class="uni-input" v-model="content" placeholder="输入标题" /></view><text class="title">接收的设备:</text><text v-for="(item, index) in deviceIds" >{{item}}</text><button @click="send">发送</button></view>
</template><script>export default {data() {return {deviceIds:[],title: '我是通知标题',content:'我是通知内容'+Math.floor(Math.random() * 100),}},onLoad() {uni.getPushClientId({success: (res) => {let push_clientid = res.cidconsole.log('客户端推送标识cid:', push_clientid,typeof push_clientid)this.deviceIds.push(push_clientid)}})},methods: {send(){console.log('aaaaaaaa');let send_data = {cids: this.deviceIds, title: this.title,content: this.content,data: {},request_id: "",};uniCloud.callFunction({name: "server-push", data: {body: JSON.stringify(send_data) },success(dataRes) {console.log("云函数返回的参数", dataRes)},fail(err) {console.log("云函数报错", err)},complete() {}})}}}
</script><style>.content {display: flex;flex-direction: column;align-items: center;justify-content: center;}.text-area {display: flex;justify-content: center;}.title {font-size: 36rpx;color: #8f8f94;}
</style>
三、效果