文档章节

接口生成

形参思
 形参思
发布于 2017/07/30 20:49
字数 377
阅读 10
收藏 0
/**
 * Created by liuhu on 2017/7/29.
 * 意图:根据接口路径生成调用方法
 * 建议路径三层以内,如需三层以上则需要自行调整
 */
let interfaceArr = [
    "salary/list",
    "part/list",
    "part/detail",
    "salary/management/add"
];
/**
 * faceExport statement interface methods
 */
var faceExport = ( function(arr){
    var obj = {},sec=[];
    arr.forEach( function( x ){
        var arr = (/^\//.test(x))
            ? x.replace(/\//,"").split("/")
            : x.split("/");
        /*check up everyone for array list*/
        for( var i = 0, n = arr.length; i < n; i++){
            if( !arr[i] ){
                throw new Error("Error:there is a null or undefined, you should check up.Such as:'"+arr.join("/")+"'");
            }
        }
        sec.push( arr );
    });

    sec.forEach( function(x){
        var o = {};
        var h = {};
        if( x.length ){
            var path = x.join("/");
            if( x.length > 2 ){
                for( var i = x.length-1; i > 0; --i ){
                    if(i !== x.length-1){
                        o[ x[i] ] = (i === x.length-2)? h : o;
                    }else{
                        h[ x[i] ] = function( callback ) {
                            callback( path );
                        };
                    }
                }
                if(obj[ x[0] ]){
                    if(obj[ x[0] ][ x[1] ]){
                        obj[ x[0] ][ x[1] ][ x[2] ] = function (callback) {
                            callback( path );
                        };
                    }else{
                        console.log(o)
                        obj[ x[0] ][ x[1] ] = o[x[1]];
                    }
                }else{
                    obj[ x[0] ] = o;
                }
            }else{
                if( x.length === 2 ){
                    if( obj[ x[0] ] ){
                        obj[ x[0] ][ x[1] ] = function( callback ){
                            callback( path );
                        };
                    }else{
                        var m = {};
                            m[ x[1] ] = function( callback ){
                                callback( path );
                            };
                        obj[ x[0] ] = m;
                    }
                }else{
                    obj[ x[0] ] = function(callback){
                        callback( path );
                    };
                }
            }
        }
    });
    /**
     * 解析地址栏参数
     * @param v
     * @returns {*}
     */
    obj["dataUrlParse"] =  function(v){
        var s;
        s = v? (function(v){
                var m = "";
                if(v.indexOf("?")>-1){
                    m = v.substr(v.indexOf("?")+1);
                }else{
                    m = v;
                }
                return m;
            })(v):location.search.replace(/[?]/g,"");/*如果没有外部传入,直接去浏览器地址栏取值*/
        if(s.indexOf("&")>-1){
            s = s.split("&");
        }else{
            if(s.indexOf("=")<0){
                return s;
            }else{
                s = [s];
            }
        }
        var obj = {},
            m = null;
        try{
            for(var i =0,n = s.length;i<n;i++){
                m = s[i].split("=");
                if(decodeURI(m[1]) !== m[1]){/*判断是否经历过编码处理*/
                    obj[m[0]] = decodeURI(m[1]);
                }else{
                    obj[m[0]] = m[1];
                }
            }
        }catch (e){
            obj = {};
            throw new Error("拆分地址栏数据异常,需要检查数据源");
        }
        return obj;
    };
    return obj;
})( interfaceArr );

© 著作权归作者所有

上一篇: VUE轮播图
形参思
粉丝 7
博文 35
码字总数 10466
作品 0
广安
程序员
私信 提问
介绍MyBatis代码生成网站(四) --- 继承基类

一.简介 网址: http://www.fwjava.com 操作流程: 详见“ 介绍MyBatis代码生成网站(一) --- 基本操作 ” 需求描述: 1. 需要在生成的所有Java实体中 , 继承公司提供的com.icsm.common.BaseEnt...

北京软件中心
2016/09/26
75
0
Spring 项目如何优雅的生成接口文档与客户端

背景 在开发 服务的过程中,大家或多或少都会碰到类似的问题,比如:接口如何文档化、怎样自动生成 。我们在开发 的过程,也碰到了类似的问题,并且积累了一些经验,借此跟大家分享,希望抛砖...

澶渊
2018/07/10
0
0
解析淘宝淘口令获取商品ID方法说明

最近经常有朋友问我,淘口令怎么解密获取到商品ID,今天就提供两种方法: 1、用官方的api接口解析口令,然后从解密出来的链接中提取ID 官方接口文档:http://open.taobao.com/api.htm?spm=a2...

千龍
2018/10/12
0
0
淘宝联盟(淘客)/京东联盟(京东客)/拼多多(多多客)常用接口整理

一、淘宝客常用接口整理 1、商品ID高佣转链API 描述:通过商品ID进行高佣链接,生成带优惠券的二合一最高佣金的链接,如该商品没有优惠券,则除了生成二合一链接外,还会生成该商品的淘客链接...

千龍
2018/09/20
0
0
基于 Java 的代码注释 - XDoc-Java

XDoc, 是基于Java语言编写,提供将Java方法上的注释转成接口文档的工具.不同于sun doc生成的Java文档, XDoc只专注于对外接口层的文档转译, 基于原有的sun doc注解,加上扩展的一些,为使用者提...

风里的叶子
2018/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Visual Paradigm 教程[UML]:如何绘制封装图?(上)

下载Visual Paradigm最新试用版 查看本教程视频文件 在项目开始时,您只有有限数量的图表,一切都简单而美观。然而,当时间过得匆匆时,已经创建了越来越多的图表,并且它们开始变得无法管理...

xiaochuachua
27分钟前
0
0
Pure-ftpd服务安装及虚拟用户设置

安装 sudo apt-get install pure-ftpd 虚拟用户设置 首先,可以在系统中添加相应的用户和组,如用户ftpuser 和组ftpgroup ,专门用来管理ftp服务。也可以是能登录系统的用户,但最好是不能登...

Gm_ning
29分钟前
0
0
一位面试了阿里,滴滴,网易,蚂蚁金服,最终有幸去了网易的Java程序员【面试题分享】

前言 15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去...

Java领航员
30分钟前
1
0
“大团队”和“敏捷开发”,谁说不可兼得?

阿里妹导读:当小团队的产出跟不上业务需要,团队就面临规模化的问题。从1个团队到3个团队,仍可以通过简单的团队沟通保持高效协作。当产品复杂到需要5个以上团队同时开发时,我们需要一定的...

阿里云云栖社区
34分钟前
0
0
基于虹软人脸识别Demo android人脸识别

参加一个比赛,指定用虹软的人脸识别功能,奈何虹软人脸识别要自己建人脸库,不然就只能离线用,总不能装个样子,简单看了下虹软Demo,下面决定用这种简单方法实现在线人脸识别: Android端(...

是哇兴哥棒棒哒
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部