# 乐意兑 **Repository Path**: abbasspace/lyd ## Basic Information - **Project Name**: 乐意兑 - **Description**: 乐意兑是一款功能丰富的 Android 移动端应用,旨在为用户提供便捷的本地生活服务与电商购物体验。项目采用 MVVM 架构,集成了商品浏览与购买、积分赚取与兑换、短剧视频娱乐以及商家订单核销等核心业务场景。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-06-19 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: MVVM, dagger, dagger, Rxjava, CleanArch ## README # Leyidui (LYD) ## Project Overview Leyidui is a feature-rich Android mobile application designed to provide users with convenient local life services and e-commerce shopping experiences. The project adopts the MVVM architecture and integrates core business scenarios including product browsing and purchasing, points earning and redemption, short video entertainment, and merchant order verification. ## Main Functional Modules ### 1. Mall System - **Local Products**: Displays high-quality local products based on geographic location, with support for courier delivery and in-store pickup. - **Cloud Purchases**: Offers purchasing and negotiation features for cloud-based products, complete with detailed progress tracking. - **Guaranteed Purchase**: A unique guaranteed-purchase campaign supporting merchant verification modes, with task management and verification functionality. - **New Products / New User Offers**: Exclusive discounted products displayed and available for purchase to new users. ### 2. Points Entertainment Center - **Daily Check-in**: Earn points by checking in daily; additional rewards for consecutive check-ins. - **Watch Ads**: Earn points by watching ad videos, supporting multiple ad formats (rewarded videos, feed ads, etc.). - **Mini Games**: Integrated game entry points to earn points by completing tasks. - **Short Videos / DJX**: Watch short video dramas, unlock story episodes, and claim rewards. ### 3. User Center - **Login & Registration**: Supports WeChat quick login and phone number login. - **Order Management**: Comprehensive order management (pending payment, pending delivery, completed, after-sales/refund), with share and invite functionality. - **Wallet Management**: Balance inquiry, top-up, and withdrawal features. - **Delivery Addresses**: Convenient address management with support for adding, editing, and deleting addresses. ### 4. Merchant Features - **Order Verification**: Merchant-side order verification functionality, supporting QR code scanning and manual coupon code entry. - **Store Earnings**: View store income, settlement records, and transaction details. ## Technology Stack - **Programming Languages**: Kotlin / Java - **UI Frameworks**: Android ViewBinding / DataBinding - **Architecture Pattern**: MVVM + Repository - **Dependency Injection**: Dagger (managed via `AppComponent`) - **Networking Layer**: OkHttp + Retrofit + Gson - **Local Storage**: Room Database (for caching user information, addresses, search history, etc.) - **Reactive Programming**: RxJava / RxAndroid - **Image Loading**: Glide - **Ad SDKs**: Integrated with major ad platforms such as Pangle ## Project Structure Source code is located at `app/src/main/java/com/zx/leyidui`, with the following main structure: - **`ad/`**: Advertisement business logic and integration encapsulation for short video (DJX) SDK. - **`adapter/`**: RecyclerView adapters for home screen, product lists, orders, dialogs, and other scenarios. - **`bean/`**: Data Transfer Objects (DTOs) and entity class definitions. - **`data/`**: - **`local/`**: Room database configuration, local entities (Entity), and DAOs. - **`remote/`**: Retrofit network interface definitions and request interceptors. - **`repository/`**: Data repository layer, unifying data source handling. - **`dialog/`**: Various business dialogs (e.g., login, sharing, address selection, product specification selection). - **`di/`**: Dependency injection modules (`AppComponent`, `Module`, `ViewModelModule`). - **`model/`**: Business enums, utility classes, and complex data models. - **`viewmodel/`**: ViewModel classes corresponding to each screen. ## Build Instructions This project is a standard Android Gradle project. 1. Ensure Android Studio and the Android SDK are properly installed and configured. 2. Clone the project locally using `git clone`. 3. Open the project in Android Studio and wait for Gradle synchronization to complete. 4. Connect a physical device or launch an emulator, then click the Run button to compile and install. ## License This project is intended solely for learning and internal use.