proto/service/resource.proto
2024-03-07 17:54:52 +08:00

355 lines
10 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 "service/basic.proto";
import "service/auth.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 LogoAiCombine(LogoAiCombineReq) returns (LogoAiCombineRes) {}
// logo基础信息
rpc LogoInfoSet(LogoInfoSetReq) returns (LogoInfoSetRes) {}
// logo裁剪处理
rpc LogoAiCropping(LogoAiCroppingReq) returns (LogoAiCroppingRes) {}
// logo缩略处理
rpc LogoResize(LogoResizeReq) returns (LogoResizeRes) {}
// logo算法信息提取
rpc LogoAiInfoGet(LogoAiInfoGetReq) returns (LogoAiInfoGetRes) {}
// 设置示例logo
rpc SetExampleLogo(SetExampleLogoReq) returns (SetExampleLogoRes) {}
// 导出文件--CSV
rpc ExportCsv(ExportCsvReq) returns (ExportCsvRes) {}
// 导出文件--Excel
rpc ExportExcel(ExportExcelReq) returns (ExportExcelRes) {}
// 导出文件--zip
rpc ExportZip(ExportZipReq) returns (ExportZipRes) {}
}
message ExportData {
repeated string child = 1;
}
message ExportFile {
string file_type = 1;// 文件类型
string file_name = 2;// 文件名称
bytes file_bytes = 3;// 文件流
repeated ExportFile child =4; // 如果是zip类型递归
}
message ExportCsvReq {
repeated ExportData file_data = 1; // 文件数据
string file_name = 2;// 文件名称
int64 total = 3; // 数据量
}
message ExportCsvRes {
string export_file_path = 1; // 下载链接
}
message ExportExcelReq {
repeated ExportData file_data = 1; // 文件数据
string file_name = 2;// 文件名称
}
message ExportExcelRes {
string export_file_path = 1; // 下载链接
}
message ExportZipReq {
repeated ExportFile file_data = 1; // 文件数据
string file_name = 2;// 文件名称
}
message ExportZipRes {
string export_file_path = 1; // 下载链接
}
/* 设置示例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
optional string get_type = 103; // 获取类型user_material=用户素材 temporary =临时
}
message LogoAiInfoGetRes {
bytes metadata =1; // AI返回基础信息--logo
bytes metadata_preprocess_logo =2; // AI返回基础信息--logo数据库
}
/* 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 LogoAiCroppingReq {
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 LogoAiCroppingRes {
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 LogoAiCombineReq {
optional string logo_url = 1; // logo资源链接
optional int64 logo_material_id = 2; // logo素材ID
optional bytes logo_material_metadata = 3; // logo素材额外参数
optional int64 preprocess_logo_id = 4; // logo数据库ID
optional string template_tag = 5; // 模版标签
optional bytes template_tag_color = 6; // 模版标签颜色
optional bytes product_template_v2_info = 7; // 商品模版详情
optional bytes product_template_tag_groups = 8; // 商品模版标签组信息
optional string resolution = 9; // 合图分辨率
optional string slogan = 10; // 合图Slogan
optional string website = 11; // 合图网站
optional string address = 12; // 合图地址
optional string phone = 13; // 合图电话号码
optional string qrcode = 14; // 合图二维码
auth.Debug debug = 100; // 调试模式
int64 handle_type = 101; // 类型1=缓存 2=重新 3=临时
int64 user_id = 102; // 用户ID
int64 guest_id = 103; // 访客ID
string trace_id = 104; // 业务链路
string resource_source = 105; // 资源来源
}
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 LogoAiCombineRes {
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;
}
/* 获取资源详情 */