proto/service/resource.proto
2024-01-23 14:23:46 +08:00

300 lines
8.8 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3"; //版本声明使用v3版本
package resource;
option go_package = "gitlab.fusenpack.com/backend/resource;service";
// 导入google/api/annotations.proto 注释依赖
import "google/api/annotations.proto";
import "service/basic.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/any.proto";
//定义服务
service resource {
// 删除资源详情
rpc ResourceDelete(ResourceDeleteReq) returns (ResourceDeleteRes) {}
// 更新资源详情
rpc ResourceSave(ResourceSaveReq) returns (ResourceSaveRes) {}
// 获取资源详情
rpc ResourceInfo(ResourceInfoReq) returns (ResourceInfoRes) {}
// 获取资源列表
rpc ResourceList(ResourceListReq) returns (ResourceListRes) {}
// 后端上传--单文件
rpc UploadFileBackend(UploadFileBackendReq) returns (UploadFileBackendRes) {}
// 后端上传--分片上传
rpc UploadFileBackendFragment(UploadFileBackendFragmentReq) returns (UploadFileBackendFragmentRes) {}
// logo合图
rpc LogoCombine(LogoCombineReq) returns (LogoCombineRes) {}
// logo基础信息
rpc LogoInfoSet(LogoInfoSetReq) returns (LogoInfoSetRes) {}
// logo裁剪处理
rpc LogoCropping(LogoCroppingReq) returns (LogoCroppingRes) {}
// logo缩略处理
rpc LogoResize(LogoResizeReq) returns (LogoResizeRes) {}
// logo算法信息提取
rpc LogoAiInfoGet(LogoAiInfoGetReq) returns (LogoAiInfoGetRes) {}
// 设置示例logo
rpc SetExampleLogo(SetExampleLogoReq) returns (SetExampleLogoRes) {}
}
/* 设置示例logo */
message SetExampleLogoReq {
int64 is_example = 1;
int64 logo_id = 2;
}
message SetExampleLogoRes {
}
/* 设置示例logo */
/* logo算法信息提取 */
message LogoAiInfoGetReq {
string logo_url = 1;// logo地址
optional int64 logo_id = 2;// logoID
optional string version = 3;// 算法版本
optional string is_reverse = 4; // 是否反白
optional string logo_crop_type = 5; // 可拆类型
optional int64 is_all_template = 7; // 是否全部模版
repeated string recommend_templates = 6; // 推荐模版
bytes preprocess_logo_metadata = 8; // logo数据库额外参数
optional int64 user_id = 101; // 用户ID
optional int64 guest_id = 102; // 访客ID
}
message LogoAiInfoGetRes {
bytes metadata =1; // AI返回基础信息
}
/* logo算法信息提取 */
/* logo缩略处理 */
message LogoResizeReq{
string resource_id=1; // 资源ID
int64 width=2; // 宽
int64 height=3;// 高
int64 handle_type = 100; // 类型1=缓存 2=重新 3=临时
int64 user_id = 101; // 用户ID
int64 guest_id = 102; // 访客ID
}
message LogoResizeRes{
string resource_id=1;// 资源ID
string resource_url=2;// 资源链接
}
/* logo缩略处理 */
/* 更新资源详情 */
message ResourceSaveReq {
ResourceFilter filter=1;// 过滤条件
ResourceFilter save=2;// 更新数据
}
message ResourceSaveRes {}
/* 更新资源详情 */
/* 删除资源详情 */
message ResourceDeleteReq {
ResourceFilter filter=1;//过滤条件
int64 delete_type = 12; // 删除类型1=删除数据库 2=删除s3 3=删除数据库+s3
int64 delete_limit = 13; // 删除数量
}
message ResourceDeleteRes {}
/* 删除资源详情 */
/* logo裁剪处理 */
message LogoCroppingReq {
string is_remove_bg=1; //是否去背景
string logo_file=2; // 资源
string width=3; // 宽
string height=4; // 高
string proportion=5; // 分辨率
int64 handle_type = 100; // 类型1=缓存 2=重新 3=临时
int64 user_id = 101; // 用户ID
int64 guest_id = 102; // 访客ID
}
message LogoCroppingRes {
string resource_id=1;// 资源ID
string resource_url=2;// 资源链接
bool ismax_proportion=3; // 最大
repeated string img_color=4; // 图片颜色
}
/* logo裁剪处理 */
/* logo基础信息 */
message LogoInfoSetReq {
string logo_url=1;// logo链接
string version=2; // 算法版本
int64 is_all_template=3; // 是否全部模版
}
message LogoInfoSetRes {
string info =1; // 详情
}
/* logo基础信息 */
/* logo合图 */
message LogoCombineReq {
int64 product_template_v2_info_id =1;
string product_template_v2_info_material_img =2;
string product_template_v2_info_template_info =3;
string template_tag =4;
string website=5;
string slogan=6;
string address=7;
string phone=8;
string qrcode=9;
string logo_url=10;
string resolution=11;
TemplateTagColor template_tag_color=12;
string logo_metadata=13;
repeated TemplateTagGroups template_tag_groups=14;
int64 handle_type = 100; // 类型1=缓存 2=重新 3=临时
int64 user_id = 101; // 用户ID
int64 guest_id = 102; // 访客ID
}
message TemplateTagColor {
repeated Color color =1;
int64 index = 2;
}
message Color {
repeated string names = 1;
}
message TemplateTagGroups {
string tag =1;
string name =2;
string value =3;
int64 fixed =4;
}
message LogoCombineRes {
string resource_id = 4; // 资源ID
string resource_url = 6; // 资源链接
int64 diff_time_logo_combine=15; // 合图算法时间
int64 diff_time_upload_file=16; // 合图上传时间
}
/* logo合图 */
/* 后端上传--分片上传 */
message UploadFileBackendFragmentReq {
string file_name = 1; // 文件名
string file_type = 2; // 文件类型
bytes file_content = 3; // 文件流
bytes file_header = 4; // 文件头
string file_data = 5; // base64
string file_key = 6; // 哈希
int64 chunk_number = 7; // 当前分片号:1、2、3
int64 total_chunks = 8; // 总分片数:3
int64 upload_bucket = 10; // 上传桶类型1=持久2=缓存
string upload_type = 11; // 上传方式s3
string upload_id = 12; // 分片上传id
int64 api_type = 13; // 请求类型1=对外2=对内
string source = 14;// 来源
int64 refresh = 15; // 是否覆盖
string resource_id = 16; // 资源ID
string backup_type = 17; // 资源备份oss
bytes metadata = 18; // json格式
int64 content_length = 19; // json格式
int64 cache_type = 100; // 缓存类型0=不缓存 1=存储数据库
int64 user_id = 101;
int64 guest_id = 102;
}
message UploadFileBackendFragmentRes {
string upload_id = 1; // 分片上传id
string resource_type = 2; // 资源类型
string resource_id = 3;// 资源ID
string resource_url = 4;// 资源链接
}
/* 后端上传--分片上传 */
/* 后端上传--单文件 */
message UploadFileBackendReq {
string file_name = 1; // 文件名
string file_type = 2; // 文件类型
bytes file_content = 3; // 文件流
bytes file_header = 4; // 文件头
string file_data = 6; // base64
int64 api_type = 10; // 请求类型1=对外2=对内
int64 upload_bucket = 11; // 上传桶类型1=持久2=缓存
string file_key = 12; // 哈希
string source = 13;// 来源
bytes metadata = 14; // json格式
int64 refresh = 15; // 是否覆盖
string resource_id = 16; // 资源ID
string backup_type = 17; // 资源备份oss
string upload_type = 18; // 上传方式s3
int64 cache_type = 100; // 缓存类型0=不缓存 1=存储数据库
int64 user_id = 101; // 用户ID
int64 guest_id = 102;// 访客ID
}
message UploadFileBackendRes{
string resource_type = 5;// 资源类型
string resource_id = 4;// 资源ID
string resource_url = 6;// 资源链接
}
/* 后端上传--文件流--单文件 */
/* 获取资源列表 */
message ResourceListReq{
ResourceFilter filter=1;// 筛选条件
int64 current_page =101; // 当前页码
int64 per_page =102; // 每页数量
string order_by = 103; // 排序
}
message ResourceListRes{
repeated basic.ResourceInfo list=1; // 列表数据
basic.Meta meta =2; // 列表参数
}
/* 获取资源列表 */
/* 获取资源详情 */
message ResourceInfoReq{
ResourceFilter filter=1; // 筛选条件
}
message ResourceInfoRes{
basic.ResourceInfo info =1;// 详情数据
}
message ResourceFilter {
optional string resource_id = 1; // 资源ID
optional int64 guest_id =2; // 用户ID
optional int64 user_id =3; // 访客ID
optional string resource_type = 4; // 资源类型
optional string resource_url = 5; // 资源链接
optional string version = 6; // 版本
optional int64 api_type = 7; // 请求类型
optional string bucket_name = 8; // 资源桶名称
optional string source = 9; // 渠道
optional bytes metadata = 10; // 额外参数
optional string trace_id = 11; // 链路ID
optional bytes other_filter = 101; // 其他筛选条件
repeated string resource_ids = 102; // 资源IDs
}
message ResourceIds {
repeated string resource_ids = 1;
}
/* 获取资源详情 */