android 解决微信登陆返回resp.errCode = -6

一直做微信登陆都没啥问题,这次又遇到问题了,所有工作都做好后,调用微信登陆返回resp.errCode = -6,印象中好像没遇到过这个问题,卸载了微信重新登陆就正常,

但是只有第一次正常,我奇了怪了,百度了一把说是签名问题,我脑海中一直都默认签名是对的,实在没办法了,就核实签名,结果果然是签名问题,好了,又可以愉快玩耍了大笑


提下这次的签名问题,审核APP提交android.keystore 对应的MD5码中间没去掉冒号

可以使用 map 来简化这段代码,将每个 case 表达式与一个对应的结构体以及生成 ID 的前缀进行映射,然后根据输入的 item.Type 从 map 中获取对应的结构体和前缀,再执行相应的操作。以下是代码示例: ```go package main import ( "strconv" "github.com/gin-gonic/gin" "github.com/mitchellh/mapstructure" ) type Request interface{} type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"` } type ItemType struct { Type string `json:"type"` Value Request `json:"value"` } type PrefixID struct { Prefix string ID string } var prefixMap = map[string]PrefixID{ "cumb": PrefixID{"P01", "CombID"}, "conduit": PrefixID{"L02", "ConduitID"}, "feature": PrefixID{"P10", "FeatureID"}, } var modelMap = map[string]interface{}{ "cumb": &models.PsComb{}, "conduit": &models.PsConduit{}, "feature": &models.Feature{}, } func createItem(ctx *gin.Context) { var item ItemType var resp Response if err := ctx.ShouldBindJSON(&item); err != nil { resp.Code = 400 resp.Msg = "参数错误" ctx.JSON(400, resp) return } if reqType, ok := modelMap[item.Type]; ok { if err := mapstructure.Decode(item.Value, reqType); err != nil { panic(err) } res := common.DB.Create(reqType) if res.Error != nil { resp.Code = 500 resp.Msg = "创建失败" resp.Data = res.Error ctx.JSON(500, resp) return } prefixID := prefixMap[item.Type] common.DB.Model(reqType).Update(prefixID.ID, prefixID.Prefix+strconv.Itoa(int(reqType.ID))) resp.Data = prefixID.Prefix + strconv.Itoa(int(reqType.ID)) ctx.JSON(200, resp) } else { resp.Code = 400 resp.Msg = "参数错误" ctx.JSON(400, resp) } } ``` 在上面的代码中,我们使用了 prefixMap 和 modelMap 来分别将每个 case 表达式与一个对应的前缀以及结构体进行了映射。在 createItem 函数中,我们根据输入的 item.Type 从 modelMap 中获取对应的结构体,然后使用 mapstructure.Decode 函数将 item.Value 解码成对应的结构体。接着,我们使用 common.DB.Create 函数将结构体写入数据库,生成对应的 ID,并使用 common.DB.Model 函数更新 ID 字段。最后,我们根据输入的 item.Type 从 prefixMap 中获取对应的前缀,将前缀和 ID 拼接起来作为返回值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值