从VFP的初学者到上线自己的水果商城,只因为做对这一步。

 问学必有师,讲学必有友   ——陆佃

       大家好,我是绿茶,多年前曾用VFP写了点非常简单的小程序,一直是单位或自己为提高效率所做的权宜之计,简陋至极。但自从出现了B/S架构,一度和许多人一样,几乎要放弃VFP了,直到遇到了加菲猫老师和他的祺佑框架。

       加菲猫老师强调,使用框架能少写80%左右的代码,能让你专注于业务逻辑,事实证明,这绝对不是一句空话。

01—BS真的好看也不难
 

图片

图片

上面两图,是我用框架给单位做的一个应用中的截图。比如第1个图的首页,其实使用框架,后台的代码很简洁,核心代码如下

Procedure getUser  oDbHelper = Newobject("MSSQLHelper","MSSQLHelper.prg")  TEXT TO lcSqlCmd NOSHOW textm    SELECT code,name,value FROM branch  ENDTEXT  oDbHelper.SQLQuery(lcSqlCmd,"branch")
  oJsons = Createobject("foxjson",{})  Scan    oJson = Createobject("foxjson")    oJson.Append("value",branch.Value)    oJson.Append("name",branch.Name)    oJsons.Append(oJson)  Endscan  oJson = Createobject("foxjson")  **这期间都是反复利用foxjson,形成JSON数据,代码省略  rJson.Append('data',oJsons)  oMonJson = Createobject("foxjson")  oJsons = Createobject("foxjson",{})
  rJson.Append('week',oMonJson)  rJson.Append('value',oJsons)  Return rJson.tostring()Endproc

后将上面rJson返回的结果提交给前端,前端调用eCharts,就可以轻松生成有图表的界面了。

这里的MsSqlHelper类,让我们不用关心数据库如何连接,句柄如何创建,我们需要做的,仅是需要new一个对象,然后去使用就好了,框架把里面的东西已经封装好了,我们开心去用就行。

还有,和前端交互,需要使用的JSON,在这里也可以轻松操作,只需反复折腾foxjson,需要什么样的JSON数据,按自己的想法组装就是了。

也就是说,有了框架,我们又可以利用VFP进行愉快地玩耍了,岂不是一件美事?

关于框架,不想说太多,大家已经有目共睹,以下说点关于小程序上线前出现的插曲。

02—我的水果商城上线

最近由于亲戚有个水果店铺,想做个小程序,实现对一些热销抢购水果的线上交易、库存控制等。因为在群里参加了商城的众筹,前期工作也都做得差不多了,然后按部就班,购买云服务器和域名,申请ICP备案,然后域名解析,申请SSL证书等,万事俱备,开始部署到云服务器。

按照步骤,先将uni-app的代码打包发行,然后导入到微信开发者工具,最后提交代码。一切搞定后,信心满满,开始测试。

结果是不能访问数据库,光有界面,点击进入分类,所有图片全部不能显示,排查了半天,感觉所有步骤都没有问题。无奈之下,只得请求曾老师帮忙救火。

曾老师不但技术厉害,人也很热情,看到我发的请求,老师及时帮我排除了故障,程序得以顺利上线。以下是根据老师此次帮我排除故障的步骤,和前期老师发过的项目部署到服务器的文档整理而成,供大家参考。

03—排查安全证书的问题

如下图,在自己的网站上点右键—编辑绑定。

图片

图片

顺便看是否配置了443端口(小程序使用),或80端口(B/S端程序使用),然后选绑定的443端口,点编辑,然后看下面的SSL证书是否已正确绑定。

04—检查处理程序映射

上面的步骤确认没有问题,下一步,是到云服务器上,看cgi是否配置成功。

图片

①找到处理程序映射,先看是否已配置了CgiModule,如上图。

 ②如果已配置,再选右面的的编辑权限功能,打好勾,如下图。

图片

图片

③处理程序映射非常关键,许多时候项目跑不起来,都是这里出了问题。确保以上步骤没有问题后,再到网站的根目录中,找到web.config文件,打开检查其配置是否确实正确。

④假如网站名称为qiyu,VFP编译的可执行文件存放的目录为qiyuserver,那web.config的正确配置应该是:

<?xml version="1.0" encoding="UTF-8"?><configuration>    <system.webServer>        <handlers>           <add name="qiyu" path="*.fsp" verb="*" modules="CgiModule" scriptProcessor="c:\qiyuserver\qiyuserver.exe" resourceType="Unspecified" requireAccess="Script" />        </handlers>    </system.webServer></configuration>

⑤确保以上配置都没有问题,那cgi基本就配置好了。

05—检查云服务器安全组中80端口和443端口是否开放

这里真的是坑苦了我,上次我使用的是腾讯的云服务器,服务器操作系统为 Windows Server 2008 R2 企业版,我按曾老师部署项目的步骤,非常顺利就把项目放到了服务器上,运行完全没有问题。

这次使用的阿里的服务器,操作系统为Windows Server  2012  R2 数据中心64位中文版,我仍按以前的步骤,结果就出现了数据库不能访问的问题。还是曾老师厉害,他马上意识到是安全组的端口没有打开。

图片

图片

入云服务器控制台,选安全组,进入配置规则,在下图中选”入方向”中的“手动添加”,将80和443的端口添加进去。

图片

然后,可以用telnet命令,看80和443端口是否可以访问。

如果以上配置全部没有问题,可以到浏览器中检验一下fsp是否能跑起来,验证方法非常简单,但很有效。比如你申请的域名是baidu.top,那在地址栏输入http://baidu.top/1.fsp,如果你能看到如下的返回:

{ "errno": 1, "errmsg": "File '1.prg' does not exist.", "success": "false", "errorMsg": "File '1.prg' does not exist.", "total": 0, "rows": "[ ]" }

那恭喜你,基本上已经没有问题了,这说明fsp已经能正确跑起来了。如果没有看到这样的返回,那说明革命尚未成功,仍需继续努力…

下图为曾老师帮我排除故障后,程序运行的截图,因为后台没有添加多少东西,前期的需求也相对简单,所以其实真正实现的内容也比较简单,大神们就不要见笑了。就说这么多吧,以后有空,再继续和大家一起分享,一起学习!

VFP版的小程序商城终于顺利运作了。

图片

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加菲猫的VFP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值