中文 | English
Browser SDK Demo 是一个完整的浏览器端SDK演示项目,包含后台管理系统、服务端API和桌面客户端应用。该项目展示了现代Web技术栈的最佳实践,适用于SDK集成方、前端开发者和平台运维人员。
browser-sdk-demo/
├── sdk-server/ # 服务端API (Go + Gin)
├── sdk-client/ # 桌面客户端 (Electron + Vue 3)
前端技术栈:
- Vue 3 + TypeScript
- Vite 构建工具
- Pinia 状态管理
- Element Plus UI 组件库
- Electron 桌面应用框架
后端技术栈:
- Go 语言 (1.25+)
- Gin Web 框架
- GORM ORM
- JWT 认证
- SQLite 数据库
- Node.js: >= 20.19.0
- Go: >= 1.25
- pnpm: 包管理器
- SQLite: 数据库
# 克隆项目
git clone https://github.com/browsersdk/browser-sdk-demo.git
cd browser-sdk-demoresources/config.dev.yaml
extend:
bro-sdk:
endpoint: https://api.brosdk.com
api-key: 这里填写你的 API Key1. 启动后端服务:
cd sdk-server
go mod tidy
go run main.go start -c resources/config.dev.yaml2. 启动桌面客户端:
cd sdk-client-ts
npm install
npm run dev3. 创建环境: 登录界面使用默认用户名和密码,点击登录。 点击创建环境,填写环境名,选择内核版本和操作系统,点击确认。
3. 启动环境: 选择刚刚创建的环境,点击启动,第一次启动会自动下载内核,根据网络需要等待一段时间。
browser-sdk-demo/
│
├── sdk-server/ # 服务端
│ ├── cmd/ # 命令行工具
│ ├── common/ # 公共工具
│ ├── modules/ # 业务模块
│ ├── resources/ # 配置资源
│ ├── go.mod # Go模块
│ └── main.go # 入口文件
│
├── sdk-client-ts/ # 客户端
│ ├── src/ # Vue源码
│ ├── electron/ # Electron主进程
│ ├── package.json # 依赖配置
│ └── vite.config.ts # 构建配置
│
└── README.md # 项目说明
- RESTful API 接口
- JWT Token 认证
- 数据库操作
- 日志记录
- 中间件支持
- Electron 桌面应用
- 浏览器环境控制
- 实时状态监控
- 本地数据存储
- 跨平台支持
项目中的 bro-sdk 配置用于连接浏览器 SDK 服务:
bro-sdk:
endpoint: https://api.brosdk.com # 请替换为实际值
api-key: xxxxx # 请替换为实际值配置项说明:
endpoint: 浏览器 SDK 服务的访问地址api-key: 用于身份验证的 API 密钥
注意事项:
- 请根据实际部署环境修改
endpoint地址 api-key为敏感信息,请妥善保管- 在生产环境中建议使用 HTTPS 协议
- 数据库配置: 支持 SQLite 和 MySQL
- 缓存配置: 支持内存和 Redis 缓存
- 日志配置: 可配置日志级别和输出格式
- JWT配置: 用于用户认证的 Token 配置
前端开发:
# 代码检查
pnpm lint
# 代码格式化
pnpm format
# 类型检查
pnpm type-check后端开发:
# 代码格式化
go fmt ./...
# 代码检查
go vet ./...构建前端:
# 客户端构建
cd sdk-client
npm run build
## win 构建
npm run build:win构建后端:
cd sdk-server
go build -ldflags "-w -s" -o bin/server main.go# 后端测试
cd sdk-server && go test ./...API文档通过 Swagger 自动生成,启动服务后访问:
http://localhost:7888/swagger/index.html
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
遵循 Conventional Commits 规范:
feat: 新功能fix: Bug修复docs: 文档更新style: 代码格式调整refactor: 代码重构test: 测试相关chore: 构建过程或辅助工具的变动
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
- 项目主页: https://github.com/browsersdk/browser-sdk-demo
- Issues: https://github.com/browsersdk/browser-sdk-demo/issues
Made with ❤️ by browsersdk