feat: 现代化翻页组件 + 完整项目更新
- 新增 Pagination 通用组件:首页/上一页/页码/下一页/末页导航 - PickModal 和 SwapModal 集成分页功能,每页20项 - 搜索/筛选切换自动回到第1页 - 现代化CSS样式:hover浮起动效、主色高亮、移动端适配 - 新增 dashboard、admin 管理模板 - 菜系(cuisine)模型和迁移 - 构建脚本 build.py 支持 PyInstaller 打包 - 前端资源重新构建
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
; Inno Setup script for 学校订餐菜单生成器
|
||||
; Build with: iscc school-meal-setup.iss
|
||||
; Prerequisites: Inno Setup 6.x (https://jrsoftware.org/isinfo.php)
|
||||
;
|
||||
; This script packages the PyInstaller output (dist/school-meal/) into a
|
||||
; standard Windows installer with Start Menu shortcuts and uninstall support.
|
||||
|
||||
[Setup]
|
||||
AppId={{B7E3A4F1-5D92-4C8A-9F6E-2A1B3C4D5E6F}
|
||||
AppName=学校订餐菜单生成器
|
||||
AppVersion=1.0.0
|
||||
AppPublisher=学校食堂管理
|
||||
AppPublisherURL=
|
||||
DefaultDirName={autopf}\学校订餐菜单生成器
|
||||
DefaultGroupName=学校订餐菜单生成器
|
||||
OutputDir=installer
|
||||
OutputBaseFilename=学校订餐菜单生成器-安装包
|
||||
SetupIconFile=app.ico
|
||||
Compression=lzma2/ultra64
|
||||
SolidCompression=yes
|
||||
WizardStyle=modern
|
||||
PrivilegesRequired=lowest
|
||||
PrivilegesRequiredOverridesAllowed=dialog
|
||||
ArchitecturesAllowed=x64compatible
|
||||
ArchitecturesInstallIn64BitMode=x64compatible
|
||||
CloseApplications=force
|
||||
RestartApplications=no
|
||||
DisableProgramGroupPage=yes
|
||||
UninstallDisplayIcon={app}\app.ico
|
||||
LicenseFile=
|
||||
|
||||
[Languages]
|
||||
Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
|
||||
[Tasks]
|
||||
Name: "desktopicon"; Description: "创建桌面快捷方式"; GroupDescription: "附加选项:"; Flags: checkedonce
|
||||
|
||||
[Files]
|
||||
; Main executable
|
||||
Source: "dist\school-meal\school-meal.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
; Database template (always updated — user data lives in %LOCALAPPDATA%)
|
||||
Source: "dist\school-meal\db.sqlite3"; DestDir: "{app}"; Flags: ignoreversion uninsneveruninstall
|
||||
; All runtime dependencies
|
||||
Source: "dist\school-meal\_internal\*"; DestDir: "{app}\_internal"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
; Application icon (referenced by shortcuts and uninstall)
|
||||
Source: "app.ico"; DestDir: "{app}"; Flags: ignoreversion
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\学校订餐菜单生成器"; Filename: "{app}\school-meal.exe"; IconFilename: "{app}\app.ico"
|
||||
Name: "{group}\卸载 学校订餐菜单生成器"; Filename: "{uninstallexe}"; IconFilename: "{app}\app.ico"
|
||||
Name: "{autodesktop}\学校订餐菜单生成器"; Filename: "{app}\school-meal.exe"; Tasks: desktopicon; IconFilename: "{app}\app.ico"
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\school-meal.exe"; Description: "启动 菜单生成器"; Flags: nowait postinstall skipifsilent
|
||||
|
||||
[Code]
|
||||
// Check if school-meal is already running before install/uninstall
|
||||
function InitializeSetup: Boolean;
|
||||
var
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
Result := True;
|
||||
Exec('taskkill', '/F /IM school-meal.exe', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
end;
|
||||
|
||||
function InitializeUninstall: Boolean;
|
||||
var
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
Result := True;
|
||||
Exec('taskkill', '/F /IM school-meal.exe', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
end;
|
||||
|
||||
function PrepareToInstall(var NeedsRestart: Boolean): String;
|
||||
var
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
Result := '';
|
||||
Exec('taskkill', '/F /IM school-meal.exe', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
end;
|
||||
Reference in New Issue
Block a user