webman/push 生成webman2.0版本后uniapp前小程序端一直连不上

TM

问题描述

这里写问题描述 建立连接放在APP.vue全局或index页面都不行后台终端还是没打印当前在线的频道
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' // 订阅鉴权(仅限于私有频道)
  });

//前端建立连接后返回的对象
截图

//这里是监听频道后返回的信息
  var user_channel = connection.subscribe('activity_statistics_1');

截图
//这是后台配置
截图

前端监听成功后后台终端没有打印该内容 然后发起推送前端也没办法接收

    echo 'online channels: ' . implode(',', $channels_online) . "\n";
    // 下线的所有channel
    echo 'offline channels: ' . implode(',', $channels_offline) . "\n";
146 3 0
3个回答

TM

我应该怎么检查呢?

  • 暂无评论
TM

截图 channel_hook的端口和原本的webman端口都是6363了

  • 暂无评论
leo0315

我建了一个项目测试了下,
截图

参考这个

我放 App.vue 里面了
截图

js 文件
截图

1、将文件 push-miniprogram.js 复制到项目目录下,如:src/utils/push-miniprogram.js

2、在 app.js内引入

import Push from '../utils/push-miniprogram'

App({

  onLanuch(() => {

    //实例化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' // 订阅鉴权(仅限于私有频道)
    });

    // 假设用户uid为1
    var uid = 1;
    // 浏览器监听user-1频道的消息,也就是用户uid为1的用户消息
    var user_channel = connection.subscribe('user-' + uid);

    // 当user-1频道有message事件的消息时
    user_channel.on('message', function (data) {
      // data里是消息内容
      console.log(data);
    });
    // 当user-1频道有friendApply事件时消息时
    user_channel.on('friendApply', function (data) {
      // data里是好友申请相关信息
      console.log(data);
    });

    // 假设群组id为2
    var group_id = 2;
    // 浏览器监听group-2频道的消息,也就是监听群组2的群消息
    var group_channel = connection.subscribe('group-' + group_id);
    // 当群组2有message消息事件时
    group_channel.on('message', function (data) {
      // data里是消息内容
      console.log(data);
    });
  })
})
  • TM 7天前

    对啊我也是复制放进去app里面的,我检查一下好怪

🔝