[开发日志] 2:项目进度 (更新贴)

[开发日志] 2:项目进度 (更新贴)

April 22, 2017
设计 ,

目前已经实现的功能

2017 年 4 月 22 日 增加商品、人员
2017 年 4 月 22 日 商品列表
2017 年 4 月 22 日 晒单完成了一半,就差写提交函数。

待实现的功能

  1. 商品、人员的修改和删除,人和商品不打算做删除功能,到时候加个商品状态,不需要的品种设置成作废,并不查询出来。
  2. 晒单提交
  3. 营业员晒单列表
  4. 营业员晒单明细
  5. 营业员、管理员多功能查询
  6. 管理员审核晒单列表
  7. 管理员晒单审核

思路

搭建 webapp 应用和用动态语言编写网页有一些区别。首先,打包好的网站页面均是静态页面,不会有任何服务器端语言。因为 app 打包好后相当于套了一个 andriod 或者 ios 程序的壳运行在本地的静态程序而已。所有数据库操作均通过 ajax 请求服务器端,服务器端提供接口实现。这点是一定要搞明白的。

fa7 的 webapp 项目文件结构如下。

所有的业务逻辑均写在一个 js 文件之中,所以 f7 开发大型项目并不合适,写道后期 js 文件会非常庞大,而且不好阅读。

其次是服务器端,我这里用的是 CI,后台的主要是编写对应的 api 接口提供前台使用,几乎所有的数据交互我均是通过 json 来实现的。

使用 framework7 时需要注意的地方

f7 的所有页面载入在不修改默认设置的情况下均是通过 ajax 加载出来的,而且还做了缓存。并且在载入首页的时候不会调用对应的页面初始化事件,所以在编写一些用于页面初始化调用的函数的时候一定要在对事件里面引用。

像我就碰到了一个问题,我需要一个首页载入完毕的时候载入所有的商品资料。最开始的函数写在页面初始化的回调函数里,但是后来发现并没有被调用,而且如果使用 f7 的事件绑定函数单独以这种形式写在外面也是行不通的。

$$(document).on('load', function() {
	alert("123");
}

我后来尝试了很多办法均补成功,后来改变了自己的思路:需要加载商品资料的这个页面并不是首页,而是一个内页,也许 f7 的默认逻辑就是首页不需要初始化,它是一个本来就初始化完成的页面。后来我选择再增加了一个登录页面跳转到这个页面后在页面的初始化函数里完成了数据加载(另外,也许可以用 jquery 来绑定也许可以成功,不过我没尝试了)

加入评论