Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intro (Chinese)

看了一些API的管理平台如API Layer、boomi、Odoo等平台,思考如果自己动手搭建一个API授权平台是否困难,结果透过网上的资源就能搭建起一个简易且可扩展API授权平台,且大部份依赖的功能都可免费体验,分享这次搭建的代码跟使用到的工具,希望想要在公司内部建立自用的API授权平台能很快地实现。

Usage Documents

知乎掘金medium

Demo

Video Link

image

Intro

Building an API market, like API Layer,boomi, Odoo etc, is easy by using available cloud resources and tools. This project is a simple and extensible API authorization platform, which can be used by any company to build their own API authorization platform.

Guideline

Using guideline and code structure information https://developer.aliyun.com/article/1385779

Preparation

  1. Register an Alibaba cloud account link
  2. Applying an current unlimited-free-trial version of DataWorks link
  3. Goto develope an API in DataWorks DataService (registering APIs is free) link
  4. Preparing a linux server or subscribing an Linux server in Alibaba cloud link

Init Server

Initiate server dependencies

# needs to install Node.js first
npm install --global yarn
yarn install-server

Run Server

Please change AK info in ./server/OpenApiClient.js line 20-23 (AK Info)

web resources locate in ./client/dist

yarn start

open http://localhost:3001

Register Page

Register a new account and can see in API gateway management page (link).

image

image

Login Page

Using a account login and management.

image

API Market

Display available APIs in a market.

image

image

Authorized APIs

Users can see their APIs and remove subscriptions.

image

image

API Details

Display an API details including request parameters.

image

Authorized Information

Display login user's authorized information.

image

Use API

Using curl or postman to request APIs.

image

Deployment Server

Using self-built linux server and install Node.js and deploying above codes and run service. Or subscribing a linux server in Alibaba cloud link and deploying above codes and run service.

About

An APIs platform provides an API market and authorized APIs management for users. This project uses Node.js + React + Vite to implement a system based on Alibaba Cloud DataWorks DataService. (基于阿里云DataWorks数据服务建立一个API的市场,同时用户也能在上面申请API。)

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages