npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@cpzxrobot/sdk

v1.3.125

Published

提供给上海正芯数智APP第三方H5应用使用的SDK

Downloads

3,217

Readme

正芯数智SDK 文档

目录

概述

这是提供给上海正芯数智APP第三方H5应用使用的SDK模块,包含相关物联网设备的获取方式和接口功能

快速开始

安装

npm i @cpzxrobot/sdk

初始化

import cpzxrobot from "@cpzxrobot/sdk"

cpzxrobot({
  devAuth: "从上海正芯获得的开发临时token",
  appCode: "上海正芯分配的App Code",
  selectedFarm: {
    code: "xxxx",
    company_code: "xxxx",
    id: 123456,
    name: "自定义用户测试的工厂,请从后台根据业务选择合适的工厂",
  },
  selectedUnit: {
    id: 123456,
    name: "自定义用户测试的单元,请从后台根据业务选择合适的单元",
    workshopName: 'A栋'
  },
});

开发环境配置

如果出现CORS问题,请配置代理:

// vite.config.js
server: {
  proxy: {
    "/api": {
      target: "https://www.cpzxrobot.com/",
      changeOrigin: true,
    },
  },
}

核心功能模块

  1. 工厂管理
  2. 设备管理
  3. 摄像头管理
  4. 料塔管理
  5. 保温灯管理
  6. 用户管理
  7. 项目管理
  8. 合同管理
  9. 客户管理
  10. 公司管理
  11. 车辆管理
  12. 新闻管理
  13. 日志管理
  14. AI网关管理

接口参考

工厂管理

获取工厂信息

cpzxrobot().factory.workshops(factory_id)

参数:

  • factory_id: 工厂id

获取工厂单元

cpzxrobot().factory.units(factory_id)

参数:

  • factory_id: 工厂id

设备管理

设备基础接口

// 获取设备列表
cpzxrobot().device.list()

// 获取单个设备数据  
cpzxrobot().device.data(deviceId)

// 验证设备有效性
cpzxrobot().device.validate(serialNumbers)

// 获取设备报警阈值
cpzxrobot().device.thresholdConfig.list()

// 获取设备报警列表
cpzxrobot().device.alert(factoryId, type)

// 报告设备问题
cpzxrobot().device.report(deviceId, status, description)

alert函数说明

获取工厂设备的告警列表

参数

  • factoryId: string - 工厂ID
  • type?: string - (可选)告警类型

返回值

Promise<DeviceFault[]> - 按时间排序的告警记录数组

使用示例

// 获取工厂123的所有告警
const alerts = await cpzxrobot().device.alert("123");

// 获取工厂123的温度相关告警
const tempAlerts = await cpzxrobot().device.alert("123", "temperature");

DeviceFault接口

interface DeviceFault {
  category: string; // 告警类别
  time: Date;      // 发生时间
  resolved: boolean; // 是否已解决
  repeated?: number; // 重复次数(可选)
  value?: any;      // 告警值(可选)
  message?: string;  // 告警消息(可选)
}

report函数说明

报告设备问题状态

参数

  • deviceId: number - 设备ID
  • status: number - 设备状态码,可选值如下:
    • 0: 正常状态
    • 1: 待确认错误
    • 2: 需要检查的错误
    • 3: 维护中
    • 4: 需要自行修复的错误
    • 5: 需要更换的错误
    • 8: 等待修复
    • 9: 等待更换
    • 16: 正在修复
    • 17: 正在更换
    • 33: 已更换
    • 64: 已废弃
  • description: string - 问题描述

返回值

Promise - 返回操作结果

使用示例

// 报告设备需要修复
await cpzxrobot().device.report(123, 4, "传感器读数异常");

// 报告设备已废弃
await cpzxrobot().device.report(456, 64, "设备已报废");

faults函数说明

获取设备故障记录

参数

  • deviceId: number - 设备ID
  • startTime: Date - 开始时间
  • endTime: Date - 结束时间

返回值

Promise<DeviceFault[]> - 按时间排序的故障记录数组

使用示例

const faults = await cpzxrobot().device.faults(
  123, 
  new Date('2023-01-01'),
  new Date('2023-01-31')
);

faults.forEach(fault => {
  console.log(`时间: ${fault.time}, 类别: ${fault.category}`);
});

DeviceFault接口

interface DeviceFault {
  category: string; // 故障类别
  time: Date;      // 发生时间
  resolved: boolean; // 是否已解决
  repeated?: number; // 重复次数(可选)
  value?: any;      // 故障值(可选)
  message?: string;  // 故障消息(可选)
}

料塔设备接口

// 获取料塔列表
cpzxrobot().device.feedTower.list()
cpzxrobot().device.feedTower.v2.list()

// 料塔清零
cpzxrobot().device.feedTower.v2.adzero(towerId)

// 获取料塔统计
cpzxrobot().device.feedTower.stat(towerId)

// 料塔报警参数
cpzxrobot().device.feedTower.setAlarmParam(params)
cpzxrobot().device.feedTower.getAlarmParam(towerId)
cpzxrobot().device.feedTower.updateAlarmParam(params)

设备管理V2接口

// 设备增删改查
cpzxrobot().device.v2.add(deviceInfo)
cpzxrobot().device.v2.update(deviceInfo) 
cpzxrobot().device.v2.list(params)
cpzxrobot().device.v2.delete(deviceId)

设备故障记录

// 获取设备故障记录
cpzxrobot().device.faults(deviceId, startTime, endTime)

摄像头管理

摄像头搜索

// 按单元搜索
cpzxrobot().camera.search({unit_id: unitId})

// 按工厂搜索 
cpzxrobot().camera.search({factory_id: factoryId})

// 按车间搜索
cpzxrobot().camera.search({workshop_id: workshopId})

摄像头控制

// 控制摄像头移动
cpzxrobot().camera.control({
  cameraId: string,
  direction: 'left'|'right'|'up'|'down',
  start: boolean, // 开始移动
  stop: boolean   // 停止移动
})

// 默认3秒自动停止
cpzxrobot().camera.control({
  cameraId: string,
  direction: 'left'|'right'|'up'|'down' 
})

摄像头状态获取

// 获取摄像头实时画面
cpzxrobot().camera.liveView(cameraId)

// 获取摄像头信息
cpzxrobot().camera.info(cameraId)

// 获取摄像头历史记录
cpzxrobot().camera.history(cameraId, startTime, endTime)

保温灯管理

保温灯配置管理

// 添加保温灯配置
cpzxrobot().pigfarm.heatlamp.add(unitId, {
  name: string,
  dayAge: number,
  temperature: number
})

// 获取保温灯列表
cpzxrobot().pigfarm.heatlamp.list(unitId)

// 获取保温灯详情
cpzxrobot().pigfarm.heatlamp.get(heatlampId)

// 更新保温灯配置
cpzxrobot().pigfarm.heatlamp.update({
  id: number,
  name?: string,
  dayAge?: number,
  temperature?: number
})

保温灯状态控制

// 设置保温灯工作日龄
cpzxrobot().pigfarm.heatlamp.set(heatlampId, {
  action: "dayage",
  argc: number // 天数
})

// 开关保温灯
cpzxrobot().pigfarm.heatlamp.switch(heatlampId, {
  action: "on"|"off"
})

// 按单元批量控制
cpzxrobot().pigfarm.heatlamp.switchByUnit(unitId, {
  action: "on"|"off"
})

// 获取任务状态
cpzxrobot().pigfarm.heatlamp.taskStatus(taskId)

保温灯模板管理

// 添加保温灯模板
cpzxrobot().pigfarm.heatlamp.template.add({
  name: string,
  stages: Array<{
    dayAge: number,
    temperature: number
  }>
})

// 获取模板列表
cpzxrobot().pigfarm.heatlamp.template.list()

单元统计信息

// 获取单元统计信息
cpzxrobot().pigfarm.unitStat(unitId)

// 获取单元阈值配置
cpzxrobot().unit.thresholdConfig.get(unitId)

// 绑定单元阈值配置
cpzxrobot().unit.thresholdConfig.bind(unitId, config)

用户管理

用户基础操作

// 添加用户
cpzxrobot().user.add({
  name: string,
  mobile: string,
  roleId: number,
  factoryId: number
})

// 更新用户信息
cpzxrobot().user.update(userId, {
  name?: string,
  mobile?: string,
  roleId?: number
})

// 获取用户列表
cpzxrobot().user.list({
  factoryId: number,
  page?: number,
  size?: number
})

// 获取用户详情
cpzxrobot().user.info(userId)

// 按角色获取用户
cpzxrobot().user.listByRole({
  companyId: number,
  roleId: number
})

用户审批流程

// 获取审批列表
cpzxrobot().user.approval.list({
  userId: number,
  status: 'pending'|'approved'|'rejected'
})

// 获取审批数量
cpzxrobot().user.approval.count({
  userId: number,
  status: 'pending'|'approved'|'rejected'
})

// 提交审批
cpzxrobot().user.approval.submit({
  userId: number,
  type: string,
  content: string
})

用户考勤管理

// 添加签到记录
cpzxrobot().user.checkin.add({
  userId: number,
  address: string
})

// 获取签到记录
cpzxrobot().user.checkin.list({
  userId: number,
  date: string // YYYY-MM-DD
})

用户工作报告

// 获取工作报告列表
cpzxrobot().user.workReport.list(userId)

// 添加工作报告
cpzxrobot().user.workReport.add({
  userId: number,
  content: string
})

// 更新工作报告
cpzxrobot().user.workReport.update(reportId, {
  content: string
})

用户统计分析

// 全国用户统计
cpzxrobot().user.stat.china()

// 按地区统计
cpzxrobot().user.listByProvince(province)
cpzxrobot().user.listByCity(city)

// 部门关系查询
cpzxrobot().user.position.leader() // 获取领导信息
cpzxrobot().user.position.team()   // 获取下属团队

项目管理

项目基础信息

// 获取项目列表
cpzxrobot().project.list({
  factoryId: number,
  page?: number,
  size?: number
})

// Code前缀管理
cpzxrobot().project.codePrefix = {
  // 添加code前缀
  add: (args: { codePrefix: string; description: string }) => Promise<any>
  
  // 获取code前缀列表
  list: (args: {
    pageNo: number;
    pageSize: number;
    projectCode?: string;
    description?: string;
  }) => Promise<any>
  
  // 获取单个code前缀详情
  get: (id: number) => Promise<any>
  
  // 更新code前缀
  update: (args: { 
    codePrefix: string; 
    description: string; 
    id: number 
  }) => Promise<any>
  
  // 删除code前缀
  delete: (id: number) => Promise<any>
}

// 使用示例
// 添加code前缀
await cpzxrobot().project.codePrefix.add({
  codePrefix: "PRJ",
  description: "项目编号前缀"
});

// 获取code前缀列表
const prefixes = await cpzxrobot().project.codePrefix.list({
  pageNo: 1,
  pageSize: 10
});

// 获取单个code前缀
const prefix = await cpzxrobot().project.codePrefix.get(123);

// 更新code前缀
await cpzxrobot().project.codePrefix.update({
  codePrefix: "PROJ",
  description: "项目编号前缀",
  id: 123
});

// 删除code前缀
await cpzxrobot().project.codePrefix.delete(123);

// 获取项目详情 cpzxrobot().project.get(projectId)

// 新增项目 cpzxrobot().project.add({ projectCode: string, // 项目代码 projectName: string, // 项目名称 description: string, // 项目描述 image: string, // 项目图片 type: number, // 项目类型 scale: string, // 项目规模 amount: number, // 项目金额 principalId: number, // 负责人ID startDate: string, // 开始日期(YYYY-MM-DD) workDate: string, // 工作日期(YYYY-MM-DD) endDate: string, // 结束日期(YYYY-MM-DD) customerId: number, // 客户ID progressPercentage: string, // 进度百分比 projectProgress: number, // 项目进度 projectPayment: number, // 项目付款 activeFlag: number, // 激活标志 fileId: number, // 文件ID icpRecordNumber: string, // ICP备案号 supervise: string, // 监督人 supervisePhone: string, // 监督电话 areaCode: number, // 区域代码 address: string, // 地址 lat: string, // 纬度 lng: string, // 经度 budget: number, // 预算 expectedTransactionTime: string, // 预计交易时间 currentStage: string, // 当前阶段 customerContactId: number, // 客户联系人ID projectStageId: number // 项目阶段ID })

// 更新项目 cpzxrobot().project.update({ id: number, // 项目ID projectCode: string, // 项目代码 projectName: string, // 项目名称 description: string, // 项目描述 image: string, // 项目图片 type: number, // 项目类型 scale: string, // 项目规模 amount: number, // 项目金额 principalId: number, // 负责人ID startDate: string, // 开始日期(YYYY-MM-DD) workDate: string, // 工作日期(YYYY-MM-DD) endDate: string, // 结束日期(YYYY-MM-DD) customerId: number, // 客户ID progressPercentage: string, // 进度百分比 projectProgress: number, // 项目进度 projectPayment: number, // 项目付款 activeFlag: number, // 激活标志 fileId: number, // 文件ID icpRecordNumber: string, // ICP备案号 supervise: string, // 监督人 supervisePhone: string, // 监督电话 areaCode: number, // 区域代码 address: string, // 地址 lat: string, // 纬度 lng: string, // 经度 budget: number, // 预算 expectedTransactionTime: string, // 预计交易时间 currentStage: string, // 当前阶段 customerContactId: number, // 客户联系人ID projectStageId: number // 项目阶段ID })

// 删除项目 cpzxrobot().project.delete(projectId: number) // 项目ID

// 全国项目统计 cpzxrobot().project.stat.china()

// 按地区统计 cpzxrobot().project.listByProvince(province)


#### 项目反馈管理
```javascript
// 获取反馈列表
cpzxrobot().project.feedback.list(projectId)

// 添加项目反馈
cpzxrobot().project.feedback.add({
  projectId: number,
  content: string
})

// 回复项目反馈
cpzxrobot().project.feedback.reply({
  feedbackId: number,
  content: string
})

项目询盘管理

// 获取询盘列表
cpzxrobot().project.inquiry.list(projectId)

// 添加询盘
cpzxrobot().project.inquiry.add({
  projectId: number,
  content: string
})

// 询盘审批
cpzxrobot().project.inquiry.approval({
  inquiryId: number,
  opinion: string
})

// 导出询盘
cpzxrobot().project.inquiry.export({
  projectId: number,
  fileName?: string
})

项目资源管理

// 获取项目文档
cpzxrobot().project.document.list(projectId)

// 获取物料到货
cpzxrobot().project.material.list(projectId)

// 获取施工队信息
cpzxrobot().project.constructionTeam.list(projectId)

// 获取考勤记录
cpzxrobot().project.attendance.list(projectId)

项目关联产品

// 获取产品列表
cpzxrobot().product.list({
  factoryId: number,
  page?: number,
  size?: number
})

// 产品报价管理
cpzxrobot().product.price.list(productId)
cpzxrobot().product.price.add({
  productId: number,
  price: number,
  currency: string
})

报价单管理

报价单基础操作

// 获取报价单列表
cpzxrobot().quotation.list({
  pageNo: number,
  pageSize: number,
  name?: string,
  companyId?: number
})

// 创建报价单
cpzxrobot().quotation.add({
  // 报价单数据
})

// 获取报价单详情
cpzxrobot().quotation.get(id: number)

// 更新报价单信息
cpzxrobot().quotation.update({
  quotationTypeId: number,
  quotationTypeName: string,
  customerId: number,
  customerName: string,
  quotationContent: string,
  customerContactId: number,
  customerContactName: string,
  contactPhone: string,
  salesman: string,
  amount: number,
  quotationCost: number,
  quotationGrossProfit: number,
  quotationDemandDate: string,
  companyId: number,
  tax: number,
  projectId: number,
  validDay: number,
  quotationDate: string
})

// 删除报价单
cpzxrobot().quotation.delete(id: number)

// 将报价单转化为合同
cpzxrobot().quotation.transform(id: number)

合同管理

公司管理

// 获取公司列表
cpzxrobot().company.list({
  page?: number,
  size?: number
})

// 公司营收统计
cpzxrobot().company.revenue.list({
  year?: number,
  month?: number
})

// 公司排名
cpzxrobot().company.rank.byRevenue()
cpzxrobot().company.rank.byProfit()
cpzxrobot().company.rank.byOrder()

车辆管理

// 全国车辆统计
cpzxrobot().car.stat.china()

// 按地区统计
cpzxrobot().car.listByProvince(province)
cpzxrobot().car.listByCity(city)
cpzxrobot().car.listByDistrict(district)

// 获取车辆运单
cpzxrobot().car.orders(factoryId)
cpzxrobot().car.ordersByFactory(factoryId)

// 更新车辆称重记录
cpzxrobot().car.updateRecord(factory: Factory, record: {
  id: number,                      // 记录ID
  manualLoadWeight: number,        // 手动装载重量(kg)
  manualLoadWeightTime: string,    // 手动装载时间(格式: "YYYY-MM-DD HH:mm:ss")
  manualCarWeight: number,         // 手动车辆重量(kg)
  manualCarWeightTime: string      // 手动车辆称重时间(格式: "YYYY-MM-DD HH:mm:ss")
})
cpzxrobot({
  devAuth: "从上海正芯获得的开发临时token",
  appCode: "上海正芯分配的App Code",
  selectedFarm: {
    code: "xxxx",
    company_code: "xxxx",
    id: 123456,
    name: "自定义用户测试的工厂,请从后台根据业务选择合适的工厂",
  },
  selectedUnit: {
    id: 123456,
    name: "自定义用户测试的单元,请从后台根据业务选择合适的单元",
    workshopName: 'A栋'
  },
});

使用上述模板进行sdk初始化

2.2.1、开发时的CORS问题

如果上述配置后,出现调用接口CORS问题,请在初始化增加参数:

baseURL: "/"

并在vite.config.js等开发环境配置文件中配置:

  server: {
    proxy: {
      "/api": {
        target: "https://www.cpzxrobot.com/",
        changeOrigin: true,
      },
    },
  },

2.3、使用方法

2.3.1、Vue使用方法

在App.vue中调用2.1所示初始化程序,即可完成SDK初始化。

在其他文件中需要使用sdk时,需要

  • 引用库 import cpzxrobot from "@cpzxrobot/sdk"
  • 调用对应的接口方法,例如cpzxrobot().factory.workshops(factory_id)

调用接口列表

主要包入口:

| 调用入口 | 功能说明 | | ----------------------- | -------------------- | | cpzxrobot().factory.xxx | 获得工厂的相关信息 | | cpzxrobot().device.list | 获得常见设备的列表(当没有特殊类型需求时调用),列表接口提供data参数,可以同步获得多个设备的数据,尽量使用该接口获得设备数据 | | cpzxrobot().device.data | 获得设备的数据,该接口用于获取单个设备的详细数据 | | cpzxrobot().device.feedTower.list | 获得料塔设备的列表 | | cpzxrobot().device.feedTower.v2.list | 获得料塔设备的列表(新版),暂不支持v1版本的data等附加参数,只支持按工厂获取 | | cpzxrobot().device.feedTower.v2.adzero | 将某一个特定料塔设置清零 | | cpzxrobot().device.xxx | 获得设备的相关信息 | | cpzxrobot().device.v2.add | 新增设备(仅限v2设备) | | cpzxrobot().device.v2.update | 更新设备(仅限v2设备) | | cpzxrobot().device.v2.list | 删除设备(仅限v2设备) | | cpzxrobot().device.v2.delete | 删除设备(仅限v2设备) | | cpzxrobot().device.validate | 校验设备是否有效,传入serialNumbers数组,返回包含状态的设备列表 | | cpzxrobot().camera.xxx | 获得摄像头的相关信息 | | cpzxrobot().camera.control | 控制摄像头,例如:左移,右移,上移,下移等,如果传输start为true,则开始控制,如果传输stop为true,则停止控制,如果都没传输,则执行3秒后自动停止,传输start为true时,前端必须在需要停止时自行发送stop为true的消息 | | cpzxrobot().factory.entry | 获得工厂的可显示动态信息 | | cpzxrobot().factory.apps | 获得工厂的应用列表,如果指定withRoles为true,则返回app和app的详细角色信息 | | cpzxrobot().factory.roles | 获得工厂的角色列表 |
| cpzxrobot().factory.addRole | 添加工厂的角色 | | cpzxrobot().factory.deleteRole | 删除工厂的角色 | | cpzxrobot().factory.listByCompany | 获得工厂列表,传入companyId参数 | | cpzxrobot().factory.info.get | 获得工厂的附加信息 | | cpzxrobot().factory.info.post | 更新或更新工厂的附加信息 | | cpzxrobot().factory.banner.add | 添加工厂的banner图片,提交formdata,需要传入file参数 | | cpzxrobot().factory.banner.delete | 删除工厂的banner图片,需要传入id参数 | | cpzxrobot().factory.workshop.get | 获得工厂的某个车间信息 | | cpzxrobot().factory.workshop.post | 添加车间信息 | | cpzxrobot().factory.workshop.types | 获得车间的类型列表 | | cpzxrobot().factory.workshop.delete | 删除车间信息,需要传入id参数 | | cpzxrobot().factory.batch.list | 获得批次列表,传入factoryId参数 | | cpzxrobot().transport.fodder.getDeviceByFodderld | 获得料单对应的设备 | | cpzxrobot().transport.fodder.getRecentLoad | 获取料塔最近打料记录,传入towerId参数 | | cpzxrobot().transport.fodder.delete | 删除饲料信息,需要传入id参数 | | cpzxrobot().transport.pig.getCars | 根据栋舍获取车牌号列表信息,传入factoryId参数 | | cpzxrobot().transport.pig.getBatchByTruck | 获取运输批次信息,传入workshopId和truckCode参数 | | cpzxrobot().transport.pig.getBatchByDateRange | 获取运输批次信息,传入workshopId、startDate和endDate参数 | | cpzxrobot().transport.pig.createBatch | 创建猪运输单,传入运输单数据 | | cpzxrobot().transport.pig.getBatchDetail | 获取运输单详情,传入运输单id | | cpzxrobot().pigfarm.heatlamp.xxx | 操作保温灯 | | cpzxrobot().pigfarm.weightMeter.config.list | 获取称重计的配置信息 | | cpzxrobot().pigfarm.weightMeter.config.bind | 添加称重计的配置信息,绑定到料塔 | | cpzxrobot().pigfarm.weightMeter.config.update | 更新称重计的配置信息 | | cpzxrobot().pigfarm.weightMeter.sensor.list | 获取称重计的传感器列表 | | cpzxrobot().pigfarm.weightMeter.sensor.add | 添加称重计的传感器信息 | | cpzxrobot().pigfarm.weightMeter.sensor.update | 更新称重计的传感器信息 | | cpzxrobot().pigfarm.weightMeter.iccid | 获取称重计的iccid信息 | | cpzxrobot().pigfarm.weightMeter.restart | 重启称重计 | | cpzxrobot().device.feedTower.stat | 获得料塔设备的料耗,饲料重量 | | cpzxrobot().device.feedTower.setAlarmParam | 设置料塔设备的报警参数 | | cpzxrobot().device.feedTower.updateAlarmParam | 更新料塔设备的报警参数 | | cpzxrobot().device.feedTower.getAlarmParam | 获得料塔设备的报警参数 | | cpzxrobot().device.thresholdConfig.list | 获得设备报警阈值列表 | | cpzxrobot().device.thresholdConfig.post | 添加或更新设备报警阈值(根据是否传入id) | | cpzxrobot().device.thresholdConfig.delete | 删除设备报警阈值(根据id) | | cpzxrobot().device.thresholdConfig.get | 获得设备报警阈值配置信息 | | cpzxrobot().device.thresholdConfig.addRule | 获得设备报警阈值配置信息 | | cpzxrobot().device.thresholdConfig.deleteRule | 删除设备报警阈值配置信息 | | cpzxrobot().pigfarm.unitStat | 获得单元的统计信息,包括每日料耗,饲料消耗,日龄,存栏量等 | | cpzxrobot().pigfarm.heatlamp.set | 设置保温灯的当前工作日龄,调用时,action传"dayage",argc传天数 | | cpzxrobot().pigfarm.heatlamp.switch | 设置保温灯的当前工作日龄,调用时,action"on"或"off" | | cpzxrobot().pigfarm.heatlamp.iotFields | 获取保温灯用于获取iot的字段列表 | | cpzxrobot().pigfarm.heatlamp.switchByUnit | 按单元id开关,返回task | | cpzxrobot().pigfarm.heatlamp.updateByUnit | 按单元id设置保温灯的参数,返回task |
| cpzxrobot().pigfarm.heatlamp.taskStatus | 获取保温灯的任务状态,传入taskId参数或者unitId和type自动查询 | | cpzxrobot().pigfarm.heatlamp.template.add | 添加保温灯的模板 | | cpzxrobot().pigfarm.heatlamp.template.list | 获取保温灯的模板列表 | | cpzxrobot().pigfarm.threshold | 获取单元中特定类型的阈值信息 | | cpzxrobot().scanQrcode | 调用扫码功能,获得扫码文字 | | cpzxrobot().vibrate | 调用震动功能 | | cpzxrobot().reloadGroup | 重新加载组织机构信息,传入字符串类型的工厂(公司)id | | cpzxrobot().unit.v2.list | 获得单元列表,v2版本 | | cpzxrobot().unit.v2.add | 添加单元,v2版本 | | cpzxrobot().unit.v2.update | 更新单元,v2版本 | | cpzxrobot().unit.v2.delete | 删除单元,v2版本 | | cpzxrobot().unit.layout.get | 获取单元的展示布局 | | cpzxrobot().unit.layout.post | 设置单元的展示布局 | | cpzxrobot().unit.thresholdConfig.get | 获取单元的阈值配置信息 | | cpzxrobot().unit.thresholdConfig.bind | 设置单元的阈值配置信息 | | cpzxrobot().unit.thresholdConfig.delete | 删除单元的阈值配置信息,传入get获取的条目的具体id或对象本身 | | cpzxrobot().unit.batch.bind | 绑定单元和生产批次关系 | | cpzxrobot().unit.batch.create | 创建生产批次 | | cpzxrobot().unit.batch.update | 更新生产批次信息,传入id参数和更新的内容 | | cpzxrobot().unit.batch.clear | 清除单元绑定的生产批次 | | cpzxrobot().unit.batch.getUnits | 获取批次的绑定单元信息 | | cpzxrobot().unit.batch.searchInUnit | 搜索单元的生产批次信息 | | cpzxrobot().unit.batch.list | 获取多个单元的生产批次信息 | | cpzxrobot().unit.batch.operation | 获取批次操作记录,传入 batchNo 参数 | | cpzxrobot().unit.batch.delete | 删除批次,传入批次 id 参数 | | cpzxrobot().user.add | 添加用户 | | cpzxrobot().user.update | 更新用户 | | cpzxrobot().user.list | 列出用户(传入工厂) | | cpzxrobot().user.info | 获取用户信息,传入userId参数 | | cpzxrobot().user.listByRole | 列出用户(传入公司和角色) | | cpzxrobot().user.approval.count | 获list | 获取用户审批列表,传入userId和status参数 | | cpzxrobot().user.approval.取用户审批列表的数量,传入userId和status参数 | | cpzxrobot().user.approval.submits | 获取已提交的用户审批 | | cpzxrobot().user.checkin.add | 添加用户签到记录,传入userId和address参数 | | cpzxrobot().user.checkin.list | 列出用户签到记录,传入userId和date参数 | | cpzxrobot().user.searchHistory.list | 列出用户搜索历史记录,传入type参数 | | cpzxrobot().user.searchHistory.add | 添加用户搜索历史记录,传入type参数和搜索内容 | | cpzxrobot().user.searchHistory.delete | 删除用户搜索历史记录,传入ids参数 | | cpzxrobot().user.stat.china | 获得员工在全国的统计信息 | | cpzxrobot().user.listByProvince | 获得员工在某个省的统计信息,传入province参数 | | cpzxrobot().user.listByCity | 获得员工在某个市的统计信息,传入city参数 | | cpzxrobot().user.workReport.list | 列出用户的日报记录 | | cpzxrobot().user.workReport.get | 获取用户的日报记录 | | cpzxrobot().user.workReport.add | 添加用户的日报记录 | | cpzxrobot().user.workReport.delete | 删除用户的日报记录,传入id参数 | | cpzxrobot().user.workReport.update | 更新用户的日报记录,传入id参数和更新的内容 | | cpzxrobot().user.position.leader | 获取当前用户的领导信息 | | cpzxrobot().user.position.team | 获取当前用户的下属团队信息, 可输入searchName进行模糊搜索 | | cpzxrobot().user.position.colleague | 获取当前用户的同组团队信息 | | cpzxrobot().user.position.byDept | 按部门获得团队信息,传入deptName参数 | | cpzxrobot().product.list | 获得产品列表,传入factory_id和必要的分页参数 | | cpzxrobot().product.get | 获得产品信息,传入id参数 | | cpzxrobot().product.price.list | 获得产品报价列表 | | cpzxrobot().product.price.get | 获得产品报价信息,传入id参数 | | cpzxrobot().product.price.add | 添加产品报价信息 | | cpzxrobot().product.price.delete | 删除产品报价信息,传入id参数 | | cpzxrobot().product.price.history.list | 获得产品报价历史信息 | | cpzxrobot().product.price.history.get | 获得产品报价历史信息,传入id参数 | | cpzxrobot().project.list | 获得项目列表,传入factory_id和必要的分页参数 | | cpzxrobot().project.feedback.list | 获得项目反馈列表,传入project_id参数 | | cpzxrobot().project.feedback.add | 添加项目反馈信息,传入project_id和反馈内容 | | cpzxrobot().project.feedback.reply | 添加项目反馈回复,传入feedback_id和回复内容 | | cpzxrobot().project.get | 获得项目信息,传入id参数 | | cpzxrobot().project.stat.china | 获得项目在全国的统计信息 | | cpzxrobot().project.inquiry.list | 获得项目询盘列表,传入project_id参数 | | cpzxrobot().project.inquiry.get | 获得项目询盘信息,传入id参数 | | cpzxrobot().project.inquiry.add | 添加项目询盘信息,传入project_id和询盘内容 | | cpzxrobot().project.inquiry.export | 导出项目询盘信息,传入project_id参数,建议传入自定义文件名,否则默认文件名 | | cpzxrobot().project.inquiry.approval | 审批项目询盘,传入id参数和审批意见 | | cpzxrobot().project.inquiry.restart | 重新提交项目询盘,传入id参数 | | cpzxrobot().project.inquiry.documents | 获得项目询盘文档列表 | | cpzxrobot().project.document.list | 获得项目文档列表,传入project_id参数 | | cpzxrobot().project.document.export | 导出项目文档信息,传入id参数,建议传入自定义文件名,否则默认文件名 | | cpzxrobot().project.material.list | 获得项目物料到货列表,传入project_id参数 | | cpzxrobot().project.attendance.list | 获得项目到岗列表,传入project_id参数 | | cpzxrobot().project.constructionTeam.list | 获得项目施工队列表,传入project_id参数 | | cpzxrobot().project.listByProvince | 获得项目在某个省的统计信息,传入province参数 | | cpzxrobot().contract.list | 获得合同列表,传入factory_id和必要的分页参数 | | cpzxrobot().contract.get | 获得合同信息,传入id参数 | | cpzxrobot().contract.add | 添加合同 | | cpzxrobot().contract.export | 导出合同信息,建议传入自定义文件名,否则默认文件名 | | cpzxrobot().contract.approval | 审批合同,传入id参数和审批意见 | | cpzxrobot().contract.restart | 重新提交合同审批,传入id等参数 | | cpzxrobot().contract.types | 获得合同类型列表,传入factory_id参数 | | cpzxrobot().customer.list | 获得客户列表,传入factory_id和必要的分页参数 | | cpzxrobot().customer.listV2 | 更新版本的获得客户列表,传入factory_id和必要的分页参数,请逐步替换list的使用 | | cpzxrobot().customer.get | 获得客户信息,传入id参数 | | cpzxrobot().customer.add | 添加客户 | | cpzxrobot().customer.update | 更新客户 | | cpzxrobot().customer.visit.add | 添加客户拜访记录 | | cpzxrobot().customer.stat.china | 获得客户在全国的统计信息 | | cpzxrobot().customer.listByProvince | 获得客户在某个省的统计信息,传入province参数 | | cpzxrobot().customer.accountManager | 获得客户对应的销售员 | | cpzxrobot().customer.delete | 删除客户,传入id参数 | | cpzxrobot().customer.types | 获得客户类型列表 | | cpzxrobot().customer.status | 获得客户状态列表 | | cpzxrobot().customer.categories | 获得客户类别列表 | | cpzxrobot().customer.count.byStatus | 获取客户状态列表及各状态下的客户数量 | | cpzxrobot().customer.visit.list | 获取客户拜访列表 | | cpzxrobot().customer.stat.periodCount | 按周、月、年及类型对客户数量统计 | | cpzxrobot().customer.stat.totalCount | 统计客户总数 | | cpzxrobot().customer.stat.amount | 统计追踪、在建阶段的项目金额 | | cpzxrobot().customer.stat.project | 追踪项目统计 | | cpzxrobot().customer.contact | 获取客户联系人信息 | | cpzxrobot().company.list | 获得公司列表,传入必要的分页参数 | | cpzxrobot().company.rank.byRevenue | 按公司营收获取排名,传入必要的分页参数 | | cpzxrobot().company.rank.byProfit | 按公司利润获取排名,传入必要的分页参数 | | cpzxrobot().company.rank.byOrder | 按公司订单获取排名,传入必要的分页参数 | | cpzxrobot().company.cost.byMonth | 按公司按月成本 | | cpzxrobot().company.cost.byYear | 按公司按年成本 | | cpzxrobot().company.revenue.groupSummary.byMonth | 按公司按类别按月营收统计 | | cpzxrobot().company.revenue.groupSummary.byYear | 按公司按类别按年营收统计 | | cpzxrobot().company.revenue.recentSummary.byMonth | 按公司当月营收统计 | | cpzxrobot().company.revenue.recentSummary.byDay | 按公司当日营收统计 | | cpzxrobot().company.revenue.recentSummary.byDecade | 按公司按旬营收统计 | | cpzxrobot().company.revenue.list | 获得公司营收列表,传入必要的分页参数 | | cpzxrobot().company.enterprise.revenue | 获得集团整体营收统计 | | cpzxrobot().company.enterprise.userCount | 获得集团整体用户统计 | | cpzxrobot().car.stat.china | 获得车辆在全国的统计信息 | | cpzxrobot().car.listByProvince | 获得车辆在某个省的统计信息,传入province参数 | | cpzxrobot().car.listByCity | 获得车辆在某个市的统计信息,传入city参数 | | cpzxrobot().car.listByDistrict | 获得车辆在某个区域的统计信息,传入district参数 | | cpzxrobot().car.orders | 获得车辆运单列表,传入工厂(按工厂上级返回) | | cpzxrobot().car.ordersByFactory | 获得车辆运单列表,传入工厂,按工厂id返回 ,只返回未分配的运单 | | cpzxrobot().news.add | 添加新闻 | | cpzxrobot().news.list | 获得新闻列表,传入必要的分页参数 | | cpzxrobot().news.alarm.add | 添加报警信息 | | cpzxrobot().news.alarm.list | 获得报警列表,传入必要的分页参数 | | cpzxrobot().getGeo | 获得地理位置信息 | | cpzxrobot().logs.operations | 获得操作日志列表,传入必要的参数 | | cpzxrobot().robot.cage | 获得栏位信息 | | cpzxrobot().robot.alarm | 获得报警信息,传入必要的参数 | | cpzxrobot().ai.detechDeviceType | 使用AI匹配设备类型 |

工厂信息接口

cpzxrobot().factory.workshops(factory_id)

获得工厂的所有车间

入参:

factory_id: 工厂id

cpzxrobot().factory.units(factory_id)

获得工厂的所有单元

入参:

factory_id: 工厂id

摄像头相关

cpzxrobot().camera.search(args)

搜索摄像头

入参:

入参为json object,可接受多种参数中的一个

如果入参为:{unit_id:xxx}则按单元搜索

如果入参为:{factory_id:xxx}则按工厂搜索

如果入参为:{workshop_id:xxx}则按车间搜索

如果入参为Unit对象,则按Unit对象的id进行搜索

app功能相关

cpzxrobot().saveBlob(blob,filname)

保存blob为文件

cpzxrobot().saveBase64(base64,filename)

保存Base64内容为文件

保温灯相关接口

heatlamp 属性提供了一组方法,用于管理猪场的热灯配置。它包含以下方法:

cpzxrobot().pigfarm.heatlamp.add(unit, data):添加新的热灯配置。 cpzxrobot().pigfarm.heatlamp.list(unit):列出指定单元的所有热灯配置。 cpzxrobot().pigfarm.heatlamp.get(id):获取指定 ID 的热灯配置。 cpzxrobot().pigfarm.heatlamp.update(lamp):更新热灯配置。

巡检任务相关接口

以下是更新后的巡检任务相关接口,分组在 cpzxrobot().taskcpzxrobot().record 命名空间下:

任务管理 (cpzxrobot().task)

  1. 获取任务列表

    cpzxrobot().robot.task.list(unitId: number)
    • 描述:获取指定单元的巡检任务列表
    • 参数:unitId - 单元ID
    • HTTP方法:GET
    • 接口路径:/api/v2/robot/inspectTask/list/{unitId}
  2. 新增任务

    cpzxrobot().robot.task.add(data: any)
    • 描述:添加新的巡检任务
    • 参数:data - 包含任务信息的对象
    • HTTP方法:POST
    • 接口路径:/api/v2/robot/inspectTask/add
  3. 修改任务

    cpzxrobot().robot.task.update(data: any)
    • 描述:更新现有的巡检任务
    • 参数:data - 包含更新信息的对象
    • HTTP方法:POST
    • 接口路径:/api/v2/robot/inspectTask/update
  4. 删除任务

    cpzxrobot().robot.task.delete(id: number)
    • 描述:删除指定的巡检任务
    • 参数:id - 任务ID
    • HTTP方法:POST
    • 接口路径:/api/v2/robot/inspectTask/delete/{id}
  5. 下发任务

    cpzxrobot().robot.task.dispatch(taskId: number)
    • 描述:下发指定的巡检任务
    • 参数:taskId - 任务ID
    • HTTP方法:POST
    • 接口路径:/api/v2/robot/inspectTask/dispatch/{taskId}

巡检记录 (cpzxrobot().record)

  1. 获取巡检结果
    cpzxrobot().robot.record.list(taskId: number)
    • 描述:获取指定巡检任务的结果列表
    • 参数:taskId - 任务ID
    • HTTP方法:GET
    • 接口路径:/api/v2/robot/inspectRecord/list/{taskId}

注意:对于POST请求的接口,body参数统一使用 any 类型,具体参数结构需要根据实际API要求进行定义。

日志管理

操作日志

// 查询操作日志
cpzxrobot().logs.operations({
  userId?: number,
  module?: string,
  action?: string,
  startTime?: string, // YYYY-MM-DD
  endTime?: string,   // YYYY-MM-DD
  page?: number,
  size?: number
})

// 获取设备操作日志
cpzxrobot().device.logs({
  deviceId: number,
  startTime?: string,
  endTime?: string
})

报警日志

// 添加报警信息
cpzxrobot().news.alarm.add({
  deviceId: number,
  type: string,
  level: 'info'|'warning'|'error',
  message: string
})

// 获取报警列表
cpzxrobot().news.alarm.list({
  deviceId?: number,
  type?: string,
  resolved?: boolean,
  startTime?: string,
  endTime?: string,
  page?: number,
  size?: number
})

// 标记报警为已处理
cpzxrobot().news.alarm.resolve(alarmId)

系统日志

// 获取系统运行日志
cpzxrobot().logs.system({
  level?: 'info'|'warning'|'error',
  startTime?: string,
  endTime?: string,
  page?: number,
  size?: number
})

// 获取API调用日志
cpzxrobot().logs.api({
  path?: string,
  statusCode?: number,
  startTime?: string,
  endTime?: string
})

// 获取登录日志
cpzxrobot().logs.login({
  userId?: number,
  success?: boolean,
  startTime?: string,
  endTime?: string
})

巡检任务日志

// 获取巡检任务日志
cpzxrobot().robot.task.logs({
  taskId?: number,
  unitId?: number,
  status?: 'pending'|'in_progress'|'completed'|'failed',
  startTime?: string,
  endTime?: string
})

// 获取巡检记录详情
cpzxrobot().robot.record.details(recordId)

附录

通用参数说明

  • 所有列表查询接口都支持以下分页参数:
    • page: 页码(从1开始)
    • size: 每页数量(默认10)
  • 时间范围参数格式: YYYY-MM-DD
  • 所有ID参数均为数字类型

错误处理

所有接口调用错误都会返回统一格式:

{
  code: number,    // 错误码
  message: string, // 错误信息
  details?: any    // 错误详情(可选)
}

常见错误码

  • 400: 参数错误
  • 401: 未授权
  • 403: 权限不足
  • 404: 资源不存在
  • 500: 服务器错误