學習路之uniapp--unipush2.0推送功能--給自己發通知

學習路之uniapp--unipush2.0推送功能--給自己發通知

  • 一、綁定云空間及創建云函數
  • 二、編寫發送界面
  • 三、效果
  • 后期展望:

一、綁定云空間及創建云函數

在這里插入圖片描述

在這里插入圖片描述

  • package.json
{"name": "server-push","dependencies": {},"main": "index.js","extensions": {"uni-cloud-push": {}}
}
  • index.js
'use strict';
const uniPush = uniCloud.getPushManager({appId:"__UNI__5630355"}) //注意這里需要傳入你的應用appId,用于指定接收消息的客戶端
exports.main = async (event, context) => {//event為客戶端上傳的參數console.log('event : ', event);let obj = JSON.parse(event.body)console.log('obj : ', obj);const res = await uniPush.sendMessage({"push_clientid": obj.cids, // 設備id,支持多個以數組的形式指定多個設備,如["cid-1","cid-2"],數組長度不大于1000  "title": obj.title, // 標題  "content": obj.content, // 內容  "payload": obj.data, // 數據  "force_notification": true, // 服務端推送 需要加這一句  "request_id": obj.request_id //請求唯一標識號,10-32位之間;如果request_id重復,會導致消息丟失   })//返回數據給客戶端return res
};

二、編寫發送界面

<template><view class="content"><input v-model="title" placeholder="輸入標題" /><input v-model="content" placeholder="輸入標題" /><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, // 使用存儲的設備 IDtitle: this.title,content: this.content,data: {},request_id: "",};uniCloud.callFunction({name: "server-push", // 填寫你自己的云函數名稱data: {body: JSON.stringify(send_data) // 將數據轉換為 JSON 字符串并賦值給 body},success(dataRes) {console.log("云函數返回的參數", dataRes)},fail(err) {console.log("云函數報錯", err)},complete() {}})}}}
</script><style>.content {padding: 20px;text-align: center;}input {border: 1rpx solid #cecece;margin-top: 50rpx;height: 80rpx;}.title {font-size: 36rpx;color: #8f8f94;}button {padding: 10px 20px;background-color: #007aff;color: white;border: none;border-radius: 5px;cursor: pointer;}button:hover {background-color: #0056b3;}.button-text {color: #fff;font-size: 12px;}
</style>

三、效果

在這里插入圖片描述

在這里插入圖片描述

后期展望:

使用自已服務器接口獲取CID集合,然后存在deviceIds數組,
再調用云函數

uniCloud.callFunction({name: "server-push", // 填寫你自己的云函數名稱data: {body: JSON.stringify(send_data) // 將數據轉換為 JSON 字符串并賦值給 body},success(dataRes) {console.log("云函數返回的參數", dataRes)},fail(err) {console.log("云函數報錯", err)},complete() {}})

就可以實現全局、點對點通知。

createPushMessage+ websocket

uni.createPushMessage(OBJECT)
創建本地通知欄消息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81981.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81981.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81981.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

什么是VR展示?VR展示的用途

隨著科技的迅猛發展&#xff0c;我們步入一個全新的數字時代。在這個時代&#xff0c;虛擬現實&#xff08;VR&#xff09;技術嶄露頭角&#xff0c;逐步改變我們對世界的認知。全景展示廳作為VR技術與傳統展覽藝術的完美結合&#xff0c;以獨特的全景視角&#xff0c;引領我們…

抖音IP屬地跟無線網有關嗎?如何更改

IP屬地顯示功能讓許多用戶感到好奇——為什么自己的位置信息有時準確&#xff0c;有時卻顯示在其他城市&#xff1f;這時&#xff0c;用戶會疑惑&#xff1a;抖音IP屬地跟無線網有關系嗎&#xff1f;抖音的IP屬地顯示與其所使用的網絡類型&#xff08;包括無線網&#xff09;密…

JESD204 ip核使用與例程分析(二)

JESD204 ip核使用與例程分析(二) JESD204時鐘方案專用差分時鐘對例程分析jesd204_0_transport_layer_demapperjesd204_0_sig_chkjesd204_0_clockingjesd204_0 ip核port寄存器AXI-LITE寄存器配置jesd204_phy ip核JESD204時鐘方案 圖3-1所示為最通用、靈活的時鐘解決方案。在圖…

微軟全新開源的Agentic Web網絡項目:NLWeb,到底是什么 ?

目錄 1、背景 2、NLWeb是什么&#xff1f; 3、NLWeb是如何工作的&#xff1f; 3.1 技術原理 3.2 對發布者的價值 3.3 核心團隊與合作伙伴 4、快速入門指南 5、延伸閱讀 Agentic&#xff1a;Agent的形容詞&#xff0c;Agentic指系統由大型語言模型&#xff08;LLM&#…

前端性能優化的秘密武器:Preload 與 Prefetch 的深度解析

前端性能優化的秘密武器&#xff1a;Preload 與 Prefetch 的深度解析 在前端開發中&#xff0c;頁面加載速度直接影響用戶體驗和業務轉化率。而“資源預加載”技術&#xff0c;正是優化加載性能的核心手段之一。本文將深入淺出地講解 Preload 與 Prefetch 這兩項技術&#xff…

App Builder技術選型指南:從AI編程到小程序容器,外賣App開發實戰

在2025年快速迭代的技術生態中&#xff0c;開發者構建App的路徑愈發多樣化。本文以開發一個同城外賣App為例&#xff0c;對比當前主流的AI編程工具&#xff08;如Cursor、GitHub Copilot、Trae&#xff09;與小程序容器技術&#xff08;如FinClip&#xff09;的優劣勢、難易度及…

深度學習入門到實戰:用PyTorch打通數學、張量與模型訓練全鏈路?

本文較長&#xff0c;建議點贊收藏&#xff0c;以免遺失。更多AI大模型應用開發學習視頻及資料&#xff0c;盡在聚客AI學院。 一. 人工智能、機器學習與深度學習的關系 1.1 概念層次解析 人工智能&#xff08;AI&#xff09;&#xff1a;使機器模擬人類智能的廣義領域 機器學…

windows服務器部署jenkins工具(一)

jenkins作為一款常用的構建發布工具&#xff0c;極大的簡化了項目部署發布流程。jenkins通常是部署在linux服務上&#xff0c;今天給大家分享的是windows服務器上如何搭建jenkins發布工具。 1.首先第一步還是看windows安裝docker 這篇文章哈&#xff0c;當然也可以不采用docke…

前端開發規范性利器系列之:ESLint

前言 我是一名從事低代碼平臺研發的前端CV程序猿&#xff0c;有幾十名像我一樣的小伙伴協同研發。在長期的多人協作和滾動迭代中&#xff0c;不出意外&#xff0c;代碼中會充斥各種“壞味道”&#xff0c;如代碼風格不統一、擴展性和靈活性降低等問題。我們是如何解決這些問題的…

數據結構知識點匯總

1、在數據結構中&#xff0c;隨機訪問是指能夠直接訪問任一元素&#xff0c;而不需要從特定的起始位置開始&#xff0c;也不需要按順序訪問其他元素。這種訪問方式通常不涉及遍歷。例如&#xff0c;數組&#xff08;array&#xff09;支持隨機訪問&#xff0c;你可以直接通過索…

ubuntu中上傳項目至GitHub倉庫教程

一、到github官網注冊用戶 1.注冊用戶 地址&#xff1a;https://github.com/ 2.安裝Git 打開終端&#xff0c;輸入指令git,檢查是否已安裝Git 如果沒有安裝就輸入指令 sudo apt-get install git 二、上傳項目到github 1.創建項目倉庫 進入github主頁&#xff0c;點擊號…

C#在 .NET 9.0 中啟用二進制序列化:配置、風險與替代方案

在 .NET 9.0 中啟用二進制序列化&#xff1a;配置、風險與替代方案 引言一、啟用二進制序列化的步驟二、實現序列化與反序列化三、安全風險與緩解措施四、推薦替代方案五、總結 引言 在 .NET 生態中&#xff0c;二進制序列化&#xff08;Binary Serialization&#xff09;曾是…

如何解決鴻蒙應用閃退問題

如何解決鴻蒙應用閃退問題 本文是一份面向 ArkTS&#xff0f;JavaScript&#xff0f;C 多語言開發者的綜合性排查與優化手冊&#xff0c;覆蓋 HarmonyOS/OpenHarmony 5.x 時代 常見閃退根因、診斷流程、調試技巧、CI 監控及線上防護方案&#xff0c;力爭幫你把 Crash 數量降到 …

【Java高階面經:微服務篇】4.大促生存法則:微服務降級實戰與高可用架構設計

一、降級決策的核心邏輯:資源博弈下的生存選擇 1.1 大促場景的資源極限挑戰 在電商大促等極端流量場景下,系統面臨的資源瓶頸呈現指數級增長: 流量特征: 峰值QPS可達日常的50倍以上(如某電商大促下單QPS從1萬突增至50萬)流量毛刺持續時間短(通常2-4小時),但對系統穩…

關于我對傳統系統機構向大模型架構演進的認知

最近這段時間在研究大模型&#xff0c;不可避免會接觸到架構。從我職業經歷一路走來&#xff0c;自然會拿著現有模型的架構和我之前接觸到的系統架構進行對比。今天就大模型的架構和傳統系統架構進行一下梳理&#xff0c;說一說我的見解。 在我眼里&#xff0c;傳統系統架構如…

圖片識別(TransFormerCNNMLP)

目錄 一、Transformer &#xff08;一&#xff09;ViT&#xff1a;Transformer 引入計算機視覺的里程碑 &#xff08;二&#xff09;Swin-Transformer&#xff1a;借鑒卷積改進 ViT &#xff08;三&#xff09;VAN&#xff1a;使用卷積模仿 ViT &#xff08;四&#xff09;…

性能測試、壓力測試、負載測試如何區分

一、前言&#xff1a;為何區分三者如此重要&#xff1f; “你們做過壓力測試嗎&#xff1f;”“系統性能測試做得怎么樣&#xff1f;”“負載測試的數據能分享一下嗎&#xff1f;” 在很多軟件開發與測試團隊的日常溝通中&#xff0c;“性能測試”“壓力測試”“負載測試”這…

工業路由器WiFi6+5G的作用與使用指南,和普通路由器對比

工業路由器的技術優勢 在現代工業環境中&#xff0c;網絡連接的可靠性與效率直接影響生產效率和數據處理能力。WiFi 6&#xff08;即802.11ax&#xff09;和5G技術的結合&#xff0c;為工業路由器注入了強大的性能&#xff0c;使其成為智能制造、物聯網和邊緣計算的理想選擇。…

紫光同創FPGA實現AD9238數據采集轉UDP網絡傳輸,分享PDS工程源碼和技術支持和QT上位機

目錄 1、前言工程概述免責聲明 2、相關方案推薦我已有的所有工程源碼總目錄----方便你快速找到自己喜歡的項目紫光同創FPGA相關方案推薦我這里已有的以太網方案本方案在Xilinx系列FPGA的應用方案 3、設計思路框架工程設計原理框圖AD輸入源AD9238數據采集AD9238數據緩存控制模塊…

如何修改服務器管理員賬號名和密碼(1)

命令解析sudo useradd -m -s /bin/bash 新用戶名 1. sudo 作用&#xff1a;以超級用戶(root)權限執行命令 為什么需要&#xff1a;創建用戶需要修改系統文件(/etc/passwd, /etc/shadow等)&#xff0c;普通用戶沒有這個權限 替代方案&#xff1a;如果已經是root用戶&#xff0…