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 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
