|
|
|
//app.js
|
|
|
|
// import log from 'utils/realTimeLog'
|
|
|
|
|
|
|
|
//ascii 返回长度
|
|
|
|
function ascLength(codeat){
|
|
|
|
let len=1
|
|
|
|
if(codeat>0x4000000){
|
|
|
|
len=6
|
|
|
|
}else if(codeat>0x200000){
|
|
|
|
len=5
|
|
|
|
}else if(codeat>65536){
|
|
|
|
len=4
|
|
|
|
}else if(codeat>2048){
|
|
|
|
len=3
|
|
|
|
}else{
|
|
|
|
len=2
|
|
|
|
function str2ab(str) {
|
|
|
|
let strLen = str.length*2
|
|
|
|
var buf =new ArrayBuffer(strLen>5000?5000:strLen);
|
|
|
|
var bufView =new Uint16Array(buf);
|
|
|
|
for (var i = 0; i < buf.byteLength;i++) {
|
|
|
|
let asc=str.charCodeAt(i)
|
|
|
|
bufView[i] = asc;
|
|
|
|
}
|
|
|
|
return len
|
|
|
|
return buf;
|
|
|
|
}
|
|
|
|
//简单计算字节长度
|
|
|
|
String.getBlength = function (str) {
|
|
|
|
for (var i = str.length, n = 0; i--; ) {
|
|
|
|
n += ascLength(str.charCodeAt(i));
|
|
|
|
}
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
//按指定字节截取字符串
|
|
|
|
String.cutByte = function(str,len,endstr){
|
|
|
|
var len = +len
|
|
|
|
,endstr = typeof(endstr) == 'undefined' ? "..." : endstr.toString();
|
|
|
|
function n2(a){ var n = a / 2 | 0; return (n > 0 ? n : 1)} //用于二分法查找
|
|
|
|
if(!(str+"").length || !len || len<=0){return "";}
|
|
|
|
if(this.getBlength(str) <= len){return str;} //整个函数中最耗时的一个判断,欢迎优化
|
|
|
|
var lenS = len - this.getBlength(endstr)
|
|
|
|
,_lenS = 0
|
|
|
|
, _strl = 0
|
|
|
|
while (_strl <= lenS){
|
|
|
|
var _lenS1 = n2(lenS -_strl)
|
|
|
|
_strl += this.getBlength(str.substr(_lenS,_lenS1))
|
|
|
|
_lenS += _lenS1
|
|
|
|
}
|
|
|
|
return str.substr(0,_lenS-1) + endstr
|
|
|
|
function ab2str(buf) {
|
|
|
|
return String.fromCharCode.apply(null,new Uint16Array(buf));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (wx.getRealtimeLogManager) {
|
|
|
|
const logger = wx.getRealtimeLogManager()
|
|
|
|
let consoleLog=console.log
|
|
...
|
...
|
@@ -53,7 +27,8 @@ if (wx.getRealtimeLogManager) { |
|
|
|
if(!str) return;
|
|
|
|
params+=str
|
|
|
|
})
|
|
|
|
logger.info(String.cutByte(params,5000));
|
|
|
|
let bs=str2ab(params)
|
|
|
|
logger.info(ab2str(bs).toString());
|
|
|
|
success()
|
|
|
|
})
|
|
|
|
}
|
...
|
...
|
|