懒猫微服 Go-SDK 使用指南

本文基于 apps-scheduler 和 cat-led 两个实际项目,介绍懒猫微服 Go-SDK 的使用方法。 SDK 简介 懒猫微服 Go-SDK(gitee.com/linakesi/lzc-sdk)是懒猫微服平台提供的 Go 语言 SDK,允许应用通过 gRPC 与懒猫微服系统交互。SDK 封装了以下核心能力: 应用管理(PkgManager):查询、启动、暂停应用 用户管理(Users):查询用户信息 设备管理(Box):查询设备信息、控制 LED、关机/重启 项目结构 使用 Go-SDK 开发的懒猫应用推荐采用如下项目结构: your-app/ ├── cmd/ │ └── your-app/ │ └── main.go # 应用入口 ├── internal/ │ ├── web/ │ │ └── server.go # Web 服务器配置与路由 │ ├── handlers/ │ │ ├── app.go # SDK 调用相关 handler │ │ └── userinfo.go # 用户信息 handler │ ├── biz/ │ │ └── usecase.go # 业务逻辑与数据库操作 │ ├── auth/ │ │ └── oidc.go # OIDC 认证 │ └── ent/ │ └── schema/ # ent ORM schema 定义 ├── go.mod ├── manifest.yml # 懒猫应用清单 ├── lzc-deploy-params.yml # 部署参数配置(可选) ├── lzc-build.yml # 构建配置 └── icon.png # 应用图标 依赖配置 在 go.mod 中添加 SDK 依赖: ...

2026-02-01 · 9 分钟 · czyt

懒猫微服开发简明教程

最近入手了懒猫微服,简单记录下开发相关的内容。 环境配置 先决条件 你必须有一台懒猫微服,购买地址 安装基本环境lzc-cli,请参考官方说明地址 如果你要发布程序,必须要申请成为懒猫微服开发者,申请地址 设备上必须安装懒猫开发者工具 应用。这个应用主要用来通过lzc-cli进入devshell容器的开发以及将本地的测试镜像推送到盒子进行测试。 开发机器上安装懒猫微服客户端,这和懒猫微服的网络机制有关,参考官方文档 。开启客户端并且设备需要联网开机。 如果上面的条件都已经满足,那么我们进入下一步。 不同类型应用的注意事项 Docker应用 对于公网的docker应用如果要使用,需要先进行copy-image来利用懒猫官方提供的镜像源,参考官方说明 。下面是我的一个执行例子: 我在没copy操作之前lzc-cli project devshell cmd: install --uid czyt --pkgId cloud.lazycat.app.gokapi Error: rpc error: code = Unknown desc = "time=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_ID\\\" variable is not set. Defaulting to a blank string.\"\ntime=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_DEPLOY_UID\\\" variable is not set. Defaulting to a blank string.\"\ntime=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_DEPLOY_UID\\\" variable is not set. Defaulting to a blank string.\"\ntime=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_DOMAIN\\\" variable is not set. Defaulting to a blank string.\"\ntime=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_DEPLOY_UID\\\" variable is not set. Defaulting to a blank string.\"\ntime=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_DEPLOY_UID\\\" variable is not set. Defaulting to a blank string.\"\ntime=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_DOMAIN\\\" variable is not set. Defaulting to a blank string.\"\ntime=\"2025-02-08T00:18:51+08:00\" level=warning msg=\"The \\\"LAZYCAT_APP_ID\\\" variable is not set. Defaulting to a blank string.\"\n app Pulling \n gokapi Pulling \n a0bed814693a Already exists \n b4e16c7102ef Already exists \n b23adc163656 Pulling fs layer \n 99db376b5073 Pulling fs layer \n 5ed8719dcb50 Pulling fs layer \n 99db376b5073 Downloading [==================================================>] 251B/251B\n 99db376b5073 Verifying Checksum \n 99db376b5073 Download complete \n b23adc163656 Downloading [> ] 134.7kB/11.46MB\n 5ed8719dcb50 Downloading [> ] 265.8kB/23.48MB\n b23adc163656 Verifying Checksum \n b23adc163656 Download complete \n 5ed8719dcb50 Verifying Checksum \n 5ed8719dcb50 Download complete \n b23adc163656 Extracting [> ] 131.1kB/11.46MB\n b23adc163656 Extracting [======================> ] 5.243MB/11.46MB\n b23adc163656 Extracting [==================================================>] 11.46MB/11.46MB\n gokapi Error unknown: {\"errors\":[{\"code\":\"MANIFEST_UNKNOWN\",\"message\":\"manifest unknown\",\"detail\":{\"name\":\"f0rc3/gokapi\",\"revision\":\"v1.9.6\"}}]}\nError response from daemon: unknown: {\"errors\":[{\"code\":\"MANIFEST_UNKNOWN\",\"message\":\"manifest unknown\",\"detail\":{\"name\":\"f0rc3/gokapi\",\"revision\":\"v1.9.6\"}}]}\n" with exit status 18 Copy ...

2025-02-07 · 12 分钟 · czyt