FISP笔记

FIS官方文档:http://fis.baidu.com/fis-plus/userdoc

FIS wiki: https://github.com/fex-team/fis/wiki

FIS与FISP关系:

FIS是前端解决方案,产生之初定位就是做一个内核,提供一套编译体系以及一套静态资源管理的设计思路及其本地调试。编译体系可以简单通过配置 + 插件的方式任意扩展。

FISP是在FIS规范下的一套具体实现,后端基于smarty3+php。

具体区别可查看:http://fex.baidu.com/blog/2014/03/fis-plus/


一、环境安装

环境要求:node版本:>= v0.8.0

安装fis:  npm install -g fis-plus

安装lights(lights是fis提供的包管理工具):   npminstall -g lights


安装XAMPP:Apache + MySQL + PHP + Perl环境

配置环境变量如:变量名PHPRC,变量值c:\xampp\php

http://oak.baidu.com/fis-plus/document.html


二、示例安装:

首先安装FIS本地的调试预览环境

$ fisp server init

使用lights下载demo到本地

$ lights install pc-demo


Demo目录结构:

├── common  //公用资源模块
│   ├── fis-conf.js  //配置文件
│   ├── page     //页面模板目录
│   ├── plugin   //smarty plugin目录
│   ├── static   //静态资源目录
│   └── widget   //模块化组件目录
└── home   //业务模块
   ├── fis-conf.js
   ├── page
   ├── static
   ├── test   //测试数据目录
   └── widget

启动FIS本地调试服务器,在浏览器中预览页面:

//进入common模块路径
$ cd common
 
//编译发布common模块
$ fisp release -c
 
//进入home模块路径
$ cd ../home
 
//编译发布home模块
$ fisp release -c
 
//启动本地server服务
$ fisp server start
 
//在浏览器中访问页面,看demo效果
http://localhost:8080/home/page/index


三、FIS开发命令(FISP对应命令为fisp)

fis release代码编译与部署:

Usage: release [options]
 
  Options:
 
    -h, --help             output usage information
    -d, --dest <names>     release output destination
    -m, --md5 [level]      md5 release option
    -D, --domains          add domain name
    -l, --lint             with lint
    -t, --test             with unit testing
    -o, --optimize         with optimizing
    -p, --pack             with package
    -w, --watch            monitor the changes of project
    -L, --live             automatically reload your browser
    -c, --clean            clean compile cache
    -r, --root <path>      set project root
    -f, --file <filename>  set fis-conf file
    -u, --unique           use unique compile caching
    --verbose              enable verbose output


四、开发规范

http://fis.baidu.com/fis-plus/userdoc/%E5%BC%80%E5%8F%91%E8%B0%83%E8%AF%95#toc_3

模板开发、JS开发、CSS开发、smarty插件:

http://fis.baidu.com/fis-plus/userdoc/%E5%BC%80%E5%8F%91%E8%B0%83%E8%AF%95

http://fis.baidu.com/fis-plus/userdoc/fis/%E6%A8%A1%E6%9D%BF#toc_0


本地调试:

fisp server open  命令可打开本地运行环境目录

fisp server start  开启本地服务器

fisp release –w   文件监听

fisp release –wL  文件监听并在浏览器上实时刷新

 

路径访问规则:http://localhost:8080/modulename/page/pagename

本地测试数据:

http://fis.baidu.com/fis-plus/userdoc/fis/%E6%9C%AC%E5%9C%B0%E8%B0%83%E8%AF%95%E6%95%B0%E6%8D%AE%E5%8A%9F%E8%83%BD

本地模拟请求转发:

http://fis.baidu.com/fis-plus/userdoc/fis/%E6%9C%AC%E5%9C%B0%E6%A8%A1%E6%8B%9F%E8%AF%B7%E6%B1%82%E8%BD%AC%E5%8F%91%E5%8A%9F%E8%83%BD


server.conf专门配置转发规则

项目很大,多模块时,一个模块配置server.conf就可以啦,比如在common模块配置全站的转发规则,否则会覆盖。

所有非rewrite、template和redirect开头的会被当做注释处理。

fis允许用户自定义全新的规则噢~ 自定义的规则优先级最高,会在server.conf保存的规则之前匹配url


线上调试测试:

在url上加上 fis_debug 参数,即可获取静态资源的独立加载,而不是加载资源包,可知道是哪个模板文件报错。

http://localhost:8080/home/page/index?fis_debug


自动编译、开发配置:

http://fis.baidu.com/fis-plus/userdoc/fis/%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7#xss


发布部署、上传测试机:

http://fis.baidu.com/fis-plus/userdoc/fis/%E4%B8%8A%E4%BC%A0%E9%83%A8%E7%BD%B2#toc_0


配置API:

http://fis.baidu.com/fis-plus/userdoc/API

 

五、项目实例

1、项目背景

基于同一套设计内容,组建适应多平台页面模块组成不同的页面(多平台指的是内嵌不同的VC客户端,页面尺寸不一样,调用的内容不一样)

 

2、项目规划

目录结构

├── common  //公用资源模块
│   ├── fis-conf.js  //配置文件
│   ├── page     //页面模板目录
│   ├── plugin   //smarty plugin目录
│   ├── static   //静态资源目录
│   └── widget   //模块化组件目录
└── web01   //业务模块一
│   ├── fis-conf.js
│   ├── page
│   ├── static
│   ├── test   //测试数据目录
│    └──widget
└── web02   //业务模块二
   ├── fis-conf.js
   ├── page
   ├── static
   ├── test   //测试数据目录
   └── widget

页面所有模块均放于common目录下,在业务对应目录下放置页面模板,打包配置在common/fis-conf.js,路径规则common/server.conf,css采用less(纯粹为变量的引用)。

常用命令:

Fisp server clean 清除服务器数据

Fisp server start  开启服务器

Fisp server stop  停止服务器

Fisp server open  打开本地调试环境

Fisp release –c  进入对应项目目录发布模块(只有发布用到的模块后页面才能正常访问)

Fisp release –p  发布打包后的模块

Fisp release –opd ../dist  输出打包压缩后的文件到指定目录

Fisp release –wL  文件修改后实时监控及浏览器自动刷新(实时刷新需在chrome上安装live reload插件)

 

生成html:

Fis默认安装没有输出html页面的功能。打开本地调试环境,修改fisdata/TestData.class.php,配置通过浏览器访问指定路径生成访项目下所有html。

在server.conf中配置转发路径“dist-项目名”,指向某一模板,当访问此路径即可以本地环境生成html目录存放html页面。

 

注意:输出项目中所有用到的路径均为绝对路径。

 

3、存在问题

(1) Less中针对不同项目设置的变量,common/fis-conf.js的打包设置(前面配置中已有的模块后面包里不会再包含),需在输出时针对不同项目进行手动调整。

在开发过程,偶尔会出现占用系统资源过多情况,导致电脑运行缓慢

(2) 部分图片文件输出后比源文件大

(3) Smarty模板产出的html模块之间结构缩进不清晰。

 

4、项目优化

Csssprites,按repeat类型生成sprites背景图:

fis-spriter-csssprites  https://github.com/fex-team/fis-spriter-csssprites#%E4%BD%BF%E7%94%A8

fis.config.set('modules.spriter', 'csssprites');
需要使用sprite的图片路径后加后缀?__sprite
background: url(/img/1px_bg.png?__sprite) repeat-x;


1、统一监管报送平台功能介绍 1.1 背景分析 随着中国经济的飞速发展,近年来中国的金融行业也处在飞速的发展阶段, 银行的改制、分支机构的扩张、异地分行的开设、村镇银行的兴起、财务公司的 成立等,均可以看出中国的金融行业的发展已经进入到了前所未有的阶段。然而 随着金融行业的飞速发展,中国的监管当局也不断加大对各金融机构的监管力度, 中国的三大监管机构银监会、人民银行和外管局也都需要金融机构按照不同的要 求、方式等报送报表或数据,通过这些报表和数据的进一步分析结果来对金融机 构制定不同的监管策略。 从目前情形来看,各金融机构,尤其是商业银行,为应对三大监管机构的监 管要求所需要报送的内容给商业银行的业务人员带来了繁重的工作压力。在这种 情况下,就需要有一套统一的监管报送平台来完成这些报表、数据的自动化生成 工作,使用这种自动化的方式代替传统的手工填报的方式。这样既减轻了业务人 员的工作压力,也保证了所报送的报表、数据的准确性。因此,对金融机构来说, 建立一套统一的监管报送平台是非常必要的。 在本方案中主要包括以下两个主要的报送模块:银监会 1104 报送、人民银 行大集中报送。中软融鑫公司利用公司自有的产品“统一监管报送平台”来实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值