2026-04-27 12:21:12 +00:00
|
|
|
//
|
|
|
|
|
// WorkerPlugin.swift
|
|
|
|
|
// Mio Island plugin: 摸鱼侠
|
|
|
|
|
//
|
|
|
|
|
// Principal class. Module = WorkerPlugin, Class = WorkerPlugin →
|
|
|
|
|
// NSPrincipalClass = "WorkerPlugin.WorkerPlugin".
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
import AppKit
|
|
|
|
|
import SwiftUI
|
|
|
|
|
|
|
|
|
|
final class WorkerPlugin: NSObject, MioPlugin {
|
|
|
|
|
var id: String { "worker" }
|
|
|
|
|
var name: String { "摸鱼侠" }
|
|
|
|
|
var icon: String { "fish.fill" }
|
2026-05-20 02:12:40 +00:00
|
|
|
var version: String { "0.3.0" }
|
2026-04-27 12:21:12 +00:00
|
|
|
|
|
|
|
|
func activate() {
|
|
|
|
|
WorkerDebugLog.write("plugin activate")
|
|
|
|
|
Task { @MainActor in
|
|
|
|
|
WorkerStore.shared.start()
|
|
|
|
|
WorkerNotificationCenter.shared.requestAuthorizationIfNeeded()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func deactivate() {
|
|
|
|
|
WorkerDebugLog.write("plugin deactivate")
|
|
|
|
|
Task { @MainActor in
|
|
|
|
|
WorkerStore.shared.stop()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func makeView() -> NSView {
|
|
|
|
|
let view = NSHostingView(rootView: ExpandedView())
|
|
|
|
|
view.autoresizingMask = [.width, .height]
|
|
|
|
|
return view
|
|
|
|
|
}
|
|
|
|
|
}
|