feat(URL协议): 增强URL协议注册健壮性

- 新增check_url_protocol_status命令检测注册状态
- 新增unregister_url_protocol命令取消注册
- 改进register_url_protocol命令增加验证逻辑
- 前端增加状态检测、自动重试和操作日志功能
- 更新多语言翻译支持新功能
This commit is contained in:
Yukino_fox
2026-05-04 12:11:18 +08:00
parent 3e85c32c9c
commit a2ec923788
28 changed files with 3246 additions and 429 deletions
+73 -2
View File
@@ -128,7 +128,7 @@
"appearance": "المظهر",
"security": "الأمان",
"account": "الحساب",
"database": "اتصال قاعدة البيانات",
"database": "المزامنة السحابية",
"dataManagement": "إدارة البيانات",
"urlProtocol": "بروتوكول URL",
"about": "حول"
@@ -255,6 +255,45 @@
"uploadSuccess": "تم رفع البيانات المحلية إلى الخادم البعيد",
"uploadFailed": "فشل الرفع"
},
"cloudSync": {
"title": "المزامنة السحابية",
"selectMethod": "اختر طريقة المزامنة",
"selectMethodHint": "اختر طريقة مزامنة البيانات. الطريقتان متنافيتان.",
"postgresql": "PostgreSQL ذاتي الاستضافة",
"postgresqlDesc": "اتصل بقاعدة بيانات PostgreSQL الخاصة بك للتحكم الكامل في البيانات.",
"sectlCloud": "مزامنة SECTL السحابية",
"sectlCloudDesc": "مزامنة البيانات عبر منصة SECTL السحابية. لا حاجة لقاعدة بيانات ذاتية.",
"loginRequired": "يرجى تسجيل الدخول إلى SECTL Auth أولاً",
"loginHint": "تتطلب المزامنة السحابية حساب SECTL Auth. يرجى تسجيل الدخول في تبويب 'الحساب'.",
"statusTitle": "حالة المزامنة",
"configured": "جاهز",
"notConfigured": "غير جاهز",
"syncing": "جارٍ المزامنة...",
"lastSync": "آخر مزامنة",
"never": "لم تتم المزامنة قط",
"syncActions": "إجراءات المزامنة",
"syncDirection": "اتجاه المزامنة",
"bidirectional": "ثنائي الاتجاه (موصى به) — دمج تلقائي للبيانات المحلية والسحابية",
"pushOnly": "رفع فقط — استبدال البيانات السحابية بالبيانات المحلية",
"pullOnly": "تنزيل فقط — استبدال البيانات المحلية بالبيانات السحابية",
"startSync": "بدء المزامنة",
"uploadToCloud": "رفع إلى السحابة",
"downloadFromCloud": "تنزيل من السحابة",
"fullSync": "مزامنة ثنائية الاتجاه",
"syncInProgress": "المزامنة قيد التنفيذ، يرجى الانتظار",
"syncConfirm": "تأكيد {{direction}}؟",
"storageUsage": "استخدام التخزين",
"usedStorage": "المستخدم",
"table": "الجدول",
"records": "السجلات",
"size": "الحجم",
"clickToLoadStats": "انقر على التحديث لتحميل الإحصائيات",
"description": "دليل المزامنة السحابية SECTL",
"descriptionPoint1": "مزامنة البيانات عبر خدمة SECTL السحابية. لا حاجة لقاعدة بيانات ذاتية. البيانات معزولة بحساب SECTL Auth.",
"descriptionPoint2": "بناءً على بنية تخزين KV. كل جدول بيانات مخزن كزوج قيمة-مفتاح.",
"descriptionPoint3": "يدعم أنماط ثنائي الاتجاه والرفع فقط والتنزيل فقط.",
"descriptionPoint4": "البيانات منقولة عبر HTTPS مع مصادقة OAuth 2.0."
},
"data": {
"title": "إدارة البيانات",
"settlement": "التسوية",
@@ -301,7 +340,39 @@
"register": "تسجيل بروتوكول URL",
"registered": "تم تسجيل بروتوكول URL",
"registerFailed": "فشل التسجيل",
"installerRequired": "يتطلب الإصدار المثبت من SecScore، قد لا يعمل في وضع التطوير."
"installerRequired": "يتطلب الإصدار المثبت من SecScore، قد لا يعمل في وضع التطوير.",
"checkStatus": "التحقق من الحالة",
"reRegister": "إعادة التسجيل",
"unregister": "إلغاء التسجيل",
"unregistered": "تم إلغاء تسجيل بروتوكول URL",
"unregisterFailed": "فشل إلغاء التسجيل",
"statusRegistered": "مسجل",
"statusNotRegistered": "غير مسجل",
"statusCheckFailed": "فشل التحقق من الحالة",
"retrying": "إعادة المحاولة ({{current}}/{{max}})",
"retryFailed": "تم الوصول إلى الحد الأقصى من المحاولات، فشل التسجيل",
"retrySuccess": "إعادة المحاولة #{{n}} نجحت",
"operationLog": "سجل العمليات",
"logRegisterStart": "بدء تسجيل بروتوكول URL...",
"logRegisterVerify": "تم تنفيذ أمر التسجيل، جارٍ التحقق...",
"logRegisterSuccess": "تم التحقق من التسجيل بنجاح",
"logRegisterFailed": "فشل التحقق من التسجيل",
"logUnregisterStart": "جارٍ إلغاء التسجيل...",
"logUnregisterSuccess": "تم إلغاء التسجيل بنجاح",
"logUnregisterFailed": "فشل إلغاء التسجيل",
"logMaxRetries": "تم الوصول إلى الحد الأقصى من المحاولات (7)"
},
"elevation": {
"title": "صلاحيات المسؤول",
"description": "التحقق مما إذا كان التطبيق يعمل بصلاحيات المسؤول/الجذر. تتطلب بعض الميزات (استماع المنفذ، العمليات على مستوى النظام) صلاحيات مرتفعة.",
"elevated": "مرتفع",
"notElevated": "غير مرتفع",
"request": "طلب صلاحيات المسؤول",
"requestSuccess": "تم طلب صلاحيات المسؤول، سيتم إعادة تشغيل التطبيق",
"requestFailed": "فشل طلب صلاحيات المسؤول",
"windowsHint": "ويندوز: ستظهر رسالة UAC. بعد التأكيد، سيتم إعادة تشغيل التطبيق كمسؤول.",
"macosHint": "macOS: ستظهر نافذة مصادقة النظام. أدخل كلمة مرور المسؤول لإعادة التشغيل.",
"linuxHint": "لينكس: يستخدم pkexec لطلب صلاحيات الجذر. أدخل كلمة المرور لإعادة التشغيل."
},
"mcp": {
"title": "خدمة MCP",