blessing-skin-server/assets/js/user.utils.js

88 lines
2.6 KiB
JavaScript

/*
* @Author: printempw
* @Date: 2016-01-21 13:56:40
* @Last Modified by: printempw
* @Last Modified time: 2016-03-27 09:47:10
*/
'use strict';
$('body').on('change', '#skininput', function(){
var files = $('#skininput').prop('files');
handleFiles(files, 'skin');
});
$('body').on('change', '#capeinput', function(){
var files = $('#capeinput').prop('files');
handleFiles(files, 'cape');
});
// Real-time preview
function handleFiles(files, type) {
if(files.length > 0) {
var file = files[0];
if(file.type === "image/png") {
var reader = new FileReader();
reader.onload = function (e) {
var img = new Image();
img.onload = function () {
if (type == "skin") {
MSP.changeSkin(img.src);
var model = $('#model-alex').prop('checked') ? "alex" : "steve";
change2dTexture(model, img.src);
} else {
MSP.changeCape(img.src);
change2dTexture('cape', img.src);
}
};
img.onerror = function () {
showCallout("alert-danger", "错误:这张图片编码不对哦");
};
img.src = this.result;
};
reader.readAsDataURL(file);
} else {
showCallout("alert-danger", "错误:皮肤文件必须为 PNG 格式");
}
}
};
function changeModel(uname) {
showAlert('确定要更改优先皮肤模型吗?', function(){
$.ajax({
type: "POST",
url: "../ajax.php?action=model",
data: { "uname": docCookies.getItem('uname') },
dataType: "json",
success: function(json) {
if (json.errno == 0) {
showAlert(json.msg, function(){
location.reload();
});
} else {
showAlert(json.msg);
}
}
});
});
}
function change2dTexture(type, file) {
$('#'+type).attr('src', file);
}
function onWindowResize() {
if (preview_type == "3d") {
camera.aspect = (window.innerWidth - sidebarWidth) / window.innerHeight;
camera.updateProjectionMatrix();
var canvas3d = document.getElementById('canvas3d');
canvas3d.width = 600;
canvas3d.height = 350;
canvas3d.setSize(container.clientWidth, container.clientWidth/12*7);
} else {
show2dPreview();
}
}