proto/service/resource.proto

300 lines
8.8 KiB
Protocol Buffer
Raw Normal View History

2023-12-04 10:21:07 +00:00
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";
//定义服务
2023-12-06 08:18:22 +00:00
service resource {
2023-12-07 07:49:16 +00:00
// 删除资源详情
rpc ResourceDelete(ResourceDeleteReq) returns (ResourceDeleteRes) {}
// 更新资源详情
rpc ResourceSave(ResourceSaveReq) returns (ResourceSaveRes) {}
2023-12-06 08:18:22 +00:00
2023-12-04 10:21:07 +00:00
// 获取资源详情
2023-12-07 07:49:16 +00:00
rpc ResourceInfo(ResourceInfoReq) returns (ResourceInfoRes) {}
2023-12-05 08:12:13 +00:00
// 获取资源列表
2023-12-07 07:49:16 +00:00
rpc ResourceList(ResourceListReq) returns (ResourceListRes) {}
2023-12-06 08:18:22 +00:00
// 后端上传--单文件
2023-12-06 10:34:22 +00:00
rpc UploadFileBackend(UploadFileBackendReq) returns (UploadFileBackendRes) {}
2023-12-06 08:18:22 +00:00
// 后端上传--分片上传
2023-12-06 10:34:22 +00:00
rpc UploadFileBackendFragment(UploadFileBackendFragmentReq) returns (UploadFileBackendFragmentRes) {}
// logo合图
rpc LogoCombine(LogoCombineReq) returns (LogoCombineRes) {}
2023-12-07 07:49:16 +00:00
// logo基础信息
rpc LogoInfoSet(LogoInfoSetReq) returns (LogoInfoSetRes) {}
// logo裁剪处理
rpc LogoCropping(LogoCroppingReq) returns (LogoCroppingRes) {}
2023-12-07 08:25:22 +00:00
// logo缩略处理
rpc LogoResize(LogoResizeReq) returns (LogoResizeRes) {}
2024-01-18 10:23:36 +00:00
2024-01-22 07:02:31 +00:00
// logo算法信息提取
rpc LogoAiInfoGet(LogoAiInfoGetReq) returns (LogoAiInfoGetRes) {}
2024-01-22 08:23:36 +00:00
// 设置示例logo
rpc SetExample(SetExampleReq) returns (SetExampleRes) {}
}
/* 设置示例logo */
message SetExampleReq {
int64 is_example = 1;
int64 logo_id = 2;
}
message SetExampleRes {
2024-01-22 07:02:31 +00:00
}
2024-01-22 08:23:36 +00:00
/* 设置示例logo */
2024-01-22 07:02:31 +00:00
/* logo算法信息提取 */
message LogoAiInfoGetReq {
string logo_url = 1;// logo地址
2024-01-22 08:42:00 +00:00
optional int64 logo_id = 2;// logoID
optional string version = 3;// 算法版本
optional string is_reverse = 4; // 是否反白
optional string logo_crop_type = 5; // 可拆类型
optional string is_all_template = 7; // 是否全部模版
2024-01-22 08:13:31 +00:00
repeated string recommend_templates = 6; // 推荐模版
2024-01-22 08:42:00 +00:00
bytes preprocess_logo_metadata = 8; // logo数据库额外参数
optional int64 user_id = 101; // 用户ID
optional int64 guest_id = 102; // 访客ID
2023-12-07 08:25:22 +00:00
}
2024-01-22 07:02:31 +00:00
message LogoAiInfoGetRes {
2024-01-22 08:02:38 +00:00
bytes metadata =1; // AI返回基础信息
2024-01-22 07:02:31 +00:00
}
/* logo算法信息提取 */
2023-12-07 08:25:22 +00:00
/* logo缩略处理 */
message LogoResizeReq{
2024-01-18 10:23:36 +00:00
string resource_id=1; // 资源ID
int64 width=2; // 宽
int64 height=3;// 高
2023-12-07 08:25:22 +00:00
int64 handle_type = 100; // 类型1=缓存 2=重新 3=临时
2024-01-18 10:23:36 +00:00
int64 user_id = 101; // 用户ID
int64 guest_id = 102; // 访客ID
2023-12-07 07:49:16 +00:00
}
2023-12-07 08:25:22 +00:00
message LogoResizeRes{
2024-01-18 10:23:36 +00:00
string resource_id=1;// 资源ID
string resource_url=2;// 资源链接
2023-12-07 08:25:22 +00:00
}
/* logo缩略处理 */
2023-12-07 07:49:16 +00:00
/* 更新资源详情 */
message ResourceSaveReq {
2024-01-18 10:23:36 +00:00
ResourceFilter filter=1;// 过滤条件
ResourceFilter save=2;// 更新数据
2023-12-07 07:49:16 +00:00
}
message ResourceSaveRes {}
/* 更新资源详情 */
/* 删除资源详情 */
message ResourceDeleteReq {
2024-01-18 10:23:36 +00:00
ResourceFilter filter=1;//过滤条件
2023-12-07 07:49:16 +00:00
int64 delete_type = 12; // 删除类型1=删除数据库 2=删除s3 3=删除数据库+s3
int64 delete_limit = 13; // 删除数量
}
message ResourceDeleteRes {}
/* 删除资源详情 */
/* logo裁剪处理 */
message LogoCroppingReq {
2024-01-18 10:23:36 +00:00
string is_remove_bg=1; //是否去背景
string logo_file=2; // 资源
string width=3; // 宽
string height=4; // 高
string proportion=5; // 分辨率
2023-12-07 07:49:16 +00:00
int64 handle_type = 100; // 类型1=缓存 2=重新 3=临时
2024-01-18 10:23:36 +00:00
int64 user_id = 101; // 用户ID
int64 guest_id = 102; // 访客ID
2023-12-07 07:49:16 +00:00
}
message LogoCroppingRes {
2024-01-18 10:23:36 +00:00
string resource_id=1;// 资源ID
string resource_url=2;// 资源链接
bool ismax_proportion=3; // 最大
repeated string img_color=4; // 图片颜色
2023-12-07 07:49:16 +00:00
}
/* logo裁剪处理 */
/* logo基础信息 */
message LogoInfoSetReq {
2024-01-18 10:23:36 +00:00
string logo_url=1;// logo链接
string version=2; // 算法版本
int64 is_all_template=3; // 是否全部模版
2023-12-07 07:49:16 +00:00
}
message LogoInfoSetRes {
2024-01-18 10:23:36 +00:00
string info =1; // 详情
2023-12-06 10:34:22 +00:00
}
2023-12-07 07:49:16 +00:00
/* logo基础信息 */
2023-12-06 10:34:22 +00:00
/* 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;
2023-12-07 07:49:16 +00:00
int64 handle_type = 100; // 类型1=缓存 2=重新 3=临时
2024-01-18 10:23:36 +00:00
int64 user_id = 101; // 用户ID
int64 guest_id = 102; // 访客ID
2023-12-06 10:34:22 +00:00
}
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;
2023-12-05 08:12:13 +00:00
}
2023-12-06 10:34:22 +00:00
message LogoCombineRes {
2024-01-18 10:23:36 +00:00
string resource_id = 4; // 资源ID
string resource_url = 6; // 资源链接
2023-12-07 07:49:16 +00:00
int64 diff_time_logo_combine=15; // 合图算法时间
int64 diff_time_upload_file=16; // 合图上传时间
2023-12-06 10:34:22 +00:00
}
/* logo合图 */
2023-12-06 08:18:22 +00:00
/* 后端上传--分片上传 */
message UploadFileBackendFragmentReq {
string file_name = 1; // 文件名
2024-01-19 10:21:00 +00:00
string file_type = 2; // 文件类型
2023-12-07 07:49:16 +00:00
bytes file_content = 3; // 文件流
bytes file_header = 4; // 文件头
string file_data = 5; // base64
2024-01-19 10:21:00 +00:00
string file_key = 6; // 哈希
2023-12-07 07:49:16 +00:00
2024-01-19 10:21:00 +00:00
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;// 来源
2023-12-06 08:18:22 +00:00
int64 refresh = 15; // 是否覆盖
string resource_id = 16; // 资源ID
string backup_type = 17; // 资源备份oss
2024-01-19 10:21:00 +00:00
bytes metadata = 18; // json格式
2024-01-19 11:03:13 +00:00
int64 content_length = 19; // json格式
2023-12-07 07:49:16 +00:00
2024-01-19 02:32:29 +00:00
int64 cache_type = 100; // 缓存类型0=不缓存 1=存储数据库
2023-12-07 07:49:16 +00:00
int64 user_id = 101;
int64 guest_id = 102;
2023-12-06 08:18:22 +00:00
}
message UploadFileBackendFragmentRes {
2024-01-19 10:21:00 +00:00
string upload_id = 1; // 分片上传id
string resource_type = 2; // 资源类型
string resource_id = 3;// 资源ID
string resource_url = 4;// 资源链接
2023-12-06 08:18:22 +00:00
}
/* 后端上传--分片上传 */
/* 后端上传--单文件 */
message UploadFileBackendReq {
string file_name = 1; // 文件名
2024-01-19 10:21:00 +00:00
string file_type = 2; // 文件类型
bytes file_content = 3; // 文件流
bytes file_header = 4; // 文件头
2023-12-06 08:18:22 +00:00
string file_data = 6; // base64
2023-12-07 07:49:16 +00:00
int64 api_type = 10; // 请求类型1=对外2=对内
int64 upload_bucket = 11; // 上传桶类型1=持久2=缓存
2023-12-06 08:18:22 +00:00
string file_key = 12; // 哈希
string source = 13;// 来源
2024-01-19 03:54:14 +00:00
bytes metadata = 14; // json格式
2023-12-06 08:18:22 +00:00
int64 refresh = 15; // 是否覆盖
string resource_id = 16; // 资源ID
string backup_type = 17; // 资源备份oss
string upload_type = 18; // 上传方式s3
2023-12-07 07:49:16 +00:00
2024-01-19 02:28:06 +00:00
int64 cache_type = 100; // 缓存类型0=不缓存 1=存储数据库
2024-01-18 10:23:36 +00:00
int64 user_id = 101; // 用户ID
int64 guest_id = 102;// 访客ID
2023-12-06 08:18:22 +00:00
}
message UploadFileBackendRes{
2024-01-18 10:23:36 +00:00
string resource_type = 5;// 资源类型
string resource_id = 4;// 资源ID
string resource_url = 6;// 资源链接
2023-12-06 08:18:22 +00:00
}
/* 后端上传--文件流--单文件 */
2023-12-05 08:12:13 +00:00
/* 获取资源列表 */
2023-12-07 07:49:16 +00:00
message ResourceListReq{
2024-01-18 10:23:36 +00:00
ResourceFilter filter=1;// 筛选条件
2023-12-05 08:12:13 +00:00
2024-01-18 10:23:36 +00:00
int64 current_page =101; // 当前页码
int64 per_page =102; // 每页数量
string order_by = 103; // 排序
2023-12-04 10:21:07 +00:00
}
2023-12-07 07:49:16 +00:00
message ResourceListRes{
2024-01-18 10:23:36 +00:00
repeated basic.ResourceInfo list=1; // 列表数据
basic.Meta meta =2; // 列表参数
2023-12-06 10:34:22 +00:00
}
2023-12-05 08:12:13 +00:00
/* 获取资源列表 */
2023-12-04 10:21:07 +00:00
/* 获取资源详情 */
2023-12-07 07:49:16 +00:00
message ResourceInfoReq{
2024-01-18 10:23:36 +00:00
ResourceFilter filter=1; // 筛选条件
2023-12-07 07:49:16 +00:00
}
message ResourceInfoRes{
2024-01-18 10:23:36 +00:00
basic.ResourceInfo info =1;// 详情数据
2023-12-07 07:49:16 +00:00
}
message ResourceFilter {
2024-01-18 10:23:36 +00:00
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
2023-12-04 10:21:07 +00:00
}
2023-12-07 07:49:16 +00:00
message ResourceIds {
2023-12-07 09:38:04 +00:00
repeated string resource_ids = 1;
2023-12-06 10:34:22 +00:00
}
2023-12-04 10:21:07 +00:00
/* 获取资源详情 */