diff --git a/.gitignore b/.gitignore index 0098a5f8d4..b6e9c6b517 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,5 @@ Thumbs.db # build output src/index.html +nav.config.json +_upload \ No newline at end of file diff --git a/README.md b/README.md index 05b72db517..c670fdf3b8 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ - 🍰 支持从浏览器书签导入 - 🍰 支持将数据导出到浏览器书签 - 🍰 支持用户提交收录 +- 🍰 支持自有部署/Fork - 🍰 丰富的资源配置系统 - 🍰 支持 SEO 搜索引擎 - 🍰 支持网站关联多个网址 @@ -62,7 +63,6 @@ - 🍰 多种卡片风格设计 - 🍰 完全纯静态, 提供自动化部署功能 - 🍰 三叉树分类、结构清晰、分类清晰 -- 🍰 颜值与简约并存,不再是杀马特时代 - 🍰 完全开源,轻松定制化 ## 预览 @@ -93,7 +93,7 @@ 4、打开 https://github.com/你的用户名/nav/actions 开启 action 自动部署 -5、修改项目根目录配置文件 [nav.config.ts](nav.config.ts) 只需要修改仓库地址 +5、修改项目根目录配置文件 [package.json](package.json) 只需要修改仓库地址 `gitRepoUrl` 字段 6、打开 https://你的用户名.github.io/nav 就能看到一个非常强大的导航网站了。 @@ -109,22 +109,32 @@ [https://github.com/apps/vercel](https://github.com/apps/vercel) -#### 关于自有部署 +#### 自有部署 -前提服务器必须能访问公网。(内网收益太小,暂时不加入需求,有需要的可以众筹) 也可以将仓库设为私有 +自有部署一直不是发现导航的需求目标,但陆续有人问,决定从`v8.8.0`版本开始支持! -将代码拉到服务器 `git clone https://github.com/xjh22222228/nav.git` 还需要安装`Node >= 18` +[成为我们的会员](https://cdn.jsdelivr.net/gh/xjh22222228/public@gh-pages/nav/support2.png) -执行 `npm i && npm run build` +#### Fork vs 自有部署 -```bash -# 启动 公网IP:7777, 后台系统配置请求地址填写:公网IP:7777/server -npm run server -``` +| | 自有部署 | Fork | +| -------- | ---------------- | ---------------- | +| 速度 | 保存即时生效 | 需要等待构建完成 | +| 成本 | 需要自己有服务器 | 免费 | +| 数据存储 | 定时`git push` | 永久存储 | -#### 其他 +## 配置说明 -如果您有更好的部署方式,请给我们提 PR +只需要修改根目录 `package.json` 以下相关字段 +|Fork |自有部署 | 字段 | 说明 | +| --------------------------------------------- | -------- |--- |--- | +|√ | | gitRepoUrl | 填写您的仓库地址 | +|√ | | provider | 部署平台,`Github` / `Gitee`, 作者 `Gitee` 仓库地址 [https://gitee.com/xiejiahe/nav](https://gitee.com/xiejiahe/nav) | +|√ | | branch | 部署分支 | +|√ | √| hashMode | 路由是否 Hash 模式, 如果是部署在 `github pages` 务必设为 true | +| | √| password | 自有部署登录密码,`Fork` 用户无需填写 | +| | √| address | 自有部署, 一旦填写认为你是自有部署,`https://你的域名或IP:7777` | +|√| √| email | 用户提交收录通知 | ## 后台 @@ -134,6 +144,8 @@ npm run server #### 自动 +仅限于 `Fork` 用户 + [点这里安装 Pull](https://github.com/apps/pull) , 只要有升级会自动给你的仓库提交 `Pull Requests` 点击合并即可。 #### 手动 diff --git a/data/db.json b/data/db.json index 80808cb734..e69de29bb2 100644 --- a/data/db.json +++ b/data/db.json @@ -1 +0,0 @@ -[{"title":"实用工具","nav":[{"title":"开发相关","nav":[{"title":"开发神器","nav":[{"name":"Github-CLI","createdAt":"2021-02-18 21:06:06","rate":5,"desc":"GitHub的官方命令行工具","top":false,"icon":"https://github.githubassets.com/favicons/favicon.svg","url":"https://cli.github.com/","urls":{"-3":"https://github.com/cli/cli"},"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":1},{"name":"Coveralls","icon":"https://coveralls.io/favicon.png","url":"https://coveralls.io/","desc":"通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":2},{"name":"Releasly","desc":"在新的开源版本发布时收到通知,直接发送到您的电子邮件中。","url":"https://www.releasly.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":3},{"name":"Convert cURL","desc":"将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。","url":"https://curl.trillworks.com/","urls":{"-3":"https://github.com/NickCarneiro/curlconverter"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":4},{"name":"Supervisor","desc":"Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。","url":"http://supervisord.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":5},{"icon":"https://www.sonarqube.org/favicon-152.png","name":"SonarQube","desc":"代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。","url":"https://www.sonarqube.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":6},{"icon":"https://paste.ubuntu.com/favicon.ico","name":"Pastebin","desc":"在线共享代码,将代码以URL形式发送以便查看","url":"https://paste.ubuntu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":7},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"UPX","desc":"UPX-可执行文件的终极打包器","url":"https://github.com/upx/upx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":8},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"askgit","desc":"使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。","url":"https://github.com/augmentable-dev/askgit","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":9},{"icon":"https://avatars3.githubusercontent.com/u/1396951?s=200&v=4","name":"Sentry","desc":"Web应用程序,移动应用程序和游戏的实时崩溃报告。","url":"https://sentry.io/","urls":{"-3":"https://github.com/getsentry"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":10},{"icon":"https://randomuser.me/favicon.ico","name":"randomuser","desc":"随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。","url":"https://randomuser.me/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":11},{"icon":"https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667","name":"github-readme-stats","desc":"在你的 README 中 获取动态生成的 GitHub 统计信息","url":"https://github.com/anuraghazra/github-readme-stats/blob/master/readme_cn.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":12},{"icon":"https://i.imgur.com/zBEQq4w.png","name":"Hits","desc":"了解有多少人正在查看您的GitHub项目的简单方法","url":"http://hits.dwyl.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":13},{"name":"GitHub 文件加速","desc":"GitHub 文件加速","url":"https://shrill-pond-3e81.hunsh.workers.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":14},{"name":"Shields IO","desc":"svg生成版本号图标","url":"https://shields.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":15},{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"支持前端JavaScript,后端Node.js以及微信小程序错误监控","url":"https://www.fundebug.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":16},{"icon":"http://www.asciiworld.com/favicon.ico","name":"Asciiworld","desc":"WA!原来那些年程序猿搞怪的注释都在这里","url":"http://www.asciiworld.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":17},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"强大的前端代码在线演示的网站","url":"http://jsfiddle.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":18},{"icon":"https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png","name":"CODEIF","desc":"变量命名神器","url":"https://unbug.github.io/codelf/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":19},{"icon":"http://asciiflow.com/images/favicon.png","name":"ASCIIFlow Infinity","desc":"无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。","url":"http://asciiflow.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":20},{"icon":"https://kinolien.github.io/gitzip/images/gitzip.png","name":"gitzip","desc":"它可以将GITHUB存储库的子文件夹/子目录作为zip并下载","url":"https://kinolien.github.io/gitzip/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":21},{"icon":"http://sc.ftqq.com/static/image/favlogo.png","name":"Server酱","desc":"「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。","url":"http://sc.ftqq.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":22},{"name":"mkcert","desc":"一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书","url":"https://github.com/FiloSottile/mkcert","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":23},{"icon":"https://carbon.now.sh/favicon.ico","name":"carbon","desc":"创建和分享源代码的精美图像","url":"https://carbon.now.sh","urls":{"-3":"https://github.com/dawnlabs/carbon"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":24},{"name":"setup-ipsec-vpn","desc":"用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec","url":"https://github.com/hwdsl2/setup-ipsec-vpn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":25},{"icon":"https://www.digitalocean.com/favicon.ico","name":"nginxconfig","desc":"nginx配置生成器","url":"https://www.digitalocean.com/community/tools/nginx#?","urls":{"-3":"https://github.com/digitalocean/nginxconfig.io"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":26},{"name":"GraphQL Explorer","desc":"GraphQL资源管理器利用真实的、实时的生产数据","url":"https://developer.github.com/v4/explorer/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":27},{"name":"patorjk","desc":"将文本转换成ASCII","url":"http://patorjk.com/software/taag/#p=display&f=Graffiti&t=xiejiahe","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":28},{"icon":"https://avatars0.githubusercontent.com/u/62133242?s=200&v=4","name":"lens","desc":"Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。","url":"https://k8slens.dev/","urls":{"-3":"https://github.com/lensapp/lens"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":29},{"name":"public-apis","desc":"一些可用在 Web 或软件开发的开放 API 接口","url":"https://github.com/public-apis/public-apis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":30},{"icon":"https://astexplorer.net/favicon.png","name":"astexplorer","desc":"一个Web工具,用于探索由各种解析器生成的AST","url":"https://astexplorer.net/","urls":{"-3":"https://github.com/fkling/astexplorer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":31},{"icon":"http://www.u.tools/assets/img/brand/favicon.png","name":"uTools","desc":"uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合","url":"http://www.u.tools/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":32},{"icon":"https://ihateregex.io/favicon.ico","name":"ihateregex","desc":"正则表达式备忘录","url":"https://ihateregex.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":33},{"icon":"https://avatars3.githubusercontent.com/u/22552083?s=200&v=4","name":"Oh My ZSH","desc":"是一个开放源代码,社区驱动的框架,用于管理zsh配置。","url":"https://ohmyz.sh/","urls":{"-3":"https://github.com/ohmyzsh"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":34},{"icon":"https://tampermonkey.freetls.fastly.net/images/icon144.png","name":"Tampermonkey","desc":"一款免费的浏览器扩展和最为流行的用户脚本管理器","url":"https://www.tampermonkey.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":35},{"name":"Greasy Fork","desc":"提供用户脚本的网站","url":"https://greasyfork.org/zh-CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":36},{"icon":"https://img.kuaidaili.com/img/favicon.ico?v=3","name":"免费代理","desc":"免费HTTP代理IP","url":"https://www.kuaidaili.com/free/inha/1/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":37},{"icon":"https://avatars2.githubusercontent.com/u/1342004?s=200&v=4","name":"Google Workspace","desc":"Google Workspace状态信息中心","url":"https://www.google.com/appsstatus#hl=en&v=status","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","开发神器"],"ownVisible":false,"id":38}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"接口/开发文档管理","nav":[{"icon":"https://www.eolinker.com/assets/images/favicon.ico","name":"eoLinker接口管理平台","desc":"国内最大的在线接口管理服务方案供应商","url":"https://www.eolinker.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":39},{"icon":"https://avatars2.githubusercontent.com/u/19645609?s=200&v=4","name":"YApi","desc":"YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台","url":"https://yapi.baidu.com/","urls":{"-3":"https://github.com/YMFE/yapi"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":40},{"icon":"http://rap2.taobao.org/favicon.png","name":"RAP2","desc":"Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品","url":"http://rap2.taobao.org/","urls":{"-3":"https://github.com/thx/rap2-delos"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":41},{"icon":"https://www.showdoc.cc/static/logo/b_64.png","name":"showdoc","desc":"一个非常适合IT团队的在线API文档、技术文档工具","url":"https://www.showdoc.cc/","urls":{"-3":"https://github.com/star7th/showdoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":42},{"icon":"https://avatars3.githubusercontent.com/u/40133106?s=200&v=4","name":"docsify","desc":"一个神奇的文档站点生成器","url":"https://docsify.js.org","urls":{"-3":"https://github.com/docsifyjs/docsify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":43},{"icon":"https://avatars2.githubusercontent.com/u/4103663?s=200&v=4","name":"apiDoc","desc":"RESTful Web API文档生成器","url":"http://apidocjs.com","urls":{"-3":"https://github.com/apidoc/apidoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":44},{"icon":"https://avatars2.githubusercontent.com/u/69631?s=200&v=4","name":"docusaurus","desc":"易于维护的开源文档网站","url":"https://docusaurus.io/","urls":{"-3":"https://github.com/facebook/docusaurus"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":45},{"icon":"https://www.zentao.net/favicon.ico","name":"禅道","desc":"禅道是灵活的项目管理软件","url":"https://www.zentao.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":46},{"icon":"https://www.tapd.cn/favicon.ico","name":"Tapd","desc":"一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷","url":"https://www.tapd.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":47},{"icon":"https://avatars2.githubusercontent.com/u/56705483?s=200&v=4","name":"Hoppscotch","desc":"一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)","url":"https://hoppscotch.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","接口/开发文档管理"],"ownVisible":false,"id":48}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"内网穿透/代理","nav":[{"name":"Sunny-Ngrok","desc":"一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离","url":"https://www.ngrok.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","内网穿透/代理"],"ownVisible":false,"id":49},{"name":"frp","desc":"一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。","url":"https://github.com/fatedier/frp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","内网穿透/代理"],"ownVisible":false,"id":50},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zan-proxy","desc":"本地代码调试线上页面,环境再也不是问题","url":"https://youzan.github.io/zan-proxy/","urls":{"-3":"https://github.com/youzan/zan-proxy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","内网穿透/代理"],"ownVisible":false,"id":51},{"icon":"https://ngrok.com/static/img/favicon.png","name":"ngrok","desc":"ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放","url":"https://ngrok.com/","urls":{"-3":"https://github.com/inconshreveable/ngrok"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","开发相关","内网穿透/代理"],"ownVisible":false,"id":52}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"编码/解码","nav":[{"icon":"http://www.chamd5.org/favicon.ico","name":"查MD5","desc":"MD5在线解密|md5在线破解|批量破解md5网站","url":"http://www.cmd5.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","编码/解码"],"ownVisible":false,"id":53},{"icon":"https://jwt.io/img/favicon/apple-icon-76x76.png","name":"JSON Web Tokens","desc":"jwt 在线解码","url":"https://jwt.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","编码/解码"],"ownVisible":false,"id":54},{"icon":"http://www.xpcha.com/favicon.ico","name":"base64","desc":"base64在线解码编码","url":"http://base64.xpcha.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","编码/解码"],"ownVisible":false,"id":55}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"免费公开API","nav":[{"icon":"https://www.ipify.org/static/images/favicon-96x96.png","name":"ipify","desc":"一个简单的公共IP地址API","url":"https://www.ipify.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","免费公开API"],"ownVisible":false,"id":56},{"name":"归属地查询","desc":"淘宝免费归属地查询","url":"https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13333333333","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","开发相关","免费公开API"],"ownVisible":false,"id":57}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"设计相关","nav":[{"title":"设计相关","nav":[{"icon":"https://www.draw.io/images/apple-touch-icon.png","name":"draw","desc":"免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图","url":"https://www.draw.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":58},{"icon":"https://www.processon.com/favicon.ico","name":"ProcessOn","desc":"免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图","url":"https://www.processon.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":59},{"icon":"https://lhcdn.lanhuapp.com/web/static/favicon.ico","name":"蓝湖","desc":"蓝湖是一款设计图共享平台,帮助互联网团队管理设计图","url":"https://lanhuapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":60},{"icon":"https://zeplin.io/img/favicon/228x228.png","name":"Zeplin","desc":"为设计师和前端而生的协作应用","url":"https://zeplin.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":61},{"icon":"https://mubu.com/favicon.ico","name":"幕布","desc":"极简大纲笔记 | 一键生成思维导图","url":"https://mubu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":62},{"icon":"https://p.ssl.qhimg.com/t01a54d9106629dda0e.png","name":"声享","desc":"在线制作 PPT,让分享更有价值","url":"https://ppt.baomitu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":63},{"icon":"https://modao.cc/images/logo.png","name":"墨刀","desc":"原型设计工具,web原型设计工具,app原型设计工具","url":"https://modao.cc/features","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":64},{"icon":"https://xzlogo.com/static/images/favicon-16x16.png?v2","name":"小智LOGO","desc":"LOGO在线制作神器 - 3分钟完成LOGO设计在线生成","url":"https://xzlogo.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":65},{"icon":"https://www.chuangkit.com/favicon.ico","name":"创客贴","desc":"一款简单易用、功能强大的线上图形设计工具","url":"https://www.chuangkit.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":66},{"icon":"https://cdn.jifo.co/favicon/favicon.ico","name":"在线制作图表","desc":"信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己","url":"https://infogram.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":67},{"name":"CLIPPING MAGIC","desc":"删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具","url":"https://clippingmagic.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":68},{"icon":"https://koutu.gaoding.com/favicon.ico","name":"稿定抠图","desc":"稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。","url":"https://www.gaoding.com/koutu","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":69},{"icon":"https://uzer.me/favicon.ico","name":"UZER.ME","desc":"超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险","url":"https://uzer.me/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":70},{"icon":"https://www.launchaco.com/static/favicon.ico","name":"launchaco","desc":"免费在线制作LOGO","url":"https://www.launchaco.com/logo","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":71},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"鹿班","desc":"鹿班 - 让设计更美好(阿里出品)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":72},{"icon":"https://www.yasuotu.com/favicon.ico","name":"图片裁剪","desc":"在线裁剪照片大小尺寸","url":"https://www.yasuotu.com/meditor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","设计相关","设计相关"],"ownVisible":false,"id":73}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"GUI软件","nav":[{"title":"GUI","nav":[{"icon":"https://bitwarden.com/images/icons/favicon-32x32.png","name":"Bitwarden","desc":"个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法","url":"https://bitwarden.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":74},{"icon":"https://typora.io/img/favicon-48.png","name":"Typeora","desc":"Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验","url":"https://typora.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":75},{"icon":"https://www.iterm2.com/favicon.ico","name":"iterm2","desc":"iTerm2是Terminal的替代品,是iTerm的后续产品","url":"https://www.iterm2.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":76},{"icon":"https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png","name":"Sourcetree","desc":"美丽的Git GUI中的简单性和强大功能","url":"https://www.sourcetreeapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":77},{"icon":"https://www.charlesproxy.com/static/img/icon.8b97278f.png","name":"charles","desc":"Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。","url":"https://www.charlesproxy.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":78},{"icon":"https://tunnelblick.net/favicon.ico","name":"Tunnelblick","desc":"适用于macOS的免费开源OpenVPN VPN客户端服务器软件。","url":"https://tunnelblick.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":79},{"icon":"https://www.keka.io/img/Keka-120x120.png","name":"Keka","desc":"macOS文件存档器, 储存更多,私密分享","url":"https://www.keka.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":80},{"icon":"https://getkap.co/static/favicon/kap.ico","name":"Kap","desc":"使用Web技术构建的开源屏幕录像机。","url":"https://getkap.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":81},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode","desc":"VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。","url":"https://code.visualstudio.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":82},{"icon":"https://nmap.org/shared/images/tiny-eyeicon.png","name":"zenmap","desc":"开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本","url":"https://nmap.org/zenmap/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":83},{"icon":"https://obsproject.com/favicon-32x32.png","name":"obsproject","desc":"免费和开源软件,用于视频录制和实时流。","url":"https://obsproject.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":84},{"icon":"https://avatars1.githubusercontent.com/u/14985020?s=200&v=4","name":"hyper","desc":"基于WEB技术的终端","url":"https://hyper.is/","urls":{"-3":"https://github.com/zeit/hyper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":85},{"icon":"https://www.listary.com/wp-content/themes/listary5/images/favicon.ico","name":"Listary","desc":"Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!","url":"https://www.listary.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","GUI"],"ownVisible":false,"id":86}],"createdAt":"2021-01-23 09:32:06"},{"title":"虚拟机","nav":[{"icon":"https://www.vmware.com/favicon.ico","name":"vmware","desc":"利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。","url":"https://www.vmware.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","虚拟机"],"ownVisible":false,"id":87},{"icon":"https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png","name":"parallels","desc":"Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案","url":"https://www.parallels.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","虚拟机"],"ownVisible":false,"id":88},{"icon":"http://mumu.163.com/favicon.ico","name":"mumu Android模拟器","desc":"网易MuMu[手游模拟器][安卓模拟器]","url":"http://mumu.163.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","虚拟机"],"ownVisible":false,"id":89}],"createdAt":"2021-01-23 09:32:06"},{"title":"数据库","nav":[{"icon":"https://avatars3.githubusercontent.com/u/34743864?s=200&v=4","name":"DBeaver","desc":"适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等","url":"https://dbeaver.io/","urls":{"-3":"https://github.com/dbeaver/dbeaver"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","数据库"],"ownVisible":false,"id":90},{"icon":"https://redisdesktop.com/static/css/favicon.png","name":"RedisDesktopManager","desc":"Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。","url":"https://redisdesktop.com/","urls":{"-3":"https://github.com/uglide/RedisDesktopManager"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","数据库"],"ownVisible":false,"id":91},{"icon":"https://sequelpro.com/favicon/favicon-32x32.png","name":"Sequel Pro","desc":"Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。","url":"https://www.sequelpro.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","数据库"],"ownVisible":false,"id":92},{"icon":"https://robomongo.org/static/favicon-11ace079.ico","name":"Robo 3T","desc":"一个现代,强大且由社区驱动的MongoDB管理工具","url":"https://robomongo.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","数据库"],"ownVisible":false,"id":93},{"icon":"https://www.jetbrains.com/favicon-32x32.png","name":"DataGrip","desc":"jetbrains出品的数据库管理系统","url":"https://www.jetbrains.com/datagrip/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","数据库"],"ownVisible":false,"id":94},{"icon":"https://tableplus.com/resources/favicons/apple-icon-57x57.png","name":"tableplus","desc":"用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等","url":"https://tableplus.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","数据库"],"ownVisible":false,"id":95}],"createdAt":"2021-01-23 09:32:06"},{"title":"远程控制","nav":[{"icon":"https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png","name":"TeamViewer","desc":"TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。","url":"https://www.teamviewer.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","远程控制"],"ownVisible":false,"id":96},{"icon":"https://sunlogin.oray.com/favicon.ico","name":"向日葵","desc":"向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件","url":"https://sunlogin.oray.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","远程控制"],"ownVisible":false,"id":97}],"createdAt":"2021-01-23 09:32:06"},{"title":"飞机场","nav":[{"icon":"https://avatars0.githubusercontent.com/u/14110142?s=200&v=4","name":"v2ray","desc":"用于构建代理绕过网络限制的平台。","url":"https://github.com/v2ray/v2ray-core","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","飞机场"],"ownVisible":false,"id":98},{"icon":"https://github.com/Dreamacro/clash/raw/master/docs/logo.png","name":"clash","desc":"Go中基于规则的隧道","url":"https://github.com/Dreamacro/clash","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","GUI软件","飞机场"],"ownVisible":false,"id":99}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"影视/音乐","nav":[{"title":"影视","nav":[{"icon":"https://www.bilibili.com/favicon.ico","name":"哔哩哔哩","desc":"国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主","url":"https://www.bilibili.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":100},{"icon":"https://www.iqiyipic.com/common/images/PCW-114x114.png","name":"爱奇艺","desc":"拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台","url":"https://www.iqiyi.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":101},{"icon":"https://www.youtube.com/favicon.ico","name":"Youtube","desc":"全球最大的视频网站","url":"https://www.youtube.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":102},{"icon":"https://www.douyu.com/favicon.ico","name":"斗鱼","desc":"斗鱼 - 每个人的直播平台","url":"https://www.douyu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":103},{"icon":"https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico","name":"疯狂影视搜索","desc":"疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源","url":"http://ifkdy.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":104},{"icon":"http://www.qmaile.com/favicon.ico","name":"全民vip视频在线解析","desc":"免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析","url":"http://www.qmaile.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":105},{"icon":"https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png","name":"蜜蜂剪辑","desc":"免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能","url":"https://beecut.cn/online-video-editor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":106},{"name":"kk高清影院","desc":"kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网","url":"http://www.kk3.tv/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","影视"],"ownVisible":false,"id":107}],"createdAt":"2021-01-23 09:32:06"},{"title":"音乐","nav":[{"name":"自由的音乐","desc":"自由的音乐是一个免费试听并下载全网音乐的网站","url":"https://www.tikitiki.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","影视/音乐","音乐"],"ownVisible":false,"id":108}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"招聘/求职","nav":[{"title":"招聘/求职","nav":[{"icon":"https://www.zhaopin.com/favicon.ico","name":"智联招聘","desc":"智联招聘,更懂你的价值","url":"https://www.zhaopin.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","招聘/求职","招聘/求职"],"ownVisible":false,"id":109},{"icon":"https://www.51job.com/favicon.ico","name":"前程无忧","desc":"招聘网,人才网,求职,找工作","url":"https://www.51job.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","招聘/求职","招聘/求职"],"ownVisible":false,"id":110},{"icon":"https://www.zhipin.com/favicon.ico","name":"BOSS直聘","desc":"BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧","url":"https://www.zhipin.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","招聘/求职","招聘/求职"],"ownVisible":false,"id":111}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"name":"ResumeSample","desc":"程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板","url":"https://github.com/geekcompany/ResumeSample","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","招聘/求职","其他"],"ownVisible":false,"id":112},{"icon":"http://coder.shengxinjing.cn/logo.ico","name":"程序员找工作黑名单","desc":"有些事情,应该被记住","url":"http://coder.shengxinjing.cn/","urls":{"-3":"https://github.com/shengxinjing/programmer-job-blacklist"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","招聘/求职","其他"],"ownVisible":false,"id":113},{"icon":"https://www.kanzhun.com/favicon.ico","name":"看准网","desc":"看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息","url":"https://www.kanzhun.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","招聘/求职","其他"],"ownVisible":false,"id":114}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"title":"压缩工具","nav":[{"icon":"https://tinypng.com/images/apple-touch-icon.png","name":"TinyPNG","desc":"智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像","url":"https://tinypng.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","压缩工具"],"ownVisible":false,"id":115},{"icon":"https://squoosh.app/assets/favicon.ico","name":"Squoosh","desc":"在浏览器中用不同的编解码器压缩和比较图像(Google出品)","url":"https://squoosh.app/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","压缩工具"],"ownVisible":false,"id":116}],"createdAt":"2021-01-23 09:32:06"},{"title":"辅助工具","nav":[{"icon":"https://static.clewm.net/static/images/favicon.ico","name":"草料二维码","desc":"用专业的二维码产品帮助企业创造价值","url":"https://cli.im/url/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":117},{"name":"Feed 验证器","desc":"验证RSS是否符合标准规范","url":"http://www.feedvalidator.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":118},{"icon":"https://www.taonienie.com/favicon.ico","name":"淘捏捏","desc":"淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询","url":"http://taonienie.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":119},{"icon":"https://www.tianyancha.com/favicon.ico","name":"天眼查","desc":"人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统","url":"https://www.tianyancha.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":120},{"icon":"https://yuque.com/favicon.ico","name":"语雀","desc":"优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴","url":"https://yuque.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":121},{"icon":"https://www.qsc.zju.edu.cn/box/favicon.ico","name":"求是潮云U盘","desc":"临时文件上传, 快速和稳定","url":"https://box.zjuqsc.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":122},{"icon":"https://www.360converter.com/images/favicon.ico","name":"云转换","desc":"在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字","url":"http://www.360converter.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":123},{"icon":"https://www.picdiet.com/css/favicon.ico","name":"Picdiet","desc":"独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量","url":"https://www.picdiet.com/zh-cn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":124},{"icon":"https://cdn-img.easyicon.net/favicon.ico","name":"easyicon","desc":"在线图标转换ico、icns","url":"https://www.easyicon.net/covert/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":125},{"icon":"https://smallpdf.com/favicon.png","name":"Smallpdf","desc":"压缩pdf、各种文件格式转换pdf","url":"https://smallpdf.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":126},{"icon":"https://coolbackgrounds.io/images/favicon-fe5a0ff5.png","name":"Cool Backgrounds","desc":"生成非常酷的彩色背景图像","url":"https://coolbackgrounds.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":127},{"icon":"https://source.unsplash.com/favicon-32x32.png","name":"Unsplash Source","desc":"随机生成图片链接","url":"https://source.unsplash.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":128},{"icon":"https://assets.smcdn.cn/from_qbox/favicon.ico","name":"石墨文档","desc":"一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...","url":"https://shimo.im/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":129},{"icon":"https://emoji.muan.co/appicon.png","name":"Emoji searcher","desc":"Emoji表情大全","url":"http://emoji.muan.co/","urls":{"-3":"https://github.com/muan/emoji/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":130},{"icon":"https://imgurl.org/favicon.ico","name":"imgURL","desc":"ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择","url":"https://imgurl.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":131},{"icon":"https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png","name":"拷贝兔","desc":"跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传","url":"https://cp.ifval.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":132},{"icon":"https://tableconvert.com/static/images/favicon.png","name":"表格工具","desc":"一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换","url":"https://tableconvert.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":133},{"icon":"https://p2.ssl.qhimg.com/t014de4ba13ada26743.png","name":"360查字体","desc":"360查字体 - 查版权,免纠纷","url":"https://fonts.safe.360.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":134},{"icon":"https://www.sejda.com/images/icon_128.png","name":"sejda","desc":"在线HTML转换pdf","url":"https://www.sejda.com/html-to-pdf","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":135},{"icon":"https://bigjpg.com/static/css/touch-icon-iphone.png","name":"AI人工智能图片放大","desc":"Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片","url":"https://bigjpg.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":136},{"name":"VVV文档在线导出工具","desc":"免费下载百度文库文档","url":"http://wenku.baiduvvv.com/doc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":137},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"在线文件编码识别","desc":"在线文件编码识别","url":"http://tools.bugscaner.com/filebianma/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":138},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"iptv","desc":"收集来自世界各地的5000多个公共IPTV频道","url":"https://github.com/iptv-org/iptv","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":139},{"icon":"https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico","name":"临时邮箱","desc":"10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱","url":"https://www.linshiyouxiang.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["实用工具","其他","辅助工具"],"ownVisible":false,"id":140}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06"},{"title":"WEB前端","nav":[{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"JavaScript","nav":[{"icon":"https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico","name":"jQuery","desc":"jQuery是一个JavaScript函数库","url":"http://jquery.com/","urls":{"-2":"http://jquery.com/","-1":"https://www.jquery123.com/","-3":"https://github.com/jquery/jquery"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":141},{"icon":"https://www.webpackjs.com/assets/favicon.ico","name":"webpack","desc":"webpack是一个模块打包器","url":"https://www.webpackjs.com/","urls":{"-2":"https://webpack.js.org/","-1":"https://www.webpackjs.com/","-3":"https://github.com/webpack/webpack"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":142},{"icon":"https://babeljs.io/img/favicon.png","name":"Babel","desc":"用于编写下一代 JavaScript 的编译器","url":"http://babeljs.io/","urls":{"-2":"http://babeljs.io/","-1":"https://babeljs.cn/","-3":"https://github.com/babel/babel"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":143},{"icon":"https://cn.eslint.org/img/favicon.512x512.png","name":"ESLint","desc":"可组装的JavaScript和JSX检查工具","url":"https://cn.eslint.org/","urls":{"-2":"https://cn.eslint.org/","-1":"http://eslint.cn/","-3":"https://github.com/eslint/eslint"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":144},{"icon":"https://avatars3.githubusercontent.com/u/10076935?s=200&v=4","name":"stylelint","desc":"一个强大的现代样式风格的linter","url":"https://stylelint.io/","urls":{"-3":"https://github.com/stylelint/stylelint"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":145},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行","url":"https://mochajs.org/","urls":{"-3":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":146},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"MUI","desc":"MUI: 最接近原生APP体验的高性能前端框架","url":"http://dev.dcloud.net.cn/mui/","urls":{"-3":"https://github.com/dcloudio/mui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":147},{"icon":"https://avatars0.githubusercontent.com/u/12554859?s=200&v=4","name":"rollup","desc":"Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序","url":"https://rollupjs.org/guide/zh/","urls":{"-2":"https://rollupjs.org/guide/en/","-1":"https://rollupjs.org/guide/zh/","-3":"https://github.com/rollup/rollup"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":148},{"icon":"https://avatars1.githubusercontent.com/u/29208316?s=200&v=4","name":"standard","desc":"JavaScript样式指南,带有linter和自动代码修复程序","url":"https://standardjs.com","urls":{"-3":"https://github.com/standard/standard"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","JavaScript"],"ownVisible":false,"id":149}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"常用插件","nav":[{"urls":{},"name":"Faker","icon":"https://github.com/favicon.ico","url":"https://github.com/Marak/faker.js","createdAt":"2021-01-23 17:37:03","desc":"在Node.js和浏览器中生成大量逼真的假数据","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":150},{"name":"sweetalert","desc":"JavaScript Alert 的漂亮替代品","url":"https://sweetalert.js.org/","urls":{"-3":"https://github.com/t4t5/sweetalert"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":151},{"icon":"https://avatars0.githubusercontent.com/u/17040762?s=200&v=4","name":"Sortable","desc":"一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序","url":"https://sortablejs.github.io/Sortable/","urls":{"-3":"https://github.com/SortableJS/Sortable"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":152},{"name":"formilyjs","desc":"Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架","url":"https://formilyjs.org/","urls":{"-3":"https://github.com/alibaba/formily"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":153},{"icon":"https://roughnotation.com/images/fav.png","name":"rough-notation","desc":"一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果","url":"https://roughnotation.com/","urls":{"-3":"https://github.com/rough-stuff/rough-notation"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":154},{"icon":"https://avatars3.githubusercontent.com/u/19199542?s=200&v=4","name":"AntV","desc":"AntV 是蚂蚁金服全新一代数据可视化解决方案","url":"https://antv.alipay.com/","urls":{"-3":"https://github.com/antvis/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":155},{"icon":"https://www.lodashjs.com/icons/favicon-32x32.png","name":"Lodash","desc":"Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库","url":"https://www.lodashjs.com/","urls":{"-2":"https://lodash.com/","-1":"https://www.lodashjs.com/","-3":"https://github.com/lodash/lodash"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":156},{"icon":"https://www.swiper.com.cn/favicon.ico","name":"Swiper","desc":"轻量级的移动设备触控滑块的js框架,使用硬件加速过渡","url":"https://www.swiper.com.cn/","urls":{"-2":"http://idangero.us/swiper/","-1":"https://www.swiper.com.cn/","-3":"https://github.com/nolimits4web/swiper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":157},{"name":"fastclick","desc":"Polyfill 解决移动端具有300ms延迟的库","url":"https://github.com/ftlabs/fastclick","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":158},{"name":"Layer","desc":"丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互","url":"http://layer.layui.com/","urls":{"-3":"https://github.com/sentsin/layer/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":159},{"icon":"https://momentjs.com/static/img/moment-favicon.png","name":"moment.js","desc":"一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期","url":"http://momentjs.cn/","urls":{"-2":"http://momentjs.com/","-1":"http://momentjs.cn/","-3":"https://github.com/moment/moment"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":160},{"name":"js-cookie","desc":"一个简单,轻量级的JavaScript API,用于处理浏览器cookie","url":"https://github.com/js-cookie/js-cookie","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":161},{"name":"qs","desc":"具有嵌套支持的查询字符串解析器","url":"https://github.com/ljharb/qs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":162},{"name":"Mock.js","desc":"生成随机数据,拦截 Ajax 请求","url":"http://mockjs.com/","urls":{"-3":"https://github.com/nuysoft/Mock"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":163},{"icon":"https://gitalk.github.io/favicon.ico","name":"GITALK","desc":"凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件","url":"https://gitalk.github.io/","urls":{"-3":"https://github.com/gitalk/gitalk"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":164},{"icon":"https://prismjs.com/assets/favicon.png","name":"prism","desc":"轻巧,强大,优雅的代码语法高亮","url":"https://prismjs.com/","urls":{"-3":"https://github.com/PrismJS/prism"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":165},{"name":"nprogress","desc":"顶部加载进度条","url":"http://ricostacruz.com/nprogress/","urls":{"-3":"https://github.com/rstacruz/nprogress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":166},{"name":"iNotify","desc":"JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知","url":"https://git.io/iNotify","urls":{"-3":"https://github.com/jaywcjlove/iNotify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":167},{"name":"html2canvas","desc":"最流行的JavaScript屏幕截图","url":"https://html2canvas.hertzen.com/","urls":{"-3":"https://github.com/niklasvh/html2canvas"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":168},{"name":"dayjs","desc":"使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间","url":"https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":169},{"name":"JsBarcode","desc":"易于使用但功能强大的条形码生成器,适用于Web和Node.js","url":"https://lindell.me/JsBarcode/","urls":{"-3":"https://github.com/lindell/JsBarcode"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":170},{"name":"clipboard.js","desc":"现代复制到剪贴板。没有Flash。只需3kb gzipped。","url":"https://clipboardjs.com/","urls":{"-3":"https://github.com/zenorocha/clipboard.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":171},{"name":"lib-flexible","desc":"可伸缩布局方案, 淘宝rem解决方案","url":"https://github.com/amfe/lib-flexible","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":172},{"name":"js-xss","desc":"根据白名单过滤HTML(防止XSS攻击)","url":"https://github.com/leizongmin/js-xss","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":173},{"name":"mescroll","desc":"精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器","url":"http://www.mescroll.com/index.html","urls":{"-3":"https://github.com/mescroll/mescroll"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":174},{"name":"better-scroll","desc":"灵感来自iscroll,它具有更好的滚动性能","url":"https://ustbhuangyi.github.io/better-scroll/","urls":{"-3":"https://github.com/ustbhuangyi/better-scroll"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":175},{"name":"pinyinjs","desc":"一个实现汉字与拼音互转的小巧web工具库","url":"http://demo.haoji.me/pinyinjs/","urls":{"-3":"https://github.com/sxei/pinyinjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":176},{"name":"ms","desc":"使用此包可以轻松地将各种时间格式转换为毫秒。","url":"https://github.com/zeit/ms","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":177},{"icon":"https://avatars2.githubusercontent.com/u/5298359?s=200&v=4","name":"ramda","desc":"适用于JavaScript程序员的实用函数库","url":"https://ramdajs.com","urls":{"-3":"https://github.com/ramda/ramda"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":178},{"name":"decimal.js","desc":"JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)","url":"http://mikemcl.github.io/decimal.js","urls":{"-3":"https://github.com/MikeMcl/decimal.js/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":179},{"name":"copy-to-clipboard","desc":"简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息","url":"https://github.com/sudodoki/copy-to-clipboard","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":180},{"name":"path-to-regexp","desc":"将字符串路径转换成正则表达式","url":"https://github.com/pillarjs/path-to-regexp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":181},{"name":"autosize","desc":"autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本","url":"http://www.jacklmoore.com/autosize/","urls":{"-3":"https://github.com/jackmoore/autosize"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":182},{"name":"shake.js","desc":"监听手机设备摇动","url":"https://github.com/alexgibson/shake.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":183},{"name":"progressbar","desc":"可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好","url":"https://kimmobrunfeldt.github.io/progressbar.js/","urls":{"-3":"https://github.com/kimmobrunfeldt/progressbar.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":184},{"icon":"https://avatars0.githubusercontent.com/u/28626637?s=200&v=4","name":"easy-mock","desc":"Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务","url":"https://easy-mock.com","urls":{"-3":"https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":185},{"icon":"https://joe.sh/assets/images/favicon.ico","name":"Clamp.js","desc":"JS版本的多行文本溢出省略","url":"https://joe.sh/clamp-js","urls":{"-3":"https://github.com/josephschmitt/Clamp.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":186},{"name":"json-bigint","desc":"带有bigints支持的JSON.parse / stringify","url":"https://github.com/sidorares/json-bigint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":187},{"name":"exif-js","desc":"用于读取EXIF图像元数据的JavaScript库","url":"https://github.com/exif-js/exif-js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":188},{"name":"lunr.js","desc":"Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档","url":"https://github.com/olivernn/lunr.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":189},{"name":"hotkeys","desc":"强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。","url":"https://wangchujiang.com/hotkeys/","urls":{"-3":"https://github.com/jaywcjlove/hotkeys"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":190},{"name":"dom-to-image","desc":"使用HTML5 canvas从DOM节点生成图像","url":"https://github.com/tsayen/dom-to-image","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":191},{"icon":"https://avatars1.githubusercontent.com/u/59940233?s=200&v=4","name":"single-spa","desc":"使微前端变得简单","url":"https://single-spa.js.org/","urls":{"-3":"https://github.com/single-spa/single-spa"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":192},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"qiankun","desc":"为微型前端提供快速,简单和完整的解决方案","url":"https://qiankun.umijs.org/","urls":{"-3":"https://github.com/umijs/qiankun"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":193},{"icon":"https://zelark.github.io/nano-id-cc/favicon.ico","name":"nanoid","desc":"一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。","url":"https://zelark.github.io/nano-id-cc/","urls":{"-3":"https://github.com/ai/nanoid"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":194},{"name":"Numeral-js","desc":"一个用于格式化和处理数字的javascript库","url":"http://numeraljs.com","urls":{"-3":"https://github.com/adamwdraper/Numeral-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":195},{"name":"ua-parser-js","desc":"用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境","url":"http://faisalman.github.io/ua-parser-js/","urls":{"-3":"https://github.com/faisalman/ua-parser-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":196},{"icon":"https://avatars0.githubusercontent.com/u/7997161?s=200&v=4","name":"hammer.js","desc":"一个用于多点触摸手势的javascript库","url":"http://hammerjs.github.io","urls":{"-3":"https://github.com/hammerjs/hammer.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","常用插件"],"ownVisible":false,"id":197}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"国际化多语言方案","nav":[{"icon":"https://avatars1.githubusercontent.com/u/8546082?s=200&v=4","name":"i18next","desc":"i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。","url":"http://i18next.com/","urls":{"-3":"https://github.com/i18next/i18next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","国际化多语言方案"],"ownVisible":false,"id":198},{"icon":"https://avatars3.githubusercontent.com/u/11225539?s=200&v=4","name":"js-lingui","desc":"JavaScript的可读,自动化和优化(5 kb)国际化","url":"https://lingui.js.org/","urls":{"-3":"https://github.com/lingui/js-lingui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","国际化多语言方案"],"ownVisible":false,"id":199}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"动画","nav":[{"name":"wow.js","desc":"基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...","url":"http://mynameismatthieu.com/WOW/","urls":{"-3":"https://github.com/matthieua/WOW"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","动画"],"ownVisible":false,"id":200},{"name":"Waves","desc":"受Google材质设计启发的点击效果, 波纹效果","url":"http://fian.my.id/Waves/#examples","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","动画"],"ownVisible":false,"id":201},{"name":"velocity","desc":"加速JavaScript动画","url":"http://velocityjs.org/","urls":{"-3":"https://github.com/julianshapiro/velocity"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","动画"],"ownVisible":false,"id":202},{"name":"anime","desc":"轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象","url":"http://animejs.com/","urls":{"-3":"https://github.com/juliangarnier/anime"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","动画"],"ownVisible":false,"id":203},{"name":"Hover-Buttons","desc":"hover动画CSS / SCSS按钮","url":"https://varin6.github.io/Hover-Buttons/","urls":{"-3":"https://github.com/Varin6/Hover-Buttons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","动画"],"ownVisible":false,"id":204}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"加盐","nav":[{"name":"JavaScript-MD5","desc":"JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器","url":"https://blueimp.github.io/JavaScript-MD5/","urls":{"-3":"https://github.com/blueimp/JavaScript-MD5"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","加盐"],"ownVisible":false,"id":205},{"name":"js-sha1","desc":"JavaScript的简单SHA1哈希函数支持UTF-8编码。","url":"https://github.com/emn178/js-sha1","urls":{"-3":"https://github.com/emn178/js-sha1"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","加盐"],"ownVisible":false,"id":206},{"name":"js-base64","desc":"JavaScript的Base64实现","url":"https://github.com/dankogai/js-base64","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","加盐"],"ownVisible":false,"id":207},{"name":"jsSHA","desc":"SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC","url":"https://caligatio.github.io/jsSHA/","urls":{"-3":"https://github.com/Caligatio/jsSHA"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","加盐"],"ownVisible":false,"id":208},{"name":"crypto-js","desc":"加密标准的JavaScript库","url":"https://cryptojs.gitbook.io","urls":{"-3":"https://github.com/brix/crypto-js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","加盐"],"ownVisible":false,"id":209}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"文件插件相关","nav":[{"name":"pdf.js","desc":"PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器","url":"https://mozilla.github.io/pdf.js/web/viewer.html","urls":{"-3":"https://github.com/mozilla/pdf.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","文件插件相关"],"ownVisible":false,"id":210},{"name":"webuploader","desc":"百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。","url":"http://fex.baidu.com/webuploader/","urls":{"-3":"https://github.com/fex-team/webuploader"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","文件插件相关"],"ownVisible":false,"id":211},{"name":"pdfmake","desc":"纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf","url":"http://pdfmake.org/","urls":{"-3":"https://github.com/bpampuch/pdfmake"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","文件插件相关"],"ownVisible":false,"id":212},{"name":"ViewerJS","desc":"JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML","url":"https://viewerjs.org/","urls":{"-3":"https://github.com/kogmbh/ViewerJS"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","文件插件相关"],"ownVisible":false,"id":213},{"name":"filepond","desc":"灵活而有趣的JavaScript文件上传库","url":"https://pqina.nl/filepond/","urls":{"-3":"https://github.com/pqina/filepond"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","文件插件相关"],"ownVisible":false,"id":214},{"name":"FileSaver.js","desc":"客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序","url":"https://github.com/eligrey/FileSaver.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","文件插件相关"],"ownVisible":false,"id":215},{"name":"jsPDF","desc":"一个使用JavaScript生成PDF的库","url":"https://parall.ax/products/jspdf","urls":{"-3":"https://github.com/MrRio/jsPDF"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","文件插件相关"],"ownVisible":false,"id":216}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"图片预览","nav":[{"name":"PhotoSwipe","desc":"适用于移动和桌面的JavaScript图像库, 图片预览","url":"http://photoswipe.com/","urls":{"-3":"https://github.com/dimsemenov/PhotoSwipe"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","图片预览"],"ownVisible":false,"id":217},{"name":"viewerjs","desc":"javascript图片预览","url":"https://fengyuanchen.github.io/viewerjs/","urls":{"-3":"https://github.com/fengyuanchen/viewerjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","图片预览"],"ownVisible":false,"id":218}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"音频/视频","nav":[{"icon":"https://howlerjs.com/assets/images/favicon.ico","name":"howler.js","desc":"现代 Web 音频 javascript 库","url":"https://howlerjs.com/","urls":{"-3":"https://github.com/goldfire/howler.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","音频/视频"],"ownVisible":false,"id":219},{"name":"DPlayer","desc":"哇,这么可爱的HTML5 danmaku视频播放器","url":"http://dplayer.js.org/#/zh-Hans/","urls":{"-2":"http://dplayer.js.org/#/home","-1":"http://dplayer.js.org/#/zh-Hans/","-3":"https://github.com/MoePlayer/DPlayer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","音频/视频"],"ownVisible":false,"id":220},{"name":"APlayer","desc":"哇,这么可爱的HTML5音乐播放器","url":"https://aplayer.js.org/#/zh-Hans/","urls":{"-2":"http://aplayer.js.org/","-1":"https://aplayer.js.org/#/zh-Hans/","-3":"https://github.com/MoePlayer/APlayer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","音频/视频"],"ownVisible":false,"id":221}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"图形","nav":[{"icon":"https://threejs.org/files/favicon.ico","name":"three.js","desc":"JavaScript 3D引擎","url":"https://threejs.org/","urls":{"-2":"https://threejs.org/","-1":"http://techbrood.com/threejs/docs","-3":"https://github.com/mrdoob/three.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","图形"],"ownVisible":false,"id":222},{"name":"flowy","desc":"创建流程图的最小JavaScript库","url":"https://github.com/alyssaxuu/flowy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","图形"],"ownVisible":false,"id":223},{"icon":"https://echarts.apache.org/examples/images/favicon.png","name":"incubator-echarts","desc":"浏览器的功能强大的交互式图表和可视化库","url":"http://echarts.apache.org/","urls":{"-3":"https://github.com/apache/incubator-echarts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","图形"],"ownVisible":false,"id":224},{"icon":"https://avatars1.githubusercontent.com/u/1562726?s=200&v=4","name":"d3","desc":"借助SVG,Canvas和HTML使数据栩栩如生。","url":"https://github.com/d3/d3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","图形"],"ownVisible":false,"id":225}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"UI组件库","nav":[{"icon":"https://getuikit.com/images/favicon.png","name":"uikit","desc":"一款轻量级、模块化的前端框架可快速构建强大的web前端界面","url":"http://www.getuikit.net/","urls":{"-2":"https://getuikit.com/docs/installation","-1":"http://www.getuikit.net/","-3":"https://github.com/uikit/uikit"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","UI组件库"],"ownVisible":false,"id":226}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"原生APP交互webview桥接","nav":[{"name":"JsBridge","desc":"android java和javascript桥接,灵感来自微信webview jsbridge","url":"https://github.com/lzyzsd/JsBridge","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","原生APP交互webview桥接"],"ownVisible":false,"id":227},{"name":"DSBridge-Android","desc":"一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能","url":"https://github.com/wendux/DSBridge-Android","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","原生APP交互webview桥接"],"ownVisible":false,"id":228}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"参数验证","nav":[{"name":"joi","desc":"对象模式验证","url":"https://github.com/hapijs/joi","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","参数验证"],"ownVisible":false,"id":229},{"name":"validator.js","desc":"字符串验证插件、表单验证","url":"https://github.com/chriso/validator.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","参数验证"],"ownVisible":false,"id":230},{"name":"async-validator","desc":"异步验证器","url":"https://github.com/yiminghe/async-validator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","参数验证"],"ownVisible":false,"id":231},{"name":"yup","desc":"无效的简单对象架构验证","url":"https://runkit.com/jquense/yup","urls":{"-3":"https://github.com/jquense/yup#using-a-custom-locale-dictionary"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","参数验证"],"ownVisible":false,"id":232}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"数据库","nav":[{"icon":"https://avatars2.githubusercontent.com/u/18673496?s=200&v=4","name":"localForage","desc":"离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。","url":"https://github.com/localForage/localForage","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","数据库"],"ownVisible":false,"id":233}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"步骤引导","nav":[{"icon":"https://avatars2.githubusercontent.com/u/2010360?s=200&v=4","name":"introjs","desc":"为您的网站和项目提供新功能介绍和逐步用户指南的更好方法","url":"https://introjs.com/","urls":{"-3":"https://github.com/usablica/intro.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","步骤引导"],"ownVisible":false,"id":234},{"icon":"https://avatars3.githubusercontent.com/u/17297725?s=200&v=4","name":"shepherd","desc":"引导您的用户浏览您的应用程序","url":"https://shepherdjs.dev/","urls":{"-3":"https://github.com/shipshapecode/shepherd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","步骤引导"],"ownVisible":false,"id":235},{"name":"bootstrap-tour","desc":"使用Twitter Bootstrap Popovers快速方便地进行产品浏览","url":"http://bootstraptour.com/","urls":{"-3":"https://github.com/sorich87/bootstrap-tour"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","JavaScript","步骤引导"],"ownVisible":false,"id":236}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"React","icon":"https://reactjs.org/favicon.ico","nav":[{"title":"生态系统","nav":[{"name":"React","desc":"用于构建用户界面的 JavaScript 库","url":"https://zh-hans.reactjs.org/","urls":{"-2":"https://reactjs.org/","-1":"https://zh-hans.reactjs.org/","-3":"https://github.com/facebook/react/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","生态系统"],"ownVisible":false,"id":237},{"name":"React Router","desc":"React 路由管理","url":"https://react-router.docschina.org/","urls":{"-2":"https://reacttraining.com/react-router/","-1":"https://react-router.docschina.org/","-3":"https://github.com/ReactTraining/react-router"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","生态系统"],"ownVisible":false,"id":238},{"icon":"https://avatars2.githubusercontent.com/u/13142323?s=200&v=4","name":"Redux","desc":"React 状态管理","url":"http://www.redux.org.cn/docs/react-redux/api.html","urls":{"-2":"https://redux.js.org/basics/usagewithreact","-1":"http://www.redux.org.cn/docs/react-redux/api.html","-3":"https://github.com/reduxjs/redux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","生态系统"],"ownVisible":false,"id":239},{"name":"create-react-app","desc":"React官方脚手架","url":"https://www.html.cn/create-react-app/","urls":{"-2":"https://facebook.github.io/create-react-app/","-1":"https://www.html.cn/create-react-app/","-3":"https://github.com/facebook/create-react-app"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","生态系统"],"ownVisible":false,"id":240}],"createdAt":"2021-01-23 09:32:06"},{"title":"Redux相关","nav":[{"name":"React Redux","desc":"Redux的官方React绑定(通常配合redux使用)","url":"https://react-redux.js.org/","urls":{"-3":"https://github.com/reduxjs/react-redux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","Redux相关"],"ownVisible":false,"id":241},{"name":"redux-actions","desc":"Redux的Flux标准action实用程序(用于生成action)","url":"https://redux-actions.js.org/","urls":{"-3":"https://github.com/redux-utilities/redux-actions"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","Redux相关"],"ownVisible":false,"id":242},{"name":"redux-thunk","desc":"Redux的Thunk中间件, 用于处理异步逻辑","url":"https://github.com/reduxjs/redux-thunk","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","Redux相关"],"ownVisible":false,"id":243},{"icon":"https://avatars2.githubusercontent.com/u/24776643?s=200&v=4","name":"redux-saga","desc":"一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库","url":"https://redux-saga.js.org/","urls":{"-3":"https://github.com/redux-saga/redux-saga"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","Redux相关"],"ownVisible":false,"id":244}],"createdAt":"2021-01-23 09:32:06"},{"title":"React Native相关","nav":[{"name":"React Native","desc":"使用React构建原生APP程序的框架","url":"https://reactnative.cn/docs/0.51/tutorial.html","urls":{"-2":"https://facebook.github.io/react-native/docs/getting-started.html","-1":"https://reactnative.cn/docs/0.51/tutorial.html","-3":"https://github.com/facebook/react-native"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","React Native相关"],"ownVisible":false,"id":245},{"icon":"https://avatars0.githubusercontent.com/u/29647600?s=200&v=4","name":"React Navigation","desc":"为您的本地应用程序提供路由和导航","url":"https://reactnavigation.org/zh-Hans/","urls":{"-2":"https://reactnavigation.org/en/","-1":"https://reactnavigation.org/zh-Hans/","-3":"https://github.com/react-navigation/react-navigation"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","React Native相关"],"ownVisible":false,"id":246},{"icon":"https://avatars0.githubusercontent.com/u/12504344?s=200&v=4","name":"expo","desc":"用于制作跨平台移动应用程序的Expo平台","url":"https://docs.expo.io","urls":{"-3":"https://github.com/expo/expo"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","React Native相关"],"ownVisible":false,"id":247},{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ant-design-mobile-rn","desc":"一个基于 React Native 的 UI 组件库","url":"https://rn.mobile.ant.design/index-cn","urls":{"-2":"https://rn.mobile.ant.design/","-1":"https://rn.mobile.ant.design/index-cn","-3":"https://github.com/ant-design/ant-design-mobile-rn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","React Native相关"],"ownVisible":false,"id":248}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC端UI组件库","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design","desc":"Ant Design - A UI Design Language","url":"https://ant.design/docs/react/introduce-cn","urls":{"-2":"https://ant.design/docs/react/introduce","-1":"https://ant.design/docs/react/introduce-cn","-3":"https://github.com/ant-design/ant-design"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":249},{"icon":"https://material-ui.com/static/favicon.ico","name":"MATERIAL-UI","desc":"React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始","url":"https://material-ui.com/zh/","urls":{"-2":"https://material-ui.com/","-1":"https://material-ui.com/zh/","-3":"https://github.com/mui-org/material-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":250},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element","desc":"elementUI组件库","url":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","urls":{"-2":"https://elemefe.github.io/element-react/#/en-US/quick-start","-1":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","-3":"https://github.com/ElemeFE/element-react"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":251},{"icon":"https://avatars0.githubusercontent.com/u/6853419?s=200&v=4","name":"react-bootstrap","desc":"基于Bootstrap 3构建的组件库","url":"https://react-bootstrap.github.io/getting-started/introduction","urls":{"-3":"https://github.com/react-bootstrap/react-bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":252},{"name":"evergreen","desc":"Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。","url":"https://evergreen.segment.com/","urls":{"-3":"https://github.com/segmentio/evergreen"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":253},{"name":"@alifd/next","desc":"@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发","url":"https://fusion.design/component/doc/102","urls":{"-3":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":254},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zent","desc":"Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件","url":"https://youzan.github.io/zent/zh/guides/install","urls":{"-3":"https://github.com/youzan/zent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":255},{"name":"React95","desc":"装修一新的现代的应用程序做出React Windows95的UI组件。","url":"https://arturbien.github.io/React95","urls":{"-3":"https://github.com/arturbien/React95"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":256},{"icon":"https://avatars1.githubusercontent.com/u/19635045?s=200&v=4","name":"rsuite","desc":"React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架","url":"https://rsuitejs.com","urls":{"-3":"https://github.com/rsuite/rsuite"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":257},{"icon":"https://avatars2.githubusercontent.com/u/54212428?s=200&v=4","name":"chakra-ui","desc":"适用于您的React应用程序的简单,模块化和可访问的UI组件","url":"https://chakra-ui.com/","urls":{"-3":"https://github.com/chakra-ui/chakra-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","PC端UI组件库"],"ownVisible":false,"id":258}],"createdAt":"2021-01-23 09:32:06"},{"title":"移动端UI组件库","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design Mobile","desc":"一个基于 Preact / React / React Native 的 UI 组件库","url":"https://mobile.ant.design/index-cn","urls":{"-2":"https://mobile.ant.design/","-1":"https://mobile.ant.design/index-cn","-3":"https://github.com/ant-design/ant-design-mobile/stargazers/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","移动端UI组件库"],"ownVisible":false,"id":259}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他组件库","nav":[{"name":"React Helmet","desc":"这个可重用的反应组件将管理对文档头的所有更改","url":"https://github.com/nfl/react-helmet","urls":{"-3":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":260},{"name":"react-image-crop","desc":"用于React的响应式图像裁剪工具","url":"https://github.com/DominicTobias/react-image-crop","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":261},{"name":"React Helmet","desc":"这个可重用的反应组件将管理对文档头的所有更改","url":"https://github.com/nfl/react-helmet","urls":{"-3":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":262},{"name":"react-transition-group","desc":"当React组件进入或离开DOM时执行动画的简单方法","url":"https://reactcommunity.org/react-transition-group/","urls":{"-2":"https://reactcommunity.org/react-transition-group/","-3":"https://github.com/reactjs/react-transition-group"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":263},{"name":"React Loadable","desc":"用于加载具有promise的组件的更高阶组件 - 路由懒加载","url":"https://github.com/jamiebuilds/react-loadable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":264},{"name":"react-swipe","desc":"基于swipe.js封装的react组件/走马灯","url":"https://github.com/voronianski/react-swipe","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":265},{"name":"Ant Motion","desc":"使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案","url":"https://motion.ant.design/","urls":{"-3":"https://github.com/ant-design/ant-motion/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":266},{"desc":"网络视频播放器使用React库从头开始构建HTML5世界","name":"video-react","url":"https://video-react.js.org/","urls":{"-3":"https://github.com/video-react/video-react"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":267},{"name":"react-keeper","desc":"一个react路由库,更适合移动端使用,拥有缓存等功能","url":"https://github.com/vifird/react-keeper","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":268},{"name":"Fusion Design","desc":"基于React构建的Web可配置组件库","url":"https://fusion.design","urls":{"-3":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":269},{"icon":"https://avatars0.githubusercontent.com/u/13690587?s=200&v=4","name":"recharts","desc":"基于 React和D3 的组合式图表库","url":"http://recharts.org/zh-CN/","urls":{"-3":"https://github.com/recharts/recharts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":270},{"name":"react-json-view","desc":"JSON查看器","url":"https://mac-s-g.github.io/react-json-view/demo/dist/","urls":{"-3":"https://github.com/mac-s-g/react-json-view"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":271},{"name":"BizCharts","desc":"基于G2和React的强大数据可视化库","url":"https://bizcharts.net/products/bizCharts","urls":{"-3":"https://github.com/alibaba/BizCharts"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":272},{"name":"react-draggable","desc":"一个简单的组件,用于使元素可拖动","url":"https://github.com/mzabriskie/react-draggable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":273},{"name":"react-slick","desc":"react走马灯组件","url":"https://react-slick.neostack.com/","urls":{"-3":"https://github.com/akiran/react-slick"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":274},{"name":"react-color","desc":"react 拾色器","url":"http://casesandberg.github.io/react-color/","urls":{"-3":"https://github.com/casesandberg/react-color"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":275},{"icon":"https://avatars1.githubusercontent.com/u/50559490?s=200&v=4","name":"react-intl","desc":"国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译","url":"https://github.com/formatjs/react-intl","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":276},{"icon":"https://avatars3.githubusercontent.com/u/1763971?s=200&v=4","name":"react-data-grid","desc":"使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能","url":"http://adazzle.github.io/react-data-grid/","urls":{"-3":"https://github.com/adazzle/react-data-grid"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":277},{"icon":"https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png","name":"react-virtualized","desc":"React组件可有效呈现大型列表和表格数据","url":"http://www.reactvirtualized.com","urls":{"-3":"https://github.com/bvaughn/react-virtualized"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":278},{"icon":"https://avatars3.githubusercontent.com/u/5078602?s=200&v=4","name":"react-live","desc":"一个用于实时编辑React组件的灵活组件库","url":"https://react-live.netlify.com/","urls":{"-3":"https://github.com/FormidableLabs/react-live"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":279},{"icon":"https://jaredpalmer.com/formik/img/favicon.png","name":"formik","desc":"在React中轻松创建表单","url":"https://jaredpalmer.com/formik/docs/overview","urls":{"-3":"https://github.com/jaredpalmer/formik"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他组件库"],"ownVisible":false,"id":280}],"createdAt":"2021-01-23 09:32:06"},{"title":"拖拽组件","nav":[{"name":"react-move","icon":"https://github.com/favicon.ico","url":"https://github.com/daybrush/moveable/tree/master/packages/react-moveable","desc":"一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","拖拽组件"],"ownVisible":false,"id":281},{"icon":"https://avatars2.githubusercontent.com/u/25307599?s=200&v=4","name":"react-dnd","desc":"React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离","url":"https://react-dnd.github.io/react-dnd/about","urls":{"-3":"https://github.com/react-dnd/react-dnd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","拖拽组件"],"ownVisible":false,"id":282},{"name":"react-beautiful-dnd","desc":"漂亮的和可访问的拖放列表","url":"https://github.com/atlassian/react-beautiful-dnd","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","拖拽组件"],"ownVisible":false,"id":283},{"name":"react-rnd","desc":"一个可调整大小且可拖动的React组件。","url":"https://bokuweb.github.io/react-rnd/stories","urls":{"-3":"https://github.com/bokuweb/react-rnd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","拖拽组件"],"ownVisible":false,"id":284}],"createdAt":"2021-01-23 09:32:06"},{"title":"开箱即用","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ANT DESIGN PRO","desc":"开箱即用的中台前端/设计解决方案","url":"https://pro.ant.design/","urls":{"-1":"https://pro.ant.design/","-3":"https://github.com/ant-design/ant-design-pro/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","开箱即用"],"ownVisible":false,"id":285}],"createdAt":"2021-01-23 09:32:06"},{"title":"单元测试","nav":[{"name":"enzyme","desc":"适用于React的JavaScript测试实用程序","url":"https://enzymejs.github.io/enzyme/","urls":{"-3":"https://github.com/enzymejs/enzyme"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","单元测试"],"ownVisible":false,"id":286},{"name":"Jest","desc":"Jest是一个令人愉快的JavaScript测试框架,专注于简单性。","url":"https://jestjs.io/zh-Hans/","urls":{"-3":"https://github.com/facebook/jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","单元测试"],"ownVisible":false,"id":287}],"createdAt":"2021-01-23 09:32:06"},{"title":"umi/dva","nav":[{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs","desc":"插件化的企业级前端应用框架。","url":"https://umijs.org/zh-CN","urls":{"-2":"https://umijs.org/","-1":"https://umijs.org/zh-CN","-3":"https://github.com/umijs/umi"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","umi/dva"],"ownVisible":false,"id":288},{"icon":"https://avatars1.githubusercontent.com/u/20552239?s=200&v=4","name":"DvaJS","desc":"基于React和Redux的轻量级和elm风格框架","url":"https://dvajs.com/","urls":{"-3":"https://github.com/dvajs/dva"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","umi/dva"],"ownVisible":false,"id":289},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs/hooks","desc":"你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用","url":"https://hooks.umijs.org/","urls":{"-1":"https://hooks.umijs.org/","-3":"https://github.com/umijs/hooks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","umi/dva"],"ownVisible":false,"id":290},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umi-plugin-cache-route","desc":"路由缓存,类似vue keep-alive","url":"https://www.npmjs.com/package/umi-plugin-cache-route","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","umi/dva"],"ownVisible":false,"id":291}],"createdAt":"2021-01-23 09:32:06"},{"title":"知识","nav":[{"name":"React.js 小书","desc":"这是一本关于 React.js 的小书","url":"http://huziketang.mangojuice.top/books/react/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","知识"],"ownVisible":false,"id":292},{"name":"TypeScript-React-Starter","desc":"TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。","url":"https://github.com/Microsoft/TypeScript-React-Starter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","知识"],"ownVisible":false,"id":293},{"name":"react-redux-typescript-guide","desc":"TypeScript中的React和 Redux - 使用说明","url":"https://piotrwitek.github.io/react-redux-typescript-guide/","urls":{"-3":"https://github.com/piotrwitek/react-redux-typescript-guide"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","知识"],"ownVisible":false,"id":294}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"icon":"https://avatars1.githubusercontent.com/u/17475736?s=200&v=4","name":"Mobx","desc":"简单、可扩展的状态管理","url":"https://cn.mobx.js.org/","urls":{"-2":"https://mobx.js.org/","-1":"https://cn.mobx.js.org/","-3":"https://github.com/mobxjs/mobx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他"],"ownVisible":false,"id":295},{"name":"next.js","desc":"服务端渲染框架、SEO解决方案","url":"https://www.nextjs.cn/","urls":{"-2":"https://nextjs.org/","-1":"https://www.nextjs.cn/","-3":"https://github.com/zeit/next.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他"],"ownVisible":false,"id":296},{"name":"nwb","desc":"适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置","url":"https://github.com/insin/nwb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他"],"ownVisible":false,"id":297},{"name":"ahooks","desc":"为 React Hooks 而生","url":"https://ahooks.js.org/zh-CN","urls":{"-3":"https://github.com/alibaba/hooks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","React","其他"],"ownVisible":false,"id":298},{"name":"react-app-rewired","desc":"覆盖create-react-app webpack配置而不弹出","url":"https://github.com/timarney/react-app-rewired","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","React","其他"],"ownVisible":false,"id":299}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Vue.js","icon":"https://v3.vuejs.org/images/icons/apple-icon-152x152.png","nav":[{"title":"生态系统","nav":[{"name":"Vue.js","desc":"渐进式JavaScript 框架","url":"https://cn.vuejs.org/","urls":{"-2":"https://vuejs.org/index.html","-1":"https://cn.vuejs.org/","-3":"https://github.com/vuejs/vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":300},{"name":"Vue Router","desc":"Vue Router 是 Vue.js 官方的路由管理器","url":"https://router.vuejs.org/zh/","urls":{"-2":"https://router.vuejs.org/","-1":"https://router.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-router"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":301},{"name":"Vuex","desc":"Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。","url":"https://vuex.vuejs.org/zh/","urls":{"-2":"https://vuex.vuejs.org/","-1":"https://vuex.vuejs.org/zh/","-3":"https://github.com/vuejs/vuex"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":302},{"name":"vue-devtools","desc":"vue.js调试工具","url":"https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd","urls":{"-3":"https://github.com/vuejs/vue-devtools"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":303},{"name":"vue-cli","desc":"Vue.js开发的标准脚手架工具","url":"https://cli.vuejs.org/zh/","urls":{"-2":"https://cli.vuejs.org/","-1":"https://cli.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":304},{"name":"vuepress","desc":"Vue 驱动的静态网站生成器","url":"https://vuepress.vuejs.org/zh/","urls":{"-2":"https://vuepress.vuejs.org/","-1":"https://vuepress.vuejs.org/zh/","-3":"https://github.com/vuejs/vuepress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":305},{"name":"Vue SSR","desc":"Vue服务端渲染、SEO解决方案","url":"https://vuepress.vuejs.org/zh/","urls":{"-2":"https://ssr.vuejs.org/","-1":"https://ssr.vuejs.org/zh/","-3":"https://github.com/vuejs/vue-ssr-docs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":306},{"name":"vue-class-component","desc":"用于类式Vue组件的ECMAScript / TypeScript装饰器。","url":"https://github.com/vuejs/vue-class-component","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":307},{"name":"eslint-plugin-vue","desc":"Vue.js的官方ESLint插件","url":"https://eslint.vuejs.org/","urls":{"-3":"https://github.com/vuejs/eslint-plugin-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":308},{"name":"vite","desc":"Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产","url":"https://github.com/vitejs/vite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":309},{"name":"Vue 组合式 API","desc":"Vue 组合式 API在线文档阅读","url":"https://composition-api.vuejs.org/zh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","生态系统"],"ownVisible":false,"id":310}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC端UI组件库","nav":[{"icon":"https://avatars0.githubusercontent.com/u/20693613?s=200&v=4","name":"iView","desc":"一套基于 Vue.js 的高质量UI 组件库","url":"https://www.iviewui.com/docs/guide/install","urls":{"-2":"https://www.iviewui.com/","-1":"https://www.iviewui.com/docs/guide/install","-3":"https://github.com/iview/iview"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":311},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element","desc":"一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库","url":"http://element-cn.eleme.io/#/zh-CN","urls":{"-2":"http://element-cn.eleme.io/#/en-US","-1":"http://element-cn.eleme.io/#/zh-CN","-3":"https://github.com/ElemeFE/element"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":312},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element Plus","desc":"支持Vue3.0的Element","url":"https://element-plus.org/#/zh-CN","urls":{"-3":"https://github.com/element-plus/element-plus"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":313},{"icon":"https://avatars0.githubusercontent.com/u/22283362?s=200&v=4","name":"Muse-UI","desc":"基于 Vue 2.0 优雅的 Material Design UI 组件库","url":"https://muse-ui.org/#/zh-CN","urls":{"-2":"https://muse-ui.org/#/en-US/","-1":"https://muse-ui.org/#/zh-CN","-3":"https://github.com/museui/muse-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":314},{"icon":"https://qn.antdv.com/favicon.ico","name":"Ant Design Vue","desc":"这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品","url":"https://antdv.com/docs/vue/introduce-cn/","urls":{"-2":"https://antdv.com/docs/vue/introduce/","-1":"https://antdv.com/docs/vue/introduce-cn/","-3":"https://github.com/vueComponent/ant-design-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":315},{"icon":"https://avatars2.githubusercontent.com/u/22138497?s=200&v=4","name":"vuetify","desc":"让Vue和Material Design的强大力量在开发上助您一臂之力","url":"https://vuetifyjs.com/zh-Hans/","urls":{"-2":"https://vuetifyjs.com/en/","-1":"https://vuetifyjs.com/zh-Hans/","-3":"https://github.com/vuetifyjs/vuetify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":316},{"icon":"https://avatars1.githubusercontent.com/u/22965283?s=200&v=4","name":"bootstrap-vue","desc":"BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记","url":"https://bootstrap-vue.js.org/","urls":{"-3":"https://github.com/bootstrap-vue/bootstrap-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":317},{"icon":"https://avatars0.githubusercontent.com/u/23659108?s=200&v=4","name":"vue-material","desc":"Vue material简单,轻巧,完全符合Google Material Design规范","url":"https://vuematerial.io","urls":{"-3":"https://github.com/vuematerial/vue-material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":318},{"icon":"https://avatars1.githubusercontent.com/u/26799900?s=200&v=4","name":"buefy","desc":"Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。","url":"https://buefy.org","urls":{"-3":"https://github.com/buefy/buefy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","PC端UI组件库"],"ownVisible":false,"id":319}],"createdAt":"2021-01-23 09:32:06"},{"title":"移动端UI组件库","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant","desc":"轻量、可靠的移动端 Vue 组件库","url":"https://youzan.github.io/vant/#/zh-CN/intro","urls":{"-2":"https://youzan.github.io/vant/#/en-US/intro","-1":"https://youzan.github.io/vant/#/zh-CN/intro","-3":"https://github.com/youzan/vant"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","移动端UI组件库"],"ownVisible":false,"id":320},{"name":"vux","desc":"一个凑合的 Vue.js 移动端 UI 组件库","url":"https://vux.li/","urls":{"-1":"https://vux.li/","-3":"https://github.com/airyland/vux"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","移动端UI组件库"],"ownVisible":false,"id":321},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"cube-ui","desc":"基于 Vue.js 实现的精致移动端组件库","url":"https://didi.github.io/cube-ui/#/zh-CN","urls":{"-2":"https://didi.github.io/cube-ui/#/en-US","-1":"https://didi.github.io/cube-ui/#/zh-CN","-3":"https://github.com/didi/cube-ui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","移动端UI组件库"],"ownVisible":false,"id":322},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"Mand Mobile","desc":"面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单","url":"https://didi.github.io/mand-mobile/#/zh-CN/home","urls":{"-2":"https://didi.github.io/mand-mobile/#/en-US/home","-1":"https://didi.github.io/mand-mobile/#/zh-CN/home","-3":"https://github.com/didi/mand-mobile"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","移动端UI组件库"],"ownVisible":false,"id":323},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Mint UI","desc":"基于 Vue.js 的移动端组件库","url":"http://mint-ui.github.io/#!/zh-cn","urls":{"-2":"http://mint-ui.github.io/#!/en","-1":"http://mint-ui.github.io/#!/zh-cn","-3":"https://github.com/ElemeFE/mint-ui/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","移动端UI组件库"],"ownVisible":false,"id":324},{"name":"NutUI","desc":"一套京东风格的轻量级移动端Vue组件库","url":"https://nutui.jd.com","urls":{"-3":"https://github.com/jdf2e/nutui"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","移动端UI组件库"],"ownVisible":false,"id":325}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他组件/插件","nav":[{"name":"vue-awesome-swiper","desc":"基于swiper封装的轮播图组件","url":"https://surmon-china.github.io/vue-awesome-swiper/","urls":{"-3":"https://github.com/surmon-china/vue-awesome-swiper"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","其他组件/插件"],"ownVisible":false,"id":326},{"name":"vue-meta","desc":"管理Vue 2.0组件中的页面元信息。支持SSR + Streaming","url":"https://github.com/nuxt/vue-meta","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","其他组件/插件"],"ownVisible":false,"id":327},{"name":"vue-scroller","desc":"Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。","url":"https://wangdahoo.github.io/vue-scroller/#/","urls":{"-3":"https://github.com/wangdahoo/vue-scroller"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","其他组件/插件"],"ownVisible":false,"id":328},{"name":"vue-infinite-loading","desc":"Vue.js的无限滚动插件(支持向上和向下)","url":"https://peachscript.github.io/vue-infinite-loading/zh/","urls":{"-3":"https://github.com//PeachScript/vue-infinite-loading"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","其他组件/插件"],"ownVisible":false,"id":329}],"createdAt":"2021-01-23 09:32:06"},{"title":"开箱即用","nav":[{"name":"iview-admin","desc":"基于iView的Vue 2.0管理系统模板","url":"https://admin.iviewui.com/login","urls":{"-3":"https://github.com/iview/iview-admin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","开箱即用"],"ownVisible":false,"id":330}],"createdAt":"2021-01-23 09:32:06"},{"title":"nuxt服务端渲染框架","nav":[{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"nuxt","desc":"Vue.js 通用应用框架","url":"https://zh.nuxtjs.org/","urls":{"-2":"https://nuxtjs.org/","-1":"https://zh.nuxtjs.org/","-3":"https://github.com/nuxt/nuxt.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","nuxt服务端渲染框架"],"ownVisible":false,"id":331},{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"创建nuxt的脚手架工具","desc":"create-nuxt-app","url":"https://github.com/nuxt/create-nuxt-app","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","Vue.js","nuxt服务端渲染框架"],"ownVisible":false,"id":332}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Angular","icon":"https://avatars0.githubusercontent.com/u/139426?s=200&v=4","nav":[{"title":"生态系统","nav":[{"name":"Angular","desc":"一个框架,移动 & 桌面","url":"https://www.angular.cn/","urls":{"-2":"https://angular.io/","-1":"https://www.angular.cn/","-3":"https://github.com/angular/angular"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","生态系统"],"ownVisible":false,"id":333},{"name":"angular-cli","desc":"用于Angular CLI脚手架工具","url":"https://cli.angular.io/","urls":{"-2":"https://cli.angular.io/","-3":"https://github.com/angular/angular-cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","生态系统"],"ownVisible":false,"id":334},{"name":"augury","desc":"Angular调试和可视化工具","url":"https://augury.angular.io/","urls":{"-2":"https://augury.angular.io/","-3":"https://github.com/rangle/augury"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","生态系统"],"ownVisible":false,"id":335}],"createdAt":"2021-01-23 09:32:06"},{"title":"PC端UI组件库","nav":[{"icon":"https://avatars2.githubusercontent.com/u/30223759?s=200&v=4","name":"NG-ZORRO","desc":"基于Ant Design的Angular企业级UI组件","url":"http://ng.ant.design/docs/introduce/zh","urls":{"-2":"http://ng.ant.design/docs/introduce/en","-1":"http://ng.ant.design/docs/introduce/zh","-3":"https://github.com/NG-ZORRO/ng-zorro-antd"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","PC端UI组件库"],"ownVisible":false,"id":336},{"icon":"https://avatars3.githubusercontent.com/u/14283866?s=200&v=4","name":"ng-bootstrap","desc":"基于Bootstrap 4的Angular组件","url":"https://ng-bootstrap.github.io/#/components/accordion/examples","urls":{"-2":"https://ng-bootstrap.github.io/#/components/accordion/examples","-3":"https://github.com/ng-bootstrap/ng-bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","PC端UI组件库"],"ownVisible":false,"id":337},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element-angular","desc":"Element Angular组件库","url":"https://element-angular.faas.ele.me/guide/install","urls":{"-2":"https://element-angular.faas.ele.me/","-1":"https://element-angular.faas.ele.me/guide/install","-3":"https://github.com/ElemeFE/element-angular"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","PC端UI组件库"],"ownVisible":false,"id":338},{"icon":"https://avatars1.githubusercontent.com/u/3494069?s=200&v=4","name":"primeng","desc":"PrimeNG是Angular的丰富UI组件的集合","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/primefaces/primeng"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","PC端UI组件库"],"ownVisible":false,"id":339},{"name":"material","desc":"Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/angular/material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","PC端UI组件库"],"ownVisible":false,"id":340}],"createdAt":"2021-01-23 09:32:06"},{"title":"移动端UI组件库","nav":[{"name":"material","desc":"Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。","url":"https://www.primefaces.org/primeng/#/button","urls":{"-3":"https://github.com/angular/material"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","Angular","移动端UI组件库"],"ownVisible":false,"id":341}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"微信开发","icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","nav":[{"title":"小程序文档","nav":[{"name":"小程序开发","desc":"微信小程序","url":"https://developers.weixin.qq.com/miniprogram/dev/index.html","urls":{"-2":"https://developers.weixin.qq.com/miniprogram/en/dev/index.html?t=18082922","-1":"https://developers.weixin.qq.com/miniprogram/dev/index.html"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序文档"],"ownVisible":false,"id":342},{"name":"小游戏开发","desc":"微信小游戏","url":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922","urls":{"-2":"https://developers.weixin.qq.com/minigame/en/dev/index.html?t=18081820","-1":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序文档"],"ownVisible":false,"id":343}],"createdAt":"2021-01-23 09:32:06"},{"title":"小程序框架","nav":[{"name":"mpvue","desc":"Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心","url":"http://mpvue.com/","urls":{"-1":"http://mpvue.com/","-3":"https://github.com/Meituan-Dianping/mpvue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序框架"],"ownVisible":false,"id":344},{"name":"wepy","desc":"官方小程序组件化开发框架","url":"https://tencent.github.io/wepy/","urls":{"-1":"https://tencent.github.io/wepy/","-3":"https://github.com/Tencent/wepy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序框架"],"ownVisible":false,"id":345},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"mpx","desc":"Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)","url":"https://didi.github.io/mpx/","urls":{"-1":"https://didi.github.io/mpx/","-3":"https://github.com/didi/mpx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序框架"],"ownVisible":false,"id":346},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"uni-app","desc":"uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架","url":"https://uniapp.dcloud.io/","urls":{"-3":"https://github.com/dcloudio/uni-app"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序框架"],"ownVisible":false,"id":347},{"icon":"https://tencent.github.io/omi/assets/omi-logo2019.svg","name":"omix","desc":"腾讯原生小程序框架 OMIX 2.0","url":"https://github.com/Tencent/omi/tree/master/packages/omix","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序框架"],"ownVisible":false,"id":348}],"createdAt":"2021-01-23 09:32:06"},{"title":"小程序组件库/插件","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant-weapp","desc":"轻量、可靠的小程序 UI 组件库","url":"https://vant-contrib.gitee.io/vant-weapp/#/intro","urls":{"-3":"https://github.com/youzan/vant-weapp"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":349},{"icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","name":"weui-wxss","desc":"这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库","url":"https://github.com/Tencent/weui-wxss/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":350},{"name":"wxParse","desc":"wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析","url":"https://github.com/icindy/wxParse","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":351},{"name":"mpvue-wxParse","desc":"适用于 Mpvue 的微信小程序富文本解析自定义组件","url":"https://github.com/F-loat/mpvue-wxParse","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":352},{"icon":"https://avatars1.githubusercontent.com/u/2268460?s=200&v=4","name":"echarts-for-weixin","desc":"ECharts 的微信小程序版本","url":"https://github.com/ecomfe/echarts-for-weixin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":353},{"icon":"https://lbs.qq.com/favicon.ico","name":"腾讯位置服务","desc":"微信小程序原生LBS能力的最佳拍档","url":"https://lbs.qq.com/qqmap_wx_jssdk/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":354},{"name":"ColorUI","desc":"鲜亮的高饱和色彩,专注视觉的小程序组件库","url":"https://www.color-ui.com/","urls":{"-3":"https://github.com/weilanwl/ColorUI"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":355},{"name":"weapp-input-frame","desc":"验证码、支付密码输入框组件","url":"https://github.com/xjh22222228/weapp-input-frame","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","小程序组件库/插件"],"ownVisible":false,"id":356}],"createdAt":"2021-01-23 09:32:06"},{"title":"微信公众号开发辅助工具","nav":[{"name":"JS接口签名校验工具","desc":"微信 JS 接口签名校验工具","url":"https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","微信公众号开发辅助工具"],"ownVisible":false,"id":357},{"name":"接口调试工具","desc":"微信公众平台接口调试工具","url":"https://mp.weixin.qq.com/debug/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","微信公众号开发辅助工具"],"ownVisible":false,"id":358},{"name":"computed","desc":"小程序自定义组件 computed / watch 扩展","url":"https://github.com/wechat-miniprogram/computed","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","微信公众号开发辅助工具"],"ownVisible":false,"id":359}],"createdAt":"2021-01-23 09:32:06"},{"title":"资源","nav":[{"name":"awesome-github-wechat-weapp","desc":"微信小程序开源项目库汇总","url":"https://github.com/opendigg/awesome-github-wechat-weapp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","资源"],"ownVisible":false,"id":360},{"name":"awesome-wechat-weapp","desc":"微信小程序开发资源汇总","url":"https://github.com/justjavac/awesome-wechat-weapp","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","资源"],"ownVisible":false,"id":361}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"name":"微信开放社区","desc":"小程序开发者专区,微信公众平台,微信开放社区,开发者专区","url":"https://developers.weixin.qq.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","其他"],"ownVisible":false,"id":362},{"name":"wechat-format","desc":"微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML","url":"https://lab.lyric.im/wxformat/","urls":{"-3":"https://github.com/lyricat/wechat-format"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","其他"],"ownVisible":false,"id":363},{"name":"微信开放平台","desc":"微信开放平台","url":"https://open.weixin.qq.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","微信开发","其他"],"ownVisible":false,"id":364}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"工具","nav":[{"title":"CSS","nav":[{"name":"CSS3 UI Lib","desc":"CSS动画集成、在线调试阴影","url":"http://css3lib.alloyteam.com/#panel/demo1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":365},{"name":"CSS Sprites Generator","desc":"CSS雪碧图生成","url":"https://www.toptal.com/developers/css/sprite-generator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":366},{"icon":"http://www.colorzilla.com/favicon.ico","name":"CSS渐变调试器","desc":"前端开发调试CSS渐变必备神器","url":"http://www.colorzilla.com/gradient-editor/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":367},{"icon":"https://animista.net/favicon.ico","name":"Animista","desc":"在线生成CSS动画","url":"http://animista.net/play/background/ken-burns","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":368},{"icon":"https://cssgradient.io/favicon.ico","name":"CSS Gradient","desc":"CSS渐变调试并生成CSS代码","url":"https://cssgradient.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":369},{"icon":"https://www.grabient.com/favicon.ico","name":"Grabient","desc":"CSS渐变调试并生成CSS代码,还可以角度变换","url":"https://www.grabient.com/","urls":{"-3":"https://github.com/johnkorzhuk/grabient"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":370},{"icon":"http://pxtoem.com/favicon.ico","name":"px与em单位转换","desc":"px与em单位转换","url":"http://pxtoem.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":371},{"icon":"http://apps.eky.hk/css-triangle-generator/favicon.gif","name":"CSS三角形產生器","desc":"CSS三角形產生器 - 使用純CSS繪畫三角形","url":"http://apps.eky.hk/css-triangle-generator/zh-hant","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":372},{"icon":"https://www.sassmeister.com/favicon.ico","name":"SassMeister","desc":"将sass语法转换成CSS语法","url":"https://www.sassmeister.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":373},{"icon":"https://transfonter.org/favicon.ico","name":"transfonter","desc":"字体图标转换Base64","url":"https://transfonter.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":374},{"name":"Loading集合","desc":"上千种Loading认你选","url":"https://www.xiejiahe.com/detail/59ec506be9b3310879551f5e","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":375},{"icon":"https://cssreference.io/favicons/favicon-32x32.png","name":"CSS Reference","desc":"css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明","url":"https://cssreference.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":376},{"icon":"https://www.w3cschool.cn/favicon.ico","name":"在线CSS阴影调试","desc":"CSS3 Box Shadow(阴影)效果在线调试工具","url":"https://www.w3cschool.cn/tools/index?name=css3_boxshadow","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CSS"],"ownVisible":false,"id":377}],"createdAt":"2021-01-23 09:32:06"},{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"icon":"https://regexper.com/favicon.ico","name":"正则表达式验证器","desc":"验证JavaScript正则表达式","url":"https://regexper.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","JavaScript"],"ownVisible":false,"id":378},{"icon":"https://www.json.cn/favicon.ico","name":"JSON在线解析及格式化验证","desc":"json在线解析,json格式化,json格式验证,json转xml,xml转json","url":"https://www.json.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","JavaScript"],"ownVisible":false,"id":379},{"icon":"https://avatars0.githubusercontent.com/u/25822731?s=200&v=4","name":"prettier","desc":"Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码","url":"https://prettier.io/","urls":{"-3":"https://github.com/prettier/prettier"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","工具","JavaScript"],"ownVisible":false,"id":380},{"name":"正则表达式在线测试","desc":"正则表达式在线测试","url":"http://tool.chinaz.com/regex","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","JavaScript"],"ownVisible":false,"id":381},{"name":"spy-debugger","desc":"微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备","url":"https://github.com/wuchangming/spy-debugger","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","JavaScript"],"ownVisible":false,"id":382},{"name":"VConsole","desc":"一个轻量、可拓展、针对手机网页的前端开发者调试面板","url":"https://github.com/Tencent/vConsole/","urls":{"-2":"https://github.com/Tencent/vConsole","-1":"https://github.com/Tencent/vConsole/blob/dev/README_CN.md"},"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","工具","JavaScript"],"ownVisible":false,"id":383}],"createdAt":"2021-01-23 09:32:06"},{"title":"CDN","nav":[{"icon":"https://www.staticfile.org/assets/images/logo.png","name":"Staticfile CDN","desc":"免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件","url":"https://www.staticfile.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CDN"],"ownVisible":false,"id":384},{"icon":"https://www.jsdelivr.com/favicon.ico","name":"jsDelivr","desc":"jsDelivr – 开源 CDN","url":"https://www.jsdelivr.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CDN"],"ownVisible":false,"id":385},{"icon":"https://www.bootcdn.cn/assets/ico/favicon.ico","name":"BootCDN","desc":"稳定、快速、免费的前端开源项目 CDN 加速服务","url":"https://www.bootcdn.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","CDN"],"ownVisible":false,"id":386},{"icon":"https://avatars0.githubusercontent.com/u/637362?s=200&v=4","name":"cdnjs","desc":"面向Web开发人员的免费和开源公共Web CDN!","url":"https://cdnjs.com/","urls":{"-3":"https://github.com/cdnjs/cdnjs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","工具","CDN"],"ownVisible":false,"id":387}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"支持前端JavaScript,后端Node.js以及微信小程序错误监控","url":"https://www.fundebug.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":388},{"icon":"https://www.caniuse.com/img/favicon-128.png","name":"前端兼容性查询","desc":"前端查询API各个厂商兼容性情况","url":"https://www.caniuse.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":389},{"icon":"http://browserhacks.com/assets/images/browserhacks.ico","name":"Browserhacks","desc":"Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。","url":"http://browserhacks.com/","urls":{"-3":"https://github.com/4ae9b8/browserhacks"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":390},{"name":"Character Entity Reference Chart","desc":"字符实体参考图,>","url":"https://dev.w3.org/html5/html-author/charref","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":391},{"name":"awesome-web-editor","desc":"开源web编辑器汇总列表","url":"https://github.com/xjh22222228/awesome-web-editor","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":392},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"强大的前端代码在线演示的网站","url":"http://jsfiddle.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":393},{"icon":"https://avatars0.githubusercontent.com/u/11043997?s=200&v=4","name":"jsperf","desc":"jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能","url":"https://jsperf.com/","urls":{"-3":"https://github.com/jsperf/jsperf.com"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":394},{"icon":"https://codesandbox.io/favicon.ico","name":"codesandbox","desc":"codesandbox是为Web应用程序定制的在线编辑器。","url":"https://codesandbox.io","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":395},{"icon":"https://htmlreference.io/favicons/favicon-32x32.png","name":"HTML Reference","desc":"所有HTML元素和属性的免费指南参考","url":"https://htmlreference.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":396},{"icon":"https://static.jsbin.com/images/dave.min.svg","name":"jsbin","desc":"一个轻量级的html/css/js在线编辑器Debug调试器","url":"https://jsbin.com/juduyibeku/edit?html,css,js,console,output","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":397},{"icon":"http://www.jsfuck.com/favicon.ico","name":"jsfuck","desc":"JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。","url":"http://www.jsfuck.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","工具","其他"],"ownVisible":false,"id":398}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"CSS","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png","nav":[{"title":"CSS","nav":[{"icon":"https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico","name":"Bootstrap","desc":"Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架","url":"http://getbootstrap.com/","urls":{"-2":"http://getbootstrap.com/","-1":"http://www.bootcss.com/","-3":"https://github.com/twbs/bootstrap"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":399},{"icon":"https://avatars2.githubusercontent.com/u/317889?s=200&v=4","name":"Sass","desc":"Sass 是成熟、稳定、强大的 CSS 扩展语言","url":"http://sass-lang.com/","urls":{"-2":"http://sass-lang.com/","-1":"http://sass.bootcss.com/","-3":"https://github.com/sass/sass"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":400},{"icon":"https://avatars0.githubusercontent.com/u/3538330?s=200&v=4","name":"Less","desc":"Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性","url":"http://lesscss.org/","urls":{"-2":"http://lesscss.org/","-1":"http://lesscss.cn/","-3":"https://github.com/less/less.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":401},{"name":"magic","desc":"CSS3动画特效","url":"https://minimamente.com/example/magic_animations/","urls":{"-3":"https://github.com/miniMAC/magic"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":402},{"icon":"https://avatars3.githubusercontent.com/u/64791939?s=200&v=4","name":"Animate.css","desc":"CSS动画的跨浏览器库,简单易用","url":"https://daneden.github.io/animate.css/","urls":{"-3":"https://github.com/animate-css/animate.css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":403},{"icon":"http://necolas.github.io/normalize.css/favicon.ico","name":"normalize.css","desc":"使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式","url":"http://necolas.github.io/normalize.css/","urls":{"-3":"https://github.com/necolas/normalize.css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":404},{"name":"Hover","desc":"CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等","url":"http://ianlunn.github.io/Hover/","urls":{"-3":"https://github.com/IanLunn/Hover"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":405},{"name":"github-markdown-css","desc":"复制GitHub Markdown样式的最小CSS量","url":"https://sindresorhus.com/github-markdown-css/","urls":{"-3":"https://github.com/sindresorhus/github-markdown-css"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":406},{"icon":"https://avatars1.githubusercontent.com/u/8296347?s=200&v=4","name":"autoprefixer","desc":"Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里","url":"https://github.com/postcss/autoprefixer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":407},{"icon":"http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png","name":"vivify","desc":"Vivify是免费的CSS动画库。","url":"http://vivify.mkcreative.cz/","urls":{"-3":"https://github.com/Martz90/vivify"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":408},{"name":"cubic-bezier","desc":"在线制作CSS动画","url":"https://cubic-bezier.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","CSS","CSS"],"ownVisible":false,"id":409}],"createdAt":"2021-01-23 09:32:06"},{"title":"图标库","nav":[{"icon":"http://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"阿里妈妈MUX倾力打造的矢量图标管理、交流平台","url":"http://www.iconfont.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","CSS","图标库"],"ownVisible":false,"id":410},{"icon":"https://avatars1.githubusercontent.com/u/1505683?s=200&v=4","name":"Font Awesome","desc":"一套绝佳的图标字体库和CSS框架","url":"https://fontawesome.com/","urls":{"-2":"https://fontawesome.com/","-1":"http://www.fontawesome.com.cn/","-3":"https://github.com/FortAwesome/Font-Awesome"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","图标库"],"ownVisible":false,"id":411},{"icon":"https://livicons.com/apple-icon-57x57.png","name":"LivIcons Evolution","desc":"会动的纯svg矢量图标库","url":"https://livicons.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","CSS","图标库"],"ownVisible":false,"id":412},{"icon":"https://avatars0.githubusercontent.com/u/3171503?s=200&v=4","name":"ionicons","desc":"适用于Ionic Framework和Web应用程序的高级图标字体","url":"https://ionicons.com/","urls":{"-3":"https://github.com/ionic-team/ionicons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","图标库"],"ownVisible":false,"id":413},{"name":"material-design-icons","desc":"Google的Material Design图标","url":"https://material.io/tools/icons","urls":{"-3":"https://github.com/google/material-design-icons"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","CSS","图标库"],"ownVisible":false,"id":414}],"createdAt":"2021-01-23 09:32:06"},{"title":"资源","nav":[{"icon":"https://cssbattle.dev/images/logo-square.png","name":"css battle","desc":"在线比拼CSS","url":"https://cssbattle.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","CSS","资源"],"ownVisible":false,"id":415},{"icon":"http://zh.learnlayout.com/images/logo.png","name":"学习CSS布局","desc":"学习CSS布局","url":"http://zh.learnlayout.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","CSS","资源"],"ownVisible":false,"id":416}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"TypeScript","icon":"https://www.typescriptlang.org/favicon-32x32.png","nav":[{"title":"TypeScript","nav":[{"name":"TypeScript","desc":"TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集","url":"https://www.tslang.cn/index.html","urls":{"-2":"http://www.typescriptlang.org/","-1":"https://www.tslang.cn/index.html","-3":"https://github.com/Microsoft/TypeScript"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","TypeScript","TypeScript"],"ownVisible":false,"id":417},{"name":"TypeSearch","desc":"搜索typescript 类型包 @types/node","url":"https://microsoft.github.io/TypeSearch/","urls":{"-3":"https://github.com/Microsoft/TypeSearch"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","TypeScript","TypeScript"],"ownVisible":false,"id":418},{"name":"DefinitelyTyped","desc":"高质量TypeScript类型定义的存储库","url":"http://definitelytyped.org/","urls":{"-3":"https://github.com/DefinitelyTyped/DefinitelyTyped"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","TypeScript","TypeScript"],"ownVisible":false,"id":419},{"icon":"https://avatars0.githubusercontent.com/u/46634674?s=200&v=4","name":"typescript-eslint","desc":"Monorepo用于所有工具,使ESLint能够支持TypeScript","url":"https://github.com/typescript-eslint/typescript-eslint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","TypeScript","TypeScript"],"ownVisible":false,"id":420},{"name":"awesome-typescript","desc":"用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript","url":"https://github.com/dzharii/awesome-typescript","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","TypeScript","TypeScript"],"ownVisible":false,"id":421},{"name":"TypeScript 入门教程","desc":"TypeScript 入门教程","url":"https://ts.xcatliu.com/","urls":{"-3":"https://github.com/xcatliu/typescript-tutorial"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","TypeScript","TypeScript"],"ownVisible":false,"id":422}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"参考资料","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"书籍","nav":[{"name":"JavaScript 20 年","desc":"JavaScript 20 年","url":"https://cn.history.js.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","书籍"],"ownVisible":false,"id":423},{"name":"你不知道的JavaScript","desc":"你不知道的JavaScript","url":"https://github.com/getify/You-Dont-Know-JS","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","书籍"],"ownVisible":false,"id":424},{"icon":"https://zh.javascript.info/img/favicon/favicon.png","name":"现代 JavaScript 教程","desc":"以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识","url":"https://zh.javascript.info/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","书籍"],"ownVisible":false,"id":425},{"name":"ECMAScript 6入门","desc":"ECMAScript 6入门","url":"http://es6.ruanyifeng.com/#README","urls":{"-3":"https://github.com/ruanyf/es6tutorial/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","书籍"],"ownVisible":false,"id":426},{"name":"JavaScript教程","desc":"JavaScript 标准参考教程","url":"https://wangdoc.com/javascript/basic/index.html","urls":{"-3":"https://github.com/ruanyf/jstutorial"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","书籍"],"ownVisible":false,"id":427}],"createdAt":"2021-01-23 09:32:06"},{"title":"文档","nav":[{"name":"JavaScript Puzzlers","desc":"你真的了解JavaScript吗?来试试吧!","url":"http://javascript-puzzlers.herokuapp.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":428},{"icon":"https://avatars1.githubusercontent.com/u/41361384?s=200&v=4","name":"InterviewMap","desc":"打造最好的面试图谱","url":"https://yuchengkai.cn/docs/zh/","urls":{"-2":"https://yuchengkai.cn/docs/","-1":"https://yuchengkai.cn/docs/zh/","-3":"https://github.com/InterviewMap/CS-Interview-Knowledge-Map"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":429},{"name":"飞冰早报","desc":"飞冰早报","url":"http://fe.jskou.com/ice","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":430},{"name":"jsdoc","desc":"用于JavaScript的API文档生成器。","url":"http://www.css88.com/doc/jsdoc/index.html","urls":{"-2":"http://usejsdoc.org/","-1":"http://www.css88.com/doc/jsdoc/index.html","-3":"https://github.com/jsdoc3/jsdoc"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":431},{"icon":"https://avatars3.githubusercontent.com/u/43479428?s=200&v=4","name":"30 seconds of code","desc":"精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。","url":"https://30secondsofcode.org/","urls":{"-3":"https://github.com/30-seconds/30-seconds-of-code"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":432},{"name":"33-js-concepts","desc":"JavaScript开发者应懂的33个概念","url":"https://github.com/stephentian/33-js-concepts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":433},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ECMAScript Proposals","desc":"跟踪ECMAScript 提案","url":"https://tc39.github.io/process-document/","urls":{"-3":"https://github.com/tc39/proposals"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":434},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ecma262","desc":"ECMA-262的状态,流程和文档","url":"https://tc39.es/ecma262/","urls":{"-3":"https://github.com/tc39/ecma262"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":435},{"icon":"https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2","name":"JavaScript 秘密花园","desc":"JavaScript 语言最古怪用法的文档集合","url":"https://bonsaiden.github.io/JavaScript-Garden/zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":436},{"name":"Airbnb JavaScript 编码规范","desc":"Airbnb JavaScript 编码规范","url":"https://github.com/yuche/javascript","urls":{"-2":"https://github.com/airbnb/javascript","-1":"https://github.com/yuche/javascript"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":437},{"name":"Daily-Interview-Question","desc":"工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己","url":"https://github.com/Advanced-Frontend/Daily-Interview-Question","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":438},{"name":"javascript-algorithms","desc":"JavaScript 算法与数据结构","url":"https://github.com/trekhleb/javascript-algorithms","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":439},{"icon":"https://avatars2.githubusercontent.com/u/26534952?s=200&v=4","name":"weekly","desc":"前端精读周刊","url":"https://github.com/dt-fe/weekly","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["WEB前端","参考资料","文档"],"ownVisible":false,"id":440}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06"},{"title":"Node.js","nav":[{"title":"生态系统","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"官方","nav":[{"name":"Node.js","desc":"Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时","url":"http://nodejs.cn","urls":{"-2":"https://nodejs.org/en/","-1":"http://nodejs.cn","-3":"https://github.com/nodejs/node"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","生态系统","官方"],"ownVisible":false,"id":441},{"name":"npm1","desc":"npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具","url":"https://www.npmjs.com/","urls":{"-2":"https://www.npmjs.com/","-1":"https://www.npmjs.com.cn/","-3":"https://github.com/npm/cli"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","生态系统","官方"],"ownVisible":false,"id":442}],"createdAt":"2021-01-23 09:32:06"},{"title":"模块","nav":[{"name":"urllib","desc":"在复杂的世界中请求HTTP(s)URL","url":"https://github.com/node-modules/urllib","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","生态系统","模块"],"ownVisible":false,"id":443},{"name":"formstream","desc":"multipart / form-data编码流,用于文件上传的帮助程序。","url":"https://github.com/node-modules/formstream","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","生态系统","模块"],"ownVisible":false,"id":444},{"name":"validate-npm-package-name","desc":"给我一个字符串,我会告诉你它是否是有效的npm软件包名称","url":"https://github.com/npm/validate-npm-package-name","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","生态系统","模块"],"ownVisible":false,"id":445}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"icon":"https://classic.yarnpkg.com/favicon.ico","name":"Yarn","desc":"快速、可靠、安全的依赖管理","url":"https://yarnpkg.com/zh-Hans/","urls":{"-2":"https://yarnpkg.com/en/","-1":"https://yarnpkg.com/zh-Hans/","-3":"https://github.com/yarnpkg/yarn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","生态系统","其他"],"ownVisible":false,"id":446},{"name":"awesome-nodejs","desc":"Node.js软件包和资源","url":"https://github.com/sindresorhus/awesome-nodejs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","生态系统","其他"],"ownVisible":false,"id":447},{"name":"nodebestpractices","desc":"最大的Node.js最佳实践列表","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","生态系统","其他"],"ownVisible":false,"id":448}],"createdAt":"2021-01-23 09:32:06"},{"title":"CMS","nav":[{"icon":"https://avatars0.githubusercontent.com/u/4449608?s=200&v=4","name":"NodeBB","desc":"基于Node.js的论坛软件,为现代网站","url":"https://nodebb.org/","urls":{"-3":"https://github.com/NodeBB/NodeBB"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","生态系统","CMS"],"ownVisible":false,"id":449},{"icon":"https://avatars1.githubusercontent.com/u/2178663?s=200&v=4","name":"Ghost","desc":"Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress","url":"https://ghost.org/","urls":{"-3":"https://github.com/TryGhost/Ghost"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","生态系统","CMS"],"ownVisible":false,"id":450}],"createdAt":"2021-01-23 09:32:06"},{"title":"资料","nav":[{"name":"nodebestpractices","desc":"Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","生态系统","资料"],"ownVisible":false,"id":451}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"依赖包","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"网络请求","nav":[{"name":"request","desc":"简化的HTTP请求客户端","url":"https://github.com/request/request","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","网络请求"],"ownVisible":false,"id":452},{"name":"superagent","desc":"一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能","url":"http://visionmedia.github.io/superagent/","urls":{"-3":"https://github.com/visionmedia/superagent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","网络请求"],"ownVisible":false,"id":453},{"name":"axios","desc":"基于Promise的HTTP客户端,用于浏览器和node.js","url":"https://github.com/axios/axios","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","网络请求"],"ownVisible":false,"id":454},{"name":"node-fetch","desc":"一个轻量级的模块,将window.fetch带到Node.js","url":"https://github.com/node-fetch/node-fetch","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","网络请求"],"ownVisible":false,"id":455},{"name":"bent","desc":"带有async await的功能性JS HTTP客户端(Node.js和Fetch)","url":"https://github.com/mikeal/bent","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","网络请求"],"ownVisible":false,"id":456},{"name":"superagent-proxy","desc":"superagent代理扩展,这使您可以通过某种代理来代理HTTP请求","url":"https://github.com/TooTallNate/superagent-proxy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","网络请求"],"ownVisible":false,"id":457}],"createdAt":"2021-01-23 09:32:06"},{"title":"单元测试","nav":[{"icon":"https://pptr.dev/favicons/apple-touch-icon.png","name":"Puppeteer","desc":"Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome","url":"https://pptr.dev/","urls":{"-2":"https://pptr.dev/","-1":"https://zhaoqize.github.io/puppeteer-api-zh_CN/","-3":"https://github.com/GoogleChrome/puppeteer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":458},{"icon":"https://avatars0.githubusercontent.com/u/8908513?s=200&v=4","name":"cypress","desc":"对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)","url":"https://www.cypress.io/","urls":{"-3":"https://github.com/cypress-io/cypress"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":459},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架","url":"https://mochajs.org/","urls":{"-3":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":460},{"icon":"https://avatars0.githubusercontent.com/u/1515293?s=200&v=4","name":"chai","desc":"node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器","url":"http://www.chaijs.com/","urls":{"-3":"https://github.com/chaijs/chai"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":461},{"icon":"https://avatars2.githubusercontent.com/u/8527916?s=200&v=4","name":"ava","desc":"未来的JavaScript测试运行器","url":"https://github.com/avajs/ava","urls":{"-1":"https://github.com/avajs/ava-docs/blob/master/zh_CN/readme.md"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":462},{"icon":"https://jestjs.io/img/favicon/favicon.ico","name":"Jest","desc":"Jest是一个令人愉快的JavaScript测试框架,专注于简单性。","url":"https://jestjs.io/zh-Hans/","urls":{"-3":"https://github.com/facebook/jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":463},{"icon":"https://avatars1.githubusercontent.com/u/4243232?s=200&v=4","name":"testcafe","desc":"一个Node.js工具,用于自动化端到端Web测试","url":"https://devexpress.github.io/testcafe/","urls":{"-3":"https://github.com/DevExpress/testcafe"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":464},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-puppeteer","desc":"使用Jest&Puppeteer运行测试 🎪✨","url":"https://github.com/smooth-code/jest-puppeteer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":465},{"icon":"https://kulshekhar.github.io/ts-jest/assets/img/logo.png","name":"ts-jest","desc":"具有对Jest的Sourcemap支持的TypeScript预处理器","url":"https://kulshekhar.github.io/ts-jest","urls":{"-3":"https://github.com/kulshekhar/ts-jest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":466},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-extended","desc":"扩展 jest 匹配器","url":"https://github.com/jest-community/jest-extended","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","单元测试"],"ownVisible":false,"id":467}],"createdAt":"2021-01-23 09:32:06"},{"title":"数据库","nav":[{"name":"node-mysql2","desc":"node.js的快速node-mysql兼容的mysql驱动程序","url":"https://github.com/sidorares/node-mysql2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":468},{"name":"sequelize","desc":"基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能","url":"https://demopark.github.io/sequelize-docs-Zh-CN/","urls":{"-2":"http://docs.sequelizejs.com/","-1":"https://demopark.github.io/sequelize-docs-Zh-CN/","-3":"https://github.com/sequelize/sequelize"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":469},{"name":"mongoose","desc":"mongodb对象模型设计用于在异步环境中工作。","url":"http://www.mongoosejs.net/","urls":{"-2":"http://mongoosejs.com/","-1":"http://www.mongoosejs.net/","-3":"https://github.com/Automattic/mongoose"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":470},{"name":"ioredis","desc":"适用于Node.js,以性能为中心且功能齐全的Redis客户端。","url":"https://github.com/luin/ioredis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":471},{"name":"objection.js","desc":"Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。","url":"http://vincit.github.io/objection.js/","urls":{"-3":"https://github.com/Vincit/objection.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":472},{"name":"nedb","desc":"JavaScript数据库,用于Node.js,nw.js,electron和浏览器","url":"https://github.com/louischatriot/nedb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":473},{"icon":"https://avatars0.githubusercontent.com/u/20165699?s=200&v=4","name":"typeorm","desc":"ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台","url":"http://typeorm.io","urls":{"-1":"https://github.com/typeorm/typeorm/tree/master/docs/zh_CN","-3":"https://github.com/typeorm/typeorm"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":474},{"icon":"https://avatars0.githubusercontent.com/u/10490573?s=200&v=4","name":"knexjs","desc":"PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。","url":"http://knexjs.org","urls":{"-3":"https://github.com/knex/knex"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":475},{"icon":"https://avatars1.githubusercontent.com/u/5845577?s=200&v=4","name":"node-redis","desc":"高性能Node.js Redis客户端。","url":"https://github.com/NodeRedis/node-redis","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","数据库"],"ownVisible":false,"id":476}],"createdAt":"2021-01-23 09:32:06"},{"title":"图形相关","nav":[{"name":"node-canvas","desc":"node-canvas是Node.js的Cairo -backed Canvas实现。","url":"https://github.com/Automattic/node-canvas","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","图形相关"],"ownVisible":false,"id":477},{"name":"svg-captcha","desc":"在node.js中生成svg验证码","url":"https://github.com/lemonce/svg-captcha","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","图形相关"],"ownVisible":false,"id":478},{"name":"ccap","desc":"node.js使用C++库CImg生成验证码,无需安装任何其他库或软件","url":"https://github.com/DoubleSpout/ccap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","图形相关"],"ownVisible":false,"id":479},{"name":"text-to-svg","desc":"将文本转换为SVG路径而不依赖于本机","url":"https://github.com/shrhdk/text-to-svg","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","图形相关"],"ownVisible":false,"id":480},{"name":"svg2png","desc":"使用PhantomJS将SVG转换为PNG","url":"https://github.com/domenic/svg2png","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","图形相关"],"ownVisible":false,"id":481}],"createdAt":"2021-01-23 09:32:06"},{"title":"代理","nav":[{"name":"node-http-proxy","desc":"一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件","url":"https://github.com/nodejitsu/node-http-proxy","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","代理"],"ownVisible":false,"id":482},{"name":"http-proxy-middleware","desc":"用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)","url":"https://github.com/chimurai/http-proxy-middleware","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","代理"],"ownVisible":false,"id":483}],"createdAt":"2021-01-23 09:32:06"},{"title":"AST辅助工具","nav":[{"name":"esprima","desc":"ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST","url":"https://esprima.org/","urls":{"-3":"https://github.com/jquery/esprima"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","AST辅助工具"],"ownVisible":false,"id":484},{"name":"recast","desc":"JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器","url":"https://github.com/benjamn/recast","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","AST辅助工具"],"ownVisible":false,"id":485}],"createdAt":"2021-01-23 09:32:06"},{"title":"文件相关","nav":[{"name":"node-xlsx","desc":"NodeJS excel文件解析器和构建器","url":"https://github.com/mgcrea/node-xlsx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","文件相关"],"ownVisible":false,"id":486},{"name":"fs-extra","desc":"操作系统文件,用于替代内置的fs模块","url":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","urls":{"-1":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","-3":"https://github.com/jprichardson/node-fs-extra"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","文件相关"],"ownVisible":false,"id":487},{"icon":"https://avatars0.githubusercontent.com/u/5826089?s=200&v=4","name":"js-xlsx","desc":"SheetJS社区版 - 电子表格工具包","url":"https://sheetjs.com/","urls":{"-3":"https://github.com/SheetJS/js-xlsx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","文件相关"],"ownVisible":false,"id":488},{"icon":"https://www.archiverjs.com/images/logo.svg","name":"node-archiver","desc":"文件压缩","url":"https://www.archiverjs.com/","urls":{"-3":"https://github.com/archiverjs/node-archiver"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","文件相关"],"ownVisible":false,"id":489}],"createdAt":"2021-01-23 09:32:06"},{"title":"微信开发","nav":[{"name":"wechat-oauth","desc":"微信公共平台OAuth接口消息接口服务中间件与API SDK","url":"https://github.com/node-webot/wechat-oauth","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","微信开发"],"ownVisible":false,"id":490},{"name":"wechat-api","desc":"微信公共平台API","url":"https://github.com/node-webot/wechat-api","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","微信开发"],"ownVisible":false,"id":491},{"name":"wechat","desc":"微信公共平台消息接口服务中间件","url":"https://github.com/node-webot/wechat","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","微信开发"],"ownVisible":false,"id":492},{"name":"wechaty","desc":"是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人","url":"https://chatie.io/wechaty/","urls":{"-3":"https://github.com/Chatie/wechaty"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","微信开发"],"ownVisible":false,"id":493}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","nav":[{"name":"Glob","desc":"匹配文件。 **/*.js","url":"https://github.com/isaacs/node-glob","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":494},{"name":"prompts","desc":"轻巧,美观和用户友好的交互式提示","url":"https://github.com/terkelg/prompts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":495},{"icon":"https://avatars3.githubusercontent.com/u/21160645?s=200&v=4","name":"enquirer","desc":"时尚,直观和用户友好的提示","url":"https://github.com/enquirer/enquirer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":496},{"icon":"https://avatars2.githubusercontent.com/u/887802?s=200&v=4","name":"cli-table3","desc":"带有Node.JS的CLI的漂亮unicode表","url":"https://github.com/cli-table/cli-table3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":497},{"name":"commander.js","desc":"node.js命令行界面的完整解决方案,受Ruby指挥官的启发","url":"https://github.com/tj/commander.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":498},{"name":"ora","desc":"优雅的终端微调器","url":"https://github.com/sindresorhus/ora","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":499},{"name":"Inquirer.js","desc":"常用交互式命令行用户界面的集合","url":"https://github.com/SBoudrias/Inquirer.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":500},{"name":"shelljs","desc":"Node.js的可移植Unix shell命令","url":"https://documentup.com/shelljs/shelljs","urls":{"-3":"https://github.com/shelljs/shelljs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":501},{"name":"download-git-repo","desc":"下载并提取git存储库(GitHub,GitLab,Bitbucket)","url":"https://github.com/flipxfx/download-git-repo","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":502},{"icon":"https://avatars0.githubusercontent.com/u/6078720?s=200&v=4","name":"node-semver","desc":"node的semver解析器","url":"https://github.com/npm/node-semver","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":503},{"name":"node-progress","desc":"node.js的灵活ascii进度条","url":"https://github.com/visionmedia/node-progress","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":504},{"name":"node-qrcode","desc":"二维码生成","url":"https://github.com/soldair/node-qrcode","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":505},{"name":"open","desc":"打开URL,文件,可执行文件等内容。跨平台。","url":"https://github.com/sindresorhus/open","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":506},{"name":"ssh2","desc":"用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js","url":"https://github.com/mscdex/ssh2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":507},{"name":"minimist","desc":"解析参数选项","url":"https://github.com/substack/minimist","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":508},{"name":"node-clear","desc":"清空终端屏幕信息","url":"https://github.com/bahamas10/node-clear","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":509},{"icon":"https://avatars2.githubusercontent.com/u/13122722?s=200&v=4","name":"chalk","desc":"终端字符串样式","url":"https://github.com/chalk/chalk","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":510},{"icon":"https://avatars3.githubusercontent.com/u/16504989?s=200&v=4","name":"yargs","desc":"通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。","url":"https://github.com/yargs/yargs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","CLI"],"ownVisible":false,"id":511}],"createdAt":"2021-01-23 09:32:06"},{"title":"模板引擎","nav":[{"icon":"https://handlebarsjs.com/images/favicon.png","name":"handlebars","desc":"JavaScript模板引擎","url":"http://handlebarsjs.com/","urls":{"-3":"https://github.com/wycats/handlebars.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","模板引擎"],"ownVisible":false,"id":512},{"icon":"https://ejs.co/favicon.svg","name":"ejs","desc":"JavaScript模板引擎","url":"https://ejs.co/","urls":{"-3":"https://github.com/mde/ejs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","模板引擎"],"ownVisible":false,"id":513},{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"mustache.js","desc":"使用JavaScript的无逻辑{{mustache}}模板","url":"https://github.com/janl/mustache.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","模板引擎"],"ownVisible":false,"id":514}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"name":"node-xml2js","desc":"简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js","url":"https://github.com/Leonidas-from-XIV/node-xml2js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":515},{"name":"iconv-lite","desc":"纯JavaScript中转换字符编码。","url":"https://github.com/ashtuchkin/iconv-lite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":516},{"name":"node-uuid","desc":"在JavaScript中生成符合RFC的UUID","url":"https://github.com/kelektiv/node-uuid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":517},{"name":"nativefier","desc":"使任何网页成为桌面应用程序","url":"https://github.com/jiahaog/nativefier","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":518},{"name":"getmac","desc":"通过Node.js获取当前计算机的mac地址","url":"https://github.com/bevry/getmac","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":519},{"name":"http-server","desc":"一个简单的零配置命令行http服务器","url":"https://github.com/indexzero/http-server","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":520},{"name":"node-schedule","desc":"Node的类似cron-like和非not-cron-like的作业调度程序。","url":"https://github.com/node-schedule/node-schedule","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":521},{"name":"qrcode-terminal","desc":"QRCode终端版","url":"https://github.com/gtanner/qrcode-terminal","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":522},{"icon":"https://avatars1.githubusercontent.com/u/13612933?s=200&v=4","name":"localtunnel","desc":"localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改","url":"https://localtunnel.github.io/www/","urls":{"-3":"https://github.com/localtunnel/localtunnel"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":523},{"icon":"http://www.passportjs.org/images/favicon/apple-icon-57x57.png","name":"passport","desc":"Node.js的简单,不显眼的身份验证","url":"http://www.passportjs.org/","urls":{"-3":"https://github.com/jaredhanson/passport"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":524},{"name":"parameter","desc":"参数验证工具","url":"https://github.com/node-modules/parameter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":525},{"name":"bytes","desc":"用于解析字符串字节, b/kb/mb/gb/tb/pb","url":"https://github.com/visionmedia/bytes.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":526},{"icon":"https://avatars2.githubusercontent.com/u/723678?s=200&v=4","name":"js-yaml","desc":"JavaScript YAML解析器和转储器。非常快","url":"https://nodeca.github.io/js-yaml/","urls":{"-3":"https://github.com/nodeca/js-yaml"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":527},{"icon":"https://avatars0.githubusercontent.com/u/34631683?s=200&v=4","name":"acorn","desc":"一个小型,基于JavaScript的快速JavaScript解析器","url":"https://github.com/acornjs/acorn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":528},{"name":"figlet.js","desc":"用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii","url":"https://github.com/patorjk/figlet.js","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":529},{"name":"node-printer","desc":"本机 node.js 打印机","url":"https://github.com/tojocky/node-printer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":530},{"name":"fontmin","desc":"无缝缩小字体","url":"https://github.com/ecomfe/fontmin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":531},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"morgan","desc":"Node.js的HTTP请求记录器中间件","url":"https://github.com/expressjs/morgan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":532},{"icon":"https://avatars0.githubusercontent.com/u/9271229?s=200&v=4","name":"jsdom","desc":"与Node.js一起使用的各种Web标准的JavaScript实现","url":"https://github.com/jsdom/jsdom","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","依赖包","其他"],"ownVisible":false,"id":533}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"跨平台框架","nav":[{"title":"Electron","icon":"https://www.electronjs.org/images/favicon.ico","nav":[{"name":"Electron","desc":"使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用","url":"https://electronjs.org/","urls":{"-3":"https://github.com/electron/electron"},"icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","Electron"],"ownVisible":false,"id":534},{"name":"electron-packager","desc":"通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)","url":"https://github.com/electron-userland/electron-packager","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","Electron"],"ownVisible":false,"id":535},{"name":"electron-installer-dmg","desc":"使用AppDMG为电子应用程序创建DMG安装程序","url":"https://github.com/electron-userland/electron-installer-dmg","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","Electron"],"ownVisible":false,"id":536},{"icon":"https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png","name":"electron-vue","desc":"基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。","url":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","urls":{"-2":"https://simulatedgreg.gitbooks.io/electron-vue/content/en/","-1":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","-3":"https://github.com/SimulatedGREG/electron-vue"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","Electron"],"ownVisible":false,"id":537},{"icon":"https://www.electron.build/assets/images/favicon.png","name":"electron-builder","desc":"一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序","url":"https://www.electron.build/","urls":{"-3":"https://github.com/electron-userland/electron-builder"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","Electron"],"ownVisible":false,"id":538},{"icon":"https://electron-react-boilerplate.js.org/logo/logo.png","name":"electron-react-boilerplate","desc":"基于React可扩展跨平台应用程序的App","url":"https://electron-react-boilerplate.js.org/","urls":{"-3":"https://github.com/electron-react-boilerplate/electron-react-boilerplate"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","Electron"],"ownVisible":false,"id":539},{"name":"menubar","desc":"Electron创建菜单栏桌面应用程序的高级方法。","url":"https://github.com/maxogden/menubar","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","Electron"],"ownVisible":false,"id":540}],"createdAt":"2021-01-23 09:32:06"},{"title":"nw.js","nav":[{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw.js","desc":"从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式","url":"https://nwjs.org.cn/","urls":{"-2":"https://nwjs.io/","-1":"https://nwjs.org.cn/","-3":"https://github.com/nwjs/nw.js"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","nw.js"],"ownVisible":false,"id":541},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw-builder","desc":"以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。","url":"https://github.com/nwjs-community/nw-builder","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","nw.js"],"ownVisible":false,"id":542},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nwjs-ffmpeg-prebuilt","desc":"FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。","url":"https://github.com/iteufel/nwjs-ffmpeg-prebuilt","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","跨平台框架","nw.js"],"ownVisible":false,"id":543}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"WEB框架","nav":[{"title":"nest","nav":[{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"nest","desc":"Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素","url":"https://docs.nestjs.cn/6/introduction","urls":{"-2":"https://nestjs.com/","-1":"https://docs.nestjs.cn/6/introduction","-3":"https://github.com/nestjs/nest"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB框架","nest"],"ownVisible":false,"id":544},{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"awesome-nestjs","desc":"NestJS的精选列表","url":"https://github.com/juliandavidmr/awesome-nestjs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB框架","nest"],"ownVisible":false,"id":545}],"createdAt":"2021-01-23 09:32:06"},{"title":"egg.js","nav":[{"icon":"https://eggjs.org/images/favicon.png","name":"Egg.js","desc":"Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本","url":"https://eggjs.org/zh-cn/intro/index.html","urls":{"-2":"https://eggjs.org","-1":"https://eggjs.org/zh-cn/intro/index.html","-3":"https://github.com/eggjs/egg/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB框架","egg.js"],"ownVisible":false,"id":546},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-validate","desc":"基于 parameter 封装的参数验证插件","url":"https://github.com/eggjs/egg-validate","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB框架","egg.js"],"ownVisible":false,"id":547},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-mailer","desc":"基于 nodemailer 封装的参数验证插件","url":"https://github.com/xjh22222228/egg-mailer","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB框架","egg.js"],"ownVisible":false,"id":548}],"createdAt":"2021-01-23 09:32:06"},{"title":"Express/Koa","nav":[{"icon":"https://avatars2.githubusercontent.com/u/5055057?s=200&v=4","name":"Koa","desc":"Koa -- 基于Node.js 平台的下一代web开发框架","url":"https://koa.bootcss.com/","urls":{"-2":"https://koajs.com/","-1":"https://koa.bootcss.com/","-3":"https://github.com/koajs/koa"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","WEB框架","Express/Koa"],"ownVisible":false,"id":549},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"Express","desc":"Express - 快速、开放、极简的 Web 开发框架","url":"http://expressjs.jser.us/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","WEB框架","Express/Koa"],"ownVisible":false,"id":550}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"辅助工具","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"调试debugger","nav":[{"name":"node-inspector","desc":"Node.js调试器基于Blink Developer Tools","url":"https://github.com/node-inspector/node-inspector","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","调试debugger"],"ownVisible":false,"id":551},{"name":"debug","desc":"一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器","url":"https://github.com/visionmedia/debug","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","调试debugger"],"ownVisible":false,"id":552},{"name":"ndb","desc":"ndb是针对Node.js的改进调试体验,由Chrome DevTools启用","url":"https://github.com/GoogleChromeLabs/ndb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","调试debugger"],"ownVisible":false,"id":553}],"createdAt":"2021-01-23 09:32:06"},{"title":"node版本管理","nav":[{"name":"nvm","desc":"Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本","url":"https://github.com/creationix/nvm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","node版本管理"],"ownVisible":false,"id":554},{"name":"nvm-windows","desc":"适用于Windows的node.js版本管理实用程序","url":"https://github.com/coreybutler/nvm-windows","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","node版本管理"],"ownVisible":false,"id":555},{"name":"nvs","desc":"Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)","url":"https://github.com/jasongin/nvs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","node版本管理"],"ownVisible":false,"id":556},{"name":"n","desc":"Node.js版本管理:无配置文件,无复杂的API,非常简单","url":"https://github.com/tj/n","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","node版本管理"],"ownVisible":false,"id":557}],"createdAt":"2021-01-23 09:32:06"},{"title":"日志管理","nav":[{"name":"log4js-node","desc":"log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。","url":"https://log4js-node.github.io/log4js-node/index.html","urls":{"-3":"https://github.com/log4js-node/log4js-node"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","日志管理"],"ownVisible":false,"id":558},{"name":"node-bunyan","desc":"用于node.js服务的简单快速的JSON日志记录模块","url":"https://github.com/trentm/node-bunyan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","日志管理"],"ownVisible":false,"id":559}],"createdAt":"2021-01-23 09:32:06"},{"title":"集成工具","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1714870?s=200&v=4","name":"yeoman","desc":"一套用于自动化开发工作流程的工具","url":"https://yeoman.io/","urls":{"-3":"https://github.com/yeoman/yeoman"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","集成工具"],"ownVisible":false,"id":560},{"icon":"https://avatars0.githubusercontent.com/u/16486629?s=200&v=4","name":"nodemailer","desc":"发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!","url":"http://nodemailer.com/","urls":{"-3":"https://github.com/nodemailer/nodemailer"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","集成工具"],"ownVisible":false,"id":561},{"name":"gh-pages","desc":"将文件发布到GitHub上的gh-pages分支的常规任务","url":"https://github.com/tschaub/gh-pages","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","集成工具"],"ownVisible":false,"id":562}],"createdAt":"2021-01-23 09:32:06"},{"title":"代码压缩","nav":[{"icon":"https://avatars1.githubusercontent.com/u/43502240?s=200&v=4","name":"terser","desc":"适用于ES6+的JavaScript解析器,mangler和压缩器工具包","url":"https://terser.org/","urls":{"-3":"https://github.com/terser/terser"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","代码压缩"],"ownVisible":false,"id":563}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"name":"Awehunt","desc":"npm包下载量曲线对比图","url":"https://awehunt.com/npmdownloads?ids=react,angular,vue","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":564},{"name":"nodemon","desc":"监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发","url":"https://nodemon.io/","urls":{"-3":"https://github.com/remy/nodemon"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":565},{"name":"pkg","desc":"将Node.js项目打包成可执行文件","url":"https://github.com/zeit/pkg","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":566},{"name":"npm-check-updates","desc":"查找package.json或bower.json允许的更新版本的软件包依赖项","url":"https://github.com/tjunnone/npm-check-updates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":567},{"name":"husky","desc":"husky 可以防止错误的 git commit, git push 等","url":"https://github.com/typicode/husky","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":568},{"name":"bundlephobia","desc":"找出在项目中添加新的依赖项的包大小","url":"https://bundlephobia.com","urls":{"-3":"https://github.com/pastelsky/bundlephobia"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":569},{"name":"npm-run-all","desc":"一个CLI工具,可并行或顺序运行多个npm脚本","url":"https://github.com/mysticatea/npm-run-all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":570},{"name":"dotenv","desc":"从.env加载用于nodejs项目的环境变量","url":"https://github.com/motdotla/dotenv#readme","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":571},{"name":"cross-env","desc":"运行跨平台设置和使用环境变量的脚本","url":"https://github.com/kentcdodds/cross-env","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":572},{"name":"nrm","desc":"npm源快速切换, npm, cnpm, taobao, nj, 内网","url":"https://github.com/Pana/nrm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","辅助工具","其他"],"ownVisible":false,"id":573}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Deno","nav":[{"title":"官方","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"一个安全的运行时的JavaScript和TypeScript","url":"https://deno.land/","urls":{"-3":"https://github.com/denoland"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","Deno","官方"],"ownVisible":false,"id":574},{"name":"Deno 标准库","desc":"Deno 标准库","url":"https://deno.land/std","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Node.js","Deno","官方"],"ownVisible":false,"id":575}],"createdAt":"2021-01-23 09:32:06"},{"title":"工具","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"适用于Deno的Visual Studio Code插件","url":"https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno","urls":{"-3":"https://github.com/denoland/vscode_deno"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Node.js","Deno","工具"],"ownVisible":false,"id":576}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"id":0,"createdAt":"2021-01-23 09:32:06"},{"title":"Golang","nav":[{"title":"生态系统","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"生态","nav":[{"name":"Golang","desc":"Go编程语言","url":"https://go-zh.org/","urls":{"-2":"https://golang.org/","-1":"https://go-zh.org/","-3":"https://github.com/golang/go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","生态"],"ownVisible":false,"id":577},{"name":"go.dev","desc":"大规模构建快速,可靠,高效的软件","url":"https://go.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","生态系统","生态"],"ownVisible":false,"id":578},{"name":"awesome-go","desc":"精选的Go框架,库和软件的精选列表","url":"https://github.com/jobbole/awesome-go-cn","urls":{"-2":"https://github.com/avelino/awesome-Go","-1":"https://github.com/jobbole/awesome-go-cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","生态"],"ownVisible":false,"id":579},{"icon":"https://avatars1.githubusercontent.com/u/49926011?s=200&v=4","name":"Goproxy","desc":"中国最可靠的 Go 模块代理","url":"https://goproxy.cn/","urls":{"-3":"https://github.com/goproxy/goproxy.cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","生态"],"ownVisible":false,"id":580},{"icon":"https://static.studygolang.com/static/img/favicon.ico","name":"Go语言中文网","desc":"Go语言中文网","url":"https://studygolang.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","生态系统","生态"],"ownVisible":false,"id":581},{"icon":"https://studygolang.com/static/img/go.ico","name":"Go标准库中文文档","desc":"Go标准库中文文档","url":"https://studygolang.com/pkgdoc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","生态系统","生态"],"ownVisible":false,"id":582}],"createdAt":"2021-01-23 09:32:06"},{"title":"WEB框架","nav":[{"name":"gin","desc":"Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin","url":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","urls":{"-2":"https://gin-gonic.com/","-1":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","-3":"https://github.com/gin-gonic/gin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","WEB框架"],"ownVisible":false,"id":583},{"name":"beego","desc":"beego是用于Go编程语言的开源,高性能Web框架","url":"http://beego.me","urls":{"-2":"http://beego.me","-3":"https://github.com/astaxie/beego"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","WEB框架"],"ownVisible":false,"id":584},{"name":"martini","desc":"Go的经典Web框架","url":"http://martini.codegangsta.io","urls":{"-2":"http://martini.codegangsta.io","-3":"https://github.com/go-martini/martini"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","WEB框架"],"ownVisible":false,"id":585},{"icon":"https://avatars1.githubusercontent.com/u/2624634?s=200&v=4","name":"echo","desc":"高性能,简约的Go Web框架","url":"https://echo.labstack.com","urls":{"-2":"https://echo.labstack.com","-3":"https://github.com/labstack/echo"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","WEB框架"],"ownVisible":false,"id":586},{"icon":"https://www.iris-go.com/favicon.ico","name":"iris","desc":"最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|","url":"https://www.iris-go.com/","urls":{"-3":"https://github.com/kataras/iris"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","WEB框架"],"ownVisible":false,"id":587},{"icon":"https://avatars1.githubusercontent.com/u/59947262?s=200&v=4","name":"fiber","desc":"Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。","url":"https://gofiber.io/","urls":{"-3":"https://github.com/gofiber/fiber"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","生态系统","WEB框架"],"ownVisible":false,"id":588}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"依赖包","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"GUI","nav":[{"icon":"https://avatars3.githubusercontent.com/u/36045855?s=200&v=4","name":"Fyne","desc":"基于Material Design的Go跨平台GUI","url":"https://fyne.io/","urls":{"-3":"https://github.com/fyne-io/fyne"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","GUI"],"ownVisible":false,"id":589}],"createdAt":"2021-01-23 09:32:06"},{"title":"日志模块","nav":[{"name":"logrus","desc":"Go的结构化,可插入日志记录。","url":"https://github.com/sirupsen/logrus","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","日志模块"],"ownVisible":false,"id":590},{"icon":"https://avatars3.githubusercontent.com/u/19262598?s=200&v=4","name":"zap","desc":"在Go中实现快速,结构化,水平的日志记录。","url":"https://github.com/uber-go/zap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","日志模块"],"ownVisible":false,"id":591}],"createdAt":"2021-01-23 09:32:06"},{"title":"数据库","nav":[{"name":"gorm","desc":"适用于Golang的绝佳ORM库,旨在对开发人员友好","url":"https://gorm.io/zh_CN/","urls":{"-2":"https://gorm.io/","-1":"https://gorm.io/zh_CN/","-3":"https://github.com/go-gorm/gorm"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","数据库"],"ownVisible":false,"id":592},{"icon":"https://entgo.io/img/favicon.ico","name":"ent","desc":"用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。","url":"https://entgo.io/","urls":{"-3":"https://github.com/facebook/ent"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","数据库"],"ownVisible":false,"id":593},{"name":"mysql","desc":"Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序","url":"https://github.com/go-sql-driver/mysql","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","数据库"],"ownVisible":false,"id":594},{"name":"sqlite3","desc":"sqlite3驱动程序","url":"https://github.com/mattn/go-sqlite3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","数据库"],"ownVisible":false,"id":595},{"name":"pq","desc":"适用于database/sql的Pure Go Postgres驱动程序","url":"https://github.com/lib/pq","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","数据库"],"ownVisible":false,"id":596},{"icon":"https://redis.uptrace.dev/assets/images/favicon.png","name":"redis","desc":"用于Golang的类型安全的Redis客户端","url":"https://redis.uptrace.dev/","urls":{"-3":"https://github.com/go-redis/redis"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","数据库"],"ownVisible":false,"id":597}],"createdAt":"2021-01-23 09:32:06"},{"title":"解析器","nav":[{"name":"json-iterator","desc":"高性能100%兼容的“ encoding / json”替代产品","url":"http://jsoniter.com/migrate-from-go-std.html","urls":{"-3":"https://github.com/json-iterator/go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","解析器"],"ownVisible":false,"id":598},{"name":"blackfriday","desc":"Markdown处理器,安全、快速。","url":"https://github.com/russross/blackfriday","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","解析器"],"ownVisible":false,"id":599},{"name":"goldmark","desc":"用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。","url":"https://github.com/yuin/goldmark","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","解析器"],"ownVisible":false,"id":600},{"name":"goquery","desc":"接近jQuery语法的DOM解析库","url":"https://github.com/PuerkitoBio/goquery","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","解析器"],"ownVisible":false,"id":601},{"name":"go-yaml","desc":"yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。","url":"https://github.com/go-yaml/yaml/tree/v3","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","解析器"],"ownVisible":false,"id":602},{"name":"xurls","desc":"从文本中提取Urls","url":"https://github.com/mvdan/xurls","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","解析器"],"ownVisible":false,"id":603}],"createdAt":"2021-01-23 09:32:06"},{"title":"参数验证","nav":[{"name":"govalidator","desc":"参数验证程序,用于字符串,数字,切片和结构","url":"https://github.com/asaskevich/govalidator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","参数验证"],"ownVisible":false,"id":604},{"name":"validator","desc":"基于标签对结构和各个字段实现值验证。","url":"https://github.com/go-playground/validator","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","参数验证"],"ownVisible":false,"id":605}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"name":"ip","desc":"获取公网IP地址、v4/v6","url":"https://github.com/xjh22222228/ip","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":606},{"name":"terminal","desc":"提供了用于处理终端的支持功能,这在UNIX系统上很常见","url":"https://godoc.org/golang.org/x/crypto/ssh/terminal","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":607},{"name":"gopsutil","desc":"用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程","url":"https://github.com/shirou/gopsutil","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":608},{"name":"air","desc":"Go热重载","url":"https://github.com/cosmtrek/air","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":609},{"name":"go-micro","desc":"分布式系统开发框架","url":"https://go-micro.dev","urls":{"-3":"https://github.com/micro/go-micro"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":610},{"name":"xlsx","desc":"xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。","url":"https://github.com/tealeg/xlsx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":611},{"name":"email","desc":"Go强大而灵活的电子邮件库。","url":"https://github.com/jordan-wright/email","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":612},{"name":"websocket","desc":"Go的一种快速,经过测试且广泛使用的WebSocket实现","url":"https://github.com/gorilla/websocket","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":613},{"name":"jwt-go","desc":"Golang 实现的 JSON WEB TOKEN","url":"https://github.com/dgrijalva/jwt-go","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":614},{"name":"cron","desc":"Go 实现的 cron 包","url":"https://github.com/robfig/cron","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":615},{"name":"qrcode","desc":"二维码生成","url":"https://github.com/skip2/go-qrcode","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":616},{"icon":"https://avatars3.githubusercontent.com/u/27810343?s=200&v=4","name":"casbin","desc":"权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC","url":"https://casbin.org/zh-CN/","urls":{"-3":"https://github.com/casbin/casbin"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":617},{"name":"resty","desc":"用于Go的简单HTTP和REST客户端库","url":"https://github.com/go-resty/resty","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":618},{"icon":"https://grpc.io/favicons/apple-touch-icon.png","name":"grpc-go","desc":"gRPC的Go语言实现。基于HTTP/2的RPC","url":"https://grpc.io/","urls":{"-3":"https://github.com/grpc/grpc-go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":619},{"icon":"https://avatars2.githubusercontent.com/u/33584194?s=200&v=4","name":"colly","desc":"Colly提供了一个干净的界面来编写任何种类的爬虫","url":"http://go-colly.org/","urls":{"-3":"https://github.com/gocolly/colly"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":620},{"name":"cors","desc":"使用net / http可配置的处理程序来处理CORS请求","url":"https://github.com/rs/cors","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","依赖包","其他"],"ownVisible":false,"id":621}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"终端颜色","nav":[{"name":"color","desc":"CLI 控制台颜色渲染工具库, 支持Windows","url":"https://github.com/fatih/color","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","终端颜色"],"ownVisible":false,"id":622}],"createdAt":"2021-01-23 09:32:06"},{"title":"命令行解析","nav":[{"name":"cli","desc":"一个简单,快速且有趣的软件包,用于在Go中构建命令行应用","url":"https://github.com/urfave/cli/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","命令行解析"],"ownVisible":false,"id":623},{"name":"cobra","desc":"Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序","url":"https://github.com/spf13/cobra","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","命令行解析"],"ownVisible":false,"id":624}],"createdAt":"2021-01-23 09:32:06"},{"title":"控制台进度条","nav":[{"name":"pb","desc":"Golang的控制台进度栏","url":"https://github.com/cheggaaa/pb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","控制台进度条"],"ownVisible":false,"id":625},{"name":"mpb","desc":"Go cli应用程序的多进度条","url":"https://github.com/vbauerster/mpb","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","控制台进度条"],"ownVisible":false,"id":626}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"name":"promptui","desc":"命令行应用程序的交互式提示","url":"https://github.com/manifoldco/promptui","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","其他"],"ownVisible":false,"id":627},{"name":"godotenv","desc":"从`.env`文件加载环境变量。","url":"https://github.com/joho/godotenv","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","其他"],"ownVisible":false,"id":628},{"name":"go-prompt","desc":"受python-prompt-toolkit启发,在Go中构建强大的交互式提示。","url":"https://github.com/c-bata/go-prompt","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","CLI","其他"],"ownVisible":false,"id":629}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"工具","nav":[{"title":"工具","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"gvm","desc":"Go版本管理器,类似 nvm","url":"https://github.com/moovweb/gvm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","工具","工具"],"ownVisible":false,"id":630},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"json-to-go","desc":"在线 JSON 转 Struct结构体","url":"https://mholt.github.io/json-to-go/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","工具","工具"],"ownVisible":false,"id":631},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"golangci-lint","desc":"Go的快速Linters Runner","url":"https://github.com/golangci/golangci-lint","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","工具","工具"],"ownVisible":false,"id":632},{"icon":"https://play.golang.org/favicon.ico","name":"The Go Playground","desc":"在线运行Golang","url":"https://play.golang.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","工具","工具"],"ownVisible":false,"id":633},{"icon":"https://nuclei.projectdiscovery.io/","name":"nuclei","desc":"Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。","url":"https://play.golang.org/","urls":{"-3":"https://github.com/projectdiscovery/nuclei"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","工具","工具"],"ownVisible":false,"id":634},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"jaeger","desc":"分布式链路追踪","url":"https://www.jaegertracing.io/","urls":{"-3":"https://github.com/jaegertracing/jaeger"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","工具","工具"],"ownVisible":false,"id":635},{"icon":"https://avatars1.githubusercontent.com/u/19232073?s=200&v=4","name":"delve","desc":"Delve是Go编程语言的调试器。","url":"https://github.com/go-delve/delve","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","工具","工具"],"ownVisible":false,"id":636}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"参考资料","nav":[{"title":"书籍","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go 入门指南","desc":"《The Way to Go》中文译本,中文正式名《Go 入门指南》","url":"https://github.com/unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":637},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言圣经","desc":"Go语言圣经 《The Go Programming Language》 中文版本","url":"https://yar999.gitbook.io/gopl-zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":638},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go WEB 编程","desc":"Golang电子书介绍如何使用Golang建立网络","url":"https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":639},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go简易教程","desc":"《The Little Go Book》中文译本,中文正式名《Go简易教程》","url":"https://github.com/songleo/the-little-go-book_ZH_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":640},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go by Example 中文版","desc":"Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。","url":"https://gobyexample-cn.github.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":641},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言之旅","desc":"本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等","url":"https://tour.go-zh.org/welcome/1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":642},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言101","desc":"一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言","url":"https://gfw.go101.org/article/101.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":643},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言高级编程","desc":"本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)","url":"https://chai2010.cn/advanced-go-programming-book/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":644},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO","desc":"《Mastering GO》中文译本,《玩转 GO》。","url":"https://github.com/hantmac/Mastering_Go_ZH_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":645},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO2","desc":"Mastering Go 第二版中文版来袭!","url":"https://github.com/hantmac/Mastering_Go_Second_Edition_Zh_CN","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","书籍"],"ownVisible":false,"id":646}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"100天从新手到大师","desc":"Golang - 100天从新手到大师","url":"https://www.qfgolang.com/","urls":{"-3":"https://github.com/rubyhan1314/Golang-100-Days"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","参考资料","其他"],"ownVisible":false,"id":647},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"project-layout","desc":"Go标准布局结构,项目架构结构参考。","url":"https://github.com/golang-standards/project-layout/blob/master/README_zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","其他"],"ownVisible":false,"id":648},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"编码规范","desc":"Uber Go 语言编码规范","url":"https://github.com/xxjwxc/uber_go_guide_cn","urls":{"-2":"https://github.com/uber-go/guide/blob/master/style.md","-1":"https://github.com/xxjwxc/uber_go_guide_cn"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Golang","参考资料","其他"],"ownVisible":false,"id":649},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Gin实战","desc":"WEB 框架Gin实战","url":"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI3MjU4Njk3Ng==&action=getalbum&album_id=1362784031968149504&scene=173#wechat_redirect","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Golang","参考资料","其他"],"ownVisible":false,"id":650}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Flutter","nav":[{"title":"生态系统","nav":[{"title":"官方","nav":[{"icon":"https://pub.dev/favicon.ico","name":"Dart","desc":"Dart语言","url":"http://www.dartdoc.cn/","urls":{"-2":"https://dart.dev/","-1":"http://www.dartdoc.cn/","-3":"https://github.com/dart-lang/sdk"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","生态系统","官方"],"ownVisible":false,"id":651},{"icon":"https://pub.dev/favicon.ico","name":"DartPad","desc":"在线运行Dart语法","url":"https://dartpad.cn/embed-inline.html?id=7a9764702c0608711e08&split=90","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","官方"],"ownVisible":false,"id":652},{"icon":"https://pub.dev/favicon.ico","name":"Dart packages","desc":"Dart packages","url":"https://pub.dev/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","官方"],"ownVisible":false,"id":653},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter","desc":"Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的","url":"https://flutterchina.club/","urls":{"-2":"https://flutter.dev/","-1":"https://flutterchina.club/","-3":"https://github.com/flutter/flutter"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","生态系统","官方"],"ownVisible":false,"id":654},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter Icon","desc":"Flutter内置Icon组件图标速查表","url":"https://material.io/resources/icons/?style=baseline","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","官方"],"ownVisible":false,"id":655}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"常用模块","nav":[{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"imei_plugin","desc":"用flutter在Android中获取imei的插件","url":"https://github.com/kevincaicedo/imei_plugin","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":656},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"multi_image_picker","desc":"Flutter插件,可让您在iOS和Android上显示多图像选择器。","url":"https://github.com/Sh1d0w/multi_image_picker","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":657},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"sqflite","desc":"SQLite flutter plugin","url":"https://github.com/tekartik/sqflite","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":658},{"icon":"https://flutter.dev/images/favicon.png","name":"dio","desc":"dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等","url":"https://github.com/flutterchina/dio","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":659},{"icon":"https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67","name":"fish-redux","desc":"一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。","url":"https://github.com/alibaba/fish-redux","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":660},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_pulltorefresh","desc":"一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios","url":"https://github.com/peng8350/flutter_pulltorefresh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":661},{"icon":"https://flutter.dev/images/favicon.png","name":"json_serializable","desc":"JSON序列化和反序列化的代码","url":"https://github.com/dart-lang/json_serializable","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":662},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_swiper","desc":"flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配","url":"https://github.com/best-flutter/flutter_swiper/blob/master/README-ZH.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":663},{"icon":"https://flutter.dev/images/favicon.png","name":"FlutterToast","desc":"适用于Flutter的Android Toast插件","url":"https://github.com/PonnamKarthik/FlutterToast","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":664},{"icon":"https://flutter.dev/images/favicon.png","name":"dart-uuid","desc":"生成 RFC4122(v1,v4,v5) UUIDs","url":"https://github.com/Daegalus/dart-uuid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":665},{"icon":"https://flutter.dev/images/favicon.png","name":"fluwx","desc":"Flutter版微信SDK.WeChat SDK for flutter.","url":"https://github.com/OpenFlutter/fluwx","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","常用模块"],"ownVisible":false,"id":666}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"文档资料","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"Material Design","desc":"Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验","url":"https://material.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":667},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter实战","desc":"Flutter实战","url":"https://book.flutterchina.club/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":668},{"icon":"https://flutter.dev/images/favicon.png","name":"samples","desc":"Flutter示例和演示的集合","url":"https://github.com/flutter/samples","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":669},{"icon":"https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png","name":"flutter-go","desc":"flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档","url":"https://flutter-go.pub/flutter_go_web/#FirstPage","urls":{"-3":"https://github.com/alibaba/flutter-go"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":670},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter-Notebook","desc":"flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识","url":"https://github.com/OpenFlutter/Flutter-Notebook","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":671},{"icon":"https://flutter.dev/images/favicon.png","name":"plugins","desc":"Flutter团队维护的Flutter插件","url":"https://github.com/flutter/plugins","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":672},{"icon":"https://flutter.dev/images/favicon.png","name":"awesome-flutter","desc":"很棒的清单,精选了最好的Flutter库,工具,教程,文章等","url":"https://github.com/Solido/awesome-flutter","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":673},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter-do","desc":"330+Widgets在线查看预览和使用。","url":"http://laomengit.com/flutter/widgets/widgets_structure.html","urls":{"-3":"https://github.com/781238222/flutter-do"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Flutter","生态系统","文档资料"],"ownVisible":false,"id":674}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_wanandroid","desc":"基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码","url":"https://github.com/Sky24n/flutter_wanandroid","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","其他"],"ownVisible":false,"id":675},{"icon":"https://flutter.dev/images/favicon.png","name":"Best-Flutter-UI-Templates","desc":"Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。","url":"https://github.com/mitesh77/Best-Flutter-UI-Templates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Flutter","生态系统","其他"],"ownVisible":false,"id":676}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"collapsed":false,"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Python","nav":[{"title":"生态系统","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"官方","nav":[{"name":"Python","desc":"是一种解释型、面向对象、动态数据类型的高级程序设计语言。","url":"https://www.python.org/","urls":{"-3":"https://github.com/TheAlgorithms/Python"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","生态系统","官方"],"ownVisible":false,"id":677},{"name":"PyPi","desc":"使用Python软件包索引查找,安装和发布Python软件包","url":"https://pypi.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","生态系统","官方"],"ownVisible":false,"id":678}],"createdAt":"2021-01-23 09:32:06"},{"title":"工具","nav":[{"name":"PCU","desc":"python-check-updates, 检查 pip 当前依赖包最新版本","url":"https://github.com/xjh22222228/python-check-updates","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","生态系统","工具"],"ownVisible":false,"id":679}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"依赖包","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"HTTP/爬虫","nav":[{"icon":"https://www.python.org/static/favicon.ico","name":"requests","desc":"requests是一个简单而优雅的HTTP库。","url":"https://requests.readthedocs.io/en/master/","urls":{"-3":"https://github.com/psf/requests"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","依赖包","HTTP/爬虫"],"ownVisible":false,"id":680},{"icon":"https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png","name":"aiohttp","desc":"用于asyncio和Python的异步HTTP客户端/服务器框架","url":"https://docs.aiohttp.org/en/stable/","urls":{"-3":"https://github.com/aio-libs/aiohttp"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","依赖包","HTTP/爬虫"],"ownVisible":false,"id":681},{"icon":"https://avatars2.githubusercontent.com/u/733635?s=200&v=4","name":"Scrapy","desc":"一个用于Python的快速高级Web爬虫框架。","url":"https://scrapy.org/","urls":{"-3":"https://github.com/scrapy/scrapy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","依赖包","HTTP/爬虫"],"ownVisible":false,"id":682},{"icon":"https://avatars0.githubusercontent.com/u/983927?s=200&v=4","name":"selenium","desc":"浏览器自动化框架和生态系统。","url":"https://www.selenium.dev/","urls":{"-3":"https://github.com/SeleniumHQ/selenium/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","依赖包","HTTP/爬虫"],"ownVisible":false,"id":683},{"name":"beautifulsoup","desc":"可以从HTML或XML文件中提取数据的Python库","url":"https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","HTTP/爬虫"],"ownVisible":false,"id":684}],"createdAt":"2021-01-23 09:32:06"},{"title":"图像","nav":[{"name":"Pillow","desc":"友好的PIL前叉,是一个出色的图像处理库","url":"https://python-pillow.org/","urls":{"-3":"https://github.com/python-pillow/Pillow"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","依赖包","图像"],"ownVisible":false,"id":685}],"createdAt":"2021-01-23 09:32:06"},{"title":"运算","nav":[{"name":"numpy","desc":"使用Python进行科学计算的基本软件包。","url":"https://numpy.org/","urls":{"-3":"https://github.com/numpy/numpy"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","依赖包","运算"],"ownVisible":false,"id":686}],"createdAt":"2021-01-23 09:32:06"},{"title":"数据分析","nav":[{"icon":"https://avatars1.githubusercontent.com/u/21206976?s=200&v=4","name":"pandas","desc":"功能强大的Python数据分析工具包","url":"https://github.com/pandas-dev/pandas","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","数据分析"],"ownVisible":false,"id":687}],"createdAt":"2021-01-23 09:32:06"},{"title":"CLI","nav":[{"createdAt":"2021-02-04 20:25:26","name":"rich","icon":"https://github.com/favicon.ico","url":"https://github.com/willmcgugan/rich","desc":"Rich是一个Python库,用于在终端中提供富文本和精美的格式。","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","CLI"],"ownVisible":false,"id":688},{"name":"Fire","desc":"Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。","url":"https://github.com/google/python-fire","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","CLI"],"ownVisible":false,"id":689},{"name":"colorama","desc":"Python中简单的跨平台彩色终端文本","url":"https://pypi.org/project/colorama/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","CLI"],"ownVisible":false,"id":690},{"icon":"https://avatars1.githubusercontent.com/u/12731565?s=200&v=4","name":"tqdm","desc":"适用于Python和CLI的快速,可扩展的进度栏","url":"https://github.com/tqdm/tqdm","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","CLI"],"ownVisible":false,"id":691},{"name":"paramiko","desc":"领先的Python SSHv2协议库","url":"https://github.com/paramiko/paramiko","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","CLI"],"ownVisible":false,"id":692},{"name":"click","desc":"Python可组合命令行界面工具包","url":"https://github.com/pallets/click","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","CLI"],"ownVisible":false,"id":693}],"createdAt":"2021-01-23 09:32:06"},{"createdAt":"2021-01-24 11:58:47","title":"其他","icon":null,"nav":[{"createdAt":"2021-01-24 11:59:58","name":"JMESPath","icon":"https://github.com/favicon.ico","url":"https://github.com/jmespath/jmespath.py","desc":"JMESPath是JSON的查询语言","urls":{},"rate":5,"top":false,"breadcrumb":["Python","依赖包","其他"],"ownVisible":false,"id":694}]}],"createdAt":"2021-01-23 09:32:06"},{"title":"框架","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"WEB框架","nav":[{"icon":"https://avatars3.githubusercontent.com/u/27804?s=200&v=4","name":"Django","desc":"具有期限的完美主义者的Web框架。","url":"https://www.djangoproject.com/","urls":{"-3":"https://github.com/django/django"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","框架","WEB框架"],"ownVisible":false,"id":695},{"icon":"https://avatars0.githubusercontent.com/u/16748505?s=200&v=4","name":"flask","desc":"用于构建Web应用程序的Python微框架。","url":"https://palletsprojects.com/p/flask/","urls":{"-3":"https://github.com/pallets/flask"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Python","框架","WEB框架"],"ownVisible":false,"id":696}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"参考资料","nav":[{"title":"书籍","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"简明 Python 教程","desc":"旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。","url":"https://bop.mol.uno/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","参考资料","书籍"],"ownVisible":false,"id":697}],"createdAt":"2021-01-23 09:32:06"},{"title":"文档资料","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"100天从新手到大师","desc":"Python - 100天从新手到大师","url":"https://github.com/jackfrued/Python-100-Days","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","参考资料","文档资料"],"ownVisible":false,"id":698},{"name":"Python 入门指南","desc":"Python 入门指南","url":"https://python666.cn/cls/lesson/list/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","参考资料","文档资料"],"ownVisible":false,"id":699},{"name":"What the f*ck Python!","desc":"一些有趣且鲜为人知的 Python 特性.","url":"https://github.com/satwikkansal/wtfpython","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","参考资料","文档资料"],"ownVisible":false,"id":700},{"name":"awesome-python-cn","desc":"Python 资源大全中文版","url":"https://github.com/jobbole/awesome-python-cn","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","参考资料","文档资料"],"ownVisible":false,"id":701},{"name":"cheatsheet","desc":"Python大全备忘单","url":"https://github.com/gto76/python-cheatsheet","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","参考资料","文档资料"],"ownVisible":false,"id":702},{"name":"awesome-python","desc":"精选的Python框架,库,软件和资源的精选清单。","url":"https://github.com/vinta/awesome-python","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Python","参考资料","文档资料"],"ownVisible":false,"id":703}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06","id":1},{"title":"社区站点","nav":[{"title":"社区站点","nav":[{"title":"问答社区1","nav":[{"icon":"https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png","name":"segmentfault","desc":"是中文领域最大的技术问答交流社区平台","url":"https://segmentfault.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":704},{"icon":"https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png","name":"掘金","desc":"一个帮助开发者成长的社区","url":"https://juejin.im/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":705},{"name":"DiyCode1","desc":"致力于构建开发工程师高端交流分享社区","url":"https://www.diycode.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":706},{"icon":"https://static.ld246.com/images/favicon.png","name":"黑客派","desc":"黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师","url":"https://hacpai.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":707},{"name":"Node.js专业中文社区","desc":"国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究","url":"https://cnodejs.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":708},{"icon":"https://www.52pojie.cn/favicon.ico","name":"吾爱破解","desc":"吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿","url":"https://www.52pojie.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":709},{"icon":"https://www.freebuf.com/favicon.ico","name":"FreeBuf","desc":"FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台","url":"http://www.freebuf.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":710},{"icon":"https://imweb.io/public/icon.png","name":"IMWeb","desc":"Web前端 腾讯IMWeb 团队社区","url":"http://imweb.io/topic/tab/all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":711},{"icon":"https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a","name":"Stack Overflow","desc":"全球最大的技术问答网站,是一个与程序相关的IT技术问答网站","url":"https://stackoverflow.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":712},{"icon":"https://reactjs.org/favicon.ico","name":"React社区","desc":"React论坛社区","url":"http://react-china.org/","urls":{"-2":"https://discuss.reactjs.org/","-1":"http://react-china.org/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":713},{"icon":"https://p1.ssl.qhimg.com/t010e845cdf71587354.png","name":"众成翻译","desc":"中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品","url":"https://zcfy.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":714},{"icon":"https://developer.mozilla.org/favicon.ico","name":"MDN web docs","desc":"Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件","url":"https://developer.mozilla.org/zh-CN/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":715},{"icon":"https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico","name":"DEV Community","desc":"在这里程序员分享想法并帮助彼此成长","url":"https://dev.to/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","问答社区1"],"ownVisible":false,"id":716}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他","nav":[{"icon":"https://www.v2ex.com/static/img/v2ex_192.png","name":"V2EX","desc":"创意工作者们的社区","url":"https://www.v2ex.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":717},{"icon":"https://static.zhihu.com/static/favicon.ico","name":"知乎","desc":"知乎,中文互联网最大的知识分享和社交平台","url":"https://www.zhihu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":718},{"icon":"https://www.jianshu.com/favicon.ico","name":"简书","desc":"简书是一个创作社区,任何人均可以在其上进行创作","url":"https://www.jianshu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":719},{"icon":"https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico","name":"小专栏","desc":"小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点","url":"https://xiaozhuanlan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":720},{"icon":"https://news.ycombinator.com/favicon.ico","name":"Hacker News","desc":"Hacker News","url":"https://news.ycombinator.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":721},{"icon":"https://stacdn.proginn.com/favicon_new.ico","name":"程序员客栈","desc":"程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务","url":"https://www.proginn.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":722},{"icon":"https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png","name":"职Q","desc":"智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区","url":"https://zq.zhaopin.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":723},{"icon":"http://cdn.jandan.net/static/img/appicon.png","name":"煎蛋","desc":"煎蛋以译介方式传播网络新鲜资讯","url":"http://jandan.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","其他"],"ownVisible":false,"id":724}],"createdAt":"2021-01-23 09:32:06"},{"title":"代码托管","nav":[{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"Github","desc":"面向开源及私有软件项目的托管平台","url":"https://github.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","代码托管"],"ownVisible":false,"id":725},{"icon":"https://gitee.com/favicon.ico","name":"码云","desc":"码云专为开发者提供稳定、高效、安全的云端软件开发协作平台","url":"https://gitee.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","代码托管"],"ownVisible":false,"id":726},{"icon":"https://about.gitlab.com/ico/apple-touch-icon-57x57.png","name":"GitLab","desc":"用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务","url":"https://gitlab.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","代码托管"],"ownVisible":false,"id":727},{"icon":"https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico","name":"Coding","desc":"面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...","url":"https://coding.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["社区站点","社区站点","代码托管"],"ownVisible":false,"id":728}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"Design","nav":[{"title":"Design","nav":[{"title":"材料","nav":[{"icon":"http://www.51yuansu.com/favicon.ico","name":"觅元素","desc":"觅元素,为您提供免费设计元素,设计元素的资源站","url":"http://www.51yuansu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":729},{"icon":"https://js.588ku.com/comp/public/css/iconfont/favicon.ico","name":"千库网","desc":"致力于为设计师提供最优质的素材","url":"http://588ku.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":730},{"icon":"https://huaban.com/img/touch-icon-ipad.png","name":"花瓣网","desc":"花瓣,陪你做生活的设计师","url":"http://huaban.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":731},{"icon":"https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico","name":"Dribbble","desc":"Dribbble是展示和宣传,推广,发现和探索设计的地方","url":"https://dribbble.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":732},{"icon":"https://669pic.com/669pic.ico","name":"万素网","desc":"万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务","url":"http://669pic.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":733},{"icon":"https://www.artstation.com/assets/favicon.ico","name":"ArtStation","desc":"ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。","url":"https://www.artstation.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":734},{"icon":"https://static.canva.com/static/images/favicon.ico","name":"Design Templates - Canva","desc":"设计模板 - Canva","url":"https://www.canva.com/templates/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":735},{"icon":"https://unsplash.com/favicon-32x32.png","name":"Unsplash","desc":"美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。","url":"https://unsplash.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":736},{"icon":"https://www.gaoding.com/favicon.ico","name":"稿定设计","desc":"电商素材、新媒体配图、手机海报等。","url":"https://www.gaoding.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":737},{"icon":"https://undraw.co/favicon-32x32.png","name":"unDraw","desc":"带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序","url":"https://undraw.co/illustrations","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":738},{"icon":"https://www.ui.cn/Public/img/favicon.ico","name":"UI中国用户体验设计平台","desc":"UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!","url":"https://www.ui.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":739},{"icon":"https://octodex.github.com/favicon.ico","name":"GitHub Octodex","desc":"由GitHub Design团队创建和维护的所有吉祥物素材","url":"https://octodex.github.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":740},{"icon":"http://collectui.com/img/favicon.ico","name":"Collect UI","desc":"从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新","url":"http://collectui.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","材料"],"ownVisible":false,"id":741}],"createdAt":"2021-01-23 09:32:06"},{"title":"图标","nav":[{"icon":"https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png","name":"icons8","desc":"下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐","url":"https://icons8.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","图标"],"ownVisible":false,"id":742},{"icon":"https://www.vectorlogo.zone/favicon.ico","name":"vectorlogo","desc":"3000多种精美的SVG徽标,非常适合您的自述文件或积分页面","url":"https://www.vectorlogo.zone/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","图标"],"ownVisible":false,"id":743},{"icon":"https://www.shareicon.net/favicon.ico","name":"shareicon","desc":"超过25万个icon免费集合","url":"https://www.shareicon.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","图标"],"ownVisible":false,"id":744},{"name":"SVG Logos","desc":"超过1000+SVG Logos集合","url":"https://github.com/gilbarbara/logos/archive/master.zip","urls":{"-3":"https://github.com/gilbarbara/logos/tree/master/logos"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["Design","Design","图标"],"ownVisible":false,"id":745},{"icon":"https://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"阿里妈妈MUX倾力打造的矢量图标管理、交流平台","url":"http://www.iconfont.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","图标"],"ownVisible":false,"id":746},{"icon":"https://iconscout.com/favicon.ico","name":"iconscount","desc":"免费下载图标,插图和库存照片","url":"https://iconscout.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","图标"],"ownVisible":false,"id":747}],"createdAt":"2021-01-23 09:32:06"},{"title":"工具","nav":[{"icon":"https://www.chuangkit.com/favicon.ico","name":"创客贴","desc":"一款简单易用、功能强大的线上图形设计工具","url":"https://www.chuangkit.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","工具"],"ownVisible":false,"id":748},{"name":"Ps Play","desc":"Ps Play - 移动设计零阻力","url":"https://isux.tencent.com/resources/psplay/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","工具"],"ownVisible":false,"id":749},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"鹿班","desc":"鹿班 - 让设计更美好(阿里出品)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","工具"],"ownVisible":false,"id":750},{"icon":"https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6","name":"fontspace","desc":"6500+免费字体下载","url":"https://www.fontspace.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","工具"],"ownVisible":false,"id":751}],"createdAt":"2021-01-23 09:32:06"},{"title":"配色","nav":[{"icon":"https://colorhunt.co/img/color-hunt-icon-ios.png","name":"Color Hunt","desc":"Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感","url":"https://colorhunt.co/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["Design","Design","配色"],"ownVisible":false,"id":752}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"学无止境","nav":[{"title":"参考文档","nav":[{"title":"Docker","nav":[{"icon":"https://github.com/favicon.ico","name":"Docker — 从入门到实践","desc":"Docker — 从入门到实践","url":"https://yeasy.gitbooks.io/docker_practice/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Docker"],"ownVisible":false,"id":753},{"icon":"https://github.com/favicon.ico","name":"Docker官方映像文档","desc":"docker-library中的Docker官方映像文档","url":"https://github.com/docker-library/docs","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Docker"],"ownVisible":false,"id":754},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker Hub","desc":"Docker 镜像仓库","url":"https://hub.docker.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Docker"],"ownVisible":false,"id":755},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker-Compose","desc":"使用Docker定义和运行多容器应用程序","url":"https://docs.docker.com/compose/","urls":{"-3":"https://github.com/docker/compose"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Docker"],"ownVisible":false,"id":756}],"createdAt":"2021-01-23 09:32:06"},{"title":"Git","nav":[{"icon":"https://github.com/favicon.ico","name":"git-manual","desc":"Git常用命令参考手册 (推荐学习)","url":"https://github.com/xjh22222228/git-manual","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Git"],"ownVisible":false,"id":757},{"icon":"https://github.com/favicon.ico","name":"GitHub Docs","desc":"github 官方帮助文档","url":"https://help.github.com/cn","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Git"],"ownVisible":false,"id":758},{"icon":"https://github.com/favicon.ico","name":"awesome-actions","desc":"精选的GitHub上很棒的Action列表","url":"https://github.com/sdras/awesome-actions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Git"],"ownVisible":false,"id":759},{"icon":"https://github.com/favicon.ico","name":"Github - Actions","desc":"Github 官方Actions 资源列表","url":"https://github.com/marketplace?type=actions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Git"],"ownVisible":false,"id":760},{"icon":"https://github.com/favicon.ico","name":"growing-up","desc":"程序猿成长计划","url":"https://github.com/mylxsw/growing-up","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","Git"],"ownVisible":false,"id":761}],"createdAt":"2021-01-23 09:32:06"},{"title":"服务器","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"nginx","desc":"nginx参考文档","url":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","urls":{"-2":"http://nginx.org/en/docs/","-1":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","-3":"https://github.com/nginx/nginx"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","参考文档","服务器"],"ownVisible":false,"id":762},{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"Nginx开发从入门到精通","desc":"Nginx开发从入门到精通","url":"http://tengine.taobao.org/book/index.html","urls":{"-3":"https://github.com/taobao/nginx-book"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","参考文档","服务器"],"ownVisible":false,"id":763}],"createdAt":"2021-01-23 09:32:06"},{"title":"数据库","nav":[{"icon":"https://avatars3.githubusercontent.com/u/1529926?s=200&v=4","name":"redis","desc":"Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构","url":"http://www.redis.cn/","urls":{"-2":"https://redis.io/","-1":"http://www.redis.cn/","-3":"https://github.com/redis/redis"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","参考文档","数据库"],"ownVisible":false,"id":764},{"icon":"https://labs.mysql.com/common/themes/sakila/favicon.ico","name":"MySQL","desc":"MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持","url":"https://www.mysql.com/cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","数据库"],"ownVisible":false,"id":765}],"createdAt":"2021-01-23 09:32:06"},{"title":"书籍","nav":[{"icon":"https://avatars1.githubusercontent.com/u/14127308?s=200&v=4","name":"免费的编程中文书籍索引","desc":"免费的编程中文书籍索引","url":"https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","书籍"],"ownVisible":false,"id":766},{"icon":"https://zh.b-ok.global/apple-touch-icon.png","name":"Zlibrary","desc":"Z-Library 项目部分. 全球最大的数字图书馆, 电子书","url":"https://zh.b-ok.global/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","书籍"],"ownVisible":false,"id":767},{"name":"IT-eBOOK","desc":"IT类技术书籍PDF","url":"https://github.com/asyncfun/IT-eBOOK","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","书籍"],"ownVisible":false,"id":768},{"icon":"https://refactoringguru.cn/favicon.ico","name":"Refactoring.Guru","desc":"22种常用设计模式","url":"https://refactoringguru.cn/design-patterns","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","书籍"],"ownVisible":false,"id":769}],"createdAt":"2021-01-23 09:32:06"},{"title":"其他文档","nav":[{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png","name":"Linux 常用命令参考手册","desc":"Linux 常用命令参考手册","url":"https://github.com/xjh22222228/linux-manual","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":770},{"icon":"https://github.com/favicon.ico","name":"developer-roadmap","desc":"2020年成为网络开发人员的路线图","url":"https://github.com/kamranahmedse/developer-roadmap","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":771},{"icon":"https://devhints.io/assets/favicon.png","name":"Devhints","desc":"WEB开发速查表,mysql/go/java/js/bash/react/git...","url":"https://devhints.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":772},{"icon":"https://wangchujiang.com/linux-command/img/favicon.ico","name":"linux-command","desc":"Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集","url":"https://git.io/linux","urls":{"-3":"https://github.com/jaywcjlove/linux-command"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":773},{"icon":"https://github.com/favicon.ico","name":"learn-regex","desc":"正则表达式学习","url":"https://github.com/ziishaned/learn-regex","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":774},{"icon":"https://github.com/favicon.ico","name":"the-art-of-command-line","desc":"命令行的艺术","url":"https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":775},{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png","name":"Peter Beverloo","desc":"Chrome浏览器命令参数参考手册","url":"https://peter.sh/experiments/chromium-command-line-switches/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":776},{"icon":"https://avatars2.githubusercontent.com/u/11618545?s=200&v=4","name":"vimrc","desc":"vim配置参考手册","url":"https://github.com/amix/vimrc","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":777},{"icon":"https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico","name":"Jenkins","desc":"Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要","url":"https://www.jenkins.io/zh/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":778},{"icon":"https://learnxinyminutes.com/favicon.ico","name":"learnxinyminutes-docs","desc":"在Y分钟内学习X","url":"https://learnxinyminutes.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":779},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode Docs","desc":"Vscode 扩展开发文档","url":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","urls":{"-2":"https://code.visualstudio.com/api","-1":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","-3":"https://github.com/microsoft/vscode-docs"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":780},{"name":"YAML教程","desc":"YAML教程","url":"https://www.yiibai.com/yaml","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":781},{"icon":"https://www.google.com/images/icons/product/chrome-32.png","name":"Chrome Extension","desc":"谷歌浏览器扩展插件开发文档","url":"https://developer.chrome.com/extensions","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","参考文档","其他文档"],"ownVisible":false,"id":782}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"教程相关","nav":[{"nav":[{"icon":"https://static.runoob.com/images/icon/mobile-icon.png","name":"菜鸟教程","desc":"提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程","url":"https://www.runoob.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":783},{"icon":"https://www.imooc.com/static/img/common/touch-icon-ipad.png","name":"慕课网","desc":"慕课网-程序员的梦工厂","url":"https://www.imooc.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":784},{"icon":"https://www.jikexueyuan.com/favicon.ico","name":"极客学院","desc":"致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育","url":"https://www.jikexueyuan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":785},{"icon":"https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico","name":"腾讯课堂","desc":"腾讯课堂 - 专业的在线教育平台","url":"https://ke.qq.com/index.html","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":786},{"icon":"https://static2.ichunqiu.com/icq/resources/images/favicon.ico","name":"i春秋","desc":"【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台","url":"https://www.ichunqiu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":787},{"icon":"http://www.shiyanbar.com/favicon.ico","name":"实验吧","desc":"实验吧是国内最大的在线虚拟机实验IT教育平台","url":"http://www.shiyanbar.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":788},{"icon":"https://www.hetianlab.com/img/ico/favicon.ico","name":"合天网安实验室","desc":"合天网安实验室是支持在线实验的信息安全学习的大型服务平台","url":"http://www.hetianlab.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":789},{"icon":"https://study.163.com/favicon.ico","name":"网易云课堂","desc":"网易云课堂 - 领先的实用技能学习平台","url":"http://study.163.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":790},{"icon":"https://study.163.com/favicon.ico","name":"蓝桥","desc":"蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用","url":"https://www.lanqiao.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":791},{"icon":"https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2","name":"W3Cschool","desc":"编程狮,是一个专业的W3C前端开发及编程入门学习平台","url":"https://www.w3cschool.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","教程相关"],"ownVisible":false,"id":792}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"面试刷题","nav":[{"title":"面试刷题","nav":[{"icon":"https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png","name":"LeetCode","desc":"提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。","url":"https://leetcode-cn.com/","urls":{"-2":"https://leetcode.com/"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","面试刷题","面试刷题"],"ownVisible":false,"id":793},{"icon":"https://www.nowcoder.com/favicon.ico","name":"牛客网","desc":"牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库","url":"https://www.nowcoder.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","面试刷题","面试刷题"],"ownVisible":false,"id":794},{"icon":"https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png","name":"CS-Notes","desc":"技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++","url":"https://cyc2018.github.io/CS-Notes","urls":{"-3":"https://github.com/CyC2018/CS-Notes"},"createdAt":"2021-01-23 09:32:06","rate":5,"top":false,"breadcrumb":["学无止境","面试刷题","面试刷题"],"ownVisible":false,"id":795},{"icon":"https://visualgo.net/img/favicon.png","name":"数据结构和算法动态可视化","desc":"数据结构和算法动态可视化","url":"https://visualgo.net/zh","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","面试刷题","面试刷题"],"ownVisible":false,"id":796},{"icon":"https://github.com/favicon.ico","name":"algorithm-pattern","desc":"算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~","url":"https://github.com/greyireland/algorithm-pattern","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["学无止境","面试刷题","面试刷题"],"ownVisible":false,"id":797}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"网络安全","nav":[{"title":"网络安全","nav":[{"title":"网络安全","nav":[{"name":"乌云网镜像","desc":"WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义","url":"http://wooyun.2xss.cc/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":798},{"icon":"https://www.anquan.org/aq_static/images/favicon/favicon.ico","name":"安全联盟","desc":"安全联盟 - 国内最大的第三方网络安全数据共享交换平台","url":"https://www.anquan.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":799},{"icon":"https://www.360.cn/favicon.ico","name":"360网站安全检测","desc":"为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务","url":"http://webscan.360.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":800},{"icon":"https://www.2cto.com/favicon.ico","name":"红黑联盟","desc":"红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体","url":"https://www.2cto.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":801},{"icon":"https://www.knownsec.com/static/favicon.ico","name":"知道创宇","desc":"知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案","url":"https://www.knownsec.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":802},{"name":"安全周","desc":"关注安全资讯 专注资源共享","url":"https://www.secz.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":803},{"icon":"https://www.hacked.com.cn/favicon.ico","name":"全球被黑站点统计系统","desc":"主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...","url":"http://www.hacked.com.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":804},{"icon":"https://www.secpulse.com/favicon.ico","name":"安全脉搏","desc":"高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区","url":"https://www.secpulse.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","网络安全"],"ownVisible":false,"id":805}],"createdAt":"2021-01-23 09:32:06"},{"title":"CTF","nav":[{"icon":"http://xss.xiejiahe.com/favicon.png","name":"XSS-CTF","desc":"XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识","url":"http://xss.xiejiahe.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","CTF"],"ownVisible":false,"id":806},{"name":"XSS测试","desc":"XSS小游戏","url":"https://xss.haozi.me/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","CTF"],"ownVisible":false,"id":807},{"name":"Pasteurize","desc":"XSS CTF","url":"https://pasteurize.web.ctfcompetition.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","CTF"],"ownVisible":false,"id":808}],"createdAt":"2021-01-23 09:32:06"},{"title":"辅助工具","nav":[{"icon":"https://www.telerik.com/favicon.ico","name":"fiddler","desc":"Fiddler是一个用于HTTP调试的代理服务器应用程序","url":"https://www.telerik.com/fiddler","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":809},{"icon":"https://www.wireshark.org/assets/images/favicon.ico","name":"wireshark","desc":"是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换","url":"https://www.wireshark.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":810},{"name":"XSS平台-白帽安全测试","desc":"XSS平台是一个免费给白帽安全测试的平台","url":"https://xsspt.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":811},{"name":"Security Headers","desc":"快速轻松地评估HTTP响应头的安全性","url":"https://securityheaders.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":812},{"name":"w9scan","desc":"一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...","url":"https://github.com/w-digital-scanner/w9scan","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":813},{"icon":"https://avatars0.githubusercontent.com/u/7302766?s=200&v=4","name":"xray","desc":"xray 安全评估工具","url":"https://github.com/chaitin/xray","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":814},{"icon":"https://www.cmd5.com/favicon.ico","name":"cmd5","desc":"md5在线解密破解,md5解密加密","url":"https://www.cmd5.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":815},{"icon":"https://avatars3.githubusercontent.com/u/735289?s=200&v=4","name":"sqlmap","desc":"自动SQL注入和数据库接管工具","url":"http://sqlmap.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":816},{"icon":"https://avatars2.githubusercontent.com/u/63385?s=200&v=4","name":"nmap","desc":"nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端","url":"https://nmap.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":817},{"icon":"http://xssor.io/s/favicon.ico","name":"xssor","desc":"编码/解码,Codz,探针","url":"http://xssor.io","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":818},{"icon":"https://phpinfo.me/favicon.ico","name":"在线子域名查询","desc":"在线子域名查询","url":"https://phpinfo.me/domain/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":819},{"name":"fuzzDicts","desc":"Web Pentesting Fuzz 字典","url":"https://github.com/TheKingOfDuck/fuzzDicts","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":820},{"name":"BurpSuitePro","desc":"免费的BurpSuitePro版本","url":"https://github.com/TrojanAZhen/BurpSuitePro-2.1","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","辅助工具"],"ownVisible":false,"id":821}],"createdAt":"2021-01-23 09:32:06"},{"title":"知识/测试","nav":[{"icon":"https://vulhub.org/img/favicon.ico","name":"Vulhub","desc":"基于docker和docker-compose的漏洞环境集合...","url":"https://vulhub.org","langguage":["","","https://github.com/vulhub/vulhub"],"createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","知识/测试"],"ownVisible":false,"id":822},{"name":"SRC-experience","desc":"工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享","url":"https://github.com/Wh0ale/SRC-experience","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","知识/测试"],"ownVisible":false,"id":823},{"name":"Intranet_Penetration_Tips","desc":"内网渗透TIPS","url":"https://github.com/Ridter/Intranet_Penetration_Tips","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["网络安全","网络安全","知识/测试"],"ownVisible":false,"id":824}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"运营相关","nav":[{"title":"运营相关","nav":[{"title":"运营相关","nav":[{"icon":"https://tongji.baidu.com/favicon.ico","name":"百度统计","desc":"全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...","url":"https://tongji.baidu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":825},{"icon":"https://www.umeng.com/favicon.ico","name":"CNZZ","desc":"CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定","url":"http://www.cnzz.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":826},{"icon":"https://www.baidu.com/img/baidu.svg","name":"百度搜索资源平台","desc":"百度搜索资源平台_让网站更具价值","url":"https://ziyuan.baidu.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":827},{"icon":"https://www.wjx.cn/favicon.ico","name":"问卷星","desc":"免费使用问卷星创建问卷调查、在线考试、360度评估等应用","url":"https://www.wjx.cn/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":828},{"icon":"https://gd-assets.jinshujucdn.com/favicon.ico","name":"金数据","desc":"金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率","url":"https://jinshuju.net/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":829},{"icon":"https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png","name":"Google Analytics","desc":"Google Analytics是一个收集数据并将其分析整理成实用报告的平台","url":"https://analytics.google.com","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":830},{"icon":"https://mta.qq.com/mta/resource/imgcache/images/favicon.ico","name":"腾讯移动分析","desc":"腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务","url":"https://mta.qq.com/mta/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":831},{"icon":"https://www.google.com/favicon.ico","name":"Google Adsense","desc":"Google Adsense","url":"https://www.google.com/adsense","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["运营相关","运营相关","运营相关"],"ownVisible":false,"id":832}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"},{"title":"博客看点","nav":[{"title":"博客看点","nav":[{"title":"Team","nav":[{"icon":"https://aotu.io/img/favicon-48x48.png","name":"凹凸实验室","desc":"O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...","url":"https://aotu.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","Team"],"ownVisible":false,"id":833},{"icon":"https://imweb.io/public/icon.png","name":"腾讯IMWeb","desc":"Web前端 腾讯IMWeb 团队社区","url":"https://imweb.io/topic/tab/all","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","Team"],"ownVisible":false,"id":834},{"icon":"https://avatars1.githubusercontent.com/u/4158466?s=200&v=4","name":"字节跳动技术博客","desc":"字节跳动技术博客","url":"https://techblog.toutiao.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","Team"],"ownVisible":false,"id":835},{"icon":"https://fed.taobao.org/favicon.ico","name":"淘系前端团队","desc":"用技术为体验提供无限可能","url":"https://fed.taobao.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","Team"],"ownVisible":false,"id":836},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"有赞技术团队","desc":"有赞技术团队","url":"https://tech.youzan.com/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","Team"],"ownVisible":false,"id":837}],"createdAt":"2021-01-23 09:32:06"},{"title":"个人博客","nav":[{"name":"阮一峰的网络日志","icon":"http://www.ruanyifeng.com/favicon.ico","url":"http://www.ruanyifeng.com/blog/","desc":"阮一峰的网络日志","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","个人博客"],"ownVisible":false,"id":838},{"icon":"https://www.xiejiahe.com/favicon-128x128.png","name":"谢家和的博客","desc":"WEB Developer","url":"https://www.xiejiahe.com/?from=nav2","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","个人博客"],"ownVisible":false,"id":839},{"icon":"https://www.yinwang.org/images/Yc.jpg","name":"王垠的博客","desc":"当然我在扯淡","url":"http://www.yinwang.org/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","个人博客"],"ownVisible":false,"id":840},{"icon":"https://overreacted.io/favicon.ico","name":"Dan","desc":"react作者的博客","url":"https://overreacted.io/","createdAt":"2021-01-23 09:32:06","urls":{},"rate":5,"top":false,"breadcrumb":["博客看点","博客看点","个人博客"],"ownVisible":false,"id":841}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}],"createdAt":"2021-01-23 09:32:06"}] \ No newline at end of file diff --git a/nav.config.ts b/nav.config.ts deleted file mode 100644 index 93e70557a8..0000000000 --- a/nav.config.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { IConfig } from './src/types' - -const c: IConfig = { - // [Mondatory], Please replace following Github url with your own Github address which you forked in. - // [必填], 请填写您的仓库地址, 地址最后不要带 / - gitRepoUrl: 'https://github.com/xjh22222228/nav', - - // 部署平台 - // 可选 Github | Gitee,如果是 Gitee 上面一定要填写 Gitee 的仓库地址 - // Gitee 官方图片新增防盗链,不要使用上传图片功能,自己填入图片地址 - // 作者Gitee仓库地址 https://gitee.com/xiejiahe/nav - provider: 'Github', - - // Deployment branch name - // 部署分支 - branch: 'main', - - // Whether the route is in Hash mode, if it is deployed on github pages, it must be set to true - // 路由是否Hash模式, 如果是部署在github pages 务必设为 true - hashMode: true, -} - -export default c diff --git a/package.json b/package.json index 4b503f3e4a..79678ea9a1 100644 --- a/package.json +++ b/package.json @@ -1,27 +1,31 @@ { + "gitRepoUrl": "https://github.com/xjh22222228/nav", + "provider": "Github", + "branch": "main", + "hashMode": false, + "address": "http://localhost:7777", + "password": "admin", + "port": 7777, + "email": "", + "----------------": "----------------以下字段无需处理--------------------------", + "================": "网站所有内容都是可以在后台系统配置的,不懂的不要擅自修改源代码,出现异常请自行处理", "name": "nav", "version": "8.7.0", "author": "xiejiahe", - "bugs": { - "url": "https://github.com/xjh22222228/nav/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/xjh22222228/nav.git" - }, "homepage": "https://github.com/xjh22222228/nav", "scripts": { "ng": "ng", - "start": "npm run build-internal && ng serve --port=7001", - "build-internal": "ts-node ./scripts/internal.mjs", - "setup": "npm run build-internal && tsc nav.config.ts && ts-node ./scripts/build.mjs", + "start": "npm run build-start && ng serve --port=7001", + "build-start": "ts-node ./scripts/start.mjs", + "setup": "npm run build-start && ts-node ./scripts/build.mjs", "build-gh-pages": "npm run setup && ng build --base-href ./ --index src/index.html && ts-node ./scripts/done.mjs", "build": "npm run setup && ng build --index src/index.html && ts-node ./scripts/done.mjs", "watch": "ng build --watch --configuration development", "update": "git pull && (git remote add upstream https://gitee.com/xiejiahe/nav.git || true) && git fetch upstream main && git merge upstream/main --allow-unrelated-histories --no-edit && git push", "pull": "git pull", - "server": "pm2 start server.js", - "restartServer": "pm2 restart server" + "server": "pm2 start server.mjs", + "restartServer": "pm2 restart server", + "stopServer": "pm2 stop server" }, "private": true, "dependencies": { @@ -58,6 +62,9 @@ "@angular/compiler-cli": "^18.0.1", "@types/jasmine": "~5.1.4", "@types/nprogress": "^0.2.3", + "body-parser": "^1.20.2", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", "cors": "^2.8.5", "info-web": "^0.0.29", "jasmine-core": "~5.1.2", diff --git a/scripts/build.mjs b/scripts/build.mjs index ba7758fc23..435114b3e8 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -3,11 +3,11 @@ import fs from 'fs' import path from 'path' -import LOAD_MAP from './loading.js' import dayjs from 'dayjs' -import getWebInfo from 'info-web' + import utc from 'dayjs/plugin/utc.js' import timezone from 'dayjs/plugin/timezone.js' +import { writeSEO, writeTemplate, spiderWeb } from './util.mjs' dayjs.extend(utc) dayjs.extend(timezone) @@ -21,237 +21,17 @@ const db = JSON.parse(fs.readFileSync(dbPath).toString()) const pkg = JSON.parse(fs.readFileSync(pkgPath).toString()) const settings = JSON.parse(fs.readFileSync(setPath).toString()) -const nowDate = dayjs.tz().format('YYYY-MM-DD HH:mm:ss') - -const { description, title, keywords, loading, favicon, headerContent } = - settings - -const htmlTemplate = ` - - ${title} - - - - -`.trim() - -let scriptTemplate = ``.trim() - -let seoTemplate = ` -
-` - -function correctURL(url) { - if (!url) { - return url - } - if (url[0] === '!') { - return url.slice(1) - } - return url -} - -async function buildSeo() { - function r(navList) { - for (let value of navList) { - if (Array.isArray(value.nav)) { - r(value.nav) - } - if (value.name) { - seoTemplate += `
${value.name}
${ - value.desc ? `

${value.desc}

` : '' - }` - } - } - } - - if (settings.openSEO) { - r(db) - } - - seoTemplate += '
' -} - -async function build() { - const htmlPath = path.join('.', 'src', 'main.html') - const writePath = path.join('.', 'src', 'index.html') - let t = fs.readFileSync(htmlPath).toString() - t = t.replace(/.*<\/title>/i, '') - t = t.replace(/<link rel="icon"[^>]*>/, '') - t = t.replace('<!-- nav.config -->', htmlTemplate) - if (headerContent) { - t = t.replace('<!-- nav.headerContent -->', headerContent) - } - - t = t.replace('<!-- nav.script -->', scriptTemplate) - - t = t.replace('<!-- nav.seo -->', seoTemplate) - - const loadingCode = settings.loadingCode.trim() - t = t.replace( - '<!-- nav.loading -->', - loadingCode || LOAD_MAP[getLoadKey()] || '' - ) - - fs.writeFileSync(writePath, t, { encoding: 'utf-8' }) - fs.unlinkSync('./nav.config.js') -} - -buildSeo() - .finally(() => build()) - .catch(console.error) - -function getLoadKey() { - const keys = Object.keys(LOAD_MAP) - const rand = Math.floor(Math.random() * keys.length) - const loadingKey = loading === 'random' ? keys[rand] : loading - return loadingKey -} - -// 检查链接 +const seoTemplate = writeSEO(db, { settings, pkg }) +const htmlPath = path.join('.', 'src', 'main.html') +const writePath = path.join('.', 'src', 'index.html') +const html = writeTemplate({ + html: fs.readFileSync(htmlPath).toString(), + settings, + seoTemplate, +}) +fs.writeFileSync(writePath, html) let errorUrlCount = 0 -;(async function () { - const items = [] - - async function r(nav) { - if (!Array.isArray(nav)) return - - for (let i = 0; i < nav.length; i++) { - const item = nav[i] - if (item.url) { - delete item.ok - if ( - settings.checkUrl || - settings.spiderIcon === 'EMPTY' || - settings.spiderIcon === 'ALWAYS' || - settings.spiderDescription === 'EMPTY' || - settings.spiderDescription === 'ALWAYS' || - settings.spiderTitle === 'EMPTY' || - settings.spiderTitle === 'ALWAYS' - ) { - items.push(item) - } - } else { - r(item.nav) - } - } - } - - r(db) - - const max = settings.spiderQty ?? 20 - const count = Math.ceil(items.length / max) - let current = 0 - const now = Date.now() - - if (items.length) { - console.log( - `正在爬取信息... 并发数量:${max} 超时: ${settings.spiderTimeout}秒` - ) - } - - while (current < count) { - const requestPromises = [] - for (let i = current * max; i < current * max + max; i++) { - const item = items[i] - if (item) { - requestPromises.push( - getWebInfo(correctURL(item.url), { - timeout: settings.spiderTimeout * 1000, - }) - ) - } - } - - const promises = await Promise.allSettled(requestPromises) - - for (let i = 0; i < promises.length; i++) { - const idx = current * max + i - const item = items[idx] - const res = promises[i].value - console.log( - `${idx}:${ - res.status ? '正常' : `疑似异常: ${res.errorMsg}` - } ${correctURL(item.url)}` - ) - if (settings.checkUrl) { - if (!res.status) { - errorUrlCount += 1 - item.ok = false - } - } - if (res.status) { - if (settings.spiderIcon === 'ALWAYS' && res.iconUrl) { - item.icon = res.iconUrl - console.log( - `更新图标:${correctURL(item.url)}: "${item.icon}" => "${ - res.iconUrl - }"` - ) - } else if ( - settings.spiderIcon === 'EMPTY' && - !item.icon && - res.iconUrl - ) { - item.icon = res.iconUrl - console.log( - `更新图标:${correctURL(item.url)}: "${item.icon}" => "${ - res.iconUrl - }"` - ) - } - - if (settings.spiderTitle === 'ALWAYS' && res.title) { - console.log( - `更新标题:${correctURL(item.url)}: "${item.title}" => "${ - res.title - }"` - ) - item.name = res.title - } else if ( - settings.spiderTitle === 'EMPTY' && - !item.name && - res.title - ) { - console.log( - `更新标题:${correctURL(item.url)}: "${item.title}" => "${ - res.title - }"` - ) - item.name = res.title - } - - if (settings.spiderDescription === 'ALWAYS' && res.description) { - console.log( - `更新描述:${correctURL(item.url)}: "${item.desc}" => "${ - res.description - }"` - ) - item.desc = res.description - } else if ( - settings.spiderDescription === 'EMPTY' && - !item.desc && - res.description - ) { - console.log( - `更新描述:${correctURL(item.url)}: "${item.desc}" => "${ - res.description - }"` - ) - item.desc = res.description - } - } - console.log('-'.repeat(100)) - } - current += 1 - } - - const diff = Math.ceil((Date.now() - now) / 1000) - console.log(`Time: ${diff} seconds`) -})() process.on('exit', () => { settings.errorUrlCount = errorUrlCount @@ -259,3 +39,6 @@ process.on('exit', () => { fs.writeFileSync(dbPath, JSON.stringify(db), { encoding: 'utf-8' }) console.log('All success!') }) + +const { errorUrlCount: count } = await spiderWeb(db, settings) +errorUrlCount = count diff --git a/scripts/db.mjs b/scripts/db.mjs new file mode 100644 index 0000000000..fd7540a9a0 --- /dev/null +++ b/scripts/db.mjs @@ -0,0 +1,11075 @@ +export default [ + { + title: '实用工具', + nav: [ + { + title: '开发相关', + nav: [ + { + title: '开发神器', + nav: [ + { + name: 'Github-CLI', + createdAt: '2021-02-18 21:06:06', + rate: 5, + desc: 'GitHub的官方命令行工具', + icon: 'https://github.githubassets.com/favicons/favicon.svg', + url: 'https://cli.github.com/', + urls: { '-3': 'https://github.com/cli/cli' }, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 1, + }, + { + name: 'Coveralls', + icon: 'https://coveralls.io/favicon.png', + url: 'https://coveralls.io/', + desc: '通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 2, + }, + { + name: 'Releasly', + desc: '在新的开源版本发布时收到通知,直接发送到您的电子邮件中。', + url: 'https://www.releasly.co/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 3, + icon: '', + }, + { + name: 'Convert cURL', + desc: '将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。', + url: 'https://curl.trillworks.com/', + urls: { '-3': 'https://github.com/NickCarneiro/curlconverter' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 4, + icon: '', + }, + { + name: 'Supervisor', + desc: 'Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。', + url: 'http://supervisord.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 5, + icon: '', + }, + { + icon: 'https://www.sonarqube.org/favicon-152.png', + name: 'SonarQube', + desc: '代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。', + url: 'https://www.sonarqube.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 6, + }, + { + icon: 'https://paste.ubuntu.com/favicon.ico', + name: 'Pastebin', + desc: '在线共享代码,将代码以URL形式发送以便查看', + url: 'https://paste.ubuntu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 7, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/30217756?s=200&v=4', + name: 'UPX', + desc: 'UPX-可执行文件的终极打包器', + url: 'https://github.com/upx/upx', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 8, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/30217756?s=200&v=4', + name: 'askgit', + desc: '使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。', + url: 'https://github.com/augmentable-dev/askgit', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 9, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/1396951?s=200&v=4', + name: 'Sentry', + desc: 'Web应用程序,移动应用程序和游戏的实时崩溃报告。', + url: 'https://sentry.io/', + urls: { '-3': 'https://github.com/getsentry' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 10, + }, + { + icon: 'https://randomuser.me/favicon.ico', + name: 'randomuser', + desc: '随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。', + url: 'https://randomuser.me/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 11, + }, + { + icon: 'https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667', + name: 'github-readme-stats', + desc: '在你的 README 中 获取动态生成的 GitHub 统计信息', + url: 'https://github.com/anuraghazra/github-readme-stats/blob/master/readme_cn.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 12, + }, + { + icon: 'https://i.imgur.com/zBEQq4w.png', + name: 'Hits', + desc: '了解有多少人正在查看您的GitHub项目的简单方法', + url: 'http://hits.dwyl.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 13, + }, + { + name: 'GitHub 文件加速', + desc: 'GitHub 文件加速', + url: 'https://shrill-pond-3e81.hunsh.workers.dev/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 14, + icon: '', + }, + { + name: 'Shields IO', + desc: 'svg生成版本号图标', + url: 'https://shields.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 15, + icon: '', + }, + { + icon: 'https://www.fundebug.com/favicon.ico', + name: 'FunDebug', + desc: '支持前端JavaScript,后端Node.js以及微信小程序错误监控', + url: 'https://www.fundebug.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 16, + }, + { + icon: 'http://www.asciiworld.com/favicon.ico', + name: 'Asciiworld', + desc: 'WA!原来那些年程序猿搞怪的注释都在这里', + url: 'http://www.asciiworld.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 17, + }, + { + icon: 'https://jsfiddle.net/img/favicon.png', + name: 'jsfiddle', + desc: '强大的前端代码在线演示的网站', + url: 'http://jsfiddle.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 18, + }, + { + icon: 'https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png', + name: 'CODEIF', + desc: '变量命名神器', + url: 'https://unbug.github.io/codelf/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 19, + }, + { + icon: 'http://asciiflow.com/images/favicon.png', + name: 'ASCIIFlow Infinity', + desc: '无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。', + url: 'http://asciiflow.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 20, + }, + { + icon: 'https://kinolien.github.io/gitzip/images/gitzip.png', + name: 'gitzip', + desc: '它可以将GITHUB存储库的子文件夹/子目录作为zip并下载', + url: 'https://kinolien.github.io/gitzip/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 21, + }, + { + icon: 'http://sc.ftqq.com/static/image/favlogo.png', + name: 'Server酱', + desc: '「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。', + url: 'http://sc.ftqq.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 22, + }, + { + name: 'mkcert', + desc: '一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书', + url: 'https://github.com/FiloSottile/mkcert', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 23, + icon: '', + }, + { + icon: 'https://carbon.now.sh/favicon.ico', + name: 'carbon', + desc: '创建和分享源代码的精美图像', + url: 'https://carbon.now.sh', + urls: { '-3': 'https://github.com/dawnlabs/carbon' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 24, + }, + { + name: 'setup-ipsec-vpn', + desc: '用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec', + url: 'https://github.com/hwdsl2/setup-ipsec-vpn', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 25, + icon: '', + }, + { + icon: 'https://www.digitalocean.com/favicon.ico', + name: 'nginxconfig', + desc: 'nginx配置生成器', + url: 'https://www.digitalocean.com/community/tools/nginx#?', + urls: { + '-3': 'https://github.com/digitalocean/nginxconfig.io', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 26, + }, + { + name: 'GraphQL Explorer', + desc: 'GraphQL资源管理器利用真实的、实时的生产数据', + url: 'https://developer.github.com/v4/explorer/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 27, + icon: '', + }, + { + name: 'patorjk', + desc: '将文本转换成ASCII', + url: 'http://patorjk.com/software/taag/#p=display&f=Graffiti&t=xiejiahe', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 28, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/62133242?s=200&v=4', + name: 'lens', + desc: 'Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。', + url: 'https://k8slens.dev/', + urls: { '-3': 'https://github.com/lensapp/lens' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 29, + }, + { + name: 'public-apis', + desc: '一些可用在 Web 或软件开发的开放 API 接口', + url: 'https://github.com/public-apis/public-apis', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 30, + icon: '', + }, + { + icon: 'https://astexplorer.net/favicon.png', + name: 'astexplorer', + desc: '一个Web工具,用于探索由各种解析器生成的AST', + url: 'https://astexplorer.net/', + urls: { '-3': 'https://github.com/fkling/astexplorer' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 31, + }, + { + icon: 'http://www.u.tools/assets/img/brand/favicon.png', + name: 'uTools', + desc: 'uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合', + url: 'http://www.u.tools/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 32, + }, + { + icon: 'https://ihateregex.io/favicon.ico', + name: 'ihateregex', + desc: '正则表达式备忘录', + url: 'https://ihateregex.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 33, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/22552083?s=200&v=4', + name: 'Oh My ZSH', + desc: '是一个开放源代码,社区驱动的框架,用于管理zsh配置。', + url: 'https://ohmyz.sh/', + urls: { '-3': 'https://github.com/ohmyzsh' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 34, + }, + { + icon: 'https://tampermonkey.freetls.fastly.net/images/icon144.png', + name: 'Tampermonkey', + desc: '一款免费的浏览器扩展和最为流行的用户脚本管理器', + url: 'https://www.tampermonkey.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 35, + }, + { + name: 'Greasy Fork', + desc: '提供用户脚本的网站', + url: 'https://greasyfork.org/zh-CN', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 36, + icon: '', + }, + { + icon: 'https://img.kuaidaili.com/img/favicon.ico?v=3', + name: '免费代理', + desc: '免费HTTP代理IP', + url: 'https://www.kuaidaili.com/free/inha/1/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 37, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/1342004?s=200&v=4', + name: 'Google Workspace', + desc: 'Google Workspace状态信息中心', + url: 'https://www.google.com/appsstatus#hl=en&v=status', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '开发神器'], + id: 38, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '接口/开发文档管理', + nav: [ + { + icon: 'https://www.eolinker.com/assets/images/favicon.ico', + name: 'eoLinker接口管理平台', + desc: '国内最大的在线接口管理服务方案供应商', + url: 'https://www.eolinker.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 39, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/19645609?s=200&v=4', + name: 'YApi', + desc: 'YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台', + url: 'https://yapi.baidu.com/', + urls: { '-3': 'https://github.com/YMFE/yapi' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 40, + }, + { + icon: 'http://rap2.taobao.org/favicon.png', + name: 'RAP2', + desc: 'Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品', + url: 'http://rap2.taobao.org/', + urls: { '-3': 'https://github.com/thx/rap2-delos' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 41, + }, + { + icon: 'https://www.showdoc.cc/static/logo/b_64.png', + name: 'showdoc', + desc: '一个非常适合IT团队的在线API文档、技术文档工具', + url: 'https://www.showdoc.cc/', + urls: { '-3': 'https://github.com/star7th/showdoc' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 42, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/40133106?s=200&v=4', + name: 'docsify', + desc: '一个神奇的文档站点生成器', + url: 'https://docsify.js.org', + urls: { '-3': 'https://github.com/docsifyjs/docsify' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 43, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/4103663?s=200&v=4', + name: 'apiDoc', + desc: 'RESTful Web API文档生成器', + url: 'http://apidocjs.com', + urls: { '-3': 'https://github.com/apidoc/apidoc' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 44, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/69631?s=200&v=4', + name: 'docusaurus', + desc: '易于维护的开源文档网站', + url: 'https://docusaurus.io/', + urls: { '-3': 'https://github.com/facebook/docusaurus' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 45, + }, + { + icon: 'https://www.zentao.net/favicon.ico', + name: '禅道', + desc: '禅道是灵活的项目管理软件', + url: 'https://www.zentao.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 46, + }, + { + icon: 'https://www.tapd.cn/favicon.ico', + name: 'Tapd', + desc: '一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷', + url: 'https://www.tapd.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 47, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/56705483?s=200&v=4', + name: 'Hoppscotch', + desc: '一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)', + url: 'https://hoppscotch.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '接口/开发文档管理'], + id: 48, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '内网穿透/代理', + nav: [ + { + name: 'Sunny-Ngrok', + desc: '一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离', + url: 'https://www.ngrok.cc/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '内网穿透/代理'], + id: 49, + icon: '', + }, + { + name: 'frp', + desc: '一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。', + url: 'https://github.com/fatedier/frp', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '内网穿透/代理'], + id: 50, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/11404085?s=200&v=4', + name: 'zan-proxy', + desc: '本地代码调试线上页面,环境再也不是问题', + url: 'https://youzan.github.io/zan-proxy/', + urls: { '-3': 'https://github.com/youzan/zan-proxy' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '内网穿透/代理'], + id: 51, + }, + { + icon: 'https://ngrok.com/static/img/favicon.png', + name: 'ngrok', + desc: 'ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放', + url: 'https://ngrok.com/', + urls: { '-3': 'https://github.com/inconshreveable/ngrok' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '开发相关', '内网穿透/代理'], + id: 52, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '编码/解码', + nav: [ + { + icon: 'http://www.chamd5.org/favicon.ico', + name: '查MD5', + desc: 'MD5在线解密|md5在线破解|批量破解md5网站', + url: 'http://www.cmd5.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '编码/解码'], + id: 53, + }, + { + icon: 'https://jwt.io/img/favicon/apple-icon-76x76.png', + name: 'JSON Web Tokens', + desc: 'jwt 在线解码', + url: 'https://jwt.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '编码/解码'], + id: 54, + }, + { + icon: 'http://www.xpcha.com/favicon.ico', + name: 'base64', + desc: 'base64在线解码编码', + url: 'http://base64.xpcha.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '编码/解码'], + id: 55, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '免费公开API', + nav: [ + { + icon: 'https://www.ipify.org/static/images/favicon-96x96.png', + name: 'ipify', + desc: '一个简单的公共IP地址API', + url: 'https://www.ipify.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '免费公开API'], + id: 56, + }, + { + name: '归属地查询', + desc: '淘宝免费归属地查询', + url: 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13333333333', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '开发相关', '免费公开API'], + id: 57, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '设计相关', + nav: [ + { + title: '设计相关', + nav: [ + { + icon: 'https://www.draw.io/images/apple-touch-icon.png', + name: 'draw', + desc: '免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图', + url: 'https://www.draw.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 58, + }, + { + icon: 'https://www.processon.com/favicon.ico', + name: 'ProcessOn', + desc: '免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图', + url: 'https://www.processon.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 59, + }, + { + icon: 'https://lhcdn.lanhuapp.com/web/static/favicon.ico', + name: '蓝湖', + desc: '蓝湖是一款设计图共享平台,帮助互联网团队管理设计图', + url: 'https://lanhuapp.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 60, + }, + { + icon: 'https://zeplin.io/img/favicon/228x228.png', + name: 'Zeplin', + desc: '为设计师和前端而生的协作应用', + url: 'https://zeplin.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 61, + }, + { + icon: 'https://mubu.com/favicon.ico', + name: '幕布', + desc: '极简大纲笔记 | 一键生成思维导图', + url: 'https://mubu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 62, + }, + { + icon: 'https://p.ssl.qhimg.com/t01a54d9106629dda0e.png', + name: '声享', + desc: '在线制作 PPT,让分享更有价值', + url: 'https://ppt.baomitu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 63, + }, + { + icon: 'https://modao.cc/images/logo.png', + name: '墨刀', + desc: '原型设计工具,web原型设计工具,app原型设计工具', + url: 'https://modao.cc/features', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 64, + }, + { + icon: 'https://xzlogo.com/static/images/favicon-16x16.png?v2', + name: '小智LOGO', + desc: 'LOGO在线制作神器 - 3分钟完成LOGO设计在线生成', + url: 'https://xzlogo.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 65, + }, + { + icon: 'https://www.chuangkit.com/favicon.ico', + name: '创客贴', + desc: '一款简单易用、功能强大的线上图形设计工具', + url: 'https://www.chuangkit.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 66, + }, + { + icon: 'https://cdn.jifo.co/favicon/favicon.ico', + name: '在线制作图表', + desc: '信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己', + url: 'https://infogram.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 67, + }, + { + name: 'CLIPPING MAGIC', + desc: '删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具', + url: 'https://clippingmagic.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 68, + icon: '', + }, + { + icon: 'https://koutu.gaoding.com/favicon.ico', + name: '稿定抠图', + desc: '稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。', + url: 'https://www.gaoding.com/koutu', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 69, + }, + { + icon: 'https://uzer.me/favicon.ico', + name: 'UZER.ME', + desc: '超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险', + url: 'https://uzer.me/index.html', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 70, + }, + { + icon: 'https://www.launchaco.com/static/favicon.ico', + name: 'launchaco', + desc: '免费在线制作LOGO', + url: 'https://www.launchaco.com/logo', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 71, + }, + { + icon: 'https://g.alicdn.com/acca/resource/luban/image/favicon.png', + name: '鹿班', + desc: '鹿班 - 让设计更美好(阿里出品)', + url: 'https://luban.aliyun.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 72, + }, + { + icon: 'https://www.yasuotu.com/favicon.ico', + name: '图片裁剪', + desc: '在线裁剪照片大小尺寸', + url: 'https://www.yasuotu.com/meditor', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '设计相关', '设计相关'], + id: 73, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'GUI软件', + nav: [ + { + title: 'GUI', + nav: [ + { + icon: 'https://bitwarden.com/images/icons/favicon-32x32.png', + name: 'Bitwarden', + desc: '个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法', + url: 'https://bitwarden.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 74, + }, + { + icon: 'https://typora.io/img/favicon-48.png', + name: 'Typeora', + desc: 'Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验', + url: 'https://typora.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 75, + }, + { + icon: 'https://www.iterm2.com/favicon.ico', + name: 'iterm2', + desc: 'iTerm2是Terminal的替代品,是iTerm的后续产品', + url: 'https://www.iterm2.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 76, + }, + { + icon: 'https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png', + name: 'Sourcetree', + desc: '美丽的Git GUI中的简单性和强大功能', + url: 'https://www.sourcetreeapp.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 77, + }, + { + icon: 'https://www.charlesproxy.com/static/img/icon.8b97278f.png', + name: 'charles', + desc: 'Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。', + url: 'https://www.charlesproxy.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 78, + }, + { + icon: 'https://tunnelblick.net/favicon.ico', + name: 'Tunnelblick', + desc: '适用于macOS的免费开源OpenVPN VPN客户端服务器软件。', + url: 'https://tunnelblick.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 79, + }, + { + icon: 'https://www.keka.io/img/Keka-120x120.png', + name: 'Keka', + desc: 'macOS文件存档器, 储存更多,私密分享', + url: 'https://www.keka.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 80, + }, + { + icon: 'https://getkap.co/static/favicon/kap.ico', + name: 'Kap', + desc: '使用Web技术构建的开源屏幕录像机。', + url: 'https://getkap.co/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 81, + }, + { + icon: 'https://code.visualstudio.com/apple-touch-icon.png', + name: 'Vscode', + desc: 'VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。', + url: 'https://code.visualstudio.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 82, + }, + { + icon: 'https://nmap.org/shared/images/tiny-eyeicon.png', + name: 'zenmap', + desc: '开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本', + url: 'https://nmap.org/zenmap/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 83, + }, + { + icon: 'https://obsproject.com/favicon-32x32.png', + name: 'obsproject', + desc: '免费和开源软件,用于视频录制和实时流。', + url: 'https://obsproject.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 84, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/14985020?s=200&v=4', + name: 'hyper', + desc: '基于WEB技术的终端', + url: 'https://hyper.is/', + urls: { '-3': 'https://github.com/zeit/hyper' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 85, + }, + { + icon: 'https://www.listary.com/wp-content/themes/listary5/images/favicon.ico', + name: 'Listary', + desc: 'Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!', + url: 'https://www.listary.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', 'GUI'], + id: 86, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '虚拟机', + nav: [ + { + icon: 'https://www.vmware.com/favicon.ico', + name: 'vmware', + desc: '利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。', + url: 'https://www.vmware.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '虚拟机'], + id: 87, + }, + { + icon: 'https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png', + name: 'parallels', + desc: 'Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案', + url: 'https://www.parallels.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '虚拟机'], + id: 88, + }, + { + icon: 'http://mumu.163.com/favicon.ico', + name: 'mumu Android模拟器', + desc: '网易MuMu[手游模拟器][安卓模拟器]', + url: 'http://mumu.163.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '虚拟机'], + id: 89, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '数据库', + nav: [ + { + icon: 'https://avatars3.githubusercontent.com/u/34743864?s=200&v=4', + name: 'DBeaver', + desc: '适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等', + url: 'https://dbeaver.io/', + urls: { '-3': 'https://github.com/dbeaver/dbeaver' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '数据库'], + id: 90, + }, + { + icon: 'https://redisdesktop.com/static/css/favicon.png', + name: 'RedisDesktopManager', + desc: 'Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。', + url: 'https://redisdesktop.com/', + urls: { '-3': 'https://github.com/uglide/RedisDesktopManager' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '数据库'], + id: 91, + }, + { + icon: 'https://sequelpro.com/favicon/favicon-32x32.png', + name: 'Sequel Pro', + desc: 'Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。', + url: 'https://www.sequelpro.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '数据库'], + id: 92, + }, + { + icon: 'https://robomongo.org/static/favicon-11ace079.ico', + name: 'Robo 3T', + desc: '一个现代,强大且由社区驱动的MongoDB管理工具', + url: 'https://robomongo.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '数据库'], + id: 93, + }, + { + icon: 'https://www.jetbrains.com/favicon-32x32.png', + name: 'DataGrip', + desc: 'jetbrains出品的数据库管理系统', + url: 'https://www.jetbrains.com/datagrip/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '数据库'], + id: 94, + }, + { + icon: 'https://tableplus.com/resources/favicons/apple-icon-57x57.png', + name: 'tableplus', + desc: '用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等', + url: 'https://tableplus.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '数据库'], + id: 95, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '远程控制', + nav: [ + { + icon: 'https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png', + name: 'TeamViewer', + desc: 'TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。', + url: 'https://www.teamviewer.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '远程控制'], + id: 96, + }, + { + icon: 'https://sunlogin.oray.com/favicon.ico', + name: '向日葵', + desc: '向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件', + url: 'https://sunlogin.oray.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '远程控制'], + id: 97, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '飞机场', + nav: [ + { + icon: 'https://avatars0.githubusercontent.com/u/14110142?s=200&v=4', + name: 'v2ray', + desc: '用于构建代理绕过网络限制的平台。', + url: 'https://github.com/v2ray/v2ray-core', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '飞机场'], + id: 98, + }, + { + icon: 'https://github.com/Dreamacro/clash/raw/master/docs/logo.png', + name: 'clash', + desc: 'Go中基于规则的隧道', + url: 'https://github.com/Dreamacro/clash', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', 'GUI软件', '飞机场'], + id: 99, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '影视/音乐', + nav: [ + { + title: '影视', + nav: [ + { + icon: 'https://www.bilibili.com/favicon.ico', + name: '哔哩哔哩', + desc: '国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主', + url: 'https://www.bilibili.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 100, + }, + { + icon: 'https://www.iqiyipic.com/common/images/PCW-114x114.png', + name: '爱奇艺', + desc: '拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台', + url: 'https://www.iqiyi.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 101, + }, + { + icon: 'https://www.youtube.com/favicon.ico', + name: 'Youtube', + desc: '全球最大的视频网站', + url: 'https://www.youtube.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 102, + }, + { + icon: 'https://www.douyu.com/favicon.ico', + name: '斗鱼', + desc: '斗鱼 - 每个人的直播平台', + url: 'https://www.douyu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 103, + }, + { + icon: 'https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico', + name: '疯狂影视搜索', + desc: '疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源', + url: 'http://ifkdy.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 104, + }, + { + icon: 'http://www.qmaile.com/favicon.ico', + name: '全民vip视频在线解析', + desc: '免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析', + url: 'http://www.qmaile.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 105, + }, + { + icon: 'https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png', + name: '蜜蜂剪辑', + desc: '免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能', + url: 'https://beecut.cn/online-video-editor', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 106, + }, + { + name: 'kk高清影院', + desc: 'kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网', + url: 'http://www.kk3.tv/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '影视'], + id: 107, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '音乐', + nav: [ + { + name: '自由的音乐', + desc: '自由的音乐是一个免费试听并下载全网音乐的网站', + url: 'https://www.tikitiki.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '影视/音乐', '音乐'], + id: 108, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '招聘/求职', + nav: [ + { + title: '招聘/求职', + nav: [ + { + icon: 'https://www.zhaopin.com/favicon.ico', + name: '智联招聘', + desc: '智联招聘,更懂你的价值', + url: 'https://www.zhaopin.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '招聘/求职', '招聘/求职'], + id: 109, + }, + { + icon: 'https://www.51job.com/favicon.ico', + name: '前程无忧', + desc: '招聘网,人才网,求职,找工作', + url: 'https://www.51job.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '招聘/求职', '招聘/求职'], + id: 110, + }, + { + icon: 'https://www.zhipin.com/favicon.ico', + name: 'BOSS直聘', + desc: 'BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧', + url: 'https://www.zhipin.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '招聘/求职', '招聘/求职'], + id: 111, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + name: 'ResumeSample', + desc: '程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板', + url: 'https://github.com/geekcompany/ResumeSample', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '招聘/求职', '其他'], + id: 112, + icon: '', + }, + { + icon: 'http://coder.shengxinjing.cn/logo.ico', + name: '程序员找工作黑名单', + desc: '有些事情,应该被记住', + url: 'http://coder.shengxinjing.cn/', + urls: { + '-3': 'https://github.com/shengxinjing/programmer-job-blacklist', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '招聘/求职', '其他'], + id: 113, + }, + { + icon: 'https://www.kanzhun.com/favicon.ico', + name: '看准网', + desc: '看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息', + url: 'https://www.kanzhun.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '招聘/求职', '其他'], + id: 114, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + title: '压缩工具', + nav: [ + { + icon: 'https://tinypng.com/images/apple-touch-icon.png', + name: 'TinyPNG', + desc: '智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像', + url: 'https://tinypng.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '压缩工具'], + id: 115, + }, + { + icon: 'https://squoosh.app/assets/favicon.ico', + name: 'Squoosh', + desc: '在浏览器中用不同的编解码器压缩和比较图像(Google出品)', + url: 'https://squoosh.app/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '压缩工具'], + id: 116, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '辅助工具', + nav: [ + { + icon: 'https://static.clewm.net/static/images/favicon.ico', + name: '草料二维码', + desc: '用专业的二维码产品帮助企业创造价值', + url: 'https://cli.im/url/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 117, + }, + { + name: 'Feed 验证器', + desc: '验证RSS是否符合标准规范', + url: 'http://www.feedvalidator.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 118, + icon: '', + }, + { + icon: 'https://www.taonienie.com/favicon.ico', + name: '淘捏捏', + desc: '淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询', + url: 'http://taonienie.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 119, + }, + { + icon: 'https://www.tianyancha.com/favicon.ico', + name: '天眼查', + desc: '人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统', + url: 'https://www.tianyancha.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 120, + }, + { + icon: 'https://yuque.com/favicon.ico', + name: '语雀', + desc: '优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴', + url: 'https://yuque.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 121, + }, + { + icon: 'https://www.qsc.zju.edu.cn/box/favicon.ico', + name: '求是潮云U盘', + desc: '临时文件上传, 快速和稳定', + url: 'https://box.zjuqsc.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 122, + }, + { + icon: 'https://www.360converter.com/images/favicon.ico', + name: '云转换', + desc: '在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字', + url: 'http://www.360converter.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 123, + }, + { + icon: 'https://www.picdiet.com/css/favicon.ico', + name: 'Picdiet', + desc: '独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量', + url: 'https://www.picdiet.com/zh-cn', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 124, + }, + { + icon: 'https://cdn-img.easyicon.net/favicon.ico', + name: 'easyicon', + desc: '在线图标转换ico、icns', + url: 'https://www.easyicon.net/covert/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 125, + }, + { + icon: 'https://smallpdf.com/favicon.png', + name: 'Smallpdf', + desc: '压缩pdf、各种文件格式转换pdf', + url: 'https://smallpdf.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 126, + }, + { + icon: 'https://coolbackgrounds.io/images/favicon-fe5a0ff5.png', + name: 'Cool Backgrounds', + desc: '生成非常酷的彩色背景图像', + url: 'https://coolbackgrounds.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 127, + }, + { + icon: 'https://source.unsplash.com/favicon-32x32.png', + name: 'Unsplash Source', + desc: '随机生成图片链接', + url: 'https://source.unsplash.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 128, + }, + { + icon: 'https://assets.smcdn.cn/from_qbox/favicon.ico', + name: '石墨文档', + desc: '一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...', + url: 'https://shimo.im/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 129, + }, + { + icon: 'https://emoji.muan.co/appicon.png', + name: 'Emoji searcher', + desc: 'Emoji表情大全', + url: 'http://emoji.muan.co/', + urls: { '-3': 'https://github.com/muan/emoji/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 130, + }, + { + icon: 'https://imgurl.org/favicon.ico', + name: 'imgURL', + desc: 'ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择', + url: 'https://imgurl.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 131, + }, + { + icon: 'https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png', + name: '拷贝兔', + desc: '跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传', + url: 'https://cp.ifval.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 132, + }, + { + icon: 'https://tableconvert.com/static/images/favicon.png', + name: '表格工具', + desc: '一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换', + url: 'https://tableconvert.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 133, + }, + { + icon: 'https://p2.ssl.qhimg.com/t014de4ba13ada26743.png', + name: '360查字体', + desc: '360查字体 - 查版权,免纠纷', + url: 'https://fonts.safe.360.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 134, + }, + { + icon: 'https://www.sejda.com/images/icon_128.png', + name: 'sejda', + desc: '在线HTML转换pdf', + url: 'https://www.sejda.com/html-to-pdf', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 135, + }, + { + icon: 'https://bigjpg.com/static/css/touch-icon-iphone.png', + name: 'AI人工智能图片放大', + desc: 'Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片', + url: 'https://bigjpg.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 136, + }, + { + name: 'VVV文档在线导出工具', + desc: '免费下载百度文库文档', + url: 'http://wenku.baiduvvv.com/doc', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 137, + icon: '', + }, + { + icon: 'http://tools.bugscaner.com/static/images/favicon.ico', + name: '在线文件编码识别', + desc: '在线文件编码识别', + url: 'http://tools.bugscaner.com/filebianma/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 138, + }, + { + icon: 'http://tools.bugscaner.com/static/images/favicon.ico', + name: 'iptv', + desc: '收集来自世界各地的5000多个公共IPTV频道', + url: 'https://github.com/iptv-org/iptv', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 139, + }, + { + icon: 'https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico', + name: '临时邮箱', + desc: '10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱', + url: 'https://www.linshiyouxiang.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['实用工具', '其他', '辅助工具'], + id: 140, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + id: 0, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'WEB前端', + nav: [ + { + title: 'JavaScript', + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png', + nav: [ + { + title: 'JavaScript', + nav: [ + { + icon: 'https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico', + name: 'jQuery', + desc: 'jQuery是一个JavaScript函数库', + url: 'http://jquery.com/', + urls: { + '-2': 'http://jquery.com/', + '-1': 'https://www.jquery123.com/', + '-3': 'https://github.com/jquery/jquery', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 141, + }, + { + icon: 'https://www.webpackjs.com/assets/favicon.ico', + name: 'webpack', + desc: 'webpack是一个模块打包器', + url: 'https://www.webpackjs.com/', + urls: { + '-2': 'https://webpack.js.org/', + '-1': 'https://www.webpackjs.com/', + '-3': 'https://github.com/webpack/webpack', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 142, + }, + { + icon: 'https://babeljs.io/img/favicon.png', + name: 'Babel', + desc: '用于编写下一代 JavaScript 的编译器', + url: 'http://babeljs.io/', + urls: { + '-2': 'http://babeljs.io/', + '-1': 'https://babeljs.cn/', + '-3': 'https://github.com/babel/babel', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 143, + }, + { + icon: 'https://cn.eslint.org/img/favicon.512x512.png', + name: 'ESLint', + desc: '可组装的JavaScript和JSX检查工具', + url: 'https://cn.eslint.org/', + urls: { + '-2': 'https://cn.eslint.org/', + '-1': 'http://eslint.cn/', + '-3': 'https://github.com/eslint/eslint', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 144, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/10076935?s=200&v=4', + name: 'stylelint', + desc: '一个强大的现代样式风格的linter', + url: 'https://stylelint.io/', + urls: { '-3': 'https://github.com/stylelint/stylelint' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 145, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/8770005?s=200&v=4', + name: 'Mocha', + desc: 'Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行', + url: 'https://mochajs.org/', + urls: { '-3': 'https://github.com/mochajs/mocha' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 146, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/5485517?s=200&v=4', + name: 'MUI', + desc: 'MUI: 最接近原生APP体验的高性能前端框架', + url: 'http://dev.dcloud.net.cn/mui/', + urls: { '-3': 'https://github.com/dcloudio/mui' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 147, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/12554859?s=200&v=4', + name: 'rollup', + desc: 'Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序', + url: 'https://rollupjs.org/guide/zh/', + urls: { + '-2': 'https://rollupjs.org/guide/en/', + '-1': 'https://rollupjs.org/guide/zh/', + '-3': 'https://github.com/rollup/rollup', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 148, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/29208316?s=200&v=4', + name: 'standard', + desc: 'JavaScript样式指南,带有linter和自动代码修复程序', + url: 'https://standardjs.com', + urls: { '-3': 'https://github.com/standard/standard' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'JavaScript'], + id: 149, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '常用插件', + nav: [ + { + urls: {}, + name: 'Faker', + icon: 'https://github.com/favicon.ico', + url: 'https://github.com/Marak/faker.js', + createdAt: '2021-01-23 17:37:03', + desc: '在Node.js和浏览器中生成大量逼真的假数据', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 150, + }, + { + name: 'sweetalert', + desc: 'JavaScript Alert 的漂亮替代品', + url: 'https://sweetalert.js.org/', + urls: { '-3': 'https://github.com/t4t5/sweetalert' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 151, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/17040762?s=200&v=4', + name: 'Sortable', + desc: '一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序', + url: 'https://sortablejs.github.io/Sortable/', + urls: { '-3': 'https://github.com/SortableJS/Sortable' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 152, + }, + { + name: 'formilyjs', + desc: 'Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架', + url: 'https://formilyjs.org/', + urls: { '-3': 'https://github.com/alibaba/formily' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 153, + icon: '', + }, + { + icon: 'https://roughnotation.com/images/fav.png', + name: 'rough-notation', + desc: '一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果', + url: 'https://roughnotation.com/', + urls: { '-3': 'https://github.com/rough-stuff/rough-notation' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 154, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/19199542?s=200&v=4', + name: 'AntV', + desc: 'AntV 是蚂蚁金服全新一代数据可视化解决方案', + url: 'https://antv.alipay.com/', + urls: { '-3': 'https://github.com/antvis/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 155, + }, + { + icon: 'https://www.lodashjs.com/icons/favicon-32x32.png', + name: 'Lodash', + desc: 'Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库', + url: 'https://www.lodashjs.com/', + urls: { + '-2': 'https://lodash.com/', + '-1': 'https://www.lodashjs.com/', + '-3': 'https://github.com/lodash/lodash', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 156, + }, + { + icon: 'https://www.swiper.com.cn/favicon.ico', + name: 'Swiper', + desc: '轻量级的移动设备触控滑块的js框架,使用硬件加速过渡', + url: 'https://www.swiper.com.cn/', + urls: { + '-2': 'http://idangero.us/swiper/', + '-1': 'https://www.swiper.com.cn/', + '-3': 'https://github.com/nolimits4web/swiper', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 157, + }, + { + name: 'fastclick', + desc: 'Polyfill 解决移动端具有300ms延迟的库', + url: 'https://github.com/ftlabs/fastclick', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 158, + icon: '', + }, + { + name: 'Layer', + desc: '丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互', + url: 'http://layer.layui.com/', + urls: { '-3': 'https://github.com/sentsin/layer/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 159, + icon: '', + }, + { + icon: 'https://momentjs.com/static/img/moment-favicon.png', + name: 'moment.js', + desc: '一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期', + url: 'http://momentjs.cn/', + urls: { + '-2': 'http://momentjs.com/', + '-1': 'http://momentjs.cn/', + '-3': 'https://github.com/moment/moment', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 160, + }, + { + name: 'js-cookie', + desc: '一个简单,轻量级的JavaScript API,用于处理浏览器cookie', + url: 'https://github.com/js-cookie/js-cookie', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 161, + icon: '', + }, + { + name: 'qs', + desc: '具有嵌套支持的查询字符串解析器', + url: 'https://github.com/ljharb/qs', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 162, + icon: '', + }, + { + name: 'Mock.js', + desc: '生成随机数据,拦截 Ajax 请求', + url: 'http://mockjs.com/', + urls: { '-3': 'https://github.com/nuysoft/Mock' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 163, + icon: '', + }, + { + icon: 'https://gitalk.github.io/favicon.ico', + name: 'GITALK', + desc: '凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件', + url: 'https://gitalk.github.io/', + urls: { '-3': 'https://github.com/gitalk/gitalk' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 164, + }, + { + icon: 'https://prismjs.com/assets/favicon.png', + name: 'prism', + desc: '轻巧,强大,优雅的代码语法高亮', + url: 'https://prismjs.com/', + urls: { '-3': 'https://github.com/PrismJS/prism' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 165, + }, + { + name: 'nprogress', + desc: '顶部加载进度条', + url: 'http://ricostacruz.com/nprogress/', + urls: { '-3': 'https://github.com/rstacruz/nprogress' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 166, + icon: '', + }, + { + name: 'iNotify', + desc: 'JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知', + url: 'https://git.io/iNotify', + urls: { '-3': 'https://github.com/jaywcjlove/iNotify' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 167, + icon: '', + }, + { + name: 'html2canvas', + desc: '最流行的JavaScript屏幕截图', + url: 'https://html2canvas.hertzen.com/', + urls: { '-3': 'https://github.com/niklasvh/html2canvas' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 168, + icon: '', + }, + { + name: 'dayjs', + desc: '使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间', + url: 'https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 169, + icon: '', + }, + { + name: 'JsBarcode', + desc: '易于使用但功能强大的条形码生成器,适用于Web和Node.js', + url: 'https://lindell.me/JsBarcode/', + urls: { '-3': 'https://github.com/lindell/JsBarcode' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 170, + icon: '', + }, + { + name: 'clipboard.js', + desc: '现代复制到剪贴板。没有Flash。只需3kb gzipped。', + url: 'https://clipboardjs.com/', + urls: { '-3': 'https://github.com/zenorocha/clipboard.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 171, + icon: '', + }, + { + name: 'lib-flexible', + desc: '可伸缩布局方案, 淘宝rem解决方案', + url: 'https://github.com/amfe/lib-flexible', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 172, + icon: '', + }, + { + name: 'js-xss', + desc: '根据白名单过滤HTML(防止XSS攻击)', + url: 'https://github.com/leizongmin/js-xss', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 173, + icon: '', + }, + { + name: 'mescroll', + desc: '精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器', + url: 'http://www.mescroll.com/index.html', + urls: { '-3': 'https://github.com/mescroll/mescroll' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 174, + icon: '', + }, + { + name: 'better-scroll', + desc: '灵感来自iscroll,它具有更好的滚动性能', + url: 'https://ustbhuangyi.github.io/better-scroll/', + urls: { '-3': 'https://github.com/ustbhuangyi/better-scroll' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 175, + icon: '', + }, + { + name: 'pinyinjs', + desc: '一个实现汉字与拼音互转的小巧web工具库', + url: 'http://demo.haoji.me/pinyinjs/', + urls: { '-3': 'https://github.com/sxei/pinyinjs' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 176, + icon: '', + }, + { + name: 'ms', + desc: '使用此包可以轻松地将各种时间格式转换为毫秒。', + url: 'https://github.com/zeit/ms', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 177, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/5298359?s=200&v=4', + name: 'ramda', + desc: '适用于JavaScript程序员的实用函数库', + url: 'https://ramdajs.com', + urls: { '-3': 'https://github.com/ramda/ramda' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 178, + }, + { + name: 'decimal.js', + desc: 'JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)', + url: 'http://mikemcl.github.io/decimal.js', + urls: { '-3': 'https://github.com/MikeMcl/decimal.js/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 179, + icon: '', + }, + { + name: 'copy-to-clipboard', + desc: '简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息', + url: 'https://github.com/sudodoki/copy-to-clipboard', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 180, + icon: '', + }, + { + name: 'path-to-regexp', + desc: '将字符串路径转换成正则表达式', + url: 'https://github.com/pillarjs/path-to-regexp', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 181, + icon: '', + }, + { + name: 'autosize', + desc: 'autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本', + url: 'http://www.jacklmoore.com/autosize/', + urls: { '-3': 'https://github.com/jackmoore/autosize' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 182, + icon: '', + }, + { + name: 'shake.js', + desc: '监听手机设备摇动', + url: 'https://github.com/alexgibson/shake.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 183, + icon: '', + }, + { + name: 'progressbar', + desc: '可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好', + url: 'https://kimmobrunfeldt.github.io/progressbar.js/', + urls: { + '-3': 'https://github.com/kimmobrunfeldt/progressbar.js', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 184, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/28626637?s=200&v=4', + name: 'easy-mock', + desc: 'Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务', + url: 'https://easy-mock.com', + urls: { + '-3': 'https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 185, + }, + { + icon: 'https://joe.sh/assets/images/favicon.ico', + name: 'Clamp.js', + desc: 'JS版本的多行文本溢出省略', + url: 'https://joe.sh/clamp-js', + urls: { '-3': 'https://github.com/josephschmitt/Clamp.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 186, + }, + { + name: 'json-bigint', + desc: '带有bigints支持的JSON.parse / stringify', + url: 'https://github.com/sidorares/json-bigint', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 187, + icon: '', + }, + { + name: 'exif-js', + desc: '用于读取EXIF图像元数据的JavaScript库', + url: 'https://github.com/exif-js/exif-js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 188, + icon: '', + }, + { + name: 'lunr.js', + desc: 'Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档', + url: 'https://github.com/olivernn/lunr.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 189, + icon: '', + }, + { + name: 'hotkeys', + desc: '强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。', + url: 'https://wangchujiang.com/hotkeys/', + urls: { '-3': 'https://github.com/jaywcjlove/hotkeys' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 190, + icon: '', + }, + { + name: 'dom-to-image', + desc: '使用HTML5 canvas从DOM节点生成图像', + url: 'https://github.com/tsayen/dom-to-image', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 191, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/59940233?s=200&v=4', + name: 'single-spa', + desc: '使微前端变得简单', + url: 'https://single-spa.js.org/', + urls: { '-3': 'https://github.com/single-spa/single-spa' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 192, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/33895495?s=200&v=4', + name: 'qiankun', + desc: '为微型前端提供快速,简单和完整的解决方案', + url: 'https://qiankun.umijs.org/', + urls: { '-3': 'https://github.com/umijs/qiankun' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 193, + }, + { + icon: 'https://zelark.github.io/nano-id-cc/favicon.ico', + name: 'nanoid', + desc: '一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。', + url: 'https://zelark.github.io/nano-id-cc/', + urls: { '-3': 'https://github.com/ai/nanoid' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 194, + }, + { + name: 'Numeral-js', + desc: '一个用于格式化和处理数字的javascript库', + url: 'http://numeraljs.com', + urls: { '-3': 'https://github.com/adamwdraper/Numeral-js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 195, + icon: '', + }, + { + name: 'ua-parser-js', + desc: '用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境', + url: 'http://faisalman.github.io/ua-parser-js/', + urls: { '-3': 'https://github.com/faisalman/ua-parser-js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 196, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/7997161?s=200&v=4', + name: 'hammer.js', + desc: '一个用于多点触摸手势的javascript库', + url: 'http://hammerjs.github.io', + urls: { '-3': 'https://github.com/hammerjs/hammer.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '常用插件'], + id: 197, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '国际化多语言方案', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/8546082?s=200&v=4', + name: 'i18next', + desc: 'i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。', + url: 'http://i18next.com/', + urls: { '-3': 'https://github.com/i18next/i18next' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '国际化多语言方案'], + id: 198, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/11225539?s=200&v=4', + name: 'js-lingui', + desc: 'JavaScript的可读,自动化和优化(5 kb)国际化', + url: 'https://lingui.js.org/', + urls: { '-3': 'https://github.com/lingui/js-lingui' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '国际化多语言方案'], + id: 199, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '动画', + nav: [ + { + name: 'wow.js', + desc: '基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...', + url: 'http://mynameismatthieu.com/WOW/', + urls: { '-3': 'https://github.com/matthieua/WOW' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '动画'], + id: 200, + icon: '', + }, + { + name: 'Waves', + desc: '受Google材质设计启发的点击效果, 波纹效果', + url: 'http://fian.my.id/Waves/#examples', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '动画'], + id: 201, + icon: '', + }, + { + name: 'velocity', + desc: '加速JavaScript动画', + url: 'http://velocityjs.org/', + urls: { '-3': 'https://github.com/julianshapiro/velocity' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '动画'], + id: 202, + icon: '', + }, + { + name: 'anime', + desc: '轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象', + url: 'http://animejs.com/', + urls: { '-3': 'https://github.com/juliangarnier/anime' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '动画'], + id: 203, + icon: '', + }, + { + name: 'Hover-Buttons', + desc: 'hover动画CSS / SCSS按钮', + url: 'https://varin6.github.io/Hover-Buttons/', + urls: { '-3': 'https://github.com/Varin6/Hover-Buttons' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '动画'], + id: 204, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '加盐', + nav: [ + { + name: 'JavaScript-MD5', + desc: 'JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器', + url: 'https://blueimp.github.io/JavaScript-MD5/', + urls: { '-3': 'https://github.com/blueimp/JavaScript-MD5' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '加盐'], + id: 205, + icon: '', + }, + { + name: 'js-sha1', + desc: 'JavaScript的简单SHA1哈希函数支持UTF-8编码。', + url: 'https://github.com/emn178/js-sha1', + urls: { '-3': 'https://github.com/emn178/js-sha1' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '加盐'], + id: 206, + icon: '', + }, + { + name: 'js-base64', + desc: 'JavaScript的Base64实现', + url: 'https://github.com/dankogai/js-base64', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '加盐'], + id: 207, + icon: '', + }, + { + name: 'jsSHA', + desc: 'SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC', + url: 'https://caligatio.github.io/jsSHA/', + urls: { '-3': 'https://github.com/Caligatio/jsSHA' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '加盐'], + id: 208, + icon: '', + }, + { + name: 'crypto-js', + desc: '加密标准的JavaScript库', + url: 'https://cryptojs.gitbook.io', + urls: { '-3': 'https://github.com/brix/crypto-js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '加盐'], + id: 209, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '文件插件相关', + nav: [ + { + name: 'pdf.js', + desc: 'PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器', + url: 'https://mozilla.github.io/pdf.js/web/viewer.html', + urls: { '-3': 'https://github.com/mozilla/pdf.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '文件插件相关'], + id: 210, + icon: '', + }, + { + name: 'webuploader', + desc: '百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。', + url: 'http://fex.baidu.com/webuploader/', + urls: { '-3': 'https://github.com/fex-team/webuploader' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '文件插件相关'], + id: 211, + icon: '', + }, + { + name: 'pdfmake', + desc: '纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf', + url: 'http://pdfmake.org/', + urls: { '-3': 'https://github.com/bpampuch/pdfmake' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '文件插件相关'], + id: 212, + icon: '', + }, + { + name: 'ViewerJS', + desc: 'JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML', + url: 'https://viewerjs.org/', + urls: { '-3': 'https://github.com/kogmbh/ViewerJS' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '文件插件相关'], + id: 213, + icon: '', + }, + { + name: 'filepond', + desc: '灵活而有趣的JavaScript文件上传库', + url: 'https://pqina.nl/filepond/', + urls: { '-3': 'https://github.com/pqina/filepond' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '文件插件相关'], + id: 214, + icon: '', + }, + { + name: 'FileSaver.js', + desc: '客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序', + url: 'https://github.com/eligrey/FileSaver.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '文件插件相关'], + id: 215, + icon: '', + }, + { + name: 'jsPDF', + desc: '一个使用JavaScript生成PDF的库', + url: 'https://parall.ax/products/jspdf', + urls: { '-3': 'https://github.com/MrRio/jsPDF' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '文件插件相关'], + id: 216, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '图片预览', + nav: [ + { + name: 'PhotoSwipe', + desc: '适用于移动和桌面的JavaScript图像库, 图片预览', + url: 'http://photoswipe.com/', + urls: { '-3': 'https://github.com/dimsemenov/PhotoSwipe' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '图片预览'], + id: 217, + icon: '', + }, + { + name: 'viewerjs', + desc: 'javascript图片预览', + url: 'https://fengyuanchen.github.io/viewerjs/', + urls: { '-3': 'https://github.com/fengyuanchen/viewerjs' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '图片预览'], + id: 218, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '音频/视频', + nav: [ + { + icon: 'https://howlerjs.com/assets/images/favicon.ico', + name: 'howler.js', + desc: '现代 Web 音频 javascript 库', + url: 'https://howlerjs.com/', + urls: { '-3': 'https://github.com/goldfire/howler.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '音频/视频'], + id: 219, + }, + { + name: 'DPlayer', + desc: '哇,这么可爱的HTML5 danmaku视频播放器', + url: 'http://dplayer.js.org/#/zh-Hans/', + urls: { + '-2': 'http://dplayer.js.org/#/home', + '-1': 'http://dplayer.js.org/#/zh-Hans/', + '-3': 'https://github.com/MoePlayer/DPlayer', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '音频/视频'], + id: 220, + icon: '', + }, + { + name: 'APlayer', + desc: '哇,这么可爱的HTML5音乐播放器', + url: 'https://aplayer.js.org/#/zh-Hans/', + urls: { + '-2': 'http://aplayer.js.org/', + '-1': 'https://aplayer.js.org/#/zh-Hans/', + '-3': 'https://github.com/MoePlayer/APlayer', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '音频/视频'], + id: 221, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '图形', + nav: [ + { + icon: 'https://threejs.org/files/favicon.ico', + name: 'three.js', + desc: 'JavaScript 3D引擎', + url: 'https://threejs.org/', + urls: { + '-2': 'https://threejs.org/', + '-1': 'http://techbrood.com/threejs/docs', + '-3': 'https://github.com/mrdoob/three.js', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '图形'], + id: 222, + }, + { + name: 'flowy', + desc: '创建流程图的最小JavaScript库', + url: 'https://github.com/alyssaxuu/flowy', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '图形'], + id: 223, + icon: '', + }, + { + icon: 'https://echarts.apache.org/examples/images/favicon.png', + name: 'incubator-echarts', + desc: '浏览器的功能强大的交互式图表和可视化库', + url: 'http://echarts.apache.org/', + urls: { '-3': 'https://github.com/apache/incubator-echarts' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '图形'], + id: 224, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/1562726?s=200&v=4', + name: 'd3', + desc: '借助SVG,Canvas和HTML使数据栩栩如生。', + url: 'https://github.com/d3/d3', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '图形'], + id: 225, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'UI组件库', + nav: [ + { + icon: 'https://getuikit.com/images/favicon.png', + name: 'uikit', + desc: '一款轻量级、模块化的前端框架可快速构建强大的web前端界面', + url: 'http://www.getuikit.net/', + urls: { + '-2': 'https://getuikit.com/docs/installation', + '-1': 'http://www.getuikit.net/', + '-3': 'https://github.com/uikit/uikit', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', 'UI组件库'], + id: 226, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '原生APP交互webview桥接', + nav: [ + { + name: 'JsBridge', + desc: 'android java和javascript桥接,灵感来自微信webview jsbridge', + url: 'https://github.com/lzyzsd/JsBridge', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '原生APP交互webview桥接'], + id: 227, + icon: '', + }, + { + name: 'DSBridge-Android', + desc: '一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能', + url: 'https://github.com/wendux/DSBridge-Android', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '原生APP交互webview桥接'], + id: 228, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '参数验证', + nav: [ + { + name: 'joi', + desc: '对象模式验证', + url: 'https://github.com/hapijs/joi', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '参数验证'], + id: 229, + icon: '', + }, + { + name: 'validator.js', + desc: '字符串验证插件、表单验证', + url: 'https://github.com/chriso/validator.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '参数验证'], + id: 230, + icon: '', + }, + { + name: 'async-validator', + desc: '异步验证器', + url: 'https://github.com/yiminghe/async-validator', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '参数验证'], + id: 231, + icon: '', + }, + { + name: 'yup', + desc: '无效的简单对象架构验证', + url: 'https://runkit.com/jquense/yup', + urls: { + '-3': 'https://github.com/jquense/yup#using-a-custom-locale-dictionary', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '参数验证'], + id: 232, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '数据库', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/18673496?s=200&v=4', + name: 'localForage', + desc: '离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。', + url: 'https://github.com/localForage/localForage', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '数据库'], + id: 233, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '步骤引导', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/2010360?s=200&v=4', + name: 'introjs', + desc: '为您的网站和项目提供新功能介绍和逐步用户指南的更好方法', + url: 'https://introjs.com/', + urls: { '-3': 'https://github.com/usablica/intro.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '步骤引导'], + id: 234, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/17297725?s=200&v=4', + name: 'shepherd', + desc: '引导您的用户浏览您的应用程序', + url: 'https://shepherdjs.dev/', + urls: { '-3': 'https://github.com/shipshapecode/shepherd' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '步骤引导'], + id: 235, + }, + { + name: 'bootstrap-tour', + desc: '使用Twitter Bootstrap Popovers快速方便地进行产品浏览', + url: 'http://bootstraptour.com/', + urls: { '-3': 'https://github.com/sorich87/bootstrap-tour' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'JavaScript', '步骤引导'], + id: 236, + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'React', + icon: 'https://reactjs.org/favicon.ico', + nav: [ + { + title: '生态系统', + nav: [ + { + name: 'React', + desc: '用于构建用户界面的 JavaScript 库', + url: 'https://zh-hans.reactjs.org/', + urls: { + '-2': 'https://reactjs.org/', + '-1': 'https://zh-hans.reactjs.org/', + '-3': 'https://github.com/facebook/react/', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '生态系统'], + id: 237, + icon: '', + }, + { + name: 'React Router', + desc: 'React 路由管理', + url: 'https://react-router.docschina.org/', + urls: { + '-2': 'https://reacttraining.com/react-router/', + '-1': 'https://react-router.docschina.org/', + '-3': 'https://github.com/ReactTraining/react-router', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '生态系统'], + id: 238, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/13142323?s=200&v=4', + name: 'Redux', + desc: 'React 状态管理', + url: 'http://www.redux.org.cn/docs/react-redux/api.html', + urls: { + '-2': 'https://redux.js.org/basics/usagewithreact', + '-1': 'http://www.redux.org.cn/docs/react-redux/api.html', + '-3': 'https://github.com/reduxjs/redux', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '生态系统'], + id: 239, + }, + { + name: 'create-react-app', + desc: 'React官方脚手架', + url: 'https://www.html.cn/create-react-app/', + urls: { + '-2': 'https://facebook.github.io/create-react-app/', + '-1': 'https://www.html.cn/create-react-app/', + '-3': 'https://github.com/facebook/create-react-app', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '生态系统'], + id: 240, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Redux相关', + nav: [ + { + name: 'React Redux', + desc: 'Redux的官方React绑定(通常配合redux使用)', + url: 'https://react-redux.js.org/', + urls: { '-3': 'https://github.com/reduxjs/react-redux' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'Redux相关'], + id: 241, + icon: '', + }, + { + name: 'redux-actions', + desc: 'Redux的Flux标准action实用程序(用于生成action)', + url: 'https://redux-actions.js.org/', + urls: { + '-3': 'https://github.com/redux-utilities/redux-actions', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'Redux相关'], + id: 242, + icon: '', + }, + { + name: 'redux-thunk', + desc: 'Redux的Thunk中间件, 用于处理异步逻辑', + url: 'https://github.com/reduxjs/redux-thunk', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', 'Redux相关'], + id: 243, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/24776643?s=200&v=4', + name: 'redux-saga', + desc: '一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库', + url: 'https://redux-saga.js.org/', + urls: { '-3': 'https://github.com/redux-saga/redux-saga' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'Redux相关'], + id: 244, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'React Native相关', + nav: [ + { + name: 'React Native', + desc: '使用React构建原生APP程序的框架', + url: 'https://reactnative.cn/docs/0.51/tutorial.html', + urls: { + '-2': 'https://facebook.github.io/react-native/docs/getting-started.html', + '-1': 'https://reactnative.cn/docs/0.51/tutorial.html', + '-3': 'https://github.com/facebook/react-native', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'React Native相关'], + id: 245, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/29647600?s=200&v=4', + name: 'React Navigation', + desc: '为您的本地应用程序提供路由和导航', + url: 'https://reactnavigation.org/zh-Hans/', + urls: { + '-2': 'https://reactnavigation.org/en/', + '-1': 'https://reactnavigation.org/zh-Hans/', + '-3': 'https://github.com/react-navigation/react-navigation', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'React Native相关'], + id: 246, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/12504344?s=200&v=4', + name: 'expo', + desc: '用于制作跨平台移动应用程序的Expo平台', + url: 'https://docs.expo.io', + urls: { '-3': 'https://github.com/expo/expo' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'React Native相关'], + id: 247, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/12101536?s=200&v=4', + name: 'ant-design-mobile-rn', + desc: '一个基于 React Native 的 UI 组件库', + url: 'https://rn.mobile.ant.design/index-cn', + urls: { + '-2': 'https://rn.mobile.ant.design/', + '-1': 'https://rn.mobile.ant.design/index-cn', + '-3': 'https://github.com/ant-design/ant-design-mobile-rn', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'React Native相关'], + id: 248, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'PC端UI组件库', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/12101536?s=200&v=4', + name: 'Ant Design', + desc: 'Ant Design - A UI Design Language', + url: 'https://ant.design/docs/react/introduce-cn', + urls: { + '-2': 'https://ant.design/docs/react/introduce', + '-1': 'https://ant.design/docs/react/introduce-cn', + '-3': 'https://github.com/ant-design/ant-design', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 249, + }, + { + icon: 'https://material-ui.com/static/favicon.ico', + name: 'MATERIAL-UI', + desc: 'React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始', + url: 'https://material-ui.com/zh/', + urls: { + '-2': 'https://material-ui.com/', + '-1': 'https://material-ui.com/zh/', + '-3': 'https://github.com/mui-org/material-ui', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 250, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/12810740?s=200&v=4', + name: 'element', + desc: 'elementUI组件库', + url: 'https://elemefe.github.io/element-react/#/zh-CN/quick-start', + urls: { + '-2': 'https://elemefe.github.io/element-react/#/en-US/quick-start', + '-1': 'https://elemefe.github.io/element-react/#/zh-CN/quick-start', + '-3': 'https://github.com/ElemeFE/element-react', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 251, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/6853419?s=200&v=4', + name: 'react-bootstrap', + desc: '基于Bootstrap 3构建的组件库', + url: 'https://react-bootstrap.github.io/getting-started/introduction', + urls: { + '-3': 'https://github.com/react-bootstrap/react-bootstrap', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 252, + }, + { + name: 'evergreen', + desc: 'Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。', + url: 'https://evergreen.segment.com/', + urls: { '-3': 'https://github.com/segmentio/evergreen' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 253, + icon: '', + }, + { + name: '@alifd/next', + desc: '@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发', + url: 'https://fusion.design/component/doc/102', + urls: { '-3': 'https://github.com/alibaba-fusion/next' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 254, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/11404085?s=200&v=4', + name: 'zent', + desc: 'Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件', + url: 'https://youzan.github.io/zent/zh/guides/install', + urls: { '-3': 'https://github.com/youzan/zent' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 255, + }, + { + name: 'React95', + desc: '装修一新的现代的应用程序做出React Windows95的UI组件。', + url: 'https://arturbien.github.io/React95', + urls: { '-3': 'https://github.com/arturbien/React95' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 256, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/19635045?s=200&v=4', + name: 'rsuite', + desc: 'React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架', + url: 'https://rsuitejs.com', + urls: { '-3': 'https://github.com/rsuite/rsuite' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 257, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/54212428?s=200&v=4', + name: 'chakra-ui', + desc: '适用于您的React应用程序的简单,模块化和可访问的UI组件', + url: 'https://chakra-ui.com/', + urls: { '-3': 'https://github.com/chakra-ui/chakra-ui' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'PC端UI组件库'], + id: 258, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '移动端UI组件库', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/12101536?s=200&v=4', + name: 'Ant Design Mobile', + desc: '一个基于 Preact / React / React Native 的 UI 组件库', + url: 'https://mobile.ant.design/index-cn', + urls: { + '-2': 'https://mobile.ant.design/', + '-1': 'https://mobile.ant.design/index-cn', + '-3': 'https://github.com/ant-design/ant-design-mobile/stargazers/', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '移动端UI组件库'], + id: 259, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他组件库', + nav: [ + { + name: 'React Helmet', + desc: '这个可重用的反应组件将管理对文档头的所有更改', + url: 'https://github.com/nfl/react-helmet', + urls: { '-3': 'https://github.com/nfl/react-helmet' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 260, + icon: '', + }, + { + name: 'react-image-crop', + desc: '用于React的响应式图像裁剪工具', + url: 'https://github.com/DominicTobias/react-image-crop', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 261, + icon: '', + }, + { + name: 'React Helmet', + desc: '这个可重用的反应组件将管理对文档头的所有更改', + url: 'https://github.com/nfl/react-helmet', + urls: { '-3': 'https://github.com/nfl/react-helmet' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 262, + icon: '', + }, + { + name: 'react-transition-group', + desc: '当React组件进入或离开DOM时执行动画的简单方法', + url: 'https://reactcommunity.org/react-transition-group/', + urls: { + '-2': 'https://reactcommunity.org/react-transition-group/', + '-3': 'https://github.com/reactjs/react-transition-group', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 263, + icon: '', + }, + { + name: 'React Loadable', + desc: '用于加载具有promise的组件的更高阶组件 - 路由懒加载', + url: 'https://github.com/jamiebuilds/react-loadable', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 264, + icon: '', + }, + { + name: 'react-swipe', + desc: '基于swipe.js封装的react组件/走马灯', + url: 'https://github.com/voronianski/react-swipe', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 265, + icon: '', + }, + { + name: 'Ant Motion', + desc: '使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案', + url: 'https://motion.ant.design/', + urls: { '-3': 'https://github.com/ant-design/ant-motion/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 266, + icon: '', + }, + { + desc: '网络视频播放器使用React库从头开始构建HTML5世界', + name: 'video-react', + url: 'https://video-react.js.org/', + urls: { '-3': 'https://github.com/video-react/video-react' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 267, + icon: '', + }, + { + name: 'react-keeper', + desc: '一个react路由库,更适合移动端使用,拥有缓存等功能', + url: 'https://github.com/vifird/react-keeper', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 268, + icon: '', + }, + { + name: 'Fusion Design', + desc: '基于React构建的Web可配置组件库', + url: 'https://fusion.design', + urls: { '-3': 'https://github.com/alibaba-fusion/next' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 269, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/13690587?s=200&v=4', + name: 'recharts', + desc: '基于 React和D3 的组合式图表库', + url: 'http://recharts.org/zh-CN/', + urls: { '-3': 'https://github.com/recharts/recharts' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 270, + }, + { + name: 'react-json-view', + desc: 'JSON查看器', + url: 'https://mac-s-g.github.io/react-json-view/demo/dist/', + urls: { '-3': 'https://github.com/mac-s-g/react-json-view' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 271, + icon: '', + }, + { + name: 'BizCharts', + desc: '基于G2和React的强大数据可视化库', + url: 'https://bizcharts.net/products/bizCharts', + urls: { '-3': 'https://github.com/alibaba/BizCharts' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 272, + icon: '', + }, + { + name: 'react-draggable', + desc: '一个简单的组件,用于使元素可拖动', + url: 'https://github.com/mzabriskie/react-draggable', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 273, + icon: '', + }, + { + name: 'react-slick', + desc: 'react走马灯组件', + url: 'https://react-slick.neostack.com/', + urls: { '-3': 'https://github.com/akiran/react-slick' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 274, + icon: '', + }, + { + name: 'react-color', + desc: 'react 拾色器', + url: 'http://casesandberg.github.io/react-color/', + urls: { '-3': 'https://github.com/casesandberg/react-color' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 275, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/50559490?s=200&v=4', + name: 'react-intl', + desc: '国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译', + url: 'https://github.com/formatjs/react-intl', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 276, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/1763971?s=200&v=4', + name: 'react-data-grid', + desc: '使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能', + url: 'http://adazzle.github.io/react-data-grid/', + urls: { '-3': 'https://github.com/adazzle/react-data-grid' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 277, + }, + { + icon: 'https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png', + name: 'react-virtualized', + desc: 'React组件可有效呈现大型列表和表格数据', + url: 'http://www.reactvirtualized.com', + urls: { '-3': 'https://github.com/bvaughn/react-virtualized' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 278, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/5078602?s=200&v=4', + name: 'react-live', + desc: '一个用于实时编辑React组件的灵活组件库', + url: 'https://react-live.netlify.com/', + urls: { '-3': 'https://github.com/FormidableLabs/react-live' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 279, + }, + { + icon: 'https://jaredpalmer.com/formik/img/favicon.png', + name: 'formik', + desc: '在React中轻松创建表单', + url: 'https://jaredpalmer.com/formik/docs/overview', + urls: { '-3': 'https://github.com/jaredpalmer/formik' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他组件库'], + id: 280, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '拖拽组件', + nav: [ + { + name: 'react-move', + icon: 'https://github.com/favicon.ico', + url: 'https://github.com/daybrush/moveable/tree/master/packages/react-moveable', + desc: '一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '拖拽组件'], + id: 281, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/25307599?s=200&v=4', + name: 'react-dnd', + desc: 'React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离', + url: 'https://react-dnd.github.io/react-dnd/about', + urls: { '-3': 'https://github.com/react-dnd/react-dnd' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '拖拽组件'], + id: 282, + }, + { + name: 'react-beautiful-dnd', + desc: '漂亮的和可访问的拖放列表', + url: 'https://github.com/atlassian/react-beautiful-dnd', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '拖拽组件'], + id: 283, + icon: '', + }, + { + name: 'react-rnd', + desc: '一个可调整大小且可拖动的React组件。', + url: 'https://bokuweb.github.io/react-rnd/stories', + urls: { '-3': 'https://github.com/bokuweb/react-rnd' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '拖拽组件'], + id: 284, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '开箱即用', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/12101536?s=200&v=4', + name: 'ANT DESIGN PRO', + desc: '开箱即用的中台前端/设计解决方案', + url: 'https://pro.ant.design/', + urls: { + '-1': 'https://pro.ant.design/', + '-3': 'https://github.com/ant-design/ant-design-pro/', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '开箱即用'], + id: 285, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '单元测试', + nav: [ + { + name: 'enzyme', + desc: '适用于React的JavaScript测试实用程序', + url: 'https://enzymejs.github.io/enzyme/', + urls: { '-3': 'https://github.com/enzymejs/enzyme' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '单元测试'], + id: 286, + icon: '', + }, + { + name: 'Jest', + desc: 'Jest是一个令人愉快的JavaScript测试框架,专注于简单性。', + url: 'https://jestjs.io/zh-Hans/', + urls: { '-3': 'https://github.com/facebook/jest' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '单元测试'], + id: 287, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'umi/dva', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/33895495?s=200&v=4', + name: 'umijs', + desc: '插件化的企业级前端应用框架。', + url: 'https://umijs.org/zh-CN', + urls: { + '-2': 'https://umijs.org/', + '-1': 'https://umijs.org/zh-CN', + '-3': 'https://github.com/umijs/umi', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'umi/dva'], + id: 288, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/20552239?s=200&v=4', + name: 'DvaJS', + desc: '基于React和Redux的轻量级和elm风格框架', + url: 'https://dvajs.com/', + urls: { '-3': 'https://github.com/dvajs/dva' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'umi/dva'], + id: 289, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/33895495?s=200&v=4', + name: 'umijs/hooks', + desc: '你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用', + url: 'https://hooks.umijs.org/', + urls: { + '-1': 'https://hooks.umijs.org/', + '-3': 'https://github.com/umijs/hooks', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', 'umi/dva'], + id: 290, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/33895495?s=200&v=4', + name: 'umi-plugin-cache-route', + desc: '路由缓存,类似vue keep-alive', + url: 'https://www.npmjs.com/package/umi-plugin-cache-route', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', 'umi/dva'], + id: 291, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '知识', + nav: [ + { + name: 'React.js 小书', + desc: '这是一本关于 React.js 的小书', + url: 'http://huziketang.mangojuice.top/books/react/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '知识'], + id: 292, + icon: '', + }, + { + name: 'TypeScript-React-Starter', + desc: 'TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。', + url: 'https://github.com/Microsoft/TypeScript-React-Starter', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '知识'], + id: 293, + icon: '', + }, + { + name: 'react-redux-typescript-guide', + desc: 'TypeScript中的React和 Redux - 使用说明', + url: 'https://piotrwitek.github.io/react-redux-typescript-guide/', + urls: { + '-3': 'https://github.com/piotrwitek/react-redux-typescript-guide', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '知识'], + id: 294, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/17475736?s=200&v=4', + name: 'Mobx', + desc: '简单、可扩展的状态管理', + url: 'https://cn.mobx.js.org/', + urls: { + '-2': 'https://mobx.js.org/', + '-1': 'https://cn.mobx.js.org/', + '-3': 'https://github.com/mobxjs/mobx', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他'], + id: 295, + }, + { + name: 'next.js', + desc: '服务端渲染框架、SEO解决方案', + url: 'https://www.nextjs.cn/', + urls: { + '-2': 'https://nextjs.org/', + '-1': 'https://www.nextjs.cn/', + '-3': 'https://github.com/zeit/next.js', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他'], + id: 296, + icon: '', + }, + { + name: 'nwb', + desc: '适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置', + url: 'https://github.com/insin/nwb', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他'], + id: 297, + icon: '', + }, + { + name: 'ahooks', + desc: '为 React Hooks 而生', + url: 'https://ahooks.js.org/zh-CN', + urls: { '-3': 'https://github.com/alibaba/hooks' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他'], + id: 298, + icon: '', + }, + { + name: 'react-app-rewired', + desc: '覆盖create-react-app webpack配置而不弹出', + url: 'https://github.com/timarney/react-app-rewired', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'React', '其他'], + id: 299, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'Vue.js', + icon: 'https://v3.vuejs.org/images/icons/apple-icon-152x152.png', + nav: [ + { + title: '生态系统', + nav: [ + { + name: 'Vue.js', + desc: '渐进式JavaScript 框架', + url: 'https://cn.vuejs.org/', + urls: { + '-2': 'https://vuejs.org/index.html', + '-1': 'https://cn.vuejs.org/', + '-3': 'https://github.com/vuejs/vue', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 300, + icon: '', + }, + { + name: 'Vue Router', + desc: 'Vue Router 是 Vue.js 官方的路由管理器', + url: 'https://router.vuejs.org/zh/', + urls: { + '-2': 'https://router.vuejs.org/', + '-1': 'https://router.vuejs.org/zh/', + '-3': 'https://github.com/vuejs/vue-router', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 301, + icon: '', + }, + { + name: 'Vuex', + desc: 'Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。', + url: 'https://vuex.vuejs.org/zh/', + urls: { + '-2': 'https://vuex.vuejs.org/', + '-1': 'https://vuex.vuejs.org/zh/', + '-3': 'https://github.com/vuejs/vuex', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 302, + icon: '', + }, + { + name: 'vue-devtools', + desc: 'vue.js调试工具', + url: 'https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd', + urls: { '-3': 'https://github.com/vuejs/vue-devtools' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 303, + icon: '', + }, + { + name: 'vue-cli', + desc: 'Vue.js开发的标准脚手架工具', + url: 'https://cli.vuejs.org/zh/', + urls: { + '-2': 'https://cli.vuejs.org/', + '-1': 'https://cli.vuejs.org/zh/', + '-3': 'https://github.com/vuejs/vue-cli', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 304, + icon: '', + }, + { + name: 'vuepress', + desc: 'Vue 驱动的静态网站生成器', + url: 'https://vuepress.vuejs.org/zh/', + urls: { + '-2': 'https://vuepress.vuejs.org/', + '-1': 'https://vuepress.vuejs.org/zh/', + '-3': 'https://github.com/vuejs/vuepress', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 305, + icon: '', + }, + { + name: 'Vue SSR', + desc: 'Vue服务端渲染、SEO解决方案', + url: 'https://vuepress.vuejs.org/zh/', + urls: { + '-2': 'https://ssr.vuejs.org/', + '-1': 'https://ssr.vuejs.org/zh/', + '-3': 'https://github.com/vuejs/vue-ssr-docs', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 306, + icon: '', + }, + { + name: 'vue-class-component', + desc: '用于类式Vue组件的ECMAScript / TypeScript装饰器。', + url: 'https://github.com/vuejs/vue-class-component', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 307, + icon: '', + }, + { + name: 'eslint-plugin-vue', + desc: 'Vue.js的官方ESLint插件', + url: 'https://eslint.vuejs.org/', + urls: { '-3': 'https://github.com/vuejs/eslint-plugin-vue' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 308, + icon: '', + }, + { + name: 'vite', + desc: 'Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产', + url: 'https://github.com/vitejs/vite', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 309, + icon: '', + }, + { + name: 'Vue 组合式 API', + desc: 'Vue 组合式 API在线文档阅读', + url: 'https://composition-api.vuejs.org/zh', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '生态系统'], + id: 310, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'PC端UI组件库', + nav: [ + { + icon: 'https://avatars0.githubusercontent.com/u/20693613?s=200&v=4', + name: 'iView', + desc: '一套基于 Vue.js 的高质量UI 组件库', + url: 'https://www.iviewui.com/docs/guide/install', + urls: { + '-2': 'https://www.iviewui.com/', + '-1': 'https://www.iviewui.com/docs/guide/install', + '-3': 'https://github.com/iview/iview', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 311, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/12810740?s=200&v=4', + name: 'Element', + desc: '一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库', + url: 'http://element-cn.eleme.io/#/zh-CN', + urls: { + '-2': 'http://element-cn.eleme.io/#/en-US', + '-1': 'http://element-cn.eleme.io/#/zh-CN', + '-3': 'https://github.com/ElemeFE/element', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 312, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/12810740?s=200&v=4', + name: 'Element Plus', + desc: '支持Vue3.0的Element', + url: 'https://element-plus.org/#/zh-CN', + urls: { '-3': 'https://github.com/element-plus/element-plus' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 313, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/22283362?s=200&v=4', + name: 'Muse-UI', + desc: '基于 Vue 2.0 优雅的 Material Design UI 组件库', + url: 'https://muse-ui.org/#/zh-CN', + urls: { + '-2': 'https://muse-ui.org/#/en-US/', + '-1': 'https://muse-ui.org/#/zh-CN', + '-3': 'https://github.com/museui/muse-ui', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 314, + }, + { + icon: 'https://qn.antdv.com/favicon.ico', + name: 'Ant Design Vue', + desc: '这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品', + url: 'https://antdv.com/docs/vue/introduce-cn/', + urls: { + '-2': 'https://antdv.com/docs/vue/introduce/', + '-1': 'https://antdv.com/docs/vue/introduce-cn/', + '-3': 'https://github.com/vueComponent/ant-design-vue', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 315, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/22138497?s=200&v=4', + name: 'vuetify', + desc: '让Vue和Material Design的强大力量在开发上助您一臂之力', + url: 'https://vuetifyjs.com/zh-Hans/', + urls: { + '-2': 'https://vuetifyjs.com/en/', + '-1': 'https://vuetifyjs.com/zh-Hans/', + '-3': 'https://github.com/vuetifyjs/vuetify', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 316, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/22965283?s=200&v=4', + name: 'bootstrap-vue', + desc: 'BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记', + url: 'https://bootstrap-vue.js.org/', + urls: { + '-3': 'https://github.com/bootstrap-vue/bootstrap-vue', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 317, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/23659108?s=200&v=4', + name: 'vue-material', + desc: 'Vue material简单,轻巧,完全符合Google Material Design规范', + url: 'https://vuematerial.io', + urls: { '-3': 'https://github.com/vuematerial/vue-material' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 318, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/26799900?s=200&v=4', + name: 'buefy', + desc: 'Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。', + url: 'https://buefy.org', + urls: { '-3': 'https://github.com/buefy/buefy' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'PC端UI组件库'], + id: 319, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '移动端UI组件库', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/11404085?s=200&v=4', + name: 'vant', + desc: '轻量、可靠的移动端 Vue 组件库', + url: 'https://youzan.github.io/vant/#/zh-CN/intro', + urls: { + '-2': 'https://youzan.github.io/vant/#/en-US/intro', + '-1': 'https://youzan.github.io/vant/#/zh-CN/intro', + '-3': 'https://github.com/youzan/vant', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '移动端UI组件库'], + id: 320, + }, + { + name: 'vux', + desc: '一个凑合的 Vue.js 移动端 UI 组件库', + url: 'https://vux.li/', + urls: { + '-1': 'https://vux.li/', + '-3': 'https://github.com/airyland/vux', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '移动端UI组件库'], + id: 321, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/27521938?s=200&v=4', + name: 'cube-ui', + desc: '基于 Vue.js 实现的精致移动端组件库', + url: 'https://didi.github.io/cube-ui/#/zh-CN', + urls: { + '-2': 'https://didi.github.io/cube-ui/#/en-US', + '-1': 'https://didi.github.io/cube-ui/#/zh-CN', + '-3': 'https://github.com/didi/cube-ui', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '移动端UI组件库'], + id: 322, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/27521938?s=200&v=4', + name: 'Mand Mobile', + desc: '面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单', + url: 'https://didi.github.io/mand-mobile/#/zh-CN/home', + urls: { + '-2': 'https://didi.github.io/mand-mobile/#/en-US/home', + '-1': 'https://didi.github.io/mand-mobile/#/zh-CN/home', + '-3': 'https://github.com/didi/mand-mobile', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '移动端UI组件库'], + id: 323, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/12810740?s=200&v=4', + name: 'Mint UI', + desc: '基于 Vue.js 的移动端组件库', + url: 'http://mint-ui.github.io/#!/zh-cn', + urls: { + '-2': 'http://mint-ui.github.io/#!/en', + '-1': 'http://mint-ui.github.io/#!/zh-cn', + '-3': 'https://github.com/ElemeFE/mint-ui/', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '移动端UI组件库'], + id: 324, + }, + { + name: 'NutUI', + desc: '一套京东风格的轻量级移动端Vue组件库', + url: 'https://nutui.jd.com', + urls: { '-3': 'https://github.com/jdf2e/nutui' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '移动端UI组件库'], + id: 325, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他组件/插件', + nav: [ + { + name: 'vue-awesome-swiper', + desc: '基于swiper封装的轮播图组件', + url: 'https://surmon-china.github.io/vue-awesome-swiper/', + urls: { + '-3': 'https://github.com/surmon-china/vue-awesome-swiper', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '其他组件/插件'], + id: 326, + icon: '', + }, + { + name: 'vue-meta', + desc: '管理Vue 2.0组件中的页面元信息。支持SSR + Streaming', + url: 'https://github.com/nuxt/vue-meta', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '其他组件/插件'], + id: 327, + icon: '', + }, + { + name: 'vue-scroller', + desc: 'Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。', + url: 'https://wangdahoo.github.io/vue-scroller/#/', + urls: { '-3': 'https://github.com/wangdahoo/vue-scroller' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '其他组件/插件'], + id: 328, + icon: '', + }, + { + name: 'vue-infinite-loading', + desc: 'Vue.js的无限滚动插件(支持向上和向下)', + url: 'https://peachscript.github.io/vue-infinite-loading/zh/', + urls: { + '-3': 'https://github.com//PeachScript/vue-infinite-loading', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '其他组件/插件'], + id: 329, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '开箱即用', + nav: [ + { + name: 'iview-admin', + desc: '基于iView的Vue 2.0管理系统模板', + url: 'https://admin.iviewui.com/login', + urls: { '-3': 'https://github.com/iview/iview-admin' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', '开箱即用'], + id: 330, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'nuxt服务端渲染框架', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/23360933?s=200&v=4', + name: 'nuxt', + desc: 'Vue.js 通用应用框架', + url: 'https://zh.nuxtjs.org/', + urls: { + '-2': 'https://nuxtjs.org/', + '-1': 'https://zh.nuxtjs.org/', + '-3': 'https://github.com/nuxt/nuxt.js', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'nuxt服务端渲染框架'], + id: 331, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/23360933?s=200&v=4', + name: '创建nuxt的脚手架工具', + desc: 'create-nuxt-app', + url: 'https://github.com/nuxt/create-nuxt-app', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'Vue.js', 'nuxt服务端渲染框架'], + id: 332, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'Angular', + icon: 'https://avatars0.githubusercontent.com/u/139426?s=200&v=4', + nav: [ + { + title: '生态系统', + nav: [ + { + name: 'Angular', + desc: '一个框架,移动 & 桌面', + url: 'https://www.angular.cn/', + urls: { + '-2': 'https://angular.io/', + '-1': 'https://www.angular.cn/', + '-3': 'https://github.com/angular/angular', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', '生态系统'], + id: 333, + icon: '', + }, + { + name: 'angular-cli', + desc: '用于Angular CLI脚手架工具', + url: 'https://cli.angular.io/', + urls: { + '-2': 'https://cli.angular.io/', + '-3': 'https://github.com/angular/angular-cli', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', '生态系统'], + id: 334, + icon: '', + }, + { + name: 'augury', + desc: 'Angular调试和可视化工具', + url: 'https://augury.angular.io/', + urls: { + '-2': 'https://augury.angular.io/', + '-3': 'https://github.com/rangle/augury', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', '生态系统'], + id: 335, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'PC端UI组件库', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/30223759?s=200&v=4', + name: 'NG-ZORRO', + desc: '基于Ant Design的Angular企业级UI组件', + url: 'http://ng.ant.design/docs/introduce/zh', + urls: { + '-2': 'http://ng.ant.design/docs/introduce/en', + '-1': 'http://ng.ant.design/docs/introduce/zh', + '-3': 'https://github.com/NG-ZORRO/ng-zorro-antd', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', 'PC端UI组件库'], + id: 336, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/14283866?s=200&v=4', + name: 'ng-bootstrap', + desc: '基于Bootstrap 4的Angular组件', + url: 'https://ng-bootstrap.github.io/#/components/accordion/examples', + urls: { + '-2': 'https://ng-bootstrap.github.io/#/components/accordion/examples', + '-3': 'https://github.com/ng-bootstrap/ng-bootstrap', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', 'PC端UI组件库'], + id: 337, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/12810740?s=200&v=4', + name: 'element-angular', + desc: 'Element Angular组件库', + url: 'https://element-angular.faas.ele.me/guide/install', + urls: { + '-2': 'https://element-angular.faas.ele.me/', + '-1': 'https://element-angular.faas.ele.me/guide/install', + '-3': 'https://github.com/ElemeFE/element-angular', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', 'PC端UI组件库'], + id: 338, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/3494069?s=200&v=4', + name: 'primeng', + desc: 'PrimeNG是Angular的丰富UI组件的集合', + url: 'https://www.primefaces.org/primeng/#/button', + urls: { '-3': 'https://github.com/primefaces/primeng' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', 'PC端UI组件库'], + id: 339, + }, + { + name: 'material', + desc: 'Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。', + url: 'https://www.primefaces.org/primeng/#/button', + urls: { '-3': 'https://github.com/angular/material' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', 'PC端UI组件库'], + id: 340, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '移动端UI组件库', + nav: [ + { + name: 'material', + desc: 'Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。', + url: 'https://www.primefaces.org/primeng/#/button', + urls: { '-3': 'https://github.com/angular/material' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'Angular', '移动端UI组件库'], + id: 341, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '微信开发', + icon: 'https://avatars0.githubusercontent.com/u/18461506?s=200&v=4', + nav: [ + { + title: '小程序文档', + nav: [ + { + name: '小程序开发', + desc: '微信小程序', + url: 'https://developers.weixin.qq.com/miniprogram/dev/index.html', + urls: { + '-2': 'https://developers.weixin.qq.com/miniprogram/en/dev/index.html?t=18082922', + '-1': 'https://developers.weixin.qq.com/miniprogram/dev/index.html', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序文档'], + id: 342, + icon: '', + }, + { + name: '小游戏开发', + desc: '微信小游戏', + url: 'https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922', + urls: { + '-2': 'https://developers.weixin.qq.com/minigame/en/dev/index.html?t=18081820', + '-1': 'https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序文档'], + id: 343, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '小程序框架', + nav: [ + { + name: 'mpvue', + desc: 'Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心', + url: 'http://mpvue.com/', + urls: { + '-1': 'http://mpvue.com/', + '-3': 'https://github.com/Meituan-Dianping/mpvue', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序框架'], + id: 344, + icon: '', + }, + { + name: 'wepy', + desc: '官方小程序组件化开发框架', + url: 'https://tencent.github.io/wepy/', + urls: { + '-1': 'https://tencent.github.io/wepy/', + '-3': 'https://github.com/Tencent/wepy', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序框架'], + id: 345, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/27521938?s=200&v=4', + name: 'mpx', + desc: 'Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)', + url: 'https://didi.github.io/mpx/', + urls: { + '-1': 'https://didi.github.io/mpx/', + '-3': 'https://github.com/didi/mpx', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序框架'], + id: 346, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/5485517?s=200&v=4', + name: 'uni-app', + desc: 'uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架', + url: 'https://uniapp.dcloud.io/', + urls: { '-3': 'https://github.com/dcloudio/uni-app' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序框架'], + id: 347, + }, + { + icon: 'https://tencent.github.io/omi/assets/omi-logo2019.svg', + name: 'omix', + desc: '腾讯原生小程序框架 OMIX 2.0', + url: 'https://github.com/Tencent/omi/tree/master/packages/omix', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序框架'], + id: 348, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '小程序组件库/插件', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/11404085?s=200&v=4', + name: 'vant-weapp', + desc: '轻量、可靠的小程序 UI 组件库', + url: 'https://vant-contrib.gitee.io/vant-weapp/#/intro', + urls: { '-3': 'https://github.com/youzan/vant-weapp' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 349, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/18461506?s=200&v=4', + name: 'weui-wxss', + desc: '这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库', + url: 'https://github.com/Tencent/weui-wxss/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 350, + }, + { + name: 'wxParse', + desc: 'wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析', + url: 'https://github.com/icindy/wxParse', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 351, + icon: '', + }, + { + name: 'mpvue-wxParse', + desc: '适用于 Mpvue 的微信小程序富文本解析自定义组件', + url: 'https://github.com/F-loat/mpvue-wxParse', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 352, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/2268460?s=200&v=4', + name: 'echarts-for-weixin', + desc: 'ECharts 的微信小程序版本', + url: 'https://github.com/ecomfe/echarts-for-weixin', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 353, + }, + { + icon: 'https://lbs.qq.com/favicon.ico', + name: '腾讯位置服务', + desc: '微信小程序原生LBS能力的最佳拍档', + url: 'https://lbs.qq.com/qqmap_wx_jssdk/index.html', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 354, + }, + { + name: 'ColorUI', + desc: '鲜亮的高饱和色彩,专注视觉的小程序组件库', + url: 'https://www.color-ui.com/', + urls: { '-3': 'https://github.com/weilanwl/ColorUI' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 355, + icon: '', + }, + { + name: 'weapp-input-frame', + desc: '验证码、支付密码输入框组件', + url: 'https://github.com/xjh22222228/weapp-input-frame', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '小程序组件库/插件'], + id: 356, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '微信公众号开发辅助工具', + nav: [ + { + name: 'JS接口签名校验工具', + desc: '微信 JS 接口签名校验工具', + url: 'https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '微信公众号开发辅助工具'], + id: 357, + icon: '', + }, + { + name: '接口调试工具', + desc: '微信公众平台接口调试工具', + url: 'https://mp.weixin.qq.com/debug/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '微信公众号开发辅助工具'], + id: 358, + icon: '', + }, + { + name: 'computed', + desc: '小程序自定义组件 computed / watch 扩展', + url: 'https://github.com/wechat-miniprogram/computed', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '微信公众号开发辅助工具'], + id: 359, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '资源', + nav: [ + { + name: 'awesome-github-wechat-weapp', + desc: '微信小程序开源项目库汇总', + url: 'https://github.com/opendigg/awesome-github-wechat-weapp', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '资源'], + id: 360, + icon: '', + }, + { + name: 'awesome-wechat-weapp', + desc: '微信小程序开发资源汇总', + url: 'https://github.com/justjavac/awesome-wechat-weapp', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '资源'], + id: 361, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + name: '微信开放社区', + desc: '小程序开发者专区,微信公众平台,微信开放社区,开发者专区', + url: 'https://developers.weixin.qq.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '其他'], + id: 362, + icon: '', + }, + { + name: 'wechat-format', + desc: '微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML', + url: 'https://lab.lyric.im/wxformat/', + urls: { '-3': 'https://github.com/lyricat/wechat-format' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '其他'], + id: 363, + icon: '', + }, + { + name: '微信开放平台', + desc: '微信开放平台', + url: 'https://open.weixin.qq.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '微信开发', '其他'], + id: 364, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '工具', + nav: [ + { + title: 'CSS', + nav: [ + { + name: 'CSS3 UI Lib', + desc: 'CSS动画集成、在线调试阴影', + url: 'http://css3lib.alloyteam.com/#panel/demo1', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 365, + icon: '', + }, + { + name: 'CSS Sprites Generator', + desc: 'CSS雪碧图生成', + url: 'https://www.toptal.com/developers/css/sprite-generator', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 366, + icon: '', + }, + { + icon: 'http://www.colorzilla.com/favicon.ico', + name: 'CSS渐变调试器', + desc: '前端开发调试CSS渐变必备神器', + url: 'http://www.colorzilla.com/gradient-editor/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 367, + }, + { + icon: 'https://animista.net/favicon.ico', + name: 'Animista', + desc: '在线生成CSS动画', + url: 'http://animista.net/play/background/ken-burns', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 368, + }, + { + icon: 'https://cssgradient.io/favicon.ico', + name: 'CSS Gradient', + desc: 'CSS渐变调试并生成CSS代码', + url: 'https://cssgradient.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 369, + }, + { + icon: 'https://www.grabient.com/favicon.ico', + name: 'Grabient', + desc: 'CSS渐变调试并生成CSS代码,还可以角度变换', + url: 'https://www.grabient.com/', + urls: { '-3': 'https://github.com/johnkorzhuk/grabient' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 370, + }, + { + icon: 'http://pxtoem.com/favicon.ico', + name: 'px与em单位转换', + desc: 'px与em单位转换', + url: 'http://pxtoem.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 371, + }, + { + icon: 'http://apps.eky.hk/css-triangle-generator/favicon.gif', + name: 'CSS三角形產生器', + desc: 'CSS三角形產生器 - 使用純CSS繪畫三角形', + url: 'http://apps.eky.hk/css-triangle-generator/zh-hant', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 372, + }, + { + icon: 'https://www.sassmeister.com/favicon.ico', + name: 'SassMeister', + desc: '将sass语法转换成CSS语法', + url: 'https://www.sassmeister.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 373, + }, + { + icon: 'https://transfonter.org/favicon.ico', + name: 'transfonter', + desc: '字体图标转换Base64', + url: 'https://transfonter.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 374, + }, + { + name: 'Loading集合', + desc: '上千种Loading认你选', + url: 'https://www.xiejiahe.com/detail/59ec506be9b3310879551f5e', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 375, + icon: '', + }, + { + icon: 'https://cssreference.io/favicons/favicon-32x32.png', + name: 'CSS Reference', + desc: 'css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明', + url: 'https://cssreference.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 376, + }, + { + icon: 'https://www.w3cschool.cn/favicon.ico', + name: '在线CSS阴影调试', + desc: 'CSS3 Box Shadow(阴影)效果在线调试工具', + url: 'https://www.w3cschool.cn/tools/index?name=css3_boxshadow', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CSS'], + id: 377, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'JavaScript', + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png', + nav: [ + { + icon: 'https://regexper.com/favicon.ico', + name: '正则表达式验证器', + desc: '验证JavaScript正则表达式', + url: 'https://regexper.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'JavaScript'], + id: 378, + }, + { + icon: 'https://www.json.cn/favicon.ico', + name: 'JSON在线解析及格式化验证', + desc: 'json在线解析,json格式化,json格式验证,json转xml,xml转json', + url: 'https://www.json.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'JavaScript'], + id: 379, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/25822731?s=200&v=4', + name: 'prettier', + desc: 'Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码', + url: 'https://prettier.io/', + urls: { '-3': 'https://github.com/prettier/prettier' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '工具', 'JavaScript'], + id: 380, + }, + { + name: '正则表达式在线测试', + desc: '正则表达式在线测试', + url: 'http://tool.chinaz.com/regex', + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'JavaScript'], + id: 381, + }, + { + name: 'spy-debugger', + desc: '微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备', + url: 'https://github.com/wuchangming/spy-debugger', + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'JavaScript'], + id: 382, + }, + { + name: 'VConsole', + desc: '一个轻量、可拓展、针对手机网页的前端开发者调试面板', + url: 'https://github.com/Tencent/vConsole/', + urls: { + '-2': 'https://github.com/Tencent/vConsole', + '-1': 'https://github.com/Tencent/vConsole/blob/dev/README_CN.md', + }, + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png', + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '工具', 'JavaScript'], + id: 383, + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'CDN', + nav: [ + { + icon: 'https://www.staticfile.org/assets/images/logo.png', + name: 'Staticfile CDN', + desc: '免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件', + url: 'https://www.staticfile.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CDN'], + id: 384, + }, + { + icon: 'https://www.jsdelivr.com/favicon.ico', + name: 'jsDelivr', + desc: 'jsDelivr – 开源 CDN', + url: 'https://www.jsdelivr.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CDN'], + id: 385, + }, + { + icon: 'https://www.bootcdn.cn/assets/ico/favicon.ico', + name: 'BootCDN', + desc: '稳定、快速、免费的前端开源项目 CDN 加速服务', + url: 'https://www.bootcdn.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CDN'], + id: 386, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/637362?s=200&v=4', + name: 'cdnjs', + desc: '面向Web开发人员的免费和开源公共Web CDN!', + url: 'https://cdnjs.com/', + urls: { '-3': 'https://github.com/cdnjs/cdnjs' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '工具', 'CDN'], + id: 387, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + icon: 'https://www.fundebug.com/favicon.ico', + name: 'FunDebug', + desc: '支持前端JavaScript,后端Node.js以及微信小程序错误监控', + url: 'https://www.fundebug.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 388, + }, + { + icon: 'https://www.caniuse.com/img/favicon-128.png', + name: '前端兼容性查询', + desc: '前端查询API各个厂商兼容性情况', + url: 'https://www.caniuse.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 389, + }, + { + icon: 'http://browserhacks.com/assets/images/browserhacks.ico', + name: 'Browserhacks', + desc: 'Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。', + url: 'http://browserhacks.com/', + urls: { '-3': 'https://github.com/4ae9b8/browserhacks' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 390, + }, + { + name: 'Character Entity Reference Chart', + desc: '字符实体参考图,>', + url: 'https://dev.w3.org/html5/html-author/charref', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 391, + icon: '', + }, + { + name: 'awesome-web-editor', + desc: '开源web编辑器汇总列表', + url: 'https://github.com/xjh22222228/awesome-web-editor', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 392, + icon: '', + }, + { + icon: 'https://jsfiddle.net/img/favicon.png', + name: 'jsfiddle', + desc: '强大的前端代码在线演示的网站', + url: 'http://jsfiddle.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 393, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/11043997?s=200&v=4', + name: 'jsperf', + desc: 'jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能', + url: 'https://jsperf.com/', + urls: { '-3': 'https://github.com/jsperf/jsperf.com' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 394, + }, + { + icon: 'https://codesandbox.io/favicon.ico', + name: 'codesandbox', + desc: 'codesandbox是为Web应用程序定制的在线编辑器。', + url: 'https://codesandbox.io', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 395, + }, + { + icon: 'https://htmlreference.io/favicons/favicon-32x32.png', + name: 'HTML Reference', + desc: '所有HTML元素和属性的免费指南参考', + url: 'https://htmlreference.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 396, + }, + { + icon: 'https://static.jsbin.com/images/dave.min.svg', + name: 'jsbin', + desc: '一个轻量级的html/css/js在线编辑器Debug调试器', + url: 'https://jsbin.com/juduyibeku/edit?html,css,js,console,output', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 397, + }, + { + icon: 'http://www.jsfuck.com/favicon.ico', + name: 'jsfuck', + desc: 'JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。', + url: 'http://www.jsfuck.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '工具', '其他'], + id: 398, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'CSS', + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png', + nav: [ + { + title: 'CSS', + nav: [ + { + icon: 'https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico', + name: 'Bootstrap', + desc: 'Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架', + url: 'http://getbootstrap.com/', + urls: { + '-2': 'http://getbootstrap.com/', + '-1': 'http://www.bootcss.com/', + '-3': 'https://github.com/twbs/bootstrap', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 399, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/317889?s=200&v=4', + name: 'Sass', + desc: 'Sass 是成熟、稳定、强大的 CSS 扩展语言', + url: 'http://sass-lang.com/', + urls: { + '-2': 'http://sass-lang.com/', + '-1': 'http://sass.bootcss.com/', + '-3': 'https://github.com/sass/sass', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 400, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/3538330?s=200&v=4', + name: 'Less', + desc: 'Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性', + url: 'http://lesscss.org/', + urls: { + '-2': 'http://lesscss.org/', + '-1': 'http://lesscss.cn/', + '-3': 'https://github.com/less/less.js', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 401, + }, + { + name: 'magic', + desc: 'CSS3动画特效', + url: 'https://minimamente.com/example/magic_animations/', + urls: { '-3': 'https://github.com/miniMAC/magic' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 402, + icon: '', + }, + { + icon: 'https://avatars3.githubusercontent.com/u/64791939?s=200&v=4', + name: 'Animate.css', + desc: 'CSS动画的跨浏览器库,简单易用', + url: 'https://daneden.github.io/animate.css/', + urls: { '-3': 'https://github.com/animate-css/animate.css' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 403, + }, + { + icon: 'http://necolas.github.io/normalize.css/favicon.ico', + name: 'normalize.css', + desc: '使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式', + url: 'http://necolas.github.io/normalize.css/', + urls: { '-3': 'https://github.com/necolas/normalize.css' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 404, + }, + { + name: 'Hover', + desc: 'CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等', + url: 'http://ianlunn.github.io/Hover/', + urls: { '-3': 'https://github.com/IanLunn/Hover' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 405, + icon: '', + }, + { + name: 'github-markdown-css', + desc: '复制GitHub Markdown样式的最小CSS量', + url: 'https://sindresorhus.com/github-markdown-css/', + urls: { + '-3': 'https://github.com/sindresorhus/github-markdown-css', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 406, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/8296347?s=200&v=4', + name: 'autoprefixer', + desc: 'Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里', + url: 'https://github.com/postcss/autoprefixer', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 407, + }, + { + icon: 'http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png', + name: 'vivify', + desc: 'Vivify是免费的CSS动画库。', + url: 'http://vivify.mkcreative.cz/', + urls: { '-3': 'https://github.com/Martz90/vivify' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 408, + }, + { + name: 'cubic-bezier', + desc: '在线制作CSS动画', + url: 'https://cubic-bezier.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'CSS', 'CSS'], + id: 409, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '图标库', + nav: [ + { + icon: 'http://www.iconfont.cn/favicon.ico', + name: 'iconfont', + desc: '阿里妈妈MUX倾力打造的矢量图标管理、交流平台', + url: 'http://www.iconfont.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'CSS', '图标库'], + id: 410, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/1505683?s=200&v=4', + name: 'Font Awesome', + desc: '一套绝佳的图标字体库和CSS框架', + url: 'https://fontawesome.com/', + urls: { + '-2': 'https://fontawesome.com/', + '-1': 'http://www.fontawesome.com.cn/', + '-3': 'https://github.com/FortAwesome/Font-Awesome', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', '图标库'], + id: 411, + }, + { + icon: 'https://livicons.com/apple-icon-57x57.png', + name: 'LivIcons Evolution', + desc: '会动的纯svg矢量图标库', + url: 'https://livicons.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'CSS', '图标库'], + id: 412, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/3171503?s=200&v=4', + name: 'ionicons', + desc: '适用于Ionic Framework和Web应用程序的高级图标字体', + url: 'https://ionicons.com/', + urls: { '-3': 'https://github.com/ionic-team/ionicons' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', '图标库'], + id: 413, + }, + { + name: 'material-design-icons', + desc: 'Google的Material Design图标', + url: 'https://material.io/tools/icons', + urls: { + '-3': 'https://github.com/google/material-design-icons', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'CSS', '图标库'], + id: 414, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '资源', + nav: [ + { + icon: 'https://cssbattle.dev/images/logo-square.png', + name: 'css battle', + desc: '在线比拼CSS', + url: 'https://cssbattle.dev/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'CSS', '资源'], + id: 415, + }, + { + icon: 'http://zh.learnlayout.com/images/logo.png', + name: '学习CSS布局', + desc: '学习CSS布局', + url: 'http://zh.learnlayout.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'CSS', '资源'], + id: 416, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'TypeScript', + icon: 'https://www.typescriptlang.org/favicon-32x32.png', + nav: [ + { + title: 'TypeScript', + nav: [ + { + name: 'TypeScript', + desc: 'TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集', + url: 'https://www.tslang.cn/index.html', + urls: { + '-2': 'http://www.typescriptlang.org/', + '-1': 'https://www.tslang.cn/index.html', + '-3': 'https://github.com/Microsoft/TypeScript', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'TypeScript', 'TypeScript'], + id: 417, + icon: '', + }, + { + name: 'TypeSearch', + desc: '搜索typescript 类型包 @types/node', + url: 'https://microsoft.github.io/TypeSearch/', + urls: { '-3': 'https://github.com/Microsoft/TypeSearch' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'TypeScript', 'TypeScript'], + id: 418, + icon: '', + }, + { + name: 'DefinitelyTyped', + desc: '高质量TypeScript类型定义的存储库', + url: 'http://definitelytyped.org/', + urls: { + '-3': 'https://github.com/DefinitelyTyped/DefinitelyTyped', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'TypeScript', 'TypeScript'], + id: 419, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/46634674?s=200&v=4', + name: 'typescript-eslint', + desc: 'Monorepo用于所有工具,使ESLint能够支持TypeScript', + url: 'https://github.com/typescript-eslint/typescript-eslint', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'TypeScript', 'TypeScript'], + id: 420, + }, + { + name: 'awesome-typescript', + desc: '用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript', + url: 'https://github.com/dzharii/awesome-typescript', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', 'TypeScript', 'TypeScript'], + id: 421, + icon: '', + }, + { + name: 'TypeScript 入门教程', + desc: 'TypeScript 入门教程', + url: 'https://ts.xcatliu.com/', + urls: { + '-3': 'https://github.com/xcatliu/typescript-tutorial', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', 'TypeScript', 'TypeScript'], + id: 422, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '参考资料', + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png', + nav: [ + { + title: '书籍', + nav: [ + { + name: 'JavaScript 20 年', + desc: 'JavaScript 20 年', + url: 'https://cn.history.js.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '书籍'], + id: 423, + icon: '', + }, + { + name: '你不知道的JavaScript', + desc: '你不知道的JavaScript', + url: 'https://github.com/getify/You-Dont-Know-JS', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '书籍'], + id: 424, + icon: '', + }, + { + icon: 'https://zh.javascript.info/img/favicon/favicon.png', + name: '现代 JavaScript 教程', + desc: '以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识', + url: 'https://zh.javascript.info/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '书籍'], + id: 425, + }, + { + name: 'ECMAScript 6入门', + desc: 'ECMAScript 6入门', + url: 'http://es6.ruanyifeng.com/#README', + urls: { '-3': 'https://github.com/ruanyf/es6tutorial/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '书籍'], + id: 426, + icon: '', + }, + { + name: 'JavaScript教程', + desc: 'JavaScript 标准参考教程', + url: 'https://wangdoc.com/javascript/basic/index.html', + urls: { '-3': 'https://github.com/ruanyf/jstutorial' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '书籍'], + id: 427, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '文档', + nav: [ + { + name: 'JavaScript Puzzlers', + desc: '你真的了解JavaScript吗?来试试吧!', + url: 'http://javascript-puzzlers.herokuapp.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 428, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/41361384?s=200&v=4', + name: 'InterviewMap', + desc: '打造最好的面试图谱', + url: 'https://yuchengkai.cn/docs/zh/', + urls: { + '-2': 'https://yuchengkai.cn/docs/', + '-1': 'https://yuchengkai.cn/docs/zh/', + '-3': 'https://github.com/InterviewMap/CS-Interview-Knowledge-Map', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 429, + }, + { + name: '飞冰早报', + desc: '飞冰早报', + url: 'http://fe.jskou.com/ice', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 430, + icon: '', + }, + { + name: 'jsdoc', + desc: '用于JavaScript的API文档生成器。', + url: 'http://www.css88.com/doc/jsdoc/index.html', + urls: { + '-2': 'http://usejsdoc.org/', + '-1': 'http://www.css88.com/doc/jsdoc/index.html', + '-3': 'https://github.com/jsdoc3/jsdoc', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 431, + icon: '', + }, + { + icon: 'https://avatars3.githubusercontent.com/u/43479428?s=200&v=4', + name: '30 seconds of code', + desc: '精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。', + url: 'https://30secondsofcode.org/', + urls: { + '-3': 'https://github.com/30-seconds/30-seconds-of-code', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 432, + }, + { + name: '33-js-concepts', + desc: 'JavaScript开发者应懂的33个概念', + url: 'https://github.com/stephentian/33-js-concepts', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 433, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/1725583?s=200&v=4', + name: 'ECMAScript Proposals', + desc: '跟踪ECMAScript 提案', + url: 'https://tc39.github.io/process-document/', + urls: { '-3': 'https://github.com/tc39/proposals' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 434, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/1725583?s=200&v=4', + name: 'ecma262', + desc: 'ECMA-262的状态,流程和文档', + url: 'https://tc39.es/ecma262/', + urls: { '-3': 'https://github.com/tc39/ecma262' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 435, + }, + { + icon: 'https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2', + name: 'JavaScript 秘密花园', + desc: 'JavaScript 语言最古怪用法的文档集合', + url: 'https://bonsaiden.github.io/JavaScript-Garden/zh/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 436, + }, + { + name: 'Airbnb JavaScript 编码规范', + desc: 'Airbnb JavaScript 编码规范', + url: 'https://github.com/yuche/javascript', + urls: { + '-2': 'https://github.com/airbnb/javascript', + '-1': 'https://github.com/yuche/javascript', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 437, + icon: '', + }, + { + name: 'Daily-Interview-Question', + desc: '工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己', + url: 'https://github.com/Advanced-Frontend/Daily-Interview-Question', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 438, + icon: '', + }, + { + name: 'javascript-algorithms', + desc: 'JavaScript 算法与数据结构', + url: 'https://github.com/trekhleb/javascript-algorithms', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 439, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/26534952?s=200&v=4', + name: 'weekly', + desc: '前端精读周刊', + url: 'https://github.com/dt-fe/weekly', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['WEB前端', '参考资料', '文档'], + id: 440, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + ], + id: 0, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Node.js', + nav: [ + { + title: '生态系统', + icon: 'https://nodejs.org/static/images/favicons/favicon.ico', + nav: [ + { + title: '官方', + nav: [ + { + name: 'Node.js', + desc: 'Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时', + url: 'http://nodejs.cn', + urls: { + '-2': 'https://nodejs.org/en/', + '-1': 'http://nodejs.cn', + '-3': 'https://github.com/nodejs/node', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '生态系统', '官方'], + id: 441, + icon: '', + }, + { + name: 'npm1', + desc: 'npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具', + url: 'https://www.npmjs.com/', + urls: { + '-2': 'https://www.npmjs.com/', + '-1': 'https://www.npmjs.com.cn/', + '-3': 'https://github.com/npm/cli', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '生态系统', '官方'], + id: 442, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '模块', + nav: [ + { + name: 'urllib', + desc: '在复杂的世界中请求HTTP(s)URL', + url: 'https://github.com/node-modules/urllib', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '生态系统', '模块'], + id: 443, + icon: '', + }, + { + name: 'formstream', + desc: 'multipart / form-data编码流,用于文件上传的帮助程序。', + url: 'https://github.com/node-modules/formstream', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '生态系统', '模块'], + id: 444, + icon: '', + }, + { + name: 'validate-npm-package-name', + desc: '给我一个字符串,我会告诉你它是否是有效的npm软件包名称', + url: 'https://github.com/npm/validate-npm-package-name', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '生态系统', '模块'], + id: 445, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + icon: 'https://classic.yarnpkg.com/favicon.ico', + name: 'Yarn', + desc: '快速、可靠、安全的依赖管理', + url: 'https://yarnpkg.com/zh-Hans/', + urls: { + '-2': 'https://yarnpkg.com/en/', + '-1': 'https://yarnpkg.com/zh-Hans/', + '-3': 'https://github.com/yarnpkg/yarn', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '生态系统', '其他'], + id: 446, + }, + { + name: 'awesome-nodejs', + desc: 'Node.js软件包和资源', + url: 'https://github.com/sindresorhus/awesome-nodejs', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '生态系统', '其他'], + id: 447, + icon: '', + }, + { + name: 'nodebestpractices', + desc: '最大的Node.js最佳实践列表', + url: 'https://github.com/goldbergyoni/nodebestpractices', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '生态系统', '其他'], + id: 448, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'CMS', + nav: [ + { + icon: 'https://avatars0.githubusercontent.com/u/4449608?s=200&v=4', + name: 'NodeBB', + desc: '基于Node.js的论坛软件,为现代网站', + url: 'https://nodebb.org/', + urls: { '-3': 'https://github.com/NodeBB/NodeBB' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '生态系统', 'CMS'], + id: 449, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/2178663?s=200&v=4', + name: 'Ghost', + desc: 'Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress', + url: 'https://ghost.org/', + urls: { '-3': 'https://github.com/TryGhost/Ghost' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '生态系统', 'CMS'], + id: 450, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '资料', + nav: [ + { + name: 'nodebestpractices', + desc: 'Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现', + url: 'https://github.com/goldbergyoni/nodebestpractices', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '生态系统', '资料'], + id: 451, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '依赖包', + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png', + nav: [ + { + title: '网络请求', + nav: [ + { + name: 'request', + desc: '简化的HTTP请求客户端', + url: 'https://github.com/request/request', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '网络请求'], + id: 452, + icon: '', + }, + { + name: 'superagent', + desc: '一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能', + url: 'http://visionmedia.github.io/superagent/', + urls: { '-3': 'https://github.com/visionmedia/superagent' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '网络请求'], + id: 453, + icon: '', + }, + { + name: 'axios', + desc: '基于Promise的HTTP客户端,用于浏览器和node.js', + url: 'https://github.com/axios/axios', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '网络请求'], + id: 454, + icon: '', + }, + { + name: 'node-fetch', + desc: '一个轻量级的模块,将window.fetch带到Node.js', + url: 'https://github.com/node-fetch/node-fetch', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '网络请求'], + id: 455, + icon: '', + }, + { + name: 'bent', + desc: '带有async await的功能性JS HTTP客户端(Node.js和Fetch)', + url: 'https://github.com/mikeal/bent', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '网络请求'], + id: 456, + icon: '', + }, + { + name: 'superagent-proxy', + desc: 'superagent代理扩展,这使您可以通过某种代理来代理HTTP请求', + url: 'https://github.com/TooTallNate/superagent-proxy', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '网络请求'], + id: 457, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '单元测试', + nav: [ + { + icon: 'https://pptr.dev/favicons/apple-touch-icon.png', + name: 'Puppeteer', + desc: 'Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome', + url: 'https://pptr.dev/', + urls: { + '-2': 'https://pptr.dev/', + '-1': 'https://zhaoqize.github.io/puppeteer-api-zh_CN/', + '-3': 'https://github.com/GoogleChrome/puppeteer', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 458, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/8908513?s=200&v=4', + name: 'cypress', + desc: '对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)', + url: 'https://www.cypress.io/', + urls: { '-3': 'https://github.com/cypress-io/cypress' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 459, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/8770005?s=200&v=4', + name: 'Mocha', + desc: 'Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架', + url: 'https://mochajs.org/', + urls: { '-3': 'https://github.com/mochajs/mocha' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 460, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/1515293?s=200&v=4', + name: 'chai', + desc: 'node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器', + url: 'http://www.chaijs.com/', + urls: { '-3': 'https://github.com/chaijs/chai' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 461, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/8527916?s=200&v=4', + name: 'ava', + desc: '未来的JavaScript测试运行器', + url: 'https://github.com/avajs/ava', + urls: { + '-1': 'https://github.com/avajs/ava-docs/blob/master/zh_CN/readme.md', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 462, + }, + { + icon: 'https://jestjs.io/img/favicon/favicon.ico', + name: 'Jest', + desc: 'Jest是一个令人愉快的JavaScript测试框架,专注于简单性。', + url: 'https://jestjs.io/zh-Hans/', + urls: { '-3': 'https://github.com/facebook/jest' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 463, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4243232?s=200&v=4', + name: 'testcafe', + desc: '一个Node.js工具,用于自动化端到端Web测试', + url: 'https://devexpress.github.io/testcafe/', + urls: { '-3': 'https://github.com/DevExpress/testcafe' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 464, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/26206404?s=200&v=4', + name: 'jest-puppeteer', + desc: '使用Jest&Puppeteer运行测试 🎪✨', + url: 'https://github.com/smooth-code/jest-puppeteer', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 465, + }, + { + icon: 'https://kulshekhar.github.io/ts-jest/assets/img/logo.png', + name: 'ts-jest', + desc: '具有对Jest的Sourcemap支持的TypeScript预处理器', + url: 'https://kulshekhar.github.io/ts-jest', + urls: { '-3': 'https://github.com/kulshekhar/ts-jest' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 466, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/26206404?s=200&v=4', + name: 'jest-extended', + desc: '扩展 jest 匹配器', + url: 'https://github.com/jest-community/jest-extended', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '单元测试'], + id: 467, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '数据库', + nav: [ + { + name: 'node-mysql2', + desc: 'node.js的快速node-mysql兼容的mysql驱动程序', + url: 'https://github.com/sidorares/node-mysql2', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 468, + icon: '', + }, + { + name: 'sequelize', + desc: '基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能', + url: 'https://demopark.github.io/sequelize-docs-Zh-CN/', + urls: { + '-2': 'http://docs.sequelizejs.com/', + '-1': 'https://demopark.github.io/sequelize-docs-Zh-CN/', + '-3': 'https://github.com/sequelize/sequelize', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 469, + icon: '', + }, + { + name: 'mongoose', + desc: 'mongodb对象模型设计用于在异步环境中工作。', + url: 'http://www.mongoosejs.net/', + urls: { + '-2': 'http://mongoosejs.com/', + '-1': 'http://www.mongoosejs.net/', + '-3': 'https://github.com/Automattic/mongoose', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 470, + icon: '', + }, + { + name: 'ioredis', + desc: '适用于Node.js,以性能为中心且功能齐全的Redis客户端。', + url: 'https://github.com/luin/ioredis', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 471, + icon: '', + }, + { + name: 'objection.js', + desc: 'Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。', + url: 'http://vincit.github.io/objection.js/', + urls: { '-3': 'https://github.com/Vincit/objection.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 472, + icon: '', + }, + { + name: 'nedb', + desc: 'JavaScript数据库,用于Node.js,nw.js,electron和浏览器', + url: 'https://github.com/louischatriot/nedb', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 473, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/20165699?s=200&v=4', + name: 'typeorm', + desc: 'ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台', + url: 'http://typeorm.io', + urls: { + '-1': 'https://github.com/typeorm/typeorm/tree/master/docs/zh_CN', + '-3': 'https://github.com/typeorm/typeorm', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 474, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/10490573?s=200&v=4', + name: 'knexjs', + desc: 'PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。', + url: 'http://knexjs.org', + urls: { '-3': 'https://github.com/knex/knex' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 475, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/5845577?s=200&v=4', + name: 'node-redis', + desc: '高性能Node.js Redis客户端。', + url: 'https://github.com/NodeRedis/node-redis', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '数据库'], + id: 476, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '图形相关', + nav: [ + { + name: 'node-canvas', + desc: 'node-canvas是Node.js的Cairo -backed Canvas实现。', + url: 'https://github.com/Automattic/node-canvas', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '图形相关'], + id: 477, + icon: '', + }, + { + name: 'svg-captcha', + desc: '在node.js中生成svg验证码', + url: 'https://github.com/lemonce/svg-captcha', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '图形相关'], + id: 478, + icon: '', + }, + { + name: 'ccap', + desc: 'node.js使用C++库CImg生成验证码,无需安装任何其他库或软件', + url: 'https://github.com/DoubleSpout/ccap', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '图形相关'], + id: 479, + icon: '', + }, + { + name: 'text-to-svg', + desc: '将文本转换为SVG路径而不依赖于本机', + url: 'https://github.com/shrhdk/text-to-svg', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '图形相关'], + id: 480, + icon: '', + }, + { + name: 'svg2png', + desc: '使用PhantomJS将SVG转换为PNG', + url: 'https://github.com/domenic/svg2png', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '图形相关'], + id: 481, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '代理', + nav: [ + { + name: 'node-http-proxy', + desc: '一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件', + url: 'https://github.com/nodejitsu/node-http-proxy', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '代理'], + id: 482, + icon: '', + }, + { + name: 'http-proxy-middleware', + desc: '用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)', + url: 'https://github.com/chimurai/http-proxy-middleware', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '代理'], + id: 483, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'AST辅助工具', + nav: [ + { + name: 'esprima', + desc: 'ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST', + url: 'https://esprima.org/', + urls: { '-3': 'https://github.com/jquery/esprima' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'AST辅助工具'], + id: 484, + icon: '', + }, + { + name: 'recast', + desc: 'JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器', + url: 'https://github.com/benjamn/recast', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'AST辅助工具'], + id: 485, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '文件相关', + nav: [ + { + name: 'node-xlsx', + desc: 'NodeJS excel文件解析器和构建器', + url: 'https://github.com/mgcrea/node-xlsx', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '文件相关'], + id: 486, + icon: '', + }, + { + name: 'fs-extra', + desc: '操作系统文件,用于替代内置的fs模块', + url: 'https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e', + urls: { + '-1': 'https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e', + '-3': 'https://github.com/jprichardson/node-fs-extra', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '文件相关'], + id: 487, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/5826089?s=200&v=4', + name: 'js-xlsx', + desc: 'SheetJS社区版 - 电子表格工具包', + url: 'https://sheetjs.com/', + urls: { '-3': 'https://github.com/SheetJS/js-xlsx' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '文件相关'], + id: 488, + }, + { + icon: 'https://www.archiverjs.com/images/logo.svg', + name: 'node-archiver', + desc: '文件压缩', + url: 'https://www.archiverjs.com/', + urls: { '-3': 'https://github.com/archiverjs/node-archiver' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '文件相关'], + id: 489, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '微信开发', + nav: [ + { + name: 'wechat-oauth', + desc: '微信公共平台OAuth接口消息接口服务中间件与API SDK', + url: 'https://github.com/node-webot/wechat-oauth', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '微信开发'], + id: 490, + icon: '', + }, + { + name: 'wechat-api', + desc: '微信公共平台API', + url: 'https://github.com/node-webot/wechat-api', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '微信开发'], + id: 491, + icon: '', + }, + { + name: 'wechat', + desc: '微信公共平台消息接口服务中间件', + url: 'https://github.com/node-webot/wechat', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '微信开发'], + id: 492, + icon: '', + }, + { + name: 'wechaty', + desc: '是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人', + url: 'https://chatie.io/wechaty/', + urls: { '-3': 'https://github.com/Chatie/wechaty' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '微信开发'], + id: 493, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'CLI', + nav: [ + { + name: 'Glob', + desc: '匹配文件。 **/*.js', + url: 'https://github.com/isaacs/node-glob', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 494, + icon: '', + }, + { + name: 'prompts', + desc: '轻巧,美观和用户友好的交互式提示', + url: 'https://github.com/terkelg/prompts', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 495, + icon: '', + }, + { + icon: 'https://avatars3.githubusercontent.com/u/21160645?s=200&v=4', + name: 'enquirer', + desc: '时尚,直观和用户友好的提示', + url: 'https://github.com/enquirer/enquirer', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 496, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/887802?s=200&v=4', + name: 'cli-table3', + desc: '带有Node.JS的CLI的漂亮unicode表', + url: 'https://github.com/cli-table/cli-table3', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 497, + }, + { + name: 'commander.js', + desc: 'node.js命令行界面的完整解决方案,受Ruby指挥官的启发', + url: 'https://github.com/tj/commander.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 498, + icon: '', + }, + { + name: 'ora', + desc: '优雅的终端微调器', + url: 'https://github.com/sindresorhus/ora', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 499, + icon: '', + }, + { + name: 'Inquirer.js', + desc: '常用交互式命令行用户界面的集合', + url: 'https://github.com/SBoudrias/Inquirer.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 500, + icon: '', + }, + { + name: 'shelljs', + desc: 'Node.js的可移植Unix shell命令', + url: 'https://documentup.com/shelljs/shelljs', + urls: { '-3': 'https://github.com/shelljs/shelljs' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 501, + icon: '', + }, + { + name: 'download-git-repo', + desc: '下载并提取git存储库(GitHub,GitLab,Bitbucket)', + url: 'https://github.com/flipxfx/download-git-repo', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 502, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/6078720?s=200&v=4', + name: 'node-semver', + desc: 'node的semver解析器', + url: 'https://github.com/npm/node-semver', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 503, + }, + { + name: 'node-progress', + desc: 'node.js的灵活ascii进度条', + url: 'https://github.com/visionmedia/node-progress', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 504, + icon: '', + }, + { + name: 'node-qrcode', + desc: '二维码生成', + url: 'https://github.com/soldair/node-qrcode', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 505, + icon: '', + }, + { + name: 'open', + desc: '打开URL,文件,可执行文件等内容。跨平台。', + url: 'https://github.com/sindresorhus/open', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 506, + icon: '', + }, + { + name: 'ssh2', + desc: '用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js', + url: 'https://github.com/mscdex/ssh2', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 507, + icon: '', + }, + { + name: 'minimist', + desc: '解析参数选项', + url: 'https://github.com/substack/minimist', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 508, + icon: '', + }, + { + name: 'node-clear', + desc: '清空终端屏幕信息', + url: 'https://github.com/bahamas10/node-clear', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 509, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/13122722?s=200&v=4', + name: 'chalk', + desc: '终端字符串样式', + url: 'https://github.com/chalk/chalk', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 510, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/16504989?s=200&v=4', + name: 'yargs', + desc: '通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。', + url: 'https://github.com/yargs/yargs', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', 'CLI'], + id: 511, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '模板引擎', + nav: [ + { + icon: 'https://handlebarsjs.com/images/favicon.png', + name: 'handlebars', + desc: 'JavaScript模板引擎', + url: 'http://handlebarsjs.com/', + urls: { '-3': 'https://github.com/wycats/handlebars.js' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '模板引擎'], + id: 512, + }, + { + icon: 'https://ejs.co/favicon.svg', + name: 'ejs', + desc: 'JavaScript模板引擎', + url: 'https://ejs.co/', + urls: { '-3': 'https://github.com/mde/ejs' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '模板引擎'], + id: 513, + }, + { + icon: 'https://github.githubassets.com/favicons/favicon.svg', + name: 'mustache.js', + desc: '使用JavaScript的无逻辑{{mustache}}模板', + url: 'https://github.com/janl/mustache.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '模板引擎'], + id: 514, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + name: 'node-xml2js', + desc: '简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js', + url: 'https://github.com/Leonidas-from-XIV/node-xml2js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 515, + icon: '', + }, + { + name: 'iconv-lite', + desc: '纯JavaScript中转换字符编码。', + url: 'https://github.com/ashtuchkin/iconv-lite', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 516, + icon: '', + }, + { + name: 'node-uuid', + desc: '在JavaScript中生成符合RFC的UUID', + url: 'https://github.com/kelektiv/node-uuid', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 517, + icon: '', + }, + { + name: 'nativefier', + desc: '使任何网页成为桌面应用程序', + url: 'https://github.com/jiahaog/nativefier', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 518, + icon: '', + }, + { + name: 'getmac', + desc: '通过Node.js获取当前计算机的mac地址', + url: 'https://github.com/bevry/getmac', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 519, + icon: '', + }, + { + name: 'http-server', + desc: '一个简单的零配置命令行http服务器', + url: 'https://github.com/indexzero/http-server', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 520, + icon: '', + }, + { + name: 'node-schedule', + desc: 'Node的类似cron-like和非not-cron-like的作业调度程序。', + url: 'https://github.com/node-schedule/node-schedule', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 521, + icon: '', + }, + { + name: 'qrcode-terminal', + desc: 'QRCode终端版', + url: 'https://github.com/gtanner/qrcode-terminal', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 522, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/13612933?s=200&v=4', + name: 'localtunnel', + desc: 'localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改', + url: 'https://localtunnel.github.io/www/', + urls: { '-3': 'https://github.com/localtunnel/localtunnel' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 523, + }, + { + icon: 'http://www.passportjs.org/images/favicon/apple-icon-57x57.png', + name: 'passport', + desc: 'Node.js的简单,不显眼的身份验证', + url: 'http://www.passportjs.org/', + urls: { '-3': 'https://github.com/jaredhanson/passport' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 524, + }, + { + name: 'parameter', + desc: '参数验证工具', + url: 'https://github.com/node-modules/parameter', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 525, + icon: '', + }, + { + name: 'bytes', + desc: '用于解析字符串字节, b/kb/mb/gb/tb/pb', + url: 'https://github.com/visionmedia/bytes.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 526, + icon: '', + }, + { + icon: 'https://avatars2.githubusercontent.com/u/723678?s=200&v=4', + name: 'js-yaml', + desc: 'JavaScript YAML解析器和转储器。非常快', + url: 'https://nodeca.github.io/js-yaml/', + urls: { '-3': 'https://github.com/nodeca/js-yaml' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 527, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/34631683?s=200&v=4', + name: 'acorn', + desc: '一个小型,基于JavaScript的快速JavaScript解析器', + url: 'https://github.com/acornjs/acorn', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 528, + }, + { + name: 'figlet.js', + desc: '用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii', + url: 'https://github.com/patorjk/figlet.js', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 529, + icon: '', + }, + { + name: 'node-printer', + desc: '本机 node.js 打印机', + url: 'https://github.com/tojocky/node-printer', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 530, + icon: '', + }, + { + name: 'fontmin', + desc: '无缝缩小字体', + url: 'https://github.com/ecomfe/fontmin', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 531, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/5658226?s=200&v=4', + name: 'morgan', + desc: 'Node.js的HTTP请求记录器中间件', + url: 'https://github.com/expressjs/morgan', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 532, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/9271229?s=200&v=4', + name: 'jsdom', + desc: '与Node.js一起使用的各种Web标准的JavaScript实现', + url: 'https://github.com/jsdom/jsdom', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '依赖包', '其他'], + id: 533, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '跨平台框架', + nav: [ + { + title: 'Electron', + icon: 'https://www.electronjs.org/images/favicon.ico', + nav: [ + { + name: 'Electron', + desc: '使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用', + url: 'https://electronjs.org/', + urls: { '-3': 'https://github.com/electron/electron' }, + icon: 'https://www.electronjs.org/images/favicon.ico', + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'Electron'], + id: 534, + }, + { + name: 'electron-packager', + desc: '通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)', + url: 'https://github.com/electron-userland/electron-packager', + icon: 'https://www.electronjs.org/images/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'Electron'], + id: 535, + }, + { + name: 'electron-installer-dmg', + desc: '使用AppDMG为电子应用程序创建DMG安装程序', + url: 'https://github.com/electron-userland/electron-installer-dmg', + icon: 'https://www.electronjs.org/images/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'Electron'], + id: 536, + }, + { + icon: 'https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png', + name: 'electron-vue', + desc: '基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。', + url: 'https://simulatedgreg.gitbooks.io/electron-vue/content/cn/', + urls: { + '-2': 'https://simulatedgreg.gitbooks.io/electron-vue/content/en/', + '-1': 'https://simulatedgreg.gitbooks.io/electron-vue/content/cn/', + '-3': 'https://github.com/SimulatedGREG/electron-vue', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'Electron'], + id: 537, + }, + { + icon: 'https://www.electron.build/assets/images/favicon.png', + name: 'electron-builder', + desc: '一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序', + url: 'https://www.electron.build/', + urls: { + '-3': 'https://github.com/electron-userland/electron-builder', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'Electron'], + id: 538, + }, + { + icon: 'https://electron-react-boilerplate.js.org/logo/logo.png', + name: 'electron-react-boilerplate', + desc: '基于React可扩展跨平台应用程序的App', + url: 'https://electron-react-boilerplate.js.org/', + urls: { + '-3': 'https://github.com/electron-react-boilerplate/electron-react-boilerplate', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'Electron'], + id: 539, + }, + { + name: 'menubar', + desc: 'Electron创建菜单栏桌面应用程序的高级方法。', + url: 'https://github.com/maxogden/menubar', + icon: 'https://www.electronjs.org/images/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'Electron'], + id: 540, + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'nw.js', + nav: [ + { + icon: 'https://nwjs.org.cn/asset/img/favicon.ico', + name: 'nw.js', + desc: '从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式', + url: 'https://nwjs.org.cn/', + urls: { + '-2': 'https://nwjs.io/', + '-1': 'https://nwjs.org.cn/', + '-3': 'https://github.com/nwjs/nw.js', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'nw.js'], + id: 541, + }, + { + icon: 'https://nwjs.org.cn/asset/img/favicon.ico', + name: 'nw-builder', + desc: '以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。', + url: 'https://github.com/nwjs-community/nw-builder', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'nw.js'], + id: 542, + }, + { + icon: 'https://nwjs.org.cn/asset/img/favicon.ico', + name: 'nwjs-ffmpeg-prebuilt', + desc: 'FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。', + url: 'https://github.com/iteufel/nwjs-ffmpeg-prebuilt', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '跨平台框架', 'nw.js'], + id: 543, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'WEB框架', + nav: [ + { + title: 'nest', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/28507035?s=200&v=4', + name: 'nest', + desc: 'Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素', + url: 'https://docs.nestjs.cn/6/introduction', + urls: { + '-2': 'https://nestjs.com/', + '-1': 'https://docs.nestjs.cn/6/introduction', + '-3': 'https://github.com/nestjs/nest', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', 'WEB框架', 'nest'], + id: 544, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/28507035?s=200&v=4', + name: 'awesome-nestjs', + desc: 'NestJS的精选列表', + url: 'https://github.com/juliandavidmr/awesome-nestjs', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', 'WEB框架', 'nest'], + id: 545, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'egg.js', + nav: [ + { + icon: 'https://eggjs.org/images/favicon.png', + name: 'Egg.js', + desc: 'Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本', + url: 'https://eggjs.org/zh-cn/intro/index.html', + urls: { + '-2': 'https://eggjs.org', + '-1': 'https://eggjs.org/zh-cn/intro/index.html', + '-3': 'https://github.com/eggjs/egg/', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', 'WEB框架', 'egg.js'], + id: 546, + }, + { + icon: 'https://eggjs.org/images/favicon.png', + name: 'egg-validate', + desc: '基于 parameter 封装的参数验证插件', + url: 'https://github.com/eggjs/egg-validate', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', 'WEB框架', 'egg.js'], + id: 547, + }, + { + icon: 'https://eggjs.org/images/favicon.png', + name: 'egg-mailer', + desc: '基于 nodemailer 封装的参数验证插件', + url: 'https://github.com/xjh22222228/egg-mailer', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', 'WEB框架', 'egg.js'], + id: 548, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Express/Koa', + nav: [ + { + icon: 'https://avatars2.githubusercontent.com/u/5055057?s=200&v=4', + name: 'Koa', + desc: 'Koa -- 基于Node.js 平台的下一代web开发框架', + url: 'https://koa.bootcss.com/', + urls: { + '-2': 'https://koajs.com/', + '-1': 'https://koa.bootcss.com/', + '-3': 'https://github.com/koajs/koa', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', 'WEB框架', 'Express/Koa'], + id: 549, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/5658226?s=200&v=4', + name: 'Express', + desc: 'Express - 快速、开放、极简的 Web 开发框架', + url: 'http://expressjs.jser.us/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', 'WEB框架', 'Express/Koa'], + id: 550, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '辅助工具', + icon: 'https://nodejs.org/static/images/favicons/favicon.ico', + nav: [ + { + title: '调试debugger', + nav: [ + { + name: 'node-inspector', + desc: 'Node.js调试器基于Blink Developer Tools', + url: 'https://github.com/node-inspector/node-inspector', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '调试debugger'], + id: 551, + icon: '', + }, + { + name: 'debug', + desc: '一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器', + url: 'https://github.com/visionmedia/debug', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '调试debugger'], + id: 552, + icon: '', + }, + { + name: 'ndb', + desc: 'ndb是针对Node.js的改进调试体验,由Chrome DevTools启用', + url: 'https://github.com/GoogleChromeLabs/ndb', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '调试debugger'], + id: 553, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'node版本管理', + nav: [ + { + name: 'nvm', + desc: 'Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本', + url: 'https://github.com/creationix/nvm', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', 'node版本管理'], + id: 554, + icon: '', + }, + { + name: 'nvm-windows', + desc: '适用于Windows的node.js版本管理实用程序', + url: 'https://github.com/coreybutler/nvm-windows', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', 'node版本管理'], + id: 555, + icon: '', + }, + { + name: 'nvs', + desc: 'Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)', + url: 'https://github.com/jasongin/nvs', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', 'node版本管理'], + id: 556, + icon: '', + }, + { + name: 'n', + desc: 'Node.js版本管理:无配置文件,无复杂的API,非常简单', + url: 'https://github.com/tj/n', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', 'node版本管理'], + id: 557, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '日志管理', + nav: [ + { + name: 'log4js-node', + desc: 'log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。', + url: 'https://log4js-node.github.io/log4js-node/index.html', + urls: { '-3': 'https://github.com/log4js-node/log4js-node' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '日志管理'], + id: 558, + icon: '', + }, + { + name: 'node-bunyan', + desc: '用于node.js服务的简单快速的JSON日志记录模块', + url: 'https://github.com/trentm/node-bunyan', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '日志管理'], + id: 559, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '集成工具', + nav: [ + { + icon: 'https://avatars0.githubusercontent.com/u/1714870?s=200&v=4', + name: 'yeoman', + desc: '一套用于自动化开发工作流程的工具', + url: 'https://yeoman.io/', + urls: { '-3': 'https://github.com/yeoman/yeoman' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '集成工具'], + id: 560, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/16486629?s=200&v=4', + name: 'nodemailer', + desc: '发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!', + url: 'http://nodemailer.com/', + urls: { '-3': 'https://github.com/nodemailer/nodemailer' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '集成工具'], + id: 561, + }, + { + name: 'gh-pages', + desc: '将文件发布到GitHub上的gh-pages分支的常规任务', + url: 'https://github.com/tschaub/gh-pages', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '集成工具'], + id: 562, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '代码压缩', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/43502240?s=200&v=4', + name: 'terser', + desc: '适用于ES6+的JavaScript解析器,mangler和压缩器工具包', + url: 'https://terser.org/', + urls: { '-3': 'https://github.com/terser/terser' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '代码压缩'], + id: 563, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + name: 'Awehunt', + desc: 'npm包下载量曲线对比图', + url: 'https://awehunt.com/npmdownloads?ids=react,angular,vue', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 564, + icon: '', + }, + { + name: 'nodemon', + desc: '监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发', + url: 'https://nodemon.io/', + urls: { '-3': 'https://github.com/remy/nodemon' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 565, + icon: '', + }, + { + name: 'pkg', + desc: '将Node.js项目打包成可执行文件', + url: 'https://github.com/zeit/pkg', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 566, + icon: '', + }, + { + name: 'npm-check-updates', + desc: '查找package.json或bower.json允许的更新版本的软件包依赖项', + url: 'https://github.com/tjunnone/npm-check-updates', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 567, + icon: '', + }, + { + name: 'husky', + desc: 'husky 可以防止错误的 git commit, git push 等', + url: 'https://github.com/typicode/husky', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 568, + icon: '', + }, + { + name: 'bundlephobia', + desc: '找出在项目中添加新的依赖项的包大小', + url: 'https://bundlephobia.com', + urls: { '-3': 'https://github.com/pastelsky/bundlephobia' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 569, + icon: '', + }, + { + name: 'npm-run-all', + desc: '一个CLI工具,可并行或顺序运行多个npm脚本', + url: 'https://github.com/mysticatea/npm-run-all', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 570, + icon: '', + }, + { + name: 'dotenv', + desc: '从.env加载用于nodejs项目的环境变量', + url: 'https://github.com/motdotla/dotenv#readme', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 571, + icon: '', + }, + { + name: 'cross-env', + desc: '运行跨平台设置和使用环境变量的脚本', + url: 'https://github.com/kentcdodds/cross-env', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 572, + icon: '', + }, + { + name: 'nrm', + desc: 'npm源快速切换, npm, cnpm, taobao, nj, 内网', + url: 'https://github.com/Pana/nrm', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', '辅助工具', '其他'], + id: 573, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'Deno', + nav: [ + { + title: '官方', + icon: 'https://avatars1.githubusercontent.com/u/42048915?s=200&v=4', + nav: [ + { + name: 'Deno', + desc: '一个安全的运行时的JavaScript和TypeScript', + url: 'https://deno.land/', + urls: { '-3': 'https://github.com/denoland' }, + icon: 'https://avatars1.githubusercontent.com/u/42048915?s=200&v=4', + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', 'Deno', '官方'], + id: 574, + }, + { + name: 'Deno 标准库', + desc: 'Deno 标准库', + url: 'https://deno.land/std', + icon: 'https://avatars1.githubusercontent.com/u/42048915?s=200&v=4', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Node.js', 'Deno', '官方'], + id: 575, + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '工具', + icon: 'https://avatars1.githubusercontent.com/u/42048915?s=200&v=4', + nav: [ + { + name: 'Deno', + desc: '适用于Deno的Visual Studio Code插件', + url: 'https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno', + urls: { '-3': 'https://github.com/denoland/vscode_deno' }, + icon: 'https://avatars1.githubusercontent.com/u/42048915?s=200&v=4', + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Node.js', 'Deno', '工具'], + id: 576, + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + id: 0, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Golang', + nav: [ + { + title: '生态系统', + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + nav: [ + { + title: '生态', + nav: [ + { + name: 'Golang', + desc: 'Go编程语言', + url: 'https://go-zh.org/', + urls: { + '-2': 'https://golang.org/', + '-1': 'https://go-zh.org/', + '-3': 'https://github.com/golang/go', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', '生态'], + id: 577, + icon: '', + }, + { + name: 'go.dev', + desc: '大规模构建快速,可靠,高效的软件', + url: 'https://go.dev/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '生态系统', '生态'], + id: 578, + icon: '', + }, + { + name: 'awesome-go', + desc: '精选的Go框架,库和软件的精选列表', + url: 'https://github.com/jobbole/awesome-go-cn', + urls: { + '-2': 'https://github.com/avelino/awesome-Go', + '-1': 'https://github.com/jobbole/awesome-go-cn', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', '生态'], + id: 579, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/49926011?s=200&v=4', + name: 'Goproxy', + desc: '中国最可靠的 Go 模块代理', + url: 'https://goproxy.cn/', + urls: { '-3': 'https://github.com/goproxy/goproxy.cn' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', '生态'], + id: 580, + }, + { + icon: 'https://static.studygolang.com/static/img/favicon.ico', + name: 'Go语言中文网', + desc: 'Go语言中文网', + url: 'https://studygolang.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '生态系统', '生态'], + id: 581, + }, + { + icon: 'https://studygolang.com/static/img/go.ico', + name: 'Go标准库中文文档', + desc: 'Go标准库中文文档', + url: 'https://studygolang.com/pkgdoc', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '生态系统', '生态'], + id: 582, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'WEB框架', + nav: [ + { + name: 'gin', + desc: 'Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin', + url: 'https://learnku.com/docs/gin-gonic/2019/go-gin-document', + urls: { + '-2': 'https://gin-gonic.com/', + '-1': 'https://learnku.com/docs/gin-gonic/2019/go-gin-document', + '-3': 'https://github.com/gin-gonic/gin', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', 'WEB框架'], + id: 583, + icon: '', + }, + { + name: 'beego', + desc: 'beego是用于Go编程语言的开源,高性能Web框架', + url: 'http://beego.me', + urls: { + '-2': 'http://beego.me', + '-3': 'https://github.com/astaxie/beego', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', 'WEB框架'], + id: 584, + icon: '', + }, + { + name: 'martini', + desc: 'Go的经典Web框架', + url: 'http://martini.codegangsta.io', + urls: { + '-2': 'http://martini.codegangsta.io', + '-3': 'https://github.com/go-martini/martini', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', 'WEB框架'], + id: 585, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/2624634?s=200&v=4', + name: 'echo', + desc: '高性能,简约的Go Web框架', + url: 'https://echo.labstack.com', + urls: { + '-2': 'https://echo.labstack.com', + '-3': 'https://github.com/labstack/echo', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', 'WEB框架'], + id: 586, + }, + { + icon: 'https://www.iris-go.com/favicon.ico', + name: 'iris', + desc: '最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|', + url: 'https://www.iris-go.com/', + urls: { '-3': 'https://github.com/kataras/iris' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', 'WEB框架'], + id: 587, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/59947262?s=200&v=4', + name: 'fiber', + desc: 'Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。', + url: 'https://gofiber.io/', + urls: { '-3': 'https://github.com/gofiber/fiber' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '生态系统', 'WEB框架'], + id: 588, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '依赖包', + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + nav: [ + { + title: 'GUI', + nav: [ + { + icon: 'https://avatars3.githubusercontent.com/u/36045855?s=200&v=4', + name: 'Fyne', + desc: '基于Material Design的Go跨平台GUI', + url: 'https://fyne.io/', + urls: { '-3': 'https://github.com/fyne-io/fyne' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', 'GUI'], + id: 589, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '日志模块', + nav: [ + { + name: 'logrus', + desc: 'Go的结构化,可插入日志记录。', + url: 'https://github.com/sirupsen/logrus', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '日志模块'], + id: 590, + icon: '', + }, + { + icon: 'https://avatars3.githubusercontent.com/u/19262598?s=200&v=4', + name: 'zap', + desc: '在Go中实现快速,结构化,水平的日志记录。', + url: 'https://github.com/uber-go/zap', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '日志模块'], + id: 591, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '数据库', + nav: [ + { + name: 'gorm', + desc: '适用于Golang的绝佳ORM库,旨在对开发人员友好', + url: 'https://gorm.io/zh_CN/', + urls: { + '-2': 'https://gorm.io/', + '-1': 'https://gorm.io/zh_CN/', + '-3': 'https://github.com/go-gorm/gorm', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '数据库'], + id: 592, + icon: '', + }, + { + icon: 'https://entgo.io/img/favicon.ico', + name: 'ent', + desc: '用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。', + url: 'https://entgo.io/', + urls: { '-3': 'https://github.com/facebook/ent' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '数据库'], + id: 593, + }, + { + name: 'mysql', + desc: 'Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序', + url: 'https://github.com/go-sql-driver/mysql', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '数据库'], + id: 594, + icon: '', + }, + { + name: 'sqlite3', + desc: 'sqlite3驱动程序', + url: 'https://github.com/mattn/go-sqlite3', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '数据库'], + id: 595, + icon: '', + }, + { + name: 'pq', + desc: '适用于database/sql的Pure Go Postgres驱动程序', + url: 'https://github.com/lib/pq', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '数据库'], + id: 596, + icon: '', + }, + { + icon: 'https://redis.uptrace.dev/assets/images/favicon.png', + name: 'redis', + desc: '用于Golang的类型安全的Redis客户端', + url: 'https://redis.uptrace.dev/', + urls: { '-3': 'https://github.com/go-redis/redis' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '数据库'], + id: 597, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '解析器', + nav: [ + { + name: 'json-iterator', + desc: '高性能100%兼容的“ encoding / json”替代产品', + url: 'http://jsoniter.com/migrate-from-go-std.html', + urls: { '-3': 'https://github.com/json-iterator/go' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '解析器'], + id: 598, + icon: '', + }, + { + name: 'blackfriday', + desc: 'Markdown处理器,安全、快速。', + url: 'https://github.com/russross/blackfriday', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '解析器'], + id: 599, + icon: '', + }, + { + name: 'goldmark', + desc: '用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。', + url: 'https://github.com/yuin/goldmark', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '解析器'], + id: 600, + icon: '', + }, + { + name: 'goquery', + desc: '接近jQuery语法的DOM解析库', + url: 'https://github.com/PuerkitoBio/goquery', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '解析器'], + id: 601, + icon: '', + }, + { + name: 'go-yaml', + desc: 'yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。', + url: 'https://github.com/go-yaml/yaml/tree/v3', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '解析器'], + id: 602, + icon: '', + }, + { + name: 'xurls', + desc: '从文本中提取Urls', + url: 'https://github.com/mvdan/xurls', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '解析器'], + id: 603, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '参数验证', + nav: [ + { + name: 'govalidator', + desc: '参数验证程序,用于字符串,数字,切片和结构', + url: 'https://github.com/asaskevich/govalidator', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '参数验证'], + id: 604, + icon: '', + }, + { + name: 'validator', + desc: '基于标签对结构和各个字段实现值验证。', + url: 'https://github.com/go-playground/validator', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '参数验证'], + id: 605, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + name: 'ip', + desc: '获取公网IP地址、v4/v6', + url: 'https://github.com/xjh22222228/ip', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 606, + icon: '', + }, + { + name: 'terminal', + desc: '提供了用于处理终端的支持功能,这在UNIX系统上很常见', + url: 'https://godoc.org/golang.org/x/crypto/ssh/terminal', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 607, + icon: '', + }, + { + name: 'gopsutil', + desc: '用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程', + url: 'https://github.com/shirou/gopsutil', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 608, + icon: '', + }, + { + name: 'air', + desc: 'Go热重载', + url: 'https://github.com/cosmtrek/air', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 609, + icon: '', + }, + { + name: 'go-micro', + desc: '分布式系统开发框架', + url: 'https://go-micro.dev', + urls: { '-3': 'https://github.com/micro/go-micro' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 610, + icon: '', + }, + { + name: 'xlsx', + desc: 'xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。', + url: 'https://github.com/tealeg/xlsx', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 611, + icon: '', + }, + { + name: 'email', + desc: 'Go强大而灵活的电子邮件库。', + url: 'https://github.com/jordan-wright/email', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 612, + icon: '', + }, + { + name: 'websocket', + desc: 'Go的一种快速,经过测试且广泛使用的WebSocket实现', + url: 'https://github.com/gorilla/websocket', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 613, + icon: '', + }, + { + name: 'jwt-go', + desc: 'Golang 实现的 JSON WEB TOKEN', + url: 'https://github.com/dgrijalva/jwt-go', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 614, + icon: '', + }, + { + name: 'cron', + desc: 'Go 实现的 cron 包', + url: 'https://github.com/robfig/cron', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 615, + icon: '', + }, + { + name: 'qrcode', + desc: '二维码生成', + url: 'https://github.com/skip2/go-qrcode', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 616, + icon: '', + }, + { + icon: 'https://avatars3.githubusercontent.com/u/27810343?s=200&v=4', + name: 'casbin', + desc: '权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC', + url: 'https://casbin.org/zh-CN/', + urls: { '-3': 'https://github.com/casbin/casbin' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 617, + }, + { + name: 'resty', + desc: '用于Go的简单HTTP和REST客户端库', + url: 'https://github.com/go-resty/resty', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 618, + icon: '', + }, + { + icon: 'https://grpc.io/favicons/apple-touch-icon.png', + name: 'grpc-go', + desc: 'gRPC的Go语言实现。基于HTTP/2的RPC', + url: 'https://grpc.io/', + urls: { '-3': 'https://github.com/grpc/grpc-go' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 619, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/33584194?s=200&v=4', + name: 'colly', + desc: 'Colly提供了一个干净的界面来编写任何种类的爬虫', + url: 'http://go-colly.org/', + urls: { '-3': 'https://github.com/gocolly/colly' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 620, + }, + { + name: 'cors', + desc: '使用net / http可配置的处理程序来处理CORS请求', + url: 'https://github.com/rs/cors', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '依赖包', '其他'], + id: 621, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: 'CLI', + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + nav: [ + { + title: '终端颜色', + nav: [ + { + name: 'color', + desc: 'CLI 控制台颜色渲染工具库, 支持Windows', + url: 'https://github.com/fatih/color', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '终端颜色'], + id: 622, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '命令行解析', + nav: [ + { + name: 'cli', + desc: '一个简单,快速且有趣的软件包,用于在Go中构建命令行应用', + url: 'https://github.com/urfave/cli/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '命令行解析'], + id: 623, + icon: '', + }, + { + name: 'cobra', + desc: 'Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序', + url: 'https://github.com/spf13/cobra', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '命令行解析'], + id: 624, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '控制台进度条', + nav: [ + { + name: 'pb', + desc: 'Golang的控制台进度栏', + url: 'https://github.com/cheggaaa/pb', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '控制台进度条'], + id: 625, + icon: '', + }, + { + name: 'mpb', + desc: 'Go cli应用程序的多进度条', + url: 'https://github.com/vbauerster/mpb', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '控制台进度条'], + id: 626, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + name: 'promptui', + desc: '命令行应用程序的交互式提示', + url: 'https://github.com/manifoldco/promptui', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '其他'], + id: 627, + icon: '', + }, + { + name: 'godotenv', + desc: '从`.env`文件加载环境变量。', + url: 'https://github.com/joho/godotenv', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '其他'], + id: 628, + icon: '', + }, + { + name: 'go-prompt', + desc: '受python-prompt-toolkit启发,在Go中构建强大的交互式提示。', + url: 'https://github.com/c-bata/go-prompt', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', 'CLI', '其他'], + id: 629, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '工具', + nav: [ + { + title: '工具', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'gvm', + desc: 'Go版本管理器,类似 nvm', + url: 'https://github.com/moovweb/gvm', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '工具', '工具'], + id: 630, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'json-to-go', + desc: '在线 JSON 转 Struct结构体', + url: 'https://mholt.github.io/json-to-go/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '工具', '工具'], + id: 631, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/35628013?s=200&v=4', + name: 'golangci-lint', + desc: 'Go的快速Linters Runner', + url: 'https://github.com/golangci/golangci-lint', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '工具', '工具'], + id: 632, + }, + { + icon: 'https://play.golang.org/favicon.ico', + name: 'The Go Playground', + desc: '在线运行Golang', + url: 'https://play.golang.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '工具', '工具'], + id: 633, + }, + { + icon: 'https://nuclei.projectdiscovery.io/', + name: 'nuclei', + desc: 'Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。', + url: 'https://play.golang.org/', + urls: { '-3': 'https://github.com/projectdiscovery/nuclei' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '工具', '工具'], + id: 634, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/35628013?s=200&v=4', + name: 'jaeger', + desc: '分布式链路追踪', + url: 'https://www.jaegertracing.io/', + urls: { '-3': 'https://github.com/jaegertracing/jaeger' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '工具', '工具'], + id: 635, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/19232073?s=200&v=4', + name: 'delve', + desc: 'Delve是Go编程语言的调试器。', + url: 'https://github.com/go-delve/delve', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '工具', '工具'], + id: 636, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '参考资料', + nav: [ + { + title: '书籍', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go 入门指南', + desc: '《The Way to Go》中文译本,中文正式名《Go 入门指南》', + url: 'https://github.com/unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 637, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go语言圣经', + desc: 'Go语言圣经 《The Go Programming Language》 中文版本', + url: 'https://yar999.gitbook.io/gopl-zh/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 638, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go WEB 编程', + desc: 'Golang电子书介绍如何使用Golang建立网络', + url: 'https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 639, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go简易教程', + desc: '《The Little Go Book》中文译本,中文正式名《Go简易教程》', + url: 'https://github.com/songleo/the-little-go-book_ZH_CN', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 640, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go by Example 中文版', + desc: 'Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。', + url: 'https://gobyexample-cn.github.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 641, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go语言之旅', + desc: '本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等', + url: 'https://tour.go-zh.org/welcome/1', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 642, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go语言101', + desc: '一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言', + url: 'https://gfw.go101.org/article/101.html', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 643, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Go语言高级编程', + desc: '本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)', + url: 'https://chai2010.cn/advanced-go-programming-book/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 644, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Mastering GO', + desc: '《Mastering GO》中文译本,《玩转 GO》。', + url: 'https://github.com/hantmac/Mastering_Go_ZH_CN', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 645, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Mastering GO2', + desc: 'Mastering Go 第二版中文版来袭!', + url: 'https://github.com/hantmac/Mastering_Go_Second_Edition_Zh_CN', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '书籍'], + id: 646, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: '100天从新手到大师', + desc: 'Golang - 100天从新手到大师', + url: 'https://www.qfgolang.com/', + urls: { + '-3': 'https://github.com/rubyhan1314/Golang-100-Days', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '参考资料', '其他'], + id: 647, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'project-layout', + desc: 'Go标准布局结构,项目架构结构参考。', + url: 'https://github.com/golang-standards/project-layout/blob/master/README_zh.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '其他'], + id: 648, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: '编码规范', + desc: 'Uber Go 语言编码规范', + url: 'https://github.com/xxjwxc/uber_go_guide_cn', + urls: { + '-2': 'https://github.com/uber-go/guide/blob/master/style.md', + '-1': 'https://github.com/xxjwxc/uber_go_guide_cn', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Golang', '参考资料', '其他'], + id: 649, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4314092?s=200&v=4', + name: 'Gin实战', + desc: 'WEB 框架Gin实战', + url: 'https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI3MjU4Njk3Ng==&action=getalbum&album_id=1362784031968149504&scene=173#wechat_redirect', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Golang', '参考资料', '其他'], + id: 650, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Flutter', + nav: [ + { + title: '生态系统', + nav: [ + { + title: '官方', + nav: [ + { + icon: 'https://pub.dev/favicon.ico', + name: 'Dart', + desc: 'Dart语言', + url: 'http://www.dartdoc.cn/', + urls: { + '-2': 'https://dart.dev/', + '-1': 'http://www.dartdoc.cn/', + '-3': 'https://github.com/dart-lang/sdk', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Flutter', '生态系统', '官方'], + id: 651, + }, + { + icon: 'https://pub.dev/favicon.ico', + name: 'DartPad', + desc: '在线运行Dart语法', + url: 'https://dartpad.cn/embed-inline.html?id=7a9764702c0608711e08&split=90', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '官方'], + id: 652, + }, + { + icon: 'https://pub.dev/favicon.ico', + name: 'Dart packages', + desc: 'Dart packages', + url: 'https://pub.dev/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '官方'], + id: 653, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'Flutter', + desc: 'Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的', + url: 'https://flutterchina.club/', + urls: { + '-2': 'https://flutter.dev/', + '-1': 'https://flutterchina.club/', + '-3': 'https://github.com/flutter/flutter', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Flutter', '生态系统', '官方'], + id: 654, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'Flutter Icon', + desc: 'Flutter内置Icon组件图标速查表', + url: 'https://material.io/resources/icons/?style=baseline', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '官方'], + id: 655, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '常用模块', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/2605412?s=200&v=4', + name: 'imei_plugin', + desc: '用flutter在Android中获取imei的插件', + url: 'https://github.com/kevincaicedo/imei_plugin', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 656, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/2605412?s=200&v=4', + name: 'multi_image_picker', + desc: 'Flutter插件,可让您在iOS和Android上显示多图像选择器。', + url: 'https://github.com/Sh1d0w/multi_image_picker', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 657, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/2605412?s=200&v=4', + name: 'sqflite', + desc: 'SQLite flutter plugin', + url: 'https://github.com/tekartik/sqflite', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 658, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'dio', + desc: 'dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等', + url: 'https://github.com/flutterchina/dio', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 659, + }, + { + icon: 'https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67', + name: 'fish-redux', + desc: '一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。', + url: 'https://github.com/alibaba/fish-redux', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 660, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'flutter_pulltorefresh', + desc: '一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios', + url: 'https://github.com/peng8350/flutter_pulltorefresh', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 661, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'json_serializable', + desc: 'JSON序列化和反序列化的代码', + url: 'https://github.com/dart-lang/json_serializable', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 662, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'flutter_swiper', + desc: 'flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配', + url: 'https://github.com/best-flutter/flutter_swiper/blob/master/README-ZH.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 663, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'FlutterToast', + desc: '适用于Flutter的Android Toast插件', + url: 'https://github.com/PonnamKarthik/FlutterToast', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 664, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'dart-uuid', + desc: '生成 RFC4122(v1,v4,v5) UUIDs', + url: 'https://github.com/Daegalus/dart-uuid', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 665, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'fluwx', + desc: 'Flutter版微信SDK.WeChat SDK for flutter.', + url: 'https://github.com/OpenFlutter/fluwx', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '常用模块'], + id: 666, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '文档资料', + nav: [ + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'Material Design', + desc: 'Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验', + url: 'https://material.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 667, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'Flutter实战', + desc: 'Flutter实战', + url: 'https://book.flutterchina.club/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 668, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'samples', + desc: 'Flutter示例和演示的集合', + url: 'https://github.com/flutter/samples', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 669, + }, + { + icon: 'https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png', + name: 'flutter-go', + desc: 'flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档', + url: 'https://flutter-go.pub/flutter_go_web/#FirstPage', + urls: { '-3': 'https://github.com/alibaba/flutter-go' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 670, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'Flutter-Notebook', + desc: 'flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识', + url: 'https://github.com/OpenFlutter/Flutter-Notebook', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 671, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'plugins', + desc: 'Flutter团队维护的Flutter插件', + url: 'https://github.com/flutter/plugins', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 672, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'awesome-flutter', + desc: '很棒的清单,精选了最好的Flutter库,工具,教程,文章等', + url: 'https://github.com/Solido/awesome-flutter', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 673, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'flutter-do', + desc: '330+Widgets在线查看预览和使用。', + url: 'http://laomengit.com/flutter/widgets/widgets_structure.html', + urls: { '-3': 'https://github.com/781238222/flutter-do' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Flutter', '生态系统', '文档资料'], + id: 674, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'flutter_wanandroid', + desc: '基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码', + url: 'https://github.com/Sky24n/flutter_wanandroid', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '其他'], + id: 675, + }, + { + icon: 'https://flutter.dev/images/favicon.png', + name: 'Best-Flutter-UI-Templates', + desc: 'Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。', + url: 'https://github.com/mitesh77/Best-Flutter-UI-Templates', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Flutter', '生态系统', '其他'], + id: 676, + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + collapsed: false, + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Python', + nav: [ + { + title: '生态系统', + icon: 'https://www.python.org/static/favicon.ico', + nav: [ + { + title: '官方', + nav: [ + { + name: 'Python', + desc: '是一种解释型、面向对象、动态数据类型的高级程序设计语言。', + url: 'https://www.python.org/', + urls: { '-3': 'https://github.com/TheAlgorithms/Python' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '生态系统', '官方'], + id: 677, + icon: '', + }, + { + name: 'PyPi', + desc: '使用Python软件包索引查找,安装和发布Python软件包', + url: 'https://pypi.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '生态系统', '官方'], + id: 678, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '工具', + nav: [ + { + name: 'PCU', + desc: 'python-check-updates, 检查 pip 当前依赖包最新版本', + url: 'https://github.com/xjh22222228/python-check-updates', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '生态系统', '工具'], + id: 679, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '依赖包', + icon: 'https://www.python.org/static/favicon.ico', + nav: [ + { + title: 'HTTP/爬虫', + nav: [ + { + icon: 'https://www.python.org/static/favicon.ico', + name: 'requests', + desc: 'requests是一个简单而优雅的HTTP库。', + url: 'https://requests.readthedocs.io/en/master/', + urls: { '-3': 'https://github.com/psf/requests' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '依赖包', 'HTTP/爬虫'], + id: 680, + }, + { + icon: 'https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png', + name: 'aiohttp', + desc: '用于asyncio和Python的异步HTTP客户端/服务器框架', + url: 'https://docs.aiohttp.org/en/stable/', + urls: { '-3': 'https://github.com/aio-libs/aiohttp' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '依赖包', 'HTTP/爬虫'], + id: 681, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/733635?s=200&v=4', + name: 'Scrapy', + desc: '一个用于Python的快速高级Web爬虫框架。', + url: 'https://scrapy.org/', + urls: { '-3': 'https://github.com/scrapy/scrapy' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '依赖包', 'HTTP/爬虫'], + id: 682, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/983927?s=200&v=4', + name: 'selenium', + desc: '浏览器自动化框架和生态系统。', + url: 'https://www.selenium.dev/', + urls: { '-3': 'https://github.com/SeleniumHQ/selenium/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '依赖包', 'HTTP/爬虫'], + id: 683, + }, + { + name: 'beautifulsoup', + desc: '可以从HTML或XML文件中提取数据的Python库', + url: 'https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', 'HTTP/爬虫'], + id: 684, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '图像', + nav: [ + { + name: 'Pillow', + desc: '友好的PIL前叉,是一个出色的图像处理库', + url: 'https://python-pillow.org/', + urls: { '-3': 'https://github.com/python-pillow/Pillow' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '依赖包', '图像'], + id: 685, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '运算', + nav: [ + { + name: 'numpy', + desc: '使用Python进行科学计算的基本软件包。', + url: 'https://numpy.org/', + urls: { '-3': 'https://github.com/numpy/numpy' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '依赖包', '运算'], + id: 686, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '数据分析', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/21206976?s=200&v=4', + name: 'pandas', + desc: '功能强大的Python数据分析工具包', + url: 'https://github.com/pandas-dev/pandas', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', '数据分析'], + id: 687, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'CLI', + nav: [ + { + createdAt: '2021-02-04 20:25:26', + name: 'rich', + icon: 'https://github.com/favicon.ico', + url: 'https://github.com/willmcgugan/rich', + desc: 'Rich是一个Python库,用于在终端中提供富文本和精美的格式。', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', 'CLI'], + id: 688, + }, + { + name: 'Fire', + desc: 'Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。', + url: 'https://github.com/google/python-fire', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', 'CLI'], + id: 689, + icon: '', + }, + { + name: 'colorama', + desc: 'Python中简单的跨平台彩色终端文本', + url: 'https://pypi.org/project/colorama/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', 'CLI'], + id: 690, + icon: '', + }, + { + icon: 'https://avatars1.githubusercontent.com/u/12731565?s=200&v=4', + name: 'tqdm', + desc: '适用于Python和CLI的快速,可扩展的进度栏', + url: 'https://github.com/tqdm/tqdm', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', 'CLI'], + id: 691, + }, + { + name: 'paramiko', + desc: '领先的Python SSHv2协议库', + url: 'https://github.com/paramiko/paramiko', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', 'CLI'], + id: 692, + icon: '', + }, + { + name: 'click', + desc: 'Python可组合命令行界面工具包', + url: 'https://github.com/pallets/click', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', 'CLI'], + id: 693, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + createdAt: '2021-01-24 11:58:47', + title: '其他', + icon: '', + nav: [ + { + createdAt: '2021-01-24 11:59:58', + name: 'JMESPath', + icon: 'https://github.com/favicon.ico', + url: 'https://github.com/jmespath/jmespath.py', + desc: 'JMESPath是JSON的查询语言', + urls: {}, + rate: 5, + breadcrumb: ['Python', '依赖包', '其他'], + id: 694, + }, + ], + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '框架', + icon: 'https://www.python.org/static/favicon.ico', + nav: [ + { + title: 'WEB框架', + nav: [ + { + icon: 'https://avatars3.githubusercontent.com/u/27804?s=200&v=4', + name: 'Django', + desc: '具有期限的完美主义者的Web框架。', + url: 'https://www.djangoproject.com/', + urls: { '-3': 'https://github.com/django/django' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '框架', 'WEB框架'], + id: 695, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/16748505?s=200&v=4', + name: 'flask', + desc: '用于构建Web应用程序的Python微框架。', + url: 'https://palletsprojects.com/p/flask/', + urls: { '-3': 'https://github.com/pallets/flask' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Python', '框架', 'WEB框架'], + id: 696, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '参考资料', + nav: [ + { + title: '书籍', + icon: 'https://www.python.org/static/favicon.ico', + nav: [ + { + name: '简明 Python 教程', + desc: '旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。', + url: 'https://bop.mol.uno/', + icon: 'https://www.python.org/static/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '参考资料', '书籍'], + id: 697, + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + { + title: '文档资料', + icon: 'https://www.python.org/static/favicon.ico', + nav: [ + { + name: '100天从新手到大师', + desc: 'Python - 100天从新手到大师', + url: 'https://github.com/jackfrued/Python-100-Days', + icon: 'https://www.python.org/static/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '参考资料', '文档资料'], + id: 698, + }, + { + name: 'Python 入门指南', + desc: 'Python 入门指南', + url: 'https://python666.cn/cls/lesson/list/', + icon: 'https://www.python.org/static/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '参考资料', '文档资料'], + id: 699, + }, + { + name: 'What the f*ck Python!', + desc: '一些有趣且鲜为人知的 Python 特性.', + url: 'https://github.com/satwikkansal/wtfpython', + icon: 'https://www.python.org/static/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '参考资料', '文档资料'], + id: 700, + }, + { + name: 'awesome-python-cn', + desc: 'Python 资源大全中文版', + url: 'https://github.com/jobbole/awesome-python-cn', + icon: 'https://www.python.org/static/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '参考资料', '文档资料'], + id: 701, + }, + { + name: 'cheatsheet', + desc: 'Python大全备忘单', + url: 'https://github.com/gto76/python-cheatsheet', + icon: 'https://www.python.org/static/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '参考资料', '文档资料'], + id: 702, + }, + { + name: 'awesome-python', + desc: '精选的Python框架,库,软件和资源的精选清单。', + url: 'https://github.com/vinta/awesome-python', + icon: 'https://www.python.org/static/favicon.ico', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Python', '参考资料', '文档资料'], + id: 703, + }, + ], + createdAt: '2021-01-23 09:32:06', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + id: 1, + icon: '', + }, + { + title: '社区站点', + nav: [ + { + title: '社区站点', + nav: [ + { + title: '问答社区1', + nav: [ + { + icon: 'https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png', + name: 'segmentfault', + desc: '是中文领域最大的技术问答交流社区平台', + url: 'https://segmentfault.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 704, + }, + { + icon: 'https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png', + name: '掘金', + desc: '一个帮助开发者成长的社区', + url: 'https://juejin.im/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 705, + }, + { + name: 'DiyCode1', + desc: '致力于构建开发工程师高端交流分享社区', + url: 'https://www.diycode.cc/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 706, + icon: '', + }, + { + icon: 'https://static.ld246.com/images/favicon.png', + name: '黑客派', + desc: '黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师', + url: 'https://hacpai.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 707, + }, + { + name: 'Node.js专业中文社区', + desc: '国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究', + url: 'https://cnodejs.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 708, + icon: '', + }, + { + icon: 'https://www.52pojie.cn/favicon.ico', + name: '吾爱破解', + desc: '吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿', + url: 'https://www.52pojie.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 709, + }, + { + icon: 'https://www.freebuf.com/favicon.ico', + name: 'FreeBuf', + desc: 'FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台', + url: 'http://www.freebuf.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 710, + }, + { + icon: 'https://imweb.io/public/icon.png', + name: 'IMWeb', + desc: 'Web前端 腾讯IMWeb 团队社区', + url: 'http://imweb.io/topic/tab/all', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 711, + }, + { + icon: 'https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a', + name: 'Stack Overflow', + desc: '全球最大的技术问答网站,是一个与程序相关的IT技术问答网站', + url: 'https://stackoverflow.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 712, + }, + { + icon: 'https://reactjs.org/favicon.ico', + name: 'React社区', + desc: 'React论坛社区', + url: 'http://react-china.org/', + urls: { + '-2': 'https://discuss.reactjs.org/', + '-1': 'http://react-china.org/', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 713, + }, + { + icon: 'https://p1.ssl.qhimg.com/t010e845cdf71587354.png', + name: '众成翻译', + desc: '中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品', + url: 'https://zcfy.cc/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 714, + }, + { + icon: 'https://developer.mozilla.org/favicon.ico', + name: 'MDN web docs', + desc: 'Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件', + url: 'https://developer.mozilla.org/zh-CN/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 715, + }, + { + icon: 'https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico', + name: 'DEV Community', + desc: '在这里程序员分享想法并帮助彼此成长', + url: 'https://dev.to/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '问答社区1'], + id: 716, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他', + nav: [ + { + icon: 'https://www.v2ex.com/static/img/v2ex_192.png', + name: 'V2EX', + desc: '创意工作者们的社区', + url: 'https://www.v2ex.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 717, + }, + { + icon: 'https://static.zhihu.com/static/favicon.ico', + name: '知乎', + desc: '知乎,中文互联网最大的知识分享和社交平台', + url: 'https://www.zhihu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 718, + }, + { + icon: 'https://www.jianshu.com/favicon.ico', + name: '简书', + desc: '简书是一个创作社区,任何人均可以在其上进行创作', + url: 'https://www.jianshu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 719, + }, + { + icon: 'https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico', + name: '小专栏', + desc: '小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点', + url: 'https://xiaozhuanlan.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 720, + }, + { + icon: 'https://news.ycombinator.com/favicon.ico', + name: 'Hacker News', + desc: 'Hacker News', + url: 'https://news.ycombinator.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 721, + }, + { + icon: 'https://stacdn.proginn.com/favicon_new.ico', + name: '程序员客栈', + desc: '程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务', + url: 'https://www.proginn.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 722, + }, + { + icon: 'https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png', + name: '职Q', + desc: '智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区', + url: 'https://zq.zhaopin.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 723, + }, + { + icon: 'http://cdn.jandan.net/static/img/appicon.png', + name: '煎蛋', + desc: '煎蛋以译介方式传播网络新鲜资讯', + url: 'http://jandan.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '其他'], + id: 724, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '代码托管', + nav: [ + { + icon: 'https://github.githubassets.com/favicons/favicon.svg', + name: 'Github', + desc: '面向开源及私有软件项目的托管平台', + url: 'https://github.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '代码托管'], + id: 725, + }, + { + icon: 'https://gitee.com/favicon.ico', + name: '码云', + desc: '码云专为开发者提供稳定、高效、安全的云端软件开发协作平台', + url: 'https://gitee.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '代码托管'], + id: 726, + }, + { + icon: 'https://about.gitlab.com/ico/apple-touch-icon-57x57.png', + name: 'GitLab', + desc: '用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务', + url: 'https://gitlab.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '代码托管'], + id: 727, + }, + { + icon: 'https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico', + name: 'Coding', + desc: '面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...', + url: 'https://coding.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['社区站点', '社区站点', '代码托管'], + id: 728, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Design', + nav: [ + { + title: 'Design', + nav: [ + { + title: '材料', + nav: [ + { + icon: 'http://www.51yuansu.com/favicon.ico', + name: '觅元素', + desc: '觅元素,为您提供免费设计元素,设计元素的资源站', + url: 'http://www.51yuansu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 729, + }, + { + icon: 'https://js.588ku.com/comp/public/css/iconfont/favicon.ico', + name: '千库网', + desc: '致力于为设计师提供最优质的素材', + url: 'http://588ku.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 730, + }, + { + icon: 'https://huaban.com/img/touch-icon-ipad.png', + name: '花瓣网', + desc: '花瓣,陪你做生活的设计师', + url: 'http://huaban.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 731, + }, + { + icon: 'https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico', + name: 'Dribbble', + desc: 'Dribbble是展示和宣传,推广,发现和探索设计的地方', + url: 'https://dribbble.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 732, + }, + { + icon: 'https://669pic.com/669pic.ico', + name: '万素网', + desc: '万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务', + url: 'http://669pic.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 733, + }, + { + icon: 'https://www.artstation.com/assets/favicon.ico', + name: 'ArtStation', + desc: 'ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。', + url: 'https://www.artstation.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 734, + }, + { + icon: 'https://static.canva.com/static/images/favicon.ico', + name: 'Design Templates - Canva', + desc: '设计模板 - Canva', + url: 'https://www.canva.com/templates/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 735, + }, + { + icon: 'https://unsplash.com/favicon-32x32.png', + name: 'Unsplash', + desc: '美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。', + url: 'https://unsplash.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 736, + }, + { + icon: 'https://www.gaoding.com/favicon.ico', + name: '稿定设计', + desc: '电商素材、新媒体配图、手机海报等。', + url: 'https://www.gaoding.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 737, + }, + { + icon: 'https://undraw.co/favicon-32x32.png', + name: 'unDraw', + desc: '带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序', + url: 'https://undraw.co/illustrations', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 738, + }, + { + icon: 'https://www.ui.cn/Public/img/favicon.ico', + name: 'UI中国用户体验设计平台', + desc: 'UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!', + url: 'https://www.ui.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 739, + }, + { + icon: 'https://octodex.github.com/favicon.ico', + name: 'GitHub Octodex', + desc: '由GitHub Design团队创建和维护的所有吉祥物素材', + url: 'https://octodex.github.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 740, + }, + { + icon: 'http://collectui.com/img/favicon.ico', + name: 'Collect UI', + desc: '从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新', + url: 'http://collectui.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '材料'], + id: 741, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '图标', + nav: [ + { + icon: 'https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png', + name: 'icons8', + desc: '下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐', + url: 'https://icons8.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '图标'], + id: 742, + }, + { + icon: 'https://www.vectorlogo.zone/favicon.ico', + name: 'vectorlogo', + desc: '3000多种精美的SVG徽标,非常适合您的自述文件或积分页面', + url: 'https://www.vectorlogo.zone/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '图标'], + id: 743, + }, + { + icon: 'https://www.shareicon.net/favicon.ico', + name: 'shareicon', + desc: '超过25万个icon免费集合', + url: 'https://www.shareicon.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '图标'], + id: 744, + }, + { + name: 'SVG Logos', + desc: '超过1000+SVG Logos集合', + url: 'https://github.com/gilbarbara/logos/archive/master.zip', + urls: { + '-3': 'https://github.com/gilbarbara/logos/tree/master/logos', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['Design', 'Design', '图标'], + id: 745, + icon: '', + }, + { + icon: 'https://www.iconfont.cn/favicon.ico', + name: 'iconfont', + desc: '阿里妈妈MUX倾力打造的矢量图标管理、交流平台', + url: 'http://www.iconfont.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '图标'], + id: 746, + }, + { + icon: 'https://iconscout.com/favicon.ico', + name: 'iconscount', + desc: '免费下载图标,插图和库存照片', + url: 'https://iconscout.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '图标'], + id: 747, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '工具', + nav: [ + { + icon: 'https://www.chuangkit.com/favicon.ico', + name: '创客贴', + desc: '一款简单易用、功能强大的线上图形设计工具', + url: 'https://www.chuangkit.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '工具'], + id: 748, + }, + { + name: 'Ps Play', + desc: 'Ps Play - 移动设计零阻力', + url: 'https://isux.tencent.com/resources/psplay/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '工具'], + id: 749, + icon: '', + }, + { + icon: 'https://g.alicdn.com/acca/resource/luban/image/favicon.png', + name: '鹿班', + desc: '鹿班 - 让设计更美好(阿里出品)', + url: 'https://luban.aliyun.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '工具'], + id: 750, + }, + { + icon: 'https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6', + name: 'fontspace', + desc: '6500+免费字体下载', + url: 'https://www.fontspace.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '工具'], + id: 751, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '配色', + nav: [ + { + icon: 'https://colorhunt.co/img/color-hunt-icon-ios.png', + name: 'Color Hunt', + desc: 'Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感', + url: 'https://colorhunt.co/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['Design', 'Design', '配色'], + id: 752, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '学无止境', + nav: [ + { + title: '参考文档', + nav: [ + { + title: 'Docker', + nav: [ + { + icon: 'https://github.com/favicon.ico', + name: 'Docker — 从入门到实践', + desc: 'Docker — 从入门到实践', + url: 'https://yeasy.gitbooks.io/docker_practice/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Docker'], + id: 753, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'Docker官方映像文档', + desc: 'docker-library中的Docker官方映像文档', + url: 'https://github.com/docker-library/docs', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Docker'], + id: 754, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/7739233?s=200&v=4', + name: 'Docker Hub', + desc: 'Docker 镜像仓库', + url: 'https://hub.docker.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Docker'], + id: 755, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/7739233?s=200&v=4', + name: 'Docker-Compose', + desc: '使用Docker定义和运行多容器应用程序', + url: 'https://docs.docker.com/compose/', + urls: { '-3': 'https://github.com/docker/compose' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Docker'], + id: 756, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'Git', + nav: [ + { + icon: 'https://github.com/favicon.ico', + name: 'git-manual', + desc: 'Git常用命令参考手册 (推荐学习)', + url: 'https://github.com/xjh22222228/git-manual', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Git'], + id: 757, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'GitHub Docs', + desc: 'github 官方帮助文档', + url: 'https://help.github.com/cn', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Git'], + id: 758, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'awesome-actions', + desc: '精选的GitHub上很棒的Action列表', + url: 'https://github.com/sdras/awesome-actions', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Git'], + id: 759, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'Github - Actions', + desc: 'Github 官方Actions 资源列表', + url: 'https://github.com/marketplace?type=actions', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Git'], + id: 760, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'growing-up', + desc: '程序猿成长计划', + url: 'https://github.com/mylxsw/growing-up', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', 'Git'], + id: 761, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '服务器', + nav: [ + { + icon: 'https://avatars0.githubusercontent.com/u/1412239?s=200&v=4', + name: 'nginx', + desc: 'nginx参考文档', + url: 'https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title', + urls: { + '-2': 'http://nginx.org/en/docs/', + '-1': 'https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title', + '-3': 'https://github.com/nginx/nginx', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '参考文档', '服务器'], + id: 762, + }, + { + icon: 'https://avatars0.githubusercontent.com/u/1412239?s=200&v=4', + name: 'Nginx开发从入门到精通', + desc: 'Nginx开发从入门到精通', + url: 'http://tengine.taobao.org/book/index.html', + urls: { '-3': 'https://github.com/taobao/nginx-book' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '参考文档', '服务器'], + id: 763, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '数据库', + nav: [ + { + icon: 'https://avatars3.githubusercontent.com/u/1529926?s=200&v=4', + name: 'redis', + desc: 'Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构', + url: 'http://www.redis.cn/', + urls: { + '-2': 'https://redis.io/', + '-1': 'http://www.redis.cn/', + '-3': 'https://github.com/redis/redis', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '参考文档', '数据库'], + id: 764, + }, + { + icon: 'https://labs.mysql.com/common/themes/sakila/favicon.ico', + name: 'MySQL', + desc: 'MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持', + url: 'https://www.mysql.com/cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '数据库'], + id: 765, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '书籍', + nav: [ + { + icon: 'https://avatars1.githubusercontent.com/u/14127308?s=200&v=4', + name: '免费的编程中文书籍索引', + desc: '免费的编程中文书籍索引', + url: 'https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '书籍'], + id: 766, + }, + { + icon: 'https://zh.b-ok.global/apple-touch-icon.png', + name: 'Zlibrary', + desc: 'Z-Library 项目部分. 全球最大的数字图书馆, 电子书', + url: 'https://zh.b-ok.global/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '书籍'], + id: 767, + }, + { + name: 'IT-eBOOK', + desc: 'IT类技术书籍PDF', + url: 'https://github.com/asyncfun/IT-eBOOK', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '书籍'], + id: 768, + icon: '', + }, + { + icon: 'https://refactoringguru.cn/favicon.ico', + name: 'Refactoring.Guru', + desc: '22种常用设计模式', + url: 'https://refactoringguru.cn/design-patterns', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '书籍'], + id: 769, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '其他文档', + nav: [ + { + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png', + name: 'Linux 常用命令参考手册', + desc: 'Linux 常用命令参考手册', + url: 'https://github.com/xjh22222228/linux-manual', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 770, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'developer-roadmap', + desc: '2020年成为网络开发人员的路线图', + url: 'https://github.com/kamranahmedse/developer-roadmap', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 771, + }, + { + icon: 'https://devhints.io/assets/favicon.png', + name: 'Devhints', + desc: 'WEB开发速查表,mysql/go/java/js/bash/react/git...', + url: 'https://devhints.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 772, + }, + { + icon: 'https://wangchujiang.com/linux-command/img/favicon.ico', + name: 'linux-command', + desc: 'Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集', + url: 'https://git.io/linux', + urls: { '-3': 'https://github.com/jaywcjlove/linux-command' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 773, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'learn-regex', + desc: '正则表达式学习', + url: 'https://github.com/ziishaned/learn-regex', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 774, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'the-art-of-command-line', + desc: '命令行的艺术', + url: 'https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 775, + }, + { + icon: 'https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png', + name: 'Peter Beverloo', + desc: 'Chrome浏览器命令参数参考手册', + url: 'https://peter.sh/experiments/chromium-command-line-switches/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 776, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/11618545?s=200&v=4', + name: 'vimrc', + desc: 'vim配置参考手册', + url: 'https://github.com/amix/vimrc', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 777, + }, + { + icon: 'https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico', + name: 'Jenkins', + desc: 'Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要', + url: 'https://www.jenkins.io/zh/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 778, + }, + { + icon: 'https://learnxinyminutes.com/favicon.ico', + name: 'learnxinyminutes-docs', + desc: '在Y分钟内学习X', + url: 'https://learnxinyminutes.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 779, + }, + { + icon: 'https://code.visualstudio.com/apple-touch-icon.png', + name: 'Vscode Docs', + desc: 'Vscode 扩展开发文档', + url: 'https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/', + urls: { + '-2': 'https://code.visualstudio.com/api', + '-1': 'https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/', + '-3': 'https://github.com/microsoft/vscode-docs', + }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 780, + }, + { + name: 'YAML教程', + desc: 'YAML教程', + url: 'https://www.yiibai.com/yaml', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 781, + icon: '', + }, + { + icon: 'https://www.google.com/images/icons/product/chrome-32.png', + name: 'Chrome Extension', + desc: '谷歌浏览器扩展插件开发文档', + url: 'https://developer.chrome.com/extensions', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '参考文档', '其他文档'], + id: 782, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '教程相关', + nav: [ + { + nav: [ + { + icon: 'https://static.runoob.com/images/icon/mobile-icon.png', + name: '菜鸟教程', + desc: '提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程', + url: 'https://www.runoob.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 783, + }, + { + icon: 'https://www.imooc.com/static/img/common/touch-icon-ipad.png', + name: '慕课网', + desc: '慕课网-程序员的梦工厂', + url: 'https://www.imooc.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 784, + }, + { + icon: 'https://www.jikexueyuan.com/favicon.ico', + name: '极客学院', + desc: '致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育', + url: 'https://www.jikexueyuan.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 785, + }, + { + icon: 'https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico', + name: '腾讯课堂', + desc: '腾讯课堂 - 专业的在线教育平台', + url: 'https://ke.qq.com/index.html', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 786, + }, + { + icon: 'https://static2.ichunqiu.com/icq/resources/images/favicon.ico', + name: 'i春秋', + desc: '【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台', + url: 'https://www.ichunqiu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 787, + }, + { + icon: 'http://www.shiyanbar.com/favicon.ico', + name: '实验吧', + desc: '实验吧是国内最大的在线虚拟机实验IT教育平台', + url: 'http://www.shiyanbar.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 788, + }, + { + icon: 'https://www.hetianlab.com/img/ico/favicon.ico', + name: '合天网安实验室', + desc: '合天网安实验室是支持在线实验的信息安全学习的大型服务平台', + url: 'http://www.hetianlab.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 789, + }, + { + icon: 'https://study.163.com/favicon.ico', + name: '网易云课堂', + desc: '网易云课堂 - 领先的实用技能学习平台', + url: 'http://study.163.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 790, + }, + { + icon: 'https://study.163.com/favicon.ico', + name: '蓝桥', + desc: '蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用', + url: 'https://www.lanqiao.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 791, + }, + { + icon: 'https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2', + name: 'W3Cschool', + desc: '编程狮,是一个专业的W3C前端开发及编程入门学习平台', + url: 'https://www.w3cschool.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '教程相关'], + id: 792, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '面试刷题', + nav: [ + { + title: '面试刷题', + nav: [ + { + icon: 'https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png', + name: 'LeetCode', + desc: '提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。', + url: 'https://leetcode-cn.com/', + urls: { '-2': 'https://leetcode.com/' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '面试刷题', '面试刷题'], + id: 793, + }, + { + icon: 'https://www.nowcoder.com/favicon.ico', + name: '牛客网', + desc: '牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库', + url: 'https://www.nowcoder.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '面试刷题', '面试刷题'], + id: 794, + }, + { + icon: 'https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png', + name: 'CS-Notes', + desc: '技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++', + url: 'https://cyc2018.github.io/CS-Notes', + urls: { '-3': 'https://github.com/CyC2018/CS-Notes' }, + createdAt: '2021-01-23 09:32:06', + rate: 5, + breadcrumb: ['学无止境', '面试刷题', '面试刷题'], + id: 795, + }, + { + icon: 'https://visualgo.net/img/favicon.png', + name: '数据结构和算法动态可视化', + desc: '数据结构和算法动态可视化', + url: 'https://visualgo.net/zh', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '面试刷题', '面试刷题'], + id: 796, + }, + { + icon: 'https://github.com/favicon.ico', + name: 'algorithm-pattern', + desc: '算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~', + url: 'https://github.com/greyireland/algorithm-pattern', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['学无止境', '面试刷题', '面试刷题'], + id: 797, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '网络安全', + nav: [ + { + title: '网络安全', + nav: [ + { + title: '网络安全', + nav: [ + { + name: '乌云网镜像', + desc: 'WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义', + url: 'http://wooyun.2xss.cc/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 798, + icon: '', + }, + { + icon: 'https://www.anquan.org/aq_static/images/favicon/favicon.ico', + name: '安全联盟', + desc: '安全联盟 - 国内最大的第三方网络安全数据共享交换平台', + url: 'https://www.anquan.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 799, + }, + { + icon: 'https://www.360.cn/favicon.ico', + name: '360网站安全检测', + desc: '为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务', + url: 'http://webscan.360.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 800, + }, + { + icon: 'https://www.2cto.com/favicon.ico', + name: '红黑联盟', + desc: '红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体', + url: 'https://www.2cto.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 801, + }, + { + icon: 'https://www.knownsec.com/static/favicon.ico', + name: '知道创宇', + desc: '知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案', + url: 'https://www.knownsec.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 802, + }, + { + name: '安全周', + desc: '关注安全资讯 专注资源共享', + url: 'https://www.secz.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 803, + icon: '', + }, + { + icon: 'https://www.hacked.com.cn/favicon.ico', + name: '全球被黑站点统计系统', + desc: '主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...', + url: 'http://www.hacked.com.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 804, + }, + { + icon: 'https://www.secpulse.com/favicon.ico', + name: '安全脉搏', + desc: '高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区', + url: 'https://www.secpulse.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '网络安全'], + id: 805, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: 'CTF', + nav: [ + { + icon: 'http://xss.xiejiahe.com/favicon.png', + name: 'XSS-CTF', + desc: 'XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识', + url: 'http://xss.xiejiahe.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', 'CTF'], + id: 806, + }, + { + name: 'XSS测试', + desc: 'XSS小游戏', + url: 'https://xss.haozi.me/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', 'CTF'], + id: 807, + icon: '', + }, + { + name: 'Pasteurize', + desc: 'XSS CTF', + url: 'https://pasteurize.web.ctfcompetition.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', 'CTF'], + id: 808, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '辅助工具', + nav: [ + { + icon: 'https://www.telerik.com/favicon.ico', + name: 'fiddler', + desc: 'Fiddler是一个用于HTTP调试的代理服务器应用程序', + url: 'https://www.telerik.com/fiddler', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 809, + }, + { + icon: 'https://www.wireshark.org/assets/images/favicon.ico', + name: 'wireshark', + desc: '是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换', + url: 'https://www.wireshark.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 810, + }, + { + name: 'XSS平台-白帽安全测试', + desc: 'XSS平台是一个免费给白帽安全测试的平台', + url: 'https://xsspt.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 811, + icon: '', + }, + { + name: 'Security Headers', + desc: '快速轻松地评估HTTP响应头的安全性', + url: 'https://securityheaders.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 812, + icon: '', + }, + { + name: 'w9scan', + desc: '一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...', + url: 'https://github.com/w-digital-scanner/w9scan', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 813, + icon: '', + }, + { + icon: 'https://avatars0.githubusercontent.com/u/7302766?s=200&v=4', + name: 'xray', + desc: 'xray 安全评估工具', + url: 'https://github.com/chaitin/xray', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 814, + }, + { + icon: 'https://www.cmd5.com/favicon.ico', + name: 'cmd5', + desc: 'md5在线解密破解,md5解密加密', + url: 'https://www.cmd5.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 815, + }, + { + icon: 'https://avatars3.githubusercontent.com/u/735289?s=200&v=4', + name: 'sqlmap', + desc: '自动SQL注入和数据库接管工具', + url: 'http://sqlmap.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 816, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/63385?s=200&v=4', + name: 'nmap', + desc: 'nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端', + url: 'https://nmap.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 817, + }, + { + icon: 'http://xssor.io/s/favicon.ico', + name: 'xssor', + desc: '编码/解码,Codz,探针', + url: 'http://xssor.io', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 818, + }, + { + icon: 'https://phpinfo.me/favicon.ico', + name: '在线子域名查询', + desc: '在线子域名查询', + url: 'https://phpinfo.me/domain/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 819, + }, + { + name: 'fuzzDicts', + desc: 'Web Pentesting Fuzz 字典', + url: 'https://github.com/TheKingOfDuck/fuzzDicts', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 820, + icon: '', + }, + { + name: 'BurpSuitePro', + desc: '免费的BurpSuitePro版本', + url: 'https://github.com/TrojanAZhen/BurpSuitePro-2.1', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '辅助工具'], + id: 821, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '知识/测试', + nav: [ + { + icon: 'https://vulhub.org/img/favicon.ico', + name: 'Vulhub', + desc: '基于docker和docker-compose的漏洞环境集合...', + url: 'https://vulhub.org', + langguage: ['', '', 'https://github.com/vulhub/vulhub'], + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '知识/测试'], + id: 822, + }, + { + name: 'SRC-experience', + desc: '工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享', + url: 'https://github.com/Wh0ale/SRC-experience', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '知识/测试'], + id: 823, + icon: '', + }, + { + name: 'Intranet_Penetration_Tips', + desc: '内网渗透TIPS', + url: 'https://github.com/Ridter/Intranet_Penetration_Tips', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['网络安全', '网络安全', '知识/测试'], + id: 824, + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '运营相关', + nav: [ + { + title: '运营相关', + nav: [ + { + title: '运营相关', + nav: [ + { + icon: 'https://tongji.baidu.com/favicon.ico', + name: '百度统计', + desc: '全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...', + url: 'https://tongji.baidu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 825, + }, + { + icon: 'https://www.umeng.com/favicon.ico', + name: 'CNZZ', + desc: 'CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定', + url: 'http://www.cnzz.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 826, + }, + { + icon: 'https://www.baidu.com/img/baidu.svg', + name: '百度搜索资源平台', + desc: '百度搜索资源平台_让网站更具价值', + url: 'https://ziyuan.baidu.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 827, + }, + { + icon: 'https://www.wjx.cn/favicon.ico', + name: '问卷星', + desc: '免费使用问卷星创建问卷调查、在线考试、360度评估等应用', + url: 'https://www.wjx.cn/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 828, + }, + { + icon: 'https://gd-assets.jinshujucdn.com/favicon.ico', + name: '金数据', + desc: '金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率', + url: 'https://jinshuju.net/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 829, + }, + { + icon: 'https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png', + name: 'Google Analytics', + desc: 'Google Analytics是一个收集数据并将其分析整理成实用报告的平台', + url: 'https://analytics.google.com', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 830, + }, + { + icon: 'https://mta.qq.com/mta/resource/imgcache/images/favicon.ico', + name: '腾讯移动分析', + desc: '腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务', + url: 'https://mta.qq.com/mta/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 831, + }, + { + icon: 'https://www.google.com/favicon.ico', + name: 'Google Adsense', + desc: 'Google Adsense', + url: 'https://www.google.com/adsense', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['运营相关', '运营相关', '运营相关'], + id: 832, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '博客看点', + nav: [ + { + title: '博客看点', + nav: [ + { + title: 'Team', + nav: [ + { + icon: 'https://aotu.io/img/favicon-48x48.png', + name: '凹凸实验室', + desc: 'O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...', + url: 'https://aotu.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', 'Team'], + id: 833, + }, + { + icon: 'https://imweb.io/public/icon.png', + name: '腾讯IMWeb', + desc: 'Web前端 腾讯IMWeb 团队社区', + url: 'https://imweb.io/topic/tab/all', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', 'Team'], + id: 834, + }, + { + icon: 'https://avatars1.githubusercontent.com/u/4158466?s=200&v=4', + name: '字节跳动技术博客', + desc: '字节跳动技术博客', + url: 'https://techblog.toutiao.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', 'Team'], + id: 835, + }, + { + icon: 'https://fed.taobao.org/favicon.ico', + name: '淘系前端团队', + desc: '用技术为体验提供无限可能', + url: 'https://fed.taobao.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', 'Team'], + id: 836, + }, + { + icon: 'https://avatars2.githubusercontent.com/u/11404085?s=200&v=4', + name: '有赞技术团队', + desc: '有赞技术团队', + url: 'https://tech.youzan.com/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', 'Team'], + id: 837, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + { + title: '个人博客', + nav: [ + { + name: '阮一峰的网络日志', + icon: 'http://www.ruanyifeng.com/favicon.ico', + url: 'http://www.ruanyifeng.com/blog/', + desc: '阮一峰的网络日志', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', '个人博客'], + id: 838, + }, + { + icon: 'https://www.xiejiahe.com/favicon-128x128.png', + name: '谢家和的博客', + desc: 'WEB Developer', + url: 'https://www.xiejiahe.com/?from=nav2', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', '个人博客'], + id: 839, + }, + { + icon: 'https://www.yinwang.org/images/Yc.jpg', + name: '王垠的博客', + desc: '当然我在扯淡', + url: 'http://www.yinwang.org/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', '个人博客'], + id: 840, + }, + { + icon: 'https://overreacted.io/favicon.ico', + name: 'Dan', + desc: 'react作者的博客', + url: 'https://overreacted.io/', + createdAt: '2021-01-23 09:32:06', + urls: {}, + rate: 5, + breadcrumb: ['博客看点', '博客看点', '个人博客'], + id: 841, + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, + ], + createdAt: '2021-01-23 09:32:06', + icon: '', + }, +] diff --git a/scripts/loading.js b/scripts/loading.mjs similarity index 99% rename from scripts/loading.js rename to scripts/loading.mjs index 80ba28fdc6..127f4849a3 100644 --- a/scripts/loading.js +++ b/scripts/loading.mjs @@ -1,7 +1,7 @@ // Copyright @ 2018-present xiejia.he. All rights reserved. MIT license. // See https://github.com/xjh22222228/nav -module.exports = { +export default { loading1: ` <style> @keyframes r { diff --git a/scripts/internal.mjs b/scripts/start.mjs similarity index 63% rename from scripts/internal.mjs rename to scripts/start.mjs index 916c7c89ad..f76a1a75d7 100644 --- a/scripts/internal.mjs +++ b/scripts/start.mjs @@ -3,7 +3,22 @@ import fs from 'fs' import path from 'path' -import dayjs from 'dayjs' +import defaultDb from './db.mjs' +import { TAG_ID1, TAG_ID2, TAG_ID3, getWebCount, setWeb } from './util.mjs' + +const packagePath = path.join('.', 'package.json') +const packageJson = JSON.parse(fs.readFileSync(packagePath).toString()) +const configJson = { + gitRepoUrl: packageJson.gitRepoUrl, + provider: packageJson.provider, + branch: packageJson.branch, + hashMode: packageJson.hashMode, + address: packageJson.address, + password: packageJson.password, + email: packageJson.email, + port: packageJson.port, +} +fs.writeFileSync(path.join('.', 'nav.config.json'), JSON.stringify(configJson)) const dbPath = path.join('.', 'data', 'db.json') const internalPath = path.join('.', 'data', 'internal.json') @@ -17,7 +32,11 @@ let settings = {} let tags = [] let search = [] try { - db = JSON.parse(fs.readFileSync(dbPath).toString() || '[]') + db = JSON.parse(fs.readFileSync(dbPath).toString()) +} catch (error) { + db = defaultDb +} +try { internal = JSON.parse(fs.readFileSync(internalPath).toString() || '{}') settings = JSON.parse(fs.readFileSync(settingsPath).toString() || '{}') tags = JSON.parse(fs.readFileSync(tagPath).toString() || '[]') @@ -88,12 +107,6 @@ try { } } -const TAG_ID1 = -1 -const TAG_ID2 = -2 -const TAG_ID3 = -3 -const TAG_ID_NAME1 = '中文' -const TAG_ID_NAME2 = '英文' -const TAG_ID_NAME3 = 'Github' { if (!Array.isArray(tags)) { tags = [] @@ -150,7 +163,7 @@ const TAG_ID_NAME3 = 'Github' settings.language ||= 'zh-CN' settings.loading ??= 'random' settings.allowCollect ??= true - settings.email ||= '' + settings.email ||= configJson.email || '' settings.showGithub ??= true settings.showLanguage ??= true settings.showRate ??= true @@ -259,151 +272,11 @@ const TAG_ID_NAME3 = 'Github' }) } -// 统计网站数量 -export function getWebCount(websiteList) { - // 用户查看所有数量 - let userViewCount = 0 - // 登陆者统计所有数量 - let loginViewCount = 0 - let diffCount = 0 - function r(nav) { - if (!Array.isArray(nav)) return - - for (let i = 0; i < nav.length; i++) { - const item = nav[i] - if (item.url) { - loginViewCount += 1 - userViewCount += 1 - } else { - r(item.nav) - } - } - } - function r2(nav, ownVisible) { - if (!Array.isArray(nav)) return - - for (let i = 0; i < nav.length; i++) { - const item = nav[i] - if (item.ownVisible) { - r2(item.nav, true) - } else { - r2(item.nav, ownVisible) - } - - if (item.url && item.ownVisible && !ownVisible) { - diffCount += 1 - } else if (item.url && ownVisible) { - diffCount += 1 - } - } - } - r(websiteList) - r2(websiteList) - return { - userViewCount: userViewCount - diffCount, - loginViewCount, - } -} - const { userViewCount, loginViewCount } = getWebCount(db) internal.userViewCount = userViewCount < 0 ? loginViewCount : userViewCount internal.loginViewCount = loginViewCount internal.buildTime = Date.now() fs.writeFileSync(internalPath, JSON.stringify(internal), { encoding: 'utf-8' }) -// 设置网站的面包屑类目显示 -let id = 0 // 为每个网站设置唯一ID -function setWeb(nav) { - if (!Array.isArray(nav)) return - - function removeIconFont(item) { - item.icon ||= '' - if (typeof item.icon === 'string' && item.icon.startsWith('icon')) { - item.icon = '' - } - } - - function formatDate(item) { - item.createdAt ||= Date.now() - item.createdAt = dayjs(item.createdAt).format('YYYY-MM-DD HH:mm:ss') - } - - for (let i = 0; i < nav.length; i++) { - const item = nav[i] - removeIconFont(item) - formatDate(item) - if (item.nav) { - for (let j = 0; j < item.nav.length; j++) { - const navItem = item.nav[j] - removeIconFont(navItem) - formatDate(navItem) - if (navItem.nav) { - for (let k = 0; k < navItem.nav.length; k++) { - const navItemItem = navItem.nav[k] - removeIconFont(navItemItem) - formatDate(navItemItem) - - navItemItem.nav.sort((a, b) => { - const aIdx = a.index == null || a.index === '' ? 100000 : a.index - const bIdx = b.index == null || b.index === '' ? 100000 : b.index - return aIdx - bIdx - }) - if (navItemItem.nav) { - for (let l = 0; l < navItemItem.nav.length; l++) { - let breadcrumb = [] - const webItem = navItemItem.nav[l] - formatDate(webItem) - breadcrumb.push(item.title, navItem.title, navItemItem.title) - breadcrumb = breadcrumb.filter(Boolean) - webItem.breadcrumb = breadcrumb - webItem.id = id += 1 - - // 新字段补充 - webItem.urls ||= {} - webItem.rate ??= 5 - webItem.top ??= false - webItem.ownVisible ??= false - webItem.name ||= '' - webItem.desc ||= '' - webItem.icon ||= '' - - webItem.name = webItem.name.replace(/<b>|<\/b>/g, '') - webItem.desc = webItem.desc.replace(/<b>|<\/b>/g, '') - - delete webItem.__desc__ - delete webItem.__name__ - - // 节省空间 - if (!webItem.top) { - delete webItem.top - } - if (!webItem.ownVisible) { - delete webItem.ownVisible - } - - // 兼容现有标签,以id为key - for (let k in webItem.urls) { - if (k === TAG_ID_NAME1) { - webItem.urls[TAG_ID1] = webItem.urls[k] - delete webItem.urls[TAG_ID_NAME1] - } - if (k === TAG_ID_NAME2) { - webItem.urls[TAG_ID2] = webItem.urls[k] - delete webItem.urls[TAG_ID_NAME2] - } - if (k === TAG_ID_NAME3) { - webItem.urls[TAG_ID3] = webItem.urls[k] - delete webItem.urls[TAG_ID_NAME3] - } - } - } - } - } - } - } - } - } - return nav -} const data = setWeb(db) fs.writeFileSync(dbPath, JSON.stringify(data), { encoding: 'utf-8' }) diff --git a/scripts/util.mjs b/scripts/util.mjs new file mode 100644 index 0000000000..d63d2d8a77 --- /dev/null +++ b/scripts/util.mjs @@ -0,0 +1,390 @@ +// Copyright @ 2018-present x.iejiahe. All rights reserved. MIT license. +// See https://github.com/xjh22222228/nav +import dayjs from 'dayjs' +import LOAD_MAP from './loading.mjs' +import utc from 'dayjs/plugin/utc.js' +import timezone from 'dayjs/plugin/timezone.js' +import getWebInfo from 'info-web' + +dayjs.extend(utc) +dayjs.extend(timezone) +dayjs.tz.setDefault('Asia/Shanghai') + +export const TAG_ID1 = -1 +export const TAG_ID2 = -2 +export const TAG_ID3 = -3 +const TAG_ID_NAME1 = '中文' +const TAG_ID_NAME2 = '英文' +const TAG_ID_NAME3 = 'Github' + +// 统计网站数量 +export function getWebCount(websiteList) { + // 用户查看所有数量 + let userViewCount = 0 + // 登陆者统计所有数量 + let loginViewCount = 0 + let diffCount = 0 + function r(nav) { + if (!Array.isArray(nav)) return + + for (let i = 0; i < nav.length; i++) { + const item = nav[i] + if (item.url) { + loginViewCount += 1 + userViewCount += 1 + } else { + r(item.nav) + } + } + } + function r2(nav, ownVisible) { + if (!Array.isArray(nav)) return + + for (let i = 0; i < nav.length; i++) { + const item = nav[i] + if (item.ownVisible) { + r2(item.nav, true) + } else { + r2(item.nav, ownVisible) + } + + if (item.url && item.ownVisible && !ownVisible) { + diffCount += 1 + } else if (item.url && ownVisible) { + diffCount += 1 + } + } + } + r(websiteList) + r2(websiteList) + return { + userViewCount: userViewCount - diffCount, + loginViewCount, + } +} + +// 设置网站的面包屑类目显示 +let id = 0 // 为每个网站设置唯一ID +export function setWeb(nav) { + if (!Array.isArray(nav)) return + + function removeIconFont(item) { + delete item.collapsed + item.icon ||= '' + if (typeof item.icon === 'string' && item.icon.startsWith('icon')) { + item.icon = '' + } + } + + function formatDate(item) { + item.createdAt ||= Date.now() + item.createdAt = dayjs(item.createdAt).format('YYYY-MM-DD HH:mm:ss') + } + + for (let i = 0; i < nav.length; i++) { + const item = nav[i] + removeIconFont(item) + formatDate(item) + if (item.nav) { + for (let j = 0; j < item.nav.length; j++) { + const navItem = item.nav[j] + removeIconFont(navItem) + formatDate(navItem) + if (navItem.nav) { + for (let k = 0; k < navItem.nav.length; k++) { + const navItemItem = navItem.nav[k] + removeIconFont(navItemItem) + formatDate(navItemItem) + + navItemItem.nav.sort((a, b) => { + const aIdx = a.index == null || a.index === '' ? 100000 : a.index + const bIdx = b.index == null || b.index === '' ? 100000 : b.index + return aIdx - bIdx + }) + if (navItemItem.nav) { + for (let l = 0; l < navItemItem.nav.length; l++) { + let breadcrumb = [] + const webItem = navItemItem.nav[l] + formatDate(webItem) + breadcrumb.push(item.title, navItem.title, navItemItem.title) + breadcrumb = breadcrumb.filter(Boolean) + webItem.breadcrumb = breadcrumb + webItem.id = id += 1 + + // 新字段补充 + webItem.urls ||= {} + webItem.rate ??= 5 + webItem.top ??= false + webItem.ownVisible ??= false + webItem.name ||= '' + webItem.desc ||= '' + webItem.icon ||= '' + + webItem.name = webItem.name.replace(/<b>|<\/b>/g, '') + webItem.desc = webItem.desc.replace(/<b>|<\/b>/g, '') + + delete webItem.__desc__ + delete webItem.__name__ + + // 节省空间 + if (!webItem.top) { + delete webItem.top + } + if (!webItem.ownVisible) { + delete webItem.ownVisible + } + + // 兼容现有标签,以id为key + for (let k in webItem.urls) { + if (k === TAG_ID_NAME1) { + webItem.urls[TAG_ID1] = webItem.urls[k] + delete webItem.urls[TAG_ID_NAME1] + } + if (k === TAG_ID_NAME2) { + webItem.urls[TAG_ID2] = webItem.urls[k] + delete webItem.urls[TAG_ID_NAME2] + } + if (k === TAG_ID_NAME3) { + webItem.urls[TAG_ID3] = webItem.urls[k] + delete webItem.urls[TAG_ID_NAME3] + } + } + } + } + } + } + } + } + } + return nav +} + +export function writeSEO(webs, payload) { + const { settings, pkg } = payload + if (!settings.openSEO) { + return '' + } + const nowDate = dayjs.tz().format('YYYY-MM-DD HH:mm:ss') + let seoTemplate = ` +<div data-url="https://github.com/xjh22222228/nav" data-server-time="${Date.now()}" data-a="x.i.e-jiahe" data-date="${nowDate}" data-version="${ + pkg.version + }" id="META-NAV" style="z-index:-1;position:fixed;top:-10000vh;left:-10000vh;"> +` + + function r(navList) { + for (let value of navList) { + if (Array.isArray(value.nav)) { + r(value.nav) + } + if (value.name) { + seoTemplate += `<div>${value.name}</div>${ + value.desc ? `<p>${value.desc}</p>` : '' + }` + } + } + } + + r(webs) + + seoTemplate += '</div>' + + return seoTemplate +} + +export function writeTemplate({ html, settings, seoTemplate }) { + function getLoadKey() { + const keys = Object.keys(LOAD_MAP) + const rand = Math.floor(Math.random() * keys.length) + const loadingKey = + settings.loading === 'random' ? keys[rand] : settings.loading + return loadingKey + } + const htmlTemplate = ` + <!-- https://github.com/xjh22222228/nav --> + <title>${settings.title} + + + + +`.trim() + let t = html + t = t.replace( + /()(.|\s)*?()/i, + `$1${htmlTemplate}$3` + ) + if (settings.headerContent) { + t = t.replace( + /()(.|\s)*?()/i, + `$1${settings.headerContent}$3` + ) + } + + t = t.replace( + /()(.|\s)*?()/i, + `$1${seoTemplate}$3` + ) + + const loadingCode = settings.loadingCode.trim() + t = t.replace( + /()(.|\s)*?()/i, + `$1${loadingCode || LOAD_MAP[getLoadKey()] || ''}$3` + ) + return t +} + +function correctURL(url) { + if (!url) { + return url + } + if (url[0] === '!') { + return url.slice(1) + } + return url +} + +export async function spiderWeb(db, settings) { + let errorUrlCount = 0 + const items = [] + + async function r(nav) { + if (!Array.isArray(nav)) return + + for (let i = 0; i < nav.length; i++) { + const item = nav[i] + if (item.url) { + delete item.ok + if ( + settings.checkUrl || + settings.spiderIcon === 'EMPTY' || + settings.spiderIcon === 'ALWAYS' || + settings.spiderDescription === 'EMPTY' || + settings.spiderDescription === 'ALWAYS' || + settings.spiderTitle === 'EMPTY' || + settings.spiderTitle === 'ALWAYS' + ) { + items.push(item) + } + } else { + r(item.nav) + } + } + } + + r(db) + + const max = settings.spiderQty ?? 20 + const count = Math.ceil(items.length / max) + let current = 0 + const now = Date.now() + + if (items.length) { + console.log( + `正在爬取信息... 并发数量:${max} 超时: ${settings.spiderTimeout}秒` + ) + } + + while (current < count) { + const requestPromises = [] + for (let i = current * max; i < current * max + max; i++) { + const item = items[i] + if (item) { + requestPromises.push( + getWebInfo(correctURL(item.url), { + timeout: settings.spiderTimeout * 1000, + }) + ) + } + } + + const promises = await Promise.allSettled(requestPromises) + + for (let i = 0; i < promises.length; i++) { + const idx = current * max + i + const item = items[idx] + const res = promises[i].value + console.log( + `${idx}:${ + res.status ? '正常' : `疑似异常: ${res.errorMsg}` + } ${correctURL(item.url)}` + ) + if (settings.checkUrl) { + if (!res.status) { + errorUrlCount += 1 + item.ok = false + } + } + if (res.status) { + if (settings.spiderIcon === 'ALWAYS' && res.iconUrl) { + item.icon = res.iconUrl + console.log( + `更新图标:${correctURL(item.url)}: "${item.icon}" => "${ + res.iconUrl + }"` + ) + } else if ( + settings.spiderIcon === 'EMPTY' && + !item.icon && + res.iconUrl + ) { + item.icon = res.iconUrl + console.log( + `更新图标:${correctURL(item.url)}: "${item.icon}" => "${ + res.iconUrl + }"` + ) + } + + if (settings.spiderTitle === 'ALWAYS' && res.title) { + console.log( + `更新标题:${correctURL(item.url)}: "${item.title}" => "${ + res.title + }"` + ) + item.name = res.title + } else if ( + settings.spiderTitle === 'EMPTY' && + !item.name && + res.title + ) { + console.log( + `更新标题:${correctURL(item.url)}: "${item.title}" => "${ + res.title + }"` + ) + item.name = res.title + } + + if (settings.spiderDescription === 'ALWAYS' && res.description) { + console.log( + `更新描述:${correctURL(item.url)}: "${item.desc}" => "${ + res.description + }"` + ) + item.desc = res.description + } else if ( + settings.spiderDescription === 'EMPTY' && + !item.desc && + res.description + ) { + console.log( + `更新描述:${correctURL(item.url)}: "${item.desc}" => "${ + res.description + }"` + ) + item.desc = res.description + } + } + console.log('-'.repeat(100)) + } + current += 1 + } + + const diff = Math.ceil((Date.now() - now) / 1000) + console.log(`Time: ${diff} seconds`) + + return { + webs: db, + errorUrlCount, + time: diff, + } +} diff --git a/server.js b/server.js deleted file mode 100644 index c626e44464..0000000000 --- a/server.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright @ 2018-present xiejiahe. All rights reserved. MIT license. -// See https://github.com/xjh22222228/nav - -// 启动端口 -const PORT = 7777 -const DEPLOY_DIR = process.cwd() - -const express = require('express') -const cors = require('cors') -const fs = require('node:fs') -const { execSync } = require('child_process') - -// 创建 Express 应用实例 -const app = express() - -app.use(express.static('dist')) - -app.get('/server', (req, res) => { - console.log('正在部署...') - let gitDir = '' - try { - gitDir = execSync('which git').toString() - } catch (error) { - return res.send('找不到 git 命令位置') - } - if (!fs.existsSync(DEPLOY_DIR)) { - return res.send(`仓库目录不存在: ${DEPLOY_DIR}`) - } - - try { - const res = execSync( - `cd ${DEPLOY_DIR} && npm run pull && npm run build` - ).toString() - } catch (error) { - console.log('Failed:', error.message) - return res?.send?.(error.message) - } - console.log('OK') - res?.send?.('OK') -}) - -app.use( - cors({ - origin: '*', - methods: '*', - allowedHeaders: '*', - }) -) - -app.listen(PORT, () => { - console.log(`Server is running on port :${PORT}`) - console.log(`Directory: ${DEPLOY_DIR}`) -}) diff --git a/server.mjs b/server.mjs new file mode 100644 index 0000000000..4cb89119e0 --- /dev/null +++ b/server.mjs @@ -0,0 +1,183 @@ +// 开源项目MIT,未经作者同意,不得以抄袭/复制代码/修改源代码版权信息,允许商业途径。 +// Copyright @ 2018-present xiejiahe. All rights reserved. MIT license. +// See https://github.com/xjh22222228/nav +import express from 'express' +import cors from 'cors' +import fs from 'node:fs' +import path from 'node:path' +import bodyParser from 'body-parser' +import history from 'connect-history-api-fallback' +import compression from 'compression' +import { + getWebCount, + setWeb, + spiderWeb, + writeSEO, + writeTemplate, +} from './scripts/util.mjs' + +const joinPath = (p) => { + return path.resolve(process.cwd(), p) +} +function getPackageJson() { + return JSON.parse(fs.readFileSync(joinPath('package.json')).toString()) +} +const PORT = getPackageJson().port +const UPLOAD_FOLDER_PATH = joinPath('_upload/images') +const DB_PATH = joinPath('data/db.json') +const SETTINGS_PATH = joinPath('data/settings.json') +const TAG_PATH = joinPath('data/tag.json') +const SEARCH_PATH = joinPath('data/search.json') +const ENTRY_INDEX_HTML = joinPath('dist/index.html') + +const app = express() + +app.use(compression()) +app.use(history()) +app.use(bodyParser.json({ limit: '10000mb' })) +app.use( + cors({ + origin: '*', + methods: '*', + allowedHeaders: '*', + }) +) +app.use(express.static('dist')) +app.use(express.static('_upload')) + +function verifyMiddleware(req, res, next) { + const token = req.headers['authorization'] + if (token !== `token ${getPackageJson().password}`) { + res.status(401) + return res.json({ + status: 401, + message: 'Bad credentials', + }) + } + next(false) +} + +app.get('/api/users/verify', verifyMiddleware, (req, res) => { + res.json({ + status: 200, + message: 'OK', + }) +}) + +app.post('/api/contents/update', verifyMiddleware, (req, res) => { + const { path, content } = req.body + try { + fs.writeFileSync(joinPath(path), content) + + if (path.includes('settings.json')) { + const isExistsindexHtml = fs.existsSync(ENTRY_INDEX_HTML) + if (isExistsindexHtml) { + const indexHtml = fs.readFileSync(ENTRY_INDEX_HTML).toString() + const webs = JSON.parse(fs.readFileSync(DB_PATH).toString()) + const settings = JSON.parse(fs.readFileSync(SETTINGS_PATH).toString()) + const pkg = getPackageJson() + const seoTemplate = writeSEO(webs, { settings, pkg }) + const html = writeTemplate({ + html: indexHtml, + settings, + seoTemplate, + }) + fs.writeFileSync(ENTRY_INDEX_HTML, html) + } + } + + res.json({ + status: 200, + message: 'OK', + }) + } catch (error) { + res.status(500) + res.json({ + status: 500, + message: error.message, + }) + } +}) + +app.post('/api/contents/create', verifyMiddleware, (req, res) => { + const { path: filePath, content } = req.body + try { + try { + fs.statSync(UPLOAD_FOLDER_PATH) + } catch (error) { + fs.mkdirSync(UPLOAD_FOLDER_PATH) + } + + const dataBuffer = Buffer.from(content, 'base64') + const uploadPath = path.join(UPLOAD_FOLDER_PATH, filePath) + fs.writeFileSync(uploadPath, dataBuffer) + res.json({ + status: 200, + message: 'OK', + imagePath: path.join('/', 'images', filePath), + }) + } catch (error) { + res.status(500) + res.json({ + status: 500, + message: error.message, + }) + } +}) + +app.post('/api/contents/get', (req, res) => { + const params = { + webs: [], + settings: {}, + tags: [], + search: [], + internal: {}, + } + try { + params.webs = JSON.parse(fs.readFileSync(DB_PATH).toString()) + params.settings = JSON.parse(fs.readFileSync(SETTINGS_PATH).toString()) + params.tags = JSON.parse(fs.readFileSync(TAG_PATH).toString()) + params.search = JSON.parse(fs.readFileSync(SEARCH_PATH).toString()) + const { userViewCount, loginViewCount } = getWebCount(params.webs) + params.internal.userViewCount = userViewCount + params.internal.loginViewCount = loginViewCount + params.webs = setWeb(params.webs) + return res.json({ + status: 200, + message: 'OK', + ...params, + }) + } catch (error) { + res.status(500) + res.json({ + status: 500, + message: error.message, + }) + } +}) + +app.post('/api/spider', async (req, res) => { + try { + const webs = JSON.parse(fs.readFileSync(DB_PATH).toString()) + const settings = JSON.parse(fs.readFileSync(SETTINGS_PATH).toString()) + const { time, webs: w, errorUrlCount } = await spiderWeb(webs, settings) + settings.errorUrlCount = errorUrlCount + fs.writeFileSync(DB_PATH, JSON.stringify(w)) + fs.writeFileSync(SETTINGS_PATH, JSON.stringify(settings)) + return res.json({ + status: 200, + message: 'OK', + time, + }) + } catch (error) { + res.status(500) + res.json({ + status: 500, + message: error.message, + }) + } +}) + +app.listen(PORT, () => { + console.log(`Server is running on port :${PORT}`) +}) diff --git a/src/api/index.ts b/src/api/index.ts index bf51a456ea..df42d644d5 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -1,10 +1,19 @@ // 开源项目MIT,未经作者同意,不得以抄袭/复制代码/修改源代码版权信息,允许商业途径。 // Copyright @ 2018-present xiejiahe. All rights reserved. MIT license. -import config from '../../nav.config' +import config from '../../nav.config.json' import http, { httpNav } from '../utils/http' import { encode } from 'js-base64' -import { settings } from 'src/store' +import { + settings, + websiteList, + tagList, + getTagMap, + searchEngineList, + internal, +} from 'src/store' +import { ISettings } from 'src/types' +import { isSelfDevelop } from 'src/utils/util' const { gitRepoUrl } = config const s = gitRepoUrl.split('/') @@ -19,15 +28,61 @@ function isGitee() { // 验证Token export function verifyToken(token: string) { - return http.get(`/users/${authorName}`, { + const url = isSelfDevelop ? '/api/users/verify' : `/users/${authorName}` + return http.get(url, { headers: { Authorization: `token ${token.trim()}`, }, }) } +// 获取自有部署内容 +export function getContentes() { + return http.post('/api/contents/get').then((res: any) => { + // 清空内容 + websiteList.splice(0, websiteList.length) + searchEngineList.splice(0, searchEngineList.length) + tagList.splice(0, tagList.length) + + internal.loginViewCount = res.data.internal.loginViewCount + internal.userViewCount = res.data.internal.userViewCount + res.data.webs.forEach((item: any) => { + websiteList.push(item) + }) + res.data.tags.forEach((item: any) => { + tagList.push(item) + }) + res.data.search.forEach((item: any) => { + searchEngineList.push(item) + }) + const resSettings = res.data.settings as ISettings + for (const k in resSettings) { + // @ts-ignore + settings[k] = resSettings[k] + } + getTagMap() + return res + }) +} + +// 自有部署爬取信息 +export function spiderWeb(data?: any) { + return http + .post('/api/spider', data, { + timeout: 0, + }) + .then((res) => { + getContentes() + return res + }) +} + // 创建分支 export async function createBranch(branch: string) { + if (isSelfDevelop) { + return + } + const url = isGitee() ? `/repos/${authorName}/${repoName}/branches` : `/repos/${authorName}/${repoName}/git/refs` @@ -62,7 +117,7 @@ export function getFileContent(path: string, branch: string = DEFAULT_BRANCH) { // 更新文件内容 type Iupdate = { - message: string + message?: string content: string path: string branch?: string @@ -75,6 +130,19 @@ export async function updateFileContent({ branch = DEFAULT_BRANCH, isEncode = true, }: Iupdate) { + if (isSelfDevelop) { + return http + .post('/api/contents/update', { + path, + content, + }) + .then((res) => { + getContentes() + requestActionUrl() + return res + }) + } + const fileInfo = await getFileContent(path, branch) return http @@ -101,6 +169,18 @@ export async function createFile({ branch = DEFAULT_BRANCH, isEncode = true, }: Iupdate) { + if (isSelfDevelop) { + return http + .post('/api/contents/create', { + path, + content, + }) + .then((res) => { + requestActionUrl() + return res + }) + } + const method = isGitee() ? http.post : http.put return method(`/repos/${authorName}/${repoName}/contents/${path}`, { message: `rebot(CI): ${message}`, @@ -130,7 +210,7 @@ export async function getIconUrl(url: string) { export async function bookmarksExport(data: any) { return httpNav.post('/api/export', data, { - timeout: Number.MAX_SAFE_INTEGER, + timeout: 0, }) } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 71a54b0b7e..644ad047db 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -4,7 +4,7 @@ import { NgModule } from '@angular/core' import { RouterModule, Routes } from '@angular/router' -import config from '../../nav.config' +import config from '../../nav.config.json' import { settings } from 'src/store' import LightComponent from '../view/light/index.component' import SuperComponent from '../view/super/index.component' diff --git a/src/app/app.component.html b/src/app/app.component.html index e60b1d5a67..224a956c45 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,8 +1,14 @@ -
- +
+ +
- + +
+ - - -
+ + + + +
+ diff --git a/src/app/app.component.scss b/src/app/app.component.scss index e69de29bb2..8b253af1dd 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -0,0 +1,3 @@ +.fetchIng { + height: 100vh; +} diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 0a2a323640..0fd1786711 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -8,10 +8,12 @@ import { queryString, setLocation, isMobile } from '../utils' import { en_US, NzI18nService, zh_CN } from 'ng-zorro-antd/i18n' import { getLocale } from 'src/locale' import { settings } from 'src/store' -import { verifyToken } from 'src/api' +import { verifyToken, getContentes } from 'src/api' import { getToken, userLogout, isLogin } from 'src/utils/user' import { NzMessageService } from 'ng-zorro-antd/message' import { NzNotificationService } from 'ng-zorro-antd/notification' +import { fetchWeb } from 'src/utils/web' +import { isSelfDevelop } from 'src/utils/util' import Alert from './alert-event' import event from 'src/utils/mitt' @@ -22,6 +24,7 @@ import event from 'src/utils/mitt' }) export class AppComponent { isLogin: boolean = isLogin + fetchIng = true constructor( private router: Router, @@ -60,6 +63,20 @@ export class AppComponent { }, 3000) }) } + + if (isSelfDevelop) { + getContentes().then(() => { + this.fetchIng = false + queueMicrotask(() => { + event.emit('WEB_FINISH') + window.__FINISHED__ = true + }) + }) + } else { + fetchWeb().finally(() => { + this.fetchIng = false + }) + } } goRoute() { diff --git a/src/components/card/index.component.ts b/src/components/card/index.component.ts index 9bf093884c..45ad95fe59 100644 --- a/src/components/card/index.component.ts +++ b/src/components/card/index.component.ts @@ -4,12 +4,8 @@ import { Component, OnInit, Input } from '@angular/core' import { isLogin } from 'src/utils/user' -import { - setWebsiteList, - copyText, - deleteByWeb, - getTextContent, -} from 'src/utils' +import { copyText, getTextContent } from 'src/utils' +import { setWebsiteList, deleteByWeb } from 'src/utils/web' import { INavProps, IWebProps, ICardType } from 'src/types' import { $t } from 'src/locale' import { settings, websiteList, tagMap } from 'src/store' diff --git a/src/components/create-web/index.component.ts b/src/components/create-web/index.component.ts index d739b066ab..84e1a85634 100644 --- a/src/components/create-web/index.component.ts +++ b/src/components/create-web/index.component.ts @@ -3,13 +3,8 @@ // See https://github.com/xjh22222228/nav import { Component, Output, EventEmitter } from '@angular/core' -import { - getWebInfo, - updateByWeb, - queryString, - setWebsiteList, - getTextContent, -} from 'src/utils' +import { getWebInfo, queryString, getTextContent } from 'src/utils' +import { setWebsiteList, updateByWeb } from 'src/utils/web' import { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms' import { IWebProps } from 'src/types' import { NzMessageService } from 'ng-zorro-antd/message' diff --git a/src/components/icon-git/icon-git.component.ts b/src/components/icon-git/icon-git.component.ts index 31d4f36115..6fdd54f620 100644 --- a/src/components/icon-git/icon-git.component.ts +++ b/src/components/icon-git/icon-git.component.ts @@ -1,8 +1,7 @@ // 开源项目MIT,未经作者同意,不得以抄袭/复制代码/修改源代码版权信息,允许商业途径。 // Copyright @ 2018-present xiejiahe. All rights reserved. MIT license. - +import config from '../../../nav.config.json' import { Component } from '@angular/core' -import config from '../../../nav.config' import { settings } from 'src/store' @Component({ diff --git a/src/components/move-web/index.component.ts b/src/components/move-web/index.component.ts index a1dac17c1d..bdbf34c2f1 100644 --- a/src/components/move-web/index.component.ts +++ b/src/components/move-web/index.component.ts @@ -4,7 +4,7 @@ import { Component } from '@angular/core' import { $t } from 'src/locale' -import { setWebsiteList } from '../../utils' +import { setWebsiteList } from 'src/utils/web' import { websiteList } from '../../store' import { INavProps, INavTwoProp, INavThreeProp, IWebProps } from '../../types' import { NzMessageService } from 'ng-zorro-antd/message' diff --git a/src/components/upload/index.component.ts b/src/components/upload/index.component.ts index 65ee901b71..e209531be5 100644 --- a/src/components/upload/index.component.ts +++ b/src/components/upload/index.component.ts @@ -60,10 +60,10 @@ export class UploadComponent { isEncode: false, path, }) - .then(() => { + .then((res) => { const params = { rawPath: path, - cdn: getCDN(path), + cdn: res?.data?.imagePath || getCDN(path), } that.onChange.emit(params) that.message.success($t('_uploadSuccess')) diff --git a/src/locale/english.ts b/src/locale/english.ts index 3e840be151..ec9fb661c2 100644 --- a/src/locale/english.ts +++ b/src/locale/english.ts @@ -1,4 +1,6 @@ // 开源项目MIT,未经作者同意,不得以抄袭/复制代码/修改源代码版权信息,允许商业途径。 +import { isSelfDevelop } from 'src/utils/util' + const english: Record = { _loading: 'Loading...', _webTitle: 'Discovery Navigation', @@ -39,9 +41,11 @@ const english: Record = { _prevDevTime: 'Last build time', _unknow: 'Unknow', _repeatOper: 'Please do not operate frequently', - _syncDataOut: 'Synchronize data to remote', + _syncDataOut: isSelfDevelop ? 'OK to sync' : 'Synchronize data to remote', _confirmSync: 'OK to sync', - _confirmSyncTip: 'Are you sure to synchronize all data to the remote end?', + _confirmSyncTip: isSelfDevelop + ? '' + : 'Are you sure to synchronize all data to the remote end?', _syncSuccessTip: 'The synchronization is successful. It takes about 5 minutes to build', _error: 'Error', @@ -143,8 +147,6 @@ const english: Record = { _headHtml: 'Head HTML', _showWeather: 'Show weather', _weatherTip: 'Currently only the "Shortcut" theme is supported', - _setSaveTip: - 'Note: after saving successfully, you need to wait at least 2 minutes for the build time to take effect!', _theme: 'Theme', _backgroundImage: 'Picture', _engineUrl: 'Engine URL', @@ -181,7 +183,7 @@ const english: Record = { _displaySwitchTheme: 'Display Switch Theme', _requestAddress: 'Request Address', _requestTip: - 'Usually used for deploying self owned servers, when the save button is clicked, a GET request is sent to fill in the address', + 'when the save button is clicked, a GET request is sent to fill in the address', _followPage: 'Follow Page', _bannerTip: 'When the height is 0, the width and height of the image will be adaptive, and it is important to ensure that each image has the same size', diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index 22aba0aec6..2cf68dc375 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -1,4 +1,6 @@ // 开源项目MIT,未经作者同意,不得以抄袭/复制代码/修改源代码版权信息,允许商业途径。 +import { isSelfDevelop } from 'src/utils/util' + const zhCN: Record = { _loading: '加载中...', _webTitle: '发现导航', @@ -39,10 +41,11 @@ const zhCN: Record = { _prevDevTime: '上次构建时间', _unknow: '未知', _repeatOper: '请不要频繁操作', - _syncDataOut: '同步数据到远端', + _syncDataOut: isSelfDevelop ? '确定同步吗?' : '同步数据到远端', _confirmSync: '确定同步', - _confirmSyncTip: - '确定将所有数据同步到远端吗?(每次保存需要等待构建完成再进行下一次操作)', + _confirmSyncTip: isSelfDevelop + ? '' + : '确定将所有数据同步到远端吗?(每次保存需要等待构建完成再进行下一次操作)', _syncSuccessTip: '同步成功, 大约需要5分钟构建时间', _error: '错误', _syncFailTip: '同步失败, 请重试', @@ -140,7 +143,6 @@ const zhCN: Record = { _headHtml: '头部HTML', _showWeather: '显示天气', _weatherTip: '目前只支持 "Shortcut" 主题', - _setSaveTip: '注意:保存成功后至少需要等待2分钟构建时间方可生效!', _theme: '主题', _backgroundImage: '图片', _engineUrl: '引擎地址', @@ -173,8 +175,7 @@ const zhCN: Record = { _collectMenuView: `具体到用户收录菜单查看`, _displaySwitchTheme: '显示切换主题', _requestAddress: '请求地址', - _requestTip: - '通常用于部署自有服务器,当点击保存按钮时会发出GET请求填写的地址', + _requestTip: '当点击保存按钮时会发出GET请求填写的地址', _followPage: '跟随页面', _bannerTip: '当高度为0时,图片宽高会自适应,务必保证每张图片尺寸一致', _checkStatus: '检查网站链接状态(上述任一项更新,建议此开启,耗时相同)', diff --git a/src/main.html b/src/main.html index d59220b8a6..2ef6103092 100644 --- a/src/main.html +++ b/src/main.html @@ -33,19 +33,19 @@ content="width=device-width, initial-scale=1, shrink-to-fit=no, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - + + - + + - + - - - + diff --git a/src/services/common.ts b/src/services/common.ts index 749b2f215b..59f0e2c02d 100644 --- a/src/services/common.ts +++ b/src/services/common.ts @@ -7,12 +7,11 @@ import { Router, ActivatedRoute } from '@angular/router' import { websiteList, settings } from 'src/store' import { queryString, - toggleCollapseAll, fuzzySearch, matchCurrentList, - setWebsiteList, getOverIndex, } from 'src/utils' +import { setWebsiteList, toggleCollapseAll } from 'src/utils/web' import { INavProps, INavThreeProp } from 'src/types' import { isLogin } from 'src/utils/user' import event from 'src/utils/mitt' diff --git a/src/store/index.ts b/src/store/index.ts index 4da2a35c10..acca3f0b59 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -1,40 +1,47 @@ // 开源项目MIT,未经作者同意,不得以抄袭/复制代码/修改源代码版权信息,允许商业途径。 // Copyright @ 2018-present xiejiahe. All rights reserved. MIT license. -import { websiteList as w } from '../utils' -import * as __settings from '../../data/settings.json' -import * as s from '../../data/search.json' -import * as __tag from '../../data/tag.json' -import * as __internal from '../../data/internal.json' +import dbJson from '../../data/db.json' +import searchJson from '../../data/search.json' +import settingsJson from '../../data/settings.json' +import tagJson from '../../data/tag.json' +import internalJson from '../../data/internal.json' import { ISettings, ISearchEngineProps, ITagProp, internalProps, ITagPropValues, + INavProps, } from 'src/types' +import { isSelfDevelop } from 'src/utils/util' -export const settings: ISettings = { - ...(__settings as any).default, - actionUrl: '', -} +export let settings: ISettings = settingsJson as ISettings -const _tagMap: Record = {} +let _tagMap: Record = {} -export const searchEngineList: ISearchEngineProps[] = (s as any).default +export let searchEngineList: ISearchEngineProps[] = isSelfDevelop + ? [] + : searchJson -export const tagList: Array = (__tag as any).default +export let tagList: Array = isSelfDevelop ? [] : tagJson -tagList.forEach((item) => { - if (item.id) { - _tagMap[item.id] = { - ...item, +export function getTagMap() { + tagList.forEach((item) => { + if (item.id) { + _tagMap[item.id] = { + ...item, + } } - } -}) + }) + return _tagMap +} +getTagMap() -export const tagMap: ITagProp = _tagMap +export let tagMap: ITagProp = _tagMap -export const internal: internalProps = (__internal as any).default +export let internal: internalProps = internalJson -export const websiteList = w +export let websiteList: INavProps[] = isSelfDevelop + ? [] + : (dbJson as INavProps[]) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 0232e7d106..d23182a737 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -96,7 +96,6 @@ export interface ISettings { favicon: string language: 'zh-CN' | 'en' loading: string - homeUrl: string title: string description: string keywords: string @@ -107,9 +106,9 @@ export interface ISettings { headerContent: string showGithub: boolean showLanguage: boolean - showCopy: Boolean | undefined - showShare: Boolean | undefined - showThemeToggle: Boolean + showCopy?: boolean + showShare?: boolean + showThemeToggle: boolean actionUrl: string | null checkUrl: boolean errorUrlCount?: number @@ -164,13 +163,6 @@ export interface ISettings { loadingCode: string } -export interface IConfig { - gitRepoUrl: string - provider: 'Github' | 'Gitee' - branch: string - hashMode: boolean -} - export type internalProps = { loginViewCount: number userViewCount: number diff --git a/src/utils/http.ts b/src/utils/http.ts index ab42a8f5d5..7e1f1377a6 100644 --- a/src/utils/http.ts +++ b/src/utils/http.ts @@ -3,11 +3,10 @@ import axios from 'axios' import NProgress from 'nprogress' -import { getToken, getAuthCode } from '../utils/user' -import config from '../../nav.config' +import config from '../../nav.config.json' import event from './mitt' +import { getToken, getAuthCode } from '../utils/user' import { VERSION } from 'src/constants' -import { settings } from 'src/store' const DEFAULT_TITLE = document.title const headers: Record = {} @@ -15,9 +14,10 @@ const headers: Record = {} const httpInstance = axios.create({ timeout: 60000 * 3, baseURL: - config.provider === 'Gitee' + config.address || + (config.provider === 'Gitee' ? 'https://gitee.com/api/v5' - : 'https://api.github.com', + : 'https://api.github.com'), headers, }) @@ -49,6 +49,15 @@ httpInstance.interceptors.request.use( httpInstance.interceptors.response.use( function (res) { stopLoad() + if (res.data?.success === false) { + const status = res?.data?.status || '' + const errorMsg = res?.data?.message || '' + event.emit('NOTIFICATION', { + type: 'error', + title: 'Error:' + status, + content: errorMsg, + }) + } return res }, function (error) { diff --git a/src/utils/index.ts b/src/utils/index.ts index 4d09f23256..b171942ce9 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -10,18 +10,11 @@ import { INavProps, ISearchEngineProps, } from '../types' -import * as db from '../../data/db.json' -import * as s from '../../data/search.json' import { STORAGE_KEY_MAP } from 'src/constants' import { isLogin } from './user' import { SearchType } from 'src/components/search-engine/index' import { getIconUrl } from 'src/api' -import localforage from 'localforage' -import event from 'src/utils/mitt' - -export let websiteList: INavProps[] = [] - -const searchEngineList: ISearchEngineProps[] = (s as any).default +import { websiteList, searchEngineList } from 'src/store' export function randomInt(max: number) { return Math.floor(Math.random() * max) @@ -230,103 +223,6 @@ export function queryString(): { } } -export function adapterWebsiteList(websiteList: any[]) { - function filterOwn(item: IWebProps) { - if (item.ownVisible && !isLogin) { - return false - } - return true - } - websiteList = websiteList.filter(filterOwn) - for (let i = 0; i < websiteList.length; i++) { - const item = websiteList[i] - - if (Array.isArray(item.nav)) { - item.nav = item.nav.filter(filterOwn) - adapterWebsiteList(item.nav) - } - } - - return websiteList -} - -;(async () => { - let data = adapterWebsiteList((db as any).default) - const metaEl = document.getElementById('META-NAV') - const date = metaEl?.dataset?.['date'] || '' - const storageDate = window.localStorage.getItem(STORAGE_KEY_MAP.s_url) - - // 检测到网站更新,清除缓存本地保存记录失效 - if (storageDate !== date) { - const whiteList = [ - STORAGE_KEY_MAP.token, - STORAGE_KEY_MAP.isDark, - STORAGE_KEY_MAP.authCode, - ] - const len = window.localStorage.length - for (let i = 0; i < len; i++) { - const key = window.localStorage.key(i) as string - if (whiteList.includes(key)) { - continue - } - window.localStorage.removeItem(key) - } - window.localStorage.setItem(STORAGE_KEY_MAP.s_url, date) - localforage.removeItem(STORAGE_KEY_MAP.website) - data.forEach((item) => { - websiteList.push(item) - }) - event.emit('WEB_FINISH') - window.__FINISHED__ = true - if (isLogin) { - setTimeout(() => { - event.emit('NOTIFICATION', { - type: 'success', - title: `构建完成`, - content: date, - config: { - nzDuration: 0, - }, - }) - }, 1000) - } - return - } - - try { - const dbData: any = - (await localforage.getItem(STORAGE_KEY_MAP.website)) || data - dbData.forEach((item: any) => { - websiteList.push(item) - }) - event.emit('WEB_FINISH') - window.__FINISHED__ = true - } catch {} -})() - -export function setWebsiteList(v?: INavProps[]) { - v = v || websiteList - localforage.setItem(STORAGE_KEY_MAP.website, v) -} - -export function toggleCollapseAll(wsList?: INavProps[]): boolean { - wsList ||= websiteList - - const { page, id } = queryString() - const collapsed = !wsList[page].nav[id].collapsed - - wsList[page].nav[id].collapsed = collapsed - - wsList[page].nav[id].nav.map((item) => { - item.collapsed = collapsed - return item - }) - - setWebsiteList(wsList) - - return collapsed -} - export function setLocation() { const { page, id } = queryString() @@ -422,59 +318,6 @@ export async function isValidImg(url: string): Promise { }) } -export function deleteByWeb(data: IWebProps) { - function f(arr: any[]) { - for (let i = 0; i < arr.length; i++) { - const item = arr[i] - if (item.name) { - if (item.id === data.id) { - arr.splice(i, 1) - const { q } = queryString() - q && window.location.reload() - break - } - continue - } - - if (Array.isArray(item.nav)) { - f(item.nav) - } - } - } - - f(websiteList) - setWebsiteList(websiteList) -} - -export function updateByWeb(oldData: IWebProps, newData: IWebProps) { - const keys = Object.keys(newData) - console.log(newData) - let ok = false - function f(arr: any[]) { - for (let i = 0; i < arr.length; i++) { - const item = arr[i] - if (item.name) { - if (item.id === oldData.id) { - ok = true - for (let k of keys) { - item[k] = newData[k] - } - break - } - continue - } - - if (Array.isArray(item.nav)) { - f(item.nav) - } - } - } - - f(websiteList) - setWebsiteList(websiteList) - return ok -} - // value 可能含有标签元素,用于过滤掉标签获取纯文字 export function getTextContent(value: string): string { if (!value) return '' diff --git a/src/utils/util.ts b/src/utils/util.ts new file mode 100644 index 0000000000..948f1f1e52 --- /dev/null +++ b/src/utils/util.ts @@ -0,0 +1,4 @@ +import navConfig from '../../nav.config.json' + +// 是否自有部署 +export const isSelfDevelop = !!navConfig.address diff --git a/src/utils/web.ts b/src/utils/web.ts new file mode 100644 index 0000000000..dc731bf92f --- /dev/null +++ b/src/utils/web.ts @@ -0,0 +1,166 @@ +import event from 'src/utils/mitt' +import localforage from 'localforage' +import { updateFileContent } from 'src/api' +import { isLogin } from './user' +import { IWebProps, INavProps } from '../types' +import { websiteList } from 'src/store' +import { STORAGE_KEY_MAP, DB_PATH } from 'src/constants' +import { isSelfDevelop } from './util' +import { queryString } from './index' + +function adapterWebsiteList(websiteList: any[]) { + function filterOwn(item: IWebProps) { + if (item.ownVisible && !isLogin) { + return false + } + return true + } + websiteList = websiteList.filter(filterOwn) + for (let i = 0; i < websiteList.length; i++) { + const item = websiteList[i] + + if (Array.isArray(item.nav)) { + item.nav = item.nav.filter(filterOwn) + adapterWebsiteList(item.nav) + } + } + + return websiteList +} + +export async function fetchWeb() { + if (isSelfDevelop) { + return + } + let data = adapterWebsiteList(websiteList) + websiteList.splice(0, websiteList.length) + const metaEl = document.getElementById('META-NAV') + const date = metaEl?.dataset?.['date'] || '' + const storageDate = window.localStorage.getItem(STORAGE_KEY_MAP.s_url) + + // 检测到网站更新,清除缓存本地保存记录失效 + if (storageDate !== date) { + const whiteList = [ + STORAGE_KEY_MAP.token, + STORAGE_KEY_MAP.isDark, + STORAGE_KEY_MAP.authCode, + ] + const len = window.localStorage.length + for (let i = 0; i < len; i++) { + const key = window.localStorage.key(i) as string + if (whiteList.includes(key)) { + continue + } + window.localStorage.removeItem(key) + } + window.localStorage.setItem(STORAGE_KEY_MAP.s_url, date) + localforage.removeItem(STORAGE_KEY_MAP.website) + data.forEach((item) => { + websiteList.push(item) + }) + event.emit('WEB_FINISH') + window.__FINISHED__ = true + if (isLogin) { + setTimeout(() => { + event.emit('NOTIFICATION', { + type: 'success', + title: `构建完成`, + content: date, + config: { + nzDuration: 0, + }, + }) + }, 1000) + } + return + } + + try { + const dbData: any = + (await localforage.getItem(STORAGE_KEY_MAP.website)) || data + dbData.forEach((item: any) => { + websiteList.push(item) + }) + event.emit('WEB_FINISH') + window.__FINISHED__ = true + } catch {} +} + +export function setWebsiteList(v?: INavProps[]) { + v = v || websiteList + if (isSelfDevelop) { + updateFileContent({ + content: JSON.stringify(v), + path: DB_PATH, + }) + return + } + localforage.setItem(STORAGE_KEY_MAP.website, v) +} + +export function toggleCollapseAll(wsList?: INavProps[]): boolean { + wsList ||= websiteList + const { page, id } = queryString() + const collapsed = !wsList[page].nav[id].collapsed + wsList[page].nav[id].collapsed = collapsed + wsList[page].nav[id].nav.map((item) => { + item.collapsed = collapsed + return item + }) + if (!isSelfDevelop) { + setWebsiteList(wsList) + } + return collapsed +} + +export function deleteByWeb(data: IWebProps) { + function f(arr: any[]) { + for (let i = 0; i < arr.length; i++) { + const item = arr[i] + if (item.name) { + if (item.id === data.id) { + arr.splice(i, 1) + const { q } = queryString() + q && window.location.reload() + break + } + continue + } + + if (Array.isArray(item.nav)) { + f(item.nav) + } + } + } + + f(websiteList) + setWebsiteList(websiteList) +} + +export function updateByWeb(oldData: IWebProps, newData: IWebProps) { + const keys = Object.keys(newData) + let ok = false + function f(arr: any[]) { + for (let i = 0; i < arr.length; i++) { + const item = arr[i] + if (item.name) { + if (item.id === oldData.id) { + ok = true + for (let k of keys) { + item[k] = newData[k] + } + break + } + continue + } + + if (Array.isArray(item.nav)) { + f(item.nav) + } + } + } + + f(websiteList) + setWebsiteList(websiteList) + return ok +} diff --git a/src/view/side/index.component.ts b/src/view/side/index.component.ts index 81f04dc9db..e9117f1ea5 100644 --- a/src/view/side/index.component.ts +++ b/src/view/side/index.component.ts @@ -4,7 +4,8 @@ import { Component } from '@angular/core' import { INavProps } from 'src/types' -import { setWebsiteList, isMobile } from 'src/utils' +import { isMobile } from 'src/utils' +import { setWebsiteList } from 'src/utils/web' import { websiteList } from 'src/store' import { settings } from 'src/store' import { $t } from 'src/locale' diff --git a/src/view/system/bookmark/index.component.ts b/src/view/system/bookmark/index.component.ts index 4aa87e4d0d..37a4c80e39 100644 --- a/src/view/system/bookmark/index.component.ts +++ b/src/view/system/bookmark/index.component.ts @@ -7,7 +7,7 @@ import { Component } from '@angular/core' import { $t } from 'src/locale' import { NzNotificationService } from 'ng-zorro-antd/notification' import { NzMessageService } from 'ng-zorro-antd/message' -import { setWebsiteList } from 'src/utils' +import { setWebsiteList } from 'src/utils/web' import { parseBookmark } from 'src/utils/bookmark' import { INavProps } from 'src/types' import { websiteList } from 'src/store' diff --git a/src/view/system/index.component.html b/src/view/system/index.component.html index ebc88f830d..5a588e1f0b 100644 --- a/src/view/system/index.component.html +++ b/src/view/system/index.component.html @@ -68,13 +68,13 @@ > {{ $t('_webInfo') }} -
  • {{ $t('_about') }} -
  • + --> diff --git a/src/view/system/info/index.component.ts b/src/view/system/info/index.component.ts index 6fb943a9d4..710f2e8622 100644 --- a/src/view/system/info/index.component.ts +++ b/src/view/system/info/index.component.ts @@ -6,8 +6,8 @@ import { Component } from '@angular/core' import { $t } from 'src/locale' import { getToken } from 'src/utils/user' -import config from '../../../../nav.config' import { VERSION } from 'src/constants' +import config from '../../../../nav.config.json' @Component({ selector: 'system-info', diff --git a/src/view/system/search/index.component.html b/src/view/system/search/index.component.html index 7fcef14764..863de43b77 100644 --- a/src/view/system/search/index.component.html +++ b/src/view/system/search/index.component.html @@ -19,7 +19,6 @@
    {{ $t('_buildTip') }}
    - @@ -32,7 +31,10 @@ - + diff --git a/src/view/system/search/index.component.ts b/src/view/system/search/index.component.ts index 3d85e2bf82..43d169d4fa 100644 --- a/src/view/system/search/index.component.ts +++ b/src/view/system/search/index.component.ts @@ -28,6 +28,10 @@ export default class SystemSearchComponent { ) {} handleAdd() { + const isEmpty = this.searchList.some((item) => !item.name.trim()) + if (isEmpty) { + return + } this.searchList.unshift({ name: '', url: '', @@ -81,6 +85,10 @@ export default class SystemSearchComponent { }) } + trackByItem(a: any, item: any) { + return item.name + } + onChangeUpload(path: any, idx: number) { this.searchList[idx].icon = path.cdn } diff --git a/src/view/system/setting/index.component.html b/src/view/system/setting/index.component.html index 7b9916dd57..5df3d13c8d 100644 --- a/src/view/system/setting/index.component.html +++ b/src/view/system/setting/index.component.html @@ -255,13 +255,13 @@

    {{ $t('_spiderRule') }}

    -
    +
    {{ $t('_spiderTip') }}
    {{ $t('_spiderNetTip') }}
    -
    +
    {{ $t('_spiderBuildTip') }}
    @@ -335,6 +335,15 @@

    {{ $t('_spiderRule') }}

    + +
    @@ -935,10 +944,8 @@

    {{ $t('_mirrorList') }}{{ $t('_ignore') }}

    nzType="primary" [nzLoading]="submitting" (click)="handleSubmit()" - style="margin-right: 20px" > {{ $t('_save') }} -

    {{ $t('_setSaveTip') }}

    diff --git a/src/view/system/setting/index.component.ts b/src/view/system/setting/index.component.ts index 43719f342a..0c059a3e3d 100644 --- a/src/view/system/setting/index.component.ts +++ b/src/view/system/setting/index.component.ts @@ -6,10 +6,12 @@ import { Component } from '@angular/core' import { $t } from 'src/locale' import { FormBuilder, FormGroup } from '@angular/forms' import { NzMessageService } from 'ng-zorro-antd/message' +import { NzNotificationService } from 'ng-zorro-antd/notification' import { NzModalService } from 'ng-zorro-antd/modal' import { SETTING_PATH } from 'src/constants' -import { updateFileContent } from 'src/api' +import { updateFileContent, spiderWeb } from 'src/api' import { settings } from 'src/store' +import { isSelfDevelop } from 'src/utils/util' import event from 'src/utils/mitt' @Component({ @@ -23,9 +25,11 @@ export default class SystemSettingComponent { submitting: boolean = false settings = settings tabActive = 0 + isSelfDevelop = isSelfDevelop constructor( private fb: FormBuilder, + private notification: NzNotificationService, private message: NzMessageService, private modal: NzModalService ) { @@ -183,6 +187,26 @@ export default class SystemSettingComponent { this.settings.shortcutThemeImages[0]['src'] = url } + handleSpider() { + if (this.submitting) { + return + } + this.submitting = true + spiderWeb() + .then((res) => { + this.notification.success( + `爬取完成(${res.data.time}秒)`, + '爬取完成并保存成功', + { + nzDuration: 0, + } + ) + }) + .finally(() => { + this.submitting = false + }) + } + handleSubmit() { if (this.submitting) { return diff --git a/src/view/system/tag/index.component.ts b/src/view/system/tag/index.component.ts index 2af2685a21..a927d3c7ac 100644 --- a/src/view/system/tag/index.component.ts +++ b/src/view/system/tag/index.component.ts @@ -35,6 +35,10 @@ export default class SystemTagComponent { } handleAdd() { + const isEmpty = this.tagList.some((item) => !item.name.trim()) + if (isEmpty) { + return + } this.incrementId += 1 this.tagList.unshift({ id: this.incrementId, diff --git a/src/view/system/vip-auth/index.component.html b/src/view/system/vip-auth/index.component.html index 3961de5c4c..0fc8e0e372 100644 --- a/src/view/system/vip-auth/index.component.html +++ b/src/view/system/vip-auth/index.component.html @@ -16,21 +16,9 @@ {{ $t('_save') }}
    -

    成为VIP可享受全站功能,支持作者稳定持续开发,感谢您的支持

    -

    - 发送到: xjh22222228@gmail.com (备注开通域名,Github - ID,我们会在24小时内发送授权码给您邮箱) -

    -
    - -
    diff --git a/src/view/system/vip-auth/index.component.scss b/src/view/system/vip-auth/index.component.scss index 1bf1302a85..90d2a6be56 100644 --- a/src/view/system/vip-auth/index.component.scss +++ b/src/view/system/vip-auth/index.component.scss @@ -2,6 +2,11 @@ margin-bottom: 20px; margin-right: 20px; } +.poster { + width: 1000px; + max-width: 100%; + border-radius: 12px; +} .desc { width: 300px; white-space: pre-wrap; diff --git a/src/view/system/web/index.component.ts b/src/view/system/web/index.component.ts index e710077122..33c2edd487 100644 --- a/src/view/system/web/index.component.ts +++ b/src/view/system/web/index.component.ts @@ -12,13 +12,14 @@ import { NzMessageService } from 'ng-zorro-antd/message' import { NzModalService } from 'ng-zorro-antd/modal' import { NzNotificationService } from 'ng-zorro-antd/notification' import { FormBuilder, FormGroup, Validators } from '@angular/forms' -import { setWebsiteList, deleteByWeb, getTextContent } from 'src/utils' +import { getTextContent } from 'src/utils' +import { setWebsiteList, deleteByWeb } from 'src/utils/web' import { updateFileContent } from 'src/api' import { DB_PATH, STORAGE_KEY_MAP } from 'src/constants' -import config from '../../../../nav.config' import { $t } from 'src/locale' import { saveAs } from 'file-saver' import event from 'src/utils/mitt' +import config from '../../../../nav.config.json' @Component({ selector: 'app-admin', diff --git a/yarn.lock b/yarn.lock index b902d225b7..f451def726 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2705,7 +2705,7 @@ bodec@^0.1.0: resolved "https://registry.yarnpkg.com/bodec/-/bodec-0.1.0.tgz#bc851555430f23c9f7650a75ef64c6a94c3418cc" integrity sha512-Ylo+MAo5BDUq1KA3f3R/MFhh+g8cnHmo8bz3YPGhI1znrMaf77ol1sfvYJzsw3nTE+Y2GryfDxBaR+AqpAkEHQ== -body-parser@1.20.2, body-parser@^1.19.0: +body-parser@1.20.2, body-parser@^1.19.0, body-parser@^1.20.2: version "1.20.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==