{"version":3,"sources":["appstore.js","tv_category.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnqCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"tv.js","sourcesContent":["var url = config.APPSTORE.das_url+'/file/';\r\nwindow._newFiles = {apk:[],img:[]};\r\nwindow._oldFiles = {apk:[],img:[]};\r\nwindow.isControlMode=true;\r\n\r\n\r\nArray.prototype.remove=function(obj){\r\n for(var i =0;i ');\r\n // pic_preview.css(\"background-image\", \"url(\"+event.target.result+\")\")\r\n // .css(\"position\",\"absolute\").css(\"left\",\"200px\");\r\n // upload.parent().append(pic_preview);\r\n\r\n // }\r\n // }\r\n }\r\n form.append(\"fileItem\", fileObj);\r\n form.append('accessToken',window.app_token);\r\n var api = isAPK?url+'upload_apkfile':url+'upload_picfile';\r\n var xhr = new createCORSRequest(\"post\",api);\r\n\r\n xhr.addEventListener(\"load\",function(){\r\n var json = $.parseJSON(xhr.response);\r\n if(isAPK)\r\n {\r\n switch(json['resultCode'])\r\n {\r\n case 0:\r\n resultInfo.text('上传成功');\r\n break;\r\n case 1:\r\n if(json['errMsg']){\r\n resultInfo.text('上传失败, '+json['errMsg']);\r\n }else{\r\n resultInfo.text('上传失败');\r\n }\r\n break;\r\n case 2:\r\n resultInfo.text('非APK文件');\r\n break;\r\n case 3:\r\n resultInfo.text('包名已存在');\r\n break;\r\n case 4:\r\n resultInfo.text('包名或签名错误,跟上一版本不一致');\r\n break;\r\n case 5:\r\n resultInfo.text('升级版本号小于或等于前一版本');\r\n break;\r\n case 6:\r\n resultInfo.text('版本编码为空');\r\n break\r\n case 7:\r\n resultInfo.text('包名存在于应用黑名单中');\r\n break;\r\n case 8:\r\n resultInfo.text('版本号小于前一版本');\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n switch(json['resultCode'])\r\n {\r\n case 0:\r\n resultInfo.text('上传成功');\r\n break;\r\n case 1:\r\n if(json['errMsg']){\r\n resultInfo.text(json['errMsg']);\r\n }\r\n }\r\n }\r\n resultInfo.removeClass().addClass('resultInfo');\r\n if(json['resultCode']!=0)\r\n {\r\n resultInfo.addClass('bg-danger');\r\n upload.next('.bootstrap-filestyle').children(':text').val(oldFileName);\r\n upload.parents('.row').eq(0).addClass('has-error').find('.help-block').show();\r\n return;\r\n }\r\n else\r\n {\r\n resultInfo.addClass('bg-success');\r\n upload.parents('.row').eq(0).removeClass('has-error').find('.help-block').hide();\r\n upload.eq(0).removeAttr('required');\r\n }\r\n var inputs = upload.parent().children('input:hidden');\r\n if(isAPK)\r\n {\r\n $('#versionNo').val(json['versionNo']);\r\n $('#apk_upload').next().find('input').val(json['fileName']);\r\n for(var i=0;i 0){\r\n var html = \"\";\r\n for(var i=0;i'+\r\n ' '+ every.tag +\r\n '';\r\n }\r\n $(\".btn-group.appTag\").empty().append(html);\r\n }else{\r\n $(\".btn-group.appTag\").append(\"
当前分类未配置标签,请与管理员联系!
\");\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction deleteFile(isAPK,fileName,callback)\r\n{\r\n var api = url+'del_file';\r\n $.ajax({\r\n async:true,\r\n data: { 'fileType':isAPK?0:1,\r\n 'fileNames':fileName,\r\n 'accessToken':window.app_token},\r\n type:'post',\r\n url:api,\r\n success:function(){if(callback)callback()},\r\n error:function(XMLHttpRequest, textStatus, errorThrown)\r\n {\r\n console.log(XMLHttpRequest.status);\r\n console.log(XMLHttpRequest.readyState);\r\n console.log(textStatus);\r\n return false;\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction removeLanguage(btn){\r\n $(btn).parent().parent().parent(\".panel\").remove();\r\n}\r\n\r\n\r\nfunction addLanguageAjax(languageId,appName,postUrl,appDesc,callback,appType){\r\n $.ajax({\r\n type: \"GET\",\r\n url: config.AJAX_URL.addLanguageAjax_url,\r\n data: {languageId:languageId,\r\n appName:appName,\r\n postUrl:postUrl,\r\n appDesc:appDesc,\r\n appType:appType},\r\n success: function(msg){\r\n $('#addCont').append(msg);\r\n if(callback) callback();\r\n //var $selectEle = $('select[name=\"languageId[]\"]');\r\n //$selectEle.last().get(0).selectedIndex = ($selectEle.eq($selectEle.length - 2).get(0).selectedIndex + 1) % $selectEle.length;\r\n\r\n var $instance = $('.dragsortBox');\r\n $instance.dragsort(\"destroy\");\r\n $instance.dragsort({\r\n dragSelector: \".dragsortBox .addSnap\",\r\n dragBetween: true,\r\n dragEnd: function () {\r\n $(this).find('.dragsortBox .addSnap').removeClass('drag');\r\n $(this).parent().find(\"input[name^='snap'][name$='[]']\").each(function(i,e){\r\n $(e).attr('name','snap'+i+'[]');\r\n });\r\n },\r\n placeHolderTemplate: '
'\r\n });\r\n }\r\n });\r\n }\r\n\r\nfunction addSnap(btn){\r\n var $divParent = $(btn).parent().parent().parent();\r\n var $restSnaps = $divParent.nextAll(\".addSnap\");\r\n if($restSnaps.length == (snap_max_num-1) ){ //限制\r\n alert('截图最多可以上传'+snap_max_num+'张');\r\n return;\r\n }\r\n $url = config.AJAX_URL.addSnapAjax_url+'/'+($restSnaps.length+1);\r\n $.ajax({\r\n type: \"GET\",\r\n url: $url,\r\n data: \"\",\r\n async:false,\r\n success: function(msg){\r\n if($restSnaps.length==0){\r\n $divParent.after(msg);\r\n }else{\r\n $restSnaps.eq($restSnaps.length-1).after(msg);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction addSnap2(btn){\r\n var $divParent = $(btn).parent().prev();\r\n var $restSnaps = $divParent.find(\".addSnap\");\r\n if($restSnaps.length == snap_max_num){ //限制\r\n alert('截图最多可以上传'+snap_max_num+'张');\r\n return;\r\n }\r\n var msg=\"\";\r\n msg+='
'+\r\n '
'+\r\n '
'+\r\n '
选择文件
'+\r\n '
'+\r\n ''+\r\n '
'+\r\n ''+\r\n '
'\r\n if($restSnaps.length==0){\r\n $divParent.append(msg);\r\n }else{\r\n $restSnaps.eq($restSnaps.length-1).after(msg);\r\n }\r\n\r\n}\r\n\r\nfunction removeSnap(btn){\r\n //var $uploaded = $(btn).parent().prev().find('input:hidden');\r\n /*if($uploaded.attr('name') == 'snap1[]'){\r\n var $snap2Div = $(btn).parents('.addSnap').eq(0).next();\r\n if($snap2Div.length == 1){\r\n var $snap2 = $snap2Div.find('input:hidden')\r\n $snap2.attr('name','snap1[]');\r\n }\r\n }*/\r\n var snapParent= $(btn).parents('.panel-body');\r\n $(btn).parents('.form-group.addSnap').remove();\r\n /* $(\"input[name^='snap'][name$='[]']\").each(function(i,e){ //alert(i);\r\n $(e).attr('name','snap'+i+'[]');\r\n });*/\r\n snapParent.find(\"input[name^='snap'][name$='[]']\").each(function(i,e){\r\n $(e).attr('name','snap'+i+'[]');\r\n });\r\n}\r\n\r\nfunction removeSnap2(btn){\r\n var snapParent= $(btn).parents('.dragsortBox');\r\n if(snapParent.find('.addSnap').length<=1){\r\n alert(\"截图必须上传\");\r\n return false;\r\n }\r\n $(btn).parents('.form-group.addSnap').remove();\r\n snapParent.find(\"input[name^='snap'][name$='[]']\").each(function(i,e){\r\n $(e).attr('name','snap'+i+'[]');\r\n });\r\n}\r\n\r\nfunction sbm(id){\r\n\r\n var checkboxLength=$('.btn-group.control-mode :checked').length;\r\n\r\n var fileName=$(\"input[name='fileName']\");\r\n var cat=$(\"#cat\");\r\n var releaseNote = $(\"textarea[name='releaseNotes']\");\r\n //var defaultTitle = $(\"input[name='defaultTitle']\");\r\n // var appTag = $(\"input[name='appTag']\"); //标签改为选择,这里暂时去掉\r\n\r\n /*if(!defaultTitle.val()){\r\n scrollTopTo(\"input[name='defaultTitle']\",100);\r\n }else */\r\n if(!cat.val()){\r\n scrollTopTo(\"#cat\",100);\r\n // }else if(!appTag.val()){\r\n // scrollTopTo(\".tag-editor\",100);\r\n }else if(!fileName.val()){\r\n scrollTopTo(\"#apk_upload\",100);\r\n }else if(!releaseNote.val()){\r\n scrollTopTo(\"textarea[name='releaseNotes']\",100);\r\n }\r\n if(checkboxLength == 0){\r\n scrollTopTo(\"#cat\",100);\r\n window.isControlMode=false;\r\n /* $('#appForm').submit(function(){\r\n e.preventDefault();\r\n });*/\r\n }else{\r\n window.isControlMode=true;\r\n }\r\n $('#type').val(id);\r\n}\r\n/**\r\n *\r\n * @param selector\r\n * @param top\r\n * @param operator 1:+ 0:-\r\n */\r\nfunction scrollTopTo(selector,top,operator){\r\n var scrollTop ='';\r\n if(operator){\r\n scrollTop=$(selector).offset().top+top;\r\n }else{\r\n scrollTop=$(selector).offset().top-top;\r\n }\r\n $(\"html,body\").animate({scrollTop:scrollTop},1000);\r\n}\r\n$(document).ready()\r\n{\r\n\r\n if($(\"input[name='fileName']:hidden\").val())\r\n {\r\n window._oldFiles.apk.push($(\"input[name='fileName']:hidden\").val());\r\n //console.log('old apk name:'+$(\"input[name='fileName']:hidden\").val());\r\n }\r\n\r\n $(\"input[name^='post']:hidden\").each(function(){\r\n if($(this).val())\r\n {\r\n window._oldFiles.img.push($(this).val());\r\n }\r\n });\r\n\r\n $(\"input[name^='snap']:hidden\").each(function(){\r\n if($(this).val())\r\n {\r\n window._oldFiles.img.push($(this).val());\r\n }\r\n });\r\n\r\n /* window.onbeforeunload = function(){\r\n //console.log('开始删除上传过的文件');\r\n if(window._form_submit_success){\r\n var apk_fileName = $(\"input[name='fileName']:hidden\").val();\r\n for(var i=0;i<_newFiles.apk.length;i++){\r\n if(apk_fileName == _newFiles.apk[i]){\r\n _newFiles.apk.remove(i);\r\n break;\r\n }\r\n }\r\n if(window._oldFiles.apk.length == 1 && window._oldFiles.apk[0] != apk_fileName){\r\n //console.log('删除旧的apk:'+window._oldFiles.apk[0]);\r\n var apk_fileName = window._oldFiles.apk[0];\r\n apk_fileName = apk_fileName.substring(apk_fileName.lastIndexOf(\"/\")+1);\r\n deleteFile(true,apk_fileName);\r\n }\r\n\r\n $(\"input[name^='post']:hidden\").each(function(){\r\n for(var i=0;i<_newFiles.img.length;i++){\r\n if($(this).val() == _newFiles.img[i]){\r\n _newFiles.img.remove(i);\r\n break;\r\n }\r\n }\r\n for(var i=0;i<_oldFiles.img.length;i++){\r\n if($(this).val() == _oldFiles.img[i]){\r\n _oldFiles.img.remove(i);\r\n }\r\n }\r\n });\r\n\r\n $(\"input[name^='snap']:hidden\").each(function(){\r\n for(var i=0;i<_newFiles.img.length;i++){\r\n if($(this).val() == _newFiles.img[i]){\r\n _newFiles.img.remove(i);\r\n break;\r\n }\r\n }\r\n for(var i=0;i<_oldFiles.img.length;i++){\r\n if($(this).val() == _oldFiles.img[i]){\r\n _oldFiles.img.remove(i);\r\n }\r\n }\r\n });\r\n\r\n for(var i=0;i<_oldFiles.img.length;i++)\r\n {\r\n //console.log('----删除旧图片:'+_oldFiles.img[i]);\r\n deleteFile(false,_oldFiles.img[i]);\r\n }\r\n }\r\n for(var i=0;i<_newFiles.apk.length;i++)\r\n {\r\n //console.log('----删除新的apk:'+_newFiles.apk[i]);\r\n deleteFile(true,_newFiles.apk[i]);\r\n }\r\n for(var i=0;i<_newFiles.img.length;i++)\r\n {\r\n //console.log('----删除新的图片:'+_newFiles.img[i]);\r\n deleteFile(false,_newFiles.img[i]);\r\n }\r\n _newFiles = null;\r\n _oldFiles = null;\r\n //console.log('删除上传过的文件结束');\r\n }\r\n*/\r\n\r\n $(\".newfilestyle\").filestyle({size: \"sm\"});\r\n // $('.hastip').tooltipsy({\r\n // className: 'bubbletooltip_tip',\r\n // offset: [0, 10],\r\n // show: function (e, $el) {\r\n // $el.fadeIn(100);\r\n // },\r\n // hide: function (e, $el) {\r\n // $el.fadeOut(1000);\r\n // }\r\n // });\r\n\r\n $('.checkbox-group').on('change', function (e) {\r\n var $group = $(\".checkbox-group\");\r\n var $checkbox = $(e.target);\r\n $group.not($checkbox).prop('required', !$checkbox.prop('checked'));\r\n });\r\n\r\n\r\n $(\"#myModal\").on('hidden.bs.modal', function(){\r\n var $pb = $('.progress-bar.progress-bar-danger');\r\n $('#progressPercentage').html(0+'%');\r\n $pb.attr('data-transitiongoal', 0);\r\n $pb.removeAttr('aria-valuenow');\r\n $pb.removeAttr('style');\r\n $('#uploadResultInfo').removeClass().html('');\r\n });\r\n\r\n $('.add-icon').click(function(){\r\n var $defaultL = $('select[name=\"defaultLanguageId\"]');\r\n var languageName = $defaultL.find(\"option:selected\").text();\r\n var languageId = $defaultL.val();\r\n var appType = $(this).data(\"apptype\");\r\n //判断多语言重复\r\n var $language_ary = $('input[name=\"languageId[]\"]');\r\n var $language_val=[];\r\n for(var i=0;i<$language_ary.length;i++){\r\n if (languageId==$language_ary[i].value){\r\n alert(\"多语言重复,请重新选择!\");\r\n return false;\r\n }\r\n }\r\n\r\n addLanguageAjax(languageId,null,null,null,null,appType)\r\n });\r\n\r\n //应用名称与中文名称关联\r\n $(\"input[id='appNameCN']\").on(\"input\",function(){\r\n var name=$(this).val();\r\n $(\"[name='defaultTitle']\").val(name);\r\n });\r\n\r\n //get token\r\n var promise = $.ajax({\r\n type:\"GET\",\r\n url: config.AJAX_URL.getAppTokenAjax_url,\r\n data: \"\"\r\n });\r\n\r\n promise.done(function(msg){\r\n window.app_token = msg;\r\n if(window.required_picture_type){\r\n //取得应用图标的校验信息\r\n $.ajax({\r\n type:'GET',\r\n url: config.APPSTORE.dev_url+'/get-picture-type',\r\n data:{'type':19,'accessToken':window.app_token},\r\n success:function(msg){\r\n $('.iconInfo').html(_parse_picture_type(msg));\r\n }\r\n });\r\n\r\n //取得应用海报的校验信息\r\n $.ajax({\r\n type:'GET',\r\n url: config.APPSTORE.dev_url+'/get-picture-type',\r\n data:{type:20,accessToken:window.app_token},\r\n success:function(msg){\r\n $('.postInfo').html(_parse_picture_type(msg));\r\n }\r\n });\r\n\r\n //取得推荐海报的校验信息\r\n $.ajax({\r\n type:'GET',\r\n url: config.APPSTORE.dev_url+'/get-picture-type',\r\n data:{type:89,accessToken:window.app_token},\r\n success:function(msg){\r\n $('.recommend-poster-info').html(_parse_picture_type(msg));\r\n }\r\n });\r\n\r\n //取得推荐海报2的校验信息\r\n $.ajax({\r\n type:'GET',\r\n url: config.APPSTORE.dev_url+'/get-picture-type',\r\n data:{type:49,accessToken:window.app_token},\r\n success:function(msg){\r\n $('.wideScreenRecommend-info').html(_parse_picture_type(msg));\r\n }\r\n });\r\n }\r\n });\r\n\r\n\r\n function _parse_picture_type(msg){\r\n if(msg['resultCode'] == 0){\r\n var picSizeInfo = '图片大小必须小于'+msg['data']['pictureSize']+'KB,';\r\n var picFormatInfo = '格式必须为'+msg['data']['fileFormat']+'.';\r\n switch(msg['data']['checkMode']){\r\n case '0':\r\n var picLenInfo = '图片尺寸必须为高: '+msg['data']['pictureWidth']+',宽: '+msg['data']['pictureLength'];\r\n break;\r\n case '1':\r\n var picLenInfo = '图片尺寸不超过高: '+msg['data']['pictureWidth']+',宽: '+msg['data']['pictureLength'];\r\n break;\r\n case '2':\r\n var picLenInfo = '';\r\n break;\r\n case '3':\r\n var picLenInfo = '图片尺寸最小高度: '+msg['data']['minPictureHeight']+',最小宽度: '+msg['data']['minPictureWidth']\r\n +',最大高度:'+msg['data']['maxPictureHeight']+',最大宽度: '+msg['data']['maxPictureWidth'];\r\n break;\r\n }\r\n return picSizeInfo+'\\n'+picFormatInfo+'\\n'+picLenInfo;\r\n }\r\n }\r\n\r\n //标签选择1~5个\r\n $(document).on(\"click\", \".btn-group.appTag label\", function(){\r\n var $this = $(this);\r\n setTimeout(function(){\r\n var len = $(\"input[name^=appTag]:checked\").length;\r\n if(len>5 || len<1 ){\r\n if(len<1){\r\n $this.addClass(\"active\");\r\n $this.find(\"input\").prop(\"checked\",true);\r\n }else{\r\n $this.removeClass(\"active\");\r\n $this.find(\"input\").prop(\"checked\",false);\r\n }\r\n alert(\"请选择[1~5]个标签\");\r\n return false;\r\n }\r\n },100)\r\n })\r\n\r\n var appFormBtn_disabled = false;\r\n $('#appForm').validator().on('submit',function(e)\r\n {\r\n if(appFormBtn_disabled){\r\n return false;\r\n }\r\n if($(\"input[name='freeFlag']:checked\").val()==0 || $(\"#priceBox\").is(\":visible\")){\r\n var $price = $(\"input[name='price']\");\r\n var reg = /(^[1-9]\\d*(\\.\\d{1,2})?$)|(^0(\\.\\d{1,2})?$)/;\r\n if ($price.val() == \"\") {\r\n alert(\"价格不能为空!\");\r\n scrollTopTo(\"input[name='price']\",100);\r\n $price.focus();\r\n return false;\r\n } else {\r\n if ($price.val()>1000) {\r\n alert(\"价格不能大于1000!\");\r\n scrollTopTo(\"input[name='price']\",100);\r\n $price.focus();\r\n return false;\r\n }\r\n if (!reg.test($price.val())) {\r\n alert(\"价格必须为保留两位小数的正数!\");\r\n scrollTopTo(\"input[name='price']\",100);\r\n $price.focus();\r\n return false;\r\n }\r\n }\r\n }\r\n if(!window.isControlMode){\r\n alert('至少选一项操作方式');\r\n return false;\r\n }\r\n if($('.btn-group.appTag :checked').length == 0){\r\n alert('至少选一个标签');\r\n scrollTopTo(\".btn-group.appTag\",100);\r\n return false;\r\n }\r\n if (e.isDefaultPrevented())\r\n {\r\n // handle the invalid form...\r\n if(!$('#cat').val()){\r\n $('#cat').closest('.form-group').addClass('has-error');\r\n }\r\n }\r\n else\r\n {\r\n // everything looks good!\r\n var $selectEle = $('select[name=\"languageId[]\"]');\r\n var selectedHash = {};\r\n for(var i=0;i<$selectEle.length;i++)\r\n {\r\n var selectedOption = $selectEle.eq(i)\r\n .find(\"option:selected\").val();\r\n if(selectedHash[selectedOption])\r\n {\r\n alert(\"多语言重复,请重新选择!\");\r\n return false;\r\n }\r\n else\r\n {\r\n selectedHash[selectedOption] = true;\r\n }\r\n }\r\n\r\n //判断多语言重复\r\n var $language_ary = $('input[name=\"languageId[]\"]');\r\n var $language_val=[];\r\n for(var i=0;i<$language_ary.length;i++){\r\n $language_val.push($language_ary[i].value);\r\n }\r\n var nary=$language_val.sort();\r\n for(var i=0;i<$language_ary.length;i++){\r\n if (nary[i]==nary[i+1]){\r\n alert(\"多语言重复,请重新选择!\");\r\n return false;\r\n }\r\n }\r\n\r\n var defaultLanguageVal = $('select[name=\"defaultLanguageId\"]').eq(0).find(\"option:selected\").val();\r\n\r\n\r\n /*if(!selectedHash.hasOwnProperty(defaultLanguageVal)){\r\n alert(\"默认语言不匹配,请重新选择!\");\r\n return false;\r\n }*/\r\n\r\n\r\n if(!($(\"input:hidden[name='fileName']\").val()))\r\n {\r\n alert(\"请上传APK文件\");\r\n return false;\r\n }\r\n var $post = $(\"input:hidden[name='poster[]']\");\r\n\r\n for(var i=0;i<$post.length;i++){\r\n if(!($post.eq(i).val())){\r\n alert(\"请上传应用图标\");\r\n return false;\r\n }\r\n }\r\n\r\n //判断最少上传截图数\r\n if(snap_min_num){\r\n var $snap=[];\r\n var str=\"\";\r\n for(var i=0;i\");\r\n }\r\n }\r\n /*\r\n switch($snaps.length){\r\n case 1:\r\n var $snap = $snaps.find('input:hidden');\r\n $snap.after(\"\")\r\n .after(\"\")\r\n .after(\"\")\r\n .after(\"\")\r\n .after(\"\");\r\n break;\r\n case 2:\r\n var $snap = $snaps.eq(1).find('input:hidden');\r\n $snap.after(\"\")\r\n .after(\"\")\r\n .after(\"\")\r\n .after(\"\");\r\n break;\r\n case 3:\r\n var $snap = $snaps.eq(2).find('input:hidden');\r\n $snap.after(\"\")\r\n .after(\"\")\r\n .after(\"\");\r\n break;\r\n case 4:\r\n var $snap = $snaps.eq(3).find('input:hidden');\r\n $snap.after(\"\")\r\n .after(\"\")\r\n break;\r\n case 5:\r\n var $snap = $snaps.eq(4).find('input:hidden');\r\n $snap.after(\"\");\r\n break;\r\n default :\r\n break;\r\n }\r\n */\r\n });\r\n\r\n window._form_submit_success = true;\r\n appFormBtn_disabled = true;\r\n }\r\n });\r\n\r\n $(\"input[name='price']\").blur(function(){\r\n //判断价格\r\n var reg = /(^[1-9]\\d*(\\.\\d{1,2})?$)|(^0(\\.\\d{1,2})?$)/;\r\n if ($(this).val() == \"\") {\r\n alert(\"价格不能为空!\");\r\n return false;\r\n } else {\r\n if ($(this).val()>1000) {\r\n alert(\"价格不能大于1000!\");\r\n return false;\r\n }\r\n if (!reg.test($(this).val())) {\r\n alert(\"价格必须为保留两位小数的正数!\");\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n $(\"textarea[name='releaseNotes']\").blur(function(){\r\n if($(this).val()){\r\n //$(this).next('.help-block').hide();\r\n $(this).parent().removeClass('has-error');\r\n }\r\n else{\r\n $(this).next('.help-block').show();\r\n }\r\n });\r\n\r\n $('input[name=\"applicationName\\\\[\\\\]\"]').blur(function(){\r\n if($(this).val()){\r\n if($(this).val().length > 20){\r\n //$(this).next('.help-block').show();\r\n $(this).next('.help-block').find('.list-unstyled li').html('字符不能超过20个');\r\n $(this).parent().addClass('has-error');\r\n }else{\r\n $(this).parent().removeClass('has-error');\r\n $(this).next('.help-block').find('.list-unstyled li').html('请填写应用名称');\r\n //$(this).next('.help-block').hide();\r\n }\r\n }\r\n\r\n });\r\n\r\n $('textarea[name=\"applicationDesc\\\\[\\\\]\"]').blur(function(){\r\n if($(this).val()){\r\n //$(this).next('.help-block').hide();\r\n $(this).parent().removeClass('has-error');\r\n }\r\n else{\r\n $(this).next('.help-block').show();\r\n }\r\n });\r\n\r\n $('#cat').blur(function(){\r\n if(!$(this).val()){\r\n $(this).parent().addClass('has-error');\r\n }\r\n else{\r\n $(this).parent().removeClass('has-error');\r\n }\r\n });\r\n\r\n //联运游戏表单验证\r\n var applyBtn_disabled = false;\r\n $('#tv_dock_Form').validator().on('submit',function(e)\r\n {\r\n if(applyBtn_disabled){\r\n return false;\r\n }\r\n applyBtn_disabled = true;\r\n\r\n });\r\n\r\n $(\"#tv_dock_Form input[name='defaultTitle']\").blur(function(){\r\n if($(this).val()){\r\n $(this).parent().removeClass('has-error');\r\n }\r\n });\r\n\r\n $(\"#saveBtn\").click(function(){\r\n\r\n var checkboxLength=$('.btn-group.control-mode :checked').length;\r\n var defaultTitle = $(\"input[name='defaultTitle']\");\r\n var fileName=$(\"input[name='fileName']\");\r\n var cat=$(\"#cat\");\r\n var releaseNote = $(\"textarea[name='releaseNotes']\");\r\n // var appTag = $(\"input[name='appTag']\");\r\n if(!defaultTitle.val()){\r\n scrollTopTo(\"input[name='defaultTitle']\",100);\r\n defaultTitle.parent().addClass('has-error');\r\n return false;\r\n }else if(!cat.val()){\r\n scrollTopTo(\"#cat\",100);\r\n cat.parent().addClass('has-error');\r\n return false;\r\n }else if(checkboxLength == 0){\r\n scrollTopTo(\"#cat\",100);\r\n alert('至少选一项操作方式');\r\n return false;\r\n }else if(!fileName.val()){\r\n scrollTopTo(\"#apk_upload\",100);\r\n alert(\"请上传APK文件\");\r\n return false;\r\n }else if(!releaseNote.val()){\r\n scrollTopTo(\"textarea[name='releaseNotes']\",100);\r\n releaseNote.parent().addClass('has-error');\r\n return false;\r\n }\r\n\r\n if($('.btn-group.appTag :checked').length == 0){\r\n alert('至少选一个标签');\r\n scrollTopTo(\".btn-group.appTag\",100);\r\n return false;\r\n }\r\n\r\n if(!($(\"input:hidden[name='fileName']\").val()))\r\n {\r\n alert(\"请上传APK文件\");\r\n return false;\r\n }\r\n\r\n if(!$('#category').val()){\r\n alert(\"请选择分类\");\r\n return false;\r\n }\r\n\r\n });\r\n\r\n $(\"#applyBtn\").click(function(){\r\n\r\n if($(\"input[name='callBackUrl']\").val() != \"\"){\r\n var strRegex = /(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?/;\r\n if(!$(\"input[name='callBackUrl']\").val().match(strRegex))\r\n {\r\n alert(\"请输入正确的URL\");\r\n return false;\r\n }\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\n","$(function(){\r\n var setting = {\r\n check: {\r\n enable: true,\r\n chkboxType: {\"Y\":\"\", \"N\":\"\"},\r\n chkStyle: \"radio\",\r\n radioType: \"all\"\r\n },\r\n view: {\r\n dblClickExpand: false\r\n },\r\n data: {\r\n simpleData: {\r\n enable: true\r\n }\r\n },\r\n callback: {\r\n beforeClick: beforeClick,\r\n onCheck: onCheck,\r\n onClick: zTreeOnClick\r\n }\r\n };\r\n\r\n function zTreeOnClick(event, treeId, treeNode) {\r\n alert(treeNode.tId + \", \" + treeNode.name);\r\n };\r\n function beforeClick(treeId, treeNode) {\r\n var zTree = $.fn.zTree.getZTreeObj(\"cat_tree\");\r\n zTree.checkNode(treeNode, !treeNode.checked, null, true);\r\n return false;\r\n }\r\n\r\n function onCheck(e, treeId, treeNode) {\r\n var zTree = $.fn.zTree.getZTreeObj(\"cat_tree\"),\r\n nodes = zTree.getCheckedNodes(true),\r\n v = \"\";\r\n var id_str=\"\";\r\n for (var i=0, l=nodes.length; i 0 ) v = v.substring(0, v.length-1);\r\n var cat = $(\"#cat\");\r\n cat.attr(\"value\", v);\r\n $(\"#category\").attr('value',id_str);\r\n //get-tags\r\n $.ajax({\r\n type:'GET',\r\n url: config.APPSTORE.das_url+'/category/get_tag',\r\n data:{'categoryId':id_str,'accessToken':window.app_token},\r\n beforeSend:function(){\r\n $(\".btn-group.appTag\").empty();\r\n },\r\n success:function(data){\r\n if(!data.resultCode && data.data && data.data.length > 0){\r\n var html = \"\";\r\n for(var i=0;i '+ every.tag +\r\n '';\r\n }\r\n $(\".btn-group.appTag\").empty().append(html);\r\n }else{\r\n $(\".btn-group.appTag\").append(\"
当前分类未配置标签,请与管理员联系!
\");\r\n }\r\n }\r\n });\r\n cat.parent().removeClass('has-error');\r\n }\r\n\r\n function showMenu() {\r\n var cat = $(\"#cat\");\r\n var catOffset = $(\"#cat\").offset();\r\n $(\"#menuContent\").css({left:catOffset.left + \"px\", top:catOffset.top + cat.outerHeight() + \"px\"}).slideDown(\"fast\");\r\n $(\"body\").bind(\"mousedown\", onBodyDown);\r\n }\r\n function hideMenu() {\r\n $(\"#menuContent\").fadeOut(\"fast\");\r\n $(\"body\").unbind(\"mousedown\", onBodyDown);\r\n }\r\n function onBodyDown(event) {\r\n if (!(event.target.id == \"menuBtn\" || event.target.id == \"cat\" || event.target.id == \"menuContent\" || $(event.target).parents(\"#menuContent\").length>0)) {\r\n hideMenu();\r\n }\r\n }\r\n var curPath = window.document.location.href;\r\n var pathName= window.document.location.pathname;\r\n\r\n $('#cat').click(function(){\r\n var id =$(this).val();\r\n var cat_name = $(\"input[name='category_name']\").val();\r\n var mixed=category;\r\n //$(\"input[name='category_name']\").attr('value','');\r\n //$(\"input[name='category']\").attr('value','');\r\n if(mixed['data'].length > 0){\r\n nNodes=[];\r\n $.each(mixed['data'],function(index,element){\r\n //tempOBJ={id:element.categoryId,pId:element.parentCategoryId,name:element.categoryName,open:true,nocheck:true};\r\n tempOBJ={id:element.categoryId,name:element.categoryName,open:true,nocheck:false};\r\n if(window.checked || $('#category').val()){\r\n var tempArray=[];\r\n if($('#category').val()){\r\n tempArray=$('#category').val().split(',');\r\n }else{\r\n tempArray=window.checked.split(',');\r\n }\r\n\r\n for(i=0;i 0){\r\n $.each(element.subCategorys,function(i,e){\r\n subOBJ={id:e.categoryId,pId:e.parentCategoryId,name:e.categoryName};\r\n if(window.checked || $('#category').val()){\r\n var tempArray=[];\r\n if($('#category').val()){\r\n tempArray=$('#category').val().split(',');\r\n }else{\r\n tempArray=window.checked.split(',');\r\n }\r\n\r\n for(i=0;i