后端前端企业应用【免费下载链接】GreaterWMSThis Inventory management system is the currently Ford Asia Pacific after-sales logistics warehousing supply chain process . After I leave Ford , I start this project . You can share your vacant warehouse space, use it for those in need, and generate income项目地址https://gitcode.com/gh_mirrors/gr/GreaterWMS点击查看免费下载GreaterWMS 是开源仓库中一套完整的仓库管理系统其后端采用 Django REST Framework前端 Web 端基于 QuasarVue 3而移动端PDA/扫码手持终端则由 app 目录下的 Quasar Cordova 工程承载。本文以 app/README.md 中记录的命令行工作流为主线逐条拆解从依赖安装、平台添加、开发调试、生产构建到使用 Google bundletool 生成与安装GWMS.apks的完整链路并结合仓库源码说明 Cordova 插件体系、扫码设备适配等底层细节。读完本文你将能够独立完成 GreaterWMS 移动端在 Android 环境下的构建、打包与真机安装并理解每一步命令背后的作用与产出物。一、构建链路总览app/README.md记录的完整命令序列如下yarn install cordova platform add android cordova platform add ios quasar d -m cordova -T android quasar build -m android bundletool.jar build-apks --bundleapp-release.aab --outputGWMS.apks bundletool.jar install-apks --apksGWMS.apks这条链路可以划分为四个阶段阶段命令产出依赖安装yarn install安装 app/package.json 声明的全部依赖平台初始化cordova platform add android/ios在src-cordova下生成 Cordova 平台工程应用构建quasar d -m cordova -T android/quasar build -m android开发调试包 / 生产app-release.aab打包安装bundletool.jar build-apks/install-apksGWMS.apks及其真机安装其中quasar build -m android是整条链路的枢纽它同时触发 Quasar 前端Vite构建与 Cordova 原生工程编译最终产出 Android App BundleAAB格式的生产包为后续 bundletool 分发做准备。二、环境准备构建移动端所需的前置工具在执行第一条命令之前需要确认本地环境满足 app/package.json 中engines字段声明的最低版本要求engines: { node: ^18 || ^16 || ^14.19, npm: 6.13.4, yarn: 1.21.1 }即 Node.js 14.19 / 16 / 18 任一主版本包管理器建议使用 Yarn 1.21.1 及以上yarn install是 README 中的标准入口仓库根目录也提供了 yarn.lock 锁定依赖版本。构建 Android 目标还需要Quasar CLIquasar/cli提供quasar ddev 开发与quasar build生产构建两条核心命令Cordova CLIcordova负责platform add、原生工程编译等操作JDK 与 Android SDKCordova Android 平台仓库锁定cordova-android^10.1.2见 app/src-cordova/package.json需要 JDK 11 与 Android SDK含 build-tools、platform-toolsGradle 会在首次构建时自动下载adb用于真机连接是install-apks阶段与设备通信的前提bundletool.jarGoogle 官方发布的 Android App Bundle 构建/安装工具可通过官方发布渠道下载 jar 包后按文档方式调用。值得说明的是app/quasar.config.js 的build.target将浏览器目标设定为es2019/edge88/firefox78/chrome87/safari13.1node目标为node16这意味着移动端 WebView 需要支持 ES2019 语法现代 Android WebView 均可满足。三、第一步安装依赖并初始化 Cordova 平台3.1 安装前端依赖在app目录下执行yarn install该命令依据 app/package.json 安装运行时依赖与开发依赖其中与移动端构建直接相关的是运行时quasar^2.6.0、vue^3.0.0、vue-router^4.0.0、vuex^4.0.1、axios^0.21.1、vue-i18n^9.0.0构建工具链quasar/app-vite^1.0.0Quasar Vite 版 CLI 插件、intlify/vite-plugin-vue-i18n^3.3.1i18n 资源编译、eslint、prettier等。仓库的 app/src/i18n 目录下包含 11 种语言的翻译资源zh-hans、en-US、ja、de、fr、it、pt、ru、sp、ar、zh-hant这些资源通过intlify/vite-plugin-vue-i18n在构建时被预编译具体配置见 app/quasar.config.js。3.2 添加 Android / iOS 平台cordova platform add android cordova platform add ios这两条命令会在 app/src-cordova 目录下生成对应的原生平台工程platforms/android、platforms/ios。需要注意的是iOS 平台仅在 macOS 上可用且需要 Xcode 工具链Windows/Linux 环境只需执行cordova platform add android跳过 ios 命令即可平台命令是幂等的重复执行会提示平台已存在当前仓库在 app/src-cordova/package.json 中登记的平台为androidcordova.platforms列表仅包含androidiOS 平台为按 README 指令可选添加。添加平台后Cordova 会根据 app/src-cordova/config.xml 与插件清单把下列插件注入原生工程依据 app/src-cordova/plugins/android.json 的installed_plugins与dependent_plugins插件用途phonegap-plugin-barcodescanner通用相机条码扫描参数ANDROID_SUPPORT_V4_VERSION27.cordova-plugin-device获取设备型号/厂商用于扫码设备识别cordova-plugin-battery-status电量状态监听cordova-plugin-dialogs原生对话框cordova-plugin-insomnia保持屏幕常亮cordova-plugin-splashscreen启动闪屏控制cordova-plugin-vibration扫描成功震动反馈ionic-plugin-keyboard键盘控制com-darryncampbell-cordova-plugin-intentIntent 广播Zebra DataWedge 通信cordova-plugin-idatascanner/cordova-plugin-seuic-scanneriData / SEUIC 厂商扫描头接入四、第二步开发模式调试quasar dquasar d -m cordova -T android该命令以开发模式启动移动端调试-m cordova指定 Quasar 以 Cordova 模式运行-T android--target的缩写指定目标平台为 Android。执行后 Quasar 会启动 Vite 开发服务器并通过 Cordova 把应用打包成调试 APK 安装到已连接的 Android 设备或模拟器上。开发模式下支持 HMR热更新app/quasar.config.js 中的devServer.open: true会在 Web 模式自动打开浏览器而在 Cordova 模式下则由原生 WebView 加载。开发模式下app/src-cordova/config.xml 中android平台的偏好设置会生效preference nameAndroidPersistentFileLocation valueCompatibility / preference nameAndroidInsecureFileModeEnabled valuetrue /AndroidInsecureFileModeEnabledtrue允许应用在非 HTTPS 环境下加载本地资源这对开发调试阶段连接本地后端服务尤为关键。此外全局偏好中AutoHideSplashScreenfalse与SplashScreenDelay10000表示闪屏不会自动隐藏而是由应用逻辑在deviceready后手动控制配合 quasar.config.js 中cordova.backButtonExit: true、backButton: true的返回键行为配置。五、第三步生产构建quasar build -m androidquasar build -m android这是产出正式安装包的核心步骤它完成两件事Quasar/Vite 前端构建将 app/src 下的 Vue 组件、i18n 资源、SCSS 样式编译为生产静态资源开启 gzip 压缩见 app/quasar.config.js并注入到 Cordova 的www目录对应 app/src-cordova/www其中index.html的入口由 app/index.html 模板生成模板在 Cordova 模式会追加viewport-fitcover以适配刘海屏Cordova/Gradle 原生编译将www资源与 Android 原生壳打包最终在app/src-cordova/platforms/android下产出app-release.aabAndroid App Bundle。与quasar d相比quasar build -m android默认产出 release 签名配置对应的 AAB 包这也是 README 下一步--bundleapp-release.aab直接引用该文件名的原因。若需生成传统 APK可配合 Cordova 的--apk类参数调整产物格式具体以所用 Quasar CLI 版本的能力为准。构建完成后应能在src-cordova/platforms/android的相关outputs/bundle/release目录下找到app-release.aab。移动端应用的应用 ID 由 app/src-cordova/config.xml 定义widget idorg.greaterwms.scanner.app version2.1.48 ...即包名为org.greaterwms.scanner.app版本号与 app/package.json 中的version: 2.1.48保持一致。六、第四步用 bundletool 生成并安装 APKS 套件Android App Bundle 不能直接安装到设备必须先用 bundletool 按设备配置拆分出 APK 集合APKS再分发或安装。6.1 生成 APKSbundletool.jar build-apks --bundleapp-release.aab --outputGWMS.apks--bundle指定上一步产出的 AAB 文件--output指定输出文件README 中命名为GWMS.apks。GWMS.apks本质是一个包含多个 APKbase、split、可能包含多种 ABI 与语言资源变体的 zip 集合。它利用 AAB 的按需分发特性只为目标设备下载必要的内容从而缩小安装体积。6.2 安装 APKSbundletool.jar install-apks --apksGWMS.apks该命令通过 adb 将GWMS.apks中匹配当前设备配置的 APK 集合安装到已连接的设备。若同时连接了多台设备可追加--device-idserial指定目标设备该参数为 bundletool 的标准用法README 未列出属可选增强项。install-apks完成后手机上即可看到名为GWMS的应用name定义于 app/src-cordova/config.xml。6.3 关于签名生产发布时app-release.aab需要携带有效的 release 签名。开发环境下 Cordova 默认使用 debug 签名若要正式上架或发布给团队内部使用需要按 Android 官方流程配置签名密钥Keystore并对 release 构建进行签名。README 中的命令序列未包含签名配置细节属于发布前需自行补齐的环节此处仅作提醒。七、iOS 平台构建说明README 中的cordova platform add ios仅在 macOS Xcode 环境下可完整执行。仓库在 app/src-cordova/config.xml 中为 iOS 平台准备了完整的图标40 至 1024 像素共 12 种尺寸与启动屏资源并通过edit-config向Info.plist合并了相机权限声明edit-config file*-Info.plist modemerge targetNSCameraUsageDescription stringTo scan barcodes/string /edit-config由于phonegap-plugin-barcodescanner依赖相机进行扫码iOS 若无此权限描述会在调用扫码时被系统拒绝因此该配置是 iOS 上扫码功能可用的前提。iOS 侧构建流程quasar build -m ios后用 Xcode 归档导出超出了本文 Android 主线的范围此处仅作说明。八、源码纵览Cordova 配置如何支撑 PDA 扫码业务移动端应用的核心业务是扫码ASN 收货、DN 发货、盘点等app/src/pages/ScanAPP.vue 集中体现了 Cordova 插件与设备的协同方式可作为理解为什么要按上述方式构建的源码证据。8.1 按厂商适配扫描头在ScanAPP.vue的onMounted中应用通过cordova-plugin-device读取设备厂商按需加载不同厂商的扫描头驱动app/src/pages/ScanAPP.vueif (window.device.manufacturer Zebra Technologies) { scanner.initialize() } else if (window.device.manufacturer SEUIC) { seuicDevice() } else if (window.device.manufacturer iData) { iDataDevice() }Zebra斑马通过com-darryncampbell-cordova-plugin-intent与 DataWedge 服务通信动态调用com.symbol.datawedge.api.SET_CONFIG等 API 创建/更新扫码 Profilewms并将扫描结果通过com.zebra.cordovademo.ACTION广播回传app/src/pages/ScanAPP.vueSEUIC / iData分别对接cordova-plugin-seuic-scanner与cordova-plugin-idatascanner两个厂商原生插件。8.2 通用相机扫码兜底对于非上述厂商的普通 Android 手机MobileScan()调用phonegap-plugin-barcodescanner打开相机扫码并附带preferFrontCamera: false、showFlipCameraButton: true、showTorchButton: true等参数扫描成功后触发震动反馈app/src/pages/ScanAPP.vuecordova.plugins.barcodeScanner.scan( function (result) { bar_check.value result.text; navigator.vibrate(100) }, function (error) { navigator.vibrate(100) }, { preferFrontCamera: false, showFlipCameraButton: true, showTorchButton: true, disableSuccessBeep: false } );扫描到的条码随后通过axios携带token、language、operator请求后端scanner/list/code/接口解析业务单据类型ASN/DN/GOODS/BINSET见 app/src/pages/ScanAPP.vue。这些交互全部依赖本文前面构建出的 Cordova 原生环境——这也是为什么该工程必须经由quasar build -m android bundletool 完整走一遍才能交付可用的移动端。九、常见问题与注意事项命令必须在 app 目录下执行yarn install、cordova、quasar系列命令均以 app 为工作目录该目录是独立的 Quasar 前端工程区别于 templates 的 Web 管理端工程后者由 web_start.sh 以quasar build/quasar d驱动。Android SDK 环境变量确保ANDROID_HOME或ANDROID_SDK_ROOT已正确配置否则cordova platform add android或 Gradle 编译会失败。首次构建慢Gradle 首次运行需下载依赖与 Android 构建工具耗时较长属正常现象。设备连接install-apks前确认adb devices能识别目标设备开启 USB 调试多设备场景指定--device-id。iOS 只能在 macOS 构建cordova platform add ios与后续 iOS 构建依赖 XcodeWindows/Linux 上应跳过。相机权限Android 6.0 运行时权限由phonegap-plugin-barcodescanner在调用扫码时自动申请iOS 需要 config.xml 中的NSCameraUsageDescription声明。十、小结从 app/README.md 的七条命令出发本文完整还原了 GreaterWMS 移动端的构建链yarn install装依赖 →cordova platform add建原生壳 →quasar d -m cordova -T android调试 →quasar build -m android出 AAB →bundletool拆包安装。结合 app/quasar.config.js、app/src-cordova/config.xml 与 app/src/pages/ScanAPP.vue 的源码细节可以看出这套构建流程之所以如此设计是为了支撑多厂商 PDAZebra/SEUIC/iData与普通手机的扫码业务。按此流程操作即可在真机上获得可运行的 GWMS 扫码应用。赞分享后端前端企业应用【免费下载链接】GreaterWMSThis Inventory management system is the currently Ford Asia Pacific after-sales logistics warehousing supply chain process . After I leave Ford , I start this project . You can share your vacant warehouse space, use it for those in need, and generate income项目地址https://gitcode.com/gh_mirrors/gr/GreaterWMS点击查看免费下载相关推荐Yakit 统一工程化 CLI 实战指南基于 cli/cli.mjs 的启动、构建与打包全解析Yakit 统一工程化 CLI 实战指南基于 cli/cli.mjs 的启动、构建与打包全解析 本指南以仓库内的 cli/README.md https://网络安全应用安全渗透测试漏洞扫描WinMerge 安装程序构建指南基于 Inno Setup 的 Installer 打包全流程WinMerge 安装程序构建指南基于 Inno Setup 的 Installer 打包全流程 本文面向需要从源码构建 WinMerge 安装包的开发者和发桌面应用开发工具Meteor 移动端开发完全指南基于 Cordova 的 iOS/Android 应用构建、调试与发布Meteor 移动端开发完全指南基于 Cordova 的 iOS/Android 应用构建、调试与发布 导读 本文以 Meteor 官方指南中的 Cordov后端前端开发工具移动开发上一篇5分钟写出第一条HaE规则标记与提取的实用实战指南下一篇WAS Node Suite 模型权重指南下载机制、目录布局与各模型族部署实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考