当前位置:首页>python>用Python写了一个自习室座位预约系统

用Python写了一个自习室座位预约系统

  • 2026-01-20 18:42:02
用Python写了一个自习室座位预约系统

公众号后台回复自习室项目 获取完整项目配置

0 效果展示

座位选择框


1 关于所需库

Python 环境中需要安装下列 python 包:

  1. PySide2

  2. datetime

  3. json

  4. argparse

2 关于座位选择框

选择框内桌子数量,大小,样式以及每个椅子位置都是可变的,例如我们可以将桌子颜色和是否圆角改变:


这主要依靠seatInf.json内的信息,展示如下:

{    "tableNum"6,    "tablePos": [        [0.02,0.15],        [0.35,0.15],        [0.68,0.15],        [0.02,0.65],        [0.35,0.65],        [0.68,0.65]    ],    "tableSize": [        [0.25,0.2],        [0.25,0.2],        [0.25,0.2],        [0.25,0.2],        [0.25,0.2],        [0.25,0.2]    ],    "tableType": [        0,1,2,0,0,0    ],    "tableSS": [        "QLabel{background: rgb(245,245,245);color:rgb(92,92,92);border-radius:50px;border: 3px solid rgb(142,142,142)}",        "QLabel{background: rgb(245,245,245);color:rgb(92,92,92);border: 3px solid rgb(142,142,142)}",        "QLabel{background: rgb(221,217,195);color:rgb(92,92,92);border: 3px solid rgb(142,142,142)}"    ],    "tableId": [        "A","B","C","D","E","F"    ],    "chairNum": [        6,6,6,6,6,6    ],    "chairPos": [        [            [0.04,-0.08],            [0.105,-0.08],            [0.17,-0.08],            [0.04,0.21],            [0.105,0.21],            [0.17,0.21]        ],        [            [0.04,-0.08],            [0.105,-0.08],            [0.17,-0.08],            [0.04,0.21],            [0.105,0.21],            [0.17,0.21]        ],[            [0.04,-0.08],            [0.105,-0.08],            [0.17,-0.08],            [0.04,0.21],            [0.105,0.21],            [0.17,0.21]        ],[            [0.04,-0.08],            [0.105,-0.08],            [0.17,-0.08],            [0.04,0.21],            [0.105,0.21],            [0.17,0.21]        ],[            [0.04,-0.08],            [0.105,-0.08],            [0.17,-0.08],            [0.04,0.21],            [0.105,0.21],            [0.17,0.21]        ],[            [0.04,-0.08],            [0.105,-0.08],            [0.17,-0.08],            [0.04,0.21],            [0.105,0.21],            [0.17,0.21]        ]    ],    "chairSize": [        0.032,0.07    ],    "chairSS_W""background: rgb(242,242,242);border-radius:15px;border: 3px solid rgb(74,69,42)",    "chairSS_K""background: rgb(64,64,64);border-radius:15px;border: 3px solid rgb(74,69,42)",    "chairSS_R""background: rgb(149,55,43);border-radius:15px;border: 3px solid rgb(74,69,42)",    "mapSize": [        2,2    ]}

3 关于申请表和座位被占情况

由于只是为了模拟过程,现申请表以及座位被占情况分别存储在orderList.json和occupied.json中:

3.1 orderList.json:

"[[\"A1\", \"A2\", \"A3\", \"A4\", \"A5\", \"A6\", \"B1\", \"B2\", \"B3\", \"B4\", \"B5\", \"B6\", \"C1\", \"C2\", \"C3\", \"C4\", \"C5\", \"C6\", \"D1\", \"D2\", \"D3\", \"D4\", \"D5\", \"D6\", \"E1\", \"E2\", \"E3\", \"E4\", \"E5\", \"E6\", \"F1\", \"F2\", \"F3\", \"F4\", \"F5\", \"F6\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"1816000XXXX\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"temp\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"]]"

3.2 occupied.json:

"{\"A1\": false, \"A2\": false, \"A3\": false, \"A4\": false, \"A5\": false, \"A6\": false, \"B1\": false, \"B2\": false, \"B3\": false, \"B4\": false, \"B5\": false, \"B6\": false, \"C1\": false, \"C2\": false, \"C3\": false, \"C4\": true, \"C5\": false, \"C6\": false, \"D1\": false, \"D2\": false, \"D3\": false, \"D4\": false, \"D5\": false, \"D6\": false, \"E1\": false, \"E2\": false, \"E3\": false, \"E4\": false, \"E5\": false, \"E6\": false, \"F1\": false, \"F2\": false, \"F3\": false, \"F4\": false, \"F5\": false, \"F6\": false}"

4 关于命令行参数

我们使用命令行代码模拟刷卡过程,同时我们也设置了预约和申请暂离的命令行代码:

4.1 slotCard_in

Python slotCard_in.py -i="XXXXXXXXXXX"Python slotCard_in.py --student-id="XXXXXXXXXXX"

4.2 slotCard_out

Python slotCard_out.py -i="XXXXXXXXXXX"Python slotCard_out.py --student-id="XXXXXXXXXXX"

4.3 cmd_order

'''TEST CODE:--------------------------------see Map:Python cmd_order.py--------------------------------order seat: Python cmd_order.py -i="XXXXXXXXXXX" -n="xxx" -s="A1"-h   --help         show the help message and exit-i   --student-id   student id-n   --student-name student name-s   --seatPos      seat id  '''

4.4 cmd_leave

'''TEST CODE:----------------------------------------------leave for tempPython cmd_leave.py -i="XXXXXXXXXXX" -t="temp"----------------------------------------------leavePython cmd_leave.py -i="XXXXXXXXXXX" -t="free"  [or]Python cmd_leave.py -i="XXXXXXXXXXX" -h   --help         show the help message and exit-i   --student-id   student id-t   --leave-type   temp/free '''

5 关于命令行输出

5.1 cmd_order 预约

> Python cmd_order.py[seat]============================可预约座位: ▇ A2 A3 A4 A5 A6 B1 B2 B3 B4 B5 B6 C1 C2 C3 C4 C5 C6 D1 D2 D3 D4 D5 D6 E1 E2 E3 E4 E5 E6 F1 F2 F3 F4 F5 F6> Python cmd_order.py -i="18160000000" -n="xxx" -s="A1"[book error]========================座位已被占,请选择其他位置申请> Python cmd_order.py -i="18160000000" -n="xxx" -s="A100"[book error]========================座位编号格式不正确> Python cmd_order.py -i="18160000000" -n="xxx" -s="A2"[book]===========================================2021-05-31 18:04:35姓名:xxx学号:18160000000座次:A2预约成功!-------------------------------------------------注意事项:1、预约成功后请在30分钟内到达,否则预约信息将失效。2、进入自习室前请刷校园卡核验信息。3、如要暂离请cmd运行如下代码:   Python cmd_leave.py -i='XXXXXXXXXXX' -t='temp'4、离开、取消预约请cmd运行如下代码:   Python cmd_leave.py -i='XXXXXXXXXXX' -t='free'> Python cmd_order.py -i="18160000000" -n="xxx" -s="A3"[book error]========================请勿重复预约

5.2 slotCard_in 刷卡进入

> Python slotCard_in.py -i="1816000XXXX"[in error]==========================非本校校园卡或已超时> Python slotCard_in.py -i="18160000000"[in]================================预约时间:2021-05-31 18:04:35校园卡号:18160000000座次:A2

5.3 cmd_leave 申请离开或暂离

> Python cmd_leave.py -i="1816000XXXX" -t="temp"[out error]=========================可能输入了错误的校园卡号> Python cmd_leave.py -i="18160000000" -t="temp"[out]===============================已进行暂离申请> Python cmd_leave.py -i="18160000000" -t="free"[out]===============================已释放位置

5.4 slotCard_out 刷卡离开或暂离

> Python slotCard_out.py -i="18160000000"[out]===============================暂离时间:2021-05-31 18:23:09校园卡号:18160000000座次:A1> Python slotCard_out.py -i="1816000XXXX"[out error]=========================请更换卡片再次尝试

6 关于界面代码

6.1 orderSystem.py

from PySide2.QtWidgets import QApplication, QWidget,QScrollAreafrom PySide2.QtWidgets import QLabel,QPushButton,QLineEditfrom PySide2.QtGui import QIcon,QFontfrom PySide2.QtCore import Qtimport syssys.path.append("...")import jsonimport datetimefrom orderDataDisplay import orderDisplayfrom InfOperate import occupySeat,order,timeoutDetection,alreadyOrederclassWindow_main(QWidget):    def__init__(self,Width=700,Height=840):        super().__init__()         self.setWindowTitle("book seat online")        timeoutDetection()        self.Width=Width        self.Height=Height        self.selectedId=""        self.selectedBtn=[]        self.icoPath="./gallery/icon.ico"        # 字体标签        title_qf=QFont()        title_qf.setPointSize(11)        title_qf.setBold(True)        title_qf.setFamily("Cambria")        main_qf=QFont()        main_qf.setPointSize(27)        main_qf.setBold(True)        main_qf.setFamily("Cambria")        Inf_qf=QFont()        Inf_qf.setPointSize(10)        Inf_qf.setBold(True)        Inf_qf.setFamily("Cambria")        table_qf=QFont()        table_qf.setPointSize(16)        table_qf.setBold(True)        table_qf.setFamily("Cambria")        # ---        self.QF_part_title=title_qf         # 框标题字体标签        self.QF_main_title=main_qf          # 主标题字体标签        self.QF_state_explain=Inf_qf        # 状态标签解释文本字体标签        self.QF_Inf_title=title_qf          # 信息标题字体标签        self.QF_Inf_text=Inf_qf             # 信息文本字体标签        self.QF_table_name=table_qf         # 桌子编号信息标签        # 样式表        self.SS_part_frame="QLabel{background: rgb(245,245,245);color:rgb(92,92,92);border-radius:8px;border: 2.5px solid rgb(122,122,122)}"        self.SS_part_title="QLabel{background: rgb(245,245,245);color:rgb(92,92,92)}"        self.SS_main_title="QLabel{background: rgb(245,245,245);color:rgb(92,92,92);border-radius:50px;border: 3px solid rgb(142,142,142)}"        self.SS_state_frame="QLabel{background: rgb(245,245,245);border-radius:5px;border: 3px solid rgb(172,172,172)}"        self.SS_W="QLabel{background: rgb(242,242,242);border-radius:9px;border: 3px solid rgb(74,69,42)}"        self.SS_K="QLabel{background: rgb(64,64,64);border-radius:9px;border: 3px solid rgb(74,69,42)}"        self.SS_R="QLabel{background: rgb(149,55,43);border-radius:9px;border: 3px solid rgb(74,69,42)}"        self.SS_state_explain="QLabel{background: rgb(214,219,233);color:rgb(92,92,92)}"        self.SS_Inf_title="QLabel{background: rgb(230,230,230);color:rgb(82,82,82);border-radius:8px}"        self.SS_text_Line="QLineEdit{border-radius:3px;background: rgb(205,205,205);color:rgb(82,82,82)}"        self.SS_book_btn="color:rgb(255,255,255);background: rgb(79,148,204)"        # path=sys.argv[0]        # path=path[0:path.rfind("/")]        f=open("./config/seatInf.json","r")        seatInf=json.load(f)        f=open("./config/occupied.json","r")        seatOccupied=json.load(f)        self.seatInf=seatInf        self.seatOccupied=json.loads(seatOccupied)        self.setSize()        self.setIcon()        self.partition()        self.setStateExp()        self.setInfBox()        self.setMap()        self.setBookBtn()        # ================================================================================================    # 回调函数部分:    defselectedPos(self):# 座位选择回调        btn=self.sender()        tempSelectedId=btn.property("chairId")        if not self.seatOccupied[tempSelectedId]:            if len(self.selectedId)==0:                self.selectedId=tempSelectedId                self.selectedBtn=btn                btn.setStyleSheet(self.seatInf["chairSS_R"])                self.selectedBox.setText(" 当前选择:  "+tempSelectedId)            else:                self.selectedBtn.setStyleSheet(self.seatInf["chairSS_W"])                self.selectedBtn=btn                btn.setStyleSheet(self.seatInf["chairSS_R"])                self.selectedId=tempSelectedId                self.selectedBox.setText(" 当前选择:  "+tempSelectedId)    defbookSeat(self):        if not len(self.selectedId)==0:            if alreadyOreder(self.InfBox_Id.text()):                print("================================")                print("请勿重复预约")                print(" ")            else:                nowDate=datetime.datetime.now()                nowDateStr=nowDate.strftime('%Y-%m-%d %H:%M:%S')                print("================================")                print(nowDateStr)                print("姓名:"+self.InfBox_Name.text())                print("学号:"+self.InfBox_Id.text())                print("座次:"+self.selectedId)                print(" ")                # myapp.exit()                # app = QApplication.instance()                # if app is None:                 #     app = QApplication(sys.argv)                self.window_disp= orderDisplay(self.InfBox_Name.text(),                            self.InfBox_Id.text(),                            nowDateStr,                            self.selectedId,700,840)                self.window_disp.show()                self.close()                occupySeat(self.selectedId)                order(self.InfBox_Id.text(),nowDateStr,self.selectedId)    # ================================================================================================    # 框架构造函数部分:    defsetSize(self):# 调整框架大小        self.setGeometry(80,80,self.Width,self.Height)        self.setMaximumSize(self.Width,self.Height)        self.setMinimumSize(self.Width,self.Height)    defsetIcon(self):# 设置图标        appIcon=QIcon(self.icoPath)        self.setWindowIcon(appIcon)    defsetStateExp(self):# 绘制状态解释框        Width=self.Width        Height=self.Height        self.part0=QLabel(self)        self.part0.setGeometry(0.66*Width,0.045*Height,                               0.28*Width,0.14*Height)        self.part0.setStyleSheet(self.SS_state_frame)        # ---Color Bar--------------------------------------------------------------------        self.CB1=QLabel(self)        self.CB1.setGeometry(0.68*Width,0.06*Height,0.05*Width,0.03*Height)        self.CB1.setStyleSheet(self.SS_W)         self.CB2=QLabel(self)        self.CB2.setGeometry(0.68*Width,(0.06+0.04)*Height,0.05*Width,0.03*Height)        self.CB2.setStyleSheet(self.SS_K)         self.CB3=QLabel(self)        self.CB3.setGeometry(0.68*Width,(0.06+0.08)*Height,0.05*Width,0.03*Height)        self.CB3.setStyleSheet(self.SS_R)         # ---Color Bar 解释文本-------------------------------------------------------------        self.plaintext1=QLabel(self)        self.plaintext1.setGeometry(0.76*Width,(0.059)*Height,0.15*Width,0.032*Height)        self.plaintext1.setStyleSheet(self.SS_state_explain)        self.plaintext1.setText(" 可选择")        self.plaintext1.setFont(self.QF_state_explain)        self.plaintext2=QLabel(self)        self.plaintext2.setGeometry(0.76*Width,(0.059+0.04)*Height,0.15*Width,0.032*Height)        self.plaintext2.setStyleSheet(self.SS_state_explain)        self.plaintext2.setText(" 已被选")        self.plaintext2.setFont(self.QF_state_explain)        self.plaintext3=QLabel(self)        self.plaintext3.setGeometry(0.76*Width,(0.059+0.08)*Height,0.15*Width,0.032*Height)        self.plaintext3.setStyleSheet(self.SS_state_explain)        self.plaintext3.setText(" 当前选择")        self.plaintext3.setFont(self.QF_state_explain)    defsetInfBox(self):        Width=self.Width        Height=self.Height        # ---信息标题------------------------------------------        self.InfTitle_Name=QLabel(self)        self.InfTitle_Name.setGeometry(0.09*Width,0.28*Height,                                       0.16*Width,0.05*Height)        self.InfTitle_Name.setStyleSheet(self.SS_Inf_title)        self.InfTitle_Name.setText("   姓名:")        self.InfTitle_Name.setFont(self.QF_Inf_title)        # ---        self.InfTitle_Id=QLabel(self)        self.InfTitle_Id.setGeometry(0.09*Width,0.36*Height,                                     0.16*Width,0.05*Height)        self.InfTitle_Id.setStyleSheet(self.SS_Inf_title)        self.InfTitle_Id.setText("   学号:")        self.InfTitle_Id.setFont(self.QF_Inf_title)        # ---信息文本框------------------------------------------        self.InfBox_Name=QLineEdit(self        self.InfBox_Name.setText("示例:李华"        self.InfBox_Name.move(0.3*Width,0.281*Height)          self.InfBox_Name.resize(0.6*Width,0.048*Height)        self.InfBox_Name.setFont(self.QF_Inf_text)        self.InfBox_Name.setStyleSheet(self.SS_text_Line)        #self.InfBox_Name.textChanged.connect(self.colorCheckFunc)        self.InfBox_Id=QLineEdit(self        self.InfBox_Id.setText("示例:XXXXXXXXXXX"        self.InfBox_Id.move(0.3*Width,0.361*Height)          self.InfBox_Id.resize(0.6*Width,0.048*Height)        self.InfBox_Id.setFont(self.QF_Inf_text)        self.InfBox_Id.setStyleSheet(self.SS_text_Line)        #self.InfBox_ID.textChanged.connect(self.colorCheckFunc)    defpartition(self):# 绘制框线分布        Width=self.Width        Height=self.Height        # ---标题框---------------------------------------------------        self.part0=QLabel(self)        self.part0.setGeometry(0.05*Width,0.045*Height,                               0.52*Width,0.14*Height)        self.part0.setStyleSheet(self.SS_main_title)        self.part0.setAlignment(Qt.AlignCenter)        self.part0.setText(" 自习室预约")        self.part0.setFont(self.QF_main_title)        # self.part0title=QLabel(self)        # self.part0title.setGeometry(0.098*Width,0.06*Height,        #                             0.43*Width,0.11*Height)        # self.part0title.setStyleSheet(self.SS_part_title)        # self.part0title.setText(" 自习室预约")        # self.part0title.setFont(self.QF_main_title)        # ---信息填写框-----------------------------------------------        self.part1=QLabel(self)        self.part1.setGeometry(0.04*Width,0.23*Height,                               0.92*Width,0.24*Height)        self.part1.setStyleSheet(self.SS_part_frame)        self.part1title=QLabel(self)        self.part1title.setGeometry(0.08*Width,0.21*Height,                                    0.15*Width,0.04*Height)        self.part1title.setStyleSheet(self.SS_part_title)        self.part1title.setText(" 信息填写")        self.part1title.setFont(self.QF_part_title)        # ---座位选择框------------------------------------------------        self.part2=QLabel(self)        self.part2.setGeometry(0.04*Width,0.53*Height,                               0.92*Width,0.355*Height)        self.part2.setStyleSheet(self.SS_part_frame)        self.part1title=QLabel(self)        self.part1title.setGeometry(0.08*Width,0.51*Height,                                    0.15*Width,0.04*Height)        self.part1title.setStyleSheet(self.SS_part_title)        self.part1title.setText(" 座位选择")        self.part1title.setFont(self.QF_part_title)        # ================================================================================================        # 可滑动区域部分:    defsetMap(self):        Width=self.Width        Height=self.Height        self.map=QScrollArea(self)        self.map.setGeometry(0.05*Width,0.545*Height,                             0.9*Width,0.325*Height)        self.drawMap()        self.map.setWidget(self.mapContent)    defdrawMap(self):# 绘制座位地图        self.mapContent=QWidget(self)           boxWidth=0.9*self.Width        boxHeight=0.325*self.Height        seatInf=self.seatInf        seatOccupied=self.seatOccupied        mapWidth=boxWidth*seatInf["mapSize"][0]        mapHeight=boxHeight*seatInf["mapSize"][1]        tableSize=seatInf["tableSize"]        tablePos=seatInf["tablePos"]        chairSize=seatInf["chairSize"]        chairPos=seatInf["chairPos"]        self.mapContent.setGeometry(0,0,mapWidth,mapHeight)         self.mapContent.setMaximumSize(mapWidth,mapHeight)        self.mapContent.setMinimumSize(mapWidth,mapHeight)        for i in range(0,seatInf["tableNum"]):            table=QLabel(self.mapContent)            table.setGeometry(tablePos[i][0]*mapWidth,tablePos[i][1]*mapHeight,                              tableSize[i][0]*mapWidth,tableSize[i][1]*mapHeight)            table.setText(seatInf["tableId"][i])            table.setFont(self.QF_table_name)            table.setAlignment(Qt.AlignCenter)            table.setStyleSheet(seatInf["tableSS"][seatInf["tableType"][i]])            for j in range(0,seatInf["chairNum"][i]):                chairBnt=QPushButton(self.mapContent)                chairBnt.setGeometry((tablePos[i][0]+chairPos[i][j][0])*mapWidth,                                     (tablePos[i][1]+chairPos[i][j][1])*mapHeight,                                     chairSize[0]*mapWidth,                                     chairSize[1]*mapHeight)                chairId=seatInf["tableId"][i]+str(j+1)                if seatOccupied[chairId]:                    chairBnt.setStyleSheet(seatInf["chairSS_K"])                else:                    chairBnt.setStyleSheet(seatInf["chairSS_W"])                chairBnt.setProperty("chairId",chairId)                chairBnt.clicked.connect(self.selectedPos)    defsetBookBtn(self):        Width=self.Width        Height=self.Height        self.selectedBox=QLabel(self)        self.selectedBox.setGeometry(0.54*Width,(0.92)*Height,0.22*Width,0.05*Height)        self.selectedBox.setStyleSheet(self.SS_state_explain)        self.selectedBox.setText(" 当前选择:")        self.selectedBox.setFont(self.QF_Inf_title)        self.bookBtn=QPushButton(self)        self.bookBtn.setGeometry(0.79*Width,(0.92)*Height,0.16*Width,0.05*Height)        self.bookBtn.setStyleSheet(self.SS_book_btn)        self.bookBtn.setText("预约")        self.bookBtn.setFont(self.QF_Inf_title)        self.bookBtn.clicked.connect(self.bookSeat)# ===========================================================================================# 函数调用:myapp = QApplication(sys.argv)window_main = Window_main(700,840)window_main.show()sys.exit(myapp.exec_())

6.2 orderDataDisplay.py

from PySide2.QtWidgets import QApplication, QWidgetfrom PySide2.QtWidgets import QLabel,QPushButtonfrom PySide2.QtGui import QIcon,QFont,QPixmapfrom PySide2.QtCore import Qtimport syssys.path.append("...")import datetimefrom InfOperate import freeSeat,setStringclassWindow_disp(QWidget):    def__init__(self,studentName,studentId,bookTime,seatId,Width=700,Height=840):        super().__init__()         self.setWindowTitle("order successfully")        self.studentName=studentName        self.studentId=studentId        self.bookTime=bookTime        self.seatId=seatId        self.Width=Width        self.Height=Height        # path=sys.argv[0]        # path=path[0:path.rfind("/")]        self.orderSuccTitlePath="./gallery/order_succ_title.png"        self.icoPath="./gallery/icon.ico"        # 字体标签        title_qf=QFont()        title_qf.setPointSize(11)        title_qf.setBold(True)        title_qf.setFamily("Cambria")        Inf_qf=QFont()        Inf_qf.setPointSize(10)        Inf_qf.setBold(True)        Inf_qf.setFamily("Cambria")        matters_qf=QFont()        matters_qf.setPointSize(10.5)        matters_qf.setBold(True)        matters_qf.setFamily("Cambria")        # ---        self.QF_part_title=title_qf         # 框标题字体标签        self.QF_Inf_title=title_qf          # 信息标题字体标签        self.QF_Inf_text=Inf_qf             # 信息文本字体标签        self.QF_matters=matters_qf          # 注意事项字体标签        # 样式表        self.SS_part_frame="QLabel{background: rgb(245,245,245);color:rgb(92,92,92);border-radius:8px;border: 2.5px solid rgb(122,122,122)}"        self.SS_part_title="QLabel{background: rgb(245,245,245);color:rgb(92,92,92)}"        self.SS_Inf_title="QLabel{background: rgb(230,230,230);color:rgb(82,82,82);border-radius:8px}"        self.SS_text_Line="QLabel{border-radius:3px;background: rgb(205,205,205);color:rgb(82,82,82)}"        self.SS_book_btn="color:rgb(255,255,255);background: rgb(79,148,204)"        self.setSize()        self.setIcon()        self.setTitle()        self.partition()        self.InfDisplay()        self.mattersDisplay()        self.setBtn()    # ================================================================================================    # 回调函数部分:    deftempLeave(self):        if self.tleaveBtn.text()=="暂离":            setString(self.seatId,"temp")            nowDate=datetime.datetime.now()            nowDateStr=nowDate.strftime('%Y-%m-%d %H:%M:%S')            self.InfBox_Time.setText(nowDateStr)             self.tleaveBtn.setText("暂离中")    defleave(self):        freeSeat(self.seatId)        self.close()    # ================================================================================================    # 框架构造函数部分:    defsetSize(self):# 调整框架大小        self.setGeometry(80,80,self.Width,self.Height)        self.setMaximumSize(self.Width,self.Height)        self.setMinimumSize(self.Width,self.Height)    defsetIcon(self):# 设置图标        appIcon=QIcon(self.icoPath)        self.setWindowIcon(appIcon)    defsetTitle(self):        Width=self.Width        Height=self.Height        self.Imgbox=QLabel(self)        self.Imgbox.setGeometry(0.24*Width,0.02*Height,                                0.52*Width,0.18*Height)        self.Imgpic=QPixmap(self.orderSuccTitlePath)        self.Imgpic=self.Imgpic.scaled(0.52*Width,0.18*Height)        self.Imgbox.setPixmap(self.Imgpic)    defpartition(self):# 绘制框线分布        Width=self.Width        Height=self.Height        # ---信息展示框-----------------------------------------------        self.part1=QLabel(self)        self.part1.setGeometry(0.04*Width,0.23*Height,                               0.92*Width,0.40*Height)        self.part1.setStyleSheet(self.SS_part_frame)        self.part1title=QLabel(self)        self.part1title.setGeometry(0.08*Width,0.21*Height,                                    0.15*Width,0.04*Height)        self.part1title.setStyleSheet(self.SS_part_title)        self.part1title.setText(" 个人信息 ")        self.part1title.setFont(self.QF_part_title)        # ---注意事项框-----------------------------------------------        self.part2=QLabel(self)        self.part2.setGeometry(0.04*Width,0.67*Height,                               0.92*Width,0.22*Height)        self.part2.setStyleSheet(self.SS_part_frame)        self.part2title=QLabel(self)        self.part2title.setGeometry(0.08*Width,0.65*Height,                                    0.15*Width,0.04*Height)        self.part2title.setStyleSheet(self.SS_part_title)        self.part2title.setText(" 注意事项")        self.part2title.setFont(self.QF_part_title)    defInfDisplay(self):        Width=self.Width        Height=self.Height        # ---信息标题------------------------------------------        self.InfTitle_Name=QLabel(self)        self.InfTitle_Name.setGeometry(0.09*Width,0.28*Height,                                       0.16*Width,0.05*Height)        self.InfTitle_Name.setStyleSheet(self.SS_Inf_title)        self.InfTitle_Name.setText("   姓名:")        self.InfTitle_Name.setFont(self.QF_Inf_title)        # ---        self.InfTitle_Id=QLabel(self)        self.InfTitle_Id.setGeometry(0.09*Width,0.36*Height,                                     0.16*Width,0.05*Height)        self.InfTitle_Id.setStyleSheet(self.SS_Inf_title)        self.InfTitle_Id.setText("   学号:")        self.InfTitle_Id.setFont(self.QF_Inf_title)        # ---        self.InfTitle_Time=QLabel(self)        self.InfTitle_Time.setGeometry(0.09*Width,0.44*Height,                                     0.16*Width,0.05*Height)        self.InfTitle_Time.setStyleSheet(self.SS_Inf_title)        self.InfTitle_Time.setText("   时间:")        self.InfTitle_Time.setFont(self.QF_Inf_title)        # ---        self.InfTitle_Seat=QLabel(self)        self.InfTitle_Seat.setGeometry(0.09*Width,0.52*Height,                                     0.16*Width,0.05*Height)        self.InfTitle_Seat.setStyleSheet(self.SS_Inf_title)        self.InfTitle_Seat.setText("   座次:")        self.InfTitle_Seat.setFont(self.QF_Inf_title)        # ---信息文本框------------------------------------------        self.InfBox_Name=QLabel(self        self.InfBox_Name.setText(self.studentName)         self.InfBox_Name.move(0.3*Width,0.281*Height)          self.InfBox_Name.resize(0.6*Width,0.048*Height)        self.InfBox_Name.setFont(self.QF_Inf_text)        self.InfBox_Name.setStyleSheet(self.SS_text_Line)        self.InfBox_Name.setAlignment(Qt.AlignCenter)        # ---        self.InfBox_Id=QLabel(self        self.InfBox_Id.setText(self.studentId)         self.InfBox_Id.move(0.3*Width,0.361*Height)          self.InfBox_Id.resize(0.6*Width,0.048*Height)        self.InfBox_Id.setFont(self.QF_Inf_text)        self.InfBox_Id.setStyleSheet(self.SS_text_Line)        self.InfBox_Id.setAlignment(Qt.AlignCenter)        # ---        self.InfBox_Time=QLabel(self        self.InfBox_Time.setText(self.bookTime)         self.InfBox_Time.move(0.3*Width,0.441*Height)          self.InfBox_Time.resize(0.6*Width,0.048*Height)        self.InfBox_Time.setFont(self.QF_Inf_text)        self.InfBox_Time.setStyleSheet(self.SS_text_Line)        self.InfBox_Time.setAlignment(Qt.AlignCenter)        # ---        self.InfBox_Seat=QLabel(self        self.InfBox_Seat.setText(self.seatId)         self.InfBox_Seat.move(0.3*Width,0.521*Height)          self.InfBox_Seat.resize(0.6*Width,0.048*Height)        self.InfBox_Seat.setFont(self.QF_Inf_text)        self.InfBox_Seat.setStyleSheet(self.SS_text_Line)        self.InfBox_Seat.setAlignment(Qt.AlignCenter)    defmattersDisplay(self):        Width=self.Width        Height=self.Height        self.m1=QLabel(self        self.m1.setText("1、预约成功后请在30分钟内到达,否则预约信息将失效。"        self.m1.setGeometry(0.06*Width,0.71*Height,                            0.87*Width,0.03*Height)        self.m1.setStyleSheet("QLabel{color:rgb(82,82,82)}")        self.m1.setFont(self.QF_matters)        self.m2=QLabel(self        self.m2.setText("2、进入自习室前请刷校园卡核验信息。"        self.m2.setGeometry(0.06*Width,0.75*Height,                            0.87*Width,0.03*Height)        self.m2.setStyleSheet("QLabel{color:rgb(82,82,82)}")        self.m2.setFont(self.QF_matters)        self.m3=QLabel(self        self.m3.setText("3、如要离开请点击下方“暂离”按钮,否则将释放座位信息。"        self.m3.setGeometry(0.06*Width,0.79*Height,                            0.87*Width,0.03*Height)        self.m3.setStyleSheet("QLabel{color:rgb(82,82,82)}")        self.m3.setFont(self.QF_matters)        self.m4=QLabel(self        self.m4.setText("4、离开、取消预约请点击下方“离开\取消”按钮。"        self.m4.setGeometry(0.06*Width,0.83*Height,                            0.87*Width,0.03*Height)        self.m4.setStyleSheet("QLabel{color:rgb(82,82,82)}")        self.m4.setFont(self.QF_matters)    defsetBtn(self):        Width=self.Width        Height=self.Height        self.tleaveBtn=QPushButton(self)        self.tleaveBtn.setGeometry(0.18*Width,(0.92)*Height,0.2*Width,0.05*Height)        self.tleaveBtn.setStyleSheet(self.SS_book_btn)        self.tleaveBtn.setText("暂离")        self.tleaveBtn.setFont(self.QF_Inf_title)        self.tleaveBtn.clicked.connect(self.tempLeave)        Width=self.Width        Height=self.Height        self.leaveBtn=QPushButton(self)        self.leaveBtn.setGeometry((1-0.2-0.18)*Width,(0.92)*Height,0.2*Width,0.05*Height)        self.leaveBtn.setStyleSheet(self.SS_book_btn)        self.leaveBtn.setText("离开\取消")        self.leaveBtn.setFont(self.QF_Inf_title)        self.leaveBtn.clicked.connect(self.leave)# ===========================================================================================# 函数调用:# myapp = QApplication(sys.argv)# window_disp = Window_disp("李华","1816000XXXX","2021-05-30 17:04:24","A1",700,840)# window_disp.show()# myapp.exec_()deforderDisplay(studentName,studentId,bookTime,seatId,Width=700,Height=840):    window_disp = Window_disp(studentName,studentId,bookTime,seatId,Width,Height)    return window_disp

-1 后注

完整代码、json文件、图片素材、md文件下载链接如下,详细描述请阅读README.md文件:

公众号后台回复:自习室项目 获取完整项目配置

记得点赞,在看,谢谢各位~

低价卡永久QQ绿钻黄钻超级会员会员,永久爱奇艺腾讯会员,网红商城-短视频加热助手、抖音快手大大提升上热门概率、空间人气、说说赞、QQ大会员、超级会员、全民K歌鲜花、QQ钻,

真人拼多多砍价,拆红包,现金大转盘等各种助力等。超多各种低价业务,欢迎收藏!500人帮砍!

自助下单地址:https://48.dye11.cn/7cBH7D44

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 14:12:27 HTTP/2.0 GET : https://f.mffb.com.cn/a/464699.html
  2. 运行时间 : 0.234803s [ 吞吐率:4.26req/s ] 内存消耗:4,633.20kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=78c67d05d76f61c9d7b0a389f9b0c70d
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001076s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001540s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000691s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000671s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001306s ]
  6. SELECT * FROM `set` [ RunTime:0.000604s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001441s ]
  8. SELECT * FROM `article` WHERE `id` = 464699 LIMIT 1 [ RunTime:0.003396s ]
  9. UPDATE `article` SET `lasttime` = 1770531147 WHERE `id` = 464699 [ RunTime:0.038403s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001026s ]
  11. SELECT * FROM `article` WHERE `id` < 464699 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002141s ]
  12. SELECT * FROM `article` WHERE `id` > 464699 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001694s ]
  13. SELECT * FROM `article` WHERE `id` < 464699 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002468s ]
  14. SELECT * FROM `article` WHERE `id` < 464699 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005041s ]
  15. SELECT * FROM `article` WHERE `id` < 464699 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003396s ]
0.242202s