CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a Vue.js 2 + UniApp mobile application called "GS-MES-AP" (StandardPda-Browse) for manufacturing quality control and warehouse management. The application is designed for PDA (Personal Digital Assistant) devices used in manufacturing environments.
Key Technologies
- Framework: Vue.js 2 + UniApp (uni-app v2.0.2)
- State Management: Vuex
- UI Components: uView UI v2.0.38, Vant v2.13.7
- Build Tool: Vue CLI with @dcloudio/vue-cli-plugin-uni
- Platform: Multi-platform (Android/iOS app, H5, various mini-programs)
Development Commands
Since this is a UniApp project, standard npm scripts are not present. Development should be done through:
- HBuilderX IDE: The recommended development environment for UniApp
- Build: Use HBuilderX to build for different platforms
- Debug: Use HBuilderX's built-in debugger or device debugging
Architecture Overview
Core Structure
- Entry Point:
main.js - Sets up Vue instance, store, and global prototypes
- State Management:
store/index.js - Vuex store with server configuration
- Routing:
pages.json - UniApp page configuration (not Vue Router)
- App Configuration:
manifest.json - App metadata and platform-specific settings
Key Directories
pages/ - Application pages organized by feature modules
BasePages/ - Core pages (login, main, user profile)
QC/ - Quality Control modules (来料检验, 首检, 巡检, 入库检)
Warehouse/ - Warehouse management modules
fileView/ - File viewing components (PDF, Excel, Word, images)
components/ - Reusable UI components
common/ - Shared utilities and global mixins
utils/ - Utility functions for printing, scanning, messaging
static/ - Static assets (images, icons, sounds)
Quality Control (QC) Modules
- LLJ (来料检验): Incoming material inspection
- SJ (首检): First article inspection
- XJ (巡检): Patrol inspection
- RKJ (入库检): Warehouse inspection
- THL (退换料): Return/exchange material confirmation
Core Features
- Barcode/QR Code Scanning: Custom PDA integration via
utils/scanCode.js
- Image Capture: Camera integration for quality documentation
- File Viewing: PDF, Excel, Word, and image preview capabilities
- Bluetooth Printing: Barcode and receipt printing via
components/kk-printer/
- Offline Storage: Local data persistence using uni.storage APIs
API Integration
- Server Configuration: Located in
store/index.js
- Request Handling: Global methods
$get, $post, $uni_request in main.js
- Authentication: User info stored in
$loginInfo prototype
PDA Hardware Integration
- Barcode Scanning: Android broadcast receiver implementation in
utils/scanCode.js
- Camera Access: Native camera API through UniApp
- Bluetooth Printing: Thermal printer integration
Development Guidelines
Working with QC Modules
Each QC module follows a consistent pattern:
- List.vue - Data listing with pull-to-refresh
- Add.vue - Form for creating new entries
- detail.vue - Detailed view/editing
- ImageItem.vue - Image capture and upload
Adding New Features
- Create page in appropriate
pages/ subdirectory
- Add page configuration to
pages.json
- Use global API methods (
$get, $post) for server communication
- Follow existing patterns for form handling and data validation
Testing
- Test on actual PDA devices for barcode scanning functionality
- Verify camera and printing features on target hardware
- Test offline storage and sync capabilities
Important Notes
- This is a PDA-specific application with hardware dependencies
- Server API endpoint is configured in
store/index.js
- Image uploads are base64 encoded and sent to
/Base/saveImage
- All text content is in Chinese (simplified)
- Application supports multiple deployment targets (Android, iOS, H5)