网乐科技网站建设,设计网站的功能有哪些,做粉丝网站会侵权吗,天元建设集团有限公司简介uni-app 消息推送功能UniPush,这里用的是uni-app自带的UniPush1.0#xff08;个推服务#xff09;#xff0c;所以只针对UniPush1.0介绍实现步骤。 建议查阅的文章#xff1a; UniPush 1.0 使用指南[2] Unipush 常见问题[3] 当然现在已经出了UniPush2.0#xff08;HBuilde… uni-app 消息推送功能UniPush,这里用的是uni-app自带的UniPush1.0个推服务所以只针对UniPush1.0介绍实现步骤。 建议查阅的文章 UniPush 1.0 使用指南[2] Unipush 常见问题[3] 当然现在已经出了UniPush2.0HBuilderX 3.5.1及其以上版本支持新项目的话还是推荐使用UniPush2.0。 如果要使用UniPush2.0请移步 UniPush 2.0 使用指南[4] 。 UniPush内部封装好了个推及主流厂商 SDK在使用前必须开通相关服务点此查看如何开通UniPush推送服务[6]。 打开 DCloud开发者中心登录后会进入我的应用列表。在左侧菜单点击uniPush然后选择 1.0 或 2.0进入Uni Push信息页左上角显示为当前要操作的应用点击可以切换应用。如下图所示 应用开通UniPush功能时需要提交应用相关信息如下图所示 注意UniPush在申请开通时需要确保输入的Android包名或iOS Bundle ID必须与打包时配置的一致否则可能会导致无法收到推送消息。 用户首次使用UniPush功能时需要向个推同步身份信息。已通过实名认证的用户会直接将实名认证信息同步给个推。如下图所示 Android平台 Android包名必须与HBuilderX中App云端打包时配置的Android包名一致Android应用签名必须填入打包时使用证书的SHA1指纹。 iOS平台 iOS BundleId必须与HBuilderX中App云端打包时配置的Bundle IDAppID一致。 如果已经开通UniPush会看到如下页面 核心代码 unipush.js // 监听push消息 以及 后台数据回复
import phoneInfo from /common/js/phone-info.js;
import store from /store
let timer null;
let numloop 0;
import {pushEscalation // 绑定别名的接口
} from /api/client-notice.js// 消息推送 应用配置(这些给后端用的)
const uniPushObj {cid: ,AppID: 你的AppID,AppKey: 你的AppKey,AppSecret: 你的AppSecret,MasterSecret: 你的MasterSecret,
}export default {getInfo() {uni.getSystemInfo({success: res {phoneInfo.systemInfo res;}});},// 开启监听推送
pushListener() {const token uni.getStorageSync(token) || store.state.token;const platform phoneInfo.systemInfo.platform.toLowerCase();// 点击推送信息plus.push.addEventListener(click, res {// 其实在这里就可以根据你自己的业务去写了if (token) {if (platform android) {const msg_type res.payload.msg_type // 0 在线 || 1 离线// 做些什么 这里处理你的逻辑if (msg_type 0) {console.log(安卓------在线);} else {console.log(安卓------离线);}} else {// 在线if (res.aps null) {console.log(苹果------在线);} else {// 离线console.log(苹果------离线);}}} else {// 这里跳登录页了uni.redirectTo({url: pages/Login-Reg/Login/email-login})}});// 接收推送信息 在线plus.push.addEventListener(receive, res {const messageTitle res.title;const messageContent res.content;if (platform android) {/*** 安卓监听不到 因为安卓这个格式被封装了做成了通知栏展示换个格式就行比如里面多个字段或换个字段名*//***此格式的透传消息由 unipush 做了特殊处理 会自动展示通知栏 开发者也可自定义其它格式 在客户端自己处理*/// push_message: {// transmission: {// title:\标题\,// content:\内容\,// payload:\自定义数据\// }// },// Hbulidx 版本大于 ## 3.4.18安卓不再通知栏展示, 需要自行创建通知plus.push.createMessage(messageContent, res.payload, {title: messageTitle});// 或者在 onlaunch 写入// plus.push.setAutoNotification(true);} else {const type res.type//【APP离线】收到消息但没有提醒发生在一次收到多个离线消息时只有一个有提醒但其他的没有提醒 //【APP在线】收到消息不会触发系统消息,需要创建本地消息但不能重复创建// 必须加msg.type验证去除死循环 if (res.aps null type receive) {//创建本地消息,发送的本地消息也会被receive方法接收到但没有type属性且aps是null plus.push.createMessage(messageContent, res.payload, {title: messageTitle});}}});},// 循环获取clientid信息,直到获取到为止getClientInfoLoop() {plus.push.getClientInfoAsync(info {// 如果info不存在或者info存在cid不存在则再次获取cidif (!info || !info.clientid) {console.log(cid为空);let infoTimer null;infoTimer setInterval(function() {if (cid) {clearInterval(infoTimer); //清定时器uni.showModal({content: cid})uni.setStorageSync(cid, cid); uniPushObj.cid cid }}, 50);} else if (info info.clientid) {let cid info.clientid;uni.setStorageSync(cid, cid);uniPushObj.cid cid}}, function(e) {console.log(Failed, JSON.stringify(e));let pinf plus.push.getClientInfo();let cid pinf.clientid; //客户端标识 if (cid) {uni.setStorageSync(cid, cid);uniPushObj.cid cid}})},/** * 向后台传送cid绑定别名*/passCid() {pushEscalation({appid: uniPushObj.AppID,cid: uniPushObj.cid}).then(response {if (response.Code 0) {console.log(---------- cid 绑定别名成功, response);}})},
} phone-info.js export default {systemInfo: {}, // 系统设备信息manifestInfo: || uni.getStorageSync(widgetInfo), // manifest.json 应用信息
} APP.vue scriptimport phoneInfo from /common/js/phone-info.js;import uniPushListener from /common/js/unipush.js;export default {onLaunch: function() {uniPushListener.getInfo();// #ifdef APP-PLUSplus.screen.lockOrientation(portrait-primary); //锁定屏幕方向uni.setStorageSync(cancelUpdate, false); // 进来APP 重置更新弹窗// 获取App 当前版本号if (Object.keys(uni.getStorageSync(widgetInfo)).length 0) {plus.runtime.getProperty(plus.runtime.appid, widgetInfo {phoneInfo.manifestInfo widgetInfo;uni.setStorageSync(widgetInfo, widgetInfo);});}uniPushListener.getClientInfoLoop(); // 循环获取cidplus.runtime.setBadgeNumber(0); // 角标清空uniPushListener.pushListener(); // 监听通知栏信息//#endif}};
/script
最后如有不足后续整理补充.... 文章转载自: http://www.morning.spfq.cn.gov.cn.spfq.cn http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn http://www.morning.hqbk.cn.gov.cn.hqbk.cn http://www.morning.lfttb.cn.gov.cn.lfttb.cn http://www.morning.qtkfp.cn.gov.cn.qtkfp.cn http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn http://www.morning.wpcfm.cn.gov.cn.wpcfm.cn http://www.morning.ymtbr.cn.gov.cn.ymtbr.cn http://www.morning.rrqgf.cn.gov.cn.rrqgf.cn http://www.morning.fdhwh.cn.gov.cn.fdhwh.cn http://www.morning.bssjp.cn.gov.cn.bssjp.cn http://www.morning.gfhng.cn.gov.cn.gfhng.cn http://www.morning.qhczg.cn.gov.cn.qhczg.cn http://www.morning.rwzc.cn.gov.cn.rwzc.cn http://www.morning.qsctt.cn.gov.cn.qsctt.cn http://www.morning.dhdzz.cn.gov.cn.dhdzz.cn http://www.morning.nlqgb.cn.gov.cn.nlqgb.cn http://www.morning.zlxkp.cn.gov.cn.zlxkp.cn http://www.morning.cmzcp.cn.gov.cn.cmzcp.cn http://www.morning.rfbq.cn.gov.cn.rfbq.cn http://www.morning.neletea.com.gov.cn.neletea.com http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn http://www.morning.rcntx.cn.gov.cn.rcntx.cn http://www.morning.yllym.cn.gov.cn.yllym.cn http://www.morning.mqxrx.cn.gov.cn.mqxrx.cn http://www.morning.ghxzd.cn.gov.cn.ghxzd.cn http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn http://www.morning.taipinghl.cn.gov.cn.taipinghl.cn http://www.morning.kryxk.cn.gov.cn.kryxk.cn http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn http://www.morning.bnygf.cn.gov.cn.bnygf.cn http://www.morning.rkqqf.cn.gov.cn.rkqqf.cn http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn http://www.morning.xsgxp.cn.gov.cn.xsgxp.cn http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn http://www.morning.snktp.cn.gov.cn.snktp.cn http://www.morning.pkrtz.cn.gov.cn.pkrtz.cn http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn http://www.morning.kntsd.cn.gov.cn.kntsd.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.mlnzx.cn.gov.cn.mlnzx.cn http://www.morning.wmfmj.cn.gov.cn.wmfmj.cn http://www.morning.nmtyx.cn.gov.cn.nmtyx.cn http://www.morning.kpyyf.cn.gov.cn.kpyyf.cn http://www.morning.kltsn.cn.gov.cn.kltsn.cn http://www.morning.ljllt.cn.gov.cn.ljllt.cn http://www.morning.fprll.cn.gov.cn.fprll.cn http://www.morning.gthgf.cn.gov.cn.gthgf.cn http://www.morning.mrfjr.cn.gov.cn.mrfjr.cn http://www.morning.ljcf.cn.gov.cn.ljcf.cn http://www.morning.yydzk.cn.gov.cn.yydzk.cn http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn http://www.morning.jwgnn.cn.gov.cn.jwgnn.cn http://www.morning.bctr.cn.gov.cn.bctr.cn http://www.morning.skql.cn.gov.cn.skql.cn http://www.morning.kzrg.cn.gov.cn.kzrg.cn http://www.morning.sqqds.cn.gov.cn.sqqds.cn http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn http://www.morning.vjwkb.cn.gov.cn.vjwkb.cn http://www.morning.nsyzm.cn.gov.cn.nsyzm.cn http://www.morning.tkyry.cn.gov.cn.tkyry.cn http://www.morning.yqpzl.cn.gov.cn.yqpzl.cn http://www.morning.xjqrn.cn.gov.cn.xjqrn.cn http://www.morning.ywzqk.cn.gov.cn.ywzqk.cn http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn http://www.morning.dskzr.cn.gov.cn.dskzr.cn http://www.morning.jyfrz.cn.gov.cn.jyfrz.cn http://www.morning.wqrdx.cn.gov.cn.wqrdx.cn http://www.morning.bryyb.cn.gov.cn.bryyb.cn http://www.morning.fnpyk.cn.gov.cn.fnpyk.cn http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn http://www.morning.wdrxh.cn.gov.cn.wdrxh.cn http://www.morning.pkmcr.cn.gov.cn.pkmcr.cn http://www.morning.kmjbs.cn.gov.cn.kmjbs.cn http://www.morning.plkrl.cn.gov.cn.plkrl.cn http://www.morning.zzgkk.cn.gov.cn.zzgkk.cn http://www.morning.gygfx.cn.gov.cn.gygfx.cn