這里寫問題描述 建立連接放在APP.vue全局或index頁面都不行后臺(tái)終端還是沒打印當(dāng)前在線的頻道
uniapp的js使用的是依賴下面的push-uni-app.js
// 建立連接
var connection = new Push({
url: 'ws://127.0.0.1:3131', // websocket地址
app_key: '<app_key,在config/plugin/webman/push/app.php里獲取>',
auth: '/plugin/webman/push/auth' // 訂閱鑒權(quán)(僅限于私有頻道)
});
//前端建立連接后返回的對(duì)象
//這里是監(jiān)聽頻道后返回的信息
var user_channel = connection.subscribe('activity_statistics_1');
//這是后臺(tái)配置
前端監(jiān)聽成功后后臺(tái)終端沒有打印該內(nèi)容 然后發(fā)起推送前端也沒辦法接收
echo 'online channels: ' . implode(',', $channels_online) . "\n";
// 下線的所有channel
echo 'offline channels: ' . implode(',', $channels_offline) . "\n";
我建了一個(gè)項(xiàng)目測(cè)試了下,
我放 App.vue 里面了
js 文件
1、將文件 push-miniprogram.js 復(fù)制到項(xiàng)目目錄下,如:src/utils/push-miniprogram.js
2、在 app.js內(nèi)引入
import Push from '../utils/push-miniprogram'
App({
onLanuch(() => {
//實(shí)例化webman-push
// 建立連接
var connection = new Push({
url: 'ws://127.0.0.1:3131', // websocket地址
app_key: '<app_key,在config/plugin/webman/push/app.php里獲取>',
auth: 'https://你的域名.com/plugin/webman/push/auth' // 訂閱鑒權(quán)(僅限于私有頻道)
});
// 假設(shè)用戶uid為1
var uid = 1;
// 瀏覽器監(jiān)聽user-1頻道的消息,也就是用戶uid為1的用戶消息
var user_channel = connection.subscribe('user-' + uid);
// 當(dāng)user-1頻道有message事件的消息時(shí)
user_channel.on('message', function (data) {
// data里是消息內(nèi)容
console.log(data);
});
// 當(dāng)user-1頻道有friendApply事件時(shí)消息時(shí)
user_channel.on('friendApply', function (data) {
// data里是好友申請(qǐng)相關(guān)信息
console.log(data);
});
// 假設(shè)群組id為2
var group_id = 2;
// 瀏覽器監(jiān)聽group-2頻道的消息,也就是監(jiān)聽群組2的群消息
var group_channel = connection.subscribe('group-' + group_id);
// 當(dāng)群組2有message消息事件時(shí)
group_channel.on('message', function (data) {
// data里是消息內(nèi)容
console.log(data);
});
})
})