2025-04-18 19:20:46 +08:00
|
|
|
const authSettings = [
|
|
|
|
|
{
|
|
|
|
|
id: 0,
|
2025-06-02 00:22:46 +08:00
|
|
|
categoryName: "管家身份验证",
|
2025-04-18 19:20:46 +08:00
|
|
|
child: [
|
|
|
|
|
{
|
|
|
|
|
index: 0,
|
|
|
|
|
id: "enableAuthOverride",
|
|
|
|
|
type: "switch",
|
|
|
|
|
name: "启用身份验证覆写功能",
|
|
|
|
|
description: "覆写希沃管家的身份验证组件, 实现限制解除",
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: true,
|
|
|
|
|
associateVal: null,
|
|
|
|
|
auraIf: () => true,
|
|
|
|
|
defaultValue: false,
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].enabled;
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (typeof newVal !== "boolean") return;
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].enabled = newVal;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
index: 1,
|
|
|
|
|
id: "authOverrideType",
|
|
|
|
|
type: "radio",
|
|
|
|
|
name: "密码覆写模式",
|
|
|
|
|
description: "自定义密码 / 完全解除密码 / 仅使用学校密码",
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
|
|
|
|
tip: true,
|
|
|
|
|
tipTitle: '使用 "任意" 选项后, 仍需输入至少一位密码才能继续操作',
|
|
|
|
|
associateVal: ["rewrite.vendor/passwordValidation.enabled"],
|
|
|
|
|
auraIf: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].enabled;
|
|
|
|
|
},
|
|
|
|
|
defaultValue: "none",
|
|
|
|
|
templates: ["customPassword", "bypass", "none"],
|
|
|
|
|
templateLabels: ["自定义", "任意", "不修改"],
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].type;
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].type = newVal;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
index: 2,
|
|
|
|
|
id: "customPassword",
|
|
|
|
|
type: "input",
|
|
|
|
|
subType: "password",
|
|
|
|
|
name: "自定义密码",
|
|
|
|
|
description: "设置一个自定义密码, 可与原管理密码共用",
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
|
|
|
|
associateVal: [
|
|
|
|
|
"rewrite.vendor/passwordValidation.enabled",
|
|
|
|
|
"rewrite.vendor/passwordValidation.type",
|
|
|
|
|
],
|
|
|
|
|
auraIf: () => {
|
|
|
|
|
return (
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite["vendor/passwordValidation"]
|
|
|
|
|
.enabled &&
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite["vendor/passwordValidation"]
|
|
|
|
|
.type === "customPassword"
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
defaultValue: "",
|
|
|
|
|
placeHolder: "留空表示不修改, 保留已设置值",
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return "";
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (newVal === "" || !newVal) return { valid: true };
|
|
|
|
|
if (newVal.length < 6)
|
|
|
|
|
return { valid: false, hint: "请输入至少 6 位密码" };
|
|
|
|
|
const __config =
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite["vendor/passwordValidation"];
|
|
|
|
|
const crypto = require("crypto");
|
|
|
|
|
const result = crypto
|
|
|
|
|
.createHash("md5")
|
|
|
|
|
.update(newVal + __config.customPassword.salt)
|
|
|
|
|
.digest("hex");
|
|
|
|
|
__config.customPassword.passwordWithSalt = result;
|
|
|
|
|
return { valid: true };
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
index: 3,
|
|
|
|
|
id: "authModeRewriteType",
|
|
|
|
|
type: "radio",
|
|
|
|
|
name: "验证方式覆写",
|
|
|
|
|
description: "密码 + 二维码混合 / 仅二维码 / 仅密码",
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
|
|
|
|
tip: true,
|
|
|
|
|
tipTitle: '一般选择 "混合" 或 "仅密码" 即可',
|
|
|
|
|
associateVal: ["rewrite.vendor/passwordValidation.enabled"],
|
|
|
|
|
auraIf: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].enabled;
|
|
|
|
|
},
|
|
|
|
|
defaultValue: "hybrid",
|
2025-05-25 22:40:12 +08:00
|
|
|
templates: ["default", "hybrid", "remoteOnly", "passwordOnly"],
|
|
|
|
|
templateLabels: ["默认", "混合", "仅二维码", "仅密码"],
|
2025-04-18 19:20:46 +08:00
|
|
|
valueGetter: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].authModeRewrite;
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/passwordValidation"
|
|
|
|
|
].authModeRewrite = newVal;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 1,
|
2025-06-03 02:11:39 +08:00
|
|
|
categoryName: "屏幕锁",
|
|
|
|
|
child: [
|
|
|
|
|
{
|
|
|
|
|
index: 0,
|
|
|
|
|
id: "enableScreenLockOverride",
|
|
|
|
|
type: "switch",
|
|
|
|
|
name: "启用屏幕锁覆写功能",
|
|
|
|
|
description: "覆写希沃管家的屏幕锁组件, 绕过限制",
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
|
|
|
|
associateVal: null,
|
|
|
|
|
auraIf: () => true,
|
|
|
|
|
defaultValue: true,
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"]
|
|
|
|
|
.enabled;
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (typeof newVal !== "boolean") return;
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"].enabled =
|
|
|
|
|
newVal;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
index: 1,
|
|
|
|
|
id: "disableKeyboardHook",
|
|
|
|
|
type: "switch",
|
|
|
|
|
name: "允许快捷键操作",
|
|
|
|
|
description: "屏蔽键盘 DLL Hook, 允许在屏幕锁中操作快捷键",
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
|
|
|
|
tip: true,
|
|
|
|
|
tipTitle: "此功能正在测试中, 可能并不稳定",
|
|
|
|
|
associateVal: ["rewrite.vendor/screenLock.enabled"],
|
|
|
|
|
auraIf: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"]
|
|
|
|
|
.enabled;
|
|
|
|
|
},
|
|
|
|
|
defaultValue: false,
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"]
|
|
|
|
|
.disableKeyboardHook;
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (typeof newVal !== "boolean") return;
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/screenLock"
|
|
|
|
|
].disableKeyboardHook = newVal;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
index: 2,
|
|
|
|
|
id: "screenLockAuthOverrideType",
|
|
|
|
|
type: "radio",
|
|
|
|
|
name: "覆写模式",
|
|
|
|
|
description: "选择一个认证覆写模式",
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
|
|
|
|
associateVal: ["rewrite.vendor/screenLock.enabled"],
|
|
|
|
|
auraIf: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"]
|
|
|
|
|
.enabled;
|
|
|
|
|
},
|
|
|
|
|
defaultValue: "none",
|
|
|
|
|
templates: ["customActivationCode", "none"],
|
|
|
|
|
templateLabels: ["自定义激活码", "不修改"],
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"]
|
|
|
|
|
.authRewriteType;
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite[
|
|
|
|
|
"vendor/screenLock"
|
|
|
|
|
].authRewriteType = newVal;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
index: 3,
|
|
|
|
|
id: "customActivationCode",
|
|
|
|
|
type: "input",
|
|
|
|
|
subType: "password",
|
|
|
|
|
name: "自定义激活码",
|
|
|
|
|
description: '请在屏幕锁页面下方选择 "激活码解锁" 以使用',
|
|
|
|
|
restart: false,
|
|
|
|
|
reload: false,
|
|
|
|
|
warning: true,
|
|
|
|
|
warningContent: "密码为 6 位纯数字",
|
|
|
|
|
associateVal: [
|
|
|
|
|
"rewrite.vendor/screenLock.enabled",
|
|
|
|
|
"rewrite.vendor/screenLock.authRewriteType",
|
|
|
|
|
],
|
|
|
|
|
auraIf: () => {
|
|
|
|
|
return (
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"].enabled &&
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"].authRewriteType ===
|
|
|
|
|
"customActivationCode"
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
defaultValue: "",
|
|
|
|
|
placeHolder: "留空表示不修改, 保留已设置值",
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return "";
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (newVal === "" || !newVal) return { valid: true };
|
|
|
|
|
if (newVal.length !== 6)
|
|
|
|
|
return { valid: false, hint: "仅可输入 6 位密码" };
|
|
|
|
|
if (!/^\d+$/.test(newVal)) {
|
|
|
|
|
return { valid: false, hint: "仅允许纯数字密码" };
|
|
|
|
|
}
|
|
|
|
|
const __config =
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.rewrite["vendor/screenLock"];
|
|
|
|
|
const crypto = require("crypto");
|
|
|
|
|
const result = crypto
|
|
|
|
|
.createHash("md5")
|
|
|
|
|
.update(newVal + "auraScreenLockCrack")
|
|
|
|
|
.digest("hex");
|
|
|
|
|
__config.customActivationCode.activationCodeWithSalt = result;
|
|
|
|
|
return { valid: true };
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 2,
|
2025-04-18 19:20:46 +08:00
|
|
|
categoryName: "基础设施",
|
|
|
|
|
child: [
|
|
|
|
|
{
|
|
|
|
|
index: 0,
|
|
|
|
|
id: "enableDevTools",
|
|
|
|
|
type: "switch",
|
|
|
|
|
name: "启用开发者工具",
|
|
|
|
|
description: "修改希沃管家的全局配置, 允许打开 DevTools",
|
|
|
|
|
restart: true,
|
|
|
|
|
reload: false,
|
|
|
|
|
tip: true,
|
|
|
|
|
tipTitle: "启用后, 按下 Ctrl + Shift + I 即可打开 DevTools",
|
2025-06-03 02:11:39 +08:00
|
|
|
warning: true,
|
|
|
|
|
warningContent:
|
|
|
|
|
"在操作不当的情况下, 有可能造成 DevTools 永久无法激活 (Electron 的 Bug), 此时请使用 Chrome 远程调试",
|
2025-04-18 19:20:46 +08:00
|
|
|
associateVal: null,
|
|
|
|
|
auraIf: () => true,
|
|
|
|
|
defaultValue: false,
|
|
|
|
|
valueGetter: () => {
|
|
|
|
|
return global.__HUGO_AURA_CONFIG__.devTools;
|
|
|
|
|
},
|
|
|
|
|
callbackFn: (newVal) => {
|
|
|
|
|
if (typeof newVal !== "boolean") return;
|
|
|
|
|
global.__HUGO_AURA_CONFIG__.devTools = newVal;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
module.exports = { authSettings };
|