@Wahson
2017-10-30T06:42:43.000000Z
字数 1151
阅读 747
周报
- 本周主要工作
- 元数据controller去掉方案实现,计划下周测试并上线
- meta-constructor调整,发布了metaui v0.0.5
- metaui安装使用教程编写,https://www.zybuluo.com/Wahson/note/927648
<h2-fetch>
设计与开发,目标周二完成- h2-XXX系列组件跟进
- 基于h2-XXX系列组件的元数据框架重构
- ...
h2-fetch 设计初稿
<h2-fetch mock request={{request}} init={{init}}></h2-fetch>
属性:
// 是否启用请求模拟
mock: {
type: Boolean,
value: false
},
//
request: {
type: Object,
value: function() { // 参照Request类的属性
return {
url: "url.do",
header: { // optional
//
},
}
}
},
// 模拟请求初始化参数
init: {
type: Object,
value: function() {
return {
expectedHeaders:{ // optional
},
expectedData: { // jsondata, optional
},
dataTemplate: { // mock 数据生成模板 optional
'list|1-10': [{'id|+2': 1 , 'age|20-30': 100}],
'name': '@name',
'color': '@color',
'url': '@url',
'email': '@email',
'friends|3': [{name: '@name'}],
'price|10-20.2-5': 11
},
dataTemplateSrc: '../mock_data/orders.js', //模拟数据模板文件路径, optional
expectedStatus: {
statusCode:404,
statusText:"not found"
}
}
}
},
response: {
type: Object
}
__mockCaches: {
type: Object,
value: function() {
return {};
}
}
// 方法
query(url[, succCallback, failCallback]) {}
post(url[,option, succCallback, failCallback]) {}
...
设计思路:
1. if mock,返回指定的返回数据或通过mock.js 生成模拟数据返回
2. else 通过fetch api 发起正式的请求
3. 可以通过两种方式传入模拟数据生成模板,1.直接传入模板,2.传入模板文件路劲
4. 考虑通过thrift 的实体定义生成模板或数据