diff --git a/public/css/style.css b/public/css/style.css index 74075c2..995784e 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -685,8 +685,6 @@ select { color: #000; } - - .settings-window { position: fixed; top: 10%; @@ -700,6 +698,25 @@ select { z-index: 100; padding: 20px; } +.settings-window-body { + overflow-y: auto; + height: 500px; +} +.settings-window-body::-webkit-scrollbar { + width: 10px; /* 宽度 */ +} + +.settings-window-body::-webkit-scrollbar-track { + background: transparent; /* 轨道颜色 */ +} + +.settings-window-body::-webkit-scrollbar-thumb { + background: #ffe99d; /* 滚动条颜色 */ +} + +.settings-window-body::-webkit-scrollbar-thumb:hover { + background: #ffe99d; /* 滚动条鼠标悬停颜色 */ +} .tag { background: #fce9a7; diff --git a/src/App.vue b/src/App.vue index 521d4dd..084b7e3 100644 --- a/src/App.vue +++ b/src/App.vue @@ -31,6 +31,7 @@ const api = axios.create({ //读取本地储存数据 let settings = ref() +let test_settings = ref() const settings_text = localStorage.getItem('settings') || '' const settings_version = 1 let showUpgrade = ref(false) @@ -49,8 +50,17 @@ if (window.localStorage.getItem("settings")) { strengthData: strengthData, guardLevel: 0, fansMedal: false - }; - window.localStorage.setItem('settings', JSON.stringify(settings.value)); + } + window.localStorage.setItem('settings', JSON.stringify(settings.value)) +} + +if (window.localStorage.getItem("test")) { + test_settings.value = JSON.parse(window.localStorage.getItem("test") || '{}') +} else { + test_settings.value = { + falloff: [0, 0] + } + window.localStorage.setItem('test', JSON.stringify(test_settings.value)) } let showSafetyNotice = ref(localStorage.getItem('showSafetyNotice') !== 'false') @@ -156,8 +166,14 @@ const fansMedal = computed({ const getAuth = () => { api.post("/getAuth", {}) .then(({ data }) => { - console.log("-----鉴权成功-----") - notyf.success({ message: "鉴权成功" }) + if (typeof data.code !== "number") { + console.log("-----鉴权失败-----") + notyf.error({ message: "服务端异常" }) + return + } else { + console.log("-----鉴权成功-----") + notyf.success({ message: "鉴权成功" }) + } }) .catch((err) => { console.log("-----鉴权失败-----") @@ -308,6 +324,10 @@ const saveSettings = () => { window.localStorage.setItem('settings', JSON.stringify(settings.value)); console.log(settings.value); } +const saveTestSettings = () => { + window.localStorage.setItem('test', JSON.stringify(test_settings.value)); + console.log(test_settings.value); +} /** * 添加并保存 waveData @@ -429,9 +449,11 @@ const guardLevelText = computed(() => {
- - -
+
+ + +
+

大航海

身份至低为 @@ -504,7 +526,18 @@ const guardLevelText = computed(() => {

+ +

实验功能

+
+

⚠ 请勿依赖实验功能,实验功能可能在后续版本删除!

+

+ 每输出次波形强度衰减 + (?) +

+ +
+
@@ -514,7 +547,7 @@ const guardLevelText = computed(() => {

主机状态

-
+
A
{{ channelAStrength }}
diff --git a/src/assets/notyf.min.css b/src/assets/notyf.min.css deleted file mode 100644 index dbb5a16..0000000 --- a/src/assets/notyf.min.css +++ /dev/null @@ -1 +0,0 @@ -@-webkit-keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@-webkit-keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@-webkit-keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}@keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}.notyf{position:fixed;top:0;left:0;height:100%;width:100%;color:#fff;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;pointer-events:none;box-sizing:border-box;padding:20px}.notyf__icon--error,.notyf__icon--success{height:21px;width:21px;background:#fff;border-radius:50%;display:block;margin:0 auto;position:relative}.notyf__icon--error:after,.notyf__icon--error:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px;left:9px;height:12px;top:5px}.notyf__icon--error:after{transform:rotate(-45deg)}.notyf__icon--error:before{transform:rotate(45deg)}.notyf__icon--success:after,.notyf__icon--success:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px}.notyf__icon--success:after{height:6px;transform:rotate(-45deg);top:9px;left:6px}.notyf__icon--success:before{height:11px;transform:rotate(45deg);top:5px;left:10px}.notyf__toast{display:block;overflow:hidden;pointer-events:auto;-webkit-animation:notyf-fadeinup .3s ease-in forwards;animation:notyf-fadeinup .3s ease-in forwards;box-shadow:0 3px 7px 0 rgba(0,0,0,.25);position:relative;padding:0 15px;border-radius:2px;max-width:300px;transform:translateY(25%);box-sizing:border-box;flex-shrink:0}.notyf__toast--disappear{transform:translateY(0);-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s}.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;opacity:1;transform:translateY(0)}.notyf__toast--disappear .notyf__dismiss{-webkit-animation:notyf-fadeoutright .3s forwards;animation:notyf-fadeoutright .3s forwards;opacity:1;transform:translateX(0)}.notyf__toast--disappear .notyf__message{-webkit-animation-delay:.05s;animation-delay:.05s}.notyf__toast--upper{margin-bottom:20px}.notyf__toast--lower{margin-top:20px}.notyf__toast--dismissible .notyf__wrapper{padding-right:30px}.notyf__ripple{height:400px;width:400px;position:absolute;transform-origin:bottom right;right:0;top:0;border-radius:50%;transform:scale(0) translateY(-51%) translateX(13%);z-index:5;-webkit-animation:ripple .4s ease-out forwards;animation:ripple .4s ease-out forwards}.notyf__wrapper{display:flex;align-items:center;padding-top:17px;padding-bottom:17px;padding-right:15px;border-radius:3px;position:relative;z-index:10}.notyf__icon{width:22px;text-align:center;font-size:1.3em;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.3s;animation-delay:.3s;margin-right:13px}.notyf__dismiss{position:absolute;top:0;right:0;height:100%;width:26px;margin-right:-15px;-webkit-animation:notyf-fadeinleft .3s forwards;animation:notyf-fadeinleft .3s forwards;-webkit-animation-delay:.35s;animation-delay:.35s;opacity:0}.notyf__dismiss-btn{background-color:rgba(0,0,0,.25);border:none;cursor:pointer;transition:opacity .2s ease,background-color .2s ease;outline:none;opacity:.35;height:100%;width:100%}.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{content:"";background:#fff;height:12px;width:2px;border-radius:3px;position:absolute;left:calc(50% - 1px);top:calc(50% - 5px)}.notyf__dismiss-btn:after{transform:rotate(-45deg)}.notyf__dismiss-btn:before{transform:rotate(45deg)}.notyf__dismiss-btn:hover{opacity:.7;background-color:rgba(0,0,0,.15)}.notyf__dismiss-btn:active{opacity:.8}.notyf__message{vertical-align:middle;position:relative;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s;line-height:1.5em}@media only screen and (max-width:480px){.notyf{padding:0}.notyf__ripple{height:600px;width:600px;-webkit-animation-duration:.5s;animation-duration:.5s}.notyf__toast{max-width:none;border-radius:0;box-shadow:0 -2px 7px 0 rgba(0,0,0,.13);width:100%}.notyf__dismiss{width:56px}} \ No newline at end of file diff --git a/src/socket/index.ts b/src/socket/index.ts index d335066..ade209f 100644 --- a/src/socket/index.ts +++ b/src/socket/index.ts @@ -14,6 +14,9 @@ interface SettingsType { guardLevel: number; fansMedal: boolean; } +interface TestSettingsType { + falloff: number[]; +} let settings: Ref = ref({ version: 1, @@ -21,21 +24,22 @@ let settings: Ref = ref({ strengthData: strengthData, guardLevel: 0, fansMedal: false -}); +}) + +let testSettings: Ref = ref({ + falloff: [0, 0], +}) if (window.localStorage.getItem("settings")) { settings.value = JSON.parse(window.localStorage.getItem("settings") || '{}'); console.log(settings.value) -} else { - // 如果没有,使用默认值 - settings.value = { - version: 1, - waveData: waveData, - strengthData: strengthData, - guardLevel: 0, - fansMedal: false - }; } +if (window.localStorage.getItem("test")) { + testSettings.value = JSON.parse(window.localStorage.getItem("test") || '{}'); + console.log(testSettings.value) +} + +let waveCounter = testSettings.value.falloff[0] /** * 转换大航海等级 @@ -66,20 +70,7 @@ function createSocket(authBody: string, wssLinks: string[]) { ...getWebSocketConfig(authBody, wssLinks), // 收到消息, onReceivedMessage: (res) => { - console.log("收到"+ res.cmd +"消息:") - //console.log(res.data.uname + "(大航海" +res.data.guard_level + "级):" + res.data.msg) - - // if (res.data.msg == "#UPA1") { - // try { - // addOrIncrease(2, 1, 1) - // notyf.success("A通道强度增加成功") - // } - // catch (e) { - // console.log(e) - // notyf.error("A通道强度增加失败") - // } - // } - + // 从本地存储中获取设置 settings = window.localStorage.getItem("settings") ? ref(JSON.parse(window.localStorage.getItem("settings") || '{}')) : null // 粉丝勋章 @@ -88,10 +79,9 @@ function createSocket(authBody: string, wssLinks: string[]) { // 大航海 let execute_2 = transformGuardLevel(res.data.guard_level) >= settings.value.guardLevel - if (res.cmd == "LIVE_OPEN_PLATFORM_SEND_GIFT" && execute_1 && execute_2) { if (settings && res.data.gift_id.toString() === settings.value.strengthData[0]) { - // 加强度1 + // 加强度 try { addOrIncrease(2, 1, res.data.gift_num) addOrIncrease(2, 2, res.data.gift_num) @@ -102,7 +92,7 @@ function createSocket(authBody: string, wssLinks: string[]) { notyf.error("强度操作失败!") } } else if (settings && res.data.gift_id.toString() === settings.value.strengthData[1]) { - // 减强度1 + // 减强度 try { addOrIncrease(1, 1, res.data.gift_num) addOrIncrease(1, 2, res.data.gift_num) @@ -117,6 +107,14 @@ function createSocket(authBody: string, wssLinks: string[]) { try { sendWaveData(5 * res.data.gift_num, 5 * res.data.gift_num, settings.value.waveData[res.data.gift_id], settings.value.waveData[res.data.gift_id]) notyf.success("收到礼物" + res.data.gift_name + "*"+res.data.gift_num) + waveCounter-- + console.log(waveCounter) + if (waveCounter == 0 && testSettings.value.falloff[0] > 0) { + notyf.success("触发强度衰减") + waveCounter = testSettings.value.falloff[0] + addOrIncrease(1, 1, testSettings.value.falloff[1]) + addOrIncrease(1, 2, testSettings.value.falloff[1]) + } } catch (e) { console.log(e)