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)