Gucci Shop页面调用流程和API说明
本说明适用于:架构人员,前台、后台开发人员,假定阅读者已经拥有html,css,js,dom的基础知识。
该站点基于 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,那么生成4个lightbox的div比较合适
div#content起始代码:
模板循环代码 <o:p></o:p>
<o:p> </o:p>
//定义一个lightbox区域(重要概念,后续JS的所有操作都针对这个lightbox的div来进行),排模式法是2x3(2行3列)
//在div的类名中说明
//包围容器,用来定义美丽的样式
//定义1个lightbox中显示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>
|
附加
分享到:
相关推荐
例如,新华医院的就诊和住院流程改进案例,展示了通过识别需要改进的流程(如CBA和CBD评估),确定改进优先级,设置改进目标,如剔除错误、减少延误和提高资产利用率,以及通过五个阶段的改进流程,实现流程的优化和...
流程改进的方法多种多样,包括流程控制统计法、员工参与、适时制(JIT)、质量功能展开(QFD)、质量决策矩阵、拓古奇方法以及低质量成本计算法。这些方法强调通过数据驱动和员工参与来识别和解决流程中的问题。 ...
流程的层级结构包括任务、作业和流程,它们之间形成连贯的作业链,并与供应链和价值链相联系,强调内外部的协同和增值。 流程改进的方法多种多样,包括流程控制统计法、员工参与、适时制(JIT)、质量功能展开(QFD...
5. 维持与改进阶段:持续监控流程效果,确保改进的持久性和有效性。 在优化过程中,需要重点关注依赖关系、人员分配、延误时间和总时间,通过消除无效作业、简化流程、合并流程和自动化来提升效率。例如,通过评估...
流程改进的核心在于理解和分析现有流程,识别存在的问题和改进空间,然后通过一系列策略和方法进行优化,以达到预期的目标。 首先,流程是一个组织内部或外部顾客提供产出的一系列相互关联的任务。生产流程通常涉及...
- 分析不同商家的档次、特色和面积需求,例如LV、GUCCI、家乐福等,为招商决策提供数据支持。 5. **招商客户接待流程**: - 包括商家的接送、会议室安排、礼品准备等,确保商家接待的专业性和舒适性。 6. **招商...
5. **易用性**:Gucci的目的是简化模板处理,因此它可能会强调易用性和简洁的API设计,使得新手和经验丰富的开发者都能快速上手。 6. **源代码管理**:Gucci-master可能是项目的源代码目录,其中包含了Go语言的源...
虽然本文件仅提供了型号列表,并未详细说明每款包的具体特性,但可以肯定的是,Gucci每款包包都蕴含着品牌对奢华、创新和工艺的追求。 Gucci包包型号的列举也说明了该品牌产品线的广泛性。由于Gucci的产品涵盖多个...
《2019奢侈品行业洞察:90后成消费主力“裸奔青年”更爱Gucci和LV》 中国的奢侈品市场在2019年展现出强劲的增长势头,预计市场规模将达到2130亿元人民币,这一数字相较于2015年几乎翻倍,预计到2025年将突破4000亿...
在奢侈品行业,LVMH(酩悦·轩尼诗-路易·威登集团)与GUCCI之间的恶意收购战是商业史上一个著名的案例,展示了企业间的激烈竞争和策略运用。LVMH,自1854年路易·威登创立以来,通过不断并购发展成为全球奢侈品巨头...
【XX产品开发方案与营销规划】的文档主要涵盖了香水市场现状和创新的香水产品——香妆的开发与营销策略。以下是对这些知识点的详细说明: 一、香水市场现状 1. 香水的历史:香水有着悠久的历史,起源于古文明,如古...
【标题】:古驰(Gucci)与前端技术——CSS深度解析 【正文】: 古驰(Gucci),一个世界知名奢侈品牌,以其独特的设计风格和高质量的产品在全球时尚界享有盛誉。在数字时代,品牌形象的在线呈现同样至关重要,而...
这款设备的设计图纸和技术规格详细记录在名为"HP mini 5101 (Inventec Gucci 1.0).pdf"的文件中,包含了多项关键硬件组件和系统的详细信息。以下是对这份设计检查表的部分内容的解析: 1. **设计所有权与许可**:...
通过与Instagram等社交平台的紧密合作,Gucci创造了一系列具有高度分享性和话题性的内容,如与艺术家合作的限量版产品、独特的故事性广告等,成功引发了年轻人的共鸣和参与。 数字化转型也是Gucci年轻化战略的重要...
`Go-gucci` 的设计目的是使这个过程更易理解和维护。通过提供预定义的模板,用户可以快速生成符合特定规范的代码结构,从而减少重复工作并提高开发效率。 在 `Go-gucci` 中,开发者可以定制自己的模板,以满足特定...
例如,Facebook自2004年成立以来,用户数量和影响力迅速增长,吸引了众多品牌利用SNS平台进行营销活动,如LV、Gucci、苹果和可口可乐等,它们通过在SNS上建立社区和发布相关内容,有效增强了品牌影响力和产品销售。...
重写了gucci的官网,除了手机端用min-width限制了以外其余和官网一模一样 放到服务器下既可打开 一共有十多个页面,在这里就只简单截图了我的网站中两个页面。利用JQ写的轮播和cookie操作,PHP + MySQl写了登录注册...