From e3f545c03f0711d8bdc9f87bc8d95582ad253f3b Mon Sep 17 00:00:00 2001 From: James Feng Cao Date: Tue, 4 Apr 2023 20:43:47 +0800 Subject: [PATCH] simplify bingAI --- en/searchurl/bingAI/bing.html | 1 - en/searchurl/bingAI/js/ChatMessages.js | 65 ------------- en/searchurl/bingAI/js/bing.js | 47 ---------- en/searchurl/bingAI/js/bingChatHub.js | 123 ++++++------------------- 4 files changed, 26 insertions(+), 210 deletions(-) delete mode 100644 en/searchurl/bingAI/js/ChatMessages.js diff --git a/en/searchurl/bingAI/bing.html b/en/searchurl/bingAI/bing.html index 0ebefe7..0d4a086 100644 --- a/en/searchurl/bingAI/bing.html +++ b/en/searchurl/bingAI/bing.html @@ -82,7 +82,6 @@ } - diff --git a/en/searchurl/bingAI/js/ChatMessages.js b/en/searchurl/bingAI/js/ChatMessages.js deleted file mode 100644 index fe8baa8..0000000 --- a/en/searchurl/bingAI/js/ChatMessages.js +++ /dev/null @@ -1,65 +0,0 @@ -let bingProposes = [ - '教我一个新单词', - '我需要有关家庭作业的帮助', - '我想学习一项新技能', - '最深的海洋是哪个?', - '一年有多少小时?', - "宇宙是如何开始的?", - "寻找非虚构作品", - '火烈鸟为何为粉色?', - '有什么新闻?', - '让我大笑', - '给我看鼓舞人心的名言', - '世界上最小的哺乳动物是什么?', - '向我显示食谱', - '最深的海洋是哪个?', - '为什么人类需要睡眠?', - '教我有关登月的信息', - '我想学习一项新技能', - '如何创建预算?', - '给我说个笑话', - '全息影像的工作原理是什么?', - '如何设定可实现的目标?', - '金字塔是如何建成的?', - '激励我!', - '宇宙是如何开始的?', - '如何制作蛋糕?' -]; - -let bingmMessages = [ - '好的,我已清理好板子,可以重新开始了。我可以帮助你探索什么?', - '明白了,我已经抹去了过去,专注于现在。我们现在应该探索什么?', - '重新开始总是很棒。问我任何问题!', - '好了,我已经为新的对话重置了我的大脑。你现在想聊些什么?', - '很好,让我们来更改主题。你在想什么?', - '谢谢你帮我理清头绪! 我现在能帮你做什么?', - '没问题,很高兴你喜欢上一次对话。让我们转到一个新主题。你想要了解有关哪些内容的详细信息?', - '谢谢你! 知道你什么时候准备好继续前进总是很有帮助的。我现在能为你回答什么问题?', - '当然,我已准备好进行新的挑战。我现在可以为你做什么?' -] - -let StartMessage = bingmMessages[0]; -let Proposes = [bingProposes[0],bingProposes[1],bingProposes[2]]; -/** -获取建议消息 -*/ -function nextStartProposes(){ - Proposes[0] = bingProposes[Math.floor(Math.random() * bingProposes.length)]; - Proposes[1] = bingProposes[Math.floor(Math.random() * bingProposes.length)]; - Proposes[2] = bingProposes[Math.floor(Math.random() * bingProposes.length)]; - return Proposes; -} -/* -获取bing的第一条消息 -*/ -function nextStartMessage(){ - return StartMessage = bingmMessages[Math.floor(Math.random() * bingmMessages.length)]; -} - -function getStartMessage(){ - return StartMessage; -} - -function getStartProposes(){ - return Proposes; -} \ No newline at end of file diff --git a/en/searchurl/bingAI/js/bing.js b/en/searchurl/bingAI/js/bing.js index b40110e..8a9e71e 100644 --- a/en/searchurl/bingAI/js/bing.js +++ b/en/searchurl/bingAI/js/bing.js @@ -1,6 +1,4 @@ var chat = document.getElementById('chat'); -var searchSuggestions = document.getElementById('SearchSuggestions'); -searchSuggestions.style.opacity = 1; var chatTypeDiv = document.getElementById('chatTypeDiv'); var docTitle = document.getElementById('docTitle'); var restart_button = document.getElementById('restart'); @@ -32,28 +30,6 @@ function addError(message) { chat.appendChild(go); } -//尝试获取聊天权限按钮 -function addNoPower() { - let go = document.createElement('div'); - go.classList.add('NoPower'); - go.innerHTML = '点击尝试申请加入候补名单获取NewBing聊天权限'; - chat.appendChild(go); - go.onclick = () => { - if (go.geting) { - return; - } - go.geting = true; - go.innerHTML = '正在请求申请加入候补名单..'; - getPower().then((rett) => { - if (rett.ok == true) { - go.innerHTML = '请求成功!请刷新页面重试,如果无权限使用请等待几天后重试。' - return; - } - go.innerHTML = '发生错误:' + rett.message; - }); - } -} - let onMessageIsOKClose = false; //(json) function onMessage(json, returnMessage) { @@ -116,7 +92,6 @@ function reSetStartChatMessage(type) {
- ${nextStartMessage(type)}
${t} / 0 @@ -130,18 +105,6 @@ function reSetStartChatMessage(type) { restartNewChat.classList.add('onShow'); } }); - searchSuggestions.innerHTML = ''; - let prs = nextStartProposes(); - prs.forEach((s) => { - let a = document.createElement('a'); - a.innerHTML = s; - a.onclick = (even) => { - if (searchSuggestions.style.opacity >= 1) { - send(even.target.innerHTML); - } - } - searchSuggestions.appendChild(a); - }); docTitle.innerText = 'NewBingGoGo:聊天啦啦啦啦'; } @@ -149,7 +112,6 @@ function reSetStartChatMessage(type) { function isAskingToMagic() { isSpeaking = true; send_button.value = '施法中.'; - searchSuggestions.innerHTML = ''; } /**bing正在回复 */ @@ -160,7 +122,6 @@ function isSpeakingStart(chatWithMagic, sendText) { docTitle.innerText = sendText; } send_button.value = '响应中.'; - searchSuggestions.innerHTML = ''; } /**bing回复结束 */ @@ -180,9 +141,6 @@ function send(text) { createChat(thisChatType).then((r) => { if (!r.ok) { addError(r.message); - if (r.type == 'NoPower') { - addNoPower(); - } isSpeakingFinish(); return; } @@ -247,11 +205,6 @@ function handleScroll() { var docHeight = document.body.scrollHeight; var scrollPos = window.pageYOffset; // 如果滚动到底部,显示元素,否则隐藏元素 - if (scrollPos + window.innerHeight >= docHeight - 50) { - searchSuggestions.style.opacity = 1; - } else { - searchSuggestions.style.opacity = 0; - } } // 添加滚动事件监听器 window.addEventListener("scroll", handleScroll); diff --git a/en/searchurl/bingAI/js/bingChatHub.js b/en/searchurl/bingAI/js/bingChatHub.js index 2f62fbf..e1816b9 100644 --- a/en/searchurl/bingAI/js/bingChatHub.js +++ b/en/searchurl/bingAI/js/bingChatHub.js @@ -348,51 +348,12 @@ class Chat { } } -/*** - * 补齐url - */ function URLTrue(magicUrl, thiePath) { - let url = magicUrl; - if (!url.endsWith('/')) { - url = url + '/'; - } - url = url + thiePath; - return url; + return url + thiePath; } //获取newbing权限 -async function getPower() { - //设置cookies到魔法链接 - let magicUrl = await getMagicUrl(); - if (!magicUrl) { - return { - ok: false, - message: "需要设置魔法链接才能获取权限哦!" - }; - } - if (!expUrl.test(magicUrl)) { - return { - ok: false, - message: "魔法链接不正确!请修改魔法链接。" - }; - } - await copyCookies(magicUrl); - - try { - await fetch(URLTrue(magicUrl, 'bingcopilotwaitlist')); - return { - ok: true, - message: "ok" - }; - } catch (e) { - console.warn(e); - return { - ok: false, - message: "发生错误,可能是魔法链接无法链接:" + e.message - }; - } -} - +async function getPower() {} async function copyCookies(magicUrl) {} @@ -406,21 +367,8 @@ async function copyCookies(magicUrl) {} } */ async function createChat(theChatType) { - //设置cookies到魔法链接 let chatWithMagic = await getChatHubWithMagic(); let magicUrl = await getMagicUrl(); - if (!magicUrl) { - return { - ok: false, - message: "需要设置魔法链接才能聊天哦!" - }; - } - if (!expUrl.test(magicUrl)) { - return { - ok: false, - message: "魔法链接不正确!请修改魔法链接。" - }; - } let restartNewChat = document.getElementById('restartNewChat'); if(chatWithMagic=='repeat'){//如果是聊天复用 restartNewChat.classList.remove('onShow'); @@ -437,47 +385,28 @@ async function createChat(theChatType) { }; } } - try { - await copyCookies(magicUrl); - let res = await fetch(URLTrue(magicUrl, 'turing/conversation/create'),{credentials: 'include'}); - let resjson = await res.json(); - if (!resjson.result) { - console.warn(resjson); - return { - ok: false, - message: "未知错误!" - }; - } - if (resjson.result.value != 'Success') { - let type = resjson.result.value; - let mess = resjson.result.message; - if (resjson.result.value == 'UnauthorizedRequest') { - type = 'NoLogin' - mess = '首先你需要在bing登录微软账号!请前往 https://cn.bing.com/ 登录微软账号。'; - } else if (resjson.result.value == 'Forbidden') { - type = 'NoPower' - mess = '你还没有获得NewBing的使用权限'; - } - console.warn(resjson); - return { - ok: false, - type: type, - message: mess - }; - } - //保存成功的聊天 - setLastChatJson(resjson); - return { - ok: true, - message: 'ok', - obj: new Chat(magicUrl, chatWithMagic, resjson.conversationId, resjson.clientId, resjson.conversationSignature, theChatType) - }; - } catch (e) { - console.warn(e); - return { - ok: false, - message: "发生错误,可能是魔法链接无法链接:" + e.message - }; - } - + let mes; + do { + try { + let res = await fetch(URLTrue(magicUrl,'turing/conversation/create'), + {credentials: 'include'}); + let resjson = await res.json(); + if (!resjson.result || resjson.result.value != 'Success') { + mes = resjson; + break; + } + //保存成功的聊天 + setLastChatJson(resjson); + return { + ok: true, + message: 'ok', + obj: new Chat(magicUrl, chatWithMagic, resjson.conversationId, resjson.clientId, resjson.conversationSignature, theChatType) + }; + } catch (e) {mes = e.message;} + }while(false); + + return { + ok: false, + message: mes + }; }