104 lines
3.4 KiB
Python
104 lines
3.4 KiB
Python
from tkinter import *
|
|
from tkinter import ttk
|
|
from config import CONFIG
|
|
import json
|
|
from api.moodle import MoodleAPI
|
|
from tkinter import messagebox
|
|
from api.ncnu import NcnuAPI
|
|
from MainWin import *
|
|
|
|
|
|
def firstWin(first):
|
|
#first=Tk()
|
|
#login.withdraw()
|
|
first.geometry("600x400")
|
|
first.minsize(400,400)
|
|
first.maxsize(600,600)
|
|
first.configure(background="skyblue")
|
|
|
|
frame=Frame(first,bg="skyblue")
|
|
go_to_loginwin_btn=Button(first,text="開始進入暨管家",font="Helvetica 20",bg="yellow",command=lambda: [first.destroy()] )
|
|
text_lb=Label(frame,text="歡迎來到暨管家",font=("Courier New Greek",40),bg="skyblue")
|
|
photo = PhotoImage(file="100_100.gif")
|
|
imgLabel =Label(frame,image=photo,bg="skyblue")
|
|
|
|
frame.pack(expand=1)
|
|
imgLabel.pack()
|
|
text_lb.pack(padx=100)
|
|
go_to_loginwin_btn.pack(pady=50)
|
|
|
|
first.mainloop()
|
|
|
|
def loginwin(login):
|
|
#login=Tk()
|
|
login.geometry("300x200")
|
|
login.configure(bg="lightgreen")
|
|
login.resizable(width=0,height=0)
|
|
|
|
frame=Frame(login,width=100,height=100,bg="lightgreen")
|
|
frame1=Frame(login,width=300,height=100,bg="lightgreen")
|
|
frame2=Frame(login,width=300,height=100,bg="lightgreen")
|
|
frame3=Frame(login,width=300,height=100,bg="lightgreen")
|
|
frame4=Frame(login,width=300,height=100,bg="lightgreen")
|
|
prompt_lb=Label(frame,text="請輸入你的學號與密碼",font="Helvetica 20",bg="lightgreen")
|
|
login_btn=Button(frame3,text="登入",command=lambda:Login() )
|
|
|
|
enter_name=Entry(frame1,bd=3)
|
|
enter_password=Entry(frame2,show="*",bd=3)
|
|
enter_ncnupw=Entry(frame4,show="*",bd=3)
|
|
|
|
name_lb=Label(frame1,text="學號",font="Helvetica 12",bg="lightgreen")
|
|
|
|
pw_lb=Label(frame2,text="Moodle密碼",font="Helvetica 12",bg="lightgreen")
|
|
ncnupw_lb=Label(frame4,text="教務系統密碼",font="Helvetica 12",bg="lightgreen")
|
|
|
|
show_password=Button( frame3,text="透視moodle密碼")
|
|
show_password.bind( '<Button-1>',lambda event:enter_password.config(show=""))
|
|
show_password.bind( '<ButtonRelease-1>',lambda event : enter_password.config(show="*") )
|
|
|
|
|
|
#===== 輸入帳密=====
|
|
def Login():
|
|
with open('config.json') as fp:
|
|
CON = json.load(fp)
|
|
CON["semester"]="1092"
|
|
CON["moodle"]["username"]=str(enter_name.get() )
|
|
CON["moodle"]["password"]=str(enter_password.get())
|
|
CON["NCNU"]["username"]=str(enter_name.get())
|
|
CON["NCNU"]["password"]=str(enter_ncnupw.get())
|
|
|
|
json.dump(CON, open("config.json", "w"))
|
|
try:
|
|
moodle = MoodleAPI(CONFIG['moodle']['username'], CONFIG['moodle']['password'])
|
|
ncnu = NcnuAPI(CONFIG['NCNU']['username'], CONFIG['NCNU']['password'])
|
|
moodle.status
|
|
ncnu.status
|
|
except:
|
|
messagebox.showinfo(message="Error")
|
|
else:
|
|
login.destroy()
|
|
mainWin=Tk()
|
|
createMainWin(mainWin,ncnu,moodle)
|
|
|
|
frame.pack()
|
|
frame1.pack()
|
|
frame2.pack()
|
|
frame4.pack()
|
|
frame3.pack()
|
|
prompt_lb.pack(pady=10,side="top")
|
|
name_lb.pack(side="left")
|
|
enter_name.pack(side="left")
|
|
pw_lb.pack(side="left")
|
|
enter_password.pack(side="left")
|
|
ncnupw_lb.pack(side="left")
|
|
enter_ncnupw.pack()
|
|
|
|
show_password.pack(side="left",pady=10,padx=10)
|
|
login_btn.pack(side="left",pady=10)
|
|
|
|
login.mainloop()
|
|
|
|
|
|
|
|
|