Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>zcy-simplifyNew to Visual Studio Code? Get it now.
zcy-simplify

zcy-simplify

Arktomson

|
4 installs
| (0) | Free
zcy个人效率增长插件
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ZCY Simplify VS Code Extension

一个用于简化内网站点操作的 VS Code 扩展,支持通过 cURL 命令进行认证登录。

功能特性

  • 🔐 cURL 认证登录 - 通过复制浏览器的 cURL 命令快速登录内网站点
  • 🍪 智能 Token 提取 - 自动从 Cookie 中提取认证 token
  • 🔒 安全存储 - 使用 VS Code 安全存储保存认证信息
  • 🌐 Axios 集成 - 使用熟悉的 axios API 进行 HTTP 请求
  • ⚙️ 自动认证 - 请求拦截器自动附加 token
  • 📊 状态栏显示 - 实时显示登录状态
  • 🔧 简单易用 - 最小化配置,开箱即用

快速开始

1. 登录认证

  1. 在浏览器中登录你的内网站点
  2. 打开浏览器开发者工具 (F12)
  3. 在 Network 标签页中找到任意一个 API 请求
  4. 右键点击请求,选择 "Copy" > "Copy as cURL"
  5. 在 VS Code 中按 Cmd+Shift+P (macOS) 或 Ctrl+Shift+P (Windows/Linux)
  6. 输入 "ZCY Simplify: Login with cURL" 并执行
  7. 粘贴复制的 cURL 命令

2. 验证登录状态

  • 查看状态栏右侧的登录状态指示器
  • 或执行命令 "ZCY Simplify: Check Authentication Status"

3. 测试 API 连接

执行命令 "ZCY Simplify: Test API Connection" 来验证 API 是否可用。

可用命令

  • ZCY Simplify: Login with cURL - 通过 cURL 命令登录
  • ZCY Simplify: Logout - 登出并清除认证信息
  • ZCY Simplify: Check Authentication Status - 检查当前登录状态
  • ZCY Simplify: Test API Connection - 测试 API 连接

开发者使用

认证管理器 (AuthManager)

import { AuthManager } from './auth';

const authManager = new AuthManager(context);

// 检查登录状态
const isLoggedIn = await authManager.isLoggedIn();

// 获取 token
const token = await authManager.getToken();

API 客户端 (ApiClient) - 使用 Axios

import { ApiClient } from './api-client';

const apiClient = new ApiClient(authManager);

// 方式1:直接获取数据(推荐)
const users = await apiClient.getData('/api/users');
const newUser = await apiClient.postData('/api/users', { name: 'John' });

// 方式2:获取完整响应
const response = await apiClient.get('/api/users');
console.log(response.status, response.data);

// 支持所有 HTTP 方法
const getResp = await apiClient.get('/api/users');
const postResp = await apiClient.post('/api/users', userData);
const putResp = await apiClient.put('/api/users/1', updateData);
const deleteResp = await apiClient.delete('/api/users/1');
const patchResp = await apiClient.patch('/api/users/1', patchData);

// 带查询参数
const users = await apiClient.getData('/api/users', {
    params: { page: 1, limit: 10 }
});

// 文件上传
const formData = new FormData();
formData.append('file', fileBlob);
const uploadResp = await apiClient.post('/api/upload', formData, {
    headers: { 'Content-Type': 'multipart/form-data' }
});

// 使用原生 axios 实例(高级用法)
const axiosInstance = apiClient.getAxiosInstance();
const customResp = await axiosInstance({
    method: 'POST',
    url: '/api/custom',
    timeout: 5000
});

工作原理

  1. 专业 cURL 解析: 使用 curlconverter 库进行高精度解析,备用正则表达式方案
  2. 智能 Token 提取: 从 Cookie 中智能识别常见的 token 字段 (token, auth, session, access_token, jwt)
  3. 安全存储: 使用 VS Code 的 SecretStorage API 加密存储认证信息
  4. Axios 集成: 使用熟悉的 axios API,支持请求/响应拦截器
  5. 自动认证: 请求拦截器自动附加 Cookie 或 Authorization 头
  6. 状态管理: 实时更新登录状态和状态栏显示

支持的 Token 格式

  • Cookie: token=abc123 - 提取 abc123
  • Cookie: auth=xyz789 - 提取 xyz789
  • Cookie: session=def456 - 提取 def456
  • Cookie: access_token=ghi789 - 提取 ghi789
  • Cookie: jwt=jkl012 - 提取 jkl012
  • Cookie: multiple=value1; token=value2 - 提取 value2

如果没有找到特定的 token 字段,将使用整个 Cookie 字符串作为 token。

配置选项

目前扩展使用最小化配置原则,大部分设置会自动从 cURL 命令中提取。

故障排除

登录失败

  • 确保 cURL 命令包含 Cookie 信息
  • 检查 cURL 命令格式是否正确
  • 确认浏览器中的登录状态有效

API 请求失败

  • 检查网络连接
  • 验证登录状态是否有效
  • 确认 API 端点 URL 正确

Token 过期

  • 重新在浏览器中登录
  • 获取新的 cURL 命令
  • 重新执行登录流程

安全说明

  • 认证信息使用 VS Code 安全存储,不会保存在明文文件中
  • Token 仅在本地存储,不会发送到第三方服务器
  • 建议定期更新认证信息以确保安全

版本历史

0.0.1

  • 初始版本
  • 基于 cURL 的认证系统
  • 智能 token 提取
  • API 客户端封装
  • 状态栏集成

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License

Enjoy!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft