Skip to content

Commit 9714c6d

Browse files
committed
feat: update
1 parent 8bf7137 commit 9714c6d

File tree

4 files changed

+86
-130
lines changed

4 files changed

+86
-130
lines changed

src/App.vue

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,6 @@ onMounted(() => {
3030
</nav>
3131
</div>
3232
</header> -->
33-
<n-watermark
34-
v-if="true"
35-
content="开发中,功能不可用"
36-
cross
37-
fullscreen
38-
:font-size="16"
39-
:line-height="16"
40-
:width="384"
41-
:height="384"
42-
:x-offset="12"
43-
:y-offset="60"
44-
:rotate="-15"
45-
:z-index="9999"
46-
/>
4733
<Sidebar>
4834
<RouterView />
4935
</Sidebar>

src/views/AutoUIView.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<template>
2+
<n-watermark v-if="true" content="开发中,功能不可用" cross fullscreen :font-size="16" :line-height="16" :width="384"
3+
:height="384" :x-offset="12" :y-offset="60" :rotate="-15" :z-index="9999" />
24
<main class="autoui-view">
35
<div class="mt-5">
46
<div class="px-4 sm:px-0 mb-5">

src/views/HomeView.vue

Lines changed: 73 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@ import $to from 'await-to-js'
66
import ErrorModal from '@/components/ErrorModal.vue';
77
import EmbeddedAppDrawer from '@/components/EmbeddedAppDrawer.vue';
88
// @ts-ignore
9-
import { exec } from 'kernelsu';
10-
import { NButton, createDiscreteApi, type DataTableColumns, type MessageApi } from 'naive-ui'
9+
import { NButton, createDiscreteApi, type DataTableColumns } from 'naive-ui'
1110
import * as ksuApi from '@/apis/ksuApi'
1211
import { useDeviceStore } from '@/stores/device';
1312
import * as xmlFormat from '@/utils/xmlFormat';
14-
import axios from 'axios';
1513
import { useEmbeddedStore } from '@/stores/embedded';
1614
type EmbeddedAppDrawerInstance = InstanceType<typeof EmbeddedAppDrawer>;
1715
@@ -20,11 +18,7 @@ const embeddedStore = useEmbeddedStore()
2018
const addEmbeddedApp = ref<EmbeddedAppDrawerInstance | null>(null);
2119
const updateEmbeddedApp = ref<EmbeddedAppDrawerInstance | null>(null);
2220
const { message, modal } = createDiscreteApi(['message', 'modal'])
23-
const testMsg = ref<any>({})
24-
const testXml = ref<any>('')
2521
const columns = createColumns()
26-
const activeDrawer = ref(false)
27-
const sourceEmbeddedRulesList = ref<string>()
2822
const showErrorModal = ref(false)
2923
3024
watch(
@@ -55,6 +49,15 @@ const pagination = reactive({
5549
})
5650
5751
const openAddEmbeddedApp = async () => {
52+
if (deviceStore.androidTargetSdk && ![32, 33, 34].includes(deviceStore.androidTargetSdk)) {
53+
modal.create({
54+
title: '不兼容说明',
55+
type: 'warning',
56+
preset: 'dialog',
57+
content: () => (<p>该功能尚未对 Android 11 或 Android 15+ 做兼容,请等待后续更新情况!</p>)
58+
})
59+
return;
60+
}
5861
if (addEmbeddedApp.value) {
5962
const [addEmbeddedAppErr, addEmbeddedAppRes] = await $to(addEmbeddedApp.value.openDrawer())
6063
if (addEmbeddedAppErr) {
@@ -210,55 +213,16 @@ const openUpdateEmbeddedApp = async (row: EmbeddedMergeRuleItem, index: number)
210213
}
211214
}
212215
213-
const testAction = async () => {
214-
const [err, res] = await $to(ksuApi.updateEmbeddedApp({
215-
customEmbeddedRulesListXML: xmlFormat.objectToXML(embeddedStore.sourceEmbeddedRulesList),
216-
customFixedOrientationListXML: xmlFormat.objectToXML(embeddedStore.sourceFixedOrientationList),
217-
settingConfigXML: '',
218-
switchAction: {
219-
name: 'com.tencent.mobileqq',
220-
action: 'disable'
221-
}
222-
}))
223-
224-
if (err) {
225-
errorTest.value = err;
226-
} else {
227-
successTest.value = res;
228-
}
229-
230-
message.info('成功了')
231-
232-
}
233-
234-
const successTest = ref<any>([]);
235-
236-
const errorTest = ref<any>([]);
237-
238-
onMounted(async () => {
239-
// // 测试获取XML文件
240-
const [
241-
getCustomConfigEmbeddedRulesListErr,
242-
getCustomConfigEmbeddedRulesListRes,
243-
] = await $to(ksuApi.getCustomConfigEmbeddedRulesList());
244-
if (!getCustomConfigEmbeddedRulesListErr) {
245-
testXml.value = xmlFormat.testXMLToObject<any>(
246-
getCustomConfigEmbeddedRulesListRes,
247-
'package_config',
248-
'package',
249-
true
250-
);
251-
// testXml.value = xml;
252-
}
253-
// const [sourceEmbeddedRulesListErr,sourceEmbeddedRulesListData] = await $to(ksuApi.getSourceEmbeddedRulesList())
254-
// if (sourceEmbeddedRulesListErr) {
255-
// message.error(`报错了,呜呜呜`)
256-
// }
257-
// sourceEmbeddedRulesList.value = sourceEmbeddedRulesListData
258-
259-
})
260-
261216
const handleRuleMode = (row: EmbeddedMergeRuleItem, index: number, ruleMode: EmbeddedMergeRuleItem["ruleMode"]) => {
217+
if (deviceStore.androidTargetSdk && ![32, 33, 34].includes(deviceStore.androidTargetSdk)) {
218+
modal.create({
219+
title: '不兼容说明',
220+
type: 'warning',
221+
preset: 'dialog',
222+
content: () => (<p>该功能尚未对 Android 11 或 Android 15+ 做兼容,请等待后续更新情况!</p>)
223+
})
224+
return;
225+
}
262226
if (ruleMode === 'module') {
263227
modal.create({
264228
title: '模块规则说明',
@@ -276,8 +240,24 @@ const handleRuleMode = (row: EmbeddedMergeRuleItem, index: number, ruleMode: Emb
276240
content: () => (<p>清除自定义规则后,你对 <span class="font-bold text-gray-600">{row.name}</span> 所做的所有自定义配置将丢失,如果该应用同时还存在 <span class="font-bold text-gray-600">模块规则</span> ,将会还原回模块自身的适配规则。确定要继续吗?</p>),
277241
positiveText: '确定清除',
278242
negativeText: '我再想想',
279-
onPositiveClick: () => {
280-
message.info('该功能尚在开发中,请等待后续消息')
243+
onPositiveClick: async () => {
244+
if (embeddedStore.customConfigEmbeddedRulesList[row.name]) {
245+
delete embeddedStore.customConfigEmbeddedRulesList[row.name]
246+
}
247+
if (embeddedStore.customConfigFixedOrientationList[row.name]) {
248+
delete embeddedStore.customConfigFixedOrientationList[row.name]
249+
}
250+
const [submitUpdateEmbeddedAppErr, submitUpdateEmbeddedAppRes] = await $to(ksuApi.updateEmbeddedApp({
251+
customEmbeddedRulesListXML: xmlFormat.objectToXML(embeddedStore.customConfigEmbeddedRulesList),
252+
customFixedOrientationListXML: xmlFormat.objectToXML(embeddedStore.customConfigFixedOrientationList),
253+
settingConfigXML: xmlFormat.objectToXML(embeddedStore.embeddedSettingConfig)
254+
}))
255+
if (submitUpdateEmbeddedAppErr) {
256+
message.error('清除自定义规则失败')
257+
} else {
258+
message.info('清除自定义规则成功')
259+
embeddedStore.updateMergeRuleList()
260+
}
281261
}
282262
})
283263
}
@@ -313,32 +293,64 @@ function createColumns(): DataTableColumns<EmbeddedMergeRuleItem> {
313293
type: 'success',
314294
name: '平行窗口',
315295
onClick(row: EmbeddedMergeRuleItem, index: number) {
296+
if (deviceStore.androidTargetSdk && ![32, 33, 34].includes(deviceStore.androidTargetSdk)) {
297+
modal.create({
298+
title: '不兼容说明',
299+
type: 'warning',
300+
preset: 'dialog',
301+
content: () => (<p>该功能尚未对 Android 11 或 Android 15+ 做兼容,请等待后续更新情况!</p>)
302+
})
303+
return;
304+
}
316305
openUpdateEmbeddedApp(row, index)
317-
testMsg.value = row;
318306
}
319307
},
320308
fullScreen: {
321309
type: 'info',
322310
name: '全屏',
323311
onClick(row: EmbeddedMergeRuleItem, index: number) {
312+
if (deviceStore.androidTargetSdk && ![32, 33, 34].includes(deviceStore.androidTargetSdk)) {
313+
modal.create({
314+
title: '不兼容说明',
315+
type: 'warning',
316+
preset: 'dialog',
317+
content: () => (<p>该功能尚未对 Android 11 或 Android 15+ 做兼容,请等待后续更新情况!</p>)
318+
})
319+
return;
320+
}
324321
openUpdateEmbeddedApp(row, index)
325-
testMsg.value = row;
326322
}
327323
},
328324
fixedOrientation: {
329325
type: 'warning',
330326
name: '居中布局',
331327
onClick(row: EmbeddedMergeRuleItem, index: number) {
328+
if (deviceStore.androidTargetSdk && ![32, 33, 34].includes(deviceStore.androidTargetSdk)) {
329+
modal.create({
330+
title: '不兼容说明',
331+
type: 'warning',
332+
preset: 'dialog',
333+
content: () => (<p>该功能尚未对 Android 11 或 Android 15+ 做兼容,请等待后续更新情况!</p>)
334+
})
335+
return;
336+
}
332337
openUpdateEmbeddedApp(row, index)
333-
testMsg.value = row;
334338
}
335339
},
336340
disabled: {
337341
type: 'error',
338342
name: '原始布局',
339343
onClick(row: EmbeddedMergeRuleItem, index: number) {
344+
if (deviceStore.androidTargetSdk && ![32, 33, 34].includes(deviceStore.androidTargetSdk)) {
345+
modal.create({
346+
title: '不兼容说明',
347+
type: 'warning',
348+
preset: 'dialog',
349+
content: () => (<p>该功能尚未对 Android 11 或 Android 15+ 做兼容,请等待后续更新情况!</p>)
350+
})
351+
return;
352+
}
340353
openUpdateEmbeddedApp(row, index)
341-
testMsg.value = row;
342354
}
343355
}
344356
}
@@ -357,49 +369,6 @@ function createColumns(): DataTableColumns<EmbeddedMergeRuleItem> {
357369
发生错误,无法加载
358370
</template>
359371
<main class="mb-10">
360-
<div>
361-
<!-- <p class="text-blue-600 text-2xl text-center text-indigo-600">完美横屏应用计划 Web UI 管理后台正在开发中,敬请期待~</p>
362-
<div class="text-center mt-10 mb-10">
363-
<n-button @click="activeDrawer = true">
364-
这是一个测试用的抽屉~内容是小米的往年标语~
365-
</n-button>
366-
</div> -->
367-
<n-drawer v-model:show="activeDrawer" :width="502" placement="right">
368-
<n-drawer-content title="测试抽屉" closable>
369-
<p>测试成功信息</p>
370-
{{ successTest }}
371-
<p>测试失败信息</p>
372-
{{ errorTest }}
373-
<p>获取设备信息</p>
374-
<p>{{ deviceStore.deviceCharacteristics }}</p>
375-
<p>获取设备Android Target</p>
376-
<p>{{ deviceStore.androidTargetSdk }}</p>
377-
<p>获取设备Soc类型</p>
378-
<p>{{ deviceStore.deviceSocModel }}</p>
379-
<p>获取设备Soc名称</p>
380-
<p>{{ deviceStore.deviceSocName }}</p>
381-
<p>点击获取到的信息</p>
382-
<p>{{ testMsg }}</p>
383-
<p>测试xml</p>
384-
<p>{{ testXml }}</p>
385-
<p>错误信息收集</p>
386-
<p>{{ embeddedStore.errorLogging }}</p>
387-
<p>自定义平行窗口配置</p>
388-
<p>{{ embeddedStore.customConfigEmbeddedRulesList }}</p>
389-
<p>自定义信息模式配置</p>
390-
<p>{{ embeddedStore.customConfigFixedOrientationList }}</p>
391-
<!-- <p>{{ embeddedStore.customConfigEmbeddedRulesList }}</p> -->
392-
<p>模块平行窗口配置</p>
393-
<p>{{ embeddedStore.sourceEmbeddedRulesList }}</p>
394-
<p>模块信箱模式配置</p>
395-
<p>{{ embeddedStore.sourceFixedOrientationList }}</p>
396-
<p>模块横屏配置</p>
397-
<p>{{ embeddedStore.embeddedSettingConfig }}</p>
398-
<p>模块合并配置</p>
399-
<p>{{ embeddedStore.mergeRuleList }}</p>
400-
</n-drawer-content>
401-
</n-drawer>
402-
</div>
403372
<div class="mt-5">
404373
<div class="px-4 sm:px-0 mb-5">
405374
<h3 class="text-base font-semibold leading-7 text-gray-900">应用横屏配置</h3>
@@ -413,12 +382,6 @@ function createColumns(): DataTableColumns<EmbeddedMergeRuleItem> {
413382
<n-button class="mb-3 mr-3" type="success" @click="() => reloadPage()">
414383
刷新 Web UI
415384
</n-button>
416-
<n-button class="mb-3 mr-3" @click="activeDrawer = true">
417-
测试专用按钮
418-
</n-button>
419-
<n-button class="mb-3" @click="testAction">
420-
测试提交
421-
</n-button>
422385
<n-input-group>
423386
<n-input size="large" v-model:value="embeddedStore.searchKeyWord" placeholder="搜索应用包名" autosize
424387
style="min-width: 80%" />

src/views/SettingsView.vue

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { CSSProperties } from 'vue'
44
import { createDiscreteApi } from 'naive-ui'
55
const deviceStore = useDeviceStore()
66
const { message } = createDiscreteApi(['message'])
7-
const handleSmartFocusIOChange = (value:boolean) => {
7+
const handleSmartFocusIOChange = (value: boolean) => {
88
message.info('功能尚未上线,无任何实际效果,请等待后续更新!')
99
}
1010
const railStyle = ({
@@ -31,6 +31,8 @@ const railStyle = ({
3131
}
3232
</script>
3333
<template>
34+
<n-watermark v-if="true" content="开发中,功能不可用" cross fullscreen :font-size="16" :line-height="16" :width="384"
35+
:height="384" :x-offset="12" :y-offset="60" :rotate="-15" :z-index="9999" />
3436
<div class="setting">
3537
<div class="mt-5">
3638
<div class="px-4 sm:px-0">
@@ -50,11 +52,13 @@ const railStyle = ({
5052
</div>
5153
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
5254
<dt class="text-sm font-medium leading-6 text-gray-900">设备Soc类型</dt>
53-
<dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0">{{ deviceStore.deviceSocModel || '非Android设备环境' }}</dd>
55+
<dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0">{{ deviceStore.deviceSocModel ||
56+
'非Android设备环境' }}</dd>
5457
</div>
5558
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
5659
<dt class="text-sm font-medium leading-6 text-gray-900">设备Soc名称</dt>
57-
<dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0">{{ deviceStore.deviceSocName || '非Android设备环境' }}</dd>
60+
<dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0">{{ deviceStore.deviceSocName ||
61+
'非Android设备环境' }}</dd>
5862
</div>
5963
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
6064
<dt class="text-sm font-medium leading-6 text-gray-900">Xiaomi Hyper OS 版本号</dt>
@@ -63,7 +67,8 @@ const railStyle = ({
6367
</div>
6468
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
6569
<dt class="text-sm font-medium leading-6 text-gray-900">Android Target Version</dt>
66-
<dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0">{{ deviceStore.androidTargetSdk || '非Android设备环境' }}
70+
<dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0">{{ deviceStore.androidTargetSdk ||
71+
'非Android设备环境' }}
6772
</dd>
6873
</div>
6974
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
@@ -73,8 +78,8 @@ const railStyle = ({
7378
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
7479
<dt class="text-sm font-medium leading-6 text-gray-900">智能IO调度</dt>
7580
<dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0">
76-
<n-switch :rail-style="railStyle" @update:value="handleSmartFocusIOChange" v-if="deviceStore.smartFocusIO" checked-value="on"
77-
unchecked-value="off">
81+
<n-switch :rail-style="railStyle" @update:value="handleSmartFocusIOChange" v-if="deviceStore.smartFocusIO"
82+
checked-value="on" unchecked-value="off">
7883
<template #checked>
7984
已启用智能IO调度
8085
</template>

0 commit comments

Comments
 (0)