Foxtable(狐表)用户栏目专家坐堂 → 符合条件后自动跳转怎么写?


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

主题:符合条件后自动跳转怎么写?

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
符合条件后自动跳转怎么写?  发帖心情 Post By:2021/3/8 23:47:00 [显示全部帖子]

网页详细授权,符合条件后自动跳转到DEFAULT.HTM(自定义函数)怎么写?下面的两种方法都是不断的循环跳转怎么回事?


If  OpenID > "" And UserName > "" Then
        '这里可以做进一步的权限判断
        'sb.AppendLine("欢迎" & UserName & "光临, <a href='http://wexin.foxtable.com'>刷新页面</a>")
        wb.InsertHTML("<meta http-equiv='Refresh' c>") '直接跳转到首页
        e.WriteString(wb.Build)
        Return ""
end if

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 0:22:00 [显示全部帖子]

上面的代码也放到自定义函数里了

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 10:20:00 [显示全部帖子]

HTTPREQUEST代码如下:
Functions.Execute("wx",e) ‘WX函数就是网页详情授权代码,调试没问题!
Select Case e.path
    Case "logon.htm" '登录页面
        Functions.Execute("login",e)
    Case "exit.htm" '退出登录
        Functions.Execute("exit",e)
    'Case "", "default.htm" '首页
    Case "default.htm" '首页
        Functions.Execute("default",e)
    Case "list.htm"
        Functions.Execute("List",e)
    Case "addnew.htm"
        Functions.Execute("AddNew",e)
    Case "edit.htm"
        Functions.Execute("Edit",e)
    Case "delete.htm"
        Functions.Execute("Delete",e)
    Case "handle.htm"
        Functions.Execute("handle",e)
    Case "tongji.htm"
        Functions.Execute("Statistics",e)
    Case "filter.htm"
        Functions.Execute("Filter",e)
    Case "wefox"
        If e.Request.HttpMethod.ToUpper = "GET"
            If Functions.Execute("VerifySignature",e) Then
                e.WriteString(e.GetValues("echostr"))
            End If
        End If
End Select

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 10:32:00 [显示全部帖子]

1楼的代码在WX自定义函数中,代码与帮助中“网页详情授权“一模一样,只是下面满足条件自动跳转实现不了。
我改成1楼的代码后通过授权就不断的刷新页面,不能显示出default.htm页面

If  OpenID > "" And UserName > "" Then

        '这里满足条件时需要自动跳转到DEFAULT.HTM页,如何实现?
        sb.AppendLine("欢迎" & UserName & "光临, <a href='自己的域名'>刷新页面</a>")
    Else
        sb.AppendLine("你无权访问本系统")
   
End If
End
If
[此贴子已经被作者于2021/3/9 10:35:56编辑过]

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 11:17:00 [显示全部帖子]

蓝版帮忙看看吧图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 11:31:00 [显示全部帖子]

Dim sb As New StringBuilder
sb
.AppendLine("<meta name='viewport' c>")
If
e.host = "wexin.foxtable.com" Then '授权测试
    Dim UserName As String
    Dim OpenID As String
    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,"wx8acdb7df5beb68fd","dec0df8a469518df30e9bdef0758c678",e.GetValues("code"))
        Dim hc As new HttpClient(ul)
        Dim jo As JObject = JObject.Parse(hc.GetData)
        If jo("openid") IsNot Nothing Then '
如果获取openid成功(成功的话,还会同时返回一个accesstiken,用于获取用户详情)
            OpenID = jo("openid")
            Dim dr As DataRow = DataTables("WXUsers").Find("openid ='" & Openid & "'")
            If dr IsNot Nothing Then
                UserName = dr("nickname")
            Else
                ul = "https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN "
                '
根据openidaccesstoken获取用户详情,注意这里这个accesstoken不是普通accesston,只能用于网页授权
                hc = New HttpClient(CExp(ul, jo("access_token"), OpenId))
                jo = jo.Parse(hc.GetData)
                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
                    e.WriteString(jo.ToString) '
在用户浏览器显示错误信息
                    Return
                End If
            End If
            e.AppendCookie("username",UserName) '
用户名和openid存储在Cookie
            e.AppendCookie("openid",OpenID)
        Else
            e.WriteString(jo.ToString) '
在用户浏览器显示错误信息
            Return
        End If
    Else
        UserName = e.Cookies("username") '
cookie获取用户名和openid
        OpenID = e.Cookies("openid")
        If userName = "" OrElse OpenID = "" Then
            Dim ul As String  = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8acdb7df5beb68fd&redirect_uri=http%3a%2f%2fwexin.foxtable.com&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"
            sb.Append("<meta http-equiv='Refresh' c>") '
跳转到授权链接
            e.WriteString(sb.ToString)
            Return
        End If
    End If
    If  OpenID > "" And UserName > "" Then
       
'满足条件如何自动跳转(非手动单击链接)到default.htm
        sb.AppendLine("欢迎" & UserName & "光临, <a href='http://wexin.foxtable.com'>刷新页面</a>")
    Else
        sb.AppendLine("你无权访问本系统")
   
End If
End
If
e
.WriteString(sb.ToString)

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 14:24:00 [显示全部帖子]

我不想用LOGON.HTM这个界面,就是单纯的网页授权,把e.path = "logon.htm"去掉了,代码只能正常执行一次,再刷新就是空白页

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 15:02:00 [显示全部帖子]

1、WX函数中的所有sb.Append都要改成wb.InserHtMl吗?
2、sb.AppendLine要改吗?
3、他们两个的区别是什么?

[此贴子已经被作者于2021/3/9 15:03:44编辑过]

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 15:59:00 [显示全部帖子]

明白了,问题解决。

刚刚测试把WXUSERS的一条记录删除,这个时候仍然能直接访问而不是获得详细信息,怎么回事?

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


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2021/3/9 16:57:00 [显示全部帖子]

做了一个尝试,把WX函数中的内容复制到HTTPREQUEST中,调试能正常获得OPENID等接口数据,

1、跟踪到在下面代码段时能获取到OPENID和USERNAME 后无限循环怎么回事?
2、用红色那行代码就能正常显示,造成这个的原因是什么?



If  OpenID > "" And UserName > "" Then
        sb.AppendLine("<meta http-equiv='Refresh' content='0; url=/default.htm'>")
   ’sb.AppendLine("欢迎" & UserName & "光临, <a href='http://wexin.foxtable.com'>刷新页面</a>")
    Else
        sb.AppendLine("你无权访问本系统")


 回到顶部
总数 56 1 2 3 4 5 6 下一页