Foxtable(狐表)用户栏目专家坐堂 → 关于网页授权


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

主题:关于网页授权

帅哥哟,离线,有人找我吗?
客家阿哥
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2018/4/22 22:30:00 [只看该作者]

顶给老师注意到

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/22 23:09:00 [只看该作者]

请在你的代码里面,加入多个msgbox和output.show弹出其执行顺序。

 


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


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2018/4/23 10:29:00 [只看该作者]

授权函数rrzz的代码

Dim e As RequestEventArgs = args(0)
Dim sb As New StringBuilder
'sb.AppendLine("<meta name='viewport' c>")
If e.host = "www.whtcxx.com" Then '授权测试
    Dim UserName As String
    Dim OpenID As String

    MessageBox.Show("aa")

    If e.GetValues.ContainsKey("code") Then '如果是通过授权链接跳转而来,就从链接重提取code来获取openid
        Dim ul As String  = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code"
        ul = CExp(ul,"wxc919804411b0d36c","d72f4d5c111fafc697aea16c87dfa3c2",e.GetValues("code"))
        Dim hc As new HttpClient(ul)
        Dim jo As JObject = JObject.Parse(hc.GetData)

        MessageBox.Show("bb")

        If jo("openid") IsNot Nothing Then '如果获取openid成功(成功的话,还会同时返回一个accesstiken,用于获取用户详情)
            OpenID = jo("openid")
            Dim dr As DataRow = DataTables("WXUsers").Find("openid ='" & Openid & "'")

            MessageBox.Show("cc")

            If dr IsNot Nothing Then
                UserName = dr("nickname")

                MessageBox.Show("dd")

            Else
                ul = "https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN "
                '根据openid和accesstoken获取用户详情,注意这里这个accesstoken不是普通accesston,只能用于网页授权
                hc = New HttpClient(CExp(ul, jo("access_token"), OpenId))
                jo = jo.Parse(hc.GetData)
                MessageBox.Show("ee")
                If jo("openid") IsNot Nothing Then
                    UserName = jo("nickname")
                    dr = DataTables("WXUsers").AddNew()
                    Dim nms() As String = {"openid","nickname","sex","city","country","province","headimgurl"} '""
                    For Each nm As String In nms
                        dr(nm) = jo(nm)
                    Next
                    dr.Save
                Else

                    MessageBox.Show("ff")

                    e.WriteString(jo.ToString) '在用户浏览器显示错误信息
                    Return ""
                End If
            End If
            MessageBox.Show("gg")
            e.AppendCookie("username",UserName) '用户名和openid存储在Cookie中
            e.AppendCookie("openid",OpenID)
        Else
            e.WriteString(jo.ToString) '在用户浏览器显示错误信息
            Return ""
        End If

        MessageBox.Show("hh")

    Else
        UserName = e.Cookies("username") '从cookie获取用户名和openid
        OpenID = e.Cookies("openid")
        MessageBox.Show("ii")
        If userName = "" OrElse OpenID = "" Then
            MessageBox.Show("jj")
            Dim ul As String  = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc919804411b0d36c&redirect_uri=http%3a%2f%2fwww.whtcxx.com&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"
            sb.Append("<meta http-equiv='Refresh' c>") '跳转到授权链接
            
            MessageBox.Show("mm")

            MessageBox.Show(sb.ToString)
            e.WriteString(sb.ToString)

            MessageBox.Show("kk")

            Return ""

            MessageBox.Show("LL")

        End If
        
        
        
        
        
    End If

    If  OpenID > "" And UserName > "" Then
    ''这里可以做进一步的权限判断
    'sb.AppendLine("欢迎" & UserName & "光临, <a href='http://wexin.foxtable.com'>刷新页面</a>")
    'Else
    'sb.AppendLine("你无权访问本系统")
    'End If

    MessageBox.Show("nn")

End If
'e.WriteString(sb.ToString)

Return "OK"
[此贴子已经被作者于2018/4/23 10:29:36编辑过]

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2018/4/23 10:32:00 [只看该作者]

httprequest里面的代码


Dim fl As String = "d:\web\" & e.path
If filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar",".txt"
            e.WriteFile(fl)
            Return '这里必须返回
    End Select
End If
Select Case e.Path
    Case "kaipiaoyuyuetianjia.htm"
        If Functions.Execute("rrzz",e) = "OK" Then
            MessageBox.Show("y")
            Functions.Execute("kaipiaoyuyuetianjia",e)
        Else
            MessageBox.Show("z")
        End If
        
    End  Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/23 10:41:00 [只看该作者]

那msgbox弹出什么,分别弹出什么?

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2018/4/23 10:49:00 [只看该作者]



aa

ii

jj


mm


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180423104609.png
图片点击可在新窗口打开查看

kk


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180423104727.png
图片点击可在新窗口打开查看


点“确认”,点不了

z


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/23 10:56:00 [只看该作者]

你要关闭所有弹出的msgbox以后,才能再操作点击你的网页。

 

点击授权后,会跳转到这个地址 http%3a%2f%2fwww.whtcxx.com 你网页那里,要写代码处理这次跳转。


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


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2018/4/23 11:20:00 [只看该作者]

最终页面停在

http://www.whtcxx.com/?code=081d3wEv1pkZO90gKACv1lvuEv1d3wER&state=123

而我希望最终回到页面kaipiaoyuyuetianjia.htm

代码不会写,希望老师指点一下

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/23 11:31:00 [只看该作者]

Dim ul As String  = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc919804411b0d36c&redirect_uri=http%3a%2f%2fwww.whtcxx.com&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"

 

改成

 

Dim ul As String  = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc919804411b0d36c&redirect_uri=http%3a%2f%2fwww.whtcxx.com%2fkaipiaoyuyuetianjia.htm&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"


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


加好友 发短信
等级:四尾狐 帖子:821 积分:5932 威望:0 精华:0 注册:2012/10/24 15:01:00
  发帖心情 Post By:2018/4/23 12:37:00 [只看该作者]

好了,谢谢老师。就是那里错了!

 回到顶部
总数 30 上一页 1 2 3