355 lines
10 KiB
Protocol Buffer
355 lines
10 KiB
Protocol Buffer
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;
|
||
}
|
||
|
||
/* 获取资源详情 */
|
||
|