以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 微信公众号问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159144) |
-- 作者:zhangjian222200 -- 发布时间:2020/12/15 15:39:00 -- 微信公众号问题 个人微信进入我的微信公众号界面,发来消息,服务器接收正常,但是,返回消息出错,如下图 [此贴子已经被作者于2020/12/15 15:43:11编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/15 15:48:00 -- 同步改改代码里的密钥即可 |
-- 作者:zhangjian222200 -- 发布时间:2020/12/15 16:11:00 -- 1.在哪同步改改代码里的密钥?因为消息加解密密钥改过,记得之前,加解密好像有个过程,只是记不住了,所以,麻烦说下去哪查加解密过程 2.加了e.WriteString("success"),与1楼一样,还是提示故障 [此贴子已经被作者于2020/12/28 11:22:51编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/15 16:26:00 -- http://www.foxtable.com/mobilehelp/topics/0210.htm End If e.WriteString(so.ToXML) return End Select e.WriteString("success") End If [此贴子已经被作者于2020/12/15 16:38:05编辑过]
|
-- 作者:zhangjian222200 -- 发布时间:2020/12/25 18:53:00 -- 信息可以返回了,问题见下图 [此贴子已经被作者于2020/12/28 11:22:38编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/26 8:39:00 -- httprequest完整代码发上来看看 Select Case e.Path Case "wefox" \'接入HTTP服务(用户发到公众号(包括测试号)的信息,都是直接发给腾讯的微信服务器的,用于在Foxtable中接收并回复用户发来的信息) msgbox(e.Request.HttpMethod)‘观察服务端这里弹出了几次’ If e.Request.HttpMethod.ToUpper = "GET" If Functions.Execute("VerifySignature",e) Then e.WriteString(e.GetValues("echostr")) End If ElseIf e.Request.HttpMethod.ToUpper = "POST" Dim wbiz As New WXBizCrypt("wxaa*******5bdd","b**jh","5nwSIw**********llDAa4") Dim st As New Date(1970,1,1,8,0,0) Dim msg As String = wbiz.DecryptMsg(e) \'解密收到的消息 If IsNumeric(msg) Then \'如果解密失败 Dim err As String = wbiz.GetErorDesc(CInt(msg)) \'获取错误描述 Return End If Dim xo As Foxtable.XObject = Foxtable.XObject.Parse(msg) msgbox(xo("MsgType")) Select Case xo("MsgType") Case "text","image","voice","video","shortvideo" \'为了简单,这里只保存文本?图片?语音和视频消息. Dim dr As DataRow = DataTables("Message").AddNew() dr("FromUserName") = xo("FromUserName") dr("CreateTime") = st.AddSeconds(xo("CreateTime")) dr("MsgType") = xo("MsgType") dr("MsgId") = xo("MsgId") dr("MediaId") = xo("MediaId") dr("ThumbMediaId") = xo("ThumbMediaId") dr("PicUrl") = xo("PicUrl") dr("Content") = xo("Content") dr("Format") = xo("Format") dr("Recognition") = xo("Recognition") dr.Save() \'下面是被动回复文本消息的代码: Dim dr_xiaoxi As DataRow \'定义,消息行 Dim faqiren As String = dr("FromUserName") \'定义,发起人 Dim so As New foxtable.XObject() so("ToUserName") = xo("FromUserName") so("FromUserName") = xo("ToUserName") so("CreateTime") = (Date.Now - st).TotalSeconds() so("MsgType")= "text" \'so("Content") = "这儿是自助交友平台,特色红包与线下活动沟通功能,增加自助交友乐趣,还等什么,开始吧!使用问题,请在会员中心-基础资料,加客服微信咨询哦!" If faqiren <> "" Then dr_xiaoxi = DataTables("Message").SQLFind("FromUserName = \'" & faqiren & "\'") If dr_xiaoxi IsNot Nothing Then so("Content") = "这儿是本地交换信息平台!若未回复,请联系15*****05,谢谢!" Else so("Content") = "这儿是本地交换信息平台!若未回复,请联系15********05,谢谢!" End If End If msgbox(so.ToXML)) e.WriteString(so.ToXML) Return End Select msgbox("success") e.WriteString("success") Return End If
[此贴子已经被作者于2020/12/28 11:25:37编辑过]
|
-- 作者:zhangjian222200 -- 发布时间:2020/12/26 21:07:00 -- 楼上分别显示:下面的1、2、3,都只显示一次 显示1之前,5楼的错误提示已经在个人微信号上显示错误,点击下图确定按钮,消息显示在个人微信上
1.POST 2.test 3.正常显示 [此贴子已经被作者于2020/12/28 11:49:40编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/27 20:41:00 -- 把6楼msgbox改为使用LogText日志记录,重新测试一下,看看微信发消息的时间和日志记录的时间差是多少。 可以看看记录里:dr("CreateTime") = st.AddSeconds(xo("CreateTime"))这个CreateTime的具体时间
|
-- 作者:zhangjian222200 -- 发布时间:2020/12/28 10:37:00 -- 发送数据:4321,返回一条错误信息,然后返回消息 数据库记录: 函数记录: 2020-12-28 10:29:17.2061 POST 2020-12-28 10:29:17.2549 text 2020-12-28 10:29:17.2843 <xml><ToUserName>oOS1Es-R5h4HTR9OyPvtuB0tw24M</ToUserName><FromUserName>gh_8a580fdb5bb8</FromUserName><CreateTime>1609122557.2696424</CreateTime><MsgType>text</MsgType><Content>这儿是本地交换信息平台!若未回复,请联系1**********,谢谢!</Content></xml> [此贴子已经被作者于2020/12/28 11:23:37编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/28 10:52:00 -- 这个实在看不出什么问题了。新建项目减少代码测试,比如只保留和帮助一样的测试代码。 这个时间试试这样处理 so("CreateTime") = clng((Date.Now - st).TotalSeconds())
|