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 "service/auth.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 LogoAiCombine(LogoAiCombineReq) returns (LogoAiCombineRes) {} // 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 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; } /* 获取资源详情 */