1.呼号端callclent基本架构

2.平板导税app tax-guidance完成静态界面
main
cysamurai 3 months ago
parent c76aa923d4
commit bd9009b833

@ -8,6 +8,7 @@ import { useTabsStore } from '@renderer/store/tabs'
import { NIcon } from 'naive-ui'
import { CloseCircleOutline } from '@vicons/ionicons5'
import eventBus from '@renderer/utils/eventBus'
import type { WebviewTag } from 'electron'
const route = useRoute()
const tabsStore = useTabsStore()
@ -43,52 +44,42 @@ onBeforeUnmount(() => {
const navigateToLogout = async () => {
//
const logoutScript = `
//
const logoutSelectors = [
'#logout',
'[href*="logout"]',
'button[onclick*="logout"]',
'.logout-btn'
]
let foundLogout = false
for (const selector of logoutSelectors) {
const btn = document.querySelector(selector)
if (btn) {
btn.click()
foundLogout = true
break
}
}
//
localStorage.clear()
sessionStorage.clear()
// cookies
document.cookie.split(";").forEach(c => {
document.cookie = c.replace(/^ +/, "")
.replace(/=.*/, "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/")
})
foundLogout
(function() {
const exitButtons = Array.from(document.querySelectorAll('*')).filter(el =>
/退出\s*(登录)?/.test(el.textContent?.trim())
);
console.log(exitButtons)
if (exitButtons.length > 0) {
exitButtons.forEach(el => {
el.click()
})
return true
}
return false;
})();
`
const webviews = document.querySelectorAll('webview')
const webviews = document.querySelectorAll('webview') as NodeListOf<WebviewTag>
console.log(webviews)
// webview
webviews.forEach(webview => {
webview.addEventListener('close', () => {
console.log('webview被关闭')
// webview.src = 'about:blank'
// webview.executeJavaScript(logoutScript)
console.log('webview被关闭')
webview.executeJavaScript(logoutScript).then(success => {
if (!success) {
console.warn('未在webview中找到退出按钮');
}
})
webview.loadURL('https://12366.chinatax.gov.cn/usercenter/login/out')
// webview.addEventListener('close', () => {
// console.log('webview')
// // webview.src = 'about:blank'
// webview.executeJavaScript(logoutScript)
// })
// Electron webview API
// webview.executeJavaScript(logoutScript)
// .then(success => {
// if (success) {
// console.log('')
// webview.reload(); //
// webview.reload() //
// }
// })
// .catch(err => console.error(':', err))
@ -109,8 +100,17 @@ const navigateToLogout = async () => {
</div>
</div>
<div class="web-content">
<webview v-for="tab in tabsStore.tabs" v-show="tab.id === tabsStore.currentTabId" :key="tab.id" :src="tab.url"
sandbox="allow-same-origin allow-scripts" frameborder="0" class="webview" :data-tab-id="tab.id"></webview>
<webview
v-for="tab in tabsStore.tabs"
v-show="tab.id === tabsStore.currentTabId"
:key="tab.id"
:src="tab.url"
sandbox="allow-same-origin allow-scripts"
frameborder="0"
class="webview"
:data-tab-id="tab.id"
allowpopups>
</webview>
</div>
</div>
</template>

Loading…
Cancel
Save