Golang 开发常用代码片段
Struct to JsonString
type BaseRequest struct {
httpMethod string
domain string
path string
params map[string]string
formParams map[string]string
service string
version string
action string
}
type LivenessRecognitionRequest struct {
*BaseRequest
// 身份证号
IdCard *string `json:"IdCard,omitempty" name:"IdCard"`
// 姓名。中文请使用UTF-8编码。
Name *string `json:"Name,omitempty" name:"Name"`
// 用于活体检测的视频,视频的BASE64值;
// BASE64编码后的大小不超过5M,支持mp4、avi、flv格式。
VideoBase64 *string `json:"VideoBase64,omitempty" name:"VideoBase64"`
// 活体检测类型,取值:LIP/ACTION/SILENT。
// LIP为数字模式,ACTION为动作模式,SILENT为静默模式,三种模式选择一种传入。
LivenessType *string `json:"LivenessType,omitempty" name:"LivenessType"`
// 数字模式传参:数字验证码(1234),需先调用接口获取数字验证码;
// 动作模式传参:传动作顺序(2,1 or 1,2),需先调用接口获取动作顺序;
// 静默模式传参:空。
ValidateData *string `json:"ValidateData,omitempty" name:"ValidateData"`
// 本接口不需要传递此参数。
Optional *string `json:"Optional,omitempty" name:"Optional"`
}
func (r *LivenessRecognitionRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *LivenessRecognitionRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
func StringPtr(v string) *string {
return &v
}
func NewLivenessRecognitionRequest() (request *LivenessRecognitionRequest) {
request = &LivenessRecognitionRequest{
BaseRequest: &tchttp.BaseRequest{},
}
request.Init().WithApiInfo("faceid", APIVersion, "LivenessRecognition")
return
}
func (l *LivenessRecognitionRequest)DoLivenessCompare() {
request := NewLivenessRecognitionRequest()
request.IdCard = StringPtr(l.IdCard)
request.Name = StringPtr(l.Name)
request.VideoBase64 = StringPtr(l.VideoBase64)
request.LivenessType = StringPtr(l.LivenessType)
requestData:=request.ToJsonString() //转strurct to jsonstring
err := request.FromJsonString(requestData) //转jsonstring to strurct
if err != nil {
panic(err)
}
}
func LivenessCompare(ctx *gin.Context) {
fmt.Println("LivenessCompare")
l.IdCard=""
l.Name="haima"
l.VideoBase64=""
l.LivenessType="ACTION"
l.DoLivenessCompare()
}
[Haima的博客]
http://www.cnblogs.com/haima/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构