phonegap+emberjs+python手机店发展,html5实现本地车类别~

商城开发项目,现在需要做出APP,无奈出场前android但不是很精通。最后选择phonegap实现app。

由于之前办理购物车分为登陆和登陆后两种情况,登录前必须充分利用本地存储。而基于phonegap本地存储的发展是使用Html5的localstorage功能实现。

特分享与此~

//内置数组对象成员方法补充,移除元素
Array.prototype.remove=function(dx)
{
    if(isNaN(dx)||dx>this.length){
        return false;
    }
    for(var i=0,n=0;i<this.length;i++)
    {
        if(this[i]!=this[dx])
        {
            this[n++]=this[i]
        }
    }
    this.length-=1
}
//购物车类定义
cart = function(){
    this.lstore = window.localStorage;
    this.init();
};
cart.prototype={
    init:function(){
        var cart_goods_material=this.lstore.getItem('cart');
        try{
            this.cart_goods=JSON.parse(cart_goods_material);
			if(this.cart_goods==null)
				this.cart_goods=[];
        }
        catch(e){
            this.cart_goods=[];
        }
    },
    getall:function(){                   //获得购物车全部商品列表
        return this.cart_goods;
    },
    insert:function(goods){              //插入商品

        var index=this.finds(goods.goods_id);
        if(index>-1){
            this.cart_goods[index].goods_number+=goods.goods_number;
        }else{
            this.cart_goods.push(goods);

        }
        var cart_goods_cooked = JSON.stringify(this.cart_goods);
        this.lstore.setItem('cart',cart_goods_cooked);
        return true;
    },
    update:function(goods_id,data){
        var index=this.finds(goods_id);
        if(index>-1){
            for(var i in data){
                this.cart_goods[index][i]=data[i];
            }
        }
        var cart_goods_cooked = JSON.stringify(this.cart_goods);
        this.lstore.setItem('cart',cart_goods_cooked);
        return true;

    },
    addnum:function(goods_id,num){      //更新购物车商品数量
        var index=this.finds(goods_id);
        var num=this.cart_goods[index]['goods_number']+num;
        this.update(goods_id,{
            'goods_number':num
        });
    },
    del:function(goods_id){
       var index=this.finds(goods_id);
        this.cart_goods.remove(index);
	var cart_goods_cooked = JSON.stringify(this.cart_goods);
        this.lstore.setItem('cart',cart_goods_cooked);
        return true;
    },
    finds:function(goods_id){
        var index=-1;
        for(var  i in this.cart_goods ){
            var g=this.cart_goods[i];
            if(g.goods_id==goods_id){
                index = i;
                break;
            }
        }
        return index;
    },
    clear:function(){
        this.lstore.setItem('cart','');
	this.cart_goods=[];
    },
    amount:function(){
        var amount=0;
        for(var  i in this.cart_goods ){
            amount += this.cart_goods[i]['goods_number']*this.cart_goods[i]['goods_price'];
        }
        return amount;
    }
}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-11-09 05:10:25

phonegap+emberjs+python手机店发展,html5实现本地车类别~的相关文章

PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码

PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码 看看新闻网>看引擎>开源产品 0人收藏此文章, 发表于8小时前(2013-09-06 00:39) , 已有13次阅读 ,共0个评论 依照我一惯得套路,我会先说一点废话. PhoneGap和Cordova什么关系?为什么有的地方叫Cordova而有的地方叫PhoneGap ?PhoneGap是一款HTML5平台.通过它,开发商能够使用HTML.CSS及JavaScript来开发本地移动应用程序.因此,眼下开

[HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服务器,调用sns等功能,移动手机WEB页面(HTML5)Javascript提供的接口是一个好办法. 采用url链接的方式,实现在Safari ios,香港服务器,Android 浏览器,webos 浏览器,塞班浏览器,IE,Operamini等主流浏览器,进行拨打电话功能. 1.最常用WEB页面J

手机站建设HTML5触摸屏touch事件使用介绍

手机站建设HTML5触摸屏touch事件使用介绍技术 maybe yes 发表于2015-01-05 14:42 原文链接 : http://blog.lmlphp.com/archives/56  来自 : LMLPHP后院 市面上手机种类繁多,在触屏手机上运行的网页跟传统PC网页相比还是有很大差别的.由于设备的不同浏览器的事件的设计也不同.传统PC站的 click 和 onmouseover 等事件在一般触屏的手机上也可以使用,但是效果不够好.PC上还没有哪个事件是可以与触屏手机的触摸事件对

在用Kivy开发Python手机游戏时通过Plyer扩展访问Android传感器

这是一篇发表在kivyspacegame上的文章,讲的是如何使用python在你的安卓设备上访问传感器.这篇教程是为这些用kivy开发python移动apps而写的.Kivy运行速度非常快,并且很容易使用.访问博客以获取更多的关于用Kivy开发游戏的教程.也可以看看google play store上的Helios: Mining Adventure游戏程序. 这篇教程将关注plyer,一个可以读取传感器,发送email,以及将文本转成语音,显示通知等等功能的库.如果你正在用python开发移动

移动手机平台的HTML5前端优化指南

对于访问量大的网站来说,前端的优化是必须的,即使是优化1KB的大小对其影响也很大,下面来看看来自ISUX的米随随讲讲移动手机平台的HTML5前端优化,或许对你有帮助和启发. 概述 1. PC优化手段在Mobile侧同样适用 2. 在Mobile侧我们提出三秒种渲染完成首屏指标 3. 基于第二点,首屏加载3秒完成或使用Loading 4. 基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB 5. Mobile侧因手机配置原因,除加载外渲染速度也是优化重点 6.

HTML5 localStorage本地存储实际应用举例

HTML5 localStorage本地存储实际应用举例 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1952 一.引言 HTML5虽未来到其鼎盛时期,但这并不妨碍我们在实际项目中渐进使用HTML5的一些特性.就我所做的项目而言,应用的HTML5相关特性有:data-自定义属性.placeholder.以及email类型input文本框.上周新上线的会员中心,自己又

Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松!

Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松! 首页 / 关于我们 / 关于Payssion 关于Payssion Payssion,让跨境支付更轻松! Payssion,专注于为中小企业和个人提供"安全.轻松.便捷"的全球在线支付解决方案,为客户提供全球在线收款服务.我们的团队成员来自支付宝.Paypal等支付公司,我们对全球支付方面有着长期的经验积累! 为什

利用html5的本地存储写的一个购物车

好久没有写博客园了,很多知识没有记录下来:可惜: 这几天在开发微信,也写了一个订餐平台的微网站,里面需要写一个购物车: 这里主要是把商品的部分信息以json格式保存在sessionstorage中,还有商店信息也是: 以json格式保存有什么好处呢,轻量级的传输,大概是这样吧!另外,如果我们把商品信息分开存储,就会导致有多条的sessionstorage项,那以后实现在两家商店同时购物的话,就不可能区分每家商店的商品了: 如果代码是自己写的,就有版权,这么说.对吧,是在软件工程师书上看到的: 不

html5的本地数据库

之前的应用一直用的是html5的本地存储LocvalStorage,挺方便也很实用. 最近开始做一个类似于离线电话簿的应用,于是得学习html5的本地数据库. sql语言大体上还是相同的,当然也有不一样的地方,我觉得以sqlite的为标准不容易出错. 开始前对html websql的操作可以有一下几种方式备选: 1:使用js和html5原生的方式来操作: 2:使用appcan开发环境中的数据库模块来操作: 该模块包含了appcan对数据库的基础操作 appcan.database.create(