前面省略
'---------------------------------------------------------------------------------------
Select Case e.path
Case "Remuneration" '工资信息
Dim UserId As String
Dim UserName As String
Dim sb As New StringBuilder
sb.AppendLine("<meta name='viewport' c>")
If e.GetValues.ContainsKey("code") Then '如果通过授权链接跳转而来,就根据传递过来的code参数调用接口,获取用户的UserId
'MessageBox.Show("通过授权链接进入")
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")
End If
Dim Verified As Boolean
Dim drc As DataRow = DataTables("员工花名册").SQLFind("企业微信号ID ='" & UserId & "'") '根据openid找出对应的行
If UserId > "" AndAlso drc IsNot Nothing AndAlso drc("微信权限") = True '授权成功
Verified = True
UserName = drc("姓名")
e.AppendCookie("userid",UserId) '将userid存储在Cookie中
ElseIf e.GetValues.ContainsKey("code") = False Then '如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接
Dim ul As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&agentid={2}&state=STATE#wechat_redirect"
Dim ul2 As String = UrlEncode(Vars("yyzy"))
ul = CExp(ul,Vars("qyid"),ul2,Vars("yyid"))
sb.Append("<meta http-equiv='Refresh' c>") '跳转到授权链接%3a8090
e.WriteString(sb.ToString)
Return
End If
If Verified = False Then
e.AppendCookie("userid",UserId)
e.WriteString("<meta http-equiv='Refresh' c>")
Else
e.WriteString("<meta http-equiv='Refresh' c>")
End If
e.WriteString(sb.ToString)
Case "Remuneration3"
If e.Cookies.ContainsKey("userid") =False Then
e.WriteString("非法访问")
Return
End If
e.AsyncExecute = True
Functions.AsyncExecute("Remuneration3",e)
Case "Remuneration2"
If e.Cookies.ContainsKey("userid") =False Then
e.WriteString("非法访问")
Return
End If
e.AsyncExecute = True
Functions.AsyncExecute("Remuneration2",e)
End Select
新增的内部函数Remuneration3:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Dim UserId As String
UserId = e.Cookies("userid")
Dim xingming As String
Dim sfz As String
If e.PostValues.ContainsKey("xingming") AndAlso e.PostValues.ContainsKey("sfz") Then
xingming = e.PostValues("xingming")
sfz = e.PostValues("sfz")
End If
Dim drc9 As DataRow = DataTables("员工花名册").SQLFind("身份证号 = '"& sfz &"'")
If drc9 IsNot Nothing AndAlso drc9("姓名") = xingming AndAlso drc9.IsNull("企业微信号ID") Then
drc9.SQLSetValue("企业微信号ID",userid)
e.WriteString("<meta http-equiv='Refresh' c>")
ElseIf drc9 IsNot Nothing AndAlso drc9.IsNull("企业微信号ID") = False Then
e.WriteString(drc9("姓名") & "的企业微信号已占用,请联系公司人力资源部进行核对!")
End If
wb.AddPageTitle("","pageheader","薪酬管理平台",Vars("dwmc"))
If e.PostValues.ContainsKey("xingming") AndAlso e.PostValues.ContainsKey("sfz") Then
wb.AddTopTips("","toptip2","无授权信息,请与公司人力资源管理部门核对!").msec = 2000 '
End If
wb.AddForm("","form1","Remuneration3")
With wb.AddInputGroup("form1","ipg1")
.AddInput("xingming","姓名:","text")
.AddInput("sfz","身份证号:","text")
End With
With wb.AddButtonGroup("form1","btg1",True)
.Add("btn1", "实名认证", "submit")
End With
wb.AddToast("","t3", "初次使用,请进行实名认证",0).msec= 1000
e.WriteString(wb.Build) '生成网页
e.Handled = True
现在少数人访问没问题,人稍微多点就报错,一个错误提示的HttpRequest出错,具体不详,另外一个就是直接程序奔溃,非法关闭。请帮看看哪里需要调整