bool TalkWindowShell :: createJSFile ( QStringList& employeesList)
{
QString strFileTxt = "Resources/MainWindow/MsgHtml/msgtmpl.txt" ;
QFile fileRead ( strFileTxt) ;
QString strFile;
if ( fileRead. open ( QIODevice:: ReadOnly) )
{
strFile = fileRead. readAll ( ) ;
fileRead. close ( ) ;
}
else
{
QMessageBox :: information ( this ,
QString :: fromLocal8Bit ( "提示" ) ,
QString :: fromLocal8Bit ( "读取 msgtmpl.txt 失败!" ) ) ;
return false ;
}
QFile fileWrite ( "Resources/MainWindow/MsgHtml/msgtmpl.js" ) ;
if ( fileWrite. open ( QIODevice:: WriteOnly | QIODevice:: Truncate) )
{
QString strSourceInitNull = "var external = null;" ;
QString strSourceInit = "external = channel.objects.external;" ;
QString strSourceNew =
"new QWebChannel(qt.webChannelTransport,\
function(channel) {\
external = channel.objects.external;\
}\
);\
" ;
QString strSourceRecvHtml;
QFile fileRecvHtml ( "Resources/MainWindow/MsgHtml/recvHtml.txt" ) ;
if ( fileRecvHtml. open ( QIODevice:: ReadOnly) )
{
strSourceRecvHtml = fileRecvHtml. readAll ( ) ;
fileRecvHtml. close ( ) ;
}
else
{
QMessageBox :: information ( this ,
QString :: fromLocal8Bit ( "提示" ) ,
QString :: fromLocal8Bit ( "读取 recvHtml.txt 失败!" ) ) ;
return false ;
}
QString strReplaceInitNull;
QString strReplaceInit;
QString strReplaceNew;
QString strReplaceRecvHtml;
for ( int i = 0 ; i < employeesList. length ( ) ; i++ )
{
QString strInitNull = strSourceInitNull;
strInitNull. replace ( "external" , QString ( "external_%1" ) . arg ( employeesList. at ( i) ) ) ;
strReplaceInitNull += strInitNull;
strReplaceInitNull += "\n" ;
QString strInit = strSourceInit;
strInit. replace ( "external" , QString ( "external_%1" ) . arg ( employeesList. at ( i) ) ) ;
strReplaceInit += strInit;
strReplaceInit += "\n" ;
QString strNew = strSourceNew;
strNew. replace ( "external" , QString ( "external_%1" ) . arg ( employeesList. at ( i) ) ) ;
strReplaceNew += strNew;
strReplaceNew += "\n" ;
QString strRecvHtml = strSourceRecvHtml;
strReplaceNew. replace ( "external" , QString ( "external_%1" ) . arg ( employeesList. at ( i) ) ) ;
strRecvHtml. replace ( "recvHtml" , QString ( "recvHtml_%1" ) . arg ( employeesList. at ( i) ) ) ;
strReplaceRecvHtml += strRecvHtml;
strReplaceRecvHtml += "\n" ;
}
strFile. replace ( strSourceInitNull, strReplaceInitNull) ;
strFile. replace ( strSourceInit, strReplaceInit) ;
strFile. replace ( strSourceNew, strReplaceNew) ;
strFile. replace ( strSourceRecvHtml, strReplaceRecvHtml) ;
QTextStream stream ( & fileWrite) ;
stream << strFile;
fileWrite. close ( ) ;
return true ;
}
else
{
QMessageBox :: information ( this ,
QString :: fromLocal8Bit ( "提示" ) ,
QString :: fromLocal8Bit ( "写 msgtmpl.js 失败!" ) ) ;
return false ;
}
}
void TalkWindowShell :: getEmployeesID ( QStringList& employeesList)
{
QSqlQueryModel queryModel;
queryModel. setQuery ( "SELECT employeeID FROM tab_employees WHERE status = 1" ) ;
int employeesNum = queryModel. rowCount ( ) ;
QModelIndex index;
for ( int i = 0 ; i < employeesNum; ++ i)
{
index = queryModel. index ( i, 0 ) ;
employeesList << queryModel. data ( index) . toString ( ) ;
}
}
void TalkWindowShell :: initTcpSocket ( )
{
m_tcpClientSocket = new QTcpSocket ( this ) ;
m_tcpClientSocket-> connectToHost ( "127.0.0.1" , gtcpPort) ;
}
var external0 = null ;
var external_10001 = null ;
var external_10002 = null ;
var external_10003 = null ;
var external_10004 = null ;
var external_10005 = null ;
var external_10006 = null ;
var external_10007 = null ;
var external_10008 = null ;
var external_10009 = null ;
String . prototype. format = function ( ) {
if ( arguments. length == 0 ) return this ;
var obj = arguments[ 0 ] ;
var s = this ;
for ( var key in obj) {
s = s. replace ( new RegExp ( "\\{\\{" + key + "\\}\\}" , "g" ) , obj[ key] ) ;
}
return s;
}
new QWebChannel ( qt. webChannelTransport,
function ( channel ) {
external0 = channel. objects. external0;
external_10001 = channel. objects. external_10001;
external_10002 = channel. objects. external_10002;
external_10003 = channel. objects. external_10003;
external_10004 = channel. objects. external_10004;
external_10005 = channel. objects. external_10005;
external_10006 = channel. objects. external_10006;
external_10007 = channel. objects. external_10007;
external_10008 = channel. objects. external_10008;
external_10009 = channel. objects. external_10009;
}
) ;
function appendHtml0 ( msg ) {
$ ( "#placeholder" ) . append ( external0. msgRHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10001 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10002 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10003 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10004 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10005 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10006 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10007 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10008 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;
function recvHtml_10009 ( msg ) {
$ ( "#placeholder" ) . append ( external. msgLHtmlTmpl. format ( msg) ) ;
window. scrollTo ( 0 , document. body. scrollHeight) ; ;
} ;