tauri应用实现一键快速更新版本

tauri应用实现一键快速更新版本

创建一个项目

pnpm create tauri-app

根据配置选择就可以

pnpm tauri dev

启动项目

##更新配置
打包配置在src-tauri/tauri.conf.json
修改打包命令

"bundle": {
      "active": true,
      "targets": "all",
      "identifier": "com.tauri.build" //改成build
}

生成更新秘钥

pnpm tauri signer generate -w ~/.tauri/myapp.key

配置到本地的环境变量中

主要配置这两个

TAURI_KEY_PASSWORD //生成时输入的密码
TAURI_PRIVATE_KEY //私钥

可以使用

echo $TAURI_KEY_PASSWORD和echo $TAURI_PRIVATE_KEY

查看是否生效

设置公钥

将.pub后缀的文件内容复制到pubkey字段(公钥)

这个是另外的一个公开可以访问的update.json

{
  "version": "1.0.7",
  "notes": "kestrel-task",
  "pub_date": "2024-03-23T03:23:09.995Z",
  "platforms": {
    "windows-x86_64": {
      "signature": "打包时的zip.sig 里面的内容",
      "url": "https://kestrel-task.cn/kestrel-task_1.0.7_x64_zh-CN.msi.zip"
    }
  }
}

uodate.json更新信息配置

    "updater": {
      "active": true,
      "endpoints": [
        "https://kestrel-task.cn/update.json"
      ],
      "dialog": false,
      "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDcyRjlGRUM5N0UxNDRDNzkKUldSNVRCUit5Zjc1Y2pxMk1tRG5uK0pMc3IyclFNL3lsYWw2OUtNc2lPbjB3UUZGNjIyamRsVzQK"
    },

endpoints 可以上传到公开的git仓库里面去。

写一个更新的脚本

更新我们的版本号。主要更新 src-tauri/tauri.conf.json这个里面的version版本号。实现根据前面的版本号,增加。并且打包。

//updateVersion.js

import fs from 'fs' // 读取 tauri.conf.json
const tauriConf = JSON.parse(fs.readFileSync('../src-tauri/tauri.conf.json', 'utf8'));
let version = tauriConf.package.version; //更新的版本号

//更新版本号
let versionParts = version.split('.').map(Number);
versionParts[2] += 1;
let newVersion = version;

// 更新 tauri.conf.json version
tauriConf.package.version = newVersion;
fs.writeFileSync('../src-tauri/tauri.conf.json', JSON.stringify(tauriConf, null, 2));

更新完开始打包

pnpm tauri build

自动修改发布信息,更新公钥版本信息

import fs from 'fs'
// 读取 tauri.conf.json
const tauriConf = JSON.parse(fs.readFileSync('../src-tauri/tauri.conf.json', 'utf8'));
let newVersion = tauriConf.package.version; //更新的版本号

// 读取 update.json
let updateJson = JSON.parse(fs.readFileSync('update.json', 'utf8'));
// 更新 update.json version
updateJson.version = newVersion;

//获取版本更新的内容
//签名、版本路径、发版日期
const signature =  fs.readFileSync(`../src-tauri/target/release/bundle/msi/kestrel-task_${newVersion}_x64_zh-CN.msi.zip.sig`, 'utf8');
updateJson.platforms['windows-x86_64'].signature = signature;
updateJson.platforms['windows-x86_64'].url = `https://kestrel-task.cn/kestrel-task_${newVersion}_x64_zh-CN.msi.zip`
updateJson.pub_date = new Date();
fs.writeFileSync('update.json', JSON.stringify(updateJson, null, 2));

执行脚本

"pub": "cd build && node ./updateVersion.js && pnpm tauri build && node ./publish.js"

打包更新版本、发布

pnpm pub

发布版本到git或者服务器

我的是发布到服务器。
上传update.json 到服务器。及安装包。

测试更新

更新成功

应用地址

微芒计划

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 TauriRust 结合实现接入 AI 是一种可行的方式。以下是一种简单的实现思路: 1. 选择 AI 库: 首先,选择一个适合你的需求的 AI 库。在 Rust 中,有许多成熟的 AI 库可供选择,例如 TensorFlow、PyTorch、ONNX Runtime 等。根据你的具体需求,选择一个合适的库来进行 AI 模型的加载和推理。 2. 在 Rust 中加载和使用 AI 模型: 使用选定的 AI 库,在 Rust 中加载和使用 AI 模型。这通常涉及到模型的加载、预处理输入数据、调用 AI 模型进行推理,以及处理输出结果等步骤。根据你选择的 AI 库和具体的 AI 模型,可以参考相应的文档和示例代码来实现这些功能。 3. 在 Tauri 中创建自定义 API: 在 TauriRust 代码中创建自定义 API,用于将 AI 功能封装为 Tauri 的 API。这样,你就可以在 JavaScript/TypeScript 中通过 Tauri API 调用 AI 功能。 4. 在前端代码中调用 Tauri API: 在你的前端代码(如 Angular)中,使用 Tauri 提供的方法来调用自定义的 AI API。通过调用 Tauri API,你可以将输入数据发送到 Rust 代码中进行 AI 推理,并将结果返回给前端进行展示或后续处理。 需要注意的是,具体的实现方式会因为选择的 AI 库和具体的 AI 模型而有所不同。你可以参考 Tauri 和选定 AI 库的文档、示例代码以及相关社区资源来实现 AI 功能的接入。另外,确保在 Rust 中使用 AI 库时,根据需要处理好内存管理、并发性能等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值