以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教如何将保存用户微信消息的代码改为自定义函数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133092)

--  作者:rogen
--  发布时间:2019/4/6 14:29:00
--  请教如何将保存用户微信消息的代码改为自定义函数
微信相关的帮助里提到将保存用户消息的代码改为函数,请教改如何改呢?
不知道如何传参。

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190406142822.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/4/6 14:42:00
--  
以第一段代码为例

内部函数:

Dim str As String = Args(0)
Dim xo As XObject = XObject.Parse(str)
Dim st As New Date(1970,1,1,8,0,0)
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()
End Select

HttpRequest事件代码改为
Select Case e.path
    Case "wefox"
        If e.Request.HttpMethod = "GET"
            If Functions.Execute("VerifySignature",e) Then
                e.WriteString(e.GetValues("echostr"))
            End If
        ElseIf e.Request.HttpMethod = "Post"
            Functions.Execute("函数名称",e.PlainText)
        End If
End Select