Skip to content
This repository has been archived by the owner on Dec 29, 2024. It is now read-only.
顾玮华 edited this page Apr 25, 2019 · 9 revisions

安装注意事项

  • 安装完毕后,不要急于打开,比较稳妥的是将其加入到白名单,或者从自动黑名单去除,在权限管理软件中,允许自启。(本软件不会占用太多内存资源,请放心)

  • 第一次打开会跳转到通知权限页面,请赋予本软件通知监听权限。

使用方法

级别 使用方法
最简使用 只设置推送的url地址就行(请带上https://,或者http://,如http://mydomin.com/receipt)
使用加密 需要在设置中勾选加密,然后选择加密方法(现在只支持des),设置秘钥
使用echo(目前还不完善,会出现socket.id过早断开) 使用echo 是为了让服务器确认该device手机是否现在在线

加密详细说明

  • 现在只支持des加密。
  • des的秘钥必须是8位
  • 设置完加密方法和秘钥后,可以点解设置的解密说明来看解密的参数(默认的是解密初始化向量与秘钥一致)

echo服务器说明

  • 使用需勾选设置并设置echo 服务器地址
  • echo服务器的地址和推送的地址有关联吗? 可以有也可以没有,这个客户端会利用socket.io来向server发送一个事件名为echo的事件,同时附带设备的deviceid和现在的时间。这要这个server 是socket.io server
  • 该怎样写echo服务器,来知道设备现在在不在线?可以参考getreceipt-server项目的nodejs分支下的app.js。例如:
var express = require('express');
var app = express();
var server = require('http').Server(app);
const io=require('socket.io')(server);

global.deviceisonline=false;
io.on('connection',(socket)=>{
    socket.on('echo',(devicestr)=>{
        device=JSON.parse(devicestr);
        global.deviceid=device['deviceid'];
        global.deviceisonline=true;
        global.deviceconnectedtime=device['connectedtime'];
        console.log("new device_echo from "+device['deviceid']+" with time "+device['connectedtime']+" and socketid is: "+socket.id);
    });
    socket.on('disconnect',()=>{
        global.deviceisonline=false;
        global.devicedisconnectedtime=new Date();
        console.log("device disconnect");
    });
});
  • 我不用node作为服务器语言怎么办?例如我用php。你可以使用phpsocket.io项目
Clone this wiki locally