Foxtable(狐表)用户栏目专家坐堂 → 微信接口


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

主题:微信接口

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


加好友 发短信
等级:超级版主 帖子:112393 积分:572233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/28 22:01:00 [显示全部帖子]

1、优化一下数据库,给区县加上索引

2、按这里的方法添加日志进行分析http://wechat.foxtable.com:9009/WebHelp/scr/we0008.htm

比如这样跟踪

……
    If e.GetValues.ContainsKey("code") Then '如果通过授权链接跳转而来,就根据传递过来的code参数调用接口,获取用户的UserId
        Dim ul As String  = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token={0}&code={1}"
        ul = CExp(ul,Functions.Execute("GetQYAccessToken"),e.GetValues("code"))
        Dim hc As new HttpClient(ul)
        Dim ret = hc.GetData
        Functions.Execute("LogText","code=" & e.GetValues("code") & ", access_token结果=" & ret)
        Dim jo As JObject = JObject.Parse(ret)
        If jo("UserId") IsNot Nothing Then
            UserId = jo("UserId")
            UserName = jo("name")
        End If
    Else
        
        UserId = e.Cookies("userid") '否则从cookie中提取userid和username
        UserName = e.Cookies("name")
    End If
    Dim Verified As Boolean
    If UserId  > ""  Then
        Verified  = True
        e.AppendCookie("userid",UserId) '将userid和username存储在Cookie中
        
    ElseIf e.GetValues.ContainsKey("code") = False Then '如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接
        
        Dim ul As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww51c9a9c0c93a7d18&redirect_uri=http%3a%2f%2fsxwytx.iego.cn&response_type=code&scope=snsapi_base&state=123#wechat_redirect"
        sb.Append("<meta http-equiv='Refresh' c>") '跳转到授权链接
        e.WriteString(sb.ToString)
        Return
    End If
    If Verified = False Then
        sb.AppendLine("你无权访问本系统")
        e.WriteString(sb.ToString)
    Else
        
        '从腾讯服务器获取指定人员的相关详细信息
        Dim aa,bb As String
        Dim ul As String  = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token={0}&userid={1}"
        ul= CExp(ul,Functions.Execute("GetQYAccessToken"),UserId)
        Dim hc As new HttpClient(ul)
        Dim ret1 = hc.GetData
        Functions.Execute("LogText","UserId=" & UserId & ", 结果1=" & ret1)
        Dim jo As JObject = JObject.Parse(ret1)
        If jo("errcode") = "0" Then
            bb =  CompressJSon(jo("department")).Trim("[","]")
        End If
        '根据获取的人员信息中部门ID,从腾讯服务器获取指定人员的部门信息
        Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token={0}&id={1}"
        Dim hc1 As New HttpClient(CExp(ur,Functions.Execute("GetQYAccessToken"),bb))
        Dim ret2 = hc1.GetData
        Functions.Execute("LogText","bb=" & bb & ", 结果2=" & ret2)
        Dim jo1 As JObject = JObject.Parse(ret2)
        If jo1("errcode") = "0" Then
            aa = CompressJSon(jo1("department")).Trim("[","]")
            aa = aa.SubString(aa.IndexOf("name")+ 7)
            aa = aa.SubString(0,aa.IndexOf(",") - 1)
        End If
……其它地方自己添加,然后看日志结果进行分析

 回到顶部