指令列表
租电指令
比*安租电指令(OK)
500指令下发
{
"devId": "BTA08012303109",
"txnNo": 1735796672737,
"msgType": 500,
"paramList": [
{
"extVal": "findBtSn=BT306005012LSTL24012700036",
"id": "02301001",
"userId": "241002134422210572030",
"value": "11"
}
]
}
510指令回复
{
"devId": "BTA08012303109",
"result": 1,
"txnNo": 1735796672737,
"msgType": 501,
"extVal": "errorCode=0&fullBoxId=7&fullBtSn=BT306005012LSTL24012700036&fullBtSoc=38&fullBtVol=63.22"
}
410指令上报(02301001)
{
"devId": "BTA08012303109",
"txnNo": 1735796662130,
"msgType": 410,
"alarmList": [
{
"alarmDesc": "11",
"batteryId": "BT306005012LSTL24012700036",
"alarmTime": 1735796662130,
"extVal": "emptyBtSn=&emptyBtSoc=0&emptyBtVol=0.00&fullBtSn=&fullBtSoc=0&fullBtVol=0.00",
"id": "02301001",
"doorId": "7",
"userId": "241002134422210572030",
"alarmFlag": 0
}
]
}
410最终指令上报(02008001)
{
"devId": "BTA08012303109",
"txnNo": 1735796683630,
"msgType": 410,
"alarmList": [
{
"alarmDesc": "26",
"alarmTime": 1735796683590,
"id": "02008001",
"doorId": "7",
"userId": "241002134422210572030",
"alarmFlag": 0
}
]
}
智*租电指令(OK)
500指令下发
{
"devId": "DEV202113",
"txnNo": 1735798313183,
"msgType": 500,
"paramList": [
{
"rentDoorID": "3",
"batteryId": "BT306005012LSTL22052700023",
"id": "02301001",
"value": "11",
"userId": "241002141144700572041"
}
]
}
410指令上报
{
"devId": "DEV202113",
"txnNo": "1735798342806",
"msgType": 410,
"alarmList": [
{
"alarmDesc": "32",
"rentDoorId": "3",
"rentBatteryId": "BT306005012LSTL22052700023",
"alarmTime": "1735798342806",
"id": "02008002",
"userId": "241002141144700572041",
"alarmFlag": 0,
"rentBatterySoc": "60"
}
]
}
*创租电指令(OK)
租电因为无法指定仓门,调用开仓指令
*酷租电指令(OK)
500指令下发
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737080879035,
"paramList": [
{
"recordId": "241002141144700572041",
"batteryId": "BT306005012LSTL22052700023",
"id": "switchControl",
"doorId": 1,
"userId": "241002141144700572041",
"value": "11"
}
]
}
410指令上报
{
"alarmList": [
{
"alarmDesc": "26",
"alarmFlag": 0,
"alarmTime": 1737426979992,
"fullBatsoc": "100",
"fullBatteryId": "BT306004012LNHY231904009",
"fullDoorID": "6",
"id": "switchFinish",
"recordId": "241021103554426558232",
"userId": "241021103554426558232"
}
],
"devId": "YK60120LNHY24034001",
"msgType": 410,
"txnNo": "1737426979994"
}
换电指令
比*安换电指令(OK)
500指令下发(02301001)
{
"devId": "BTA08002208016",
"txnNo": 1735797336710,
"msgType": 500,
"paramList": [
{
"batteryId": "BT306005012LSTL22052800019",
"extVal": "findBtSn=BT306005012LSTL22042800058", //寻找具体电池
"id": "02301001",
"userId": "TS202410021355366507428954",
"value": "01"
}
]
}
501指令回复上报
{
"devId": "BTA08002208016",
"result": 2,
"txnNo": 1735797336710,
"msgType": 501,
"extVal": "emptyBoxId=5&errorCode=0&fullBoxId=3&fullBtSn=BT306005012LSTL22042800058&fullBtSoc=52&fullBtVol=65.03"
}
410指令上报(电池绑定或解绑才有)
{
"devId": "BTA08002208016",
"txnNo": 1735797359802,
"msgType": 410,
"alarmList": [
{
"alarmDesc": "03",
"batteryId": "BT306005012LSTL22042800058",
"alarmTime": 1735797359802,
"extVal": "emptyBtSn=&emptyBtSoc=0&emptyBtVol=0.00&fullBtSn=&fullBtSoc=0&fullBtVol=0.00",
"id": "02301001",
"doorId": "3",
"userId": "TS202410021355366507428954",
"alarmFlag": 0
}
]
}
410最终指令上报(02008001)
{
"devId": "BTA08002208016",
"txnNo": 1735797368031,
"msgType": 410,
"alarmList": [
{
"alarmDesc": "26",
"alarmTime": 1735797368030,
"id": "02008001",
"doorId": "3",
"userId": "TS202410021355366507428954",
"alarmFlag": 0
}
]
}
智*换电指令(OK)
500指令下发(02301001)
{
"devId": "DEV202113",
"txnNo": 1735799714309,
"msgType": 500,
"paramList": [
{
"emptyDoorID": "5", // 空仓
"batteryId": "BT306005012LSTL24011200010", // 放入电池
"id": "02301001",
"fullDoorID": "1", // 换出仓
"sTSnBattery": "0",
"value": "01",
"userId": "TS202410021435140757429377"
}
]
}
410最终指令上报(02008001)
{
"devId": "DEV202113",
"txnNo": "1735799752147",
"msgType": 410,
"alarmList": [
{
"alarmDesc": "26",
"fullBatteryId": "BT306005012LSTL23081100042",
"emptBatteryId": "BT306005012LSTL24011200010",
"fullBatsoc": "100",
"alarmTime": "1735799752147",
"emptDoorID": "5",
"id": "02008001",
"fullDoorID": "1",
"userId": "TS202410021435140757429377",
"alarmFlag": 0,
"emptBatsoc": "30"
}
]
}
*创换电指令(OK)
500指令下发
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737023572976,
"paramList": [
{
"batteryId": "BT306004012LNHY231901881",
"id": "switchControl",
"sTSnBattery": 1,
"userId": "TS202410161832521255328845",
"value": "01"
}
]
}
410最终指令上报
{
"alarmList": [
{
"alarmDesc": "26",
"alarmFlag": 0,
"alarmTime": 1737023622000,
"doorId": 2,
"doorSta": "0",
"emptBatsoc": "100",
"emptBatteryId": "BT306004012LNHY231901881",
"emptDoorID": "4",
"fullBatsoc": "99",
"fullBatteryId": "BT306004012LNHY231904634",
"fullDoorID": "2",
"id": "switchFinish",
"slaveSta": "0",
"userId": "TS202410161832521255328845"
}
],
"devId": "DC7210808LH23120702",
"msgType": 410,
"txnNo": "1737023572970"
}
*酷换电指令(OK)
500指令下发
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737082091096,
"paramList": [
{
"recordId": "241002141144700572041",
"batteryAry": [
"BT306005012LSTL24011200011"
],
"fullBatteryAry": [
{
"batteryId": "BT306005012LSTL24011200010",
"doorId": 2
}
],
"id": "switchControl",
"userId": "241002141144700572041",
"doorId": 1,
"value": "01"
}
]
}
410指令上报
{
"alarmList": [
{
"alarmDesc": "26",
"alarmFlag": 0,
"alarmTime": 1737426698986,
"emptBatsoc": "100",
"emptBatteryId": "BT306004012LNHY231874435",
"emptDoorID": "5",
"fullBatsoc": "100",
"fullBatteryId": "BT306004012LNHY231904009",
"fullDoorID": "6",
"id": "switchFinish",
"recordId": "TS202410211030545695328849",
"userId": "TS202410211030545695328849"
}
],
"devId": "YK60120LNHY24034001",
"msgType": 410,
"txnNo": "1737426698989"
}
还电指令
比*安还电指令(OK)
500指令下发
{
"devId": "BTA08012303110",
"txnNo": 1735705358618,
"msgType": 500,
"paramList": [
{
"batteryId": "BT306005012LSTL23071300036",
"id": "02301001",
"userId": "241001120323305571690",
"value": "12"
}
]
}
501指令上报
{
"devId": "BTA08012303110",
"result": 1,
"txnNo": 1735705358618,
"msgType": 501,
"extVal": "emptyBoxId=7&errorCode=0"
}
410指令上报
{
"devId": "BTA08012303110",
"txnNo": 1735705390010,
"msgType": 410,
"alarmList": [
{
"alarmDesc": "12",
"batteryId": "BT306005012LSTL23071300036",
"alarmTime": 1735705390010,
"id": "02301001",
"doorId": "7",
"userId": "241001120323305571690",
"alarmFlag": 0
}
]
}
智*还电指令(OK)
500指令下发
{
"devId": "DEV202113",
"txnNo": 1735734136193,
"msgType": 500,
"paramList": [
{
"batteryId": "BT306005012LSTL23052000055",
"returnDoorID": "1",
"id": "02301001",
"value": "12",
"userId": "241001201500560571824"
}
]
}
410指令上报
{
"devId": "DEV202113",
"txnNo": "1735734197045",
"msgType": 410,
"alarmList": [
{
"alarmDesc": "43",
"returnBatteryId": "BT306005012LSTL23052000055",
"alarmTime": "1735734197045",
"returnDoorId": "1",
"id": "02008003",
"userId": "241001201500560571824",
"alarmFlag": 0
}
]
}
*创还电指令(OK)
500指令下发:
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737023705588,
"paramList": [
{
"batteryId": "BT306004012LNHY231904634",
"id": "switchControl",
"userId": "241016174758525558227",
"value": "12"
}
]
}
400指令上报:
{
"alarmList": [
{
"alarmDesc": "26",
"alarmFlag": 0,
"alarmTime": 1737023733000,
"doorId": 5,
"doorSta": "0",
"emptBatsoc": "99",
"emptBatteryId": "BT306004012LNHY231904634",
"emptDoorID": "5",
"fullBatsoc": "",
"fullBatteryId": "",
"fullDoorID": "",
"id": "switchFinish",
"slaveSta": "0",
"userId": "241016174758525558227"
}
],
"devId": "DC7210808LH23120702",
"msgType": 410,
"txnNo": "1737023705580"
}
*酷还电指令(OK)
500指令下发
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737082179646,
"paramList": [
{
"recordId": "241002141144700572041",
"batteryAry": [
"BT306005012LSTL24011200010"
],
"id": "switchControl",
"userId": "241002141144700572041",
"doorId": 1,
"value": "12"
}
]
}
400指令上报
{
"alarmList": [
{
"alarmDesc": "28",
"alarmFlag": 0,
"alarmTime": 1737426812896,
"emptBatsoc": "100",
"emptBatteryId": "BT306004012LNHY231904009",
"emptDoorID": "6",
"id": "switchFinish",
"recordId": "241020182252798558231",
"userId": "241020182252798558231"
}
],
"devId": "YK60120LNHY24034001",
"msgType": 410,
"txnNo": "1737426812898"
}
开仓指令
比*安开仓指令(OK)
{
"devId": "BTA08002208013",
"txnNo": 1735803184519,
"msgType": 500,
"paramList": [
{
"id": "02301001",
"doorId": "8",
"value": "04"
}
]
}
智*开仓指令(OK)
{
"devId": "DEV202113",
"txnNo": "1735803433071",
"msgType": 500,
"paramList": [
{
"id": "02301001",
"value": "04",
"doorId": 4
}
]
}
{"devId":"DEV202113","result":1,"txnNo":"1735803433071","msgType":501}
*创开仓指令(OK)
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737018498850,
"paramList": [
{
"id": "switchControl",
"value": "04",
"doorId": 3
}
]
}
*酷开仓指令(OK)
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737018498850,
"paramList": [
{
"id": "switchControl",
"value": "04",
"doorId": 3
}
]
}
禁仓仓门指令
比*安禁仓指令(OK)
{
"devId": "BTA08012302084",
"txnNo": 1735801089235,
"msgType": 500,
"paramList": [
{
"id": "02301001",
"doorId": "5",
"value": "06"
}
]
}
{
"devId": "BTA08012302084",
"result": 1,
"txnNo": 1735801089235,
"msgType": 501,
"extVal": "errorCode=0"
}
智*禁仓指令(OK)
{
"devId": "700001342",
"txnNo": 1735795043907,
"msgType": 500,
"paramList": [
{
"id": "02301001",
"value": "06",
"doorId": 2
}
]
}
*创禁仓指令(OK)
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737019449695,
"paramList": [
{
"id": "switchControl",
"value": "06",
"doorId": 6
}
]
}
*酷禁仓指令(OK)
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737019449695,
"paramList": [
{
"id": "switchControl",
"value": "06",
"doorId": 6
}
]
}
启用仓门指令
比*安启用仓门指令(OK)
{
"devId": "BTA08002208013",
"txnNo": 1735802733354,
"msgType": 500,
"paramList": [
{
"id": "02301001",
"doorId": "4",
"value": "07"
}
]
}
{
"devId": "BTA08002208013",
"result": 1,
"txnNo": 1735802733354,
"msgType": 501,
"extVal": "errorCode=0"
}
智*启用仓门指令(OK)
{
"devId": "700001341",
"txnNo": 1735803279703,
"msgType": 500,
"paramList": [
{
"id": "02301001",
"value": "07",
"doorId": 1
}
]
}
*创启用仓门指令(OK)
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737019526026,
"paramList": [
{
"id": "switchControl",
"value": "07",
"doorId": 6
}
]
}
*酷启用仓门指令(OK)
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737019526026,
"paramList": [
{
"id": "switchControl",
"value": "07",
"doorId": 6
}
]
}
音量设置指令
比*安音量设置指令(OK)
设置音量
{
"devId": "BTA08002204001",
"txnNo": 1735804515907,
"msgType": 230,
"paramList": [
{
"id": "18801003",
"value": "100"
}
]
}
下发音量查询
{
"devId": "BTA08002204001",
"txnNo": 1735804594660,
"msgType": 210,
"paramList": [
{
"id": "18801003"
}
]
}
音量查询回复
{
"devId": "BTA08002204001",
"txnNo": 1735804594660,
"msgType": 211,
"paramList": [
{
"id": "18801003",
"value": "100"
}
]
}
智*音量设置指令(OK)
设置音量
{
"devId": "DEV202113",
"txnNo": "1735806695090",
"msgType": 500,
"paramList": [
{
"id": "swTSbVolControl",
"value": "100"
}
]
}
获取音量设置
{
"devId": "DEV202113",
"txnNo": "1735804368826",
"msgType": 210,
"paramList": [
{
"id": "swTSbVolControl"
}
]
}
获取音量配置
{
"devId": "DEV202113",
"result": 0,
"txnNo": "1735806714846",
"msgType": 211,
"resultList": [
{
"id": "swTSbVolControl",
"value": "100"
}
]
}
*创音量设置指令(OK)
500指令下发
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737429801552,
"paramList": [
{
"id": "swTSbVolControl",
"value": "90"
}
]
}
210刷新指令下发
{
"devId": "DC7210808LH23120702",
"msgType": 210,
"txnNo": 1737429803761,
"paramList": [
{
"id": "swTSbVolControl"
}
]
}
211指令上报
{
"devId": "DC7210808LH23120702",
"msgType": 211,
"result": 1,
"resultList": [
{
"id": "swTSbVolControl",
"value": "90"
}
],
"txnNo": "1737429803761"
}
*酷音量设置指令(OK)
500指令下发
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737429820955,
"paramList": [
{
"id": "swTSbSocControl",
"value": "90"
}
]
}
210刷新指令下发
{
"devId": "YK60120LNHY24034001",
"msgType": 210,
"txnNo": 1737429831758,
"paramList": [
{
"id": "swTSbVolControl"
}
]
}
211指令上报(没有喇叭则为空)
{
"devId": "YK60120LNHY24034001",
"msgType": 211,
"result": 1,
"resultList": [],
"txnNo": 1737429831758
}
成功播报设置指令
比*安成功播报设置指令(OK)
没适配
智*成功播报设置指令(OK)
下发设置语音指令
{
"devId": "DEV202113",
"txnNo": "1735805045114",
"msgType": 500,
"paramList": [
{
"id": "overPlayText",
"value": "xxxxxxxxxxxx"
}
]
}
获取语音配置
{
"devId": "DEV202113",
"txnNo": "1735805283359",
"msgType": 210,
"paramList": [
{
"id": "overPlayText"
}
]
}
回复获取语音配置
{
"devId": "DEV202113",
"result": 1,
"txnNo": "1735805304859",
"msgType": 211,
"resultList": [
{
"id": "overPlayText",
"value": "xxxxxxxxxxxx"
}
]
}
*创成功播报设置指令(OK)
外发文档没看到有该项设置
*酷成功播报设置指令(OK)
外发文档没看到有该项设置
换电阈值指令
比*安换电阈值指令(OK)
设置换电阈值
{
"devId": "BTA08002204001",
"txnNo": 1735807460865,
"msgType": 230,
"paramList": [
{
"id": "18801001",
"value": "50"
}
]
}
{
"devId": "BTA08002204001",
"result": 1,
"txnNo": 1735807460865,
"msgType": 231,
"extVal": "errorCode=0"
}
获取换电阈值
{
"devId": "BTA08002204001",
"txnNo": 1735807464229,
"msgType": 210,
"paramList": [
{
"id": "18801001"
}
]
}
回复换电阈值
{
"devId": "BTA08002204001",
"txnNo": 1735807464229,
"msgType": 211,
"paramList": [
{
"id": "18801001",
"value": "50"
}
]
}
智*换电阈值指令(OK)
下发换电阈值
{
"devId": "DEV202113",
"txnNo": "1735805413493",
"msgType": 500,
"paramList": [
{
"id": "swTSbSocControl",
"value": "60"
}
]
}
获取换电阈值
{
"devId": "DEV202113",
"txnNo": "1735805470753",
"msgType": 210,
"paramList": [
{
"id": "swTSbSocControl"
}
]
}
回复换电阈值
{
"devId": "DEV202113",
"result": 1,
"txnNo": "1735805491268",
"msgType": 211,
"resultList": [
{
"id": "swTSbSocControl",
"value": "60"
}
]
}
*创换电阈值指令(OK)
500指令下发
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737018769688,
"paramList": [
{
"id": "swTSbSocControl",
"value": "80"
}
]
}
210指令刷新下发
{
"devId": "DC7210808LH23120702",
"msgType": 210,
"txnNo": 1737429803761,
"paramList": [
{
"id": "swTSbSocControl"
}
]
}
211指令上报
{
"devId": "DC7210808LH23120702",
"msgType": 211,
"result": 1,
"resultList": [
{
"id": "swTSbSocControl",
"value": "90"
}
],
"txnNo": "1737429803761"
}
*酷换电阈值指令(OK)
500指令下发
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737018769688,
"paramList": [
{
"id": "swTSbSocControl",
"value": "80"
}
]
}
210指令刷新下发
{
"devId": "DC7210808LH23120702",
"msgType": 210,
"txnNo": 1737429803761,
"paramList": [
{
"id": "swTSbSocControl"
}
]
}
211指令上报
{
"devId": "DC7210808LH23120702",
"msgType": 211,
"result": 1,
"resultList": [
{
"id": "swTSbSocControl",
"value": "90"
}
],
"txnNo": "1737429803761"
}
换电柜重启指令
比*安重启指令(OK)
下发重启指令
{
"devId": "BTA08002204001",
"txnNo": 1735807908822,
"msgType": 500,
"paramList": [
{
"id": "02201001"
}
]
}
{
"devId": "BTA08002204001",
"result": 1,
"txnNo": 1735807908822,
"msgType": 501,
"extVal": "errorCode=0"
}
智*重启指令(OK)
{
"devId": "DEV202113",
"txnNo": "1735805560734",
"msgType": 500,
"paramList": [
{
"id": "swTSbReset"
}
]
}
*创重启指令(OK)
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737019755860,
"paramList": [
{
"id": "swTSbReset"
}
]
}
*酷重启指令(OK)
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737019755860,
"paramList": [
{
"id": "swTSbReset"
}
]
}
设置接入点指令
比*安设置接入点指令(OK)
下发设置接入点
{
"devId": "BTA08002204001",
"txnNo": 1735807739214,
"msgType": 230,
"paramList": [
{
"id": "18801020",
"value": "http://8.8.8.8:2025/swap/server_list"
}
]
}
{
"devId": "BTA08002204001",
"result": 1,
"txnNo": 1735807739214,
"msgType": 231,
"extVal": "errorCode=0"
}
获取设置接入点
{
"devId": "BTA08002204001",
"txnNo": 1735807741449,
"msgType": 210,
"paramList": [
{
"id": "18801020"
}
]
}
回复设置接入点
{
"devId": "BTA08002204001",
"txnNo": 1735807741449,
"msgType": 211,
"paramList": [
{
"id": "18801020",
"value": "http://8.8.8.8:2025/swap/server_list"
}
]
}
智*设置接入点指令(OK)
下发设置接入点
{
"devId": "DEV202113",
"txnNo": "1735806049513",
"msgType": 500,
"paramList": [
{
"id": "swCabIPPort",
"value": "8.8.8.8,2025"
}
]
}
刷新设置接入点
{
"devId": "DEV202113",
"txnNo": "1735806084485",
"msgType": 210,
"paramList": [
{
"id": "swCabIPPort"
}
]
}
回复刷新接入点
{
"devId": "DEV202113",
"result": 1,
"txnNo": "1735806083972",
"msgType": 211,
"resultList": [
{
"id": "swCabIPPort",
"value": "8.8.8.8,2025"
}
]
}
*创设置接入点指令(OK)
{
"devId": "DC7210808LH23120702",
"msgType": 500,
"txnNo": 1737019187018,
"paramList": [
{
"id": "swCabTcpPort",
"value": "8.8.8.8,2025"
}
]
}
*酷设置接入点指令(OK)
{
"devId": "YK60120LNHY24034001",
"msgType": 500,
"txnNo": 1737019187018,
"paramList": [
{
"id": "swCabTcpPort",
"value": "8.8.8.8,2025"
}
]
}
给各位老板忠告
本人换电行业做接入几年了,大大小小的坑踩过很多,给各位想进入换电行业或者进入换电行业老板一些忠告。
1、流量卡必须是自己的,不然切换电柜、切电池要切换费用(切换费,流量费补齐才给切)。
- 签采购合同必须加上无条件配合切换换电柜连接点。(金钱损失坑)
- 或者买SAAS将电柜、电池无条件切换,用户数据无条件配合导出。
2、接入平台必须自建,不然建数据捏在别人手上,被拿捏的死死的。(无自主权坑)
3、有些柜子时间戳 txnNo 字段慢或者快,对平台业务有影响。(数据坑)
4、有些柜子读不到电池铁塔编号不禁仓。(资产损失坑)
5、不是铁塔协议的柜子或者非标准json协议传输的柜子,慎重采购,不做了无法卖二手。(协议坑)
6、合同签署独立云服务器部署SAAS,有些公司未给客户独立云服务器部署SAAS还收取客户阿里云或者腾讯云服务器续费。
- 如果要独立云服务器部署SAAS的话,云服务器、域名资产一定要捏在自己手上,只给SAAS部署商账号,让SAAS服务公司员工去部署。
最后的话
有时间的话会全面开源一套换电项目脚手架项目(除接入外),只需要填充相关第三方组件key,以上四种类型换电柜,上面例举的协议构建,做到只需要发给接入平台即可执行。
我司可以提供全面SAAS服务,不强制绑定客户电池、不强制绑定客户换电柜,以上我司踩过的坑,绝对不会用来坑客户。
可以购买全套或者接入平台的代码。
邮箱:hncdyj123#163.com 请将#替换为@
原创内容,转载必须注明来源地址:https://blog.youkuaiyun.com/hncdyj/article/details/145283327