uniPush2.0消息推送(云对象)

news2024/12/24 2:57:07

1.创建uniCloud云开发环境 关联云服务空间(没有云空间到官网上创建)步骤如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. index.obj.js代码 ,然后上传部署
在这里插入图片描述

// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129


const uniPush = uniCloud.getPushManager({
	appId: "__UNI__xxxx"
})
module.exports = {
	_before: function() { // 通用预处理器

	},
	async messageSend(event) {
		const res = await uniPush.sendMessage({
			"push_clientid": event.cid, // 设备id,支持多个以数组的形式指定多个设备,如["cid-1","cid-2"],数组长度不大于1000  
			"title": event.title, // 标题  
			"content": event.content, // 内容  
			"payload": event.payload, // 数据  
			"force_notification": true, // 服务端推送 需要加这一句  
			"request_id": event.request_id //请求唯一标识号,10-32位之间;如果request_id重复,会导致消息丢失  必须是string格式
			"options": obj.options //消息分类,没申请可以不传这个参数  
			
			
			// "push_clientid": "xxxx", //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid  
			// "force_notification": true, //填写true,客户端就会对在线消息自动创建“通知栏消息”。  
			// "title": "推送标题",
			// "content": "推送内容哈哈哈哈",
			// "payload": {
			// 	"text": "体验一下uni-push2.0"
			// }
		})
		return res;
	}
}

3.页面调用

const pushSend = uniCloud.importObject('push')

const send = ()=>{
let res = await pushSend.messageSend({
						cid: "xxx",
						title:"测试",
						content:“内容”,
						payload:{
							text:“咔咔咔咔”
						},
						request_id:'s'+(new Date()).getTime() //必须是string,否则推送报错
					})
					console.log(res)
}

注意真机本地调试时候,可能出现以下报错(很难解决,网上找了解决方法不适合我,而且非常麻烦),建议安装云打包的包测试,

无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。
如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。 -
如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试
检查系统防火墙是否拦截了HBuilderX自带的nodejs
连接本地调试服务失败,请检查客户端是否和主机在同一局域网下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1792747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv9改进策略 | Conv篇 | 利用YOLOv10提出的SCDown魔改YOLOv9进行下采样(附代码 + 结构图 + 添加教程)

一、本文介绍 本文给大家带来的改进机制是利用YOLOv10提出的SCDown魔改YOLOv9进行下采样,其是更高效的下采样。具体而言,其首先利用点卷积调整通道维度,然后利用深度卷积进行空间下采样。这将计算成本减少到和参数数量减少到。同时,这最大限度地保留了下采样过程中的信息,…

Windows Server FTP详解

搭建: Windows Server 2012R2 FTP服务介绍及搭建_windows2012server r2ftp怎么做?-CSDN博客 问题: https://www.cnblogs.com/123525-m/p/17448357.html Java使用 被动FTP(PASV) 被动FTP模式在数据连接建立过程中…

数学建模之MATLAB入门教程(上)

前言: • MATLAB是美国Math Works公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 • MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动…

深入分析 Android BroadcastReceiver (一)

文章目录 深入分析 Android BroadcastReceiver (一)1. Android BroadcastReceiver 设计说明1.1 BroadcastReceiver 的主要用途 2. BroadcastReceiver 的工作机制2.1 注册 BroadcastReceiver2.1.1 静态注册2.1.2 动态注册 3. BroadcastReceiver 的生命周期4. 实现和使用 Broadca…

【面试笔记】嵌入式软件工程师,汽车电子软件相关

文章目录 1. C语言基础1.1 const1.2 static1.3 回调函数的用法1.4 宏定义1.5 编译、链接过程1.6 堆与栈的区别?1.7 简单的字符串算法题,C语言实现1.7.1 给定一个字符串,按顺序筛选出不重复的字符组成字符串,输出该字符串1.7.2 给定…

三相五柱变压器饱和Simulink仿真

此示例说明了三相五柱变压器的饱和情况,并将专用电力系统模型与基于 Simscape 的物理模型进行了比较。 顶部电路使用 SimPowerSytems 模块来实现连接到 315 kV 电网的 300 MVA、315 kV/120 kV/25 kV、Yg/Yg/D 变压器。在不平衡电压条件下,与三柱变压器相…

opencv进阶 ——(十一)基于RMBG实现生活照生成寸照

实现步骤 1、检测人脸,可以使用opencv自带的级联分类器或者dlib实现人脸检测 2、放大人脸范围,调整到正常寸照尺寸 3、基于RMGB算法得到人像掩码 4、生成尺寸相同的纯色背景与当前人像进行ALPHA融合即可 alpha融合实现 void alphaBlend(cv::Mat&…

Python SMTP配置示例中如何处理发送失败?

Python SMTP的加密方式怎么设置?如何设置SMTP服务器? 在Python中,SMTP常被用于发送电子邮件。然而,SMTP配置和使用过程中,难免会遇到发送失败的情况。Aok将探讨在Python SMTP配置示例中如何处理这些发送失败的情况&am…

Redis实战篇——搭建主从复制

Redis实战篇——搭建主从复制 1.Redis主从1.1.主从集群结构1.2.搭建主从集群1.2.1.启动多个Redis实例1.2.2.建立集群1.2.3.测试 1.Redis主从 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离…

探索 LLM 预训练的挑战,GPU 集群架构实战

万卡 GPU 集群实战:探索 LLM 预训练的挑战 一、背景 在过往的文章中,我们详细阐述了LLM预训练的数据集、清洗流程、索引格式,以及微调、推理和RAG技术,并介绍了GPU及万卡集群的构建。然而,LLM预训练的具体细节尚待进一…

安卓Zygote进程详解

目录 一、概述二、Zygote如何被启动的?2.1 init.zygote64_32.rc2.2 Zygote进程在什么时候会被重启2.3 Zygote 启动后做了什么2.4 Zygote启动相关主要函数 三、Zygote进程启动源码分析3.1 Nativate-C世界的Zygote启动要代码调用流程3.1.1 [app_main.cpp] main()3.1.2…

0605-JavaSE-单例模式-饿懒汉模式

​​​​​​​ 不能放在方法里面(因为每个线程调用都会在方法里面实例化一个locker对象,但不属于同一个对象),然后要用static修饰成静态变量才会起到效果 //单例设计模式 //饿汉模式:在加载类的时候就已经开始创建 /…

Python3数据类型(新)详细介绍

文章目录 数据类型类型查看同时多个变量赋值标准数据类型1.数字(Number)2.字符串3.bool(布尔类型)4.元组元组的运算 运算运算* 运算元组的删除 5.列表(List)查找列表修改列表列表的切片列表是可以修改的列表的追加列表的插入列表的连接列表的删除列表的清空列表的复制 6.字典查…

创建常规DLL的动态链接库

本文仅供学习交流,严禁用于商业用途,如本文涉及侵权请及时联系本人将于及时删除 【例9.3】创建一个MFC 常规DLL的动态链接库Areadll,在该动态链接库中添加一个导出类CArea,通过该类获取正方形和圆的面积。 (1) 使用“MFC动态链接…

水泵选型指南

在现代暖通空调(HVAC)系统中,冷冻水泵是关键组件之一,它在提供冷却和空调效果方面起着至关重要的作用。选择合适的冷冻水泵不仅可以提高系统效率,还能节省能源和维护成本。本文将介绍冷冻水泵选型的关键因素和步骤。 …

深度学习之非极大值抑制NMS介绍

1. 基本介绍 非极大值抑制(Non-Maximum Suppression,NMS)是深度学习中一种常用的目标检测算法,用于在检测结果中去除冗余的边界框。 在目标检测任务中,通常会使用候选框(bounding boxes)来表示可…

wincc7.5在现有Report中增加页面

已有报告,页面是3页,需要新加1页数据。 在布局文件中,看到有3个项,这个版本的Wincc就是这种布置: 需要在报告内容中加入新内容,分页依据内容上下间的缝隙(gap )。 这里插入嵌入la…

SwiftUI中Menu和ControlGroup的使用

本篇文章主要介绍一下Menu组件和ControlGroup组件的使用。Menu组件是在iOS 14(tvOS 17)推出的一个组件,点击后提供一个可选择的操作列表。ControlGroup组件是一个容器视图,以视觉上适当的方式为给定的上下文显示语义相关的控件&am…

【设计模式深度剖析】【3】【行为型】【职责链模式】| 以购物中心客户服务流程为例加深理解

👈️上一篇:命令模式 设计模式-专栏👈️ 文章目录 职责链模式定义英文原话直译如何理解呢? 职责链模式的角色1. Handler(抽象处理者)2. ConcreteHandler(具体处理者)3. Client(客户…

Go微服务: 基于rocketmq:server和rocketmq:broker搭建RocketMQ环境,以及生产消息和延迟消费消息的实现

RocketMQ 的搭建 1 ) 配置 docker-compose.yaml 文件 version: 3.5 services:rmqnamesrv:image: foxiswho/rocketmq:servercontainer_name: rmqnamesrvports:- 9876:9876volumes:- ./logs:/opt/logs- ./store:/opt/storenetworks:rmq:aliases:- rmqnamesrvrmqbroker:image: fo…