Python/pyqt5/CODE/VIP_WMS_pyAPI/VIP_WMS_api.py
2024-06-25 22:02:02 +08:00

118 lines
3.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import json
import requests
import urllib3
import time
from requests.structures import CaseInsensitiveDict
import base64
import pandas as pd
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout, QPushButton, QMessageBox
request_url="http://140.125.21.70:7071"
#筆記:
#Parking_spaces_API是通訊底層headers是令牌fun是funtion名稱在使用api時Parking_spaces_API(fun,headers)
#response函式庫使用request.get(總URL,data=要放的data)
#http://localhost:7700=>request_url 這個URL已經是固定所以在底層時就會先寫死
#/api/Model名稱//{id}=>fun
#通訊底層
class WMS_API():
def __init__(self, Fun, headers, *args):
self.headers = headers
self.Fun = Fun
def post(self, data):
data_json = json.dumps(data)
response = requests.post(request_url + self.Fun, data=data_json, headers=self.headers, verify=False)
return response
def get(self):
response = requests.get(request_url + self.Fun, headers=self.headers, verify=False)
if response.status_code == 200:
data = response.json()
df = pd.DataFrame.from_records(data)
return df
else:
return
def delete(self):
response = requests.delete(request_url + self.Fun, headers=self.headers, verify=False)
return response
def getSingleData(self):
response = requests.get(request_url + self.Fun, headers=self.headers, verify=False)
if response.status_code == 200:
data = response.json()
df = pd.DataFrame.from_records(data, index=[0])
return df
else:
return
#電料類
class Vip_api():
def __init__(self,):
self.token=None
pass
def verify(self,username,password):
API = "/Users/Verifypassword"
data = {
'username': username,
'password': password
}
headers = {'Content-type': 'application/json'}
response=WMS_API(API,headers).post(data)
if response.status_code == 200:
self.token = response.json().get('token')
return True
else:
return False
def get_token(self):
return self.token
def get_all_data(self,model_name):
API = "/api/"+model_name
headers = CaseInsensitiveDict()
headers['Accept'] = 'application/json'
data = WMS_API(API, headers).get()
return data
def createitem(self,model_name,item,account,location,itemimage):
self.token=self.get_token()
print(self.token)
API= "/api/"+model_name+"/"+item
headers = {
'Content-type': 'application/json',
"Authorization": self.token
}
print(headers)
data = {
"item": item,
"account": account,
"location": location,
"itemimage": itemimage
}
data=WMS_API(API,headers).post(data)
print(data.status_code)
#登入系統JWT
# class User():
# def __init__(self,):
#
# def verify(self,username,password):
# API = "/Users/Verifypassword"
# data = {
# 'username': username,
# 'password': password
# }
# headers = {'Content-type': 'application/json'}
# response=WMS_API(API,headers).post(data)
# if response.status_code == 200:
# self.token = response.json().get('token')
# print("Login successful. Token saved.")
# return True
# else:
# print("Login failed.")
# return False
# def get_token(self):
# return self.token