index.js 3.9 KB
class ConfigurationNodeApi {
    /**
     * @description 获取组态信息
     * @param {'CONFIGURE' | 'CONTENT' | 'NODE'} levelType - 组态资源类型
     * @param {string} levelId - 组态资源ID
     */
    static getConfigurationInfo(levelType, levelId) {
        return defHttp.get(`/yt/configuration/node/${ levelType }/${ levelId }`)
    }

    /**
     * @description 获取组织节点树
     * @returns
     */
    static getOrgTree() {
        return defHttp.get('/yt/organization/me/list')
    }

    /**
     * @description 通过设备ID 获取 设备属性
     * @param tbDeviceId
     * @returns {Promise<*>}
     */
    static getDeviceAttr(tbDeviceId) {
        return defHttp.get(`/plugins/telemetry/DEVICE/${ tbDeviceId }/keys/timeseries`)
    }

    /**
     * @description 获取组织下的设备
     * @param {'DIRECT_CONNECTION' | 'GATEWAY' | 'SENDOR'} deviceType - 'DIRECT_CONNECTION' 直连设备 'GATEWAY' 网关设备 'SENDOR' 传感器
     * @param {string} orgId - 组织ID
     * @returns {Promise<*>}
     */
    static getDeviceUnderTheOrg(deviceType, orgId) {
        return defHttp.get(`/yt/device/list/${ deviceType }?organizationId=${ orgId }`)
    }

    /**
     * @description 获取所有的网关设备和直连设备
     * @param {string} orgId 
     * @returns 
     */
    static getAllGatewayDeviceAndConnectionDevice(orgId) {
        return defHttp.get(`/yt/device/list/master/${orgId}`)
    }

    /**
     * @description 查询设备的子设备
     * @param deviceId 设备ID
     * @returns {Promise<*>}
     */
    static getDeviceChildDevice(deviceId) {
        return defHttp.get(`/yt/device/relation?page=1&pageSize=10&fromId=${ deviceId }`)
    }

    /**
     * @description 查询所有主设备列表
     * @param orgId
     * @returns {Promise<*>}
     */
    static getMasterDevice(orgId) {
        return defHttp.get(`/yt/device/list/master/${ orgId }`)
    }

    /**
     * @description 查询所有从设备
     * @param orgId
     * @param masterDeviceId
     * @returns {Promise<*>}
     */
    static getSlaveDevice(orgId, masterDeviceId) {
        return defHttp.get(`/yt/device/list/slave/${ orgId }?masterId=${ masterDeviceId }`)
    }

    /**
     * @description 编辑数据交互
     */
    static updateNodeEvent(data) {
        return defHttp.post('/yt/configuration/node/event', data)
    }

    /**
     * @description 编辑动画效果
     * @param {*} data
     * @returns
     */
    static updateNodeAct(data) {
        return defHttp.post('/yt/configuration/node/act', data)
    }

    /**
     * @description 更新节点绑定信息
     * @param {*} data
     * @returns
     */
    static updateNodeInfo(data) {
        return defHttp.post('/yt/configuration/node', data)
    }

    /**
     * @description 下发指令 单向
     * @param {string} deviceId - tbDeviceId
     * @param {object} data - 数据
     */
    static sendInstructionOneWay(deviceId, data) {
        return defHttp.post(`/rpc/oneway/${ deviceId }`, data)
    }

    /**
     * @description 下发指令 单向
     * @param {string} deviceId - tbDeviceId
     * @param {object} data - 数据
     */
    static sendInstructionTwoWay(deviceId, data) {
        return defHttp.post(`/rpc/twoway/${ deviceId }`, data)
    }

    /**
     * @description 下发指令
     * @param {'oneway' | 'twoway'} way
     * @param deviceId
     * @param data
     * @return {*}
     */
    static sendInstruction(way,deviceId, data) {
        return defHttp.post(`/rpc/${way}/${ deviceId }`, data)
    }

    /**
     * @description 判断设备是否在线
     * @param deviceId
     * @return {*}
     */
    static deviceIsOnLine(deviceId){
        return defHttp.get(`/plugins/telemetry/DEVICE/${deviceId}/values/attributes?keys=active`)
    }

    /**
     * @description 上传图片
     * @param data
     * @returns {*}
     */
    static uploadImg(data){
        return defHttp.post('/yt/oss/upload', data)
    }
}