Foxtable(狐表)用户栏目专家坐堂 → [求助][讨论]网页上日期引用


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

主题:[求助][讨论]网页上日期引用

帅哥哟,离线,有人找我吗?
有点蓝
  81楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106168 积分:539957 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/11 13:44:00 [只看该作者]

微信授权和原来的登录有什么关系吗?只用其中一个,还是2个都用。

所有页面都要做授权还是只是部分页面?

 回到顶部
帅哥,在线噢!
nths
  82楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:305 积分:3849 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2021/3/11 13:52:00 [只看该作者]

老师;你好!我想用两个,系统授权用户名、用户管理组直接调用微信授权上的   原来管理组用户授权还是要的,麻烦了,谢谢

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


加好友 发短信
等级:超级版主 帖子:106168 积分:539957 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/11 14:07:00 [只看该作者]

Dim UserIda As String
Dim fl As String = ProjectPath & "d:\web\" & e.path
Dim path As String = "foxtableAppTest"
If filesys.FileExists(fl) ''如果文件存在
    Dim idx As Integer = fl.LastIndexOf(".") '''f1最后出现"."向前字符的个数
    Dim ext As String  = fl.SubString(idx)  ''f1字符从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

Dim UserNamea As String
Dim yfglza As String
Dim wb As New weui
If e.host = "344u981001.oicp.vip" Then '需要授权才能访问的域名
    
    wb.InsertHTML("<meta name='viewport' c>") 给的代码不完整,自己补充完整
    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
            UserIda = jo("UserId")
        End If
    Else
        UserIda = e.Cookies("userid") '否则从cookie中提取userid和username
    End If
    Dim Verifieda As Boolean
    Dim ddr As DataRow = DataTables("Users").Find("userid ='" & UserIda & "'") '根据openid找出对应的行
    If UserIda  > "" AndAlso ddr IsNot Nothing AndAlso ddr("permit") = True '授权成功
        Verifieda  = True
        UserNamea = ddr("name")
        yfglza = ddr("用户管理组")
        wb.AppendCookie("userid",UserIda) '下面登录验证也有一个wb.AppendCookie("userid",这里会有冲突,建议改个不同名称使用
    ElseIf e.GetValues.ContainsKey("code") = False Then '如果授权失败,且不是通过授权链接跳转而来,那么就跳转到授权链接
        Dim ul As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwcc0517bce4d8c688&redirect_uri=http%3a%2f%2f344u981001.oicp.vip%2flogon.htm&response_type=code&scope=snsapi_base&state=123#wechat_redirect"
        wb.InsertHTML("<meta http-equiv='Refresh' c>") 给的代码不完整,自己补充完整 '跳转到授权链接
        e.WriteString(wb.build)
        Return
    End If
    If Verifieda = False Then
        wb.InsertHTML("你无权访问本系统")
        e.WriteString(wb.build)
        Return
    End If
End If

'


Static UserTable As DataTable '定义一个变量,用于存储用户随机身份ID,以及最后一次活动时间.
Static ClearTime As Date
If UserTable Is Nothing Then '创建用于记录登录信息的临时表
    ClearTime = Date.Now()
    Dim dtb As New DataTableBuilder("UserInfos")
    dtb.AddDef("UserName", Gettype(String),16)
    dtb.AddDef("UserID",Gettype(String),16)
    dtb.AddDef("ActiveTime",Gettype(Date))
    dtb.AddDef("yfglz", Gettype(String),16)
    UserTable = dtb.Build(True)
End If
If (Date.Now - ClearTime).TotalMinutes >= 30 Then '清除超过30分钟没有操作的登录信息
    UserTable.DeleteFor("ActiveTime < #" & Date.Now.AddMinutes(-30) & "#")
    ClearTime = Date.Now()
End If
'Dim wb As New weui '身份验证
wb.AppendHTML("<script type='text/javascript' src='/" & path & "/js/common.js'></script>", True)
wb.AppendHTML("<link rel='stylesheet' href='/" & path & "/css/common.css' Type='text/css' charset='utf-8'/>", True)
Dim yfglz As String
Dim UserName As String
Dim Password As String
Dim UserID As String
If e.Path = "logon.htm" '如果是通过登录页面访问,从PostValues即可中提取用户名和密码
    If e.PostValues.ContainsKey("yfglz") AndAlso e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password")  Then
        Dim Verified As Boolean '用于标记用户是否通过了身份验证
        yfglz = e.PostValues("yfglz")
        UserName = e.PostValues("username")
        Password = e.PostValues("password")
        Dim dr As DataRow
        dr = DataTables("users").Find("Name = '" & UserName & "'And [用户管理组] = '" & yfglz & "'")
        If dr IsNot Nothing AndAlso dr("config").contains(MD5Encrypt(password)) Then
            Verified  = True
        End If
        If Verified Then
            UserID = Rand.NextString(16) '生成随机用户ID
            'yfglz = EncryptText(yfglz,"123","123") '将用户名加密.
            UserName = EncryptText(UserName,"123","123") '将用户名加密.
            Dim drt As DataRow = UserTable.Find("yfglz = '" & yfglz & "'And UserName = '" & UserName & "' ")
            If  drt IsNot Nothing Then '如果是重复登录,删除以前的登录信息
                drt.Delete()
            End If
            drt = UserTable.AddNew()
            drt("yfglz") = yfglz
            drt("UserName") = UserName
            drt("UserID") = UserId
            drt("ActiveTime") = Date.Now '记录登录时间
            wb.AppendCookie("yfglz",yfglz) '将用户名和密码写入cookie
            wb.AppendCookie("username",UserName) '将用户名和密码写入cookie
            wb.AppendCookie("userid",UserID) '上面授权也有一个wb.AppendCookie("userid",这里会有冲突,建议改个不同名称使用
            wb.InsertHTML("<meta http-equiv='Refresh' content='0; url=/default.htm'>") '直接跳转到首页
            e.WriteString(wb.Build) '生成网页
            Return '必须的
        End If
    End If
Else '其它页面从Cookie提取登录信息进行验证
    yfglz = e.Cookies("yfglz")  '从cookie中获取用户名
    UserName = e.Cookies("username")  '从cookie中获取用户名
    UserID = e.Cookies("userid")  '从cookie中获取 随机ID
    Dim dr As DataRow = UserTable.Find("yfglz = '" & yfglz & "'And UserName = '" & UserName & "'")
    If dr IsNot Nothing AndAlso dr("UserID") = UserID Then  '如果通过验证,更新活动时候,继续访问其它页面.
        dr("ActiveTime") = Date.Now '更新活动时间
    Else '如果验证失败
        wb.InsertHTML("<meta http-equiv='Refresh' content='0; url=/logon.htm'>") '那么直接跳转到登录页面
        e.WriteString(wb.Build) '生成网页
        Return '必须的
    End If
End If

 回到顶部
帅哥,在线噢!
nths
  84楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:305 积分:3849 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2021/3/11 14:50:00 [只看该作者]

谢谢老师的指导!

 回到顶部
帅哥,在线噢!
nths
  85楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:305 积分:3849 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2021/3/25 18:45:00 [只看该作者]

老师:你好! 我有一个员工信息表 照片列  在网页查看到一行时  该行照片为d2e01587a42066c105d7395f4ab7dd7.jpg   保存在D

:/Wed/员工图片中 运行  .AddImage("./员工照片/d2e01587a42066c105d7395f4ab7dd7.jpg","./员工照片/d2e01587a42066c105d7395f4ab7dd7.jpg")
               
能正常有图片,怎样能和其他文本框一样 .AddInput("姓名","姓名","Text").Value = dr("姓名")  使用dr(“图片”) 代码怎样改?谢谢老师指导


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


加好友 发短信
等级:超级版主 帖子:106168 积分:539957 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/25 20:33:00 [只看该作者]

dr(“图片”)存储的是什么内容?是不是"./员工照片/d2e01587a42066c105d7395f4ab7dd7.jpg"?

.AddImage(dr(“图片”,dr(“图片”)

 回到顶部
帅哥,在线噢!
nths
  87楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:305 积分:3849 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2021/3/26 8:05:00 [只看该作者]

老师:你好!按你的代码测试还是不行 dr("照片")是储存的图片‘我代码 With wb.AddInputGroup("form1","ipg1","查询员工")
            .AddInput("入职日期","入职日期","date").Value = dr("入职日期")
             .AddInput("部门","部门","Text").Value= dr("部门")
            .AddInput("工号","工号","Text").Value= dr("工号")
            .AddInput("姓名","姓名","Text").Value = dr("姓名")
            .AddInput("身份证号","身份证号","Text").Value= dr("身份证号")
            .AddInput("家庭住址","住址","Text").Value= dr("家庭住址")
             .AddInput("性别","性别","Text").Value= dr("性别")
            .AddInput("学历","学历","Text").Value= dr("学历")           
            .AddInput("电话","电话","Text").Value= dr("电话")
            .AddInput("职位","职位","Text").Value= dr("职位")
            .AddInput("离职日期","离职日期","date")
        End With
        With wb.AddInputGroup("form1","ipg22","文件上传")
            With .AddUploader("up2","图片",True)
                .AllowAdd = False
                '.AddImage("./员工照片/d2e01587a42066c105d7395f4ab7dd7.jpg","./员工照片/d2e01587a42066c105d7395f4ab7dd7.jpg")
             .AddImage(dr("照片"),dr("照片"))  
            End With
        End With
e.WriteString(wb.Build)


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


加好友 发短信
等级:超级版主 帖子:106168 积分:539957 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/26 9:13:00 [只看该作者]

msgbox(dr("照片"))

 回到顶部
帅哥,在线噢!
nths
  89楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:305 积分:3849 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2021/3/26 17:44:00 [只看该作者]

dr(“图片”)存储的内容不是"./员工照片/d2e01587a42066c105d7395f4ab7dd7.jpg"  是 “d2e01587a42066c105d7395f4ab7dd7.jpg”

 回到顶部
帅哥,在线噢!
nths
  90楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:305 积分:3849 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2021/3/26 18:15:00 [只看该作者]

老师:麻烦指导,谢谢

 回到顶部