@qian-kun/api
v0.1.1
Published
QK Shell 应用开发 SDK,提供 TypeScript 类型和 API 代理。
Downloads
19
Readme
@qian-kun/api
QK Shell 应用开发 SDK,提供 TypeScript 类型和 API 代理。
安装
在 QK 应用项目中:
npm install @qian-kun/api或在 create-qk-app 脚手架中已预装。
使用
import { clipboard, fs, store, crypto, shell } from '@qian-kun/api'
// 剪贴板
await clipboard.writeText('hello')
const text = await clipboard.readText()
// 文件系统
const content = await fs.readFile('/path/to/file')
await fs.writeFile('/path/to/file', 'content')
const files = await fs.readDir('/path/to/dir')
const path = await fs.dialogOpen()
// 持久化存储(按 app id 自动隔离)
await store.set('key', 'value')
const val = await store.get('key')
await store.remove('key')
// 加密
const hash = await crypto.hash('sha256', 'hello')
// 命令执行
const result = await shell.execute('echo hello')
console.log(result.stdout)Mock 模式
开发时在浏览器中独立调试,@qian-kun/api 自动切换为 mock 实现。在 vite.config.ts 中配置 alias:
export default defineConfig({
resolve: {
alias: {
'@qian-kun/api/mock': '@qian-kun/api/src/mock',
'@qian-kun/api/runtime': '@qian-kun/api/src/runtime',
},
},
})Mock 模式下所有 API 调用会在 console 中输出 [@qian-kun/api mock] 提示,不会实际执行操作。
权限
API 可用性取决于应用 manifest.json 中声明的 permissions。未声明的 API 域不存在,调用会抛出错误。
{
"permissions": ["clipboard", "fs", "store"]
}可用权限:fs、clipboard、shell、store、crypto
