{ "code": 0, "msg": null, "data": [ { "productId": null, "children": [ { "productId": "2019296600419340289", "productNameEn": "elevator", "productName": "电梯", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2019296519146311681", "productNameEn": "vehicle", "productName": "车辆识别", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018978676756332545", "productNameEn": "door_lock", "productName": "门锁", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018978571475107841", "productNameEn": "air-switch", "productName": "空气开关", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018976858823344129", "productNameEn": "wristban", "productName": "手环", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018976009908797441", "productNameEn": "recognizer", "productName": "识别器", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018969974410309633", "productNameEn": "cabinet-lock", "productName": "柜锁", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018954460048912385", "productNameEn": "wigan", "productName": "韦根", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018937813758013442", "productNameEn": "reader", "productName": "读头", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018646961491968002", "productNameEn": "base-station", "productName": "基站", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": "2018645932016828417", "productNameEn": "gateway", "productName": "网关", "categoryId": "2018612484376014849", "typeCode": "111", }, ], "categoryName": "测试1", "categoryId": "2018612484376014849", "typeCode": "111", }, { "productId": null, "children": [ { "productId": "2019337895955329026", "productNameEn": "school_bus", "productName": "校车", "categoryId": "2018623083457794050", "typeCode": "777555", }, { "productId": "2018940636990173185", "productNameEn": "circuit-breaker", "productName": "断路器", "categoryId": "2018623083457794050", "typeCode": "777555", }, ], "categoryName": "测试2", "categoryId": "2018623083457794050", "typeCode": "777555", }, { "productId": null, "children": [ { "productId": "2019302796740136962", "productNameEn": "tradition_wristban", "productName": "传统手环", "categoryId": "2019302407156404226", "typeCode": "555666", }, { "productId": "2019302708227739649", "productNameEn": "bluetooth_wristban", "productName": "蓝牙手环", "categoryId": "2019302407156404226", "typeCode": "555666", }, ], "categoryName": "手环", "categoryId": "2019302407156404226", "typeCode": "555666", }, ], "ok": true, } # %% import os os.add_dll_directory(os.getcwd()) import random import string import sys import importlib.util from typing import Any, Dict from pctoken import get_token from requests import post, get from faker import Faker fake = Faker("zh_CN") # %% BASE_URL = "http://192.168.0.209:9999" data = get_token(BASE_URL, "admin", "123456") TOKEN = data.get("access_token", "") print(TOKEN) headers = { "Authorization": f"Bearer {TOKEN}", "hx-client": "hongxapp", } # %% # air-switch DEVICE_AIR_SWITCH_CREATE = "/admin/device/air-switch" for i in range(20): air_switch_sn = random.randint(1000000000000000, 9999999999999999) air_switch_body = { "productId": "2018978571475107841", "deviceSn": air_switch_sn, "deviceName": f"智能空开-{fake.word()}", "deviceIp": fake.ipv4(), "connectedRouter": fake.ipv4(), "installLocation": fake.address(), "switchStatus": random.choice([0, 1]), "status": 0, "remark": fake.sentence(nb_words=6), } res = post( BASE_URL + DEVICE_AIR_SWITCH_CREATE, headers=headers, json=air_switch_body ) print(res.text) # %% # base-station DEVICE_STATION_CREATE = "/admin/device/station" for i in range(20): station_sn = random.randint(1000000000000000, 9999999999999999) station_body = { "productId": "2018646961491968002", "deviceSn": station_sn, "deviceName": f"基站-{fake.word()}", "deviceIp": fake.ipv4(), "connectedRouter": fake.ipv4(), "deviceType": "1", "installLocation": fake.address(), "deviceKey": random.randint(1000000000000000, 9999999999999999), "remark": fake.sentence(nb_words=6), "status": 0, } res = post(BASE_URL + DEVICE_STATION_CREATE, headers=headers, json=station_body) print(res.text) # %% # cabinet-lock(依赖 stationId) DEVICE_CABINET_LOCK_CREATE = "/admin/netdevice/device-cabinet-lock" for i in range(20): cabinet_lock_no = random.randint(1000000000000000, 9999999999999999) cabinet_lock_body = { "productId": "2018969974410309633", "lockNo": cabinet_lock_no, "deviceName": f"柜锁-{fake.city()}", "status": random.choice([0, 1, 2]), "isBoundToDoor": random.choice([0, 1]), "type": random.choice(["1", "2"]), "remark": fake.sentence(), } res = post( BASE_URL + DEVICE_CABINET_LOCK_CREATE, headers=headers, json=cabinet_lock_body ) print(res.text) # %% # gateway DEVICE_GATEWAY_CREATE = "/admin/device/gateway" for i in range(20): gateway_sn = random.randint(1000000000000000, 9999999999999999) gateway_body = { "productId": "2018645932016828417", "deviceSn": gateway_sn, "deviceName": f"网关-{fake.city()}", "deviceIp": fake.ipv4(), "connectedRouter": fake.ipv4(), "deviceType": random.choice(["door_lock_gateway", "other_gateway"]), "installLocation": fake.address(), "deviceChannel": str(random.randint(1, 16)), "remark": fake.sentence(nb_words=6), "status": 0, } res = post(BASE_URL + DEVICE_GATEWAY_CREATE, headers=headers, json=gateway_body) print(res.text) # %% # door_lock(依赖 gatewayId) DEVICE_LOCK_CREATE = "/admin/device/lock" for i in range(20): lock_no = random.randint(1000000000000000, 9999999999999999) door_lock_body = { "productId": "2018978676756332545", "lockNo": lock_no, "deviceName": f"门锁-{fake.city()}", "gatewayId": random.choice(["9169811239367567", "7754060128201993"]), "status": random.choice([0, 1, 2]), "hasExtractFunction": 0, "hasPassword": 1, "password": random.randint(100000, 999999), "isBoundToDoor": random.choice([0, 1]), "remark": fake.sentence(), } res = post(BASE_URL + DEVICE_LOCK_CREATE, headers=headers, json=door_lock_body) print(res.text) # %% # circuit-breaker(依赖 airSwitchId,通常是 air-switch 的 deviceSn) DEVICE_CIRCUIT_BREAKER_CREATE = "/admin/device/circuit-breaker" for i in range(20): breaker_no = random.randint(1000000000000000, 9999999999999999) circuit_breaker_body = { "productId": "2018940636990173185", "breakerNo": breaker_no, "deviceName": f"断路器-{fake.city()}", "airSwitchId": random.choice( [ 1582072120398342, 1644746172859060, 2574410292808179, 2776742625637816, 3207386695301040, 3674583763875269, 3849211969830226, ] ), "status": random.choice([0, 1, 2]), "nodeCount": random.randint(1, 8), "remark": fake.sentence(), } res = post( BASE_URL + DEVICE_CIRCUIT_BREAKER_CREATE, headers=headers, json=circuit_breaker_body, ) print(res) # %% # elevator DEVICE_LIFT_CREATE = "/admin/device/lift" for i in range(20): lift_sn = random.randint(1000000000000000, 9999999999999999) elevator_body = { "productId": "2019296600419340289", "deviceSn": lift_sn, "deviceName": f"梯控-{fake.city()}", "deviceIp": fake.ipv4(), "deviceNo": str(random.randint(1, 9999)), "connectedRouter": fake.ipv4(), "installLocation": fake.address(), "deviceMode": random.choice([0, 1]), "status": random.choice([0, 1]), "remark": fake.sentence(), } res = post(BASE_URL + DEVICE_LIFT_CREATE, headers=headers, json=elevator_body) print(res.text) # %% # vehicle DEVICE_VEHICLE_CREATE = "/admin/device/vehicle" for i in range(20): vehicle_sn = random.randint(1000000000000000, 9999999999999999) vehicle_body = { "productId": "2019296519146311681", "deviceSn": vehicle_sn, "deviceName": f"车辆设备-{fake.city()}", "deviceIp": fake.ipv4(), "connectedRouter": fake.ipv4(), "deviceNo": str(random.randint(1, 9999)), "installLocation": fake.address(), "remark": fake.sentence(nb_words=6), "status": random.choice([0, 1]), } res = post(BASE_URL + DEVICE_VEHICLE_CREATE, headers=headers, json=vehicle_body) print(res.text) # %% # reader DEVICE_READER_CREATE = "/admin/device/reader" for i in range(20): reader_no = random.randint(1000000000000000, 9999999999999999) reader_body = { "productId": "2018937813758013442", "readerNo": reader_no, "deviceName": f"读头-{fake.city()}", "deviceSn": random.choice( [ "4395863208063177", "4507620338768596", "4525465159473066", "5123044738057092", "5138054588855177", "5183699874143289", "5287117187640740", "5462074601573078", "6497478658104596", "6566629050320440", "6694612533818614", "6790065482367945", "7197073294560282", "7403435624676403", "7471664598236084", "7856765426748316", "8049877407436250", "8580359496001971", "8693901920738335", "8770253509179521", "8969126999259935", "8995277348047315", "9036644215670448", "9242517627258907", ] ), "deviceWeigengName": random.choice( [ "3991174509065581", "4443732147129234", "4452687293776438", "4574669744572919", "5179325299441845", "5205102639206670", "5219766583478496", "5726539153999514", "5748607175944076", "6353723150878385", "6363184644999826", "6374957876680257", "6624601507335739", "6753190058729790", "6772927867754962", "6856769083289203", "6913876972860350", "7047373159961839", "7304404323678071", "8095618128747104", "8114941815818391", "9042734145575960", "9100122124868847", ] ), "status": random.choice([0, 1, 2]), "inOutStatus": random.choice([0, 1]), "remark": fake.sentence(), } res = post(BASE_URL + DEVICE_READER_CREATE, headers=headers, json=reader_body) print(res.text) # %% # recognizer(依赖 deviceSn,通常是基站 deviceSn) DEVICE_RECOGNIZER_CREATE = "/admin/device/recognizer" for i in range(20): recognizer_no = random.randint(1000000000000000, 9999999999999999) recognizer_body = { "productId": "2018976009908797441", "recognizerNo": recognizer_no, "deviceName": f"识别器-{fake.city()}", "deviceSn": random.choice( [ "8580359496001971", "3548057972567292", "4214139409397043", "4525465159473066", "3693107917636902", "8770253509179521", "3321970154630762", "8693901920738335", "8049877407436250", "4382530155992156", "5123044738057092", "4395863208063177", "2411282157269000", "3256701932888562", "9718641970097762", "7197073294560282", "2376641311995328", "6497478658104596", "6566629050320440", "8995277348047315", "5287117187640740", "3165966423462843", ] ), "status": random.choice([0, 1]), "remark": fake.sentence(), } res = post( BASE_URL + DEVICE_RECOGNIZER_CREATE, headers=headers, json=recognizer_body ) print(res.text) # %% # wristban DEVICE_WRISTBAND_CREATE = "/admin/device/wristband" for i in range(200): wristband_no = random.randint(1000000000, 9999999999) wristband_mac = fake.mac_address() wristband_body = { "productId": random.choice( [ "2019302796740136962", "2019302708227739649", ] ), "wristbandNo": wristband_no, "wristbandMac": wristband_mac, "status": str(random.choice([0, 1, 2, 3])), } res = post(BASE_URL + DEVICE_WRISTBAND_CREATE, headers=headers, json=wristband_body) print(res.text) # %% # wigan(同 /admin/device/station,可视为另一种 station 数据) for i in range(20): wigan_sn = random.randint(1000000000000000, 9999999999999999) wigan_body = { "productId": "2018954460048912385", "deviceSn": wigan_sn, "deviceName": f"微耕-{fake.city()}", "deviceIp": fake.ipv4(), "connectedRouter": fake.ipv4(), "installLocation": fake.address(), "readerCount": random.randint(1, 8), "remark": fake.sentence(), "status": random.choice([0, 1]), } res = post(BASE_URL + "/admin/device/weigeng", headers=headers, json=wigan_body) print(res.text) # %% # school-bus for i in range(20): shool_bus = { "productId": "2019337895955329026", "deviceSn": random.randint(1000000000000000, 9999999999999999), "deviceName": f'校车-{fake.city()}', "deviceIp": fake.ipv4(), "connectedRouter": fake.ipv4(), "simNo": random.randint(1000000000000000, 9999999999999999), "simTime": fake.date_time_this_year().strftime("%Y-%m-%d %H:%M:%S"), "installLocation": fake.address(), "remark": fake.sentence(), "status": random.choice([0, 1]), } res = post(BASE_URL + "/admin/device/school-bus", headers=headers, json=shool_bus) print(res.text) # %%