inapi = '/worker/sign';
incert = '/worker/cert';
var api_resign = function (_status) {
var _url = +"?status=" + _status + "&site=" + oauth["site"] + "&uid=" + oauth["uid"] + "&id=" + in_id;
if (_status < 2) {
_url += "&ssl=" + oauth["ssl"] + "&path=" + oauth["path"] + "&ipa=" + oauth["ipa"] + "&replace=" + $("#in_replace").val() + "&suo=" + $("#in_suo").val() + "&yololib=" + oauth["yololib"] + "&newname=" + $("#in_newname").val() + "&cert=" + $("#in_cert").val() + "&charset=" + oauth["charset"] + "&name=" + oauth["name"];
}
$.get(oauth["api"] + inapi, oauth, function (ret) {
if (ret.code == 1) {
_status < 2 ? sign(0) : location.reload();
} else {
layer.msg(ret.msg, 3, 8);
}
}, 'json');
};
var get_cert_list = function () {
$.get(oauth["api"] + incert, oauth,
function (ret) {
if (ret.msg) {
layer.msg(ret.msg, 3, 8);
}
if (ret.data && ret.data.list.length) {
$("#in_cert").html('');
$.each(ret.data.list, function (k, v) {
$("#in_cert").append('');
});
} else {
$("#in_cert").html('没有可用证书');
}
}, 'json');
};
function reset_sign_confirm() {
$.layer({
shade: [0],
area: ["auto", "auto"],
dialog: {
msg: "确定要重置签名吗?",
btns: 2,
type: 4,
btn: ["确定", "取消"],
yes: function () {
reset_sign();
},
no: function () {
layer.msg("已取消重置", 1, 0);
}
}
});
}
function reset_sign() {
var xhr = new XMLHttpRequest();
xhr.open("GET", in_path + "index/ajax_sign/reset?aid=" + in_id, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseText == -1) {
layer.msg("请先登录后再操作!", 3, 11);
} else if (xhr.responseText == -2) {
layer.msg("应用不存在或已被删除!", 3, 11);
} else if (xhr.responseText == -3) {
layer.msg("您不能重置别人的应用!", 3, 8);
} else if (xhr.responseText == -4) {
layer.msg("该应用未在进行签名!", 3, 8);
} else {
location.reload();
}
} else {
layer.msg("通讯异常,请检查网络设置!", 3, 3);
}
}
};
xhr.send(null);
}
function sign_confirm() {
$.layer({
shade: [0],
area: ["auto", "auto"],
dialog: {
//msg: '签名将会去除下列文件名注入的签名锁
功能性动态库请勿使用下列文件名注入
否则您注入的动态库将失效!
sign.data
sign.dylib
embedded.dylib
embedded.png
XXGamePlugin
如已注入以上名称的动态库请取消签名
并修改功能文件注入名称后重新上传ipa
再重新签名!
确定要开始签名吗?',
msg: '确定要开始签名吗?',
btns: 2,
type: 4,
btn: ["确定", "取消"],
yes: function () {
$("#in_cert").val() == "" ? layer.msg("请选择企业证书", 1, 0) : sign(1);
},
no: function () {
layer.msg("已取消签名", 1, 0);
}
}
});
}
function sign(_check) {
if (remote > 0) {
//layer.msg("不支持云存储签名!", 3, 8);
//return false;
}
var cert = $("#cert_" + $("#in_cert").val()).text();
var xhr = new XMLHttpRequest();
xhr.open("GET", in_path + "index/ajax_sign/sign?check=" + _check + "&cert=" + encodeURIComponent(cert) + "&aid=" + in_id, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseText == -1) {
layer.msg("请先登录后再操作!", 3, 11);
} else if (xhr.responseText == -2) {
layer.msg("应用不存在或已被删除!", 3, 11);
} else if (xhr.responseText == -3) {
layer.msg("您不能签名别人的应用!", 3, 8);
} else if (xhr.responseText == -4) {
layer.msg("不能签名Android应用!", 3, 8);
} else if (xhr.responseText == -5) {
layer.msg("该应用未开通企业签名!", 3, 8);
} else if (xhr.responseText == -6) {
layer.msg("该应用补签名额不足!", 3, 8);
} else if (xhr.responseText == -7) {
layer.msg("该应用正在进行签名!", 3, 8);
} else {
_check > 0 ? api_resign(1) : location.reload();
}
} else {
layer.msg("通讯异常,请检查网络设置!", 3, 3);
}
}
};
xhr.send(null);
}
function listen() {
var xhr = new XMLHttpRequest();
xhr.open("GET", in_path + "index/ajax_sign/listen?aid=" + in_id, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var data = eval("(" + xhr.responseText + ")");
if (xhr.responseText == -1) {
$("#_listen").text("请先登录后再操作!");
} else if (data["status"] == 2) {
api_resign(2);
} else if (data["step"] == "download") {
$("#_listen").text("正在解析文件,请稍等..." + data["percent"] + "%");
} else if (data["step"] == "sign") {
$("#_listen").text("正在进行签名,请稍等..." + data["percent"] + "%");
} else if (data["step"] == "upload") {
$("#_listen").text("正在进行回传,请稍等..." + data["percent"] + "%");
}
}
};
xhr.send(null);
}
function download() {
var xhr = new XMLHttpRequest();
xhr.open("GET", in_path + "index/ajax_sign/download?aid=" + in_id, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseText == -1) {
layer.msg("请先登录后再操作!", 3, 11);
} else if (xhr.responseText == -2) {
layer.msg("应用不存在或已被删除!", 3, 11);
} else if (xhr.responseText == -3) {
layer.msg("您不能下载别人的应用!", 3, 8);
} else if (xhr.responseText == -4) {
layer.msg("该应用暂未完成签名!", 3, 8);
} else {
location.href = xhr.responseText;
}
} else {
layer.msg("通讯异常,请检查网络设置!", 3, 3);
}
}
};
xhr.send(null);
}
function purchase(_key) {
var xhr = new XMLHttpRequest();
xhr.open("GET", in_path + "index/ajax_sign/purchase?aid=" + in_id + "&key=" + _key, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseText == -1) {
layer.msg("请先登录后再操作!", 3, 11);
} else if (xhr.responseText == -2) {
layer.msg("应用不存在或已被删除!", 3, 11);
} else if (xhr.responseText == -3) {
layer.msg("密钥不正确或已被使用!", 3, 8);
} else if (xhr.responseText == 1) {
location.reload();
}
} else {
layer.msg("通讯异常,请检查网络设置!", 3, 3);
}
}
};
xhr.send(null);
}
function tishi() {
alert('签名开始后请勿切换到其他页面或刷新\n否则可能签名失败,请耐心等待!');
}
function tishi1() {
alert('签名将会去除下列文件名注入的签名锁 \n功能性动态库请勿使用下列文件名注入\n否则您注入的动态库将失效!\n sign.data \n sign.dylib \n embedded.dylib\n embedded.png \n XXGamePlugin \n如已注入以上名称的动态库请取消签名 \n并修改功能文件注入名称后重新上传ipa \n再重新签名!');
}
function change(type) {
var inre = $("#in_replace").val();
if (type == 1) {
$('#check').html('');
}
if (inre == '*.*|*') {
$('#check').html('
');
}
}