模板上传(打包)验证规则

来源:互联网 发布:淘宝降权会有提示吗 编辑:程序博客网 时间:2024/05/20 23:03

模板上传(打包)验证规则

版本:1.0.0

一、模板相关

1. 模板描述文件验证(site.xml)

验证点

验证规则

备注

JSON文件是否在site.xml中配置

<global>元素中必须包含header.json和footer.json文件,page元素中的type为index、list和detail必须定义

 

模板皮肤属性与目录是否一致

模板描述文件site.xml中<theme>标签下<css>标签中的皮肤路径是否和皮肤所在的目录中的路径一致

 

模板页面定义

有且只有一个首页面、宝贝详情页面和宝贝分类页面

 

<change-notes>元素长度限制

0-1024个字节

 

<description>元素长度限制

0-1024个字节

 

模板描述信息中的元素内容

id,name,thumbnail,language,version, apply-sites元素内容不能为空

 

模板的缩略图

 

1.       模板缩略图文件必须存在

2.       模板缩略图文件路径与默认皮肤缩略图文件路径必须相同

3.       模板缩略图文件格式只能是jpg、png和gif

 

 

2. 皮肤

验证点

验证规则

备注

模板皮肤的数目

不能超过3

 

皮肤名称

只允许使用英文、数字、横线"-"和下划线"_"的组合

 

模板皮肤文件

验证皮肤文件的内容的合法性,只能一下CSS属性定义:

background-color

background-image         background-repeat

         background-position

 

皮肤extra.css文件的选择器

只能使用#hd和#content ID选择器

 

模板皮肤的缩略图

 

1.       模板缩略图文件必须存在

2.       模板缩略图文件路径与默认皮肤缩略图文件路径必须相同

3.       模板缩略图文件格式只能是jpg、png和gif

 

 

3. 模板目录结构

验证点

验证规则

备注

模板文件类型验证

模板目录必须包含assets和modules文件夹,还有site.xml文件描述符和多个JSON文件。

 

模版目录中的文件数目

不超过300个

不计算文件夹

模板目录中的文件大小

不超过10M

非压缩内容,不计算文件夹

JSON文件中出现的模块ID的合法性

模块ID对应的模块目录必须存在,具体细节参考“模块相关”章节

 

 

二、页面相关

1.JSON文件

验证点

验证规则

备注

JSON文件路径

JSON页面文件存在,并且只能存放在模板根目录下

 

JSON文件内容的合法性

符合JSON的文件格式

 

JSON文件的布局类型的合法性

JSON文件中定义的布局类型必须是官方指定的.

支持布局如下,

头尾布局:grid-m

通栏布局:grid-m0

两栏布局:grid-s5m0、grid-m0s5

三栏布局:grid-s5m0e5、grid-m0s5e5、

grid-s5e5m0

 

三、模块相关

1. 模块描述文件(module.xml)

验证点

验证规则

备注

模块描述文件路径

module.xml文件必须存在

 

模块描述文件格式

模块描述文件必须符合module.xsd规范

 

id元素

模块ID不能为空,并且符合设计师id模式

设计师模块ID前缀:tshop-um-

系统模块ID前缀:

tshop-pbsm-

 

name元素

模块名称不能为空

 

supportedWidth元素

如果不空的话,必须是支持的宽度

支持的宽度:

190,550,750,950

description元素

长度不能超过1024字节

 

 

 

 

2.PHP文件

验证点

验证规则

备注

设计师模块PHP页面路径

验证设计师模块目录下是否有php文件

 

模块PHP页面内容的合法性

1.PHP页面内容只能包含一个根元素(允许任意标签元素,推荐"div"元素)

2.根元素类定义包含:class="tb-module tshop-um tshop-um-module3"(class属性可以添加您需要的类选择器定义)

3.元素class属性值禁止以"tb-"和"J_T"字符开头,除"J_TWidget"和"tb-module"以外

4.禁止使用<style>标签(元素)

5.禁止使用<script>标签(元素)

6.禁止使用<link>标签(元素)

7.禁止使用标签(元素)的id属性

8.允许使用元素内联style属性

 

 

3. 模块目录结构

验证点

验证规则

备注

验证模块目录

1、  模块目录集合必须包含子文件,即不能为空。

2、 验证模块目录下每一个模块的合法性。(模块目录,模块描述文件,Php页面,CSS文件,JS文件的合法性)即多个验证的集合。

 

模块ID与目录名称是否匹配

module.xml中描述的ID与目录下模块的名字是否一致

 

系统模块

不能出现PHP,JS文件

 

设计师模块

有且只有一个PHP文件

 

设计师模块的数目

不能超过20个

 

模块的缩略图验证

 

1.       模板缩略图文件必须存在

2.       模板缩略图文件格式只能是jpg、png和gif

 

 

4 模块皮肤

验证点

验证规则

备注

模块皮肤的数量

3套

 

模块皮肤的缩略图验证

 

1、  模板缩略图文件是否存在

2、  模板缩略图文件的扩展名是否合法

 

模块的皮肤CSS文件路径

模块皮肤CSS文件必须存在

 

模块CSS文件的内容的合法性

参考CSS白名单

 

 

四、JS相关

验证点

验证规则

备注

JS模块数目

一套模板中JS模块数目不能超过5个

 

JS文件大小

JS文件内容大小不能超过18K

 

JS文件安全验证

SDK模板打包时不做验证

SDK模板上传时验证

 

JS添加限制

JS模块不能在页头、页尾和详情页面添加

 

 

 

 

 

 

 

 

原创粉丝点击