위 챗 애플 릿 채 팅 방 간단 실현

위 챗 애플 릿 채 팅 방 간단 실현
utils 폴 더 아래 웹 socket.js 파일

var url = 'ws://    ';

function connect(user, func) {

 wx.connectSocket({
  url: url,
  header: {"content-type":'application/x-www-form-urlencoded'}
 });
 wx.onSocketOpen(function (res) {
  send('{"type":"login","client_name":"'+user.nickName+'","room_id":"1"}')
 });
//    
 wx.onSocketMessage(func);
}

//    
function send(msg) {
 wx.sendSocketMessage({ data: msg });
}
module.exports = {
 connect: connect,
 send: send
}

구체 적 인 페이지.js 파일 내용:

var websocket = require('../../utils/websocket.js');
 //      
 add: function (e) {
  websocket.send('{"type":"say","from_client_id":"'+user.nickName+'","to_client_id":"all","content":"'+this.data.message+'"}')
 },
 onLoad: function () {
  var that = this
  //               
  app.getUserInfo(function (userInfo) {
   user = userInfo;
   websocket.connect(user, function (res) {
    text = that.encodeStr(res.data) + "
"; console.log(res) that.setData({ text: text }); // websocket.send('{"type":"pong"}'); }) }) },
아래 방법 은 매우 재 미 있 습 니 다.사용 하 는 서버 는 개 원 된 PHP 서버 이기 때문에 위 챗 애플 릿 이 받 은 채 팅 방 의 중국어 내용 은 ASCII 인 코딩 이기 때문에 이 방법 을 통 해 변환 할 수 있 습 니 다.

 encodeStr: function (str) {
  var character = str.split("\\u");
  var native1 = character[0];
  for (var i = 1; i < character.length; i++) {
   var code = character[i];
   native1 += String.fromCharCode(parseInt("0x" + code.substring(0, 4)));
   if (code.length > 4) {
    native1 += code.substring(4, code.length);
   }
  }
  return native1
 },

읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기