参数说明:
access_token:是公众号的access_token
encrypt_code:是通过wx.addCard()得到的code的值,
具体的代码如下:
#region 得到卡券的code
[HttpGet]
public HttpResponseMessage GetCardCode(string token,string code)
{
#region 测试数据
token = "v9gHADPTrlkmslqmrHSWMgMLuUxMs7OlMET1MZENajtbhxD3UplPQIfdEyOvOgjLAbA0SMX0lhU9axrA6O7Fcvh1ceLMQdye6NyMe1O-EFkTOT4subpazXXI_2pKIyAwLTTcACAUCC";
code = "FLAVtRdqE4aP+eYIeIyhFzk6qN0sB0Abahayq+pxbbU=";
#endregion
var url = string.Format("https://api.weixin.qq.com/card/code/decrypt?access_token={0}", token);
var client = new HttpClient();
var sb = new StringBuilder();
sb.Append("{")
.Append('"' + "encrypt_code" + '"' + ":").Append('"' + code + '"')
.Append("}");
var result = client.PostAsync(url, new StringContent(sb.ToString())).Result;
var data = DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
return ReturnHttpResponse(JsonConvert.SerializeObject(data));
}
#endregion
后台写死的测试的时候正确的!
但是通过微信小程序请求,其代码如下:
wx.request({
url: url + '/api/DataApi/GetCardCode?token=' + getApp().globalData.gzhaaccess_token+'&code=' +cardcode,
data: {},
header: { 'Content-Type': 'application/json' },
success: function (res) {}})
将参数传过去的之后会报如下的错误提示:
40075:invalid encrypt code hint!
请管理员查看问题(错误)所在!以及如何解决!!!!
https://mp.weixin.qq.com/debug/wxadoc/dev/api/card.html
根据你的反馈,补充了下文档,麻烦有空的时候看看是否还有不明确的地方。
urlEncode 这种问题web开发者应该很容易意识到的,所以不会在文档中写这些基础的内容。
好的!谢谢了!
url: url + '/api/DataApi/CardDecrypt?token=' + getApp().globalData.gzhaaccess_token + '&code=' + encodeURIComponent(cardcode),
路径写成这样可以了!