以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]用系统例子也出现“该公众号提供的服务出现故障,请稍后再试” (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120470) |
||||
-- 作者:lin1221 -- 发布时间:2018/6/16 16:29:00 -- [求助]用系统例子也出现“该公众号提供的服务出现故障,请稍后再试” 老师:用系统介绍的例子做微信公众号WEUI框架,但是做好后, 再发送任何消息,都会提示“该公众号提供的服务出现故障,请稍后再试”, 检查不出哪个地方有问题 \'-----WEUI---------------------------- \'通用事件头 Dim fl As String = "d:\\web\\" & e.path If filesys.FileExists(fl) Dim idx As Integer = fl.LastIndexOf(".") Dim ext As String = fl.SubString(idx) Select Case ext Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar" e.WriteFile(fl) Return \'这里必须返回 End Select End If Dim wb As New weui \'身份验证 Dim Verified As Boolean \'用于标记用户是否通过了身份验证 Dim UserName As String = e.Cookies("username") \'从cookie中获取用户名 Dim Password As String = e.Cookies("password") \'从cookie中获取用户密码 If e.Path = "logon.htm" \'如果是通过登录页面访问,从PostValues即可中提取用户名和密码 If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password") Then UserName = e.PostValues("username") Password = e.PostValues("password") End If End If If UserName = "张三" AndAlso Password = "888" Then \'实际使用的时候,请改为从数据库读取用户名和密码进行比较 Verified = True ElseIf Username = "李四" AndAlso Password="999" Then Verified = True End If If Verified AndAlso e.Path = "logon.htm" Then \'如果用户访问的是登录页,且身份验证成功 wb.AppendCookie("username",UserName) \'将用户名和密码写入cookie wb.AppendCookie("password",Password) wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'直接跳转到首页 e.WriteString(wb.Build) \'生成网页 Return \'必须的 ElseIf Verified = False AndAlso e.Path <> "logon.htm" Then \'如果用户身份验证失败,且访问的不是登录页面 wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'那么直接跳转到登录页面 e.WriteString(wb.Build) \'生成网页 Return \'必须的 End If \'开始生成网页 S elect Case e.path Case "logon.htm" \'登录页面 wb.AddPageTitle("","pageheader","销售系统","由湛江辉迅基于Foxtable开发") If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password") Then \'判断是否是验证失败后的重新登录 wb.AddTopTips("","toptip1","用户名或密码错误!").msec = 2000 \'如果用户通过登录按钮访问,则给用户一个2秒的提示. End If wb.AddForm("","form1","logon.htm") With wb.AddInputGroup("form1","ipg1") .AddInput("username","户名","text") .AddInput("password","密码","password") End With With wb.AddButtonGroup("form1","btg1",True) .Add("btn1", "登录", "submit") End With Case "exit.htm" \'退出登录 wb.DeleteCookie("username") \'清除cookie中原来的用户名和密码 wb.DeleteCookie("password") wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'那么直接跳转到登录页面 Case "", "default.htm" \'首页 wb.AddPageTitle("","pageheader","销售系统","由湛江辉迅基于Foxtable开发") With wb.AddGrid("","g1") .Add("c1","增加订单", "./images/button.png").Attribute = "" .Add("c2","客户管理", "./images/cell.png", "http://www.foxtable.com") .Add("c3","销售统计", "./images/toast.png", "http://www.foxtable.com") .Add("c4","Dialog", "./images/dialog.png", "http://www.foxtable.com") .Add("c5","Progress", "./images/progress.png", "http://www.foxtable.com") .Add("c6","Msg", "./images/msg.png", "http://www.foxtable.com") .Add("c7","Article", "./images/article.png", "http://www.foxtable.com") .Add("c8","ActionSheet", "./images/actionSheet.png", "http://www.foxtable.com") .Add("c9","Icons", "./images/icons.png", "http://www.foxtable.com") .Add("c10","Panel", "./images/panel.png", "http://www.foxtable.com") .Add("c11","Tab", "./images/tab.png", "http://www.foxtable.com") .Add("c12","退出", "./images/exit.png", "exit.htm") \'退出登录 End With End S elect e.WriteString(wb.Build) \'生成网页 \'------------------------ [此贴子已经被作者于2018/6/16 16:33:28编辑过]
|
||||
-- 作者:lin1221 -- 发布时间:2018/6/16 16:35:00 -- 发送的内容都能接收到,用的就是微信接收微信消息的例子,没修改。单独增加每个功能, 消息功能没问题, 就是加入WEUI ,再发送消息,就出现该公众号问题 |
||||
-- 作者:有点蓝 -- 发布时间:2018/6/16 16:47:00 -- 公众号的代码是怎么用的?weui的代码放在什么地方? 另外处理问题请贴出自己的代码,贴帮助的代码没有任何用处
|
||||
-- 作者:lin1221 -- 发布时间:2018/6/16 17:18:00 -- 我的代码所有代码放在HTTPREQUEST里面, 然后一步一步测试,发现问题在以下红色部分,不加错误校验, 微信公众号发送消息不会有提示, 加了红色部分校验, 就会出现以上问题。不知道怎么解决???? ElseIf Verified = False AndAlso e.Path <>
"logon.htm" Then \'如果用户身份验证失败,且访问的不是登录页面 wb.InsertHTML("<meta http-equiv=\'Refresh\'
c>") \'那么直接跳转到登录页面 e.WriteString(wb.Build) Return
End If |
||||
-- 作者:lin1221 -- 发布时间:2018/6/16 17:20:00 -- 原先就是发现不了问题,都把自己的代码复原到系统例子, 一步一步的检查的, 检查到最后,就发现加了以上代码,微信公众号就出现消息问题。 这个是不是只要发送了消息,都认为身份验证失败,但是还不能跳转到logon页面,因为没有进入WEUI框架?
|
||||
-- 作者:有点蓝 -- 发布时间:2018/6/16 17:44:00 -- 请贴出整个事件完整代码! |
||||
-- 作者:lin1221 -- 发布时间:2018/6/16 18:10:00 -- 代码见附件, 论坛黏贴总是出错, 所有代码都是写在HTTP里面的。
问题1):这个代码取消,不会出现公众号错误 \'ElseIf Verified = False AndAlso e.Path <> "logon.htm" Then \'如果用户身份验证失败,且访问的不是登录页面 \'wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'那么直接跳转到登录页面 \'e.WriteString(wb.Build) \'生成网页 \'Return \'必须的 问题2)取消上面代码,加入生成网页的时候, 还是会出错,目前不知道怎么解决了。。。。
|
||||
-- 作者:有点甜 -- 发布时间:2018/6/17 15:56:00 -- 加上红色代码
Select Case e.path return |
||||
-- 作者:lin1221 -- 发布时间:2018/6/26 15:43:00 -- 谢谢老师, 在最后加个return后, 不再提示那个错误了,感激! |