Foxtable(狐表)用户栏目专家坐堂 → 关于简单的微信的客服系统


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

主题:关于简单的微信的客服系统

帅哥哟,离线,有人找我吗?
lemonkashi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:126 积分:918 威望:0 精华:0 注册:2017/9/26 13:40:00
关于简单的微信的客服系统  发帖心情 Post By:2020/4/24 16:12:00 [只看该作者]

关于简单的微信的客服系统  那里例子非常实用。我们单位也行用。
但是里面代码不适用了,老师能不能帮我们翻译成现在能使用的代码 我们借鉴一下。
自己改起来有点费劲。

谢谢老师


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


加好友 发短信
等级:超级版主 帖子:50535 积分:256159 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/24 16:25:00 [只看该作者]

请提出具体的问题!改起来什么地方有问题?

比如服务端接收聊天窗口信息后,wechatReceivedMessage事件:

'处理接收到客户端的消息,然后转发到指定用户微信'
Dim userid = e.WeChatID
If e.ContentType = 0 Then '本例子只处理文本消息
    Dim drUser As DataRow = DataTables("微信用户").Find(CExp("[_Identify]={0} ",userid))
    If drUser IsNot Nothing Then
        Dim text = WeChat.SendMessageHelper.GetSendMessage(WeChat.ApiType.MP, "text") 

        text.touser = drUser("OpenID")
        text.AddContent(e.Content)
        Dim weRet = WeChat.WeChatServer.Server(Vars("mpappid")).SendMsgController.SendMessage(text.ToJson(True)) '发送消息到微信
        If not weRet.Success Then
            Functions.Execute("logText",weRet.ErrorMessage & "|" & text.ToJson(True))
        End If
        
    End If
End If

改为

Dim userid = e.WeChatID
If e.ContentType = 0 Then '本例子只处理文本消息
    Dim drUser As DataRow = DataTables("微信用户").Find(CExp("[_Identify]={0} ",userid))
    If drUser IsNot Nothing Then
        Dim jo As New JObject
        jo("touser") = drUser("OpenID")
        jo("msgtype") = "text"
        jo("text") =  New JObject
        jo("text")("content") = e.Content
        
        Dim URL As String = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}"
        Dim hc As New HttpClient(CExp(URL, Functions.Execute("GetAccessToken")))
        hc.Content = jo.ToString()
        jo = JObject.Parse(hc.GetData())
        If jo("errcode") <> "0" Then
            Functions.Execute("logText",jo("errmsg") & "|" & text.ToJson(True))
        End If
        
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:126 积分:918 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/4/24 16:48:00 [只看该作者]

谢谢 蓝老师 我根据例子 我尝试自己改改。遇到问题我在发上来  !

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:126 积分:918 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/4/24 19:34:00 [只看该作者]

Select Case e.host

    Case "192.168.100.7","127.0.0.1","wechat.foxtable.com"

        Select Case e.Path

            Case "FoxTest"

                Dim wechatServ As WeChat.WeChatPublicNo = WeChat.WeChatServer.Server("wx506f113977c3a8a3")

                Dim ret = wechatServ.ProcessMessage(e.Request,"ProcessRequestMsg")

                e.WriteString(ret)

        End Select

End Select

蓝老师 这部分代码怎么改


我改到如下形式 服务器报错

  ElseIf e.Request.HttpMethod = "Post"

                    Dim xo As Foxtable.XObject = Foxtable.XObject.Parse(e.PlainText)

                    Dim st As New Date(1970,1,1,8,0,0)

                    Select Case xo("MsgType")

                        Case "text","image","voice","video","shortvideo" '为了简单,这里只保存文本?图片?语音和视频消息.

                             Functions.Execute("ProcessRequestMsg",e.Request)

                    End Select

End If

通过公众号发消息

弹出错误信息

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.3.31.8
错误所在事件:自定义函数ProcessRequestMsg
详细错误信息:
调用的目标发生了异常。
未找到类型“HttpListenerRequest”的公共成员“MsgType”。



 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:126 积分:918 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/4/25 0:03:00 [只看该作者]

蓝老师好   经过一晚上的努力  上述问题基本解决了
1.修改 ProcessRequestMsg 接收数据的方式
2.回消息的时候   jo("touser") = drUser("OpenID") 要做转换成字符串 要不报错。
这样目前收发文字消息的都可以了。

现在有一个OPenQQ的问题:
1.由于QQserver和httpserver 都是放在云服务器上。
 QQserver 我在本地连的时候得输入公网的IP地址目前输入 点登陆显示  规定时间内未获取服务器响应。
这个应该怎么部署。
2.如果是微信端发图片元素我该怎么接收 请提醒一下,谢谢

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


加好友 发短信
等级:超级版主 帖子:50535 积分:256159 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/26 9:19:00 [只看该作者]

1、QQserver 的启动IP改为"0.0.0.0"
2、图片消息接收到的是MediaId,根据MediaId调用接口下载或者上传图片:http://www.foxtable.com/mobilehelp/topics/0181.htm

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:126 积分:918 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/4/26 22:26:00 [只看该作者]

发图片

  在服务器上测试可以 ,图片大小是19.9K
在本地连网络QQserver 显示图片加载失败  有什么限制吗  比如下载时间 或者图片大小

 

谢谢蓝老师
[此贴子已经被作者于2020/4/26 22:30:54编辑过]

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


加好友 发短信
等级:超级版主 帖子:50535 积分:256159 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/26 22:38:00 [只看该作者]

应该是网络穿透的原因。本地服务器还是云服务器?http://www.foxtable.com/webhelp/topics/3034.htm

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:126 积分:918 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/4/27 16:22:00 [只看该作者]

我现在测试环境是直接连接部署在腾讯云的QQSERVER 服务端

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


加好友 发短信
等级:超级版主 帖子:50535 积分:256159 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/27 16:49:00 [只看该作者]

安全组、和系统防火墙都要开启一个udp的端口范围,和启动openQQ的端口范围一致:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&replyID=714467&ID=104284&skin=1

 回到顶部
总数 20 1 2 下一页