Octopus系列之更新历史记录

更新笔记历史

2015.2.3
更新了产品价格的计算方法     --采用了通用化的一个处理【支持各个国家货币】
更新产品价格,增加两组价格:一组用来进行前台的展示:一组用来进行后台的计算
更新了产品分类页面的导航链接 --已经实现了4级分类的导航链接实现【后面将会参考兰亭集势的导航,实现分类下拉功能】【备注:可以支持无限级别】
更新了产品详情页面的导航链接 --很轻松就实现了,在产品对象中封装一个Category对象就可以了
更新了产品详情页面的图片详细图展示信息 --【在没有配置远程图片地址的情况下 将自动默认读取本机文件夹下Photo中的图片信息】
更新分页Cookie和货币Cookie --【统一管理在Ockey里面】
更新了货币,加入了货币列表   --用于前台展示使用


更新了Oct调用助手并将数据加入到全局的调用中 --为页面前台的调用提供最大程度的灵活性
更新将产品选项的展示属性 --同时去除掉OptionType该表,将字段直接写入到Option里面去
更新将产品主图信息加入到产品的详细的字段中去 --已经实现了,主要是为了在放大镜的时候使用这个东西

2015.3.3
更新了产品多选属性的数据库 --产品的多选属性采用json的方式进行描述【源于一个网友的启发】
开始编写购物车部分

2015.3.4
测试价格 更新部分通过

2015.3.7
更新购物车中的价格计算展示部分 --【不应该在计算的时候 乘以汇率了】
更新展示购物车 可以实现根据不同的参数加载不同的HTML模板【这一次的更新有很大意义:为后面实现ajax加载开创了一个很好的思路】

2015.3.8
更新了IE11中ajax调用失败的bug:禁止客户端进行缓存
Context.Response.CacheControl = "no-cache";
Context.Response.AppendHeader("Pragma", "No-Cache");
更新了购物车的ajax调用方式【可以调用购物车的各种展示版本,min版本或者其他的版本】

2015.3.9
更新产品售价为0时的bug return ""; 判断是否有小数点,在Staic_FormatPrice函数里面

2015.3.13
提出Widget的概念,升级代码Login,Register,ShoppingCart代码,并实现对应的Widget版本,使各个Widget可以独立使用【组件化】
增加表单的ajax提交功能

2015.3.14

更换数据SQlite版本;

更新计算分类Path的函数,使用SQLite事务的方式,提升了效率;

更新价格计算的方法,当遇到整数时,SQLite中没有小数点,

新增了SQLite版本的分页算法,初步测试通过【后续还要测试】

专门编写测试SQLite相关的函数;

去掉了一些不兼容的SQL语法;

合并Cart和member到一个数据库中;【后续还要考虑分离,并发问题】

读写分离数据库思路

2015.3.19

更新图片的文件夹的生成选项:

主文件夹/_s;

主文件夹/_m;

主文件夹/_b;

2015.3.20

修复页面请求中的异常请求bug

描述:在访问详情页面的时候,从fiddler中总是看到一个请求在访问首页,后来发现原来这个请求在Css中

background的URL属性中导致的,将其注销之后解决了这个问题

问题出在CSS中出现的异常请求:在文件cloud-zoom.js中同时也给我们很好的提示 在css中添加代码链接【比如做统计】

<div class='mousetrap' style='background-image:url(\".\");

2015.3.21

新增插入订单的方法

遇到jQuery和json.js不兼容的问题,解决方式是不在使用json.js而是采用JSON浏览器内置的对象,将表单序列serializeArray的数据转为json字符串

2015.3.22

继续完善订单的处理逻辑

开始进入会员中心选项页面

2015.3.31

完善物流方式和付款方式的

完善订单提交功能

发现内存飙升很快,正想办法解决【缓存方案已经加入】

追踪页面的查询SQL语句

2015.04.06 

哈哈,最近这几天 一直在更新程序

规范了语言包的变量定义

规范了模板结构的命名

更新了价格的计算方法,应该是3.0的版本了

规范提取了TagFiled一些字段

规范了一些静态的变量,剔除一下些没有使用的变量

规范了状态码的使用

增加了优惠码的功能,用户只需要输入一次优惠码,就可以了,后面的再次更新购物车时将自动使用优惠码

小技巧的总结

不要使用数据库的自增字段,比如如果你使用SQLite数据库,自增字段的数值在C#中是Int64的,小数在C#中是double类型的

如果你使用时间类型的话,一定要设置默认值,即使该字段在后面不怎么使用?为什么呢?如果你设置的时间默认是null,

那么在C#中读取到DataTable时将会提示,“SQLite 查询时异常:该字符串未被识别为有效的 DateTime 错误”

所以保险起见,建议都设置成默认的 Create datetime NOT NULL DEFAULT current_timestamp;

同时插入时间数据时:记得ToString("S")

更新了所有的时间类型:为默认的时间

2015.04.25

最近更新了很多的bug,时间可能有点不对

运费异常bug:每次刷新checkou页面的时候,运费总是成倍的增加

我将系统中的物流和支付的都进行了缓存,将少对数据库的连接

但是物流中的运费是要通过货币对象进行实时计算的,正常的思路是,第一次加载所有的物流--缓存,后面每次使用时,取出--修改,然后返回

之所以运费总是成倍的增加,是因为我每次从缓存中读取对象然后修改,缓存中的对象已经是我上一次修改过的对象了,所以在原来的基础上

运费计算成本的增加。应该是内存中的对象不变,每次拷贝一份出来修改,不对象内存缓存造成修改。我尝试使用Clone() 和Array CopyTo

方法都失败了,后来使用了 new构造函数,重新构造一份物流数组对象,问题得到解决

更新页面增加区分页面的类型PageName

目的:使不同的页面加载各自不同的 css和js,从而实现html_header_1.html代码片段的公用

通过区分不用的页面 来实现不同页面 js的加载 区分请求的页面类型即可
加载顺序如下
1.加载公共CSS
2.根据页面加载自定义Css
3.加载公共js
4.根据页面加载自定义Css

还有一种加载顺序

直接判断页面 然后一次性加载该页面所有的CSS和js,NV引擎是支持|| 等逻辑运算符号的

后续loadding。。。

 

转载于:https://www.cnblogs.com/Sky-cloudless/p/4334743.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值