JeffreySu / WeiXinMPSDK

微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
https://weixin.senparc.com
Apache License 2.0
8.46k stars 4.35k forks source link

推送模板消息(外链小程序),报错 #1185

Closed mustcarrayout closed 6 years ago

mustcarrayout commented 6 years ago

( 此版块专为反馈bug及提交需求服务,不负责解答开发问题,请勿发表开发问题, 如果您需要这方面的帮助,请移步问答社区https://weixin.senparc.com/QA )

问题描述
  1. 入参名称pagePath 报错
  2. 入参名称paget则不报错
  3. 官网demo错误
重现问题步骤(如果可以)
  1. MP.AdvancedAPIs.TemplateApi.SendTemplateMessage
  2. 推送消息链接需跳转至小程序,new TempleteModel_MiniProgram{pagePath="path"}
微信官方文档 URL

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277

微信官方文档快照(直接复制关键内容到下方)
{
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",  
           "miniprogram":{
             "appid":"xiaochengxuappid12345",
             "pagepath":"index?foo=bar"
           },
}

由于官方把参数名pagepath修改为path,导致报错

{
    "errcode": 40165, 
    "errmsg": "invalid weapp pagepath hint: [7GyI8a0145ge21]"
}

解决方案 字段重命名pagepath => page

    public class TempleteModel_MiniProgram
    {
        /// <summary>
        /// 小程序AppId
        /// </summary>
        public string appid { get; set; }
        /// <summary>
        /// 路径,如:index?foo=bar
        /// </summary>
        public string path { get; set; }
    }
发现问题的模块
模块对应的.net版本
开发环境
缓存环境
联系方式

Email: lihelikepurple@gmail.com (也可将问题地址及联系方式发送到 www.jeffrey.su@gmail.com)

JeffreySu commented 6 years ago

@mustcarrayout 2中 paget 是否有写错?

mustcarrayout commented 6 years ago

不好意思,确实写错了,是path!@JeffreySu

JeffreySu commented 6 years ago

你确定path是有效的吗(不只是不出错)?我之前试过Demo(也是官方文档写的)中的这个pagepath参数名称是正确的,但是值是错误的,正确的应该是这样: pagepath = "pages/index/index"

mustcarrayout commented 6 years ago

发送自 Windows 10 版邮件https://go.microsoft.com/fwlink/?LinkId=550986应用

发件人: Jeffrey Sumailto:notifications@github.com 发送时间: 2018年5月8日 19:53 收件人: JeffreySu/WeiXinMPSDKmailto:WeiXinMPSDK@noreply.github.com 抄送: lihemailto:lihelikepurple@outlook.com; Mentionmailto:mention@noreply.github.com 主题: Re: [JeffreySu/WeiXinMPSDK] 推送模板消息(外链小程序),报错 (#1185)

你确定path是有效的吗(不只是不出错)?我之前试过Demo(也是官方文档写的)中的这个pagepath参数名称是正确的,但是值是错误的,正确的应该是这样: pagepath = "pages/index/index" 我也想过是值得问题,但实际上不是。请参考单元测试SendTemplateMessageTest, 下面是单元测试结果截图

  1. 传pagepath [cid:image001.png@01D3E70A.01EDFEA0]

  2. 传page [cid:image003.png@01D3E70A.5075E830]

mustcarrayout commented 6 years ago

兄弟,现在执行单元测试都是好的。不论是用pagepath还是page都不报错了,但是用path跳转之后的页面不是预期,用pagepath是对的,因此这个问题被解决了。

发送自 Windows 10 版邮件https://go.microsoft.com/fwlink/?LinkId=550986应用


发件人: Jeffrey Su notifications@github.com 发送时间: Tuesday, May 8, 2018 7:53:40 PM 收件人: JeffreySu/WeiXinMPSDK 抄送: lihe; Mention 主题: Re: [JeffreySu/WeiXinMPSDK] 推送模板消息(外链小程序),报错 (#1185)

你确定path是有效的吗(不只是不出错)?我之前试过Demo(也是官方文档写的)中的这个pagepath参数名称是正确的,但是值是错误的,正确的应该是这样: pagepath = "pages/index/index"

― You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/JeffreySu/WeiXinMPSDK/issues/1185#issuecomment-387377675, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJfpF30W2ex-g-x0XCcb5FDHhitmlBaYks5twYdEgaJpZM4T0nMH.

JeffreySu commented 6 years ago

OK