feat(system): ✨ 新增linxu系统ubuntu兼容 (#148)

This commit is contained in:
Dawn
2025-01-05 23:40:21 +08:00
parent 97553407a4
commit 373d87c7a8
6 changed files with 6004 additions and 68 deletions
+56 -56
View File
@@ -249,7 +249,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -284,7 +284,7 @@ checksum = "1b1244b10dcd56c92219da4e14caa97e312079e185f04ba3eea25061561dc0a0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -390,7 +390,7 @@ dependencies = [
"regex",
"rustc-hash 1.1.0",
"shlex",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -975,7 +975,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
dependencies = [
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -985,7 +985,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501"
dependencies = [
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1009,7 +1009,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1020,7 +1020,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
dependencies = [
"darling_core",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1081,7 +1081,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1094,7 +1094,7 @@ dependencies = [
"proc-macro2",
"quote",
"rustc_version",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1199,7 +1199,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1231,7 +1231,7 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1353,7 +1353,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1517,7 +1517,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1631,7 +1631,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1898,7 +1898,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -1994,7 +1994,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -2387,7 +2387,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -3038,7 +3038,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -3089,7 +3089,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -3416,9 +3416,9 @@ dependencies = [
[[package]]
name = "os_info"
version = "3.9.1"
version = "3.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb6651f4be5e39563c4fe5cc8326349eb99a25d805a3493f791d5bfd0269e430"
checksum = "6e6520c8cc998c5741ee68ec1dc369fc47e5f0ea5320018ecf2a1ccd6328f48b"
dependencies = [
"log",
"serde",
@@ -3614,7 +3614,7 @@ dependencies = [
"phf_shared 0.11.2",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -4328,7 +4328,7 @@ dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -4417,7 +4417,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -4428,7 +4428,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -4451,7 +4451,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -4502,7 +4502,7 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -4758,7 +4758,7 @@ dependencies = [
"quote",
"sqlx-core",
"sqlx-macros-core",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -4781,7 +4781,7 @@ dependencies = [
"sqlx-mysql",
"sqlx-postgres",
"sqlx-sqlite",
"syn 2.0.94",
"syn 2.0.95",
"tempfile",
"tokio",
"url",
@@ -5026,9 +5026,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.94"
version = "2.0.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "987bc0be1cdea8b10216bd06e2ca407d40b9543468fafd3ddfb02f36e77f71f3"
checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a"
dependencies = [
"proc-macro2",
"quote",
@@ -5052,7 +5052,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -5144,7 +5144,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -5255,7 +5255,7 @@ dependencies = [
"serde",
"serde_json",
"sha2",
"syn 2.0.94",
"syn 2.0.95",
"tauri-utils",
"thiserror 2.0.9",
"time",
@@ -5273,7 +5273,7 @@ dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"tauri-codegen",
"tauri-utils",
]
@@ -5732,7 +5732,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -5743,7 +5743,7 @@ checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -5839,7 +5839,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -6009,7 +6009,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -6319,7 +6319,7 @@ dependencies = [
"log",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"wasm-bindgen-shared",
]
@@ -6354,7 +6354,7 @@ checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -6533,7 +6533,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -6715,7 +6715,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -6726,7 +6726,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -6737,7 +6737,7 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -6748,7 +6748,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -7195,7 +7195,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"synstructure",
]
@@ -7276,7 +7276,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"zvariant_utils 2.1.0",
]
@@ -7289,7 +7289,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"zbus_names 4.1.0",
"zvariant 5.1.0",
"zvariant_utils 3.0.2",
@@ -7336,7 +7336,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -7356,7 +7356,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"synstructure",
]
@@ -7385,7 +7385,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -7441,7 +7441,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"zvariant_utils 2.1.0",
]
@@ -7454,7 +7454,7 @@ dependencies = [
"proc-macro-crate 3.2.0",
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
"zvariant_utils 3.0.2",
]
@@ -7466,7 +7466,7 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.94",
"syn 2.0.95",
]
[[package]]
@@ -7479,6 +7479,6 @@ dependencies = [
"quote",
"serde",
"static_assertions",
"syn 2.0.94",
"syn 2.0.95",
"winnow 0.6.22",
]
File diff suppressed because it is too large Load Diff
+84
View File
@@ -0,0 +1,84 @@
{
"productName": "HuLa",
"version": "2.5.11",
"identifier": "com.hula.pc",
"build": {
"beforeDevCommand": "pnpm dev",
"beforeBuildCommand": "pnpm build",
"frontendDist": "../dist",
"devUrl": "http://127.0.0.1:6130"
},
"bundle": {
"resources": [
"tray"
],
"active": true,
"icon": [
"icons/windows/32x32.png",
"icons/windows/128x128.png",
"icons/windows/128x128@2x.png",
"icons/windows/icon.icns",
"icons/windows/icon.ico",
"icons/windows/icon.png",
"icons/windows/Square30x30Logo.png",
"icons/windows/Square44x44Logo.png",
"icons/windows/Square71x71Logo.png",
"icons/windows/Square89x89Logo.png",
"icons/windows/Square107x107Logo.png",
"icons/windows/Square142x142Logo.png",
"icons/windows/Square150x150Logo.png",
"icons/windows/Square284x284Logo.png",
"icons/windows/Square310x310Logo.png",
"icons/windows/StoreLogo.png"
],
"linux": {
"appimage": {
"bundleMediaFramework": false,
"files": {}
},
"deb": {
"files": {}
},
"rpm": {
"epoch": 0,
"files": {},
"release": "1"
}
}
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"title": "登录",
"label": "login",
"url": "/login",
"fullscreen": false,
"resizable": false,
"center": true,
"width": 320,
"height": 448,
"skipTaskbar": false,
"transparent": false,
"decorations": false,
"visible": false
},
{
"label": "tray",
"url": "/tray",
"resizable": false,
"center": false,
"visible": false,
"width": 130,
"height": 44,
"alwaysOnTop": true,
"skipTaskbar": true,
"decorations": false
}
],
"security": {
"csp": null
},
"macOSPrivateApi": true
}
}
@@ -260,7 +260,10 @@ const userList = computed(() => {
})
// 创建一个RTCPeerConnection实例
const peerConnection = new RTCPeerConnection()
let peerConnection: RTCPeerConnection
if (type() !== 'linux') {
peerConnection = new RTCPeerConnection()
}
const MIN_LOADING_TIME = 300 // 最小加载时间(毫秒)
+13 -7
View File
@@ -1,12 +1,12 @@
<template>
<!-- user-select: none让元素不可以选中-->
<div
data-tauri-drag-region
:class="osType === 'windows' ? 'flex justify-end select-none' : 'h-24px select-none w-full'">
<template v-if="osType === 'windows'">
<div data-tauri-drag-region :class="isCompatibility ? 'flex justify-end select-none' : 'h-24px select-none w-full'">
<template v-if="isCompatibility">
<!-- 登录窗口的代理按钮 -->
<div v-if="proxy" @click="router.push('/proxy')" class="w-30px h-24px flex-center">
<svg class="size-16px color-#404040 cursor-pointer"><use href="#settings"></use></svg>
<svg class="size-16px color-#404040 cursor-pointer">
<use href="#settings"></use>
</svg>
</div>
<!-- 固定在最顶层 -->
<div v-if="topWinLabel !== void 0" @click="handleAlwaysOnTop" class="hover-box">
@@ -25,7 +25,9 @@
</div>
<!-- 收缩页面 -->
<div v-if="shrink" @click="shrinkWindow" class="hover-box">
<svg class="size-16px color-[--action-bar-icon-color] cursor-pointer"><use href="#left-bar"></use></svg>
<svg class="size-16px color-[--action-bar-icon-color] cursor-pointer">
<use href="#left-bar"></use>
</svg>
</div>
<!-- 最小化 -->
<div v-if="minW" @click="appWindow.minimize()" class="hover-box">
@@ -50,7 +52,7 @@
</div>
</template>
<!-- 是否退到托盘提示框 -->
<n-modal v-if="!tips.notTips && osType === 'windows'" v-model:show="tipsRef.show" class="rounded-8px">
<n-modal v-if="!tips.notTips && isCompatibility" v-model:show="tipsRef.show" class="rounded-8px">
<div class="bg-[--bg-popover] w-290px h-full p-6px box-border flex flex-col">
<svg @click="tipsRef.show = false" class="size-12px ml-a cursor-pointer select-none">
<use href="#close"></use>
@@ -125,6 +127,8 @@ const tipsRef = reactive({
})
// 窗口是否最大化状态
const windowMaximized = ref(false)
/** 判断是兼容的系统 */
const isCompatibility = computed(() => type() === 'windows' || type() === 'linux')
// 窗口是否置顶状态
const alwaysOnTopStatus = computed(() => {
if (topWinLabel === void 0) return false
@@ -271,9 +275,11 @@ onUnmounted(() => {
.hover-box {
@apply w-28px h-24px flex-center hover:bg-[--icon-hover-color];
}
.action-close {
@apply w-28px h-24px flex-center cursor-pointer hover:bg-#c22b1c svg:hover:color-[#fff];
}
.n-modal {
align-self: start;
margin: 60px auto;
+4 -4
View File
@@ -3,8 +3,8 @@ import { EventEnum } from '@/enums'
import { LogicalSize } from '@tauri-apps/api/dpi'
import { type } from '@tauri-apps/plugin-os'
/** 判断是否是windows系统 */
const isWindows = computed(() => type() === 'windows')
/** 判断是兼容的系统 */
const isCompatibility = computed(() => type() === 'windows' || type() === 'linux')
export const useWindow = () => {
/**
* 创建窗口
@@ -46,8 +46,8 @@ export const useWindow = () => {
minHeight: minH,
minWidth: minW,
skipTaskbar: false,
decorations: !isWindows.value,
transparent: isWindows.value,
decorations: !isCompatibility.value,
transparent: isCompatibility.value,
titleBarStyle: 'overlay', // mac覆盖标签栏
hiddenTitle: true, // mac隐藏标题栏
visible: false