BootCDNApi使用记录

Posted 这种人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BootCDNApi使用记录相关的知识,希望对你有一定的参考价值。

通过API获取BootCDN所加速的所有前端开源库的基本信息和文件列表

API

将一下API链接中的.min字样去掉后,获取到的JSON格式的返回信息是经过良好的格式化的,便于查看.

所有开源库简要信息列表

https://api.bootcdn.cn/libraries.min.json

该列表是一个json数组,数组中的每一个条目是由开源库的名称(name),描述,星标数组成的数组.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;

namespace BootCDNAPIDemo
{
    /// <summary>
    /// 开源库简要信息列表
    /// </summary>
    public class LibrariesModels
    {
        public List<LibrariesModel> ListLibraries { get; set; } = new List<LibrariesModel>();
        public LibrariesModels(string content)
        {
            JArray json = JArray.Parse(content);
            foreach(JArray jitem in json)
            {
                LibrariesModel model = new LibrariesModel(jitem);
                this.ListLibraries.Add(model);
            }
        }
    }
    public class LibrariesModel
    {
        public string name { get; set; }
        public string desc { get; set; }
        public string stars { get; set; }
        public LibrariesModel(JArray jitem)
        {
            this.name = jitem[0].ToString();
            this.desc = jitem[1].ToString();
            this.stars = jitem[2].ToString();
        }
        public override string ToString()
        {
            return this.name;
        }
    }
}

获取某个开源库的详细信息

https://api.bootcdn.cn/libraries/[name].min.json

通过此接口获取到的是开源库的json对象格式的详细信息,包括所有版本以及文件列表.其中,assets属性是所有版本及对应文件的列表.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BootCDNAPIDemo
{
    public class DetailedModel
    {
        public string name { get; set; }
        public string npmName { get; set; }
        public string version { get; set; }
        public string description { get; set; }
        public string homepage { get; set; }
        public List<string> keywords { get; set; }
        public string license { get; set; }
        public Repository repository { get; set; }
        public List<Asset> assets { get; set; }
        public string stars { get; set; }
    }
    public class Repository
    {
        public string type { get; set; }
        public string url { get; set; }
    }
    public class Asset
    {
        public string version { get; set; }
        public List<string> files { get; set; }
    }
}

Github:ZZRRegion/BootCDNAPIDemo

以上是关于BootCDNApi使用记录的主要内容,如果未能解决你的问题,请参考以下文章

Sphinx - 在代码块片段中使用省略号 (...)

记录C#常用的代码片段

discuz X3.1 源代码阅读,记录代码片段

提效小技巧——记录那些不常用的代码片段

用于从 cloudkit 检索单列的代码模式/片段

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段