NodeJS集成

Nodejs SDK简述

Nodejs SDK下载链接

本地数据库

发送文件/图片等

  nim.previewFile({
    type: 'image',
    filePath: options.filePath,
    uploadprogress(obj) {
      // ...
    },
    done: (error, file) => {
      const { scene, to } = options;
      if (!error) {
        constObj.nim.sendFile({
          type: 'image',
          scene,
          to,
          file,
          done: (err, msg) => {
            if (err) {
              return;
            }
            this.appendMsg(msg);
          },
        });
      }
    },
  });

服务器日志记录

  const log4js = require('log4js');
  log4js.configure({
    replaceConsole: true,
    appenders: { nimlog: { type: 'file', filename: 'nim-debug.log' } },
    categories: { default: { appenders: ['nimlog'], level: 'ALL' } }
  });
  const logger = log4js.getLogger('nimlog');
  global.nim = NIM.getInstance({
    debug: true,
    logFunc: logger,
    // ...
  })
  global.wb = WhiteBoard.getInstance({
    debug: true,
    nim: global.nim,
    isCustom: true,
    logger
  })

全局属性注入

由于浏览器环境的全局变量为window,而nodejs的全局变量为global,其属性不尽相同,为了做到兼容及适配,SDK会mock一些属性,诸如navigator, location, WebSocket等对象到global中,一般不影响用户正常使用