|
|
@ -1,10 +1,14 @@ |
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
import time |
|
|
|
from threading import Thread |
|
|
|
|
|
|
|
import requests |
|
|
|
import wx |
|
|
|
|
|
|
|
from frontend.components_lib import ( |
|
|
|
Frame, Panel, LayoutParams, FontSize, InputLabel |
|
|
|
) |
|
|
|
from frontend.components_lib.comp_libs import PhoneVerifyCodeComponent |
|
|
|
|
|
|
|
|
|
|
|
class LoginBody(Panel): |
|
|
@ -12,8 +16,9 @@ class LoginBody(Panel): |
|
|
|
Panel.__init__(self, parent, _id, pos, size, style, page_title) |
|
|
|
self.drop_list = None |
|
|
|
self.username = None |
|
|
|
self.pwd = None |
|
|
|
self.notebook = None |
|
|
|
self.phone_page = None |
|
|
|
self.acc_page = None |
|
|
|
# 调用初始化 hook |
|
|
|
self._OnInit() |
|
|
|
|
|
|
@ -32,7 +37,7 @@ class LoginBody(Panel): |
|
|
|
), 0, wx.ALIGN_CENTER_HORIZONTAL, 5 |
|
|
|
) |
|
|
|
# 创建 content 部分的组件并添加到 body sizer 中 |
|
|
|
# self.body_sizer.Add(self.content_components(), 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
self.body_sizer.Add(self.content_components(), 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
# 创建底部按钮组件并添加到 body sizer 中 |
|
|
|
self.body_sizer.Add( |
|
|
|
self.button_components( |
|
|
@ -50,13 +55,13 @@ class LoginBody(Panel): |
|
|
|
self.notebook.SetBackgroundColour(wx.Colour(255, 255, 255)) |
|
|
|
|
|
|
|
# 创建数据导入页 |
|
|
|
self.imp_page = PhonePage(self.notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.phone_page = PhonePage(self.notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
# 创建导入记录页 |
|
|
|
self.rec_page = RecordPage(self.notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.acc_page = AccountPage(self.notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
|
|
|
|
# 将两页添加到 notebook 中,默认选中 批量导入 页签 |
|
|
|
self.notebook.AddPage(self.imp_page, "批量导入", True) |
|
|
|
self.notebook.AddPage(self.rec_page, "导入记录", False) |
|
|
|
self.notebook.AddPage(self.phone_page, "手机验证码登录", True) |
|
|
|
self.notebook.AddPage(self.acc_page, "用户名密码登录", False) |
|
|
|
|
|
|
|
# 将 notebook 组件添加到 content sizer 中 |
|
|
|
content_sizer.Add(self.notebook, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5) |
|
|
@ -72,7 +77,7 @@ class PhonePage(Panel): |
|
|
|
self.code_val = None |
|
|
|
self.get_code_btn = None |
|
|
|
self.SetFont(wx.Font(**FontSize.CONTENT_SIZE)) |
|
|
|
self.SetMaxSize(wx.Size(400, 115)) |
|
|
|
self.SetMaxSize(wx.Size(400, 90)) |
|
|
|
# 调用初始化 hook |
|
|
|
self._OnInit() |
|
|
|
|
|
|
@ -86,7 +91,7 @@ class PhonePage(Panel): |
|
|
|
# 创建页面 sizer |
|
|
|
self.page_sizer = wx.BoxSizer(wx.VERTICAL) |
|
|
|
# 配置大小 |
|
|
|
self.page_sizer.SetMinSize(wx.Size(400, 115)) |
|
|
|
self.page_sizer.SetMinSize(wx.Size(400, 90)) |
|
|
|
# 获取 content 部分并添加到页面 sizer 中 |
|
|
|
self.page_sizer.Add(self.content_components(), 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
# 设置sizer |
|
|
@ -99,25 +104,65 @@ class PhonePage(Panel): |
|
|
|
# 创建文件选择器组件的 sizer |
|
|
|
comp_sizer = self.flex_sizer_generater(2, 3, 0, 0) |
|
|
|
# 创建文件选择器组件 |
|
|
|
user = (_, _, (self.phone, *_)) = InputLabel( |
|
|
|
phone_grp = (_, _, (self.phone, *_)) = InputLabel( |
|
|
|
self, |
|
|
|
{"id": wx.ID_ANY, "label": "手 机", "pos": wx.DefaultPosition, "size": wx.DefaultSize, "style": 0}, |
|
|
|
(5, 0), |
|
|
|
{"id": wx.ID_ANY, "pos": wx.DefaultPosition, "size": wx.Size(260, -1), "style": 0, "value": ""}, |
|
|
|
FontSize.CONTENT_SIZE, LayoutParams.VER_LAYOUT |
|
|
|
).get_item |
|
|
|
code = (_, _, ((self.code_val, *_), _, (self.get_code_btn, *_))) = 0 |
|
|
|
# 创建手机验证码获取与输入组件 |
|
|
|
*code_sizer, self.code_val, self.get_code_btn = PhoneVerifyCodeComponent( |
|
|
|
self, |
|
|
|
{"id": wx.ID_ANY, "label": "验证码", "pos": wx.DefaultPosition, "size": wx.DefaultSize, "style": 0}, |
|
|
|
(5, 0), self.flex_sizer_generater(1, 2, 0, 0), |
|
|
|
{"label_size": (110, -1), "btn_name": "获取手机验证码"}, FontSize.CONTENT_SIZE |
|
|
|
).get_item |
|
|
|
# 将文件选择器组件添加到 sizer 中 |
|
|
|
comp_sizer.AddMany(user) |
|
|
|
comp_sizer.AddMany((*phone_grp, *code_sizer)) |
|
|
|
return comp_sizer |
|
|
|
|
|
|
|
|
|
|
|
class AccountPage(PhonePage): |
|
|
|
def __init__(self, parent, _id, pos, size, style): |
|
|
|
Panel.__init__(self, parent, _id, pos, size, style) |
|
|
|
self.username = None |
|
|
|
self.pwd = None |
|
|
|
self.SetFont(wx.Font(**FontSize.CONTENT_SIZE)) |
|
|
|
self.SetMaxSize(wx.Size(400, 90)) |
|
|
|
# 调用初始化 hook |
|
|
|
self._OnInit() |
|
|
|
|
|
|
|
def content_components(self): |
|
|
|
comp_sizer = self.flex_sizer_generater(2, 3, 0, 0) |
|
|
|
# 创建并配置用户名输入组件 |
|
|
|
user_grp = (_, _, (self.username, *_)) = InputLabel( |
|
|
|
self, |
|
|
|
{"id": wx.ID_ANY, "label": "用户姓名", "pos": wx.DefaultPosition, "size": wx.DefaultSize, "style": 0}, |
|
|
|
(5, 0), |
|
|
|
{"id": wx.ID_ANY, "pos": wx.DefaultPosition, "size": wx.Size(260, -1), "style": 0, "value": ""}, |
|
|
|
FontSize.CONTENT_SIZE, LayoutParams.VER_LAYOUT |
|
|
|
).get_item |
|
|
|
|
|
|
|
# 创建并配置密码输入组件 |
|
|
|
pwd_grp = (_, _, (self.pwd, *_)) = InputLabel( |
|
|
|
self, |
|
|
|
{"id": wx.ID_ANY, "label": "密 码", "pos": wx.DefaultPosition, "size": wx.DefaultSize, "style": 0}, |
|
|
|
(5, 0), |
|
|
|
{ |
|
|
|
"id": wx.ID_ANY, "pos": wx.DefaultPosition, "size": wx.Size(260, -1), "style": wx.TE_PASSWORD, |
|
|
|
"value": "" |
|
|
|
}, |
|
|
|
FontSize.CONTENT_SIZE, LayoutParams.VER_LAYOUT |
|
|
|
).get_item |
|
|
|
|
|
|
|
comp_sizer.AddMany((*user_grp, *pwd_grp)) |
|
|
|
return comp_sizer |
|
|
|
|
|
|
|
|
|
|
|
class LoginPage(Frame): |
|
|
|
def __init__(self, parent, title, size, page_title): |
|
|
|
Frame.__init__(self, parent, title=title, size=size, page_title=page_title) |
|
|
|
# self.__size = size |
|
|
|
# # 调用 hook |
|
|
|
# self.show() |
|
|
|
|
|
|
|
def get_body(self, parent, _id, pos, size, style): |
|
|
|
""" |
|
|
@ -143,9 +188,9 @@ class LoginPage(Frame): |
|
|
|
self._body.exit_btn.Bind(wx.EVT_LEFT_UP, self.on_exit_click) |
|
|
|
self._body.submit_btn.Bind(wx.EVT_LEFT_UP, self.on_sumbit_click) |
|
|
|
# 绑定获取手机验证码事件 |
|
|
|
# self._body.get_code_btn.Bind(wx.EVT_LEFT_UP, self.on_get_code_click) |
|
|
|
self._body.phone_page.get_code_btn.Bind(wx.EVT_LEFT_UP, self.on_get_code_click) |
|
|
|
# 给密码输入框绑定回车事件 |
|
|
|
# self._body.pwd.Bind(wx.EVT_KEY_UP, self.on_enter_up) |
|
|
|
self._body.acc_page.pwd.Bind(wx.EVT_KEY_UP, self.on_enter_up) |
|
|
|
|
|
|
|
def on_exit_click(self, event): |
|
|
|
self.Destroy() |
|
|
@ -161,198 +206,31 @@ class LoginPage(Frame): |
|
|
|
self.on_sumbit_click(None) |
|
|
|
|
|
|
|
def on_get_code_click(self, event): |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
class LoginPage1(wx.Frame): |
|
|
|
|
|
|
|
def __init__(self, parent): |
|
|
|
""" |
|
|
|
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, |
|
|
|
size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) |
|
|
|
|
|
|
|
self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) |
|
|
|
self.SetFont(wx.Font(24, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "黑体")) |
|
|
|
self.SetBackgroundColour(wx.Colour(255, 255, 255)) |
|
|
|
|
|
|
|
page_sizer = wx.BoxSizer(wx.VERTICAL) |
|
|
|
""" |
|
|
|
|
|
|
|
self.body = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) |
|
|
|
body_sizer = wx.BoxSizer(wx.VERTICAL) |
|
|
|
|
|
|
|
title_sizer = wx.FlexGridSizer(0, 1, 0, 0) |
|
|
|
title_sizer.SetFlexibleDirection(wx.BOTH) |
|
|
|
title_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) |
|
|
|
|
|
|
|
title_sizer.Add((0, 15), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
self.m_staticText1 = wx.StaticText(self.body, wx.ID_ANY, u"登 录", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.m_staticText1.Wrap(-1) |
|
|
|
|
|
|
|
self.m_staticText1.SetFont( |
|
|
|
wx.Font(24, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "黑体")) |
|
|
|
|
|
|
|
title_sizer.Add(self.m_staticText1, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
|
|
|
|
title_sizer.Add((0, 15), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
body_sizer.Add(title_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
|
|
|
|
content_sizer = wx.FlexGridSizer(0, 1, 0, 0) |
|
|
|
content_sizer.SetFlexibleDirection(wx.BOTH) |
|
|
|
content_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) |
|
|
|
|
|
|
|
self.m_notebook1 = wx.Notebook(self.body, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.m_notebook1.SetFont( |
|
|
|
wx.Font(11, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "黑体")) |
|
|
|
|
|
|
|
self.phone_page = wx.Panel(self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) |
|
|
|
self.phone_page.SetFont( |
|
|
|
wx.Font(14, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "黑体")) |
|
|
|
|
|
|
|
phone_sizer = wx.BoxSizer(wx.VERTICAL) |
|
|
|
|
|
|
|
phone_code_sizer = wx.FlexGridSizer(0, 3, 0, 0) |
|
|
|
phone_code_sizer.SetFlexibleDirection(wx.BOTH) |
|
|
|
phone_code_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) |
|
|
|
|
|
|
|
self.phone = wx.StaticText(self.phone_page, wx.ID_ANY, u"手 机", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.phone.Wrap(-1) |
|
|
|
t0 = Thread(target=self.get_code) |
|
|
|
t0.daemon = True |
|
|
|
t0.start() |
|
|
|
i = 60 |
|
|
|
t1 = Thread(target=self.c_clock, args=(i,)) |
|
|
|
t1.daemon = True |
|
|
|
t1.start() |
|
|
|
|
|
|
|
phone_code_sizer.Add(self.phone, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) |
|
|
|
def c_clock(self, t): |
|
|
|
self._body.phone_page.get_code_btn.Disable() |
|
|
|
while t > 0: |
|
|
|
self._body.phone_page.get_code_btn.SetLabel(f"{t}s 后重新获取") |
|
|
|
time.sleep(1) |
|
|
|
t -= 1 |
|
|
|
self._body.phone_page.get_code_btn.SetLabel("获取手机验证码") |
|
|
|
self._body.phone_page.get_code_btn.Enable() |
|
|
|
|
|
|
|
phone_code_sizer.Add((0, 10), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
self.phonr_num = wx.TextCtrl(self.phone_page, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(260, -1), |
|
|
|
0) |
|
|
|
phone_code_sizer.Add(self.phonr_num, 0, wx.ALL, 5) |
|
|
|
|
|
|
|
self.code = wx.StaticText(self.phone_page, wx.ID_ANY, u"验证码", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.code.Wrap(-1) |
|
|
|
|
|
|
|
phone_code_sizer.Add(self.code, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) |
|
|
|
|
|
|
|
phone_code_sizer.Add((0, 0), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
get_code_sizer = wx.FlexGridSizer(0, 2, 0, 0) |
|
|
|
get_code_sizer.SetFlexibleDirection(wx.BOTH) |
|
|
|
get_code_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) |
|
|
|
|
|
|
|
self.phone_code = wx.TextCtrl(self.phone_page, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
get_code_sizer.Add(self.phone_code, 0, wx.ALL, 5) |
|
|
|
|
|
|
|
self.get_code = wx.Button(self.phone_page, wx.ID_ANY, u" 获取手机验证码 ", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.get_code.SetFont( |
|
|
|
wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "宋体")) |
|
|
|
|
|
|
|
get_code_sizer.Add(self.get_code, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) |
|
|
|
|
|
|
|
phone_code_sizer.Add(get_code_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
|
|
|
|
phone_sizer.Add(phone_code_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
|
|
|
|
self.phone_page.SetSizer(phone_sizer) |
|
|
|
self.phone_page.Layout() |
|
|
|
phone_sizer.Fit(self.phone_page) |
|
|
|
self.m_notebook1.AddPage(self.phone_page, u"手机验证码登录", True) |
|
|
|
self.account_page = wx.Panel(self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) |
|
|
|
self.account_page.SetFont( |
|
|
|
wx.Font(14, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "黑体")) |
|
|
|
|
|
|
|
account_sizer = wx.BoxSizer(wx.VERTICAL) |
|
|
|
|
|
|
|
account_pwd_sizer = wx.FlexGridSizer(0, 3, 0, 0) |
|
|
|
account_pwd_sizer.SetFlexibleDirection(wx.BOTH) |
|
|
|
account_pwd_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) |
|
|
|
|
|
|
|
self.username = wx.StaticText(self.account_page, wx.ID_ANY, u"用户名", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.username.Wrap(-1) |
|
|
|
|
|
|
|
account_pwd_sizer.Add(self.username, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) |
|
|
|
|
|
|
|
account_pwd_sizer.Add((10, 0), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
self.username_val = wx.TextCtrl(self.account_page, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, |
|
|
|
wx.Size(260, -1), 0) |
|
|
|
account_pwd_sizer.Add(self.username_val, 0, wx.ALL, 5) |
|
|
|
|
|
|
|
self.password = wx.StaticText(self.account_page, wx.ID_ANY, u"密 码", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.password.Wrap(-1) |
|
|
|
|
|
|
|
account_pwd_sizer.Add(self.password, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) |
|
|
|
|
|
|
|
account_pwd_sizer.Add((10, 0), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
self.m_textCtrl5 = wx.TextCtrl(self.account_page, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, |
|
|
|
wx.Size(260, -1), wx.TE_PASSWORD) |
|
|
|
account_pwd_sizer.Add(self.m_textCtrl5, 0, wx.ALL, 5) |
|
|
|
|
|
|
|
account_sizer.Add(account_pwd_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
|
|
|
|
self.account_page.SetSizer(account_sizer) |
|
|
|
self.account_page.Layout() |
|
|
|
account_sizer.Fit(self.account_page) |
|
|
|
self.m_notebook1.AddPage(self.account_page, u"用户名密码登录", False) |
|
|
|
|
|
|
|
content_sizer.Add(self.m_notebook1, 1, wx.EXPAND | wx.ALL, 5) |
|
|
|
|
|
|
|
content_sizer.Add((0, 15), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
body_sizer.Add(content_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
|
|
|
|
btn_sizer = wx.FlexGridSizer(0, 3, 0, 0) |
|
|
|
btn_sizer.SetFlexibleDirection(wx.BOTH) |
|
|
|
btn_sizer.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) |
|
|
|
|
|
|
|
self.exit_btn = wx.Button(self.body, wx.ID_ANY, u"退出", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.exit_btn.SetFont(wx.Font(14, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "黑体")) |
|
|
|
|
|
|
|
btn_sizer.Add(self.exit_btn, 0, wx.ALL, 5) |
|
|
|
|
|
|
|
btn_sizer.Add((60, 0), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
self.submit_btn = wx.Button(self.body, wx.ID_ANY, u"登录", wx.DefaultPosition, wx.DefaultSize, 0) |
|
|
|
self.submit_btn.SetFont( |
|
|
|
wx.Font(14, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "黑体")) |
|
|
|
|
|
|
|
btn_sizer.Add(self.submit_btn, 0, wx.ALL, 5) |
|
|
|
|
|
|
|
btn_sizer.Add((0, 15), 1, wx.EXPAND, 5) |
|
|
|
|
|
|
|
body_sizer.Add(btn_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL, 5) |
|
|
|
|
|
|
|
self.body.SetSizer(body_sizer) |
|
|
|
self.body.Layout() |
|
|
|
body_sizer.Fit(self.body) |
|
|
|
page_sizer.Add(self.body, 1, wx.EXPAND | wx.ALL, 5) |
|
|
|
|
|
|
|
self.SetSizer(page_sizer) |
|
|
|
self.Layout() |
|
|
|
|
|
|
|
self.Centre(wx.BOTH) |
|
|
|
|
|
|
|
# Connect Events |
|
|
|
self.m_textCtrl5.Bind(wx.EVT_KEY_UP, self.on_enter_up) |
|
|
|
self.exit_btn.Bind(wx.EVT_LEFT_UP, self.on_exit_click) |
|
|
|
self.submit_btn.Bind(wx.EVT_LEFT_UP, self.on_sumbit_click) |
|
|
|
|
|
|
|
def __del__(self): |
|
|
|
pass |
|
|
|
|
|
|
|
def on_enter_up(self, event): |
|
|
|
event.Skip() |
|
|
|
|
|
|
|
def on_exit_click(self, event): |
|
|
|
event.Skip() |
|
|
|
|
|
|
|
def on_sumbit_click(self, event): |
|
|
|
event.Skip() |
|
|
|
def get_code(self): |
|
|
|
url = "http://127.0.0.1:8080/get_phone_code/" |
|
|
|
# requests.post(url, data={"phone": self._body.phone_page.phone}) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
app = wx.App() |
|
|
|
# frame = LoginPage1(None) |
|
|
|
frame = LoginPage(None, "登录", size=(500, 300), page_title="登录") |
|
|
|
frame = LoginPage(None, "登录", size=(500, 320), page_title="登录") |
|
|
|
frame.Show() |
|
|
|
app.MainLoop() |
|
|
|