# SNMS-Identifier-Parsing-双版接口对接脚本(Java and Python) **Repository Path**: Code03s/SNMS-Identification-Parsing-Platform-Interface-Script ## Basic Information - **Project Name**: SNMS-Identifier-Parsing-双版接口对接脚本(Java and Python) - **Description**: Python/Java双版SNMS接口代码,按六大模块拆分,内置SHA256双加密与Token统一管理,覆盖从认证到注册/解析等全流程,相关企业可直接嵌入业务进行测试对接 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-08-03 - **Last Updated**: 2026-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Python, 标识解析, 工业互联网, 二级节点 ## README # SNMS 标识解析平台接口脚本 SNMS 标识解析平台是一个用于标识注册、解析和管理的综合平台。本项目提供了 Java 和 Python 两种语言的 API 客户端实现,方便开发者快速集成标识解析功能。 ## 项目简介 本项目封装了 SNMS 平台的完整 RESTful API,提供以下核心功能模块: - **身份认证** - 用户注册、登录认证(支持密文/明文模式) - **企业管理** - 企业注册、信息更新、文件上传 - **前缀管理** - 前缀配置、查询、分页检索 - **标识管理** - 标识注册、查询、更新、批量操作 - **模板管理** - 模板创建、查询、更新、删除 - **统计分析** - 总量统计、前缀统计、日/月度统计 ## 技术栈 - **Java 版本**:Java 1.8+,依赖 HttpClient - **Python 版本**:Python 3.6+,依赖 requests 库 ## 快速开始 ### Java 版 1. **环境要求** - JDK 1.8 或更高版本 - Maven 或 Gradle 构建工具 2. **添加依赖** 下载所需的 jar 包(httpcomponents、json 等),添加到项目 classpath 中。 3. **编译运行** ```bash # 编译所有文件 javac -cp ".:lib/*" *.java # 运行示例 java -cp ".:lib/*" SNMSClient ``` 4. **基本使用** ```java // 创建客户端 SNMSClient client = new SNMSClient("http://your-api-server"); // 登录获取 token(密文模式) JSONObject loginResult = client.getAuth().getTokenCipher("username", "password"); String token = loginResult.getString("token"); // 同步 token 到所有模块 client.setToken(token); // 调用各接口 JSONObject entList = client.getEnterprise().listEnterprises(null, null, null, 1, 10); ``` ### Python 版 1. **环境要求** - Python 3.6+ - requests 库 2. **安装依赖** ```bash pip install requests ``` 3. **基本使用** ```python from client import SNMSClient # 创建客户端 client = SNMSClient(base_url="http://your-api-server") # 登录获取 token(密文模式) result = client.auth.get_token_cipher("username", "password") token = result.get("token") # 同步 token 到所有模块 client.set_token(token) # 调用各接口 ent_list = client.enterprise.list_enterprises() ``` ## API 文档 ### 认证模块 (AuthAPI) | Java 方法 | Python 方法 | 说明 | |-----------|-------------|------| | getTokenCipher(username, password) | get_token_cipher(username, password) | 密文模式获取 Token(推荐) | | getTokenPlain(username, password) | get_token_plain(username, password) | 明文模式获取 Token | | registerUser(username, password, email, mobile) | register_user(username, password, email, mobile) | 注册新用户 | ### 企业模块 (EnterpriseAPI) | Java 方法 | Python 方法 | 说明 | |-----------|-------------|------| | registerWithUser(sysUser, entBasicInfo, entRegisterManageInfo) | register_with_user(sys_user, ent_basic_info, ent_register_manage_info) | 带用户信息注册企业 | | registerEnterprise(username, entBasicInfo, entRegisterManageInfo) | register_enterprise(username, ent_basic_info, ent_register_manage_info) | 指定用户注册企业 | | uploadFile(filePath) | upload_file(file_path) | 上传文件 | | updateEnterprise(orgInfo) | update_enterprise(org_info) | 更新企业信息 | | listEnterprises(orgName, startDate, endDate, page, size) | list_enterprises(org_name, start_date, end_date, current_page, page_size) | 获取企业列表 | | enterpriseDetail(id) | enterprise_detail(ent_id) | 获取企业详情 | ### 前缀模块 (PrefixAPI) | Java 方法 | Python 方法 | 说明 | |-----------|-------------|------| | queryPrefix(prefix) | query_prefix(prefix) | 查询前缀信息 | | prefixPage(entName, entPrefix, startDate, endDate, page, size) | prefix_page(ent_name, ent_prefix, start_date, end_date, current_page, page_size) | 分页查询前缀 | | configHostedPrefix(proxyServerId, entPrefix) | config_hosted_prefix(proxy_server_id, ent_prefix) | 配置托管前缀 | | configUnhostedPrefix(entPrefix, hdlType, ip, ipType, tcpPort, udpPort, httpPort) | config_unhosted_prefix(ent_prefix, hdl_type, ip, ip_type, tcp_port, udp_port, http_port) | 配置非托管前缀 | ### 标识模块 (IdentityAPI) | Java 方法 | Python 方法 | 说明 | |-----------|-------------|------| | queryIdentity(handle) | query_identity(handle) | 查询标识 | | registerIdentity(handle, templateVersion, values) | register_identity(handle, template_version, values) | 注册标识 | | batchRegisterIdentity(identityList) | batch_register_identity(identity_list) | 批量注册标识 | | updateIdentity(handle, templateVersion, values) | update_identity(handle, template_version, values) | 更新标识 | | batchUpdateIdentity(identityList) | batch_update_identity(identity_list) | 批量更新标识 | | deleteIdentity(handle) | delete_identity(handle) | 删除标识 | | batchDeleteIdentity(handleList) | batch_delete_identity(handle_list) | 批量删除标识 | ### 模板模块 (TemplateAPI) | Java 方法 | Python 方法 | 说明 | |-----------|-------------|------| | queryTemplate(prefix, version) | query_template(prefix, version) | 查询模板 | | createTemplate(prefix, version, industryCategory, industrySpecific, industryTrade, industrySubclass, type, items) | create_template(prefix, version, industry_category, industry_specific, industry_trade, industry_subclass, template_type, items) | 创建模板 | | updateTemplate(prefix, version, industryCategory, industrySpecific, industryTrade, industrySubclass, type, items) | update_template(prefix, version, industry_category, industry_specific, industry_trade, industry_subclass, template_type, items) | 更新模板 | | deleteTemplate(prefix, version) | delete_template(prefix, version) | 删除模板 | ### 统计模块 (StatisticsAPI) | Java 方法 | Python 方法 | 说明 | |-----------|-------------|------| | totalStatistics(prefix) | total_statistics(prefix) | 获取总量统计 | | prefixStatistics(prefix, startDate, endDate) | prefix_statistics(prefix, start_date, end_date) | 获取前缀统计 | | dailyStatistics(date, prefix) | daily_statistics(stat_date, prefix) | 获取日统计 | | monthlyStatistics(year, month, prefix) | monthly_statistics(year, month, prefix) | 获取月度统计 | ## 文件结构 ``` . ├── java/ │ ├── AuthAPI.java # 认证接口实现 │ ├── EnterpriseAPI.java # 企业管理接口 │ ├── HttpClientUtil.java # HTTP 客户端工具 │ ├── IdentityAPI.java # 标识管理接口 │ ├── PrefixAPI.java # 前缀管理接口 │ ├── SNMSClient.java # 主客户端类 │ ├── StatisticsAPI.java # 统计分析接口 │ └── TemplateAPI.java # 模板管理接口 ├── python/ │ ├── auth_api.py # 认证接口 │ ├── client.py # 主客户端 │ ├── enterprise_api.py # 企业管理接口 │ ├── identity_api.py # 标识管理接口 │ ├── prefix_api.py # 前缀管理接口 │ ├── statistics_api.py # 统计分析接口 │ └── template_api.py # 模板管理接口 └── README.md # 本文档 ``` ## 注意事项 1. **认证方式**:推荐使用密文模式获取 Token,安全性更高 2. **Token 管理**:获取 Token 后需要调用 `setToken()` 同步到所有 API 模块 3. **错误处理**:API 调用失败时会返回错误信息,建议添加异常处理逻辑 4. **参数验证**:使用前请确保必填参数正确传入,参数格式符合平台要求 ## 许可证 本项目遵循开源许可证协议,具体信息请参阅 LICENSE 文件。