[]引擎中的修改意见
做项目中出现的问题,不得不修改引擎底层。现把几点修改提出来,希望官方能在新版本中修改:
1、Templet中:getGrahicsDataWithCache方法希望做个容错。
2、Text:语言包的使用形同虚设:
3、HTTPRequest中错误输出:前面的status和statusText都是空的 根本打印不出任何东西。
4、URL中formatURL方法中使用customFormat传入参数有问题, 多了个base
1、Templet中:getGrahicsDataWithCache方法希望做个容错。
/**
* @private
* 得到缓冲数据
* @param aniIndex 动画索引
* @param frameIndex 帧索引
* @return
*/
public function getGrahicsDataWithCache(aniIndex:int, frameIndex:Number):Graphics {
if(_graphicsCache[aniIndex] && _graphicsCache[aniIndex][frameIndex]){
return _graphicsCache[aniIndex][frameIndex];
}
return null;
}
2、Text:语言包的使用形同虚设:
public function set text(value:String):void {
if (this._text !== value) {
var a:Array = (value + "").split("|");
var p:Array;
if(a.length > 1){
p = a.slice(1);
lang(a[0],p);
}else if(a.length == 1){
lang(a[0]);
}else {
lang("");
}
isChanged = true;
event(Event.CHANGE);
}
}
public function lang(text:String, args:Array = null):void {
text = langPacks && langPacks[text] ? langPacks[text] : text;
if (!args || args.length <= 0) {
this._text = text;
} else {
for (var i:int = 0, n:int = args.length; i < n; i++) {
text = text.replace("{" + i + "}", args[i]);
}
this._text = text;
}
}
3、HTTPRequest中错误输出:前面的status和statusText都是空的 根本打印不出任何东西。
/**
* @private
* 请求出错侦的听处理函数。
* @param e 事件对象。
*/
protected function _onError(e:*):void {
error("Request failed Status:" + this._http.status + " text:" + this._http.statusText + e.toString());
}
4、URL中formatURL方法中使用customFormat传入参数有问题, 多了个base
public static function formatURL(url:String, base:String = null):String {5、MiniFileMgr中downFile只对200返回码做处理,实际会出现304 500 或者其他的错误码,并不会进入fail流程
if (!url) return "null path";
//如果是全路径,直接返回,提高性能
if (url.indexOf(":") > 0) return url;
//自定义路径格式化
if (customFormat != null) url = customFormat(url);
var char1:String = url.charAt(0);
if (char1 === ".") {
return formatRelativePath((base || basePath) + url);
} else if (char1 === '~') {
return rootPath + url.substring(1);
} else if (char1 === "d") {
if (url.indexOf("data:image") === 0) return url;
} else if (char1 === "/") {
return url;
}
return (base || basePath) + url;
}
public static function downOtherFiles(fileUrl:String, callBack:Handler = null, readyUrl:String = "", isSaveFile:Boolean = false, isAutoClear:Boolean = true):void {
wxdown({
url: fileUrl, success: function (data:Object):void {
if (data.statusCode === 200) {
if ((MiniAdpter.autoCacheFile || isSaveFile) && readyUrl.indexOf("wx.qlogo.cn") == -1 && readyUrl.indexOf(".php") == -1)
copyFile(data.tempFilePath, readyUrl, callBack, "", isAutoClear);
else
callBack != null && callBack.runWith([0, data.tempFilePath]);
}else {
callBack != null && callBack.runWith([1, data]);
}
}, fail: function (data:Object):void {
callBack != null && callBack.runWith([1, data]);
}
});
}
public static function downFiles(fileUrl:String, encoding:String = "ascii", callBack:Handler = null, readyUrl:String = "", isSaveFile:Boolean = false, fileType:String = "", isAutoClear:Boolean = true):void {
var downloadTask:* = wxdown({
url: fileUrl, success: function (data:Object):void {
if (data.statusCode === 200) {
readFile(data.tempFilePath, encoding, callBack, readyUrl, isSaveFile, fileType, isAutoClear);
} else {
callBack != null && callBack.runWith([1, data]);
}
}, fail: function (data:Object):void {
callBack != null && callBack.runWith([1, data]);
}
});
//获取加载进度
downloadTask.onProgressUpdate(function (data:Object):void {
callBack != null && callBack.runWith([2, data.progress]);
});
}
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
Laya_XS
赞同来自: