index.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <butto onclick="openMsg()">打开聊天</butto>
  2. <butto onclick="send()">发消息</butto>
  3. <butto onclick="closeMsg()">关闭</butto>
  4. <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  5. <script>
  6. var clientId='';
  7. var ws;
  8. function openMsg() {
  9. ws = new WebSocket("ws://<?= Yii::$app->params['host'] ?>:8282");
  10. //服务端主动推送消息时会触发这里
  11. ws.onmessage = function (e) {
  12. var data = eval("(" + e.data + ")");
  13. var type = data.type || '';
  14. switch (type) {
  15. case 'init':
  16. clientId = data.client_id;
  17. //当前发起的聊天会员与当前登陆用户绑定关系
  18. $.post('<?= Yii::$app->params['bHost'] ?>/chat/bind-merchant', {clientId: clientId}, function (data) {
  19. }, 'json');
  20. default :
  21. }
  22. };
  23. }
  24. function closeMsg()
  25. {
  26. console.log(clientId);
  27. $.post('<?= Yii::$app->params['bHost'] ?>/chat/close', {clientId: clientId}, function (data) {
  28. }, 'json');
  29. }
  30. function send() {
  31. var arr = ['text', 'img', 'link', 'goods'];
  32. var index = Math.floor((Math.random() * arr.length));
  33. var type = arr[index];
  34. //var type = 'text';
  35. var data = {type: type, userId:<?= $userId ?>}
  36. switch (type) {
  37. case 'text':
  38. //发文字
  39. data.content = '您好,有什么可以为你服务?';
  40. break;
  41. case 'img':
  42. //发图片
  43. data.shortUrl = '/uploads/201905/25/jpg/19052591518_12358.jpg';
  44. break;
  45. case 'link':
  46. data.linkId = 1;
  47. //发链接
  48. break;
  49. case 'goods':
  50. data.goodsId = 160;
  51. //发商品
  52. break;
  53. default:
  54. }
  55. $.post('<?= Yii::$app->params['bHost'] ?>/chat/send', data, function (data) {
  56. }, 'json');
  57. }
  58. </script>