以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 在学习狐表官方学习及考试写法时 非微信授权登录的情况下 WeChatUsers怎么无法新增用户数据进去呢?是不是只有微信扫码才能新增用户数据呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161534) |
-- 作者:cnsjroom -- 发布时间:2021/3/21 14:03:00 -- 在学习狐表官方学习及考试写法时 非微信授权登录的情况下 WeChatUsers怎么无法新增用户数据进去呢?是不是只有微信扫码才能新增用户数据呢? 在学习狐表官方学习及考试写法时,非微信授权登录的情况下 WeChatUsers怎么无法新增用户数据进去呢?是不是只有微信扫码才能新增用户数据呢? 当前还没有使用微信进行测试,所以想后台直接新增用户数据进去 有没有办法呢? 方法一:无法直接保存数据 Dim cmd1 As New SQLCommand cmd1.C cmd1.CommandText = "Insert Into WeChatUsers(OpenID,Nickname,Sex,Grade,Password,Token) Values(?,?,?,?,?,?)" cmd1.Parameters.Add("@OpenID","1234567891") cmd1.Parameters.Add("@Nickname","黄立望") cmd1.Parameters.Add("@Sex","1") cmd1.Parameters.Add("@Grade","1") cmd1.Parameters.Add("@Password","666") cmd1.Parameters.Add("@Token","12") cmd1.ExecuteNonQuery 方法二:直接在项目中新增数据也是如图 无法进行保存 只有不保存数据才能关闭项目 有没有办法解决呢? [此贴子已经被作者于2021/3/21 18:08:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/3/21 22:31:00 -- 到后台数据库修改表,把“允许NULL值”除了主键全部都勾选上。 |
-- 作者:cnsjroom -- 发布时间:2021/3/22 0:23:00 -- 回复:(有点蓝)到后台数据库修改表,把“允许NULL值... OK 谢谢老师的指导 已经可以保存了 当前新增了三个用户 运行效果提示如下: 只有1234567890这个id可以成功答题 1234567891 1234567892 两个不能答题 经排查如下【试题表里面有对应1234567891 1234567892的数据】
[此贴子已经被作者于2021/3/22 0:32:51编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/3/22 8:41:00 -- 自己调试一下NewQuestion函数 |
-- 作者:cnsjroom -- 发布时间:2021/3/22 9:39:00 -- 回复:(有点蓝)自己调试一下NewQuestion函数 经按照老师的指导 做了调试 发现问题的根源: 是用户在登录的时候,无法往WeChatUsersLogin里面写登录信息,main函数是固定了nickname为张三,经在login函数里面添加了vars(“nickname”)变量后 直接添加如下红色代码:运行可以往对应的WeChatUsersLogin表里面记录当前用户登录信息。问题得以解决啦! \'Dim openid As String = vars("openid") \'Dim nickname As String = vars("nickname") \'MessageBox.Show(nickname) \' \'If openid > "" Then \'\'Dim dr As DataRow = DataTables("WeChatUsers").Find("OpenID = \'" & openid & "\'") \' \'Dim dtLogon As DataTable = DataTables("WeChatUsersLogin") \'dr = dtLogon.Find("OpenID=\'" & openid & "\' and Online = 1 and LoginTime > \'" & Date.Today & "\'") \'If dr Is Nothing Then \'dtLogon.ReplaceFor("Online",0,"OpenID=\'" & openid & "\' and Online = 1") \'dtLogon.RemoveFor("Online = 0") \'dr = dtLogon.AddNew() \'dr("OpenID") = openid \'dr("Nickname") = nickname \'dr("Online") = True \'End If \'\'dr("DeveloperID") = devid \'dr("LoginTime") = Date.Now \'dr("IP") = e.Request.RemoteEndPoint().Address.ToString() \'dr.Save \'End If 当前点击全部错题,没有错误的题目出现,是啥回事情呢? [此贴子已经被作者于2021/3/22 9:47:59编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/3/22 9:52:00 -- 首先不要使用全局变量,通过登录账号查询openid,或者干脆把openid当作登录账号 其次,如果有什么表保存不了,参考2楼的方法处理
|
-- 作者:cnsjroom -- 发布时间:2021/3/22 10:13:00 -- 回复:(有点蓝)首先不要使用全局变量,通过登录账号... 经查是T_UpdateErrorQuestions这个函数中的poenid被指定了 更改了vars("openid")后,再次运行计划任务,当前问题得以解决。 在老师的指导下,目前已经完成了整个试题系统在本地进行测试(微信公众号测试还有待域名备案通过之后方可进行)的思路学习和摸索,当前是采用了全局变量的方式来进行数据的固定传递,在一个服务启动下 多人登录的情况下是会有问题的 按照老师的指导:通过登录名查找openid之后 再直接登录 是不是同步写入cookie数据中,便于系统进行调用。 还有一个弱弱的问题:那就是项目中的exit函数,要怎么直接调用呢
|
-- 作者:有点蓝 -- 发布时间:2021/3/22 10:18:00 -- openid写入cookie数据中使用 exit函数到页面添加一个退出按钮调用
|
-- 作者:cnsjroom -- 发布时间:2021/3/22 11:35:00 -- 回复:(有点蓝)openid写入cookie数据中使用exit函数... exit函数代码: Dim e As RequestEventArgs = Args(0) Dim wb As New weui Dim dr As DataRow = DataTables("WeChatUsersLogin").Find("[OpenID] = \'" & e.Cookies("OpenID") & "\' and Online = 1") If dr IsNot Nothing Then dr("Online") = False dr.Save dr = DataTables("UsersTestForm").Find("[OpenId] = \'" & e.Cookies("OpenID") & "\' and IsCompleted = 0","TestID desc") If dr IsNot Nothing Then dr("IsCompleted") = True dr("CorrectRate") = dr("CorrectQty") / dr("QuestionQty") dr.Save End If End If e.Appendcookie("openid","") e.Appendcookie("nickname","") e.WriteString("<meta http-equiv=\'refresh\' c>") \'跳转到登录页 e.WriteString(wb.Build) begin函数代码: With wb.AddTabBar("", "tb1", 0) .AddPage("page1","我","./Home.png") If qt=1 Then .AddPage("page2","练习","./Test.png") .AddPage("page3","回顾","./Review.png") Else .AddPage("page2","考试","./Test.png") End If .AddButton("bt1","退出","./images/cell.png","exit.htm") End With 经过测试运行 exit函数能够清除对应的cookie值 也能够进行online在线值的取消 如果这个时候用户后退 可以回到exit之前的页面内容 可以点击查看除了开始答题按钮之外的所有内容记录 有没有办法让用户注销之后 后退页面都不能正常浏览了呢? 是不是直接加入判断 online=false时 全部不能使用了 [此贴子已经被作者于2021/3/22 11:58:22编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/3/22 11:52:00 -- 退出时把页面所有cookie都清空,可以看看CheckToken函数 |