Foxtable(狐表)用户栏目专家坐堂 → 微信公众号问题


  共有3625人关注过本帖树形打印复制链接

主题:微信公众号问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/15 15:48:00 [显示全部帖子]

同步改改代码里的密钥即可

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=159081&skin=0

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/27 20:41:00 [显示全部帖子]

把6楼msgbox改为使用LogText日志记录,重新测试一下,看看微信发消息的时间和日志记录的时间差是多少。

可以看看记录里:dr("CreateTime") = st.AddSeconds(xo("CreateTime"))这个CreateTime的具体时间

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/28 10:52:00 [显示全部帖子]

这个实在看不出什么问题了。新建项目减少代码测试,比如只保留和帮助一样的测试代码。

这个时间试试这样处理

so("CreateTime") = clng((Date.Now - st).TotalSeconds())

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/28 11:00:00 [显示全部帖子]

另外试试把回复的文本内容都放到CDATA结点里:http://www.foxtable.com/mobilehelp/topics/0173.htm

 回到顶部