移除AnythingLLM密码明文
This commit is contained in:
parent
df177dff58
commit
64dad6ed63
@ -51,6 +51,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input id="username" placeholder="用户名" />
|
<input id="username" placeholder="用户名" />
|
||||||
<input id="password" type="password" placeholder="密码" />
|
<input id="password" type="password" placeholder="密码" />
|
||||||
|
<input type="password" id="llmPassword" placeholder="请输入AnythingLLM的密码" autocomplete="off" />
|
||||||
<button id="loginBtn">登录</button>
|
<button id="loginBtn">登录</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="error" id="errorBox"></div>
|
<div class="error" id="errorBox"></div>
|
||||||
|
|||||||
@ -1,3 +1,12 @@
|
|||||||
|
// 自动回显 AnythingLLM 密码
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
chrome.storage.local.get(["llmPassword"], function (res) {
|
||||||
|
if (res.llmPassword) {
|
||||||
|
document.getElementById("llmPassword").value = res.llmPassword;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
document.getElementById("loginBtn").addEventListener("click", doLogin);
|
document.getElementById("loginBtn").addEventListener("click", doLogin);
|
||||||
document.addEventListener("keydown", (e) => {
|
document.addEventListener("keydown", (e) => {
|
||||||
if (e.key === "Enter") doLogin();
|
if (e.key === "Enter") doLogin();
|
||||||
@ -6,6 +15,7 @@ document.addEventListener("keydown", (e) => {
|
|||||||
function doLogin() {
|
function doLogin() {
|
||||||
const username = document.getElementById("username").value.trim();
|
const username = document.getElementById("username").value.trim();
|
||||||
const password = document.getElementById("password").value.trim();
|
const password = document.getElementById("password").value.trim();
|
||||||
|
const llmPassword = document.getElementById("llmPassword").value;
|
||||||
const errorBox = document.getElementById("errorBox");
|
const errorBox = document.getElementById("errorBox");
|
||||||
errorBox.textContent = "";
|
errorBox.textContent = "";
|
||||||
|
|
||||||
@ -14,6 +24,9 @@ function doLogin() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 保存 llmPassword(登录不依赖LLM密码是否填写,只是单独存储)
|
||||||
|
chrome.storage.local.set({ llmPassword });
|
||||||
|
|
||||||
fetch("http://app.wisdompulse.cn/api/v1/user/login", {
|
fetch("http://app.wisdompulse.cn/api/v1/user/login", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: { "Content-Type": "application/json" },
|
headers: { "Content-Type": "application/json" },
|
||||||
@ -26,7 +39,7 @@ function doLogin() {
|
|||||||
chrome.storage.local.set({
|
chrome.storage.local.set({
|
||||||
token: body.token,
|
token: body.token,
|
||||||
username: body.username || username,
|
username: body.username || username,
|
||||||
loginAt: Date.now() // 毫秒时间戳
|
loginAt: Date.now()
|
||||||
}, () => {
|
}, () => {
|
||||||
window.location.href = chrome.runtime.getURL("pages/popup.html");
|
window.location.href = chrome.runtime.getURL("pages/popup.html");
|
||||||
});
|
});
|
||||||
|
|||||||
@ -25,12 +25,20 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|||||||
const TOKEN_EXPIRE_MS = 7 * 24 * 60 * 60 * 1000; // 7天有效期
|
const TOKEN_EXPIRE_MS = 7 * 24 * 60 * 60 * 1000; // 7天有效期
|
||||||
|
|
||||||
// === AnythingLLM 配置 ===
|
// === AnythingLLM 配置 ===
|
||||||
const LLM_PASSWORD = "lukeye@6";
|
|
||||||
const LLM_TOKEN_API = "http://llm.wisdompulse.cn/api/request-token";
|
const LLM_TOKEN_API = "http://llm.wisdompulse.cn/api/request-token";
|
||||||
const LLM_WORKSPACES_API = "http://llm.wisdompulse.cn/api/workspaces";
|
const LLM_WORKSPACES_API = "http://llm.wisdompulse.cn/api/workspaces";
|
||||||
const LLM_STREAM_API_BASE = "http://llm.wisdompulse.cn/api/workspace";
|
const LLM_STREAM_API_BASE = "http://llm.wisdompulse.cn/api/workspace";
|
||||||
const LLM_TOKEN_EXPIRE_MS = 23 * 60 * 60 * 1000;
|
const LLM_TOKEN_EXPIRE_MS = 23 * 60 * 60 * 1000;
|
||||||
|
|
||||||
|
// 动态获取 AnythingLLM 密码
|
||||||
|
async function getLLMPassword() {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
chrome.storage.local.get(["llmPassword"], (res) => {
|
||||||
|
resolve(res.llmPassword || "");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// 获取 LLM Token
|
// 获取 LLM Token
|
||||||
async function getLLMToken(forceRefresh = false) {
|
async function getLLMToken(forceRefresh = false) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@ -46,7 +54,8 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|||||||
resolve(res.llmToken);
|
resolve(res.llmToken);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
console.log("开始请求 LLM token,POST", LLM_TOKEN_API, "参数:", { password: LLM_PASSWORD });
|
const LLM_PASSWORD = await getLLMPassword();
|
||||||
|
console.log("开始请求 LLM token,POST", LLM_TOKEN_API, "参数:", { password: "******" });
|
||||||
const response = await fetch(LLM_TOKEN_API, {
|
const response = await fetch(LLM_TOKEN_API, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: { "Content-Type": "application/json" },
|
headers: { "Content-Type": "application/json" },
|
||||||
@ -221,7 +230,6 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function log(...args) {
|
function log(...args) {
|
||||||
const version = chrome?.runtime?.getManifest?.().version || "dev";
|
const version = chrome?.runtime?.getManifest?.().version || "dev";
|
||||||
console.log("[v" + version + "]", ...args);
|
console.log("[v" + version + "]", ...args);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user