/**
 * 设备状态 API 服务
 */

class DeviceStatusServer {
    /**
     * 分页查询设备状态
     * @param {Object} param - 查询参数
     * @param {Object} param.seachOption - 搜索条件
     * @param {Object} param.pageOption - 分页选项
     * @returns {Promise}
     */
    page(param) {
        return window.framework.http.post('/device/list', param)
    }

    /**
     * 获取设备详情
     * @param {String} deviceSn - 设备SN码
     * @returns {Promise}
     */
    getById(deviceSn) {
        return window.framework.http.post('/device/detail', { deviceSn })
    }

    /**
     * 获取设备概览统计
     * @returns {Promise}
     */
    getOverview() {
        return window.framework.http.get('/device/overview')
    }

    /**
     * 更新设备配置
     * @param {Object} data - 设备配置数据
     * @returns {Promise}
     */
    updateConfig(data) {
        return window.framework.http.post('/device/update-config', data)
    }

    /**
     * 重置设备错误
     * @param {String} deviceSn - 设备SN码
     * @returns {Promise}
     */
    resetError(deviceSn) {
        return window.framework.http.post('/device/reset-error', { deviceSn })
    }

    /**
     * 删除设备记录
     * @param {Object} row - 设备数据
     * @returns {Promise}
     */
    del(row) {
        return window.framework.http.post('/device/delete', { deviceSn: row.deviceSn })
    }
}

export default new DeviceStatusServer()
