import tkinter as tk import requests import json

from getreverse import send_request from startreverse import scan

class App(tk.Frame): def init(self, master=None): super().init(master) self.master = master self.pack() self.create_widgets()

def create_widgets(self):
        #输入cooKie
    self.cookie_label = tk.Label(self, text='1.请输入cookie:')
    self.cookie_label.pack(side='top', fill='x')

    self.cookie_entry = tk.Entry(self)
    self.cookie_entry.pack(side='top', fill='x')

    self.date_label = tk.Label(self, text='2.请输入开始日期 格式为yyyy-mm-dd hh:mm:ss:')
    self.date_label.pack(side='top', fill='x')

    self.date_entry = tk.Entry(self)
    self.date_entry.pack(side='top', fill='x')

    #结束时间
    self.enddate_label = tk.Label(self, text='3.请输入结束日期 格式为yyyy-mm-dd hh:mm:ss:')
    self.enddate_label.pack(side='top', fill='x')

    self.enddate_entry = tk.Entry(self)
    self.enddate_entry.pack(side='top', fill='x')

    

    self.ok_button = tk.Button(self, text='4.获取位置', command=self.send_date)
    self.ok_button.pack(side='left')

    self.devname_label = tk.Label(self, text='可选位置:')
    self.devname_label.pack()

    self.devname_listbox = tk.Listbox(self, selectmode='extended')
    self.devname_listbox.pack()

    self.start_button = tk.Button(self, text='5.开始预约', command=self.start_resv)
    self.start_button.pack()

    self.result_label = tk.Label(self, text='预约结果:')
    self.result_label.pack()

    self.result_listbox = tk.Listbox(self)
    self.result_listbox.pack()

def send_date(self):
    date = self.date_entry.get()
    #转换为yyyymmdd
    date = date.replace('-', '')
    date = date.replace(' ', '')
    date = date.replace(':', '')
    date = date[:8]

    res_json = send_request(date,self.cookie_entry.get())
    if(res_json['message']=='用户未登录,请重新登录'):
        self.devname_listbox.insert('end', '用户未登录,请重新登录')
    devnames = [dev['devName'] for dev in res_json['data']]
    devId = [dev['devId'] for dev in res_json['data']]
    for i in range(len(devnames)):
        self.devname_listbox.insert('end', devnames[i]+' '+devId[i])
            

def start_resv(self):
    selected_indices = self.devname_listbox.curselection()
    selected_devnames = [self.devname_listbox.get(i) for i in selected_indices]
    selected_devId = [dev.split(' ')[1] for dev in selected_devnames]
    
    res = scan(selected_devId,self.date_entry.get(),self.enddate_entry.get(),self.cookie_entry.get())
    
    for r in res:
        self.result_listbox.insert('end', r)

root = tk.Tk() app = App(master=root) app.mainloop()

Python GUI预约系统 - 使用Tkinter实现简单预约功能

原文地址: https://www.cveoy.top/t/topic/mUh0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录