初始化项目
This commit is contained in:
89
BLV_Studio/Control/RoomControlSystemAPI.vb
Normal file
89
BLV_Studio/Control/RoomControlSystemAPI.vb
Normal file
@@ -0,0 +1,89 @@
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports System.Text
|
||||
Imports Newtonsoft.Json
|
||||
|
||||
Public Class RoomControlSystemAPI
|
||||
|
||||
Public Shared Function API_AllocationBarCode(roomNumber As String, hotelID As String) As APIRoomNode
|
||||
Dim jsonString As String = String.Empty
|
||||
Dim dic As New Dictionary(Of String, String)
|
||||
dic.Add("roomNumber", roomNumber)
|
||||
dic.Add("key", "blw_ws@2015")
|
||||
dic.Add("hotelID", hotelID)
|
||||
Try
|
||||
jsonString = PostData("https://www.boonlive-rcu.com/api/GetHostByRoomNumber", $"jsonData={JsonConvert.SerializeObject(dic)}")
|
||||
Catch ex As Exception
|
||||
MsgBox($"网络API调用错误,请联系管理员。")
|
||||
Return Nothing
|
||||
End Try
|
||||
'Console.WriteLine(jsonString)
|
||||
|
||||
If jsonString = Nothing Then
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
Dim login As APIRoomNode = Nothing
|
||||
Try
|
||||
login = JsonConvert.DeserializeObject(Of APIRoomNode)(jsonString)
|
||||
If login.IsSuccess.ToLower.Equals("true") Then
|
||||
Return login
|
||||
Else
|
||||
Return Nothing
|
||||
End If
|
||||
Catch ex As Exception
|
||||
'MsgBox($"Json数据转换错误,请联系管理员。详情 :Json data to AllocationAPI error")
|
||||
Return Nothing
|
||||
End Try
|
||||
|
||||
End Function
|
||||
Public Shared Function URLEncode(strInput As String) As String
|
||||
Dim strOutput As String
|
||||
Dim intAscii As Integer
|
||||
Dim i As Integer
|
||||
|
||||
|
||||
For i = 1 To Len(strInput)
|
||||
intAscii = Asc(Mid(strInput, i, 1))
|
||||
If ((intAscii < 58) And (intAscii > 47)) Or
|
||||
((intAscii < 91) And (intAscii > 64)) Or
|
||||
((intAscii < 123) And (intAscii > 96)) Then
|
||||
strOutput = strOutput & Chr(intAscii)
|
||||
Else
|
||||
strOutput = strOutput &
|
||||
IIf(intAscii < 16, "%0", "%") &
|
||||
Trim$(Hex$(intAscii))
|
||||
End If
|
||||
Next
|
||||
URLEncode = strOutput
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Function PostData(ByVal url As String, ByVal data As String) As String
|
||||
|
||||
ServicePointManager.Expect100Continue = False
|
||||
Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
|
||||
'//Post请求方式
|
||||
request.Method = "POST"
|
||||
|
||||
'内容类型
|
||||
request.ContentType = "application/x-www-form-urlencoded"
|
||||
'将URL编码后的字符串转化为字节
|
||||
Dim encoding As New UTF8Encoding()
|
||||
|
||||
Dim bys As Byte() = encoding.GetBytes(data)
|
||||
'设置请求的 ContentLength
|
||||
request.ContentLength = bys.Length
|
||||
'获得请 求流
|
||||
Dim newStream As Stream = request.GetRequestStream()
|
||||
newStream.Write(bys, 0, bys.Length)
|
||||
newStream.Close()
|
||||
'获得响应流
|
||||
Dim sr As StreamReader = New StreamReader(request.GetResponse().GetResponseStream)
|
||||
Return sr.ReadToEnd
|
||||
End Function
|
||||
End Class
|
||||
Public Class APIRoomNode
|
||||
Public IsSuccess As String
|
||||
Public Result As List(Of Dictionary(Of String, String))
|
||||
End Class
|
||||
Reference in New Issue
Block a user