`
boin
  • 浏览: 34715 次
社区版块
存档分类
最新评论

Gucci Shop页面调用流程和API说明

阅读更多

Gucci Shop页面调用流程和API说明

本说明适用于:架构人员,前台、后台开发人员,假定阅读者已经拥有htmlcssjsdom的基础知识。
该站点基于 prototypejs scriptaculous 两个js框架实现,如果要深入研究,必要该框架的相关知识。 <o:p></o:p>

<!---->1.        <!---->目录和文件说明

/根目录:<o:p></o:p>

此目录存放index.html和此说明文件<o:p></o:p>

/images目录:<o:p></o:p>

此目录存放需要的图片<o:p></o:p>

/scripts目录:<o:p></o:p>

此目录存放所有JS脚本文件 <o:p></o:p>

/lib目录:<o:p></o:p>

此目录存放JS框架,一般不需要改动 <o:p></o:p>

app.js 站点全局定义,存放全局变量和公共方法,一般不需要改动。
debug.js
模拟了Ajax对服务端请求详细信息返回的数据,作为demo显示使用。
debug_format.js
debug.js做了分析和精简,加入了注释。
ext.js
lib目录中的JS框架的扩展,增加若干多功能,一般不需要改动。
localize.js
检测访客语言,并跳转至相应的页面。
menu-us.js
菜单文字定义,和多国语言定义(此文件为剥离的默认英文定义)
product.js
产品定义(此文件从页面中剥离)
shop.js
核心js,定义所有页面脚本动作,扩展重点
zoom.js
缩放组件,定义图片缩放操作。<o:p></o:p>

/stylesheets目录:<o:p></o:p>

此目录存放css样式表<o:p></o:p>

<!---->2.        <!---->系统流程分析

index.html 是一个文件模板,一般由程序生成。
在输出的页面中,根据要显示的产品数量和排列方式在div#content中生成若干个lightbox块,如果一共有20个产品,排列模式是2X3,那么生成4lightboxdiv比较合适
div#content
起始代码:


模板循环代码 <o:p></o:p>

<o:p> </o:p>
//定义一个lightbox区域(重要概念,后续JS的所有操作都针对这个lightboxdiv来进行),排模式法是2x323列)
//div的类名中说明
  
//包围容器,用来定义美丽的样式
    
 
      //定义1lightbox中显示6个产品
      
      
      
      
      
      
    
  
  //定义一个带阴影的层,作为间隔
  
 
    
 
  
  
 
//两个lightbox中的间隔
 

输出完模板以后,以JS对象的方式开始输出数据。demo用列已经把页面输出的js代码放到了product.js文件中,方便分析阅读。 输出完数据以后,调用代码 Shop.initialize() 进行解析并且初始化。详细初始化流程请阅读源代码内注释。 (产品列表API) <o:p></o:p>

页面输出主要完成: <o:p></o:p>

<!---->1.  <!---->生成lightbox模板框架<o:p></o:p>

<!---->2.  <!---->生成产品列表内容<o:p></o:p>

页面初始化主要完成: <o:p></o:p>

<!---->3.  <!---->解析menu.js生成菜单<o:p></o:p>

<!---->4.  <!---->解析products.js生成显示内容<o:p></o:p>

<!---->5.  <!---->绑定事件,如菜单单击事件,lightbox中图片单击事件等<o:p></o:p>


初始化完成以后,就可以点击图片查看产品详细资料,在页面初始化过程中已经为每个lightbox生成详细了详细资料显示区域并且已经循环分配了id<o:p></o:p>

//
图片显示区域,循环分配id
//
说明显示区域
//
同种商品不同款式的显示区域
//
尺码选择,购物按钮区域

点击图片后调用Shop.showProduct()方法,显示以上详细资料显示区域,然后使用Ajax取得该产品的详细资料,并且调用 Shop.selectStyle() 方法填充详细资料并且显示。
demo
中的 debug.js 是模拟了一个Ajax请求的返回代码,便于离线分析。
debug.js
返回了该特定商品的id,说明、和图片信息,并且初始化了详细信息数据,并且显示。详细流程请阅读 debug_format.js 代码内注释。 (详细内容API) <o:p></o:p>

Ajax请求的页面主要输出: <o:p></o:p>

<!---->6.  <!---->该商品的详细资料。<o:p></o:p>

<!---->7.  <!---->更新了产品详细内容。<o:p></o:p>

Ajax输出页面中的脚本主要完成: <o:p></o:p>

<!---->8.  <!---->更新了详细内容模板div中的内容。<o:p></o:p>

<!---->9.  <!---->解析产品数据,生成旋转图片演示。<o:p></o:p>

<!---->3.        <!---->数据结构和API<o:p></o:p>

页面内所有产品列表  <o:p></o:p>

商品列表定义了所有商品。可以在页面中输出灵活控制,也可以包含在外部js中(网站中是输出在页面内,demo把数据从页面内分离到了 product.js 中)。

商品列表是一个对象数组。组织形式为:

products = [ product1, product2, ... , productN ];

商品是一个对象,对象模型为:
product = { id: 'String', sorts: [Array], thumburl: 'String', lowlighturl: 'String', thumbOptions: 'String', lowlightOptions: 'String'}
<o:p></o:p>

product 对象类型说明 <o:p></o:p>

属性名<o:p></o:p>

属性类型<o:p></o:p>

是否必须<o:p></o:p>

附加说明<o:p></o:p>

id<o:p></o:p>

字符串<o:p></o:p>

<o:p></o:p>

商品id<o:p></o:p>

sorts<o:p></o:p>

数组<o:p></o:p>

 <o:p></o:p>

该商品属于的类别,允许多个,用于分类显示<o:p></o:p>

thumburl<o:p></o:p>

字符串<o:p></o:p>

<o:p></o:p>

缩略图地址<o:p></o:p>

lowlighturl<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

当列表被分类显示,不在当前分类的商品的低亮度图片,参考页面显示效果<o:p></o:p>

thumbOptions<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

当请求服务器时,是否需要携带特别的参数<o:p></o:p>

lowlightOptions<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

当请求服务器时,是否需要携带特别的参数<o:p></o:p>

附加说明: <o:p></o:p>

<!---->1.  <!---->由于源站点的图片输出是用的scene7.com 的整体解决方案,图片参数有严格要求并且复杂,实际开发中可给非必须属性赋予空值<o:p></o:p>

<!---->2.  <!---->具体格式可以参考product.js,如有错误以js内容的结构为准<o:p></o:p>

<!---->3.  <!---->关于排序,只要在导航条设置class="欲排序的类别名称(对应sorts数组中的值)" 然后绑定onclick事件为 Shop.selectSort(this) 就好了,但是要提供lowlighturl,不然看不出效果。

例如:a onclick="Shop.selectSort(this); return false" class="sneakers" href="#" _fcksavedurl="#">sneakers <o:p></o:p>

产品详细信息输出  
   
详细信息在点击图片时触发事件 shop.js#443::showProduct() Ajax请求服务器返回产品详细信息, 然后处理。实际处理中可以使用ajax,也可以用自定义JS
服务端返回的数据是产品详情对象数组,
组织形式为:

Styles = [ style1, style2, ... , styleN ];

产品详情是一个对象,对象模型为:
Style = { style: 'String', images: { front: { is360: Integer, full: 'String', zoom: 'String', miniThumb: 'String', sku: { sku: 'String', size: 'String' } }
其中 images 对象:images = { front : {Object} }
其中 front 对象:
front = { is360: Integer, full: 'String', zoom: 'String', miniThumb: 'String', sku: { Object } }
其中 sku 对象:
sku = { sku: 'String', size: 'String' } <o:p></o:p>

Style 对象类型说明 <o:p></o:p>

属性名<o:p></o:p>

属性类型<o:p></o:p>

是否必须<o:p></o:p>

附加说明<o:p></o:p>

style<o:p></o:p>

字符串<o:p></o:p>

<o:p></o:p>

编号,对应某个商品的不同型号(子类别)<o:p></o:p>

style.images.front.is360<o:p></o:p>

整数<o:p></o:p>

<o:p></o:p>

是否可旋转图片?如果不是,请赋值0<o:p></o:p>

style.images.front.full<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

360°完整图片的地址<o:p></o:p>

style.images.front.zoom<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

大(完整)图地址<o:p></o:p>

style.images.front.miniThumb<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

缩略图地址<o:p></o:p>

style.images.front.sku.sku<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

型号名称 此项一般不定义,原版页面实现特别复杂<o:p></o:p>

style.images.front.sku.size<o:p></o:p>

字符串<o:p></o:p>

 <o:p></o:p>

型号值 此项一般不定义,原版页面实现特别复杂<o:p></o:p>

附加

分享到:
评论

相关推荐

    系统化业务流程改进概述.pptx

    例如,新华医院的就诊和住院流程改进案例,展示了通过识别需要改进的流程(如CBA和CBD评估),确定改进优先级,设置改进目标,如剔除错误、减少延误和提高资产利用率,以及通过五个阶段的改进流程,实现流程的优化和...

    如何改进业务流程.pptx

    流程改进的方法多种多样,包括流程控制统计法、员工参与、适时制(JIT)、质量功能展开(QFD)、质量决策矩阵、拓古奇方法以及低质量成本计算法。这些方法强调通过数据驱动和员工参与来识别和解决流程中的问题。 ...

    业务流程改进的理论(1).pptx

    流程的层级结构包括任务、作业和流程,它们之间形成连贯的作业链,并与供应链和价值链相联系,强调内外部的协同和增值。 流程改进的方法多种多样,包括流程控制统计法、员工参与、适时制(JIT)、质量功能展开(QFD...

    业务流程改进培训.pptx

    5. 维持与改进阶段:持续监控流程效果,确保改进的持久性和有效性。 在优化过程中,需要重点关注依赖关系、人员分配、延误时间和总时间,通过消除无效作业、简化流程、合并流程和自动化来提升效率。例如,通过评估...

    业务流程改进探讨.pptx

    流程改进的核心在于理解和分析现有流程,识别存在的问题和改进空间,然后通过一系列策略和方法进行优化,以达到预期的目标。 首先,流程是一个组织内部或外部顾客提供产出的一系列相互关联的任务。生产流程通常涉及...

    最全招商部工作流程.doc

    - 分析不同商家的档次、特色和面积需求,例如LV、GUCCI、家乐福等,为招商决策提供数据支持。 5. **招商客户接待流程**: - 包括商家的接送、会议室安排、礼品准备等,确保商家接待的专业性和舒适性。 6. **招商...

    开源项目-noqcks-gucci.zip

    5. **易用性**:Gucci的目的是简化模板处理,因此它可能会强调易用性和简洁的API设计,使得新手和经验丰富的开发者都能快速上手。 6. **源代码管理**:Gucci-master可能是项目的源代码目录,其中包含了Go语言的源...

    gucci包包的所有型号资料.pdf

    虽然本文件仅提供了型号列表,并未详细说明每款包的具体特性,但可以肯定的是,Gucci每款包包都蕴含着品牌对奢华、创新和工艺的追求。 Gucci包包型号的列举也说明了该品牌产品线的广泛性。由于Gucci的产品涵盖多个...

    2019奢侈品行业洞察:90后成消费主力“裸奔青年”更爱Gucci和LV-2019.7-36页.pdf

    《2019奢侈品行业洞察:90后成消费主力“裸奔青年”更爱Gucci和LV》 中国的奢侈品市场在2019年展现出强劲的增长势头,预计市场规模将达到2130亿元人民币,这一数字相较于2015年几乎翻倍,预计到2025年将突破4000亿...

    LVMH&GUCCI恶意收购案例分析.pptx

    在奢侈品行业,LVMH(酩悦·轩尼诗-路易·威登集团)与GUCCI之间的恶意收购战是商业史上一个著名的案例,展示了企业间的激烈竞争和策略运用。LVMH,自1854年路易·威登创立以来,通过不断并购发展成为全球奢侈品巨头...

    XX产品开发方案与营销规划.doc

    【XX产品开发方案与营销规划】的文档主要涵盖了香水市场现状和创新的香水产品——香妆的开发与营销策略。以下是对这些知识点的详细说明: 一、香水市场现状 1. 香水的历史:香水有着悠久的历史,起源于古文明,如古...

    古驰(Gucci)

    【标题】:古驰(Gucci)与前端技术——CSS深度解析 【正文】: 古驰(Gucci),一个世界知名奢侈品牌,以其独特的设计风格和高质量的产品在全球时尚界享有盛誉。在数字时代,品牌形象的在线呈现同样至关重要,而...

    HP mini 5101 (Inventec Gucci 1.0).pdf

    这款设备的设计图纸和技术规格详细记录在名为"HP mini 5101 (Inventec Gucci 1.0).pdf"的文件中,包含了多项关键硬件组件和系统的详细信息。以下是对这份设计检查表的部分内容的解析: 1. **设计所有权与许可**:...

    纺织服装行业深度报告:品牌服饰困境反转系列之四:Gucci年轻化复苏之路.rar

    通过与Instagram等社交平台的紧密合作,Gucci创造了一系列具有高度分享性和话题性的内容,如与艺术家合作的限量版产品、独特的故事性广告等,成功引发了年轻人的共鸣和参与。 数字化转型也是Gucci年轻化战略的重要...

    Go-gucci-一个采用golang编写的简单的cli模板工具

    `Go-gucci` 的设计目的是使这个过程更易理解和维护。通过提供预定义的模板,用户可以快速生成符合特定规范的代码结构,从而减少重复工作并提高开发效率。 在 `Go-gucci` 中,开发者可以定制自己的模板,以满足特定...

    基金公司协同管理系统的开发与实施管理PPT课件.pptx

    例如,Facebook自2004年成立以来,用户数量和影响力迅速增长,吸引了众多品牌利用SNS平台进行营销活动,如LV、Gucci、苹果和可口可乐等,它们通过在SNS上建立社区和发布相关内容,有效增强了品牌影响力和产品销售。...

    gucciweb:古驰(Gucci)演示

    重写了gucci的官网,除了手机端用min-width限制了以外其余和官网一模一样 放到服务器下既可打开 一共有十多个页面,在这里就只简单截图了我的网站中两个页面。利用JQ写的轮播和cookie操作,PHP + MySQl写了登录注册...

Global site tag (gtag.js) - Google Analytics