57 lines
1.6 KiB
Protocol Buffer
57 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
package laserweld.project_manager;
|
|
|
|
option csharp_namespace = "Laserweld.Protos.ProjectManager";
|
|
|
|
// ===== Java / Android 必须的配置 =====
|
|
option java_multiple_files = true;
|
|
option java_package = "com.lxsoft.weld.grpc";
|
|
option java_outer_classname = "ProjectManagerProto";
|
|
|
|
// ==================== 项目实体 ====================
|
|
|
|
message Project {
|
|
uint32 id = 1; // 项目ID (ushort)
|
|
string name = 2; // 项目名称
|
|
int64 create_time = 3; // 创建时间 (Unix ms)
|
|
bytes thumbnail = 4; // 缩略图 (可选)
|
|
}
|
|
|
|
message ProjectList {
|
|
repeated Project items = 1;
|
|
}
|
|
|
|
// ==================== 项目管理命令 ====================
|
|
|
|
message CreateProject { // 创建项目
|
|
string name = 1; // 项目名称
|
|
bool force = 2; // 强制创建(存在同名则覆盖)
|
|
}
|
|
|
|
message RenameProject { // 重命名项目
|
|
uint32 id = 1; // 项目ID
|
|
string new_name = 2; // 新名称
|
|
}
|
|
|
|
message OpenProject { // 打开项目
|
|
uint32 id = 1; // 项目ID
|
|
bool force = 2; // 强制打开(忽略当前未保存修改)
|
|
}
|
|
|
|
message CloseProject {} // 关闭当前项目
|
|
|
|
message DeleteProject { // 删除项目
|
|
uint32 id = 1; // 项目ID
|
|
}
|
|
|
|
message ExportProject { // 导出项目
|
|
uint32 id = 1; // 项目ID
|
|
}
|
|
|
|
message ImportProject { // 导入项目
|
|
bytes data = 1; // 项目数据
|
|
}
|
|
|
|
message QueryProjects {} // 查询所有项目列表
|
|
message DownloadProject {} // 下载当前项目到板卡
|