模板上传(打包)验证规则
2013-05-10 22:39
225 查看
模板上传(打包)验证规则
版本:1.0.0
一、模板相关
1. 模板描述文件验证(site.xml)
2. 皮肤
3. 模板目录结构
二、页面相关
1.JSON文件
三、模块相关
1. 模块描述文件(module.xml)
2.PHP文件
3. 模块目录结构
4 模块皮肤
四、JS相关
版本: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模块不能在页头、页尾和详情页面添加 | |
| | |
| | |
相关文章推荐
- kohana框架上传文件验证规则写法示例
- App Store打包上传:Missing required icon file命名规则
- kohana框架上传文件验证规则写法示例
- kohana框架上传文件验证规则写法示例
- php kohana框架上传文件验证规则写法
- javascrip客户端验证文件大小及文件类型并重置上传
- JFinal 3ff0 +CKEditor文件上传后缀验证,大小验证。
- jquery验证规则
- 修改elementui的源码,并重新打包上传npm
- maven/gradle 打包后自动上传到nexus仓库
- 文件打包、上传与md5校验
- jquery.validate.js使用之自定义表单验证规则,下面列出了一些常用的验证法规则
- Jquery Validate 默认校验规则及常用的自定义验证规则
- html多文件【打包】异步上传
- 【接口安全】接口合法性验证加密验签SIGN 签名规则
- .NET导出Gridview到excel 带模板列显示(未验证)
- 在项目打包出现验正错误: 验证时出错。HRESULT = '80040155'
- iOS-打包上传遇到的启动页的问题
- iOS10项目打包上传被拒关于隐私权限问题
- [置顶] Jenkins+Gradle实现android开发 自动打包 上传蒲公英