updated 叫不出称呼的可以随爱人叫

This commit is contained in:
mumuy 2016-09-28 22:02:31 +08:00
parent 84dc001ced
commit b8c8f0cc80
3 changed files with 87 additions and 69 deletions

77
dist/relationship.js vendored
View File

@ -167,6 +167,7 @@
} }
]; ];
//关系数据
var _data = { var _data = {
'':['自己','我'], '':['自己','我'],
//本家 //本家
@ -864,14 +865,37 @@
//获取数据 //获取数据
function getDataById(id){ function getDataById(id){
var result = []; var items = [];
var filter = /&[olx]/g; //忽略属性查找数据 var filter = /&[olx]/g; //忽略属性
for(var i in _data){ var getData = function(d){
if(i.replace(filter,'')==id){ var res = [];
result.push(_data[i]); for(var i in _data){
if(i.replace(filter,'')==d){
res.push(_data[i][0]);
}
}
return res;
};
if(_data[id]){ //直接匹配称呼
items.push(_data[id][0]);
}else{
items = getData(id);
if(!items.length){ //忽略年龄条件查找
id = id.replace(/&[ol]/g,'');
items = getData(id);
}
if(!items.length){ //忽略年龄条件查找
id = id.replace(/[ol]/g,'x');
result = getData(id);
}
if(!items.length){ //缩小访问查找
var l = id.replace(/x/g,'l');
items = getData(l);
var o = id.replace(/x/g,'o');
items = result.concat(getData(o));
} }
} }
return result; return items;
} }
//逆转ID //逆转ID
@ -912,7 +936,7 @@
return ''; return '';
} }
//简化选择器 //获取关系链条
function getChainById(id){ function getChainById(id){
var arr = id.split(','); var arr = id.split(',');
var items = []; var items = [];
@ -923,7 +947,7 @@
return items.join('的'); return items.join('的');
} }
function relationship(parameter){ return (function (parameter){
var options = { var options = {
text:'', text:'',
sex:-1, sex:-1,
@ -942,41 +966,26 @@
for(var j=0;j<ids.length;j++){ for(var j=0;j<ids.length;j++){
var id = ids[j]; var id = ids[j];
if(options.type=='chain'){ if(options.type=='chain'){
var data = getChainById(id); var item = getChainById(id);
if(data){ if(item){
result.push(data); result.push(item);
} }
}else{ }else{
if(options.reverse){ if(options.reverse){
id = reverseId(id,options.sex); id = reverseId(id,options.sex);
} }
if(_data[id]){ //直接匹配称呼 var items = getDataById(id);
result.push(_data[id][0]); if(items.length){
}else{ //高级查找 result = result.concat(items);
var data = getDataById(id); //忽略属性查找 }else if(id.indexOf('w')==0||id.indexOf('h')==0){ //找不到关系,随爱人叫
if(!data.length){ //当无精确数据时,忽略年龄条件查找 items = getDataById(id.substr(2));
id = id.replace(/&[ol]/g,''); if(items.length){
data = getDataById(id); result = result.concat(items);
}
if(!data.length){
id = id.replace(/[ol]/g,'x');
data = getDataById(id);
}
if(!data.length){
var l = id.replace(/x/g,'l');
data = getDataById(l);
var o = id.replace(/x/g,'o');
data = data.concat(getDataById(o));
}
for(var d=0;d<data.length;d++){
result.push(data[d][0]);
} }
} }
} }
} }
} }
return unique(result); return unique(result);
} });
return relationship;
}); });

File diff suppressed because one or more lines are too long

View File

@ -167,6 +167,7 @@
} }
]; ];
//关系数据
var _data = { var _data = {
'':['自己','我'], '':['自己','我'],
//本家 //本家
@ -864,14 +865,37 @@
//获取数据 //获取数据
function getDataById(id){ function getDataById(id){
var result = []; var items = [];
var filter = /&[olx]/g; //忽略属性查找数据 var filter = /&[olx]/g; //忽略属性
for(var i in _data){ var getData = function(d){
if(i.replace(filter,'')==id){ var res = [];
result.push(_data[i]); for(var i in _data){
if(i.replace(filter,'')==d){
res.push(_data[i][0]);
}
}
return res;
};
if(_data[id]){ //直接匹配称呼
items.push(_data[id][0]);
}else{
items = getData(id);
if(!items.length){ //忽略年龄条件查找
id = id.replace(/&[ol]/g,'');
items = getData(id);
}
if(!items.length){ //忽略年龄条件查找
id = id.replace(/[ol]/g,'x');
result = getData(id);
}
if(!items.length){ //缩小访问查找
var l = id.replace(/x/g,'l');
items = getData(l);
var o = id.replace(/x/g,'o');
items = result.concat(getData(o));
} }
} }
return result; return items;
} }
//逆转ID //逆转ID
@ -912,7 +936,7 @@
return ''; return '';
} }
//简化选择器 //获取关系链条
function getChainById(id){ function getChainById(id){
var arr = id.split(','); var arr = id.split(',');
var items = []; var items = [];
@ -923,7 +947,7 @@
return items.join('的'); return items.join('的');
} }
function relationship(parameter){ return (function (parameter){
var options = { var options = {
text:'', text:'',
sex:-1, sex:-1,
@ -942,41 +966,26 @@
for(var j=0;j<ids.length;j++){ for(var j=0;j<ids.length;j++){
var id = ids[j]; var id = ids[j];
if(options.type=='chain'){ if(options.type=='chain'){
var data = getChainById(id); var item = getChainById(id);
if(data){ if(item){
result.push(data); result.push(item);
} }
}else{ }else{
if(options.reverse){ if(options.reverse){
id = reverseId(id,options.sex); id = reverseId(id,options.sex);
} }
if(_data[id]){ //直接匹配称呼 var items = getDataById(id);
result.push(_data[id][0]); if(items.length){
}else{ //高级查找 result = result.concat(items);
var data = getDataById(id); //忽略属性查找 }else if(id.indexOf('w')==0||id.indexOf('h')==0){ //找不到关系,随爱人叫
if(!data.length){ //当无精确数据时,忽略年龄条件查找 items = getDataById(id.substr(2));
id = id.replace(/&[ol]/g,''); if(items.length){
data = getDataById(id); result = result.concat(items);
}
if(!data.length){
id = id.replace(/[ol]/g,'x');
data = getDataById(id);
}
if(!data.length){
var l = id.replace(/x/g,'l');
data = getDataById(l);
var o = id.replace(/x/g,'o');
data = data.concat(getDataById(o));
}
for(var d=0;d<data.length;d++){
result.push(data[d][0]);
} }
} }
} }
} }
} }
return unique(result); return unique(result);
} });
return relationship;
}); });