|
|
var home_Path = document.location.protocol +'//' + window.document.location.hostname +'/';
|
|
|
|
|
|
var userAgent = window.navigator.userAgent.toLowerCase();
|
|
|
console.log(userAgent);
|
|
|
var norunAI = [ "android", "iphone", "ipod", "ipad", "windows phone"];
|
|
|
var norunFlag = false;
|
|
|
|
|
|
|
|
|
for(var i=0;i<norunAI.length;i++){
|
|
|
if(userAgent.indexOf(norunAI[i]) > -1){
|
|
|
norunFlag = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(!window.WebGLRenderingContext){
|
|
|
norunFlag = true;
|
|
|
}
|
|
|
|
|
|
if(!norunFlag){
|
|
|
var hitFlag = false;
|
|
|
var AIFadeFlag = false;
|
|
|
var liveTlakTimer = null;
|
|
|
var sleepTimer_ = null;
|
|
|
var AITalkFlag = false;
|
|
|
var talkNum = 0;
|
|
|
(function (){
|
|
|
function renderTip(template, context) {
|
|
|
var tokenReg = /(\\)?\{([^\{\}\\]+)(\\)?\}/g;
|
|
|
return template.replace(tokenReg, function (word, slash1, token, slash2) {
|
|
|
if (slash1 || slash2) {
|
|
|
return word.replace('\\', '');
|
|
|
}
|
|
|
var variables = token.replace(/\s/g, '').split('.');
|
|
|
var currentObject = context;
|
|
|
var i, length, variable;
|
|
|
for (i = 0, length = variables.length; i < length; ++i) {
|
|
|
variable = variables[i];
|
|
|
currentObject = currentObject[variable];
|
|
|
if (currentObject === undefined || currentObject === null) return '';
|
|
|
}
|
|
|
return currentObject;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
String.prototype.renderTip = function (context) {
|
|
|
return renderTip(this, context);
|
|
|
};
|
|
|
|
|
|
var re = /x/;
|
|
|
re.toString = function() {
|
|
|
showMessage('哈哈,你打开了控制台,是想要看看我的秘密吗?', 5000);
|
|
|
return '';
|
|
|
};
|
|
|
|
|
|
$(document).on('copy', function (){
|
|
|
showMessage('你都复制了些什么呀,转载要记得加上出处哦~~', 5000);
|
|
|
});
|
|
|
|
|
|
function initTips(){
|
|
|
$.ajax({
|
|
|
cache: true,
|
|
|
url: message_Path+'message.json',
|
|
|
dataType: "json",
|
|
|
success: function (result){
|
|
|
$.each(result.mouseover, function (index, tips){
|
|
|
$(tips.selector).mouseover(function (){
|
|
|
var text = tips.text;
|
|
|
if(Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1)-1];
|
|
|
text = text.renderTip({text: $(this).text()});
|
|
|
showMessage(text, 3000);
|
|
|
talkValTimer();
|
|
|
clearInterval(liveTlakTimer);
|
|
|
liveTlakTimer = null;
|
|
|
});
|
|
|
$(tips.selector).mouseout(function (){
|
|
|
showHitokoto();
|
|
|
if(liveTlakTimer == null){
|
|
|
liveTlakTimer = window.setInterval(function(){
|
|
|
showHitokoto();
|
|
|
},15000);
|
|
|
};
|
|
|
});
|
|
|
});
|
|
|
$.each(result.click, function (index, tips){
|
|
|
$(tips.selector).click(function (){
|
|
|
if(hitFlag){
|
|
|
return false
|
|
|
}
|
|
|
hitFlag = true;
|
|
|
setTimeout(function(){
|
|
|
hitFlag = false;
|
|
|
},8000);
|
|
|
var text = tips.text;
|
|
|
if(Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1)-1];
|
|
|
text = text.renderTip({text: $(this).text()});
|
|
|
showMessage(text, 3000);
|
|
|
});
|
|
|
clearInterval(liveTlakTimer);
|
|
|
liveTlakTimer = null;
|
|
|
if(liveTlakTimer == null){
|
|
|
liveTlakTimer = window.setInterval(function(){
|
|
|
showHitokoto();
|
|
|
},15000);
|
|
|
};
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
initTips();
|
|
|
|
|
|
var text;
|
|
|
if(document.referrer !== '' && document.referrer.split('/')[2] !== window.location.host ){
|
|
|
var referrer = document.createElement('a');
|
|
|
referrer.href = document.referrer;
|
|
|
text = '嗨!来自 <span style="color:#0099cc;">' + referrer.hostname + '</span> 的朋友!';
|
|
|
var domain = referrer.hostname.split('.')[1];
|
|
|
if (domain == 'baidu') {
|
|
|
text = '嗨! 来自 百度搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
|
|
|
}else if (domain == 'so') {
|
|
|
text = '嗨! 来自 360搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
|
|
|
}else if (domain == 'google') {
|
|
|
text = '嗨! 来自 谷歌搜索 的朋友!<br>欢迎访问<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
|
|
|
}
|
|
|
}else {
|
|
|
if (window.location.href == home_Path) { //主页URL判断,需要斜杠结尾
|
|
|
var now = (new Date()).getHours();
|
|
|
if (now > 23 || now <= 5) {
|
|
|
text = '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?';
|
|
|
} else if (now > 5 && now <= 7) {
|
|
|
text = '早上好!一日之计在于晨,美好的一天就要开始了!';
|
|
|
} else if (now > 7 && now <= 11) {
|
|
|
text = '上午好!工作顺利嘛,不要久坐,多起来走动走动哦!';
|
|
|
} else if (now > 11 && now <= 14) {
|
|
|
text = '中午了,工作了一个上午,现在是午餐时间!';
|
|
|
} else if (now > 14 && now <= 17) {
|
|
|
text = '午后很容易犯困呢,今天的运动目标完成了吗?';
|
|
|
} else if (now > 17 && now <= 19) {
|
|
|
text = '傍晚了!窗外夕阳的景色很美丽呢,最美不过夕阳红~~';
|
|
|
} else if (now > 19 && now <= 21) {
|
|
|
text = '晚上好,今天过得怎么样?';
|
|
|
} else if (now > 21 && now <= 23) {
|
|
|
text = '已经这么晚了呀,早点休息吧,晚安~~';
|
|
|
} else {
|
|
|
text = '嗨~ 快来逗我玩吧!';
|
|
|
}
|
|
|
}else {
|
|
|
text = '欢迎阅读<span style="color:#0099cc;">「 ' + document.title.split(' | ')[0] + ' 」</span>';
|
|
|
}
|
|
|
}
|
|
|
showMessage(text, 12000);
|
|
|
})();
|
|
|
|
|
|
liveTlakTimer = setInterval(function(){
|
|
|
showHitokoto();
|
|
|
},15000);
|
|
|
|
|
|
function showHitokoto(){
|
|
|
if(sessionStorage.getItem("Sleepy")!=="1"){
|
|
|
if(!AITalkFlag){
|
|
|
$.getJSON('https://v1.hitokoto.cn/',function(result){
|
|
|
talkValTimer();
|
|
|
showMessage(result.hitokoto, 0);
|
|
|
});
|
|
|
}
|
|
|
}else{
|
|
|
hideMessage(0);
|
|
|
if(sleepTimer_==null){
|
|
|
sleepTimer_ = setInterval(function(){
|
|
|
checkSleep();
|
|
|
},200);
|
|
|
}
|
|
|
console.log(sleepTimer_);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function checkSleep(){
|
|
|
var sleepStatu = sessionStorage.getItem("Sleepy");
|
|
|
if(sleepStatu!=='1'){
|
|
|
talkValTimer();
|
|
|
showMessage('你回来啦~', 0);
|
|
|
clearInterval(sleepTimer_);
|
|
|
sleepTimer_= null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function showMessage(text, timeout){
|
|
|
if(Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1)-1];
|
|
|
//console.log('showMessage', text);
|
|
|
$('.message').stop();
|
|
|
$('.message').html(text);
|
|
|
$('.message').fadeTo(200, 1);
|
|
|
//if (timeout === null) timeout = 5000;
|
|
|
//hideMessage(timeout);
|
|
|
}
|
|
|
function talkValTimer(){
|
|
|
$('#live_talk').val('1');
|
|
|
}
|
|
|
|
|
|
function hideMessage(timeout){
|
|
|
//$('.message').stop().css('opacity',1);
|
|
|
if (timeout === null) timeout = 5000;
|
|
|
$('.message').delay(timeout).fadeTo(200, 0);
|
|
|
}
|
|
|
|
|
|
function initLive2d (){
|
|
|
$('#hideButton').on('click', function(){
|
|
|
if(AIFadeFlag){
|
|
|
return false;
|
|
|
}else{
|
|
|
AIFadeFlag = true;
|
|
|
localStorage.setItem("live2dhidden", "0");
|
|
|
$('#landlord').fadeOut(200);
|
|
|
$('#open_live2d').delay(200).fadeIn(200);
|
|
|
setTimeout(function(){
|
|
|
AIFadeFlag = false;
|
|
|
},300);
|
|
|
}
|
|
|
});
|
|
|
$('#open_live2d').on('click', function(){
|
|
|
if(AIFadeFlag){
|
|
|
return false;
|
|
|
}else{
|
|
|
AIFadeFlag = true;
|
|
|
localStorage.setItem("live2dhidden", "1");
|
|
|
$('#open_live2d').fadeOut(200);
|
|
|
$('#landlord').delay(200).fadeIn(200);
|
|
|
setTimeout(function(){
|
|
|
AIFadeFlag = false;
|
|
|
},300);
|
|
|
}
|
|
|
});
|
|
|
$('#youduButton').on('click',function(){
|
|
|
if($('#youduButton').hasClass('doudong')){
|
|
|
var typeIs = $('#youduButton').attr('data-type');
|
|
|
$('#youduButton').removeClass('doudong');
|
|
|
$('body').removeClass(typeIs);
|
|
|
$('#youduButton').attr('data-type','');
|
|
|
}else{
|
|
|
var duType = $('#duType').val();
|
|
|
var duArr = duType.split(",");
|
|
|
var dataType = duArr[Math.floor(Math.random() * duArr.length)];
|
|
|
|
|
|
$('#youduButton').addClass('doudong');
|
|
|
$('#youduButton').attr('data-type',dataType);
|
|
|
$('body').addClass(dataType);
|
|
|
}
|
|
|
});
|
|
|
if(talkAPI!==""){
|
|
|
$('#showInfoBtn').on('click',function(){
|
|
|
var live_statu = $('#live_statu_val').val();
|
|
|
if(live_statu=="0"){
|
|
|
return
|
|
|
}else{
|
|
|
$('#live_statu_val').val("0");
|
|
|
$('.live_talk_input_body').fadeOut(500);
|
|
|
AITalkFlag = false;
|
|
|
showHitokoto();
|
|
|
$('#showTalkBtn').show();
|
|
|
$('#showInfoBtn').hide();
|
|
|
}
|
|
|
});
|
|
|
$('#showTalkBtn').on('click',function(){
|
|
|
var live_statu = $('#live_statu_val').val();
|
|
|
if(live_statu=="1"){
|
|
|
return
|
|
|
}else{
|
|
|
$('#live_statu_val').val("1");
|
|
|
$('.live_talk_input_body').fadeIn(500);
|
|
|
AITalkFlag = true;
|
|
|
$('#showTalkBtn').hide();
|
|
|
$('#showInfoBtn').show();
|
|
|
|
|
|
}
|
|
|
});
|
|
|
$('#talk_send').on('click',function(){
|
|
|
var info_ = $('#AIuserText').val();
|
|
|
var userid_ = $('#AIuserName').val();
|
|
|
if(info_ == "" ){
|
|
|
showMessage('写点什么吧!',0);
|
|
|
return;
|
|
|
}
|
|
|
if(userid_ == ""){
|
|
|
showMessage('聊之前请告诉我你的名字吧!',0);
|
|
|
return;
|
|
|
}
|
|
|
showMessage('思考中~', 0);
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: talkAPI,
|
|
|
data: {
|
|
|
"info":info_,
|
|
|
"userid":userid_
|
|
|
},
|
|
|
success: function(res) {
|
|
|
if(res.code !== 100000){
|
|
|
talkValTimer();
|
|
|
showMessage('似乎有什么错误,请和站长联系!',0);
|
|
|
}else{
|
|
|
talkValTimer();
|
|
|
showMessage(res.text,0);
|
|
|
}
|
|
|
console.log(res);
|
|
|
$('#AIuserText').val("");
|
|
|
sessionStorage.setItem("live2duser", userid_);
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
}else{
|
|
|
$('#showInfoBtn').hide();
|
|
|
$('#showTalkBtn').hide();
|
|
|
|
|
|
}
|
|
|
//获取音乐信息初始化
|
|
|
var bgmListInfo = $('input[name=live2dBGM]');
|
|
|
if(bgmListInfo.length == 0){
|
|
|
$('#musicButton').hide();
|
|
|
}else{
|
|
|
var bgmPlayNow = parseInt($('#live2d_bgm').attr('data-bgm'));
|
|
|
var bgmPlayTime = 0;
|
|
|
var live2dBGM_Num = sessionStorage.getItem("live2dBGM_Num");
|
|
|
var live2dBGM_PlayTime = sessionStorage.getItem("live2dBGM_PlayTime");
|
|
|
if(live2dBGM_Num){
|
|
|
if(live2dBGM_Num<=$('input[name=live2dBGM]').length-1){
|
|
|
bgmPlayNow = parseInt(live2dBGM_Num);
|
|
|
}
|
|
|
}
|
|
|
if(live2dBGM_PlayTime){
|
|
|
bgmPlayTime = parseInt(live2dBGM_PlayTime);
|
|
|
}
|
|
|
var live2dBGMSrc = bgmListInfo.eq(bgmPlayNow).val();
|
|
|
$('#live2d_bgm').attr('data-bgm',bgmPlayNow);
|
|
|
$('#live2d_bgm').attr('src',live2dBGMSrc);
|
|
|
$('#live2d_bgm')[0].currentTime = bgmPlayTime;
|
|
|
$('#live2d_bgm')[0].volume = 0.5;
|
|
|
var live2dBGM_IsPlay = sessionStorage.getItem("live2dBGM_IsPlay");
|
|
|
var live2dBGM_WindowClose = sessionStorage.getItem("live2dBGM_WindowClose");
|
|
|
if(live2dBGM_IsPlay == '0' && live2dBGM_WindowClose == '0'){
|
|
|
$('#live2d_bgm')[0].play();
|
|
|
$('#musicButton').addClass('play');
|
|
|
}
|
|
|
sessionStorage.setItem("live2dBGM_WindowClose" , '1');
|
|
|
$('#musicButton').on('click',function(){
|
|
|
if($('#musicButton').hasClass('play')){
|
|
|
$('#live2d_bgm')[0].pause();
|
|
|
$('#musicButton').removeClass('play');
|
|
|
sessionStorage.setItem("live2dBGM_IsPlay",'1');
|
|
|
}else{
|
|
|
$('#live2d_bgm')[0].play();
|
|
|
$('#musicButton').addClass('play');
|
|
|
sessionStorage.setItem("live2dBGM_IsPlay",'0');
|
|
|
}
|
|
|
});
|
|
|
window.onbeforeunload = function(){
|
|
|
sessionStorage.setItem("live2dBGM_WindowClose" , '0');
|
|
|
if($('#musicButton').hasClass('play')){
|
|
|
sessionStorage.setItem("live2dBGM_IsPlay",'0');
|
|
|
}
|
|
|
}
|
|
|
document.getElementById('live2d_bgm').addEventListener("timeupdate", function(){
|
|
|
var live2dBgmPlayTimeNow = document.getElementById('live2d_bgm').currentTime;
|
|
|
sessionStorage.setItem("live2dBGM_PlayTime" , live2dBgmPlayTimeNow );
|
|
|
});
|
|
|
document.getElementById('live2d_bgm').addEventListener("ended", function(){
|
|
|
var listNow = parseInt($('#live2d_bgm').attr('data-bgm'));
|
|
|
listNow ++ ;
|
|
|
if(listNow > $('input[name=live2dBGM]').length-1){
|
|
|
listNow = 0;
|
|
|
}
|
|
|
var listNewSrc = $('input[name=live2dBGM]').eq(listNow).val();
|
|
|
sessionStorage.setItem("live2dBGM_Num",listNow);
|
|
|
$('#live2d_bgm').attr('src',listNewSrc);
|
|
|
$('#live2d_bgm')[0].play();
|
|
|
$('#live2d_bgm').attr('data-bgm',listNow);
|
|
|
});
|
|
|
document.getElementById('live2d_bgm').addEventListener("error", function(){
|
|
|
$('#live2d_bgm')[0].pause();
|
|
|
$('#musicButton').removeClass('play');
|
|
|
showMessage('音乐似乎加载不出来了呢!',0);
|
|
|
});
|
|
|
}
|
|
|
//获取用户名
|
|
|
var live2dUser = sessionStorage.getItem("live2duser");
|
|
|
if(live2dUser !== null){
|
|
|
$('#AIuserName').val(live2dUser);
|
|
|
}
|
|
|
//获取位置
|
|
|
var landL = sessionStorage.getItem("historywidth");
|
|
|
var landB = sessionStorage.getItem("historyheight");
|
|
|
if(landL == null || landB ==null){
|
|
|
landL = '5px'
|
|
|
landB = '0px'
|
|
|
}
|
|
|
$('#landlord').css('left',landL+'px');
|
|
|
$('#landlord').css('bottom',landB + 'px');
|
|
|
//移动
|
|
|
function getEvent() {
|
|
|
return window.event || arguments.callee.caller.arguments[0];
|
|
|
}
|
|
|
var smcc = document.getElementById("landlord");
|
|
|
var moveX = 0;
|
|
|
var moveY = 0;
|
|
|
var moveBottom = 0;
|
|
|
var moveLeft = 0;
|
|
|
var moveable = false;
|
|
|
var docMouseMoveEvent = document.onmousemove;
|
|
|
var docMouseUpEvent = document.onmouseup;
|
|
|
smcc.onmousedown = function(){
|
|
|
var ent = getEvent();
|
|
|
moveable = true;
|
|
|
moveX = ent.clientX;
|
|
|
moveY = ent.clientY;
|
|
|
var obj = smcc;
|
|
|
moveBottom = parseInt(obj.style.bottom);
|
|
|
moveLeft = parseInt(obj.style.left);
|
|
|
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
|
|
|
window.getSelection().removeAllRanges();
|
|
|
}
|
|
|
document.onmousemove = function(){
|
|
|
if(moveable){
|
|
|
var ent = getEvent();
|
|
|
var x = moveLeft + ent.clientX - moveX;
|
|
|
var y = moveBottom + (moveY - ent.clientY);
|
|
|
obj.style.left = x + "px";
|
|
|
obj.style.bottom = y + "px";
|
|
|
}
|
|
|
};
|
|
|
document.onmouseup = function(){
|
|
|
if(moveable){
|
|
|
var historywidth = obj.style.left;
|
|
|
var historyheight = obj.style.bottom;
|
|
|
historywidth = historywidth.replace('px', '');
|
|
|
historyheight = historyheight.replace('px', '');
|
|
|
sessionStorage.setItem("historywidth", historywidth);
|
|
|
sessionStorage.setItem("historyheight", historyheight);
|
|
|
document.onmousemove = docMouseMoveEvent;
|
|
|
document.onmouseup = docMouseUpEvent;
|
|
|
moveable = false;
|
|
|
moveX = 0;
|
|
|
moveY = 0;
|
|
|
moveBottom = 0;
|
|
|
moveLeft = 0;
|
|
|
}
|
|
|
};
|
|
|
};
|
|
|
}
|
|
|
$(document).ready(function() {
|
|
|
var AIimgSrc = [
|
|
|
home_Path + message_Path + "model/histoire/histoire.1024/texture_00.png",
|
|
|
home_Path + message_Path + "model/histoire/histoire.1024/texture_01.png",
|
|
|
home_Path + message_Path + "model/histoire/histoire.1024/texture_02.png",
|
|
|
home_Path + message_Path + "model/histoire/histoire.1024/texture_03.png"
|
|
|
]
|
|
|
var images = [];
|
|
|
var imgLength = AIimgSrc.length;
|
|
|
var loadingNum = 0;
|
|
|
for(var i=0;i<imgLength;i++){
|
|
|
images[i] = new Image();
|
|
|
images[i].src = AIimgSrc[i];
|
|
|
images[i].onload = function(){
|
|
|
loadingNum++;
|
|
|
if(loadingNum===imgLength){
|
|
|
var live2dhidden = localStorage.getItem("live2dhidden");
|
|
|
if(live2dhidden==="0"){
|
|
|
setTimeout(function(){
|
|
|
$('#open_live2d').fadeIn(200);
|
|
|
},1300);
|
|
|
}else{
|
|
|
setTimeout(function(){
|
|
|
$('#landlord').fadeIn(200);
|
|
|
},1300);
|
|
|
}
|
|
|
setTimeout(function(){
|
|
|
loadlive2d("live2d", message_Path+"model/histoire/model.json");
|
|
|
},1000);
|
|
|
initLive2d ();
|
|
|
images = null;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|