以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 微信授权问题! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110284) |
||||
-- 作者:xietan417 -- 发布时间:2017/11/30 13:46:00 -- 微信授权问题! 昨天做完都可以正常使用今天又不行了!帮忙看看代码有没有问题。 代码贴不出来!具体看附件
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/30 14:30:00 -- 你什么时候调用验证函数的?必须先调用执行函数的代码,才能跳转到你其它地方去的。
|
||||
-- 作者:xietan417 -- 发布时间:2017/11/30 14:44:00 -- 打开kq.htm这个网页的时候啊! 之前的附件代码贴得有点乱了!现在重新上传
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/30 15:20:00 -- 1、请加入msgbox,看是否弹出msgbox触发对应的事件代码;
2、你要打开的是授权网页,而不是直接打开kq.htm,是访问授权页面以后,才能跳转到kq.htm的。 |
||||
-- 作者:xietan417 -- 发布时间:2017/11/30 15:39:00 -- 那蓝版这个怎么理解?要打开aaa.htm的时候才去调用验证函数来获取userid 那个aaa.htm是什么地址来的? if e.host = "www.664748.com" Then \'需要授权才能访问的域名 If e.path = "aaa.htm" dim userid = Functions.Execute("验证函数",e) if userid > "" then 验证成功的代码 else 验证不成功的代码 end if end if end if [此贴子已经被作者于2017/11/30 16:00:25编辑过]
|
||||
-- 作者:xietan417 -- 发布时间:2017/11/30 16:01:00 -- If e.host = "wx.tt.com.cn" Then \'需要授权才能访问的域名 If e.path = "kq.htm"
Dim userid = Functions.Execute("order",e)
If userid > "" Then MessageBox.Show("acc") Else MessageBox.Show("error") End If End If End If 还是报error
|
||||
-- 作者:有点蓝 -- 发布时间:2017/11/30 16:09:00 -- 验证函数: Dim e As RequestEventArgs = args(0) Dim path As RequestEventArgs = args(1) Dim UserId As String Dim sb As New StringBuilder 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 jo As JObject = JObject.Parse(hc.GetData) If jo("UserId") IsNot Nothing Then UserId = jo("UserId") End If Else UserId = e.Cookies("userid") \'否则从cookie中提取userid和username End If If UserId > "" then\'授权成功 e.AppendCookie("userid",UserId) \'将userid和username存储在Cookie中 Return UserId ElseIf e.GetValues.ContainsKey("code") = False Then \'如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接 Dim ul1 As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state={2}#wechat_redirect" Dim ul2 As String = UrlEncode("http://wx.tt.com.cn/" & path) ul1 = CExp(ul1,"wxc47938dd3fd523d4",ul2,"123") sb.Append("<meta http-equiv=\'Refresh\' c>") \'跳转到授权链接 e.WriteString(sb.ToString) Return "" End If kq函数: Dim e As RequestEventArgs = args(0) Dim wb As New weui Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SELECT * From {wxkq}" dt = cmd.ExecuteReader Dim userid = Functions.Execute("order",e,"kq.htm") If userid > "" Then With wb.AddTable("","Table1") \'按日期顺序列出考勤明细 .CreateFromDataTable(dt,False,"userid =\'" & UserId & "\'","日期","姓名","日期","星期","t1","t2") End With e.WriteString(wb.Build) End If |
||||
-- 作者:xietan417 -- 发布时间:2017/11/30 16:16:00 -- Dim path As RequestEventArgs = args(1) 第二个参数的作用是?
|
||||
-- 作者:xietan417 -- 发布时间:2017/11/30 17:01:00 -- Dim ul2 As String = UrlEncode("http://wx.tt.com.cn/" & path) 这条报错啊!蓝版
|
||||
-- 作者:有点蓝 -- 发布时间:2017/11/30 17:24:00 -- 报什么错?如果传入8楼的参数,不可能报错 |