##目录结构
###文件结构
zpin包含一个描述整体程序的app、多个描述各自页面的page、组成各个page的module
一个zpin应用由三个文件组成,必须放在项目的根目录的src文件夹下,如下:
文件 | 必须 | 作用 |
---|
app.js | 是 | 应用逻辑 |
app.json | 是 | 应用全局设置 |
app.css | 否 | 公共样式 |
一个Page由三个文件组成,分别是:
文件类型 | 必须 | 作用 |
---|
rt | 是 | 页面结构 |
css | 否 | 页面样式表 |
js | 是 | 页面逻辑 |
注意:为了方便开发者减少配置项,我们规定描述页面的这三个文件必须具有相同的路径与文件名。
###配置
使用app.json文件来对应用进行全局配置,决定应用启动的端口、设置网络超时时间等。
以下是一个包含了所有配置选项的简单配置app.json :
{
"networkTimeout": {
"fetch": 10000,//接口请求超时时间
"downloadFile": 10000//下载超时
},
"server":{
"port":3000
},
"debug": true//打印日志
}
###逻辑层
- 逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。
- 增加App、Page、Module三个类,开发者继承这三个类,实现自己的App、Page和Module
- 每个页面有独立的作用域,并提供模块化能力。
- 开发者写的所有代码最终将会打包成一份JavaScript,并在应用启动的时候运行,直到应用销毁。
####App
继承App类并重写App类的方法来实现自己的业务逻辑,App类的方法有
方法 | 描述 | 触发时机 |
---|
onLaunch | 生命周期函数--监听应用初始化 | 当应用初始化完成时,会触发onLaunch(全局只触发一次) |
getCurrentPage | 获取App应用当前显示的页面 | |
####Page
继承Page类并重写Page类的方法来实现页面,Page类的方法有
方法 | 描述 | 触发时机 |
---|
getInitialData | 获取页面初始化数据 | 后端渲染时触发 |
onLoad | 生命周期函数--监听页面加载 | 页面加载时触发 |
onReady | 生命周期函数--监听页面渲染完成 | 页面加载完成时触发 |
onUnload | 生命周期函数--监听页面卸载 | 跳转页面时触发 |
setData | 设置页面数据 | 不要重写这个方法!!!! |
####Module
继承Module类并重写Module类的方法来实现模块,Module类的方法有
方法 | 描述 | 触发时机 |
---|
getInitialData | 获取模块初始化数据 | 后端渲染时触发 |
onLoad | 生命周期函数--监听模块加载 | 模块加载时触发 |
onReady | 生命周期函数--监听模块渲染完成 | 模块加载完成时触发 |
onUnload | 生命周期函数--监听模块卸载 | 模块卸载时触发 |
setData | 设置模块数据 | 不要重写这个方法!!!! |
注意:尽管Module和Page有几乎一样的方法,但是它们的逻辑是很不一样的,
所以实现页面时只能用Page,而实现模块时只能用Module!!
###API