以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  使用框架设计网页,weui的属性在哪里设置?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97301)

--  作者:ycwk
--  发布时间:2017/3/9 15:11:00
--  使用框架设计网页,weui的属性在哪里设置?
比如: WeUIPath

我按照帮助设置了httprequest的代码
http://www.foxtable.com/mobilehelp/scr/0011.htm

并把weui的3个文件放置在  D:\\web\\weui  路径下,

用电脑的浏览器访问: http://127.0.0.1:80/addnew.htm   显示    HTTP Error 404. The requested resource is not found.   

使用的是微信案例中的服务端代码,  增加了“动态生成网页” 的一段代码


不知道是什么问题。
[此贴子已经被作者于2017/3/9 15:13:42编辑过]

--  作者:狐狸爸爸
--  发布时间:2017/3/9 15:15:00
--  
没有开启服务
--  作者:有点色
--  发布时间:2017/3/9 15:24:00
--  

start服务

 

http://www.foxtable.com/mobilehelp/scr/0001.htm

 


--  作者:ycwk
--  发布时间:2017/3/9 15:34:00
--  
确实开启服务了,只不过有时候点击"开启服务"按钮不起作用,非要在命令窗口运行一下命令。郁闷!  也是用管理员身份运行的。

现在开启了,显示"sucess",但查找代码,整个服务端代码里面都 没有e.writestring("sucess")

--  作者:有点色
--  发布时间:2017/3/9 15:37:00
--  

 

请按照帮助文档步骤做。或者你单独弄一个项目去测试。

 

 


--  作者:ycwk
--  发布时间:2017/3/9 18:25:00
--  
更新成第三版 foxtable ,下载了3.7 14:00更新的微信案例, 结果打开到处报错 (例如:点击"接收规则"  报错如下:  e是private,因此它在上下文中不可访问  ,错误代码 e.cancel=true)   ,是不是连数据库也要更新?  数据库添加了太多配置,实在不想更新。   

好吧,删了bin文件夹,重启好点了




现在这版foxtable 打不开3.7  14:00之前更新的微信案例中的客户端了。  这个问题是怎么回事?



[此贴子已经被作者于2017/3/9 18:32:54编辑过]

--  作者:有点色
--  发布时间:2017/3/9 18:47:00
--  

备份好你的数据库。

 

下载案例,恢复案例的数据库,然后打开案例。这样不可能出问题。

 

然后再还原你的数据库看信不信,如果不行,那就拷贝你原来的数据粘贴进去。


--  作者:ycwk
--  发布时间:2017/3/9 21:13:00
--  
建议下次更新案例的时候给个更新说明可以么?
为什么我这次更新foxtable以后,打不开之前的案例客户端了?
顺便说一句,这个案例虽然还有很多问题,但真的很精彩!
[此贴子已经被作者于2017/3/9 21:14:11编辑过]

--  作者:有点色
--  发布时间:2017/3/9 21:26:00
--  

 

打不开客户端的话,提示什么错误?

 


--  作者:ycwk
--  发布时间:2017/3/10 19:47:00
--  
单独弄一个项目,代码如帮助, 可以正常弹出网页


但在微信案例中,httprequest 写成如下代码,就死活弹不出(微信服务号中的菜单,已用接口设置好,触发view菜单,只能打开  显示一个success 的网页,不知何故)

try

    Select Case e.host
        Case "192.168.1.153","127.0.0.1","ycyysf.viphk.ngrok.org"
            Dim dr As DataRow
            Dim url As String
            Dim wechatserv As WeChat.WeChatPublicNo
            If e.Path > "" Then
                url = "http://" & e.host & "/" & e.Path.replace("\\","/").replace("\'","\'\'").replace("""","""""") & "/"

                wechatserv = Functions.Execute("WeChat_GetServerByUrl",url) \'查询是否有此地址的微信公众号
            End If
            If wechatserv IsNot Nothing Then \'说明是微信接口回调消息

                wechatserv.ProcessMessage(e,"WeChat_ProcessRequestMsg") \'处理消息并获取返回值
                \'Functions.Execute("LogText","回复=" & weRet)
            Else
                \'通用事件头
                \'如果网页路径定义了中间目录,如"ordertest/logon.htm" ,则下面的fl实际就是"d:\\web\\ordertest\\weui\\weui.me.js"
                \'因此你需要把WeUI框架三个文件复制到"d:\\web\\ordertest\\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
            
                Select Case e.Path
 Case "addnew.htm"
        Dim wb As New WeUI \'定义一个基于weui框架的网页生成器
        wb.AddForm("","form1","addnew.htm")
        With wb.AddInputGroup("form1","ipg1","新增订单")
            .AddSelect("cp","产品","PD01|PD02|PD03|PD04|PD05")
            .AddInput("gy","雇员","text")
            .AddInput("kh","客户","text")
            .AddInput("dj","单价","number")
            .AddInput("zk","折扣","number")
            .AddInput("sl","数量","number")
            .AddInput("rq","日期","date")
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btnok","确定")
        End With
        e.WriteString(wb.Build) \'生成网页

                    Case "gettoken" \'做为AccessToken中控服务
                        Dim atoken As WeChat.AccessToken = WeChat.WeChatAccessTokenController.GetServiceAccessToken(e.PlainText)
                        e.WriteString(atoken.ToJson()) \'返回access_token的JSON数据
                    Case "scanlogon" \'做为AccessToken中控服务
                        Functions.Execute("Http_ScanLogon" ,e)
                    Case Else
                        If e.Path.StartsWith("ordertest\\") Then \'公众号订单测试地址前缀都统一使用这个
                            Functions.Execute("Order_HttpRequest",e)
                        ElseIf e.Path.StartsWith("review\\") Then \'企业号订单审核地址前缀都统一使用这个
                            Functions.Execute("Order_HttpReview",e)
                        End If
                End Select      \'e.path 的配对
            End If
    End Select     \'e.host的配对
    \'记录接收的消息,方便分析
    Dim str As new StringBuilder
    \'str.AppendLine("host=" & e.host)
    str.AppendLine("path=" & e.Path)
    str.AppendLine("HttpMethod=" & e.Request.HttpMethod)
    \'str.AppendLine("poststring=" & e.PlainText)
    \'str.AppendLine("ip=" & e.Request.RemoteEndPoint().Address.ToString())
    For Each key As String In e.Values.Keys
        str.AppendLine(key & "=" & e.Values(key))
    Next
    Functions.Execute("logText",str.ToString)
catch ex As Exception
    Functions.Execute("LogText",ex)
    e.WriteString("")
End Try