216 lines
5.7 KiB
Vue
216 lines
5.7 KiB
Vue
<script>
|
||
// #ifdef APP-PLUS
|
||
import APPUpdate, { getCurrentNo } from "@/config/appUpdate";
|
||
// #endif
|
||
import { mapState, mapActions } from "vuex";
|
||
import GtPush from "@/utils/gtpush-min.js";
|
||
export default {
|
||
data() {
|
||
return {
|
||
version: "",
|
||
};
|
||
},
|
||
onLaunch: function () {
|
||
uni.setStorageSync("isImSound", true);
|
||
// #ifdef APP-PLUS
|
||
getCurrentNo((res) => {
|
||
this.version = res.version;
|
||
});
|
||
|
||
const hasAgreed = uni.getStorageSync("isNeedAgreementDialog");
|
||
if (hasAgreed) {
|
||
this.onAPPUpdate();
|
||
}
|
||
|
||
// plus.push.addEventListener("click", function (msg) {
|
||
// if (permision.isIOS) {
|
||
// console.log("ios:click收到" + JSON.parse(JSON.stringify(msg)).payload);
|
||
// var obj = JSON.parse(JSON.stringify(msg)).payload;
|
||
// that.toPushMessagePage(obj.data ? obj.data : obj);
|
||
// } else {
|
||
// console.log("安卓:click收到" + JSON.parse(JSON.stringify(msg)));
|
||
// var obj = JSON.parse(JSON.stringify(msg)).payload;
|
||
// that.toPushMessagePage(obj.data ? obj.data : obj);
|
||
// }
|
||
// });
|
||
// plus.push.addEventListener("receive", (message) => {
|
||
// console.log("receive收到");
|
||
// //收到透传消息,执行该事件
|
||
// let payload = message.payload; //自定义内容获取
|
||
// let text = message.payload.text;
|
||
|
||
// if (permision.isIOS) {
|
||
// console.log("ios:receive收到");
|
||
// let payload = message.payload; //自定义内容获取
|
||
// let text = message.content;
|
||
// that.createLocalMessage(text, payload);
|
||
// } else {
|
||
// console.log("安卓收到");
|
||
// that.toPushMessagePage(payload);
|
||
// }
|
||
// });
|
||
|
||
this.initAppOrderPush();
|
||
// #endif
|
||
|
||
// #ifdef H5
|
||
this.initH5OrderPush();
|
||
// #endif
|
||
},
|
||
computed: {
|
||
...mapState("user", ["uid", "userInfo", "socket"]),
|
||
},
|
||
onShow: function () {
|
||
setTimeout(() => {
|
||
if (this.userInfo && Object.keys(this.userInfo).length > 0) {
|
||
this.connectSocket(this.userInfo);
|
||
}
|
||
});
|
||
},
|
||
onHide: function () {},
|
||
onBackPress: function () {},
|
||
methods: {
|
||
...mapActions("user", ["connectSocket"]),
|
||
onAPPUpdate() {
|
||
APPUpdate(this.version);
|
||
},
|
||
getCidAsync() {
|
||
return new Promise(function (resolve, reject) {
|
||
// 获取客户端推送信息
|
||
plus.push.getClientInfoAsync(
|
||
function (clientInfo) {
|
||
// 获取CID
|
||
var cid = clientInfo.clientid;
|
||
// 调用resolve方法返回CID
|
||
resolve(cid);
|
||
},
|
||
function (error) {
|
||
// 获取CID失败,调用reject方法返回错误信息
|
||
reject(error);
|
||
}
|
||
);
|
||
});
|
||
},
|
||
|
||
initH5OrderPush() {
|
||
let _this = this;
|
||
GtPush.setDebugMode(true);
|
||
GtPush.init({
|
||
appid: "KXgzOaKSzd5HG3p9IPaVa8",
|
||
onClientId: (res) => {
|
||
console.log("onClientId = " + res.cid);
|
||
_this.cid = res.cid;
|
||
},
|
||
onlineState: (res) => {
|
||
console.log("onlineState = " + res.online);
|
||
_this.online = res.online;
|
||
},
|
||
onPushMsg: (res) => {
|
||
console.log("onPushMsg = " + res.message);
|
||
debugger;
|
||
_this.messages += "onPushMsg: " + res.message + "\n";
|
||
},
|
||
onError: (res) => {
|
||
_this.messages += "onError: " + res.error + "\n";
|
||
},
|
||
});
|
||
},
|
||
async initAppOrderPush() {
|
||
var pinf = plus.push.getClientInfo();
|
||
var cid = pinf.clientid; //客户端标识
|
||
|
||
console.log("当前机子CID:", cid);
|
||
|
||
plus.push.getClientInfoAsync((info) => {
|
||
let cid = info["clientid"];
|
||
console.log("当前机子CID:", cid);
|
||
});
|
||
|
||
let res = await this.getCidAsync();
|
||
console.log("getCidAsync", res);
|
||
|
||
uni.setClipboardData({
|
||
data: cid, // 需要复制的内容
|
||
success: () => {
|
||
// 成功提示框显示 1 秒钟
|
||
uni.showToast({
|
||
title: "复制成功",
|
||
icon: "success",
|
||
duration: 1000,
|
||
});
|
||
},
|
||
fail: () => {
|
||
// 失败提示框显示 1 秒钟
|
||
uni.showToast({
|
||
title: "复制失败,请重试",
|
||
icon: "none",
|
||
duration: 1000,
|
||
});
|
||
},
|
||
});
|
||
|
||
uni.showToast({
|
||
title: cid,
|
||
icon: "success",
|
||
duration: 20000,
|
||
});
|
||
|
||
const _self = this;
|
||
//监听系统通知栏消息点击事件
|
||
plus.push.addEventListener(
|
||
"click",
|
||
function (message) {
|
||
//处理点击消息的业务逻辑代码
|
||
console.log(message);
|
||
plus.nativeUI.toast("click:" + JSON.stringify(message));
|
||
//plus.nativeUI.toast('push click');
|
||
_self._handlePush(message);
|
||
uni.showToast({
|
||
title: message,
|
||
icon: "none",
|
||
duration: 1000,
|
||
});
|
||
},
|
||
false
|
||
);
|
||
|
||
//监听接收透传消息事件
|
||
plus.push.addEventListener(
|
||
"receive",
|
||
function (message) {
|
||
console.log(message);
|
||
plus.nativeUI.toast("receive:" + JSON.stringify(message));
|
||
//处理透传消息的业务逻辑代码
|
||
//plus.nativeUI.toast('push receive');
|
||
_self._handlePush(message);
|
||
uni.showToast({
|
||
title: message,
|
||
icon: "none",
|
||
duration: 1000,
|
||
});
|
||
},
|
||
false
|
||
);
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
// @import "./uni_modules/uview-ui/index.scss";
|
||
// @import "./uni_modules/uview-ui/theme.scss";
|
||
/*每个页面公共css */
|
||
@import "@/static/reset.css";
|
||
@import "@/styles/myui.scss";
|
||
|
||
@import "@/static/font/iconfont.css";
|
||
|
||
/deep/.uni-tabbar-bottom {
|
||
display: none;
|
||
}
|
||
|
||
/deep/.uni-navbar {
|
||
min-height: 110rpx;
|
||
}
|
||
</style>
|