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