Compare commits
No commits in common. "feature-userinfo-daiyb" and "main" have entirely different histories.
feature-us
...
main
@ -653,7 +653,6 @@ type UpdateMediaAccountReq struct {
|
||||
ManagerUuid string `protobuf:"bytes,8,opt,name=managerUuid,proto3" json:"managerUuid"`
|
||||
ManagerUserName string `protobuf:"bytes,9,opt,name=managerUserName,proto3" json:"managerUserName"`
|
||||
ArtistPhoneAreaCode string `protobuf:"bytes,10,opt,name=artistPhoneAreaCode,proto3" json:"artistPhoneAreaCode"`
|
||||
ArtistSubNum string `protobuf:"bytes,11,opt,name=artistSubNum,proto3" json:"artistSubNum"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@ -758,13 +757,6 @@ func (x *UpdateMediaAccountReq) GetArtistPhoneAreaCode() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateMediaAccountReq) GetArtistSubNum() string {
|
||||
if x != nil {
|
||||
return x.ArtistSubNum
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type UpdateMediaAccountResp struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"`
|
||||
@ -981,9 +973,6 @@ type UpdateWorkImageReq struct {
|
||||
LineNo uint32 `protobuf:"varint,18,opt,name=lineNo,proto3" json:"lineNo"`
|
||||
Remark string `protobuf:"bytes,19,opt,name=remark,proto3" json:"remark"`
|
||||
Success bool `protobuf:"varint,20,opt,name=success,proto3" json:"success"`
|
||||
ArtistSubNum string `protobuf:"bytes,21,opt,name=artistSubNum,proto3" json:"artistSubNum"`
|
||||
ScriptUuid string `protobuf:"bytes,22,opt,name=scriptUuid,proto3" json:"scriptUuid"`
|
||||
PromptUuids []string `protobuf:"bytes,23,rep,name=promptUuids,proto3" json:"promptUuids"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@ -1158,27 +1147,6 @@ func (x *UpdateWorkImageReq) GetSuccess() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *UpdateWorkImageReq) GetArtistSubNum() string {
|
||||
if x != nil {
|
||||
return x.ArtistSubNum
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateWorkImageReq) GetScriptUuid() string {
|
||||
if x != nil {
|
||||
return x.ScriptUuid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateWorkImageReq) GetPromptUuids() []string {
|
||||
if x != nil {
|
||||
return x.PromptUuids
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type UpdateWorkImageResp struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"`
|
||||
@ -1331,7 +1299,6 @@ type UpdateWorkVideoReq struct {
|
||||
CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"`
|
||||
AutoPublish AutoPublishENUM `protobuf:"varint,20,opt,name=autoPublish,proto3,enum=Cast.AutoPublishENUM" json:"autoPublish"`
|
||||
ScriptUuid string `protobuf:"bytes,21,opt,name=scriptUuid,proto3" json:"scriptUuid"`
|
||||
ArtistSubNum string `protobuf:"bytes,22,opt,name=artistSubNum,proto3" json:"artistSubNum"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@ -1513,13 +1480,6 @@ func (x *UpdateWorkVideoReq) GetScriptUuid() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateWorkVideoReq) GetArtistSubNum() string {
|
||||
if x != nil {
|
||||
return x.ArtistSubNum
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type UpdateWorkVideoResp struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"`
|
||||
@ -1686,10 +1646,6 @@ type WorkListReq struct {
|
||||
MediaAccountUuids []string `protobuf:"bytes,14,rep,name=mediaAccountUuids,proto3" json:"mediaAccountUuids"`
|
||||
CostType int32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"`
|
||||
ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"`
|
||||
ArtistSubNum string `protobuf:"bytes,17,opt,name=artistSubNum,proto3" json:"artistSubNum"`
|
||||
TiktokStatus uint32 `protobuf:"varint,18,opt,name=tiktokStatus,proto3" json:"tiktokStatus"`
|
||||
InsStatus uint32 `protobuf:"varint,19,opt,name=insStatus,proto3" json:"insStatus"`
|
||||
DmStatus uint32 `protobuf:"varint,20,opt,name=dmStatus,proto3" json:"dmStatus"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@ -1836,34 +1792,6 @@ func (x *WorkListReq) GetScriptUuid() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkListReq) GetArtistSubNum() string {
|
||||
if x != nil {
|
||||
return x.ArtistSubNum
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkListReq) GetTiktokStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.TiktokStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkListReq) GetInsStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.InsStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkListReq) GetDmStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.DmStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type WorkListResp struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Data []*WorkListResp_Info `protobuf:"bytes,1,rep,name=data,proto3" json:"data"`
|
||||
@ -2083,13 +2011,12 @@ type WorkDetailResp struct {
|
||||
CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"`
|
||||
ScriptUuid string `protobuf:"bytes,20,opt,name=scriptUuid,proto3" json:"scriptUuid"`
|
||||
ArtistUuid string `protobuf:"bytes,21,opt,name=artistUuid,proto3" json:"artistUuid"`
|
||||
// uint32 tiktokStatus = 22;
|
||||
// uint32 insStatus = 23;
|
||||
// uint32 dmStatus = 24;
|
||||
NeedPlatformIDs []int32 `protobuf:"varint,25,rep,packed,name=needPlatformIDs,proto3" json:"needPlatformIDs"`
|
||||
ArtistSubNum string `protobuf:"bytes,26,opt,name=artistSubNum,proto3" json:"artistSubNum"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
TiktokStatus uint32 `protobuf:"varint,22,opt,name=tiktokStatus,proto3" json:"tiktokStatus"`
|
||||
InsStatus uint32 `protobuf:"varint,23,opt,name=insStatus,proto3" json:"insStatus"`
|
||||
DmStatus uint32 `protobuf:"varint,24,opt,name=dmStatus,proto3" json:"dmStatus"`
|
||||
NeedPlatformIDs []int32 `protobuf:"varint,25,rep,packed,name=needPlatformIDs,proto3" json:"needPlatformIDs"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *WorkDetailResp) Reset() {
|
||||
@ -2269,6 +2196,27 @@ func (x *WorkDetailResp) GetArtistUuid() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkDetailResp) GetTiktokStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.TiktokStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkDetailResp) GetInsStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.InsStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkDetailResp) GetDmStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.DmStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkDetailResp) GetNeedPlatformIDs() []int32 {
|
||||
if x != nil {
|
||||
return x.NeedPlatformIDs
|
||||
@ -2276,13 +2224,6 @@ func (x *WorkDetailResp) GetNeedPlatformIDs() []int32 {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *WorkDetailResp) GetArtistSubNum() string {
|
||||
if x != nil {
|
||||
return x.ArtistSubNum
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type UpdateStatusReq struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"`
|
||||
@ -5469,8 +5410,6 @@ type ListPromptsReq struct {
|
||||
Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` // 页码
|
||||
PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量
|
||||
Rand bool `protobuf:"varint,5,opt,name=rand,proto3" json:"rand"`
|
||||
StartUseCount uint32 `protobuf:"varint,6,opt,name=startUseCount,proto3" json:"startUseCount"`
|
||||
EndUseCount uint32 `protobuf:"varint,7,opt,name=endUseCount,proto3" json:"endUseCount"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@ -5540,20 +5479,6 @@ func (x *ListPromptsReq) GetRand() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *ListPromptsReq) GetStartUseCount() uint32 {
|
||||
if x != nil {
|
||||
return x.StartUseCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ListPromptsReq) GetEndUseCount() uint32 {
|
||||
if x != nil {
|
||||
return x.EndUseCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type PromptInfo struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
PromptUuid string `protobuf:"bytes,1,opt,name=promptUuid,proto3" json:"promptUuid"` // 关键词UUID
|
||||
@ -11246,14 +11171,8 @@ type WorkPlatformInfo struct {
|
||||
Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` // 备注
|
||||
CreatedAt int32 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间
|
||||
UpdatedAt int32 `protobuf:"varint,10,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间
|
||||
ArtistUuid string `protobuf:"bytes,11,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID
|
||||
// 关联自媒体账号字段(通过artist_uuid关联cast_media_account表)
|
||||
PlatformUserName string `protobuf:"bytes,12,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名
|
||||
PlatformUserID string `protobuf:"bytes,13,opt,name=platformUserID,proto3" json:"platformUserID"` // 平台用户ID
|
||||
ArtistName string `protobuf:"bytes,14,opt,name=artistName,proto3" json:"artistName"` // 自媒体账号艺人名字
|
||||
ArtistPhone string `protobuf:"bytes,15,opt,name=artistPhone,proto3" json:"artistPhone"` // 自媒体账号艺人手机号
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *WorkPlatformInfo) Reset() {
|
||||
@ -11356,41 +11275,6 @@ func (x *WorkPlatformInfo) GetUpdatedAt() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkPlatformInfo) GetArtistUuid() string {
|
||||
if x != nil {
|
||||
return x.ArtistUuid
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkPlatformInfo) GetPlatformUserName() string {
|
||||
if x != nil {
|
||||
return x.PlatformUserName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkPlatformInfo) GetPlatformUserID() string {
|
||||
if x != nil {
|
||||
return x.PlatformUserID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkPlatformInfo) GetArtistName() string {
|
||||
if x != nil {
|
||||
return x.ArtistName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkPlatformInfo) GetArtistPhone() string {
|
||||
if x != nil {
|
||||
return x.ArtistPhone
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// 获取作品平台信息列表响应
|
||||
type ListWorkPlatformInfoResp struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
@ -11463,11 +11347,6 @@ type WorkListResp_Info struct {
|
||||
CostType uint32 `protobuf:"varint,15,opt,name=costType,proto3" json:"costType"`
|
||||
ScriptUuid string `protobuf:"bytes,16,opt,name=scriptUuid,proto3" json:"scriptUuid"`
|
||||
ScriptTitle string `protobuf:"bytes,17,opt,name=scriptTitle,proto3" json:"scriptTitle"`
|
||||
ArtistSubNum string `protobuf:"bytes,18,opt,name=artistSubNum,proto3" json:"artistSubNum"`
|
||||
TiktokStatus uint32 `protobuf:"varint,19,opt,name=tiktokStatus,proto3" json:"tiktokStatus"`
|
||||
InsStatus uint32 `protobuf:"varint,20,opt,name=insStatus,proto3" json:"insStatus"`
|
||||
DmStatus uint32 `protobuf:"varint,21,opt,name=dmStatus,proto3" json:"dmStatus"`
|
||||
ConfirmType uint32 `protobuf:"varint,22,opt,name=confirmType,proto3" json:"confirmType"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@ -11621,41 +11500,6 @@ func (x *WorkListResp_Info) GetScriptTitle() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkListResp_Info) GetArtistSubNum() string {
|
||||
if x != nil {
|
||||
return x.ArtistSubNum
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkListResp_Info) GetTiktokStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.TiktokStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkListResp_Info) GetInsStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.InsStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkListResp_Info) GetDmStatus() uint32 {
|
||||
if x != nil {
|
||||
return x.DmStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *WorkListResp_Info) GetConfirmType() uint32 {
|
||||
if x != nil {
|
||||
return x.ConfirmType
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type MediaAccountsResp_Info struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
PlatformID uint32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"`
|
||||
@ -12176,7 +12020,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"authStatus\"R\n" +
|
||||
"\x11MediaUserListResp\x12'\n" +
|
||||
"\x04data\x18\x01 \x03(\v2\x13.Cast.MediaUserInfoR\x04data\x12\x14\n" +
|
||||
"\x05count\x18\x02 \x01(\x03R\x05count\"\xd1\x03\n" +
|
||||
"\x05count\x18\x02 \x01(\x03R\x05count\"\xad\x03\n" +
|
||||
"\x15UpdateMediaAccountReq\x124\n" +
|
||||
"\n" +
|
||||
"platformID\x18\x01 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" +
|
||||
@ -12194,8 +12038,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\vmanagerUuid\x18\b \x01(\tR\vmanagerUuid\x12(\n" +
|
||||
"\x0fmanagerUserName\x18\t \x01(\tR\x0fmanagerUserName\x120\n" +
|
||||
"\x13artistPhoneAreaCode\x18\n" +
|
||||
" \x01(\tR\x13artistPhoneAreaCode\x12\"\n" +
|
||||
"\fartistSubNum\x18\v \x01(\tR\fartistSubNum\"D\n" +
|
||||
" \x01(\tR\x13artistPhoneAreaCode\"D\n" +
|
||||
"\x16UpdateMediaAccountResp\x12*\n" +
|
||||
"\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\">\n" +
|
||||
"\x10UnbindManagerReq\x12*\n" +
|
||||
@ -12205,7 +12048,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\x0eBindManagerReq\x12*\n" +
|
||||
"\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\x12 \n" +
|
||||
"\vmanagerUuid\x18\x02 \x01(\tR\vmanagerUuid\x12(\n" +
|
||||
"\x0fmanagerUserName\x18\x03 \x01(\tR\x0fmanagerUserName\"\xf4\x06\n" +
|
||||
"\x0fmanagerUserName\x18\x03 \x01(\tR\x0fmanagerUserName\"\x8e\x06\n" +
|
||||
"\x12UpdateWorkImageReq\x12\x14\n" +
|
||||
"\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" +
|
||||
"\acontent\x18\x02 \x01(\tR\acontent\x12\x16\n" +
|
||||
@ -12231,12 +12074,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\x06source\x18\x11 \x01(\rR\x06source\x12\x16\n" +
|
||||
"\x06lineNo\x18\x12 \x01(\rR\x06lineNo\x12\x16\n" +
|
||||
"\x06remark\x18\x13 \x01(\tR\x06remark\x12\x18\n" +
|
||||
"\asuccess\x18\x14 \x01(\bR\asuccess\x12\"\n" +
|
||||
"\fartistSubNum\x18\x15 \x01(\tR\fartistSubNum\x12\x1e\n" +
|
||||
"\n" +
|
||||
"scriptUuid\x18\x16 \x01(\tR\n" +
|
||||
"scriptUuid\x12 \n" +
|
||||
"\vpromptUuids\x18\x17 \x03(\tR\vpromptUuids\"1\n" +
|
||||
"\asuccess\x18\x14 \x01(\bR\asuccess\"1\n" +
|
||||
"\x13UpdateWorkImageResp\x12\x1a\n" +
|
||||
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xbf\x01\n" +
|
||||
"\rPublishConfig\x12$\n" +
|
||||
@ -12249,7 +12087,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"canComment\x18\x05 \x01(\rR\n" +
|
||||
"canComment\x12\x12\n" +
|
||||
"\x04isAI\x18\x06 \x01(\rR\x04isAI\"\x8d\a\n" +
|
||||
"\x04isAI\x18\x06 \x01(\rR\x04isAI\"\xe9\x06\n" +
|
||||
"\x12UpdateWorkVideoReq\x12\x14\n" +
|
||||
"\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n" +
|
||||
"\acontent\x18\x02 \x01(\tR\acontent\x12\x1a\n" +
|
||||
@ -12278,8 +12116,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\vautoPublish\x18\x14 \x01(\x0e2\x15.Cast.AutoPublishENUMR\vautoPublish\x12\x1e\n" +
|
||||
"\n" +
|
||||
"scriptUuid\x18\x15 \x01(\tR\n" +
|
||||
"scriptUuid\x12\"\n" +
|
||||
"\fartistSubNum\x18\x16 \x01(\tR\fartistSubNum\"1\n" +
|
||||
"scriptUuid\"1\n" +
|
||||
"\x13UpdateWorkVideoResp\x12\x1a\n" +
|
||||
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\x90\x01\n" +
|
||||
"\fMediaInfoReq\x12\x1e\n" +
|
||||
@ -12291,7 +12128,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"platformID\x12*\n" +
|
||||
"\x10platformUserName\x18\x03 \x01(\tR\x10platformUserName\"8\n" +
|
||||
"\rMediaInfoResp\x12'\n" +
|
||||
"\x04info\x18\x01 \x01(\v2\x13.Cast.MediaUserInfoR\x04info\"\xcd\x05\n" +
|
||||
"\x04info\x18\x01 \x01(\v2\x13.Cast.MediaUserInfoR\x04info\"\xcb\x04\n" +
|
||||
"\vWorkListReq\x12\x1c\n" +
|
||||
"\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" +
|
||||
"\n" +
|
||||
@ -12315,14 +12152,10 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\bcostType\x18\x0f \x01(\x05R\bcostType\x12\x1e\n" +
|
||||
"\n" +
|
||||
"scriptUuid\x18\x10 \x01(\tR\n" +
|
||||
"scriptUuid\x12\"\n" +
|
||||
"\fartistSubNum\x18\x11 \x01(\tR\fartistSubNum\x12\"\n" +
|
||||
"\ftiktokStatus\x18\x12 \x01(\rR\ftiktokStatus\x12\x1c\n" +
|
||||
"\tinsStatus\x18\x13 \x01(\rR\tinsStatus\x12\x1a\n" +
|
||||
"\bdmStatus\x18\x14 \x01(\rR\bdmStatus\"\xce\x06\n" +
|
||||
"scriptUuid\"\xaa\x05\n" +
|
||||
"\fWorkListResp\x12+\n" +
|
||||
"\x04data\x18\x01 \x03(\v2\x17.Cast.WorkListResp.InfoR\x04data\x12\x14\n" +
|
||||
"\x05count\x18\x02 \x01(\x03R\x05count\x1a\xfa\x05\n" +
|
||||
"\x05count\x18\x02 \x01(\x03R\x05count\x1a\xd6\x04\n" +
|
||||
"\x04Info\x12\x1a\n" +
|
||||
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x1e\n" +
|
||||
"\n" +
|
||||
@ -12351,12 +12184,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"scriptUuid\x18\x10 \x01(\tR\n" +
|
||||
"scriptUuid\x12 \n" +
|
||||
"\vscriptTitle\x18\x11 \x01(\tR\vscriptTitle\x12\"\n" +
|
||||
"\fartistSubNum\x18\x12 \x01(\tR\fartistSubNum\x12\"\n" +
|
||||
"\ftiktokStatus\x18\x13 \x01(\rR\ftiktokStatus\x12\x1c\n" +
|
||||
"\tinsStatus\x18\x14 \x01(\rR\tinsStatus\x12\x1a\n" +
|
||||
"\bdmStatus\x18\x15 \x01(\rR\bdmStatus\x12 \n" +
|
||||
"\vconfirmType\x18\x16 \x01(\rR\vconfirmType\"+\n" +
|
||||
"\vscriptTitle\x18\x11 \x01(\tR\vscriptTitle\"+\n" +
|
||||
"\rWorkDetailReq\x12\x1a\n" +
|
||||
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xfb\x01\n" +
|
||||
"\vWorkLogInfo\x12\x1a\n" +
|
||||
@ -12373,7 +12201,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\textraData\x18\a \x01(\tR\textraData\x12\x1e\n" +
|
||||
"\n" +
|
||||
"workStatus\x18\b \x01(\rR\n" +
|
||||
"workStatus\"\x93\b\n" +
|
||||
"workStatus\"\xcd\b\n" +
|
||||
"\x0eWorkDetailResp\x12\x1a\n" +
|
||||
"\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" +
|
||||
"\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" +
|
||||
@ -12404,9 +12232,11 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"scriptUuid\x12\x1e\n" +
|
||||
"\n" +
|
||||
"artistUuid\x18\x15 \x01(\tR\n" +
|
||||
"artistUuid\x12(\n" +
|
||||
"\x0fneedPlatformIDs\x18\x19 \x03(\x05R\x0fneedPlatformIDs\x12\"\n" +
|
||||
"\fartistSubNum\x18\x1a \x01(\tR\fartistSubNum\x1aT\n" +
|
||||
"artistUuid\x12\"\n" +
|
||||
"\ftiktokStatus\x18\x16 \x01(\rR\ftiktokStatus\x12\x1c\n" +
|
||||
"\tinsStatus\x18\x17 \x01(\rR\tinsStatus\x12\x1a\n" +
|
||||
"\bdmStatus\x18\x18 \x01(\rR\bdmStatus\x12(\n" +
|
||||
"\x0fneedPlatformIDs\x18\x19 \x03(\x05R\x0fneedPlatformIDs\x1aT\n" +
|
||||
"\x11MediaAccDataEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
|
||||
"\x05value\x18\x02 \x01(\v2\x13.Cast.MediaUserInfoR\x05value:\x028\x01\"\xca\x02\n" +
|
||||
@ -12753,15 +12583,13 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"promptUuid\x12\x16\n" +
|
||||
"\x06prompt\x18\x02 \x01(\tR\x06prompt\x12.\n" +
|
||||
"\bcategory\x18\x03 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x1a\n" +
|
||||
"\buseCount\x18\x04 \x01(\rR\buseCount\"\xe4\x01\n" +
|
||||
"\buseCount\x18\x04 \x01(\rR\buseCount\"\x9c\x01\n" +
|
||||
"\x0eListPromptsReq\x12\x16\n" +
|
||||
"\x06prompt\x18\x01 \x01(\tR\x06prompt\x12.\n" +
|
||||
"\bcategory\x18\x02 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x12\n" +
|
||||
"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" +
|
||||
"\bpageSize\x18\x04 \x01(\x05R\bpageSize\x12\x12\n" +
|
||||
"\x04rand\x18\x05 \x01(\bR\x04rand\x12$\n" +
|
||||
"\rstartUseCount\x18\x06 \x01(\rR\rstartUseCount\x12 \n" +
|
||||
"\vendUseCount\x18\a \x01(\rR\vendUseCount\"\xfc\x01\n" +
|
||||
"\x04rand\x18\x05 \x01(\bR\x04rand\"\xfc\x01\n" +
|
||||
"\n" +
|
||||
"PromptInfo\x12\x1e\n" +
|
||||
"\n" +
|
||||
@ -13463,7 +13291,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\vplatformIDs\x18\x01 \x03(\rR\vplatformIDs\x12.\n" +
|
||||
"\x12publishMediaStatus\x18\x02 \x01(\x05R\x12publishMediaStatus\x12\x12\n" +
|
||||
"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" +
|
||||
"\bpageSize\x18\x04 \x01(\x05R\bpageSize\"\x88\x04\n" +
|
||||
"\bpageSize\x18\x04 \x01(\x05R\bpageSize\"\xd2\x02\n" +
|
||||
"\x10WorkPlatformInfo\x12\x12\n" +
|
||||
"\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1a\n" +
|
||||
"\bworkUuid\x18\x02 \x01(\tR\bworkUuid\x12 \n" +
|
||||
@ -13477,16 +13305,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" +
|
||||
"\x06remark\x18\b \x01(\tR\x06remark\x12\x1c\n" +
|
||||
"\tcreatedAt\x18\t \x01(\x05R\tcreatedAt\x12\x1c\n" +
|
||||
"\tupdatedAt\x18\n" +
|
||||
" \x01(\x05R\tupdatedAt\x12\x1e\n" +
|
||||
"\n" +
|
||||
"artistUuid\x18\v \x01(\tR\n" +
|
||||
"artistUuid\x12*\n" +
|
||||
"\x10platformUserName\x18\f \x01(\tR\x10platformUserName\x12&\n" +
|
||||
"\x0eplatformUserID\x18\r \x01(\tR\x0eplatformUserID\x12\x1e\n" +
|
||||
"\n" +
|
||||
"artistName\x18\x0e \x01(\tR\n" +
|
||||
"artistName\x12 \n" +
|
||||
"\vartistPhone\x18\x0f \x01(\tR\vartistPhone\"\\\n" +
|
||||
" \x01(\x05R\tupdatedAt\"\\\n" +
|
||||
"\x18ListWorkPlatformInfoResp\x12*\n" +
|
||||
"\x04data\x18\x01 \x03(\v2\x16.Cast.WorkPlatformInfoR\x04data\x12\x14\n" +
|
||||
"\x05count\x18\x02 \x01(\x03R\x05count*G\n" +
|
||||
|
||||
@ -457,8 +457,6 @@ func (m *UpdateMediaAccountReq) validate(all bool) error {
|
||||
|
||||
// no validation rules for ArtistPhoneAreaCode
|
||||
|
||||
// no validation rules for ArtistSubNum
|
||||
|
||||
if len(errors) > 0 {
|
||||
return UpdateMediaAccountReqMultiError(errors)
|
||||
}
|
||||
@ -1117,10 +1115,6 @@ func (m *UpdateWorkImageReq) validate(all bool) error {
|
||||
|
||||
// no validation rules for Success
|
||||
|
||||
// no validation rules for ArtistSubNum
|
||||
|
||||
// no validation rules for ScriptUuid
|
||||
|
||||
if len(errors) > 0 {
|
||||
return UpdateWorkImageReqMultiError(errors)
|
||||
}
|
||||
@ -1583,8 +1577,6 @@ func (m *UpdateWorkVideoReq) validate(all bool) error {
|
||||
|
||||
// no validation rules for ScriptUuid
|
||||
|
||||
// no validation rules for ArtistSubNum
|
||||
|
||||
if len(errors) > 0 {
|
||||
return UpdateWorkVideoReqMultiError(errors)
|
||||
}
|
||||
@ -2055,14 +2047,6 @@ func (m *WorkListReq) validate(all bool) error {
|
||||
|
||||
// no validation rules for ScriptUuid
|
||||
|
||||
// no validation rules for ArtistSubNum
|
||||
|
||||
// no validation rules for TiktokStatus
|
||||
|
||||
// no validation rules for InsStatus
|
||||
|
||||
// no validation rules for DmStatus
|
||||
|
||||
if len(errors) > 0 {
|
||||
return WorkListReqMultiError(errors)
|
||||
}
|
||||
@ -2732,7 +2716,11 @@ func (m *WorkDetailResp) validate(all bool) error {
|
||||
|
||||
// no validation rules for ArtistUuid
|
||||
|
||||
// no validation rules for ArtistSubNum
|
||||
// no validation rules for TiktokStatus
|
||||
|
||||
// no validation rules for InsStatus
|
||||
|
||||
// no validation rules for DmStatus
|
||||
|
||||
if len(errors) > 0 {
|
||||
return WorkDetailRespMultiError(errors)
|
||||
@ -8846,10 +8834,6 @@ func (m *ListPromptsReq) validate(all bool) error {
|
||||
|
||||
// no validation rules for Rand
|
||||
|
||||
// no validation rules for StartUseCount
|
||||
|
||||
// no validation rules for EndUseCount
|
||||
|
||||
if len(errors) > 0 {
|
||||
return ListPromptsReqMultiError(errors)
|
||||
}
|
||||
@ -17214,16 +17198,6 @@ func (m *WorkPlatformInfo) validate(all bool) error {
|
||||
|
||||
// no validation rules for UpdatedAt
|
||||
|
||||
// no validation rules for ArtistUuid
|
||||
|
||||
// no validation rules for PlatformUserName
|
||||
|
||||
// no validation rules for PlatformUserID
|
||||
|
||||
// no validation rules for ArtistName
|
||||
|
||||
// no validation rules for ArtistPhone
|
||||
|
||||
if len(errors) > 0 {
|
||||
return WorkPlatformInfoMultiError(errors)
|
||||
}
|
||||
@ -17486,16 +17460,6 @@ func (m *WorkListResp_Info) validate(all bool) error {
|
||||
|
||||
// no validation rules for ScriptTitle
|
||||
|
||||
// no validation rules for ArtistSubNum
|
||||
|
||||
// no validation rules for TiktokStatus
|
||||
|
||||
// no validation rules for InsStatus
|
||||
|
||||
// no validation rules for DmStatus
|
||||
|
||||
// no validation rules for ConfirmType
|
||||
|
||||
if len(errors) > 0 {
|
||||
return WorkListResp_InfoMultiError(errors)
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -126,44 +126,3 @@ func (this *UsageReq) Validate() error {
|
||||
func (this *UsageResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SecurityStatusData) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SecurityScanReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SecurityScanResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateFileSecurityStatusReq) Validate() error {
|
||||
for _, item := range this.SecurityStatusData {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("SecurityStatusData", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateFileSecurityStatusResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ManualAntiReq) Validate() error {
|
||||
for _, item := range this.SecurityStatusData {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("SecurityStatusData", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *ManualAntiResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetFileSecurityStatusReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetFileSecurityStatusResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -42,10 +42,6 @@ type FileClient interface {
|
||||
Action(ctx context.Context, in *ActionReq, opts ...grpc_go.CallOption) (*ActionResp, common.ErrorWithAttachment)
|
||||
DirDownload(ctx context.Context, in *DirDownloadReq, opts ...grpc_go.CallOption) (File_DirDownloadClient, error)
|
||||
Usage(ctx context.Context, in *UsageReq, opts ...grpc_go.CallOption) (*UsageResp, common.ErrorWithAttachment)
|
||||
SecurityScan(ctx context.Context, in *SecurityScanReq, opts ...grpc_go.CallOption) (*SecurityScanResp, common.ErrorWithAttachment)
|
||||
UpdateFileSecurityStatus(ctx context.Context, in *UpdateFileSecurityStatusReq, opts ...grpc_go.CallOption) (*UpdateFileSecurityStatusResp, common.ErrorWithAttachment)
|
||||
ManualAnti(ctx context.Context, in *ManualAntiReq, opts ...grpc_go.CallOption) (*ManualAntiResp, common.ErrorWithAttachment)
|
||||
GetFileSecurityStatus(ctx context.Context, in *GetFileSecurityStatusReq, opts ...grpc_go.CallOption) (*GetFileSecurityStatusResp, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type fileClient struct {
|
||||
@ -53,23 +49,19 @@ type fileClient struct {
|
||||
}
|
||||
|
||||
type FileClientImpl struct {
|
||||
List func(ctx context.Context, in *FileListReq) (*FileListResp, error)
|
||||
Info func(ctx context.Context, in *FileInfoReq) (*FileInfoResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Search func(ctx context.Context, in *SearchReq) (*SearchResp, error)
|
||||
Upload func(ctx context.Context, in *UploadReq) (*UploadResp, error)
|
||||
TusCreate func(ctx context.Context, in *TusCreateReq) (*TusCreateResp, error)
|
||||
TusUpload func(ctx context.Context, in *TusUploadReq) (*TusUploadResp, error)
|
||||
ResumableTransfer func(ctx context.Context, in *ResumableTransferReq) (*ResumableTransferResp, error)
|
||||
Preview func(ctx context.Context, in *PreviewReq) (*PreviewResp, error)
|
||||
Action func(ctx context.Context, in *ActionReq) (*ActionResp, error)
|
||||
DirDownload func(ctx context.Context, in *DirDownloadReq) (File_DirDownloadClient, error)
|
||||
Usage func(ctx context.Context, in *UsageReq) (*UsageResp, error)
|
||||
SecurityScan func(ctx context.Context, in *SecurityScanReq) (*SecurityScanResp, error)
|
||||
UpdateFileSecurityStatus func(ctx context.Context, in *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error)
|
||||
ManualAnti func(ctx context.Context, in *ManualAntiReq) (*ManualAntiResp, error)
|
||||
GetFileSecurityStatus func(ctx context.Context, in *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error)
|
||||
List func(ctx context.Context, in *FileListReq) (*FileListResp, error)
|
||||
Info func(ctx context.Context, in *FileInfoReq) (*FileInfoResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Search func(ctx context.Context, in *SearchReq) (*SearchResp, error)
|
||||
Upload func(ctx context.Context, in *UploadReq) (*UploadResp, error)
|
||||
TusCreate func(ctx context.Context, in *TusCreateReq) (*TusCreateResp, error)
|
||||
TusUpload func(ctx context.Context, in *TusUploadReq) (*TusUploadResp, error)
|
||||
ResumableTransfer func(ctx context.Context, in *ResumableTransferReq) (*ResumableTransferResp, error)
|
||||
Preview func(ctx context.Context, in *PreviewReq) (*PreviewResp, error)
|
||||
Action func(ctx context.Context, in *ActionReq) (*ActionResp, error)
|
||||
DirDownload func(ctx context.Context, in *DirDownloadReq) (File_DirDownloadClient, error)
|
||||
Usage func(ctx context.Context, in *UsageReq) (*UsageResp, error)
|
||||
}
|
||||
|
||||
func (c *FileClientImpl) GetDubboStub(cc *triple.TripleConn) FileClient {
|
||||
@ -189,30 +181,6 @@ func (c *fileClient) Usage(ctx context.Context, in *UsageReq, opts ...grpc_go.Ca
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Usage", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) SecurityScan(ctx context.Context, in *SecurityScanReq, opts ...grpc_go.CallOption) (*SecurityScanResp, common.ErrorWithAttachment) {
|
||||
out := new(SecurityScanResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SecurityScan", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) UpdateFileSecurityStatus(ctx context.Context, in *UpdateFileSecurityStatusReq, opts ...grpc_go.CallOption) (*UpdateFileSecurityStatusResp, common.ErrorWithAttachment) {
|
||||
out := new(UpdateFileSecurityStatusResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateFileSecurityStatus", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) ManualAnti(ctx context.Context, in *ManualAntiReq, opts ...grpc_go.CallOption) (*ManualAntiResp, common.ErrorWithAttachment) {
|
||||
out := new(ManualAntiResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ManualAnti", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) GetFileSecurityStatus(ctx context.Context, in *GetFileSecurityStatusReq, opts ...grpc_go.CallOption) (*GetFileSecurityStatusResp, common.ErrorWithAttachment) {
|
||||
out := new(GetFileSecurityStatusResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetFileSecurityStatus", in, out)
|
||||
}
|
||||
|
||||
// FileServer is the server API for File service.
|
||||
// All implementations must embed UnimplementedFileServer
|
||||
// for forward compatibility
|
||||
@ -230,10 +198,6 @@ type FileServer interface {
|
||||
Action(context.Context, *ActionReq) (*ActionResp, error)
|
||||
DirDownload(*DirDownloadReq, File_DirDownloadServer) error
|
||||
Usage(context.Context, *UsageReq) (*UsageResp, error)
|
||||
SecurityScan(context.Context, *SecurityScanReq) (*SecurityScanResp, error)
|
||||
UpdateFileSecurityStatus(context.Context, *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error)
|
||||
ManualAnti(context.Context, *ManualAntiReq) (*ManualAntiResp, error)
|
||||
GetFileSecurityStatus(context.Context, *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error)
|
||||
mustEmbedUnimplementedFileServer()
|
||||
}
|
||||
|
||||
@ -281,18 +245,6 @@ func (UnimplementedFileServer) DirDownload(*DirDownloadReq, File_DirDownloadServ
|
||||
func (UnimplementedFileServer) Usage(context.Context, *UsageReq) (*UsageResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Usage not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) SecurityScan(context.Context, *SecurityScanReq) (*SecurityScanResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SecurityScan not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) UpdateFileSecurityStatus(context.Context, *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateFileSecurityStatus not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) ManualAnti(context.Context, *ManualAntiReq) (*ManualAntiResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ManualAnti not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) GetFileSecurityStatus(context.Context, *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetFileSecurityStatus not implemented")
|
||||
}
|
||||
func (s *UnimplementedFileServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
@ -696,122 +648,6 @@ func _File_Usage_Handler(srv interface{}, ctx context.Context, dec func(interfac
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_SecurityScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(SecurityScanReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("SecurityScan", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_UpdateFileSecurityStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdateFileSecurityStatusReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UpdateFileSecurityStatus", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_ManualAnti_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ManualAntiReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("ManualAnti", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_GetFileSecurityStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetFileSecurityStatusReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetFileSecurityStatus", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// File_ServiceDesc is the grpc_go.ServiceDesc for File service.
|
||||
// It's only intended for direct use with grpc_go.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
@ -867,22 +703,6 @@ var File_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "Usage",
|
||||
Handler: _File_Usage_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SecurityScan",
|
||||
Handler: _File_SecurityScan_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateFileSecurityStatus",
|
||||
Handler: _File_UpdateFileSecurityStatus_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ManualAnti",
|
||||
Handler: _File_ManualAnti_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetFileSecurityStatus",
|
||||
Handler: _File_GetFileSecurityStatus_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{
|
||||
{
|
||||
|
||||
@ -1,16 +0,0 @@
|
||||
#=========== 阿里云内容安全配置 ===========
|
||||
# STS登录模式配置
|
||||
# RAM用户AccessKey ID(用于获取STS临时凭证)
|
||||
RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb
|
||||
|
||||
# RAM用户AccessKey Secret
|
||||
RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO
|
||||
|
||||
# 要扮演的RAM角色ARN
|
||||
RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret
|
||||
|
||||
# 阿里云区域(可选,默认为cn-shanghai)
|
||||
ALIBABA_CLOUD_REGION=ap-southeast-1
|
||||
|
||||
# 阿里云端点(可选,默认为green.cn-shanghai.aliyuncs.com)
|
||||
ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com
|
||||
@ -1,13 +0,0 @@
|
||||
package security
|
||||
|
||||
import "time"
|
||||
|
||||
type FileInfo struct {
|
||||
SubmitTime time.Time
|
||||
FileName string
|
||||
FileUrl string
|
||||
FileType string
|
||||
SecurityStatus string
|
||||
Describe string
|
||||
ProblemTimeFrame string
|
||||
}
|
||||
@ -1,18 +1,11 @@
|
||||
package security
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/fonchain/utils/security"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var (
|
||||
ImageScanner *security.ImageScanner
|
||||
globalConfig *security.Config
|
||||
configMutex sync.RWMutex
|
||||
)
|
||||
var ImageScanner *security.ImageScanner
|
||||
|
||||
func Init() {
|
||||
config, err := security.LoadConfigFromFile("../conf/alibabacloud.env")
|
||||
@ -32,37 +25,3 @@ func Init() {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// GetGlobalConfig 获取全局配置实例(单例模式)
|
||||
func GetGlobalConfig(configFile string) (*security.Config, error) {
|
||||
configMutex.RLock()
|
||||
if globalConfig != nil {
|
||||
// 检查 token 是否还有效
|
||||
if !globalConfig.TokenExpiration.IsZero() &&
|
||||
time.Now().Before(globalConfig.TokenExpiration.Add(-5*time.Minute)) {
|
||||
configMutex.RUnlock()
|
||||
return globalConfig, nil
|
||||
}
|
||||
}
|
||||
configMutex.RUnlock()
|
||||
|
||||
// 需要重新加载或刷新
|
||||
configMutex.Lock()
|
||||
defer configMutex.Unlock()
|
||||
|
||||
// 双重检查
|
||||
if globalConfig != nil &&
|
||||
!globalConfig.TokenExpiration.IsZero() &&
|
||||
time.Now().Before(globalConfig.TokenExpiration.Add(-5*time.Minute)) {
|
||||
return globalConfig, nil
|
||||
}
|
||||
|
||||
// 加载配置
|
||||
config, err := security.LoadConfigFromFile(configFile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
globalConfig = config
|
||||
return globalConfig, nil
|
||||
}
|
||||
|
||||
@ -140,6 +140,8 @@ func UpdateMediaAccount(ctx *gin.Context) {
|
||||
service.Error(ctx, errors.New("用户不存在"))
|
||||
return
|
||||
}
|
||||
|
||||
//TODO 判断是否注册ay
|
||||
if err = CheckAsProfile(infoResp); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
@ -147,7 +149,6 @@ func UpdateMediaAccount(ctx *gin.Context) {
|
||||
req.ArtistName = infoResp.Name
|
||||
req.ArtistPhone = infoResp.TelNum
|
||||
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
|
||||
req.ArtistSubNum = infoResp.SubNum
|
||||
if _, ok := cast.PlatformIDENUM_name[int32(req.PlatformID)]; !ok {
|
||||
service.Error(ctx, errors.New(e.GetMsg(e.InvalidParams)))
|
||||
return
|
||||
|
||||
@ -9,7 +9,6 @@ import (
|
||||
"fonchain-fiee/api/aryshare"
|
||||
"fonchain-fiee/api/bundle"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/api/files"
|
||||
"fonchain-fiee/cmd/config"
|
||||
"fonchain-fiee/pkg/cache"
|
||||
"fonchain-fiee/pkg/e"
|
||||
@ -35,51 +34,10 @@ func UpdateWorkImage(ctx *gin.Context) {
|
||||
var req *cast.UpdateWorkImageReq
|
||||
var infoResp *accountFiee.UserInfoResponse
|
||||
var err error
|
||||
var ok bool
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
loginInfo := login.GetUserInfoFromC(ctx)
|
||||
lockKey := fmt.Sprintf("lock_update_work_image_%d", loginInfo.ID)
|
||||
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5)
|
||||
if !reply.Val() {
|
||||
service.Error(ctx, errors.New("请勿重复提交"))
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
cache.RedisClient.Del(lockKey)
|
||||
}()
|
||||
// 图片鉴定
|
||||
for _, v := range req.Images {
|
||||
ok, err = check.SecurityFile(v)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("图片鉴定未通过"))
|
||||
return
|
||||
}
|
||||
}
|
||||
ok, err = check.SecurityText(req.Title)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("标题鉴定未通过"))
|
||||
return
|
||||
}
|
||||
ok, err = check.SecurityText(req.Content)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("内容鉴定未通过"))
|
||||
return
|
||||
}
|
||||
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
|
||||
ID: artistId,
|
||||
@ -90,11 +48,9 @@ func UpdateWorkImage(ctx *gin.Context) {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
req.ArtistName = infoResp.Name
|
||||
req.ArtistPhone = infoResp.TelNum
|
||||
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
|
||||
req.ArtistSubNum = infoResp.SubNum
|
||||
artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
if err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil {
|
||||
service.Error(ctx, err)
|
||||
@ -138,64 +94,10 @@ func UpdateWorkVideo(ctx *gin.Context) {
|
||||
var req *cast.UpdateWorkVideoReq
|
||||
var infoResp *accountFiee.UserInfoResponse
|
||||
var err error
|
||||
var ok bool
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
loginInfo := login.GetUserInfoFromC(ctx)
|
||||
lockKey := fmt.Sprintf("lock_update_work_video_%d", loginInfo.ID)
|
||||
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Second*5)
|
||||
if !reply.Val() {
|
||||
service.Error(ctx, errors.New("请勿重复提交"))
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
cache.RedisClient.Del(lockKey)
|
||||
}()
|
||||
ok, err = check.SecurityText(req.Title)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("标题鉴定未通过"))
|
||||
return
|
||||
}
|
||||
ok, err = check.SecurityText(req.Content)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("内容鉴定未通过"))
|
||||
return
|
||||
}
|
||||
ok, err = check.SecurityFile(req.CoverUrl)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("图片鉴定未通过"))
|
||||
return
|
||||
}
|
||||
|
||||
if req.VideoUrl != "" {
|
||||
//请求接口判断
|
||||
fileResp, errs := service.FilesProvider.GetFileSecurityStatus(ctx, &files.GetFileSecurityStatusReq{
|
||||
Url: req.VideoUrl,
|
||||
FileName: "",
|
||||
})
|
||||
if errs != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if fileResp.SecurityStatus != "none" {
|
||||
service.Error(ctx, errors.New("视频鉴定未通过"))
|
||||
return
|
||||
}
|
||||
}
|
||||
if config.AppConfig.System.AppMode != "dev" {
|
||||
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
|
||||
@ -222,7 +124,6 @@ func UpdateWorkVideo(ctx *gin.Context) {
|
||||
req.ArtistName = infoResp.Name
|
||||
req.ArtistPhone = infoResp.TelNum
|
||||
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
|
||||
req.ArtistSubNum = infoResp.SubNum
|
||||
newCtx := NewCtxWithUserInfo(ctx)
|
||||
req.Source = 1
|
||||
resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req)
|
||||
@ -1093,7 +994,7 @@ func ImportWorkBatch(ctx *gin.Context) {
|
||||
for i := 8; i <= 18; i++ {
|
||||
if len(row) > i {
|
||||
if utils.CleanString(row[i]) != "" {
|
||||
ok, _err := check.SecurityFile(row[i])
|
||||
ok, _err := check.ImageCheckUrlValid(row[i])
|
||||
if _err != nil {
|
||||
temp.Remark = _err.Error()
|
||||
req.ImageWorks = append(req.ImageWorks, temp)
|
||||
|
||||
52
pkg/service/check/image.go
Normal file
52
pkg/service/check/image.go
Normal file
@ -0,0 +1,52 @@
|
||||
package check
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"mime/multipart"
|
||||
"time"
|
||||
|
||||
pkgSecurity "fonchain-fiee/pkg/security"
|
||||
|
||||
"github.com/fonchain/utils/security"
|
||||
)
|
||||
|
||||
// ImageCheckUrlValid 图片黄疸检测 true 是通过
|
||||
func ImageCheckUrlValid(imgUrl string) (bool, error) {
|
||||
resp, err := pkgSecurity.ImageScanner.ScanImageByURL(imgUrl, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
if err != nil {
|
||||
err = errors.New("图片检测请求失败")
|
||||
return false, err
|
||||
}
|
||||
if resp.Code != 200 {
|
||||
err = errors.New("图片检测失败,错误码")
|
||||
return false, err
|
||||
}
|
||||
if len(resp.Data) == 0 || len(resp.Data[0].Results) == 0 {
|
||||
return false, errors.New("图片检测结果异常")
|
||||
}
|
||||
riskLevel := resp.Data[0].Results[0].RiskLevel
|
||||
if *riskLevel == "none" {
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func ImageCheckByte(file *multipart.FileHeader) (bool, error) {
|
||||
//imageScanner, err := security.NewImageScanner(&security.Config{
|
||||
// RAMAccessKeyID: "LTAI5tNBzbeEbG1yCitvHsMb",
|
||||
// RAMAccessKeySecret: "G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO",
|
||||
// RAMRoleArn: "acs:ram::5828544250383902:role/content-secret",
|
||||
// Region: "ap-southeast-1",
|
||||
// Endpoint: "green-cip.ap-southeast-1.aliyuncs.com",
|
||||
// TempAccessKeyID: "",
|
||||
// TempAccessKeySecret: "",
|
||||
// SecurityToken: "",
|
||||
//})
|
||||
//if err != nil {
|
||||
// return false, err
|
||||
//}
|
||||
//resp, err := imageScanner.ScanImageByFileByte(file, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
//fmt.Println(resp)
|
||||
return false, nil
|
||||
}
|
||||
@ -1,236 +0,0 @@
|
||||
package check
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"mime/multipart"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
modelSecurity "fonchain-fiee/pkg/model/security"
|
||||
pkgSecurity "fonchain-fiee/pkg/security"
|
||||
|
||||
"github.com/fonchain/utils/security"
|
||||
)
|
||||
|
||||
// ImageCheckUrlValid 图片黄疸检测 true 是通过
|
||||
func ImageCheckUrlValid(imgUrl string) (bool, error) {
|
||||
resp, err := pkgSecurity.ImageScanner.ScanImageByURL(imgUrl, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
if err != nil {
|
||||
err = errors.New("图片检测请求失败")
|
||||
return false, err
|
||||
}
|
||||
if resp.Code != 200 {
|
||||
err = errors.New("图片检测失败,错误码")
|
||||
return false, err
|
||||
}
|
||||
if len(resp.Data) == 0 || len(resp.Data[0].Results) == 0 {
|
||||
return false, errors.New("图片检测结果异常")
|
||||
}
|
||||
riskLevel := resp.Data[0].Results[0].RiskLevel
|
||||
if *riskLevel == "none" {
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func ImageCheckByte(file *multipart.FileHeader) (bool, error) {
|
||||
//imageScanner, err := security.NewImageScanner(&security.Config{
|
||||
// RAMAccessKeyID: "LTAI5tNBzbeEbG1yCitvHsMb",
|
||||
// RAMAccessKeySecret: "G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO",
|
||||
// RAMRoleArn: "acs:ram::5828544250383902:role/content-secret",
|
||||
// Region: "ap-southeast-1",
|
||||
// Endpoint: "green-cip.ap-southeast-1.aliyuncs.com",
|
||||
// TempAccessKeyID: "",
|
||||
// TempAccessKeySecret: "",
|
||||
// SecurityToken: "",
|
||||
//})
|
||||
//if err != nil {
|
||||
// return false, err
|
||||
//}
|
||||
//resp, err := imageScanner.ScanImageByFileByte(file, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
//fmt.Println(resp)
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func SecurityFile(textVal string) (bool, error) {
|
||||
if textVal == "" {
|
||||
return true, nil
|
||||
}
|
||||
var fileInfo modelSecurity.FileInfo
|
||||
fileInfo.FileName = textVal
|
||||
fileInfo.FileUrl = textVal
|
||||
//获取文件名称后缀
|
||||
extension := filepath.Ext(textVal)
|
||||
switch extension {
|
||||
case ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp":
|
||||
fileInfo.FileType = "image"
|
||||
case ".mp4", ".avi", ".mov", ".wmv", ".flv", ".mkv":
|
||||
fileInfo.FileType = "video"
|
||||
default:
|
||||
return true, nil
|
||||
}
|
||||
err := securityScan(&fileInfo)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
func SecurityText(textVal string) (bool, error) {
|
||||
aliConfig, err := pkgSecurity.GetGlobalConfig("./data/alibabacloud.env")
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
fmt.Println("开始获取STS Token")
|
||||
err = aliConfig.GetSTSToken()
|
||||
if err != nil {
|
||||
return false, errors.New("获取STS Token失败")
|
||||
}
|
||||
if err = handleTextScan(aliConfig, textVal); err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func securityScan(fileInfo *modelSecurity.FileInfo) (err error) {
|
||||
//加载阿里云配置获取临时token
|
||||
aliConfig, err := pkgSecurity.GetGlobalConfig("./data/alibabacloud.env")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Println("开始获取STS Token")
|
||||
err = aliConfig.GetSTSToken()
|
||||
if err != nil {
|
||||
return errors.New("获取STS Token失败")
|
||||
}
|
||||
fmt.Println("获取STS Token成功")
|
||||
switch fileInfo.FileType {
|
||||
case "image":
|
||||
return handleImageScan(aliConfig, fileInfo)
|
||||
case "video":
|
||||
return handleVideoScan(aliConfig, fileInfo)
|
||||
default:
|
||||
return errors.New("不支持的审核类型")
|
||||
}
|
||||
}
|
||||
|
||||
func handleVideoScan(config *security.Config, fileInfo *modelSecurity.FileInfo) (err error) {
|
||||
fmt.Println("\n=== 视频内容安全审核 ===")
|
||||
|
||||
scanner, err := security.NewVideoScanner(config)
|
||||
if err != nil {
|
||||
fmt.Printf("创建视频扫描器失败: %v\n", err)
|
||||
return errors.New("创建视频扫描器失败")
|
||||
}
|
||||
|
||||
if fileInfo.FileUrl == "" {
|
||||
fmt.Println("视频不能为空")
|
||||
return errors.New("视频不能为空")
|
||||
}
|
||||
serviceType := security.VideoPostCheckByVLGlobal
|
||||
dataID := "video_" + time.Now().Format("20060102150405")
|
||||
|
||||
fmt.Println("正在扫描视频(这可能需要几分钟)...")
|
||||
result, err := scanner.ScanVideoAndWait(fileInfo.FileUrl, dataID, serviceType, 10*time.Minute)
|
||||
if err != nil {
|
||||
fmt.Printf("扫描失败: %v\n", err)
|
||||
return errors.New("扫描失败")
|
||||
}
|
||||
scanner.PrintResult(result)
|
||||
for _, v := range result.Data {
|
||||
fileInfo.SecurityStatus = *v.Results.RiskLevel
|
||||
if v.Results.FrameResult != nil {
|
||||
frameResult := *v.Results.FrameResult
|
||||
if len(frameResult.FrameSummarys) > 0 {
|
||||
for _, summary := range frameResult.FrameSummarys {
|
||||
fileInfo.Describe = fileInfo.Describe + *summary.Description + ";"
|
||||
}
|
||||
}
|
||||
if len(frameResult.Frames) > 0 {
|
||||
for _, frame := range frameResult.Frames {
|
||||
fileInfo.ProblemTimeFrame = fileInfo.ProblemTimeFrame + strconv.FormatFloat(float64(*frame.Offset), 'f', 2, 64) + "秒;"
|
||||
}
|
||||
}
|
||||
}
|
||||
if v.Results.RiskLevel != nil {
|
||||
lv := v.Results.RiskLevel
|
||||
if *lv == "none" {
|
||||
return nil
|
||||
}
|
||||
return errors.New("图片违规")
|
||||
}
|
||||
|
||||
return errors.New("风险等级检测未成功")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func handleImageScan(config *security.Config, fileInfo *modelSecurity.FileInfo) (err error) {
|
||||
fmt.Println("\n=== 图片内容安全审核 ===")
|
||||
|
||||
scanner, err := security.NewImageScanner(config)
|
||||
if err != nil {
|
||||
fmt.Printf("创建图片扫描器失败:%v", err)
|
||||
return errors.New("创建图片扫描器失败")
|
||||
}
|
||||
|
||||
if fileInfo.FileUrl == "" {
|
||||
fmt.Println("文件不能为空")
|
||||
return errors.New("文件不能为空")
|
||||
}
|
||||
|
||||
serviceType := security.PostImageCheckByVLGlobal
|
||||
|
||||
fmt.Println("正在扫描图片...")
|
||||
result, err := scanner.ScanImageByURL(fileInfo.FileUrl, "image_"+time.Now().Format("20060102150405"), serviceType)
|
||||
if err != nil {
|
||||
fmt.Printf("扫描失败: %v\n", err)
|
||||
return errors.New("扫描失败")
|
||||
}
|
||||
scanner.PrintResult(result)
|
||||
for _, v := range result.Data {
|
||||
for _, v2 := range v.Results {
|
||||
fileInfo.SecurityStatus = *v2.RiskLevel
|
||||
if v2.RiskLevel != nil {
|
||||
lv := v2.RiskLevel
|
||||
if *lv == "none" {
|
||||
return nil
|
||||
}
|
||||
return errors.New("图片违规")
|
||||
}
|
||||
return errors.New("风险等级检测未成功")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func handleTextScan(config *security.Config, textVal string) (err error) {
|
||||
fmt.Println("\n=== 图片内容安全审核 ===")
|
||||
|
||||
scanner, err := security.NewTextScanner(config)
|
||||
if err != nil {
|
||||
fmt.Printf("创建扫描器失败:%v", err)
|
||||
return errors.New("创建扫描器失败")
|
||||
}
|
||||
|
||||
serviceType := security.TextBaselineCheckGlobal
|
||||
|
||||
fmt.Println("正在扫描图片...")
|
||||
result, err := scanner.ScanText(textVal, "image_"+time.Now().Format("20060102150405"), serviceType)
|
||||
if err != nil {
|
||||
fmt.Printf("扫描失败: %v\n", err)
|
||||
return errors.New("扫描失败")
|
||||
}
|
||||
scanner.PrintResult(result)
|
||||
for _, v := range result.Data {
|
||||
for _, vv := range v.Results {
|
||||
label := *vv.Label
|
||||
if label != "nonLabel" {
|
||||
return errors.New("风险等级过高")
|
||||
}
|
||||
}
|
||||
}
|
||||
fmt.Println(result)
|
||||
return nil
|
||||
}
|
||||
@ -44,12 +44,8 @@ func init() {
|
||||
config.SetConsumerService(FilesProvider)
|
||||
config.SetConsumerService(GovernanceProvider)
|
||||
config.SetConsumerService(PressReleasesProvider)
|
||||
config.SetConsumerService(SecFilingProvider)
|
||||
config.SetConsumerService(AyrshareProvider)
|
||||
config.SetConsumerService(SecFilingProvider)
|
||||
config.SetConsumerService(FilesProvider)
|
||||
config.SetConsumerService(GovernanceProvider)
|
||||
config.SetConsumerService(PressReleasesProvider)
|
||||
config.SetConsumerService(SecFilingProvider)
|
||||
|
||||
if err := config.Load(); err != nil {
|
||||
panic(err)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user