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)