/* * Copyright (c) 2020 WildFireChat. All rights reserved. */ import wfc from "./wfc"; import EventType from "./wfcEvent"; import Conversation from "../model/conversation"; import TextMessageContent from "../messages/textMessageContent"; export default class WfcCli { // wfc = new WfcManager(); init() { // //remote 138777777777 var username = 'GNMtGtZZ'; var clientId = '78E616BC-1F7C-405F-AB16-41539EA89150'; var token = 'dGx2nKj1jrLdHUt8B7Uwm19v/C0BJbR1tXySfG0Nf7mjpQVZX5Dk2d07UObJxNAzmTs6vVTsVsWMI3TIiCUd6SUKXNjdZHTT6N5NpIrSSKhVc9c60bJxAbmLCIRPVppKIkW0/0Lpx83B8Z0zlGMUrdadO3TUKaoh484yLKwoGac='; var host = 'wildfirechat.net'; var shortPort = 80; // connect(appId, appKey, host, port, userId, clientId, token) { wfc.connect('appId', 'appKey', host, shortPort, username, clientId, token) wfc.eventEmitter.on(EventType.ConnectionStatusChanged, (status) => { vorpal.log('on connect status change', status); }); wfc.eventEmitter.on(EventType.ReceiveMessage, (msg) => { vorpal.log('on receive msg', msg); }); } getConversationList() { return wfc.getConversationList([0, 1, 2, 3], [0, 1]); } } // test start // var wfcTest = new WfcTest(); // wfcTest.init(); var vorpal = require('vorpal')(); var wfcCli = new WfcCli(); vorpal .command('init', 'init') .action(function (args, callback) { wfcCli.init(); callback(); }); // 会话列表 vorpal .command('getConversationList', 'get conversation list') .action(function (args, callback) { this.log(wfcCli.getConversationList()); callback(); }); // 删除会话 vorpal .command('deleteConversation ', 'delete conversation') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); wfcCli.wfc.removeConversation(conv); callback(); }); // 会话置顶 vorpal .command('setConversationTop ', 'set conversation top') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); wfcCli.wfc.setConversationTop(conv, args.isTop, () => { this.log('set conversation top success'); }, (errorCode) => { this.log('set conversation top error', errorCode); }); callback(); }); // 会话免打扰 vorpal .command('setConversationSilent ', 'set conversation silent') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); wfcCli.wfc.setConversationTop(conv, args.isSilent, () => { this.log('set conversation silent success'); }, (errorCode) => { this.log('set conversation silent error', errorCode); }); callback(); }); // 搜索会话 vorpal .command('searchConversation [type] [line]', 'search conversation') .action(function (args, callback) { this.log('search args', args); let result = wfcCli.wfc.searchConversation(args.keyword, [args.type], [args.line]); this.log('search reuslt', result); callback(); }); // 所有会话未读数 vorpal .command('getUnreadCount', 'get unread count') .action(function (args, callback) { let result = wfcCli.wfc.getUnreadCount(); this.log('get unread count reuslt', result); callback(); }); // 会话 // 会话详情 vorpal .command('getConversationInfo ', 'get conversation info') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); let result = wfcCli.wfc.getConversationInfo(conv); this.log('get unread count reuslt', result); callback(); }); // 发送消息 vorpal .command('sendMessage ', 'get conversation info') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); let txtMsgContent = new TextMessageContent('txt message content'); let result = wfcCli.wfc.sendConversationMessage(conv, txtMsgContent); this.log('get unread count reuslt', result); callback(); }); // 会话未读数 vorpal .command('geConversationUnreadCount ', 'get conversation unread count') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); let result = wfcCli.wfc.getConversationUnreadCount(conv); this.log('get conversation unread count reuslt', result); callback(); }); // 清空会话消息未读状态 vorpal .command('clearConversationUnreadStatus ', 'clear conversation unread status') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); let result = wfcCli.wfc.clearConversationUnreadStatus(conv); this.log('get conversation unread count reuslt', result); callback(); }); // 会话消息列表 vorpal .command('getConversationMessages ', 'get conversation messages') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); let result = wfcCli.wfc.getMessages(conv); this.log('get conversation unread count reuslt', result); callback(); }); // 清空会话 vorpal .command('clearConversation ', 'clear conversation') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); let result = wfcCli.wfc.clearMessages(conv); this.log('clearConversation reuslt', result); callback(); }); // 删除消息 vorpal .command('deleteMessage ', 'delete message by messageId') .action(function (args, callback) { let result = wfcCli.wfc.deleteMessage(args.messageId); this.log('delete message reuslt', result); callback(); }); // 搜索消息 vorpal .command('searchMessage ', 'search message') .action(function (args, callback) { let result = wfcCli.wfc.searchMessage(rgs.keyword); this.log('search message reuslt', result); callback(); }); // 搜索会话消息 vorpal .command('searchConversationMessage ', 'search conversation message') .action(function (args, callback) { let conv = new Conversation(args.type, args.target, args.line); let result = wfcCli.wfc.searchMessage(conv, args.keyword); this.log('search conversation message reuslt', result); callback(); }); vorpal .delimiter('wfc$') .show();