Compare commits
2 Commits
4340fd3635
...
7d49f7d5a4
| Author | SHA1 | Date | |
|---|---|---|---|
| 7d49f7d5a4 | |||
| 87eb958869 |
@@ -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"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,13 +6,14 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import AppIntents
|
import AppIntents
|
||||||
|
import UIKit
|
||||||
|
|
||||||
struct SaveClipIntent: AppIntent {
|
struct SaveClipIntent: AppIntent {
|
||||||
|
|
||||||
static var title: LocalizedStringResource = "保存剪贴板到 Note"
|
static var title: LocalizedStringResource = "保存剪贴板到 Note"
|
||||||
static var description: IntentDescription? = "将一段文本保存到 Note App 的收集箱,稍后统一处理。"
|
static var description: IntentDescription? = "将一段文本保存到 Note App 的收集箱,稍后统一处理。"
|
||||||
|
|
||||||
@Parameter(title: "文案", description: "要保存的文本内容", requestValueDialog: "请提供要保存的文案")
|
@Parameter(title: "文案", description: "要保存的文本内容", default: "")
|
||||||
var text: String
|
var text: String
|
||||||
|
|
||||||
@Parameter(title: "来源", description: "文案来源,例如应用名称", default: "快捷指令")
|
@Parameter(title: "来源", description: "文案来源,例如应用名称", default: "快捷指令")
|
||||||
@@ -26,7 +27,14 @@ struct SaveClipIntent: AppIntent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func perform() async throws -> some IntentResult & ReturnsValue<String> {
|
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 {
|
guard !trimmed.isEmpty else {
|
||||||
return .result(value: "文案为空,未保存。")
|
return .result(value: "文案为空,未保存。")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user