Compare commits

...

2 Commits

Author SHA1 Message Date
fish 7d49f7d5a4 预置快捷指令自动读取剪贴板 2026-07-15 23:43:22 +08:00
fish 87eb958869 添加预置快捷指令 2026-07-15 23:39:15 +08:00
2 changed files with 30 additions and 2 deletions
+20
View File
@@ -0,0 +1,20 @@
//
// NoteAppShortcuts.swift
// Note
//
// Created by Kimi Code CLI on 2026/7/15.
//
import AppIntents
struct NoteAppShortcuts: AppShortcutsProvider {
static var appShortcuts: [AppShortcut] {
AppShortcut(
intent: SaveClipIntent(),
phrases: ["保存剪贴板到 ${applicationName}"],
shortTitle: "保存剪贴板",
systemImageName: "doc.text"
)
}
}
+10 -2
View File
@@ -6,13 +6,14 @@
//
import AppIntents
import UIKit
struct SaveClipIntent: AppIntent {
static var title: LocalizedStringResource = "保存剪贴板到 Note"
static var description: IntentDescription? = "将一段文本保存到 Note App 的收集箱,稍后统一处理。"
@Parameter(title: "文案", description: "要保存的文本内容", requestValueDialog: "请提供要保存的文案")
@Parameter(title: "文案", description: "要保存的文本内容", default: "")
var text: String
@Parameter(title: "来源", description: "文案来源,例如应用名称", default: "快捷指令")
@@ -26,7 +27,14 @@ struct SaveClipIntent: AppIntent {
}
func perform() async throws -> some IntentResult & ReturnsValue<String> {
let trimmed = text.trimmingCharacters(in: .whitespacesAndNewlines)
var inputText = text
if inputText.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
inputText = await MainActor.run {
UIPasteboard.general.string ?? ""
}
}
let trimmed = inputText.trimmingCharacters(in: .whitespacesAndNewlines)
guard !trimmed.isEmpty else {
return .result(value: "文案为空,未保存。")
}