@a06062125
2018-03-19T15:50:35.000000Z
字数 1222
阅读 336
未分类
在此输入正文
message User {
string name = 1;
}
// getXXX, setXXX
var user = new User();
user.getName();
user.setName();
//文章meta
message Meta {
//标题 read-write,
oneof oneof_meta {
DogMeta dog = 1;
CatMeta cat = 2;
}
}
var meta = new Meta();
// getXXXCase, 获取哪个字段被设置了, get前缀, Case 后缀,
meta.getOneofMetaCase() // 0: 未设置, 1:dog, 2: cat;
/**
* oneof 中 field 的操作
* getXXX, setXXX, hasXXX, clearXXX
*/
// 获取具体的属性值
meta.getDog()
// 设置
meta.setDog(dogMeta)
// 清除
meta.clearDog()
// 是否有
meta.hasDog()
message ThumbInfo {
map <string, MediaId> thumbs = 1;
}
var mediaIds = [new MediaId(oid, fid), new MediaId(oid, fid)]
//设置:第一种方式,map.V 已经具有类型
var mediaIdsArrayValue = [mediaIds.map(item => {return [
// 注意, 第一个参数是 map.K, 是字符串
String(item.getFid()),
// 第二个参数是 map.V, 即MediaId
item;
]})]
var thumbInfo = new ThumbInfo(mediaIdsArrayValue);
// 设置:第二种方式,map.V 没有类型
// 取值:超级麻烦
/**
* 1. 先取这个map类型的 key 的 value: getXXXMap
* 2. 上一步返回的值是一个jspb.Map 类型的值,
此时可以set , get ,
类型转换: toArray, toObject, loadFromArray_, fromObject
也支持迭代, keys, values, entires,
还可以
*/
var thumbs = thumbInfo.getThumbsMap(); // thumbs instanceof jspb.Map === true
// 公号审核员
message AccountAuditor {
repeated lx.t.StaffId auditor_id = 1;
}
message StaffId {
// 全局唯一组织ID
int32 oid = 1;
// 全局唯一用户ID
int32 uid = 2;
}
var accountAuditor = new AccountAuditor();
/**
* 集合操作:getXXXList(), setXXXList, clearXXXList
* 向集合里推, addXXX()
*/