- 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(/\\/g, '');
- }
- 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/;
- console.log(re);
- 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.pathname == "/") { //主页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://hitokoto.mayx.eu.org/', 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();
- if (typeof EventSource !== 'undefined' && text instanceof EventSource) {
- var outputContainer = $('.message')[0];
- var eventFlag = false;
- text.onmessage = function (event) {
- if (event.data == "[DONE]") {
- text.close();
- return;
- } else {
- if (!eventFlag) {
- talkValTimer();
- outputContainer.textContent = "";
- eventFlag = true;
- }
- var data = JSON.parse(event.data);
- outputContainer.textContent += data.response;
- }
- }
- } else {
- $('.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() {
- $("#landlord").mouseenter(function () {
- $(".live_ico_box").fadeIn();
- });
- $("#landlord").mouseleave(function () {
- $(".live_ico_box").fadeOut();
- });
- $('#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 !== "" && typeof EventSource !== 'undefined') {
- $('#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();
-
- }
- });
- $('#live_talk_input_form').on('submit', function (e) {
- e.preventDefault();
- var info_ = $('#AIuserText').val();
- // var userid_ = $('#AIuserName').val();
- let add_id = "";
- if ($('#load_this').prop("checked")) {
- add_id = "&id=" + encodeURIComponent($('#post_id').val());
- }
- if (info_ == "") {
- showMessage('写点什么吧!', 0);
- return;
- }
- showMessage('思考中~', 0);
- showMessage(new EventSource(talkAPI + "?info=" + encodeURIComponent(info_) + add_id));
- });
- } else {
- $('#showInfoBtn').hide();
- $('#showTalkBtn').hide();
-
- }
- // //获取用户名
- // 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;
- }
- };
- };
- //获取音乐信息初始化
- 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);
- });
- }
- }
- $(document).ready(function () {
- var AIimgSrc = [
- message_Path + "model/histoire/histoire.1024/texture_00.png",
- message_Path + "model/histoire/histoire.1024/texture_01.png",
- message_Path + "model/histoire/histoire.1024/texture_02.png",
- 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;
- }
- }
- }
- });
- }
|