├── packages
├── unify_uni_bus
│ ├── ios
│ │ ├── Assets
│ │ │ └── .gitkeep
│ │ ├── Classes
│ │ │ └── UnifyUniBusPlugin.h
│ │ └── .gitignore
│ ├── android
│ │ ├── settings.gradle
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── .gitignore
│ ├── CHANGELOG.md
│ ├── example
│ │ ├── android
│ │ │ ├── gradle.properties
│ │ │ ├── app
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ └── res
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── drawable-v21
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ └── layout
│ │ │ │ │ │ └── android_button_layout.xml
│ │ │ │ │ ├── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ └── profile
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ └── .gitignore
│ │ ├── ios
│ │ │ ├── Flutter
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── LaunchImage.imageset
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ ├── main.m
│ │ │ │ └── AppDelegate.m
│ │ │ ├── Runner.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ ├── Runner.xcodeproj
│ │ │ │ └── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── .gitignore
│ │ └── README.md
│ ├── analysis_options.yaml
│ ├── .gitignore
│ └── test
│ │ └── unify_uni_bus_method_channel_test.dart
├── unify_uni_page
│ ├── ios
│ │ ├── Assets
│ │ │ └── .gitkeep
│ │ ├── Classes
│ │ │ ├── UnifyUniPagePlugin.h
│ │ │ ├── AbsUniPageFactory.h
│ │ │ └── UniPageConstants.h
│ │ └── .gitignore
│ ├── android
│ │ ├── settings.gradle
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── didi
│ │ │ │ └── unify_uni_page
│ │ │ │ └── AbsUniPageFactoryListener.java
│ │ └── .gitignore
│ ├── lib
│ │ ├── unify_uni_page.dart
│ │ └── src
│ │ │ └── constants.dart
│ ├── example
│ │ ├── android
│ │ │ ├── gradle.properties
│ │ │ ├── app
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── res
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── drawable-v21
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ └── layout
│ │ │ │ │ │ │ └── uni_page_demo.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── didi
│ │ │ │ │ │ └── unify_uni_page_example
│ │ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ │ └── NativeActivity.java
│ │ │ │ │ ├── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ └── profile
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── .gitignore
│ │ │ └── settings.gradle
│ │ ├── ios
│ │ │ ├── Flutter
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── LaunchImage.imageset
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ ├── UniPageDemo.h
│ │ │ │ └── main.m
│ │ │ ├── Runner.xcodeproj
│ │ │ │ └── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ ├── Runner.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── .gitignore
│ │ ├── .metadata
│ │ └── README.md
│ ├── doc
│ │ └── public
│ │ │ ├── 00.uni_page_structure.webp
│ │ │ ├── 02.uni_page_lifecycle.webp
│ │ │ ├── README_Android_Native.webp
│ │ │ ├── README_Android_UniPage.webp
│ │ │ ├── 01.layout_hierarchy_tlhc.webp
│ │ │ └── 01.layout_hierarchy_hc_animated.webp
│ ├── analysis_options.yaml
│ ├── .metadata
│ ├── test
│ │ └── unify_unipage_test.dart
│ ├── .gitignore
│ └── README.md
├── unify_uni_state
│ ├── ios
│ │ ├── Assets
│ │ │ └── .gitkeep
│ │ ├── Classes
│ │ │ └── UnifyUniStatePlugin.h
│ │ └── .gitignore
│ ├── CHANGELOG.md
│ ├── android
│ │ ├── settings.gradle
│ │ ├── .gitignore
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java
│ │ │ └── com
│ │ │ └── didi
│ │ │ └── unify_uni_state
│ │ │ ├── UniStateListener.java
│ │ │ └── UniStateInterceptor.java
│ ├── example
│ │ ├── web
│ │ │ ├── favicon.png
│ │ │ └── icons
│ │ │ │ ├── Icon-192.png
│ │ │ │ ├── Icon-512.png
│ │ │ │ ├── Icon-maskable-192.png
│ │ │ │ └── Icon-maskable-512.png
│ │ ├── android
│ │ │ ├── gradle.properties
│ │ │ ├── app
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── res
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ └── drawable-v21
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── didi
│ │ │ │ │ │ └── unify_uni_state_example
│ │ │ │ │ │ └── MainActivity.java
│ │ │ │ │ ├── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ └── profile
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ └── .gitignore
│ │ ├── ios
│ │ │ ├── Flutter
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── LaunchImage.imageset
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ ├── main.m
│ │ │ │ └── AppDelegate.m
│ │ │ ├── Runner.xcodeproj
│ │ │ │ └── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ ├── Runner.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── .gitignore
│ │ └── README.md
│ ├── analysis_options.yaml
│ ├── README.md
│ ├── .gitignore
│ └── lib
│ │ └── unify_uni_state_method_channel.dart
└── unify_uni_api
│ ├── example
│ ├── 03_unicallback_demo
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── UnicallbackDemoPlugin.h
│ │ │ │ └── UFUniCallbackDispatcher.h
│ │ │ └── .gitignore
│ │ ├── LICENSE
│ │ ├── lib
│ │ │ └── uniapi
│ │ │ │ ├── uni_model.dart
│ │ │ │ ├── caches.dart
│ │ │ │ └── uni_api.dart
│ │ ├── android
│ │ │ ├── settings.gradle
│ │ │ ├── .gitignore
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── unicallback_demo
│ │ │ │ ├── UFUniCallbackDispose.java
│ │ │ │ └── UFUniCallback.java
│ │ ├── CHANGELOG.md
│ │ ├── example
│ │ │ ├── android
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── app
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ └── res
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ └── drawable-v21
│ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ ├── .gitignore
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ │ ├── LaunchImage.imageset
│ │ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ ├── main.m
│ │ │ │ │ ├── UniCallbackTestServiceVendor.h
│ │ │ │ │ └── AppDelegate.m
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ └── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Podfile.lock
│ │ │ ├── .metadata
│ │ │ └── README.md
│ │ ├── analysis_options.yaml
│ │ ├── interface
│ │ │ ├── location_info_model.dart
│ │ │ └── uni_callback_test_service.dart
│ │ ├── gen_uni_code.sh
│ │ ├── .metadata
│ │ ├── README.md
│ │ └── .gitignore
│ ├── 01_uninativemodule_demo
│ │ ├── ios
│ │ │ ├── Assets
│ │ │ │ └── .gitkeep
│ │ │ ├── Classes
│ │ │ │ ├── UninativemoduleDemoPlugin.h
│ │ │ │ └── UDUniCallbackDispatcher.h
│ │ │ └── .gitignore
│ │ ├── LICENSE
│ │ ├── lib
│ │ │ ├── uniapi
│ │ │ │ ├── uni_model.dart
│ │ │ │ ├── caches.dart
│ │ │ │ └── uni_api.dart
│ │ │ └── uninativemodule_demo.dart
│ │ ├── CHANGELOG.md
│ │ ├── android
│ │ │ ├── settings.gradle
│ │ │ ├── .gitignore
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── uninativemodule_demo
│ │ │ │ ├── UDUniCallbackDispose.java
│ │ │ │ └── UDUniCallback.java
│ │ ├── example
│ │ │ ├── android
│ │ │ │ ├── gradle.properties
│ │ │ │ ├── app
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ │ └── drawable-v21
│ │ │ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ └── java
│ │ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── example
│ │ │ │ │ │ │ └── uninativemodule_demo_example
│ │ │ │ │ │ │ └── DeviceInfoServiceImpl.java
│ │ │ │ │ │ ├── debug
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ │ └── profile
│ │ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── gradle
│ │ │ │ │ └── wrapper
│ │ │ │ │ │ └── gradle-wrapper.properties
│ │ │ │ ├── .gitignore
│ │ │ │ └── settings.gradle
│ │ │ ├── ios
│ │ │ │ ├── Flutter
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ └── Release.xcconfig
│ │ │ │ ├── Runner
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ │ ├── LaunchImage.imageset
│ │ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ │ ├── main.m
│ │ │ │ │ └── DeviceInfoServiceVendor.h
│ │ │ │ ├── Runner.xcodeproj
│ │ │ │ │ └── project.xcworkspace
│ │ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ ├── Runner.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── Podfile.lock
│ │ │ ├── .metadata
│ │ │ └── README.md
│ │ ├── analysis_options.yaml
│ │ ├── interface
│ │ │ ├── device_info_service.dart
│ │ │ └── device_info_model.dart
│ │ ├── gen_uni_code.sh
│ │ ├── README.md
│ │ └── test
│ │ │ └── uninativemodule_demo_test.dart
│ └── 02_unifluttermodule_demo
│ │ ├── ios
│ │ ├── Assets
│ │ │ └── .gitkeep
│ │ ├── Classes
│ │ │ ├── UnifluttermoduleDemoPlugin.h
│ │ │ └── UFUniCallbackDispatcher.h
│ │ └── .gitignore
│ │ ├── LICENSE
│ │ ├── lib
│ │ ├── uniapi
│ │ │ ├── uni_model.dart
│ │ │ ├── caches.dart
│ │ │ └── uni_api.dart
│ │ └── unifluttermodule_demo.dart
│ │ ├── CHANGELOG.md
│ │ ├── android
│ │ ├── settings.gradle
│ │ ├── .gitignore
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── unifluttermodule_demo
│ │ │ ├── UFUniCallbackDispose.java
│ │ │ └── UFUniCallback.java
│ │ ├── example
│ │ ├── android
│ │ │ ├── gradle.properties
│ │ │ ├── app
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ └── res
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ └── drawable-v21
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ └── profile
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── .gitignore
│ │ │ └── settings.gradle
│ │ ├── lib
│ │ │ ├── my_event_bus.dart
│ │ │ └── location_info_service_impl.dart
│ │ ├── ios
│ │ │ ├── Flutter
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── LaunchImage.imageset
│ │ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ └── main.m
│ │ │ ├── Runner.xcodeproj
│ │ │ │ └── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ ├── Runner.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── Podfile.lock
│ │ ├── .metadata
│ │ └── README.md
│ │ ├── analysis_options.yaml
│ │ ├── interface
│ │ ├── location_info_model.dart
│ │ └── location_info_service.dart
│ │ ├── gen_uni_code.sh
│ │ ├── README.md
│ │ └── test
│ │ └── unifluttermodule_demo_test.dart
│ ├── lib
│ ├── version.dart
│ ├── uni_api.dart
│ ├── utils
│ │ ├── template_internal
│ │ │ └── dart
│ │ │ │ ├── uni_model.dart
│ │ │ │ ├── caches.dart
│ │ │ │ └── uni_api.dart
│ │ └── log.dart
│ ├── analyzer
│ │ ├── analyzer_error.dart
│ │ ├── visitors
│ │ │ ├── initializer_visitor.dart
│ │ │ └── custom_type_visitor.dart
│ │ └── parse_results.dart
│ ├── generator
│ │ ├── widgets
│ │ │ ├── code_template.dart
│ │ │ ├── lang
│ │ │ │ └── java
│ │ │ │ │ └── java_constants.dart
│ │ │ ├── base
│ │ │ │ └── block.dart
│ │ │ ├── code_unit_mixin.dart
│ │ │ └── code_unit.dart
│ │ └── common.dart
│ ├── cli
│ │ └── cli.dart
│ ├── api
│ │ └── api.dart
│ └── ast
│ │ ├── uniapi
│ │ ├── ast_model.dart
│ │ └── ast_module.dart
│ │ └── basic
│ │ └── ast_void.dart
│ ├── test
│ ├── interface
│ │ ├── m.dart
│ │ ├── tts
│ │ │ ├── model
│ │ │ │ ├── audio.dart
│ │ │ │ └── tts_data.dart
│ │ │ ├── enum_testing_service.dart
│ │ │ └── tts_service.dart
│ │ ├── upgrade
│ │ │ ├── model
│ │ │ │ └── upgrade_data.dart
│ │ │ └── upgrade_service.dart
│ │ └── genericity
│ │ │ ├── genericity_data.dart
│ │ │ └── genericity_model.dart
│ └── inputfile
│ │ └── mock_input_file.dart
│ ├── bin
│ └── unify_flutter.dart
│ ├── pubspec.yaml
│ └── CHANGELOG.md
├── doc
├── public
│ ├── 001.png
│ ├── 002.png
│ ├── 003.png
│ ├── 004.png
│ ├── 005.png
│ ├── 006.png
│ ├── 007.png
│ ├── 008.png
│ ├── 009.png
│ ├── 010.png
│ ├── 011.png
│ ├── 012.png
│ ├── 013.png
│ ├── wx.png
│ ├── uniapi.png
│ ├── unify-arch.png
│ ├── unify-demo.png
│ ├── unify-arch-2025-05.png
│ └── unify-decision-tree.png
├── 05.集成指导
│ └── README.md
├── 09.使用进阶
│ ├── README.md
│ ├── 4.衍生模式.md
│ └── 3.生成原生接口忽略Error参数.md
├── 08.原理概述
│ ├── 2.代码生成器.md
│ ├── README.md
│ ├── 5.ASTProtocol.md
│ ├── 3.AST解析层.md
│ └── 1.核心流程.md
├── 10.常见问题.md
├── 11.关于我们.md
├── README.md
├── 06.基础能力
│ ├── README.md
│ ├── 8.泛型套娃.md
│ └── 6.异常监听.md
├── 02.快速开始
│ ├── 10.总结.md
│ ├── README.md
│ ├── 1.前言.md
│ ├── 6.定义《Flutter 向 Native 获取设备信息》接口.md
│ ├── 3.安装 Unify.md
│ └── 5.定义《Native 同步定位信息到 Flutter》接口.md
├── 03.安装教程.md
├── 01.项目简介.md
└── 12.备注说明.md
└── .gitignore
/packages/unify_uni_bus/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/lib/version.dart:
--------------------------------------------------------------------------------
1 | const packageVersion = '3.0.5';
2 |
--------------------------------------------------------------------------------
/doc/public/001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/001.png
--------------------------------------------------------------------------------
/doc/public/002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/002.png
--------------------------------------------------------------------------------
/doc/public/003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/003.png
--------------------------------------------------------------------------------
/doc/public/004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/004.png
--------------------------------------------------------------------------------
/doc/public/005.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/005.png
--------------------------------------------------------------------------------
/doc/public/006.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/006.png
--------------------------------------------------------------------------------
/doc/public/007.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/007.png
--------------------------------------------------------------------------------
/doc/public/008.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/008.png
--------------------------------------------------------------------------------
/doc/public/009.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/009.png
--------------------------------------------------------------------------------
/doc/public/010.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/010.png
--------------------------------------------------------------------------------
/doc/public/011.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/011.png
--------------------------------------------------------------------------------
/doc/public/012.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/012.png
--------------------------------------------------------------------------------
/doc/public/013.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/013.png
--------------------------------------------------------------------------------
/doc/public/wx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/wx.png
--------------------------------------------------------------------------------
/doc/public/uniapi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/uniapi.png
--------------------------------------------------------------------------------
/packages/unify_uni_bus/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'unify_uni_bus'
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'unify_uni_page'
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/LICENSE:
--------------------------------------------------------------------------------
1 | TODO: Add your license here.
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.0.1
2 |
3 | * TODO: Describe initial release.
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.0.1
2 |
3 | * TODO: Describe initial release.
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'unify_uni_state'
2 |
--------------------------------------------------------------------------------
/doc/public/unify-arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/unify-arch.png
--------------------------------------------------------------------------------
/doc/public/unify-demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/unify-demo.png
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/LICENSE:
--------------------------------------------------------------------------------
1 | TODO: Add your license here.
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/LICENSE:
--------------------------------------------------------------------------------
1 | TODO: Add your license here.
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/lib/uni_api.dart:
--------------------------------------------------------------------------------
1 | export 'api/api.dart';
2 | export 'worker/worker.dart';
3 |
--------------------------------------------------------------------------------
/doc/05.集成指导/README.md:
--------------------------------------------------------------------------------
1 | * [Android端](1.Android端.md)
2 | * [iOS端](2.iOS端.md)
3 | * [Flutter端](3.Flutter端.md)
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/lib/uniapi/uni_model.dart:
--------------------------------------------------------------------------------
1 | abstract class Model {}
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/lib/uniapi/uni_model.dart:
--------------------------------------------------------------------------------
1 | abstract class Model {}
2 |
--------------------------------------------------------------------------------
/doc/public/unify-arch-2025-05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/unify-arch-2025-05.png
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/lib/uniapi/uni_model.dart:
--------------------------------------------------------------------------------
1 | abstract class Model {}
2 |
--------------------------------------------------------------------------------
/doc/public/unify-decision-tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/doc/public/unify-decision-tree.png
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'unicallback_demo'
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.0.1
2 |
3 | * TODO: Describe initial release.
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.0.1
2 |
3 | * TODO: Describe initial release.
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/lib/unify_uni_page.dart:
--------------------------------------------------------------------------------
1 | export 'src/uni_page.dart';
2 | export 'src/uni_page_controller.dart';
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'uninativemodule_demo'
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.0.1
2 |
3 | * TODO: Describe initial release.
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'unifluttermodule_demo'
2 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/test/interface/m.dart:
--------------------------------------------------------------------------------
1 | import 'package:unify_flutter/api/api.dart';
2 |
3 | @UniModel()
4 | class M {}
5 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/lib/utils/template_internal/dart/uni_model.dart:
--------------------------------------------------------------------------------
1 | const dartUniModelContent = '''
2 | abstract class Model {}
3 | ''';
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/web/favicon.png
--------------------------------------------------------------------------------
/packages/unify_uni_page/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/doc/09.使用进阶/README.md:
--------------------------------------------------------------------------------
1 | * [如何管理模块](1.如何管理模块.md)
2 | * [如何让生成代码包含注释](2.如何让生成代码包含注释.md)
3 | * [生成原生接口忽略Error参数](3.生成原生接口忽略Error参数.md)
4 | * [衍生模式](4.衍生模式.md)
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/doc/08.原理概述/2.代码生成器.md:
--------------------------------------------------------------------------------
1 | # 代码生成器
2 |
3 | 代码生成器主要提供Dart、Java、OC代码的生成能力。代码生成器主要有下划分:
4 |
5 |
6 |
7 | > 虚线框是生成器中提供的方法
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/lib/uniapi/caches.dart:
--------------------------------------------------------------------------------
1 | import 'uni_callback.dart';
2 |
3 | Map uniCallbackCache = {};
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/ios/Classes/UnifyUniBusPlugin.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UnifyUniBusPlugin : NSObject
4 | @end
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .packages
3 | .idea
4 | .vscode
5 | .dart_tool/
6 |
7 | # Conventional directory for build outputs
8 | build/
9 | *.bkp
10 | *.dtmp
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/lib/uniapi/caches.dart:
--------------------------------------------------------------------------------
1 | import 'uni_callback.dart';
2 |
3 | Map uniCallbackCache = {};
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/lib/uniapi/caches.dart:
--------------------------------------------------------------------------------
1 | import 'uni_callback.dart';
2 |
3 | Map uniCallbackCache = {};
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/doc/public/00.uni_page_structure.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/doc/public/00.uni_page_structure.webp
--------------------------------------------------------------------------------
/packages/unify_uni_page/doc/public/02.uni_page_lifecycle.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/doc/public/02.uni_page_lifecycle.webp
--------------------------------------------------------------------------------
/packages/unify_uni_page/doc/public/README_Android_Native.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/doc/public/README_Android_Native.webp
--------------------------------------------------------------------------------
/packages/unify_uni_state/ios/Classes/UnifyUniStatePlugin.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UnifyUniStatePlugin : NSObject
4 | @end
5 |
--------------------------------------------------------------------------------
/doc/08.原理概述/README.md:
--------------------------------------------------------------------------------
1 | # 原理概述
2 | * [核心流程](1.核心流程.md)
3 | * [代码生成器](2.代码生成器.md)
4 | * [AST解析层](3.AST解析层.md)
5 | * [AST扩展层](4.AST扩展层.md)
6 | * [ASTProtocol](5.ASTProtocol.md)
--------------------------------------------------------------------------------
/doc/10.常见问题.md:
--------------------------------------------------------------------------------
1 | # 常见问题
2 |
3 | 1. 模板文件命名和模板类名不一致时,出现下报错
4 |
5 |
6 | **解决方式**:修改模板文件名或者类名,让这二者`名称内容`保持一样(`_`不计入名称内容),重新执行代码生成脚本。
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/doc/public/README_Android_UniPage.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/doc/public/README_Android_UniPage.webp
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/doc/public/01.layout_hierarchy_tlhc.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/doc/public/01.layout_hierarchy_tlhc.webp
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/web/icons/Icon-maskable-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/web/icons/Icon-maskable-192.png
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/web/icons/Icon-maskable-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/web/icons/Icon-maskable-512.png
--------------------------------------------------------------------------------
/doc/11.关于我们.md:
--------------------------------------------------------------------------------
1 | # 关于我们
2 |
3 | 我们来自滴滴外卖国际化终端团队。我们是一支专注于深度使用Flutter技术的团队,对Flutter技术有着深入的研究和应用,基于Flutter技术的优势,我们开发出高效、稳定、易用的移动应用,使得团队人效提升了30%+。
4 |
5 | 如果你觉 Unify 对你有用,欢迎大家使用和一起交流~
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/example/lib/my_event_bus.dart:
--------------------------------------------------------------------------------
1 | import 'package:event_bus/event_bus.dart';
2 |
3 | final EventBus myEventBus = EventBus();
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/doc/public/01.layout_hierarchy_hc_animated.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/doc/public/01.layout_hierarchy_hc_animated.webp
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/test/interface/tts/model/audio.dart:
--------------------------------------------------------------------------------
1 | import 'package:unify_flutter/api/api.dart';
2 |
3 | @UniModel()
4 | class Audio {
5 | String? data;
6 | int? size;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .cxx
10 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .cxx
10 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/ios/Classes/UnicallbackDemoPlugin.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UnicallbackDemoPlugin : NSObject
4 | @end
5 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/lib/utils/template_internal/dart/caches.dart:
--------------------------------------------------------------------------------
1 | const dartCachesContent = """
2 | import 'uni_callback.dart';
3 |
4 | Map uniCallbackCache = {};
5 | """;
6 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/ios/Classes/UninativemoduleDemoPlugin.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UninativemoduleDemoPlugin : NSObject
4 | @end
5 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/test/interface/upgrade/model/upgrade_data.dart:
--------------------------------------------------------------------------------
1 | import 'package:unify_flutter/api/api.dart';
2 |
3 | @UniModel()
4 | class UpgradeData {
5 | String? data;
6 | int? size;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/ios/Classes/UnifluttermoduleDemoPlugin.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UnifluttermoduleDemoPlugin : NSObject
4 | @end
5 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/example/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/example/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:flutter_lints/flutter.yaml
2 |
3 | # Additional information about this file can be found at
4 | # https://dart.dev/guides/language/analysis-options
5 |
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_bus/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_page/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:flutter_lints/flutter.yaml
2 |
3 | # Additional information about this file can be found at
4 | # https://dart.dev/guides/language/analysis-options
5 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_state/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:flutter_lints/flutter.yaml
2 |
3 | # Additional information about this file can be found at
4 | # https://dart.dev/guides/language/analysis-options
5 |
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/doc/08.原理概述/5.ASTProtocol.md:
--------------------------------------------------------------------------------
1 | # AST协议层
2 |
3 | Unify 约定的抽象语法树协议,主要以`AstNode`的派生类进行体现,如下图:
4 |
5 |
6 |
7 | 一个 Dart 文件经过 Analyzer 解析后,结果数据最终要转化成 Unify 中`AstType`或`UniApiNode`类型对象。
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/03_unicallback_demo/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_page/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_page/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/unify_uni_state/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/didi/Unify/HEAD/packages/unify_uni_state/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/doc/08.原理概述/3.AST解析层.md:
--------------------------------------------------------------------------------
1 | # AST解析层
2 |
3 | 主要是对 [Analyzer](https://github.com/dart-lang/sdk/tree/main/pkg/analyzer/doc/tutorial) 框架的应用封装,涉及到的知识点如下图:
4 |
5 |
6 |
7 | 想了解具体实现的细节,建议查看代码实现。
--------------------------------------------------------------------------------
/packages/unify_uni_state/android/src/main/java/com/didi/unify_uni_state/UniStateListener.java:
--------------------------------------------------------------------------------
1 | package com.didi.unify_uni_state;
2 |
3 | public interface UniStateListener {
4 | void onStateChanged(Object state);
5 | }
6 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/01_uninativemodule_demo/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/example/02_unifluttermodule_demo/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/packages/unify_uni_api/test/interface/genericity/genericity_data.dart:
--------------------------------------------------------------------------------
1 | import 'package:unify_flutter/api/api.dart';
2 |
3 | @UniModel()
4 | class GenericityData {
5 | List