页面结构和LAPUTAC工作机理
(创建时间:2010年04月21日 17:50:00)
Jangogo : 
1. 和WinForm类似,每一个功能页面都由 界面页(相当于WINForm程序的窗口界面)和 后台程序页(相当于某个窗口对应的程序代码文件)
    界面页后缀名 为 .asp  程序页后缀名为 .sc.asp
  
2.界面页可以使用任何你喜欢的网页设计器来构建
   程序页可以使用任何文本编辑器或者是网页设计器(支持文本编辑)来编程。

3.LAPUTAC平台中 后台程序 使用的语言名称我们称为 SC 语言 (Simple Client) ,它是VB 语法的,是VB语言应用上 的一个改进,和VBS(ASP)很贴近。
   但是要注意的是,在SC环境中下,ASP的 Session,Application,Server,Request,Response等对象是不存在的。不要试图在SC中使用这些对象,
  SC解析器不能识别这些对象。

4.平台会自动把界面页和后台程序页结合到一起变成一个网页发送到客户端(IE),通过SC虚拟机在客户的本地计算解析运行后台代码(这种模式我们叫ServiceMode=0),
   或者在服务器上通过SC虚拟机运行后台代码(ServiceMode=1)
   ServiceMode=0 时我们称为 在线版、(U盘版也是这种模式运行)
   ServiceMode=1 时可以作为 集团版、全托版

5.平台会自动在你的界面页插入以下内容:
   A。<script >域,该域主要有一个名为Const的JS对象变量
         
 
  1. Const={   
  2.    systemname:'Sheeta(debug mode)内部测试版本',   
  3.    platform:'aspx',   
  4.    version:'2010.03.19',   
  5.    appurl:'',   
  6.    indexpage:'Default.aspx',   
  7.    servicemode:0,   
  8.    releasemode:0,   
  9.    accname:'',   
  10.    accyear:'2010',   
  11.    dateformat:'yyyy-MM-dd',   
  12.    userid:'!',   
  13.    username:'DebugUser',   
  14.    dbtype:'access',   
  15.    encoding:'utf-8',   
  16.    language:'',   
  17.    acctype:'',   
  18.    skinpath:'skins/default/',   
  19.    templatepath:'template/cn/',   
  20.    tradeSolution:'',   
  21.    Msgs:new Object(),accarrow:''  
  22. };   
  23. try{   
  24. Const.Msgs['yMd']="new Array('年','月','日');";Const.Msgs['weeks']="new Array('一','二','三','四','五','六','日');";   
  25. Const.Msgs['months']="new Array('一','二','三','四','五','六','七','八','九','十','十一','十二');";   
  26. Const.Msgs['wait']='正在处理数据,请稍候...';   
  27. Const.Msgs['xmlerr']='XML数据分析错误:';   
  28. Const.Msgs['servererr']='对不起,发生服务器错误:';}catch(ex){};try{Const.Msgs['contactpage']="contact.htm";   
  29. Const.Msgs['adstext']="简单实用的就是最好的!";   
  30. Const.Msgs['poweredby']="http://www.4Fang.net";}catch(ex){};   
  31.   
  32. var debug=true;   
  B.自动插入
      <script type="text/javascript" src="js/laputa.js"></script>
     即自动应用平台函数库laputa.js,该函数库的具体内容看相关章节

  C.自动插入后台代码域,类似:
     
 
  1. <div style="visibility:hidden;width:0;height:0">  
  2.   <!--插入SC虚拟机-->  
  3.   <script type="text/javascript">if(document.all){document.write('<object classid="clsid:AF33188F-6656-4549-99A6-E394F0CE4EA4" codebase="sc_setup.exe#version=2010,0,0,0" name="pazu" id="pazu"><param name="License" value="-=53109106=-"></object>');}else{document.write('<embed name="pazu" id="pazu" type="application/mozilla-npruntime-pazu" width=1 height=1></embed>');}</script>  
  4. <!--编译后的后台代码-->  
  5. <input type="hidden" value="tyuiZoCNiM1jGJpZDyyKYh35lajlg1GunO+AP8ZcVxbwBMnndqqXC4Spsp+sGg==" name="__Data" id="__Data">  
  6. </div>  

6.界面页通过 Pazu.fly 或者 Pazu.run 来和虚拟机(或者服务器)中交互,执行SC代码,并通过REST机制返回结果
文档中心