code: function _formatCnd(cnd,map)
  {
      let ret={bodyCnt:0,exp:'',err:[]};
      if(String==cnd.constructor)
          cnd=[{R:cnd}];
      else if(Array!=cnd.constructor)
          cnd=[cnd];
      for(let i=0;i<cnd.length;i++)
      {
          let R=cnd[i],M=null,no=null;
          if(String!=R.constructor)
          {
              M=R.M;no=R.no;R=R.R;
          }
          ret.exp+=' || (('+R+')?0:'+(i+1)+')';
          R={M:M,no:no};
          if(!M) delete R.M;
          if(!no) delete R.no;
          ret.err.push(R);
      }
      ret.exp=ret.exp.substr(4).replace(/{[SUX]?}/g,function($0)
      {
          if('{}'==$0) ret.bodyCnt++;
          return map[$0];
      });
      return ret;
  }
docs: 将API定义中的检查条件定义格式化为eval值为int的表达式字串(0:正确,>0:错误编号)
  @param {string|{R:string,M:string,no:int}|[]} cnd
  @param {{}} map 替换映射，格式为"{}":"提交数据对象","{S}":"会话对象","{U}":"用户信息","{X}":"扩展对象"
  @return {{bodyCnt:int,exp:string,err:[{M,no},...]}} {bodyCnt:条件中POST或GET提交数据对象的出现次数,exp:可以eval的表达式字串,err:对应错误信息清单}
  @private