diff --git a/CHANGELOG.md b/CHANGELOG.md index a45fce5..4f3ac3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ # CHANGE +## 0.6.0 pre + +2022年10月日 + +### 修改 + +- 解毒提醒UI调整 +- 传单助手UI调整 + +### 添加 + +- 更多设置 + ## 0.5.9 2022年10月14日 diff --git a/src/class/ZhongIcon.ts b/src/class/ZhongIcon.ts index 7f042a7..21bb919 100644 --- a/src/class/ZhongIcon.ts +++ b/src/class/ZhongIcon.ts @@ -28,6 +28,7 @@ import MDUtils from "./utils/MDUtils"; import Test from "../test/Test"; import TornStyleSwitch from "./utils/TornStyleSwitch"; import Global from "./Global"; +import BuyBeerHelper from "./action/BuyBeerHelper"; export default class ZhongIcon extends WuhuBase { public static ZhongNode: MyHTMLElement = null; @@ -785,7 +786,7 @@ export default class ZhongIcon extends WuhuBase { private constructWuhuSettingList(): ZhongIcon { const date = new Date(); - let { beer, popup_node } = ZhongIcon.glob; + let beer = BuyBeerHelper.getInstance(); let list: MenuItemConfig[] = []; @@ -1176,7 +1177,7 @@ export default class ZhongIcon extends WuhuBase { list.push({ domType: 'checkbox', domId: 'wh-dev-mode', - domText: ` 开发者模式${ Log.debug() ? ' ' : '' }`, + domText: '开发模式', dictName: 'isDev', isHide: true, }); @@ -1186,20 +1187,35 @@ export default class ZhongIcon extends WuhuBase { domId: null, domText: '查看日志', clickFunc: () => { - let pop = new Popup('
', '查看日志'); + let pop = new Popup('', '查看日志'); let text = pop.getElement().querySelector('textarea'); text.innerHTML = Log.getLogs(); - pop.getElement().querySelector('button').onclick = () => text.select(); - // + text.onclick = () => text.select(); } }); // 更多设定 - if (Log.debug()) list.push({ + list.push({ domType: 'button', domId: 'wh-otherBtn', domText: '更多设定', clickFunc: () => { - new Popup(`清空设置数据、请求通知权限、测试跨域请求`, '更多设定'); + let pop = new Popup('', '更多设定'); + let insertHtml = '

'; + pop.getElement().insertAdjacentHTML('beforeend', insertHtml); + let [btn1, btn2, btn3] = Array.from(pop.getElement().querySelectorAll('button')); + btn1.addEventListener('click', () => { + localStorage.setItem('wh_trv_alarm', ''); + localStorage.setItem('wh_trans_settings', ''); + localStorage.setItem('whuuid', ''); + localStorage.setItem('wh-gs-storage', ''); + localStorage.setItem('WHTEST', ''); + new Alert('已清空,刷新页面'); + window.location.reload(); + }); + btn2.addEventListener('click', () => { + }); + btn3.addEventListener('click', () => { + }); }, - isHide: true, + // isHide: true, }); this.settingItemList = list; diff --git a/src/class/utils/Alert.ts b/src/class/utils/Alert.ts index 8532f81..e921fa0 100644 --- a/src/class/utils/Alert.ts +++ b/src/class/utils/Alert.ts @@ -19,14 +19,17 @@ export default class Alert extends WuhuBase { let { timeout, callback, sysNotify, } = options; // 后台窗口、iframe内判断 - if (!WindowActiveState.getInstance().get() || (self !== top)) return null; + if (!WindowActiveState.getInstance().get() || (self !== top)) { + Log.warn('后台通知已被屏蔽'); + return null; + } // 通知的容器 if (Alert.container === null) Alert.initContainer(); this.callback = callback || (() => null); Alert.create(this, msg, timeout || 3); - Log.info('创建新通知:', this); + Log.info('创建新通知:', this, msg); if (sysNotify) NotificationUtils.getInstance().push(msg, options); } diff --git a/src/class/utils/Popup.ts b/src/class/utils/Popup.ts index 0aeaa1e..3987509 100644 --- a/src/class/utils/Popup.ts +++ b/src/class/utils/Popup.ts @@ -1,5 +1,6 @@ import WuhuBase from "../WuhuBase"; import POPUP_HTML from "../../static/html/popup.html"; +import Log from "../Log"; export default class Popup extends WuhuBase { protected className = 'Popup'; @@ -8,7 +9,11 @@ export default class Popup extends WuhuBase { constructor(innerHTML: string, title: string = '芜湖助手') { super(); - if (Popup.glob.popup_node) Popup.glob.popup_node.close(); + if (Popup.glob.popup_node) { + Log.info('关闭前一个弹窗'); + Popup.glob.popup_node.close(); + } + Log.info('新建弹窗', { innerHTML, title }); const popup = document.createElement('div'); popup.id = 'wh-popup'; popup.innerHTML = POPUP_HTML.replace('{{}}', title).replace('{{}}', innerHTML); diff --git a/src/func/module/adHelper.ts b/src/func/module/adHelper.ts index 81275f6..c30351e 100644 --- a/src/func/module/adHelper.ts +++ b/src/func/module/adHelper.ts @@ -19,6 +19,9 @@ export default function adHelper() { clear_button.innerText = '清空所有聊天框'; paste_button.innerText = '粘贴剪切板'; style.innerHTML = '#chatRoot > div{z-index:199999 !important;}'; + place_button.classList.add('torn-btn'); + clear_button.classList.add('torn-btn'); + paste_button.classList.add('torn-btn'); place_button.addEventListener('click', () => { let chats = Array.from(document.querySelectorAll('#chatRoot textarea[name="chatbox2"]') as NodeListOf); diff --git a/src/func/module/travelHelper.ts b/src/func/module/travelHelper.ts index 68c511f..fd045b3 100644 --- a/src/func/module/travelHelper.ts +++ b/src/func/module/travelHelper.ts @@ -7,7 +7,9 @@ import Alert from "../../class/utils/Alert"; import ActionButtonUtils from "../../class/utils/ActionButtonUtils"; import WuhuConfig from "../../class/WuhuConfig"; import CommonUtils from "../../class/utils/CommonUtils"; -import Log from "../../class/Log"; +import TRAVEL_ALARM_CSS from "../../static/css/travel_alarm.css"; +import TRAVEL_ALARM_HTML from "../../static/html/travel_alarm.html"; +import TornStyleBlock from "../../class/utils/TornStyleBlock"; export default async function travelHelper(): Promise { let { href, bodyAttrs, device } = WuhuBase.glob; @@ -43,85 +45,11 @@ export default async function travelHelper(): Promise { wh_trv_alarm_node.id = 'wh-trv-alarm'; wh_trv_alarm_node.style.left = `${ wh_trv_alarm.node_pos[0] }px`; wh_trv_alarm_node.style.top = `${ wh_trv_alarm.node_pos[1] }px`; - wh_trv_alarm_node.innerHTML = `

❌ 没有权限
点击网页内任意位置以激活闹钟

-
-
飞行闹钟
-
-
-
-

-

正在${ dest_cn === '回城' ? dest_cn : '飞往' + dest_cn }

-
-
-
-
-
-`; - CommonUtils.addStyle(` -#wh-trv-alarm{ -position:absolute; -width:248px; -/*left:${ wh_trv_alarm.node_pos[0] || 240 }px; -top:${ wh_trv_alarm.node_pos[1] || 240 }px;*/ -background:white; -border-radius:4px; -box-shadow:#0000001f 0 0 10px 4px; -border:solid 1px #aaa; -z-index:100001; -margin:2em; -} -#wh-trv-alarm button{ -margin:0; -} -#wh-trv-error{ -position:absolute; -width:100%; -height:100%; -/*display: table;*/ -display:none; -} -#wh-trv-error p{ -background:#ffd0d0; -color:red; -display:table-cell; -vertical-align:middle; -padding:1em; -text-align:center; -} -#wh-trv-alarm-title{ -height: 30px; -border-bottom: solid #aaa 1px; -cursor: move; -} -/*#wh-trv-alarm-move-btn span{ -background:url(/images/v2/home_main/move.svg); -width: 30px; -height: 30px; -float: right; -cursor: move; -}*/ -h5#wh-trv-alarm-header{ - height: 100%; - line-height: 30px; - padding:0 12px; - font-weight: bold; - text-align: center; -} -#wh-trv-alarm-bottom{ - padding: 12px; -} -#wh-trv-alarm-remaining{ -float:right; -color:red; -} -#wh-trv-alarm-cont input[type="number"]{ - width: 42px; - border-bottom: solid 1px #aaa; -} -.wh-trv-alarm-stop-hide{ -display:none; -} -`); + wh_trv_alarm_node.innerHTML = TRAVEL_ALARM_HTML + .replace('{{}}', dest_cn === '回城' ? dest_cn : '飞往' + dest_cn) + .replace('{{}}', wh_trv_alarm.enable ? 'checked ' : '') + .replace('{{}}', wh_trv_alarm.alert_time || 30); + CommonUtils.addStyle(TRAVEL_ALARM_CSS); document.body.append(wh_trv_alarm_node); // 报错dom const error_node = wh_trv_alarm_node.querySelector('#wh-trv-error') as HTMLElement; @@ -252,28 +180,6 @@ display:none; flying_ani.innerHTML = `${ flying_arr[flying_index] }`; flying_index = (flying_index + 1) % flying_arr.length; }, 1000); - Log.info({ - dest_cn, - remaining_arr, - wh_trv_alarm, - wh_trv_alarm_node, - error_node, - remaining_node, - set_node, - cd_time, - count_down_notify, - stop_node, - enable_node, - remaining_sec, - land_timestamp, - audio, - audio_play_flag, - user_stop_alert, - audio_play_id, - flying_status, - flying_index, - id - }); } // 落地转跳 落地前事件 @@ -298,18 +204,20 @@ display:none; } // 解毒提醒 if (bodyAttrs['data-country'] === 'switzerland') { - let page_title = document.querySelector('h4#skip-to-content'); - let msg = document.createElement('div'); - msg.innerHTML = ``; - msg.classList.add('info-msg-cont', 'green', 'border-round', 'm-bottom10'); - page_title.before(msg); + let block = new TornStyleBlock('解毒提醒').insert2Dom(); + block.setContent('

❤️ 点击前往解毒

'); +// let page_title = document.querySelector('h4#skip-to-content'); +// let msg = document.createElement('div'); +// msg.innerHTML = `
+// +//
+// +//
+//
`; +// msg.classList.add('info-msg-cont', 'green', 'border-round', 'm-bottom10'); +// page_title.before(msg); } } return; @@ -402,7 +310,7 @@ async function travelBack(): Promise { new Alert(res); if (!res.includes('error')) { new Alert('成功,即将刷新'); - setTimeout(() => location.reload(), 3000); + window.setTimeout(() => location.reload(), 3000); } else { new Alert('出错了'); } diff --git a/src/static/css/travel_alarm.css b/src/static/css/travel_alarm.css new file mode 100644 index 0000000..2458af9 --- /dev/null +++ b/src/static/css/travel_alarm.css @@ -0,0 +1,62 @@ +#wh-trv-alarm { + position: absolute; + width: 248px; + background: white; + border-radius: 4px; + box-shadow: #0000001f 0 0 10px 4px; + border: solid 1px #aaa; + z-index: 100001; + margin: 2em; +} + +#wh-trv-alarm button { + margin: 0; +} + +#wh-trv-error { + position: absolute; + width: 100%; + height: 100%; + display: none; +} + +#wh-trv-error p { + background: #ffd0d0; + color: red; + display: table-cell; + vertical-align: middle; + padding: 1em; + text-align: center; +} + +#wh-trv-alarm-title { + height: 30px; + border-bottom: solid #aaa 1px; + cursor: move; +} + +h5#wh-trv-alarm-header { + height: 100%; + line-height: 30px; + padding: 0 12px; + font-weight: bold; + text-align: center; +} + +#wh-trv-alarm-bottom { + padding: 12px; +} + +#wh-trv-alarm-remaining { + float: right; + color: red; +} + +#wh-trv-alarm-cont input[type="number"] { + width: 42px; + border-bottom: solid 1px #aaa; +} + +.wh-trv-alarm-stop-hide { + display: none; +} \ No newline at end of file diff --git a/src/static/html/travel_alarm.html b/src/static/html/travel_alarm.html new file mode 100644 index 0000000..bcf8bc7 --- /dev/null +++ b/src/static/html/travel_alarm.html @@ -0,0 +1,18 @@ +

❌ 没有权限
点击网页内任意位置以激活闹钟

+
+
飞行闹钟
+
+
+
+

+

正在{{}}

+
+
+ +
+
+ +
+
+
\ No newline at end of file