Song.Site/Utilities/Scripts/api.js

(开头部分) 27KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*!
 * 主  题:API调用方法
 * 说  明:用于调用Restful api接口的js方法。
 * 功能描述:
 * 1、封装api调用方法,采用axios异步读取服务端;支持get,post,delete,put,patch,options六种方式
 * 2、数据提交与返回均经过url编码与解码
 * 3、一些常用方法,如$api.trim,querystring,cookies等
 *
 *
 * 作  者:宋雷鸣 10522779@qq.com
 * 开发时间: 2019年5月20日
 */
(function () {
    var config = {
        //api的版本号
        versions: ["", "1", "2"],
        versionDefault: "1", //默认版本号
        //调用地址的根路径
        baseURL: '',
        pathUrl: "/api/v{0}/", //url路径
        apicache_location: false,     //本机是否缓存数据
        timeout: 60 * 60 * 24 * 1000        //请求过期时效
    };
    //版权信息
    var copyright = {};
    //一些常用方法
    var methods = {
        //生成axios调用的路径,
        //vesion:api版本号,
        //way:api方法名,如/api/v1/[account/del]
        url: function (version, way) {
            if (way === undefined) throw 'api名称不得为空';
            if (way.indexOf(':') > -1) way = way.substring(0, way.indexOf(':'));
            var url = config.pathUrl.replace("{0}", version);
            //调用地址的根路径可以在此处理,(如果需要跨多台服务器请求的话)
            if (config.baseURL != '') url = config.baseURL + url;
            return url + way;
        },
        //获取url中的参数
        //key:参数名
        //defvalue:默认值(如果key取不到值)
        querystring: function (key, defvalue) {
            //console.log(defvalue);
            defvalue = typeof (defvalue) == "undefined" ? "" : defvalue;
            var url = String(window.document.location.href);
            if (url.indexOf("?") < 0) return defvalue;
            //取所有参数
            var values = new Array();
            var query = url.substring(url.lastIndexOf("?") + 1).split('&');
            for (var q in query) {
                var arr = query[q].split('=');
                if (arr.length < 2) continue;
                if (arr[1].indexOf("#") > -1) arr[1] = arr[1].substring(0, arr[1].indexOf("#"));
                arr[1] = decodeURI(arr[1]).replace(/<[^>]+>/g, "");
                values.push({
                    key: arr[0],
                    val: arr[1]
                });
            }
            //如果不带参数,则返回所有参数
后面还有 603 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。