Foxtable(狐表)用户栏目专家坐堂 → cookies 没有起效果


  共有2160人关注过本帖平板打印复制链接

主题:cookies 没有起效果

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
cookies 没有起效果  发帖心情 Post By:2017/10/26 18:46:00 [只看该作者]

老师,不知道是不是我用法不对,cookies没有添加成功
这是添加cookies,弹出的openid是有的

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20171026184450.png
图片点击可在新窗口打开查看
这是获取cookies,弹出的没有openid

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20171026184327.png
图片点击可在新窗口打开查看

代码如下:
添加cookies:
    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,appid,secret,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 drwx As DataRow  = DataTables("WXUsers").sqlFind("openid ='" & Openid & "'")
        If drwx IsNot Nothing Then
            UserNamewx = drwx("nickname")
        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)
            If jo("openid") IsNot Nothing Then
                UserNamewx = jo("nickname")
                drwx = DataTables("WXUsers").AddNew()
                Dim nms() As String = {"openid","nickname","sex","city","country","province","headimgurl"} '""
                For Each nm As String In nms
                    drwx(nm) = jo(nm)
                Next
                drwx("账套") = zhangtao
                drwx("addtime") = Date.now
                drwx.Save
                DataTables("WXUsers").loadfilter = "Openid = ''"
                DataTables("WXUsers").load
            Else
                e.WriteString(jo.ToString) '在用户浏览器显示错误信息
                Return
            End If
        End If
        e.AppendCookie("usernamewx",UserNamewx) '用户名和openid存储在Cookie中
        e.AppendCookie("OpenID",OpenID)
        messagebox.show(Date.now & openid)
    Else
        e.WriteString(jo.ToString) '在用户浏览器显示错误信息
        Return
    End If    
End If
e.WriteString(sb.ToString)


获取cookies的代码页面:
Dim e As  RequestEventArgs = args(0)
Dim wb As New weui


If e.PostValues.Count = 0 Then
    wb.AddPageTitle("","ph1","微信关联姓名","")
    wb.AddForm("","form1","")
    With wb.AddInputGroup("form1","ipg1","请您填写基本信息")
        With .AddInput("name","姓名","text")
            .Placeholder = "您的姓名"
        End With
    End With
    With wb.AddButtonGroup("form1","btg2",True)
        .Add("zc", "注册", "submit")
    End With
Else
    Dim openid As String = e.cookies("openid")
    messagebox.show(Date.now & openid)

    Dim dr As DataRow = DataTables("WXUsers").sqlFind("openid  ='" & OpenID & "'") '根据openid找出对应的行
    If dr IsNot Nothing '
        dr("name") = e.PostValues("name")
        dr.save()
    End If

    With wb.AddMsgPage("","msgpage","关联成功", "欢迎您的加入,请关闭此页面") '生成成功提示页
    End With
    
End If
e.WriteString(wb.Build) '生成网页

[此贴子已经被作者于2017/10/26 20:13:51编辑过]

 回到顶部
总数 15 1 2 下一页