├── .fvmrc ├── .github └── workflows__ │ └── build.yml ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android ├── .gitignore ├── .idea │ ├── compiler.xml │ ├── deploymentTargetDropDown.xml │ ├── gradle.xml │ ├── jarRepositories.xml │ ├── kotlinc.xml │ ├── misc.xml │ ├── vcs.xml │ └── workspace.xml ├── app │ ├── .cxx │ │ └── Debug │ │ │ ├── 37735c6p │ │ │ ├── hash_key.txt │ │ │ └── x86 │ │ │ │ ├── .cmake │ │ │ │ └── api │ │ │ │ │ └── v1 │ │ │ │ │ ├── query │ │ │ │ │ └── client-agp │ │ │ │ │ │ ├── cache-v2 │ │ │ │ │ │ ├── cmakeFiles-v1 │ │ │ │ │ │ └── codemodel-v2 │ │ │ │ │ └── reply │ │ │ │ │ ├── cache-v2-c1654af9bc0b5fdbee00.json │ │ │ │ │ ├── cmakeFiles-v1-e1866fbb54a36229c63b.json │ │ │ │ │ ├── codemodel-v2-4236f578afdae13ffbd8.json │ │ │ │ │ ├── directory-.-Debug-f5ebdc15457944623624.json │ │ │ │ │ └── index-2025-02-13T07-20-10-0424.json │ │ │ │ ├── CMakeCache.txt │ │ │ │ ├── CMakeFiles │ │ │ │ ├── 3.22.1-g37088a8 │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ ├── CompilerIdC │ │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ │ └── CMakeCCompilerId.o │ │ │ │ │ └── CompilerIdCXX │ │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ │ └── CMakeCXXCompilerId.o │ │ │ │ ├── TargetDirectories.txt │ │ │ │ ├── cmake.check_cache │ │ │ │ └── rules.ninja │ │ │ │ ├── additional_project_files.txt │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── build.ninja │ │ │ │ ├── build_file_index.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── configure_fingerprint.bin │ │ │ │ ├── metadata_generation_command.txt │ │ │ │ ├── prefab_config.json │ │ │ │ └── symbol_folder_index.txt │ │ │ ├── 6j6h323x │ │ │ ├── arm64-v8a │ │ │ │ ├── .cmake │ │ │ │ │ └── api │ │ │ │ │ │ └── v1 │ │ │ │ │ │ ├── query │ │ │ │ │ │ └── client-agp │ │ │ │ │ │ │ ├── cache-v2 │ │ │ │ │ │ │ ├── cmakeFiles-v1 │ │ │ │ │ │ │ └── codemodel-v2 │ │ │ │ │ │ └── reply │ │ │ │ │ │ ├── cache-v2-ccc05bfe3b32930096c1.json │ │ │ │ │ │ ├── cmakeFiles-v1-0cdba34480cac20d13c8.json │ │ │ │ │ │ ├── codemodel-v2-7a2ec240c2b3ab5e05fe.json │ │ │ │ │ │ ├── directory-.-Debug-f5ebdc15457944623624.json │ │ │ │ │ │ └── index-2025-02-18T06-08-23-0403.json │ │ │ │ ├── CMakeCache.txt │ │ │ │ ├── CMakeFiles │ │ │ │ │ ├── 3.22.1-g37088a8 │ │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ │ ├── CompilerIdC │ │ │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ │ │ └── CMakeCCompilerId.o │ │ │ │ │ │ └── CompilerIdCXX │ │ │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ │ │ └── CMakeCXXCompilerId.o │ │ │ │ │ ├── TargetDirectories.txt │ │ │ │ │ ├── cmake.check_cache │ │ │ │ │ └── rules.ninja │ │ │ │ ├── additional_project_files.txt │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── build.ninja │ │ │ │ ├── build_file_index.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── configure_fingerprint.bin │ │ │ │ ├── metadata_generation_command.txt │ │ │ │ ├── prefab_config.json │ │ │ │ └── symbol_folder_index.txt │ │ │ ├── armeabi-v7a │ │ │ │ ├── .cmake │ │ │ │ │ └── api │ │ │ │ │ │ └── v1 │ │ │ │ │ │ ├── query │ │ │ │ │ │ └── client-agp │ │ │ │ │ │ │ ├── cache-v2 │ │ │ │ │ │ │ ├── cmakeFiles-v1 │ │ │ │ │ │ │ └── codemodel-v2 │ │ │ │ │ │ └── reply │ │ │ │ │ │ ├── cache-v2-99fcfaebe0a4d8f5aa63.json │ │ │ │ │ │ ├── cmakeFiles-v1-06fd49f9424dbe9c3585.json │ │ │ │ │ │ ├── codemodel-v2-fde5ba5b9df76f6dddc8.json │ │ │ │ │ │ ├── directory-.-Debug-f5ebdc15457944623624.json │ │ │ │ │ │ └── index-2025-02-18T06-11-56-0900.json │ │ │ │ ├── CMakeCache.txt │ │ │ │ ├── CMakeFiles │ │ │ │ │ ├── 3.22.1-g37088a8 │ │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ │ ├── CompilerIdC │ │ │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ │ │ └── CMakeCCompilerId.o │ │ │ │ │ │ └── CompilerIdCXX │ │ │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ │ │ └── CMakeCXXCompilerId.o │ │ │ │ │ ├── TargetDirectories.txt │ │ │ │ │ ├── cmake.check_cache │ │ │ │ │ └── rules.ninja │ │ │ │ ├── additional_project_files.txt │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── build.ninja │ │ │ │ ├── build_file_index.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── configure_fingerprint.bin │ │ │ │ ├── metadata_generation_command.txt │ │ │ │ ├── prefab_config.json │ │ │ │ └── symbol_folder_index.txt │ │ │ ├── hash_key.txt │ │ │ ├── x86 │ │ │ │ ├── .cmake │ │ │ │ │ └── api │ │ │ │ │ │ └── v1 │ │ │ │ │ │ ├── query │ │ │ │ │ │ └── client-agp │ │ │ │ │ │ │ ├── cache-v2 │ │ │ │ │ │ │ ├── cmakeFiles-v1 │ │ │ │ │ │ │ └── codemodel-v2 │ │ │ │ │ │ └── reply │ │ │ │ │ │ ├── cache-v2-69da620ecbde92b3754f.json │ │ │ │ │ │ ├── cmakeFiles-v1-3c9c8b596d331c2020ef.json │ │ │ │ │ │ ├── codemodel-v2-9426df2d0a077f9cc7ee.json │ │ │ │ │ │ ├── directory-.-Debug-f5ebdc15457944623624.json │ │ │ │ │ │ └── index-2025-02-18T06-06-55-0656.json │ │ │ │ ├── CMakeCache.txt │ │ │ │ ├── CMakeFiles │ │ │ │ │ ├── 3.22.1-g37088a8 │ │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ │ ├── CompilerIdC │ │ │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ │ │ └── CMakeCCompilerId.o │ │ │ │ │ │ └── CompilerIdCXX │ │ │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ │ │ └── CMakeCXXCompilerId.o │ │ │ │ │ ├── TargetDirectories.txt │ │ │ │ │ ├── cmake.check_cache │ │ │ │ │ └── rules.ninja │ │ │ │ ├── additional_project_files.txt │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── build.ninja │ │ │ │ ├── build_file_index.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── configure_fingerprint.bin │ │ │ │ ├── metadata_generation_command.txt │ │ │ │ ├── prefab_config.json │ │ │ │ └── symbol_folder_index.txt │ │ │ └── x86_64 │ │ │ │ ├── .cmake │ │ │ │ └── api │ │ │ │ │ └── v1 │ │ │ │ │ ├── query │ │ │ │ │ └── client-agp │ │ │ │ │ │ ├── cache-v2 │ │ │ │ │ │ ├── cmakeFiles-v1 │ │ │ │ │ │ └── codemodel-v2 │ │ │ │ │ └── reply │ │ │ │ │ ├── cache-v2-bce4d2052f380763d339.json │ │ │ │ │ ├── cmakeFiles-v1-dc138a803dcd89a7e0f6.json │ │ │ │ │ ├── codemodel-v2-2f1ff5c15466be313bcc.json │ │ │ │ │ ├── directory-.-Debug-f5ebdc15457944623624.json │ │ │ │ │ └── index-2025-02-18T06-12-16-0939.json │ │ │ │ ├── CMakeCache.txt │ │ │ │ ├── CMakeFiles │ │ │ │ ├── 3.22.1-g37088a8 │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ ├── CompilerIdC │ │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ │ └── CMakeCCompilerId.o │ │ │ │ │ └── CompilerIdCXX │ │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ │ └── CMakeCXXCompilerId.o │ │ │ │ ├── TargetDirectories.txt │ │ │ │ ├── cmake.check_cache │ │ │ │ └── rules.ninja │ │ │ │ ├── additional_project_files.txt │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── build.ninja │ │ │ │ ├── build_file_index.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── configure_fingerprint.bin │ │ │ │ ├── metadata_generation_command.txt │ │ │ │ ├── prefab_config.json │ │ │ │ └── symbol_folder_index.txt │ │ │ └── f1x473wo │ │ │ ├── hash_key.txt │ │ │ └── x86 │ │ │ ├── .cmake │ │ │ └── api │ │ │ │ └── v1 │ │ │ │ ├── query │ │ │ │ └── client-agp │ │ │ │ │ ├── cache-v2 │ │ │ │ │ ├── cmakeFiles-v1 │ │ │ │ │ └── codemodel-v2 │ │ │ │ └── reply │ │ │ │ ├── cache-v2-396077b89254c08214b4.json │ │ │ │ ├── cmakeFiles-v1-aecbc0fd76d5ed16f8e6.json │ │ │ │ ├── codemodel-v2-4fefd2ac256db1d590d7.json │ │ │ │ ├── directory-.-Debug-f5ebdc15457944623624.json │ │ │ │ └── index-2025-02-13T07-16-20-0075.json │ │ │ ├── CMakeCache.txt │ │ │ ├── CMakeFiles │ │ │ ├── 3.22.1-g37088a8 │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ ├── CompilerIdC │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ └── CMakeCCompilerId.o │ │ │ │ └── CompilerIdCXX │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ └── CMakeCXXCompilerId.o │ │ │ ├── TargetDirectories.txt │ │ │ ├── cmake.check_cache │ │ │ └── rules.ninja │ │ │ ├── additional_project_files.txt │ │ │ ├── android_gradle_build.json │ │ │ ├── android_gradle_build_mini.json │ │ │ ├── build.ninja │ │ │ ├── build_file_index.txt │ │ │ ├── cmake_install.cmake │ │ │ ├── configure_fingerprint.bin │ │ │ ├── metadata_generation_command.txt │ │ │ ├── prefab_config.json │ │ │ └── symbol_folder_index.txt │ ├── build.gradle │ ├── release │ │ └── output-metadata.json │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── shop │ │ │ │ └── itbug │ │ │ │ ├── demo1 │ │ │ │ └── MainActivity.kt │ │ │ │ └── flutter_simple_shop │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── drawable-v21 │ │ │ └── launch_background.xml │ │ │ ├── drawable │ │ │ ├── launch_background.xml │ │ │ └── yw_1222.jpg │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_default.png │ │ │ └── ic_launcher_v1.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_.png │ │ │ └── ic_launcher_v1.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_.png │ │ │ └── ic_launcher_v1.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_.png │ │ │ └── ic_launcher_v1.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_.png │ │ │ └── ic_launcher_v1.png │ │ │ ├── values-night │ │ │ └── styles.xml │ │ │ ├── values │ │ │ └── styles.xml │ │ │ └── xml │ │ │ └── network_security_config.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── key.properties ├── settings.gradle └── settings_aar.gradle ├── api.hurl ├── assets ├── html │ └── ys.html ├── icons │ ├── dagou.png │ ├── fanli.png │ ├── hot.png │ ├── jhs.png │ ├── jinpai.png │ ├── new.png │ ├── px.png │ ├── pxs.png │ ├── pxx.png │ ├── qg.png │ ├── select.png │ ├── select_no.png │ ├── step1.png │ ├── step2.png │ ├── step3.png │ ├── taobao.png │ ├── taobao2.png │ ├── tianmao.png │ ├── tianmao2.png │ ├── tuijian.png │ └── youhuiquan.png ├── idea.jpeg ├── images │ ├── 1.jpg │ ├── ad.jpeg │ ├── ad.jpg │ ├── ad.png │ ├── ava.jpg │ ├── ava.png │ ├── cool-background.png │ ├── dd.png │ ├── ddq.jpg │ ├── ddq.png │ ├── ewm.png │ ├── failed.png │ ├── lake.jpg │ ├── lijigoumai.png │ ├── loading.gif │ ├── logo.png │ ├── no_data.png │ ├── order_help.jpg │ ├── top_bg.png │ ├── u-bg.jpg │ ├── vip.png │ ├── waimai │ │ └── hb │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ └── sc_bg.png │ ├── waimai1.png │ ├── waimai2.png │ └── xsms.png ├── json │ └── emoji.json ├── nav │ ├── fenlei-n.png │ ├── fenlei.png │ ├── home-n.png │ ├── home.png │ ├── jiujiu-n.png │ ├── jiujiu.png │ ├── my-n.png │ ├── my.png │ ├── shoucang-n.png │ └── shoucang.png └── svg │ ├── at.svg │ ├── banjia.svg │ ├── biaoqing.svg │ ├── brand.svg │ ├── cate │ ├── riyongpin.svg │ ├── 厨具.svg │ ├── 宠物.svg │ ├── 小家电.svg │ ├── 数码电器.svg │ ├── 服饰类.svg │ ├── 母婴食品.svg │ ├── 生鲜-水果3.svg │ ├── 美妆.svg │ └── 零食.svg │ ├── chf.svg │ ├── diandian.svg │ ├── dongtai.svg │ ├── elm_logo.svg │ ├── empty.svg │ ├── err.svg │ ├── fabu.svg │ ├── gengduo.svg │ ├── hot.svg │ ├── jd.svg │ ├── jianpan.svg │ ├── jinhao.svg │ ├── mt.svg │ ├── new_version.svg │ ├── order.svg │ ├── order2.svg │ ├── order3.svg │ ├── order4.svg │ ├── pdd.svg │ ├── phb.svg │ ├── pp.svg │ ├── pyq.svg │ ├── qq.svg │ ├── rmtj.svg │ ├── shangpin.svg │ ├── tupian.svg │ ├── tuwen.svg │ ├── undraw_shopping_app_flsj.svg │ ├── user │ ├── dz.svg │ ├── fx.svg │ ├── llls.svg │ ├── qb.svg │ ├── sc.svg │ ├── sz.svg │ ├── yj.svg │ └── zhuti.svg │ ├── wechat.svg │ ├── wepay.svg │ ├── zhe.svg │ ├── 天猫.svg │ └── 淘宝.svg ├── devtools_options.yaml ├── ios ├── .gitignore ├── Flutter │ ├── AppFrameworkInfo.plist │ ├── Debug.xcconfig │ ├── Release.xcconfig │ └── ephemeral │ │ ├── flutter_lldb_helper.py │ │ └── flutter_lldbinit ├── Podfile ├── Podfile.lock ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings ├── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── 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-83.5x83.5@2x.png │ │ │ ├── icon-1024.png │ │ │ ├── icon-20-ipad.png │ │ │ ├── icon-20@2x-ipad.png │ │ │ ├── icon-20@2x.png │ │ │ ├── icon-20@3x.png │ │ │ ├── icon-29-ipad.png │ │ │ ├── icon-29.png │ │ │ ├── icon-29@2x-ipad.png │ │ │ ├── icon-29@2x.png │ │ │ ├── icon-29@3x.png │ │ │ ├── icon-40.png │ │ │ ├── icon-40@2x.png │ │ │ ├── icon-40@3x.png │ │ │ ├── icon-60@2x.png │ │ │ ├── icon-60@3x.png │ │ │ ├── icon-76.png │ │ │ ├── icon-76@2x.png │ │ │ └── icon-83.5@2x.png │ │ ├── Contents.json │ │ ├── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ │ └── yw_1222_baichuan.jpg │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── Runner-Bridging-Header.h │ ├── Runner.entitlements │ ├── mtopsdk_configuartion.plist │ └── yw_1222_baichuan.jpg ├── RunnerTests │ └── RunnerTests.swift └── build │ └── ios │ └── Pods.build │ └── Release-iphonesimulator │ ├── FMDB.build │ └── dgph │ ├── Flutter.build │ └── dgph │ ├── Pods-Runner.build │ └── dgph │ ├── ReachabilitySwift.build │ └── dgph │ ├── ali_bc_taoke_sdk.build │ └── dgph │ ├── connectivity_plus.build │ └── dgph │ ├── dataoke_sdk.build │ └── dgph │ ├── dd_check_plugin.build │ └── dgph │ ├── dd_models.build │ └── dgph │ ├── file_selector_ios.build │ └── dgph │ ├── image_picker_ios.build │ └── dgph │ ├── network_info_plus.build │ └── dgph │ ├── package_info.build │ └── dgph │ ├── path_provider_foundation.build │ └── dgph │ ├── permission_handler_apple.build │ └── dgph │ ├── saver_gallery.build │ └── dgph │ ├── shared_preferences_foundation.build │ └── dgph │ ├── sqflite.build │ └── dgph │ ├── url_launcher_ios.build │ └── dgph │ └── webview_flutter_wkwebview.build │ └── dgph ├── lib ├── ad.dart ├── api │ ├── apis.dart │ ├── base.dart │ ├── model │ │ ├── email_register_params.dart │ │ ├── email_register_params.freezed.dart │ │ ├── email_register_params.g.dart │ │ ├── get_email_valid_code.dart │ │ ├── get_email_valid_code.freezed.dart │ │ ├── get_email_valid_code.g.dart │ │ ├── login_params.dart │ │ ├── login_params.freezed.dart │ │ └── login_params.g.dart │ ├── new │ │ ├── base_api.dart │ │ ├── carousel.dart │ │ ├── category_api.dart │ │ ├── full_api.dart │ │ ├── get_user_by_token.dart │ │ ├── hot_search_api.dart │ │ ├── models.dart │ │ ├── models.freezed.dart │ │ ├── models.g.dart │ │ ├── part.dart │ │ ├── product_detail_info.dart │ │ ├── products_api.dart │ │ ├── search_key_word_api.dart │ │ ├── super_search_api.dart │ │ ├── test.dart │ │ ├── text_api.dart │ │ ├── topic_products.dart │ │ └── zhe_app_key_api.dart │ ├── report.dart │ ├── resource.dart │ ├── tkapi.dart │ ├── user.dart │ └── zhe_api.dart ├── app.dart ├── assets.dart ├── cache │ ├── index.dart │ └── privacy.dart ├── common │ ├── api_ext.dart │ ├── base_provider.dart │ ├── components │ │ ├── jd │ │ │ ├── jd_category_mini_widget.dart │ │ │ ├── jd_constant.dart │ │ │ ├── jd_products_view.dart │ │ │ ├── jd_types_model.dart │ │ │ └── product_model.dart │ │ ├── new_products │ │ │ └── respose.dart │ │ ├── pdd │ │ │ ├── resp.dart │ │ │ └── view.dart │ │ └── 通用下拉列表,可以放在任何位置 │ ├── extend │ │ └── string.dart │ ├── im_item.dart │ ├── index.dart │ ├── jpa_list_widget.dart │ ├── jpa_page_loading_more.dart │ ├── no_shadow_croll_ehavior.dart │ ├── service.dart │ ├── simple_loadmore_base.dart │ ├── toast.dart │ ├── touch_callback.dart │ ├── utils.dart │ ├── view.dart │ ├── view.freezed.dart │ ├── widget_util.dart │ └── widgets │ │ ├── hot.dart │ │ ├── loading_mixin.dart │ │ └── simple_dialog.dart ├── constant │ ├── color.dart │ ├── context.dart │ ├── ext.dart │ ├── index.dart │ ├── string.dart │ └── style.dart ├── controller │ ├── index.dart │ └── scroll_controllers.dart ├── freezed │ ├── add_favorites_params.dart │ ├── add_favorites_params.freezed.dart │ ├── add_favorites_params.g.dart │ ├── anking_list_param.dart │ ├── anking_list_param.freezed.dart │ ├── anking_list_param.g.dart │ ├── app_action_menu.dart │ ├── app_action_menu.freezed.dart │ ├── appbar_menu.dart │ ├── appbar_menu.freezed.dart │ ├── appbar_menu.g.dart │ ├── application.dart │ ├── base_layout.dart │ ├── base_layout.freezed.dart │ ├── comment.dart │ ├── comment.freezed.dart │ ├── comment.g.dart │ ├── env_config.dart │ ├── env_config.freezed.dart │ ├── env_config.g.dart │ ├── file_info.dart │ ├── file_info.freezed.dart │ ├── file_info.g.dart │ ├── home_menu.dart │ ├── home_menu.freezed.dart │ ├── jpa_page.dart │ ├── jpa_page.freezed.dart │ ├── jpa_page.g.dart │ ├── login_result_model.dart │ ├── login_result_model.freezed.dart │ ├── login_result_model.g.dart │ ├── meituran_result.dart │ ├── meituran_result.freezed.dart │ ├── meituran_result.g.dart │ ├── pager.dart │ ├── pager.freezed.dart │ ├── pager.g.dart │ ├── product_share.dart │ ├── product_share.freezed.dart │ ├── product_share.g.dart │ ├── report.dart │ ├── report.freezed.dart │ ├── report.g.dart │ ├── resource_category.dart │ ├── resource_category.freezed.dart │ ├── resource_category.g.dart │ ├── simple_result.dart │ ├── simple_result.freezed.dart │ ├── simple_result.g.dart │ ├── test.dart │ ├── test.freezed.dart │ ├── test.g.dart │ ├── text_model.dart │ ├── text_model.freezed.dart │ ├── text_model.g.dart │ ├── user_order_info.dart │ ├── user_order_info.freezed.dart │ ├── user_order_info.g.dart │ ├── xb_result.dart │ ├── xb_result.freezed.dart │ ├── xb_result.g.dart │ ├── zhe_carousel_model.dart │ ├── zhe_carousel_model.freezed.dart │ ├── zhe_carousel_model.g.dart │ ├── zhe_elm_model.dart │ ├── zhe_elm_model.freezed.dart │ ├── zhe_elm_model.g.dart │ ├── zhe_product.dart │ ├── zhe_product.freezed.dart │ └── zhe_product.g.dart ├── index.dart ├── init.dart ├── main.dart ├── meet │ ├── add_new_meet.dart │ ├── list.dart │ ├── meet_item_layout.dart │ ├── meet_list_widget.dart │ ├── meet_model.dart │ ├── meet_model.freezed.dart │ ├── meet_model.g.dart │ └── model │ │ ├── params.dart │ │ ├── params.freezed.dart │ │ └── params.g.dart ├── modals │ ├── blog_category_model.dart │ ├── blog_category_model.freezed.dart │ ├── blog_category_model.g.dart │ ├── coupon_data.dart │ ├── dataoke │ │ ├── activity_link_param.dart │ │ ├── activity_link_result.dart │ │ ├── brand_detail_result.dart │ │ ├── brand_param.dart │ │ ├── brand_product_param.dart │ │ ├── category.dart │ │ ├── category.freezed.dart │ │ ├── category.g.dart │ │ ├── comment_param.dart │ │ ├── coupons_detail_link_param.dart │ │ ├── ddq_result.dart │ │ ├── detail_base_data.dart │ │ ├── detail_base_data.freezed.dart │ │ ├── detail_base_data.g.dart │ │ ├── discount_two_param.dart │ │ ├── discount_two_result.dart │ │ ├── ff_convert_convert_util.dart │ │ ├── halfday_result.dart │ │ ├── high_commission_param.dart │ │ ├── high_commission_result.dart │ │ ├── history_price_result.dart │ │ ├── hot_search_worlds_result.dart │ │ ├── hotday_param.dart │ │ ├── hotday_result.dart │ │ ├── jd │ │ │ ├── jd_product.dart │ │ │ └── jd_req_param.dart │ │ ├── live_data_result.dart │ │ ├── nine_nine_param.dart │ │ ├── nine_nine_result.dart │ │ ├── pdd │ │ │ └── pdd_category.dart │ │ ├── product_detail_param.dart │ │ ├── product_list_param.dart │ │ ├── product_list_result.dart │ │ ├── product_material_result.dart │ │ ├── res_category.dart │ │ ├── result.dart │ │ ├── shop_convert_param.dart │ │ ├── speider_param.dart │ │ ├── speider_resullt.dart │ │ ├── super_search_param.dart │ │ ├── super_search_result.dart │ │ ├── system_pic.dart │ │ ├── taobao_oneprice_param.dart │ │ ├── taobao_oneprice_result.dart │ │ ├── top_param.dart │ │ ├── user.dart │ │ ├── wechat_param.dart │ │ └── wechat_result.dart │ ├── dd │ │ ├── brand.dart │ │ ├── brand.freezed.dart │ │ ├── brand.g.dart │ │ ├── carousel.dart │ │ ├── carousel.freezed.dart │ │ ├── carousel.g.dart │ │ ├── product.dart │ │ ├── product.freezed.dart │ │ └── product.g.dart │ ├── dd_sort.dart │ ├── favorites_model.dart │ ├── goods_detail_image.dart │ ├── goods_info.dart │ ├── goods_list_modal.dart │ ├── index.dart │ ├── order_list_model.dart │ ├── page_info_model.dart │ ├── page_info_model.freezed.dart │ ├── page_info_model.g.dart │ ├── params_model │ │ ├── store_detail_params_model.dart │ │ └── store_params_model.dart │ ├── pdd_detail_model.dart │ ├── pdd_product.dart │ ├── pdd_search_item_model.dart │ ├── rank_data.dart │ ├── shop_info.dart │ ├── shop_info.freezed.dart │ └── shop_info.g.dart ├── network │ ├── aes_util.dart │ ├── dio_errors.dart │ ├── http_request.dart │ ├── interceptor │ │ └── params_token_interceptor.dart │ ├── network.dart │ ├── request_params_util.dart │ ├── request_util.dart │ └── result_model.dart ├── pages │ ├── activity_page │ │ └── 活动页面 │ ├── best_seller_list.dart │ ├── blog │ │ └── write_blog │ │ │ ├── components │ │ │ └── blog_categorys.dart │ │ │ └── view.dart │ ├── brand_page │ │ ├── brand_detail.dart │ │ ├── category_delegate.dart │ │ ├── components │ │ │ ├── detail_brand_info.dart │ │ │ ├── detail_product_list.dart │ │ │ └── item.dart │ │ ├── index.dart │ │ ├── models │ │ │ └── brand_detail_model.dart │ │ ├── new │ │ │ └── list.dart │ │ └── provider │ │ │ └── brand_provider.dart │ ├── category_page │ │ ├── index_home.dart │ │ ├── left_widget.dart │ │ └── right_widget.dart │ ├── config │ │ ├── desktop.dart │ │ └── mobile.dart │ ├── ddq_page │ │ ├── goods_item.dart │ │ ├── index_home.dart │ │ └── sliver_app_bar_delegate.dart │ ├── detail_page │ │ ├── action_buttons.dart │ │ ├── detail_imgs_widget.dart │ │ ├── hdk │ │ │ └── index_home.dart │ │ ├── index_home.dart │ │ ├── shop_info_widget.dart │ │ └── swiper_widget.dart │ ├── dynamic │ │ ├── components │ │ │ └── list.dart │ │ ├── index.dart │ │ ├── loading.dart │ │ ├── model │ │ │ └── wph_detail_resul.dart │ │ ├── pages │ │ │ ├── pyq.dart │ │ │ └── wph.dart │ │ ├── pyq_riverpod.dart │ │ └── wph_riverpod.dart │ ├── dynamic_page │ │ ├── pages │ │ │ └── add.dart │ │ ├── state.dart │ │ └── view.dart │ ├── favorite_page │ │ ├── actions.dart │ │ ├── goods_item.dart │ │ └── index_home.dart │ ├── index.dart │ ├── index_page │ │ ├── component │ │ │ ├── category_component.dart │ │ │ ├── category_item_layout.dart │ │ │ ├── category_notification_stream.dart │ │ │ ├── component_title.dart │ │ │ ├── home_banner.dart │ │ │ ├── topic_carousel.dart │ │ │ └── zhe_carousel_products.dart │ │ ├── desktop │ │ │ ├── components │ │ │ │ ├── appbar.dart │ │ │ │ └── title.dart │ │ │ └── index.dart │ │ ├── grid_menu.dart │ │ ├── grid_menu_list.dart │ │ ├── model │ │ │ ├── category_model.dart │ │ │ ├── index_carousel_item_model.dart │ │ │ ├── index_grid_menu_item_model.dart │ │ │ ├── menus.dart │ │ │ ├── store_list_model.dart │ │ │ └── topic_model.dart │ │ ├── new │ │ │ ├── component │ │ │ │ ├── appbar.dart │ │ │ │ ├── carousel.dart │ │ │ │ ├── gridmenu │ │ │ │ │ ├── menu_item.dart │ │ │ │ │ ├── model.dart │ │ │ │ │ └── view.dart │ │ │ │ ├── index_tabbar.dart │ │ │ │ ├── products.dart │ │ │ │ └── two_column_comm.dart │ │ │ ├── github │ │ │ │ └── github.dart │ │ │ ├── index.dart │ │ │ ├── index_card_wrapper.dart │ │ │ ├── index_riverpod.dart │ │ │ └── waimai │ │ │ │ ├── detail.dart │ │ │ │ ├── index.dart │ │ │ │ └── 外卖相关.txt │ │ ├── public_widget_style.dart │ │ └── store │ │ │ ├── component_index.dart │ │ │ ├── goods_card.dart │ │ │ ├── goods_item_layout.dart │ │ │ ├── price_layout.dart │ │ │ └── store_card.dart │ ├── jd │ │ └── recommend │ │ │ └── view.dart │ ├── jiujiu_page │ │ ├── goods_item_widget.dart │ │ ├── goods_list_widget.dart │ │ ├── image_nav.dart │ │ └── new │ │ │ ├── repository.dart │ │ │ ├── types.dart │ │ │ └── widget.dart │ ├── loading │ │ └── index_loading_skeleton_page.dart │ ├── mianji │ │ └── mianji │ │ │ ├── apply.dart │ │ │ └── view.dart │ ├── new_goods_list │ │ ├── components │ │ │ ├── sort_widget.dart │ │ │ └── subcategory_view.dart │ │ ├── riverpod.dart │ │ ├── v2 │ │ │ ├── appbar.dart │ │ │ ├── goods_list_params_model.dart │ │ │ ├── goods_list_params_model.freezed.dart │ │ │ ├── index.dart │ │ │ ├── page.dart │ │ │ └── repository.dart │ │ └── 商品列表.txt.dart │ ├── order │ │ ├── model.dart │ │ └── user_order_index.dart │ ├── other_page │ │ └── not_found_page.dart │ ├── panic_buying │ │ ├── components │ │ │ ├── appbar.dart │ │ │ ├── categorys.dart │ │ │ ├── daojishi.dart │ │ │ ├── list.dart │ │ │ └── view_status.dart │ │ ├── repository.dart │ │ ├── repository_v2.dart │ │ ├── view.dart │ │ └── 抢购_排行榜_页面.txt │ ├── pinduoduo │ │ ├── search │ │ │ └── view.dart │ │ └── 平多多页面 │ ├── public_detail │ │ ├── abs.dart │ │ ├── model.dart │ │ ├── view.dart │ │ └── 通用详情页面 │ ├── report │ │ └── repost_index.dart │ ├── search │ │ ├── component │ │ │ ├── helper_show.dart │ │ │ ├── key_worlds.dart │ │ │ └── suggest.dart │ │ ├── list.dart │ │ └── view.dart │ ├── user_home_page │ │ ├── ext.dart │ │ ├── header │ │ │ ├── appbar.dart │ │ │ ├── index.dart │ │ │ ├── money_count.dart │ │ │ └── vip_header.dart │ │ ├── index_home.dart │ │ ├── login │ │ │ ├── login_base.dart │ │ │ ├── login_page.dart │ │ │ └── register_page.dart │ │ ├── new │ │ │ ├── my_sliver_appbar.dart │ │ │ └── user_center_page.dart │ │ ├── order │ │ │ ├── my_order.dart │ │ │ ├── order_add.dart │ │ │ └── order_widget.dart │ │ ├── pages │ │ │ ├── new_version_page.dart │ │ │ ├── resource_list.dart │ │ │ └── setting.dart │ │ ├── setting │ │ │ ├── index.dart │ │ │ ├── mini_theme_setting.dart │ │ │ ├── update_avatar.dart │ │ │ ├── update_city.dart │ │ │ ├── update_job.dart │ │ │ ├── update_name.dart │ │ │ └── update_string_attr.dart │ │ ├── white │ │ │ ├── components │ │ │ │ ├── code_input.dart │ │ │ │ ├── more_action_bottomsheet.dart │ │ │ │ └── search_goods.dart │ │ │ └── views │ │ │ │ └── markdown_preview.dart │ │ └── widgets │ │ │ ├── list_item.dart │ │ │ └── svg_title.dart │ ├── xb │ │ └── xianbao_index.dart │ └── zhe │ │ ├── riverpod.dart │ │ ├── view.dart │ │ └── 折上折页面.txt ├── personal │ └── personal.dart ├── provider │ ├── ddq_provider.dart │ ├── dtk_index_goods_provider.dart │ ├── goods_detail_provider.dart │ ├── goods_list_provider.dart │ ├── index.dart │ ├── index_provider.dart │ ├── jd_products_provider.dart │ ├── riverpod │ │ ├── base.dart │ │ ├── category_riverpod.dart │ │ ├── favorites │ │ │ ├── model.dart │ │ │ ├── model.freezed.dart │ │ │ ├── model.g.dart │ │ │ ├── repository │ │ │ │ └── favorites_repository.dart │ │ │ ├── riverpod.dart │ │ │ ├── riverpod_model.dart │ │ │ ├── riverpod_model.freezed.dart │ │ │ └── riverpod_model.g.dart │ │ ├── index │ │ │ ├── index_products_model.dart │ │ │ ├── index_products_model.freezed.dart │ │ │ └── riverpod.dart │ │ ├── model │ │ │ ├── my_user.dart │ │ │ ├── my_user.freezed.dart │ │ │ ├── my_user.g.dart │ │ │ ├── user.dart │ │ │ ├── user.freezed.dart │ │ │ └── user.g.dart │ │ ├── search_riverpod.dart │ │ ├── text_list_provider.dart │ │ └── user_riverpod.dart │ └── user_provider.dart ├── r_gen_file.dart ├── repository │ ├── goods_list_repository.dart │ ├── index.dart │ ├── order_respository.dart │ └── user_order.dart ├── res.dart ├── resource │ ├── page.dart │ ├── repository │ │ └── my_resource_repository.dart │ ├── view.dart │ └── views │ │ ├── detail.dart │ │ ├── selec_resource_category_page.dart │ │ └── write_page.dart ├── router.dart ├── service │ ├── index.dart │ └── user_api.dart ├── test.dart ├── util │ ├── cache_util.dart │ ├── color_util.dart │ ├── fluro_convert_util.dart │ ├── image_util.dart │ ├── index.dart │ ├── input_utils.dart │ ├── navigator_util.dart │ ├── number_cover.dart │ ├── public.dart │ ├── theme.dart │ └── user.dart └── widgets │ ├── ad.dart │ ├── app_action_menu.dart │ ├── category │ └── jd_category.dart │ ├── component │ ├── coupon_discount.dart │ ├── custom_loading.dart │ ├── custom_select_toolbar.dart │ ├── custom_skeleton_container.dart │ ├── dao_ji_shi.dart │ ├── new_version_dialog.dart │ └── tool_tip.dart │ ├── coupon_price.dart │ ├── ddq_times_widget.dart │ ├── default_avatar_widget.dart │ ├── default_user_name.dart │ ├── desktop │ ├── login_dailog.dart │ └── string_dialog.dart │ ├── desktop_widget.dart │ ├── detail_simple_bborder_button.dart │ ├── edit_page_handle.dart │ ├── extended_image.dart │ ├── favorite_add_btn.dart │ ├── flexd │ ├── index_header_flexd_widget.dart │ └── index_main_goods_mini_title_bar.dart │ ├── float_widget.dart │ ├── icon_block_widget.dart │ ├── image_download.dart │ ├── image_wrapper.dart │ ├── index.dart │ ├── index_sticky_tabbar_delegate.dart │ ├── input │ └── setting_input.dart │ ├── lazy_indexed_stack.dart │ ├── loading │ └── custom_loading_more_widget.dart │ ├── loading_widget.dart │ ├── login_tip_widget.dart │ ├── logo.dart │ ├── my_clipper.dart │ ├── my_drawable_start_text.dart │ ├── no_data.dart │ ├── p.dart │ ├── privacy_dialog.dart │ ├── product_search_mini.dart │ ├── pullto_refresh_header.dart │ ├── resource_widegt.dart │ ├── riverpod_error.dart │ ├── simple_appbar.dart │ ├── simple_price.dart │ ├── sticky_tab_bar_delegate.dart │ ├── tag_widget.dart │ ├── title_widget.dart │ ├── toast_postion.dart │ ├── up_down_btn_widget.dart │ ├── waterfall_goods_card.dart │ ├── webview.dart │ └── wrap.dart ├── linux ├── .gitignore ├── CMakeLists.txt ├── flutter │ ├── CMakeLists.txt │ ├── generated_plugin_registrant.cc │ ├── generated_plugin_registrant.h │ └── generated_plugins.cmake ├── main.cc ├── my_application.cc ├── my_application.h └── runner │ ├── CMakeLists.txt │ ├── main.cc │ ├── my_application.cc │ └── my_application.h ├── macos ├── .gitignore ├── Flutter │ ├── Flutter-Debug.xcconfig │ ├── Flutter-Release.xcconfig │ └── GeneratedPluginRegistrant.swift ├── Podfile ├── Podfile.lock ├── Runner.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── Runner │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── app_icon_1024.png │ │ │ ├── app_icon_128.png │ │ │ ├── app_icon_16.png │ │ │ ├── app_icon_256.png │ │ │ ├── app_icon_32.png │ │ │ ├── app_icon_512.png │ │ │ └── app_icon_64.png │ ├── Base.lproj │ │ └── MainMenu.xib │ ├── Configs │ │ ├── AppInfo.xcconfig │ │ ├── Debug.xcconfig │ │ ├── Release.xcconfig │ │ └── Warnings.xcconfig │ ├── DebugProfile.entitlements │ ├── Info.plist │ ├── MainFlutterWindow.swift │ └── Release.entitlements └── RunnerTests │ └── RunnerTests.swift ├── ohos ├── .gitignore ├── AppScope │ ├── app.json5 │ └── resources │ │ └── base │ │ ├── element │ │ └── string.json │ │ └── media │ │ └── app_icon.png ├── build-profile.json5 ├── entry │ ├── .gitignore │ ├── build-profile.json5 │ ├── hvigorfile.ts │ ├── oh-package.json5 │ └── src │ │ ├── main │ │ ├── ets │ │ │ ├── entryability │ │ │ │ └── EntryAbility.ets │ │ │ └── pages │ │ │ │ └── Index.ets │ │ ├── module.json5 │ │ └── resources │ │ │ ├── base │ │ │ ├── element │ │ │ │ ├── color.json │ │ │ │ └── string.json │ │ │ ├── media │ │ │ │ └── icon.png │ │ │ └── profile │ │ │ │ ├── buildinfo.json5 │ │ │ │ └── main_pages.json │ │ │ ├── en_US │ │ │ └── element │ │ │ │ └── string.json │ │ │ └── zh_CN │ │ │ └── element │ │ │ └── string.json │ │ └── ohosTest │ │ ├── ets │ │ ├── test │ │ │ ├── Ability.test.ets │ │ │ └── List.test.ets │ │ ├── testability │ │ │ ├── TestAbility.ets │ │ │ └── pages │ │ │ │ └── Index.ets │ │ └── testrunner │ │ │ └── OpenHarmonyTestRunner.ts │ │ ├── module.json5 │ │ └── resources │ │ └── base │ │ ├── element │ │ ├── color.json │ │ └── string.json │ │ ├── media │ │ └── icon.png │ │ └── profile │ │ └── test_pages.json ├── hvigor │ └── hvigor-config.json5 ├── hvigorfile.ts └── oh-package.json5 ├── pubspec.lock ├── pubspec.yaml ├── web ├── favicon.png ├── icons │ ├── Icon-192.png │ ├── Icon-512.png │ ├── Icon-maskable-192.png │ └── Icon-maskable-512.png ├── index.html └── manifest.json └── windows ├── .gitignore ├── CMakeLists.txt ├── flutter ├── CMakeLists.txt ├── generated_plugin_registrant.cc ├── generated_plugin_registrant.h └── generated_plugins.cmake └── runner ├── CMakeLists.txt ├── Runner.rc ├── flutter_window.cpp ├── flutter_window.h ├── main.cpp ├── resource.h ├── resources └── app_icon.ico ├── run_loop.cpp ├── run_loop.h ├── runner.exe.manifest ├── utils.cpp ├── utils.h ├── win32_window.cpp └── win32_window.h /.fvmrc: -------------------------------------------------------------------------------- 1 | { 2 | "flutter": "3.22.1-ohos-0.1.1" 3 | } -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | -------------------------------------------------------------------------------- /android/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/.idea/deploymentTargetDropDown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /android/.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /android/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | -------------------------------------------------------------------------------- /android/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/.cmake/api/v1/query/client-agp/cache-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/.cmake/api/v1/query/client-agp/cache-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/.cmake/api/v1/query/client-agp/codemodel-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/.cmake/api/v1/query/client-agp/codemodel-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json: -------------------------------------------------------------------------------- 1 | { 2 | "backtraceGraph" : 3 | { 4 | "commands" : [], 5 | "files" : [], 6 | "nodes" : [] 7 | }, 8 | "installers" : [], 9 | "paths" : 10 | { 11 | "build" : ".", 12 | "source" : "." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-24.3.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "24.3.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") 5 | 6 | include("/Users/ldd/Library/Android/sdk/ndk/27.0.12077973/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "i686") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/edit_cache.dir 2 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/rebuild_cache.dir 3 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/additional_project_files.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/additional_project_files.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" 4 | ], 5 | "cleanCommandsComponents": [ 6 | [ 7 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 8 | "-C", 9 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/37735c6p/x86", 10 | "clean" 11 | ] 12 | ], 13 | "buildTargetsCommandComponents": [ 14 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 15 | "-C", 16 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/37735c6p/x86", 17 | "{LIST_OF_TARGETS_TO_BUILD}" 18 | ], 19 | "libraries": {} 20 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/build_file_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/configure_fingerprint.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/37735c6p/x86/configure_fingerprint.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/prefab_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "enabled": false, 3 | "packages": [] 4 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/37735c6p/x86/symbol_folder_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/build/app/intermediates/cxx/Debug/37735c6p/obj/x86 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json: -------------------------------------------------------------------------------- 1 | { 2 | "backtraceGraph" : 3 | { 4 | "commands" : [], 5 | "files" : [], 6 | "nodes" : [] 7 | }, 8 | "installers" : [], 9 | "paths" : 10 | { 11 | "build" : ".", 12 | "source" : "." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-24.3.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "24.3.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") 5 | 6 | include("/Users/ldd/Library/Android/sdk/ndk/27.0.12077973/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "aarch64") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/edit_cache.dir 2 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/rebuild_cache.dir 3 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/additional_project_files.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/additional_project_files.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" 4 | ], 5 | "cleanCommandsComponents": [ 6 | [ 7 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 8 | "-C", 9 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/arm64-v8a", 10 | "clean" 11 | ] 12 | ], 13 | "buildTargetsCommandComponents": [ 14 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 15 | "-C", 16 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/arm64-v8a", 17 | "{LIST_OF_TARGETS_TO_BUILD}" 18 | ], 19 | "libraries": {} 20 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/build_file_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/configure_fingerprint.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/arm64-v8a/configure_fingerprint.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/prefab_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "enabled": false, 3 | "packages": [] 4 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/arm64-v8a/symbol_folder_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/build/app/intermediates/cxx/Debug/6j6h323x/obj/arm64-v8a -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json: -------------------------------------------------------------------------------- 1 | { 2 | "backtraceGraph" : 3 | { 4 | "commands" : [], 5 | "files" : [], 6 | "nodes" : [] 7 | }, 8 | "installers" : [], 9 | "paths" : 10 | { 11 | "build" : ".", 12 | "source" : "." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-24.3.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "24.3.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") 5 | 6 | include("/Users/ldd/Library/Android/sdk/ndk/27.0.12077973/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "armv7-a") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/edit_cache.dir 2 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/rebuild_cache.dir 3 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/additional_project_files.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/additional_project_files.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" 4 | ], 5 | "cleanCommandsComponents": [ 6 | [ 7 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 8 | "-C", 9 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/armeabi-v7a", 10 | "clean" 11 | ] 12 | ], 13 | "buildTargetsCommandComponents": [ 14 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 15 | "-C", 16 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/armeabi-v7a", 17 | "{LIST_OF_TARGETS_TO_BUILD}" 18 | ], 19 | "libraries": {} 20 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/build_file_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/configure_fingerprint.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/armeabi-v7a/configure_fingerprint.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/prefab_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "enabled": false, 3 | "packages": [] 4 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/armeabi-v7a/symbol_folder_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/build/app/intermediates/cxx/Debug/6j6h323x/obj/armeabi-v7a -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/.cmake/api/v1/query/client-agp/cache-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/.cmake/api/v1/query/client-agp/cache-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/.cmake/api/v1/query/client-agp/codemodel-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/.cmake/api/v1/query/client-agp/codemodel-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json: -------------------------------------------------------------------------------- 1 | { 2 | "backtraceGraph" : 3 | { 4 | "commands" : [], 5 | "files" : [], 6 | "nodes" : [] 7 | }, 8 | "installers" : [], 9 | "paths" : 10 | { 11 | "build" : ".", 12 | "source" : "." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-24.3.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "24.3.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") 5 | 6 | include("/Users/ldd/Library/Android/sdk/ndk/27.0.12077973/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "i686") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/edit_cache.dir 2 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/rebuild_cache.dir 3 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/additional_project_files.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/additional_project_files.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" 4 | ], 5 | "cleanCommandsComponents": [ 6 | [ 7 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 8 | "-C", 9 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86", 10 | "clean" 11 | ] 12 | ], 13 | "buildTargetsCommandComponents": [ 14 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 15 | "-C", 16 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86", 17 | "{LIST_OF_TARGETS_TO_BUILD}" 18 | ], 19 | "libraries": {} 20 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/build_file_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/configure_fingerprint.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86/configure_fingerprint.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/prefab_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "enabled": false, 3 | "packages": [] 4 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86/symbol_folder_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/build/app/intermediates/cxx/Debug/6j6h323x/obj/x86 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/.cmake/api/v1/query/client-agp/cache-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/.cmake/api/v1/query/client-agp/cache-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json: -------------------------------------------------------------------------------- 1 | { 2 | "backtraceGraph" : 3 | { 4 | "commands" : [], 5 | "files" : [], 6 | "nodes" : [] 7 | }, 8 | "installers" : [], 9 | "paths" : 10 | { 11 | "build" : ".", 12 | "source" : "." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-24.3.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "24.3.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") 5 | 6 | include("/Users/ldd/Library/Android/sdk/ndk/27.0.12077973/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/edit_cache.dir 2 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/rebuild_cache.dir 3 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/additional_project_files.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/additional_project_files.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" 4 | ], 5 | "cleanCommandsComponents": [ 6 | [ 7 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 8 | "-C", 9 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86_64", 10 | "clean" 11 | ] 12 | ], 13 | "buildTargetsCommandComponents": [ 14 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 15 | "-C", 16 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/6j6h323x/x86_64", 17 | "{LIST_OF_TARGETS_TO_BUILD}" 18 | ], 19 | "libraries": {} 20 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/build_file_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/configure_fingerprint.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/6j6h323x/x86_64/configure_fingerprint.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/prefab_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "enabled": false, 3 | "packages": [] 4 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/6j6h323x/x86_64/symbol_folder_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/build/app/intermediates/cxx/Debug/6j6h323x/obj/x86_64 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/.cmake/api/v1/query/client-agp/cache-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/.cmake/api/v1/query/client-agp/cache-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/.cmake/api/v1/query/client-agp/codemodel-v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/.cmake/api/v1/query/client-agp/codemodel-v2 -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json: -------------------------------------------------------------------------------- 1 | { 2 | "backtraceGraph" : 3 | { 4 | "commands" : [], 5 | "files" : [], 6 | "nodes" : [] 7 | }, 8 | "installers" : [], 9 | "paths" : 10 | { 11 | "build" : ".", 12 | "source" : "." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-24.3.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "24.3.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") 5 | 6 | include("/Users/ldd/Library/Android/sdk/ndk/25.1.8937393/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "i686") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/edit_cache.dir 2 | /Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/rebuild_cache.dir 3 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/additional_project_files.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/additional_project_files.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" 4 | ], 5 | "cleanCommandsComponents": [ 6 | [ 7 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 8 | "-C", 9 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/f1x473wo/x86", 10 | "clean" 11 | ] 12 | ], 13 | "buildTargetsCommandComponents": [ 14 | "/Users/ldd/Library/Android/sdk/cmake/3.22.1/bin/ninja", 15 | "-C", 16 | "/Users/ldd/flutter_simple_shop/android/app/.cxx/Debug/f1x473wo/x86", 17 | "{LIST_OF_TARGETS_TO_BUILD}" 18 | ], 19 | "libraries": {} 20 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/build_file_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/configure_fingerprint.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/.cxx/Debug/f1x473wo/x86/configure_fingerprint.bin -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/prefab_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "enabled": false, 3 | "packages": [] 4 | } -------------------------------------------------------------------------------- /android/app/.cxx/Debug/f1x473wo/x86/symbol_folder_index.txt: -------------------------------------------------------------------------------- 1 | /Users/ldd/flutter_simple_shop/build/app/intermediates/cxx/Debug/f1x473wo/obj/x86 -------------------------------------------------------------------------------- /android/app/release/output-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "artifactType": { 4 | "type": "APK", 5 | "kind": "Directory" 6 | }, 7 | "applicationId": "shop.itbug.demo1", 8 | "variantName": "release", 9 | "elements": [ 10 | { 11 | "type": "SINGLE", 12 | "filters": [], 13 | "attributes": [], 14 | "versionCode": 1, 15 | "versionName": "3.1.0", 16 | "outputFile": "app-release.apk" 17 | } 18 | ], 19 | "elementType": "File" 20 | } -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/shop/itbug/demo1/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package shop.itbug.demo1 2 | 3 | import androidx.annotation.NonNull; 4 | import io.flutter.embedding.android.FlutterActivity 5 | import io.flutter.embedding.engine.FlutterEngine 6 | import io.flutter.plugins.GeneratedPluginRegistrant 7 | 8 | class MainActivity: FlutterActivity() { 9 | override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { 10 | GeneratedPluginRegistrant.registerWith(flutterEngine); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/shop/itbug/flutter_simple_shop/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package shop.itbug.flutter_simple_shop 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/yw_1222.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/drawable/yw_1222.jpg -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-hdpi/ic_launcher_default.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-hdpi/ic_launcher_v1.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-mdpi/ic_launcher_.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-mdpi/ic_launcher_v1.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xhdpi/ic_launcher_.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xhdpi/ic_launcher_v1.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_v1.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_v1.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /android/app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | } 6 | } 7 | 8 | rootProject.buildDir = '../build' 9 | subprojects { 10 | project.buildDir = "${rootProject.buildDir}/${project.name}" 11 | } 12 | subprojects { 13 | project.evaluationDependsOn(':app') 14 | } 15 | 16 | tasks.register("clean", Delete) { 17 | delete rootProject.buildDir 18 | } 19 | 20 | 21 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx2536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Feb 13 15:07:39 CST 2025 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /android/key.properties: -------------------------------------------------------------------------------- 1 | storePassword=hlx5219765 2 | keyPassword=hlx5219765 3 | keyAlias=key 4 | storeFile=C:/Users/lvccz/key.jks -------------------------------------------------------------------------------- /android/settings_aar.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /api.hurl: -------------------------------------------------------------------------------- 1 | GET https://api.itbug.shop/tkapi/api/v1/dtk/apis/categorys 2 | HTTP 200 3 | 4 | GET https://api.itbug.shop/api/zhe/app-key 5 | HTTP 200 6 | 7 | GET https://api.itbug.shop/api/get-user-by-token 8 | Authorization : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJleHAiOjE3NDY3NTg3Mjh9._hDtH36DmGC8Bv9d1rDXKLhH9PuoV9lrGvvT31Lljp0 9 | HTTP 200 10 | -------------------------------------------------------------------------------- /assets/icons/dagou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/dagou.png -------------------------------------------------------------------------------- /assets/icons/fanli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/fanli.png -------------------------------------------------------------------------------- /assets/icons/hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/hot.png -------------------------------------------------------------------------------- /assets/icons/jhs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/jhs.png -------------------------------------------------------------------------------- /assets/icons/jinpai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/jinpai.png -------------------------------------------------------------------------------- /assets/icons/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/new.png -------------------------------------------------------------------------------- /assets/icons/px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/px.png -------------------------------------------------------------------------------- /assets/icons/pxs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/pxs.png -------------------------------------------------------------------------------- /assets/icons/pxx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/pxx.png -------------------------------------------------------------------------------- /assets/icons/qg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/qg.png -------------------------------------------------------------------------------- /assets/icons/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/select.png -------------------------------------------------------------------------------- /assets/icons/select_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/select_no.png -------------------------------------------------------------------------------- /assets/icons/step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/step1.png -------------------------------------------------------------------------------- /assets/icons/step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/step2.png -------------------------------------------------------------------------------- /assets/icons/step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/step3.png -------------------------------------------------------------------------------- /assets/icons/taobao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/taobao.png -------------------------------------------------------------------------------- /assets/icons/taobao2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/taobao2.png -------------------------------------------------------------------------------- /assets/icons/tianmao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/tianmao.png -------------------------------------------------------------------------------- /assets/icons/tianmao2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/tianmao2.png -------------------------------------------------------------------------------- /assets/icons/tuijian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/tuijian.png -------------------------------------------------------------------------------- /assets/icons/youhuiquan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/icons/youhuiquan.png -------------------------------------------------------------------------------- /assets/idea.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/idea.jpeg -------------------------------------------------------------------------------- /assets/images/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/1.jpg -------------------------------------------------------------------------------- /assets/images/ad.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ad.jpeg -------------------------------------------------------------------------------- /assets/images/ad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ad.jpg -------------------------------------------------------------------------------- /assets/images/ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ad.png -------------------------------------------------------------------------------- /assets/images/ava.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ava.jpg -------------------------------------------------------------------------------- /assets/images/ava.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ava.png -------------------------------------------------------------------------------- /assets/images/cool-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/cool-background.png -------------------------------------------------------------------------------- /assets/images/dd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/dd.png -------------------------------------------------------------------------------- /assets/images/ddq.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ddq.jpg -------------------------------------------------------------------------------- /assets/images/ddq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ddq.png -------------------------------------------------------------------------------- /assets/images/ewm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/ewm.png -------------------------------------------------------------------------------- /assets/images/failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/failed.png -------------------------------------------------------------------------------- /assets/images/lake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/lake.jpg -------------------------------------------------------------------------------- /assets/images/lijigoumai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/lijigoumai.png -------------------------------------------------------------------------------- /assets/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/loading.gif -------------------------------------------------------------------------------- /assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/logo.png -------------------------------------------------------------------------------- /assets/images/no_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/no_data.png -------------------------------------------------------------------------------- /assets/images/order_help.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/order_help.jpg -------------------------------------------------------------------------------- /assets/images/top_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/top_bg.png -------------------------------------------------------------------------------- /assets/images/u-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/u-bg.jpg -------------------------------------------------------------------------------- /assets/images/vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/vip.png -------------------------------------------------------------------------------- /assets/images/waimai/hb/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/waimai/hb/1.png -------------------------------------------------------------------------------- /assets/images/waimai/hb/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/waimai/hb/2.png -------------------------------------------------------------------------------- /assets/images/waimai/hb/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/waimai/hb/3.png -------------------------------------------------------------------------------- /assets/images/waimai/hb/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/waimai/hb/4.png -------------------------------------------------------------------------------- /assets/images/waimai/hb/sc_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/waimai/hb/sc_bg.png -------------------------------------------------------------------------------- /assets/images/waimai1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/waimai1.png -------------------------------------------------------------------------------- /assets/images/waimai2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/waimai2.png -------------------------------------------------------------------------------- /assets/images/xsms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/images/xsms.png -------------------------------------------------------------------------------- /assets/nav/fenlei-n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/fenlei-n.png -------------------------------------------------------------------------------- /assets/nav/fenlei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/fenlei.png -------------------------------------------------------------------------------- /assets/nav/home-n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/home-n.png -------------------------------------------------------------------------------- /assets/nav/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/home.png -------------------------------------------------------------------------------- /assets/nav/jiujiu-n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/jiujiu-n.png -------------------------------------------------------------------------------- /assets/nav/jiujiu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/jiujiu.png -------------------------------------------------------------------------------- /assets/nav/my-n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/my-n.png -------------------------------------------------------------------------------- /assets/nav/my.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/my.png -------------------------------------------------------------------------------- /assets/nav/shoucang-n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/shoucang-n.png -------------------------------------------------------------------------------- /assets/nav/shoucang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/assets/nav/shoucang.png -------------------------------------------------------------------------------- /assets/svg/chf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/diandian.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/jd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/order.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/order2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/phb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/qq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/tupian.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/user/qb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/svg/user/zhuti.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /devtools_options.yaml: -------------------------------------------------------------------------------- 1 | extensions: 2 | -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | *.mode1v3 2 | *.mode2v3 3 | *.moved-aside 4 | *.pbxuser 5 | *.perspectivev3 6 | **/*sync/ 7 | .sconsign.dblite 8 | .tags* 9 | **/.vagrant/ 10 | **/DerivedData/ 11 | Icon? 12 | **/Pods/ 13 | **/.symlinks/ 14 | profile 15 | xcuserdata 16 | **/.generated/ 17 | Flutter/App.framework 18 | Flutter/Flutter.framework 19 | Flutter/Flutter.podspec 20 | Flutter/Generated.xcconfig 21 | Flutter/app.flx 22 | Flutter/app.zip 23 | Flutter/flutter_assets/ 24 | Flutter/flutter_export_environment.sh 25 | ServiceDefinitions.json 26 | Runner/GeneratedPluginRegistrant.* 27 | 28 | # Exceptions to above rules. 29 | !default.mode1v3 30 | !default.mode2v3 31 | !default.pbxuser 32 | !default.perspectivev3 33 | -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Flutter/ephemeral/flutter_lldbinit: -------------------------------------------------------------------------------- 1 | # 2 | # Generated file, do not edit. 3 | # 4 | 5 | command script import --relative-to-command-file flutter_lldb_helper.py 6 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @main 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/yw_1222_baichuan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/Assets.xcassets/yw_1222_baichuan.jpg -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" -------------------------------------------------------------------------------- /ios/Runner/Runner.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | aps-environment 6 | development 7 | com.apple.developer.associated-domains 8 | 9 | com.apple.developer.networking.wifi-info 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ios/Runner/mtopsdk_configuartion.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DefaultID 6 | OPEN 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner/yw_1222_baichuan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ios/Runner/yw_1222_baichuan.jpg -------------------------------------------------------------------------------- /ios/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import Flutter 2 | import UIKit 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/FMDB.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/Flutter.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/Pods-Runner.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/ReachabilitySwift.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/ali_bc_taoke_sdk.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/connectivity_plus.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/dataoke_sdk.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/dd_check_plugin.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/dd_models.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/file_selector_ios.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/image_picker_ios.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/network_info_plus.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/package_info.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/path_provider_foundation.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/permission_handler_apple.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/saver_gallery.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/shared_preferences_foundation.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/sqflite.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/url_launcher_ios.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /ios/build/ios/Pods.build/Release-iphonesimulator/webview_flutter_wkwebview.build/dgph: -------------------------------------------------------------------------------- 1 | DGPH1.04 Jul 8 202305:44:03/Userslddflutter_simple_shopiosPods -------------------------------------------------------------------------------- /lib/api/model/email_register_params.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'email_register_params.freezed.dart'; 4 | part 'email_register_params.g.dart'; 5 | 6 | @freezed 7 | sealed class EmailRegisterParams with _$EmailRegisterParams { 8 | const factory EmailRegisterParams({ 9 | @JsonKey(name: 'email') @Default('') String email, 10 | @JsonKey(name: 'code') @Default('') String code, 11 | @JsonKey(name: 'password') @Default('') String password, 12 | }) = _EmailRegisterParams; 13 | 14 | factory EmailRegisterParams.fromJson(Map json) => 15 | _$EmailRegisterParamsFromJson(json); 16 | } 17 | -------------------------------------------------------------------------------- /lib/api/model/get_email_valid_code.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'get_email_valid_code.freezed.dart'; 4 | part 'get_email_valid_code.g.dart'; 5 | 6 | @freezed 7 | sealed class GetEmailValidCodeParams with _$GetEmailValidCodeParams { 8 | const factory GetEmailValidCodeParams({ 9 | @JsonKey(name: 'email') @Default('') String email, 10 | }) = _GetEmailValidCodeParams; 11 | 12 | factory GetEmailValidCodeParams.fromJson(Map json) => 13 | _$GetEmailValidCodeParamsFromJson(json); 14 | } 15 | -------------------------------------------------------------------------------- /lib/api/model/get_email_valid_code.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'get_email_valid_code.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | _GetEmailValidCodeParams _$GetEmailValidCodeParamsFromJson( 10 | Map json, 11 | ) => _GetEmailValidCodeParams(email: json['email'] as String? ?? ''); 12 | 13 | Map _$GetEmailValidCodeParamsToJson( 14 | _GetEmailValidCodeParams instance, 15 | ) => {'email': instance.email}; 16 | -------------------------------------------------------------------------------- /lib/api/model/login_params.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'login_params.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | _LoginParams _$LoginParamsFromJson(Map json) => _LoginParams( 10 | logintype: json['loginType'] as String? ?? '', 11 | password: json['password'] as String? ?? '', 12 | loginnumber: json['loginNumber'] as String? ?? '', 13 | ); 14 | 15 | Map _$LoginParamsToJson(_LoginParams instance) => 16 | { 17 | 'loginType': instance.logintype, 18 | 'password': instance.password, 19 | 'loginNumber': instance.loginnumber, 20 | }; 21 | -------------------------------------------------------------------------------- /lib/api/new/category_api.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | class MyNewApiByCategoryApi extends MyBaseApi> { 4 | MyNewApiByCategoryApi() : super('/tkapi/api/v1/dtk/apis/categorys'); 5 | 6 | @override 7 | List covertToModel(DartTypeModel data, RequestParams param) { 8 | if (data.whenOrNull(json: (v) => v['data']) case final List list 9 | when list.isNotEmpty) { 10 | return List.from(list.map(Category.fromJson)); 11 | } 12 | return []; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/api/new/full_api.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | abstract class MyFullApi extends MyBaseApi { 4 | MyFullApi() : super('', httpMethod: HttpMethod.get); 5 | } 6 | -------------------------------------------------------------------------------- /lib/api/new/get_user_by_token.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | class GetUserByTokenApi extends MyBaseApi { 4 | GetUserByTokenApi() : super('/api/get-user-by-token'); 5 | 6 | @override 7 | MyUser covertToModel(DartTypeModel data, RequestParams param) { 8 | final map = data.tryGetMap; 9 | if (map != null) { 10 | return MyUser.fromJson(map); 11 | } 12 | throw const BaseApiException.businessException(message: '获取用户信息失败'); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/api/new/hot_search_api.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | class MyNewApiByHotSearch extends MyBaseApi> { 4 | MyNewApiByHotSearch() : super('/tkapi/api/v1/dtk/apis/hot-search-worlds'); 5 | 6 | @override 7 | List covertToModel(DartTypeModel data, RequestParams param) { 8 | if (data.whenOrNull(json: (v) => v['data']) case final List list 9 | when list.isNotEmpty) { 10 | return List.from(list.map(HotSearchWorlds.fromJson)); 11 | } 12 | return []; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/api/new/models.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'models.freezed.dart'; 4 | 5 | part 'models.g.dart'; 6 | 7 | @freezed 8 | sealed class TKCarousel with _$TKCarousel { 9 | const TKCarousel._(); 10 | 11 | const factory TKCarousel({ 12 | @JsonKey(name: 'activityID') @Default('') String activityID, 13 | @JsonKey(name: 'link') @Default('') String link, 14 | @JsonKey(name: 'sourceType') @Default(0) int sourceType, 15 | @JsonKey(name: 'topicID') @Default(0) int topicID, 16 | @JsonKey(name: 'topicImage') @Default('') String topicImage, 17 | @JsonKey(name: 'topicName') @Default('') String topicName, 18 | }) = _TKCarousel; 19 | 20 | factory TKCarousel.fromJson(dynamic json) => _$TKCarouselFromJson(json); 21 | } 22 | -------------------------------------------------------------------------------- /lib/api/new/product_detail_info.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | class MyNewApiDetailInfo extends MyBaseApi { 4 | MyNewApiDetailInfo() : super('/tkapi/api/v1/dtk/apis/product-detail-all/'); 5 | 6 | @override 7 | DetailBaseDataResult covertToModel(DartTypeModel data, RequestParams param) { 8 | if (data.whenOrNull(json: (value) => value['data']) 9 | case final Map map) { 10 | return DetailBaseDataResult.fromJson(map); 11 | } 12 | throw const BaseApiException.businessException(message: '获取产品失败'); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/api/new/search_key_word_api.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | class MySearchKeyWordApi extends MyBaseApi> { 4 | MySearchKeyWordApi() 5 | : super("/tkapi/api/v1/dtk/apis/search-worlds", 6 | httpMethod: HttpMethod.get); 7 | 8 | @override 9 | List covertToModel(DartTypeModel data, RequestParams param) { 10 | return data.whenOrNull( 11 | json: (value) { 12 | if (value['data']['hotWords'] case final List list) { 13 | return list.asStringList; 14 | } 15 | return null; 16 | }, 17 | ) ?? 18 | []; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/api/new/super_search_api.dart: -------------------------------------------------------------------------------- 1 | part of "part.dart"; 2 | 3 | ///超级搜索接口 4 | class SuperSearchApi extends MyBaseApi> { 5 | SuperSearchApi() : super("/tkapi/api/v1/dtk/apis/super-search"); 6 | 7 | @override 8 | List covertToModel(DartTypeModel data, RequestParams param) { 9 | if (data.whenOrNull(json: (value) => value['data']['list']) case final List datas) { 10 | return List.from(datas.map(Product.fromJson)); 11 | } 12 | return []; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/api/new/test.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/api/new/test.dart -------------------------------------------------------------------------------- /lib/api/new/text_api.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | ///字典列表api 4 | /// 5 | class MyTextModeListApi extends MyBaseApi> { 6 | MyTextModeListApi() 7 | : super("/api/blog/getTextAll", httpMethod: HttpMethod.get); 8 | 9 | @override 10 | List covertToModel(DartTypeModel data, RequestParams param) { 11 | if (data.whenOrNull(json: (value) => value['data']) 12 | case final List data) { 13 | return List.from(data.map(TextModel.fromJson)); 14 | } 15 | return []; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/api/new/topic_products.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | //主题商品 4 | class NewApiByTopicProducts extends MyBaseApi> { 5 | NewApiByTopicProducts() : super('/tkapi/api/v1/dtk/apis/topic-goods'); 6 | 7 | @override 8 | List covertToModel(DartTypeModel data, RequestParams param) { 9 | if (data.whenOrNull(json: (v) => v['data']) case final List list 10 | when list.isNotEmpty) { 11 | return List.from(list.map(Product.fromJson)); 12 | } 13 | return []; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/api/new/zhe_app_key_api.dart: -------------------------------------------------------------------------------- 1 | part of 'part.dart'; 2 | 3 | class MyNewApiByZhetaokeAppKey extends MyBaseApi { 4 | MyNewApiByZhetaokeAppKey() : super('/api/zhe/app-key'); 5 | 6 | @override 7 | String covertToModel(DartTypeModel data, RequestParams param) { 8 | if (data.whenOrNull(json: (value) => value['data']) case final String appKey 9 | when appKey.isNotEmpty) { 10 | return appKey; 11 | } 12 | throw const BaseApiException.businessException( 13 | message: '获取折淘客APP Key失败,请检查'); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/api/report.dart: -------------------------------------------------------------------------------- 1 | part of 'apis.dart'; 2 | 3 | ///添加举报api 4 | class MyApiWithAddReport extends AppCoreApiWithT { 5 | MyApiWithAddReport() : super('/api/report/save', HttpMethod.post); 6 | 7 | @override 8 | Report fromJson(Map json) => Report.fromJson(json); 9 | } 10 | 11 | ///我举报过的内容 12 | class MyApiWithReportList extends MyAppCoreApi { 13 | MyApiWithReportList() : super('/api/report/find-by-page'); 14 | } 15 | -------------------------------------------------------------------------------- /lib/api/tkapi.dart: -------------------------------------------------------------------------------- 1 | part of 'apis.dart'; 2 | 3 | ///猜你喜欢 4 | class MyTaokeApiWithSimilarProducts extends MyAppCoreApi { 5 | MyTaokeApiWithSimilarProducts() : super('/tkapi/api/v1/dtk/apis/similar'); 6 | } 7 | 8 | /// 线报 9 | /// GET /tkapi/api/v1/dtk/apis/speider 10 | /// 接口ID:90267022 11 | /// 接口地址:https://app.apifox.com/link/project/2906745/apis/api-90267022 12 | class TkXianbaoApi extends AppCoreApiWithT { 13 | TkXianbaoApi() : super('/tkapi/api/v1/dtk/apis/speider', HttpMethod.get); 14 | 15 | @override 16 | XbData fromJson(Map json) => XbData.fromJson(json); 17 | } 18 | -------------------------------------------------------------------------------- /lib/api/user.dart: -------------------------------------------------------------------------------- 1 | part of 'apis.dart'; 2 | 3 | class MyUserOrderListApi extends MyAppCoreApi with ApiPageMixin { 4 | MyUserOrderListApi() : super('/api/app/order/list'); 5 | } 6 | -------------------------------------------------------------------------------- /lib/cache/index.dart: -------------------------------------------------------------------------------- 1 | library; 2 | 3 | import 'package:dd_js_util/dd_js_util.dart'; 4 | 5 | part 'privacy.dart'; 6 | -------------------------------------------------------------------------------- /lib/cache/privacy.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class PrivacyCache extends CacheBase { 4 | @override 5 | String get boxName => "privacy-cache"; 6 | String keyName = "isAgree"; 7 | 8 | ///是否已经同意了隐私政策 9 | Future isAgree() async { 10 | final result = await getValue(keyName, defaultValue: false); 11 | return result ?? false; 12 | } 13 | 14 | ///更新状态 15 | Future changePrivacyState(bool value) async { 16 | await setValue(keyName, value); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/common/base_provider.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | mixin BaseProvider on ChangeNotifier { 4 | bool initLoading = false; 5 | 6 | void setLoading(bool value) { 7 | initLoading = value; 8 | notifyListeners(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /lib/common/components/jd/jd_types_model.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | class JdTypeModel { 4 | String name; 5 | String id; 6 | 7 | JdTypeModel({required this.id, required this.name}); 8 | } 9 | -------------------------------------------------------------------------------- /lib/common/components/pdd/resp.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | class PddRecommendListResp extends LoadingMoreBase { 4 | int pageindex = 0; 5 | final bool _hasMore = true; 6 | bool forceRefresh = false; 7 | 8 | @override 9 | Future loadData([bool isLoadMoreAction = false]) async { 10 | return true; 11 | } 12 | 13 | @override 14 | bool get hasMore => _hasMore; 15 | } 16 | -------------------------------------------------------------------------------- /lib/common/components/通用下拉列表,可以放在任何位置: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/common/components/通用下拉列表,可以放在任何位置 -------------------------------------------------------------------------------- /lib/common/extend/string.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | extension StringExtend on String { 4 | Future saveToCaceh(String saveKey) async { 5 | final token = TokenCache(); 6 | token.setValue(saveKey, this); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /lib/common/widgets/hot.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | class Hot extends StatelessWidget { 4 | final String text; 5 | 6 | const Hot({super.key, required this.text}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Container( 11 | margin: const EdgeInsets.only(top: 2.0, left: 5.0), 12 | alignment: Alignment.centerLeft, 13 | child: Row( 14 | mainAxisSize: MainAxisSize.min, 15 | children: [ 16 | SvgPicture.asset('assets/svg/hot.svg', width: 22, height: 22), 17 | Expanded( 18 | child: Text( 19 | text, 20 | style: TextStyle(fontSize: 10, color: Colors.grey.shade400), 21 | ), 22 | ) 23 | ], 24 | ), 25 | ); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lib/common/widgets/loading_mixin.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | mixin LoadingMixin on State { 4 | bool loadingState = false; 5 | 6 | String error = ''; 7 | 8 | void setError(String msg) { 9 | if (mounted) { 10 | setState(() { 11 | error = msg; 12 | }); 13 | } 14 | } 15 | 16 | void setLoading(bool value) { 17 | if (mounted) { 18 | setState(() { 19 | loadingState = value; 20 | }); 21 | } 22 | } 23 | 24 | Widget errorMsgWidget() { 25 | return Center( 26 | child: Text(error), 27 | ); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/common/widgets/simple_dialog.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | // 简单的弹窗 4 | class MySimpleDialog extends StatelessWidget { 5 | final String message; 6 | final String? title; 7 | 8 | const MySimpleDialog({super.key, required this.message, this.title}); 9 | 10 | @override 11 | Widget build(BuildContext context) { 12 | return AlertDialog( 13 | title: title == null ? null : Text(title!), 14 | content: Text(message), 15 | ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/constant/color.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | const primaryColor = Color.fromRGBO(247, 67, 106, 1.0); 4 | -------------------------------------------------------------------------------- /lib/constant/ext.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | extension StringExt on String { 4 | ///跳转到浏览器 5 | void urlLinkTo() { 6 | canLaunchUrlString(this).then((value) { 7 | if (value) { 8 | launchUrlString(this); 9 | } 10 | }); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/constant/index.dart: -------------------------------------------------------------------------------- 1 | library; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:responsive_builder/responsive_builder.dart'; 5 | import 'package:url_launcher/url_launcher_string.dart'; 6 | 7 | part 'color.dart'; 8 | part 'context.dart'; 9 | part 'ext.dart'; 10 | part 'string.dart'; 11 | part 'style.dart'; 12 | -------------------------------------------------------------------------------- /lib/constant/string.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | /// github开源地址 4 | const shopGithubUrl = 'https://github.com/mdddj/flutter_simple_shop'; 5 | -------------------------------------------------------------------------------- /lib/constant/style.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | BoxShadow boxShaow = const BoxShadow( 4 | color: Color.fromRGBO(0, 0, 0, 0.3), 5 | offset: Offset(0.5, 0.5), //阴影xy轴偏移量 6 | blurRadius: 3.0, //阴影模糊程度 7 | spreadRadius: 1 //阴影扩散程度 8 | ); 9 | 10 | /// 首页顶部分类的高度 11 | const kHomeCateTabHeight = 35.0; 12 | 13 | // 默认边距 14 | const kDefaultPadding = 8.0; 15 | 16 | // 圆角 17 | const kDefaultRadius = 8.0; 18 | -------------------------------------------------------------------------------- /lib/controller/index.dart: -------------------------------------------------------------------------------- 1 | library; 2 | 3 | export 'scroll_controllers.dart'; 4 | -------------------------------------------------------------------------------- /lib/controller/scroll_controllers.dart: -------------------------------------------------------------------------------- 1 | // Flutter imports: 2 | import 'package:flutter/material.dart'; 3 | 4 | class ScrollControllers { 5 | 6 | static void jiujiuScrollController(dynamic fun1,dynamic fun2,bool showToTopBtn) { 7 | var mController = ScrollController(); 8 | mController.addListener((){ 9 | if (mController.offset < 250 && showToTopBtn) { 10 | fun1(); 11 | } else if (mController.offset >= 200 && showToTopBtn == false) { 12 | fun2(); 13 | } 14 | }); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/freezed/anking_list_param.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'anking_list_param.freezed.dart'; 4 | part 'anking_list_param.g.dart'; 5 | 6 | @freezed 7 | sealed class AnkingListParam with _$AnkingListParam { 8 | const AnkingListParam._(); 9 | 10 | const factory AnkingListParam({ 11 | @JsonKey(name: 'rank') @Default('') String rank, 12 | @JsonKey(name: 'cid') @Default('') String cid, 13 | }) = _AnkingListParam; 14 | 15 | factory AnkingListParam.fromJson(Map json) => 16 | _$AnkingListParamFromJson(json); 17 | } 18 | -------------------------------------------------------------------------------- /lib/freezed/anking_list_param.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'anking_list_param.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | _AnkingListParam _$AnkingListParamFromJson(Map json) => 10 | _AnkingListParam( 11 | rank: json['rank'] as String? ?? '', 12 | cid: json['cid'] as String? ?? '', 13 | ); 14 | 15 | Map _$AnkingListParamToJson(_AnkingListParam instance) => 16 | {'rank': instance.rank, 'cid': instance.cid}; 17 | -------------------------------------------------------------------------------- /lib/freezed/app_action_menu.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:freezed_annotation/freezed_annotation.dart'; 3 | 4 | import '../widgets/app_action_menu.dart'; 5 | 6 | part 'app_action_menu.freezed.dart'; 7 | 8 | extension AppActionMenuEx on AppActionMenu { 9 | Future show(BuildContext context) async { 10 | await showModalBottomSheet( 11 | context: context, 12 | builder: (_) { 13 | return AppActionMenuWidget(actionMenu: this); 14 | }, 15 | ); 16 | } 17 | } 18 | 19 | ///操作 20 | @freezed 21 | sealed class AppActionMenu with _$AppActionMenu { 22 | const AppActionMenu._(); 23 | 24 | const factory AppActionMenu({ 25 | @JsonKey(name: 'title') @Default('') String title, 26 | required List actions, 27 | }) = _AppActionMenu; 28 | } 29 | -------------------------------------------------------------------------------- /lib/freezed/appbar_menu.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'appbar_menu.freezed.dart'; 4 | part 'appbar_menu.g.dart'; 5 | 6 | extension AppbarMenuEx on AppbarMenu { 7 | String getAssetPath(bool isSelect) { 8 | return !isSelect ? 'assets/nav/$icon-n.png' : 'assets/nav/$icon.png'; 9 | } 10 | } 11 | 12 | @freezed 13 | abstract class AppbarMenu with _$AppbarMenu { 14 | const AppbarMenu._(); 15 | 16 | const factory AppbarMenu({ 17 | @JsonKey(name: 'icon') @Default('') String icon, 18 | @JsonKey(name: 'title') @Default('') String title, 19 | }) = _AppbarMenu; 20 | 21 | factory AppbarMenu.fromJson(Map json) => 22 | _$AppbarMenuFromJson(json); 23 | } 24 | -------------------------------------------------------------------------------- /lib/freezed/appbar_menu.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'appbar_menu.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | _AppbarMenu _$AppbarMenuFromJson(Map json) => _AppbarMenu( 10 | icon: json['icon'] as String? ?? '', 11 | title: json['title'] as String? ?? '', 12 | ); 13 | 14 | Map _$AppbarMenuToJson(_AppbarMenu instance) => 15 | {'icon': instance.icon, 'title': instance.title}; 16 | -------------------------------------------------------------------------------- /lib/freezed/application.dart: -------------------------------------------------------------------------------- 1 | import 'package:dd_js_util/model/models.dart'; 2 | import 'package:hooks_riverpod/hooks_riverpod.dart'; 3 | import 'package:logger/logger.dart'; 4 | 5 | import '../api/apis.dart'; 6 | import '../common/view.dart'; 7 | import '../index.dart'; 8 | 9 | final application = FutureProvider.family( 10 | (ref, ctx) async { 11 | try { 12 | await NavigatorUtil.showPrivacyPolicyDialog(ctx.context); 13 | await ref.read(categoryRiverpod).init(); 14 | await KZheTaokeApiWithAppkeyGet.doRequest(ref); 15 | ref.read(userRiverpod.notifier).startAppTryLogin(); 16 | return ref.read(appModel(ctx)); 17 | } on BaseApiException catch (e, s) { 18 | Logger().e(e, error: e, stackTrace: s); 19 | rethrow; 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /lib/freezed/base_layout.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'base_layout.freezed.dart'; 4 | 5 | ///布局 6 | @freezed 7 | abstract class BaseLayout with _$BaseLayout { 8 | const BaseLayout._(); 9 | 10 | factory BaseLayout.mobile() = MobileLayout; 11 | 12 | factory BaseLayout.table() = TableLayout; 13 | 14 | factory BaseLayout.desktop() = DesktopLayout; 15 | } 16 | -------------------------------------------------------------------------------- /lib/freezed/env_config.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'env_config.freezed.dart'; 4 | part 'env_config.g.dart'; 5 | 6 | @freezed 7 | abstract class EnvConfig with _$EnvConfig { 8 | const EnvConfig._(); 9 | 10 | const factory EnvConfig({ 11 | @JsonKey(name: 'port') @Default('') String port, 12 | @JsonKey(name: 'host') @Default('') String host, 13 | @JsonKey(name: 'debugMode') @Default(false) bool debugMode, 14 | @JsonKey(name: 'fontFamily') @Default('') String fontFamily, 15 | }) = _EnvConfig; 16 | 17 | factory EnvConfig.fromJson(Map json) => 18 | _$EnvConfigFromJson(json); 19 | } 20 | -------------------------------------------------------------------------------- /lib/freezed/home_menu.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:freezed_annotation/freezed_annotation.dart'; 3 | 4 | part 'home_menu.freezed.dart'; 5 | 6 | @freezed 7 | sealed class HomeMenu with _$HomeMenu { 8 | const HomeMenu._(); 9 | 10 | const factory HomeMenu({ 11 | @JsonKey(name: 'title') @Default('') String title, 12 | @JsonKey(name: 'svgPath') @Default('') String svgpath, 13 | Widget? icon, 14 | @JsonKey(name: 'image') @Default('') String image, 15 | String? routerPath, 16 | Object? extra, 17 | VoidCallback? onTap, 18 | VoidCallback? onLongTap, 19 | }) = _HomeMenu; 20 | } 21 | -------------------------------------------------------------------------------- /lib/freezed/login_result_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | import '../provider/riverpod/model/my_user.dart'; 4 | 5 | part 'login_result_model.freezed.dart'; 6 | part 'login_result_model.g.dart'; 7 | 8 | @freezed 9 | sealed class LoginResultModel with _$LoginResultModel { 10 | const factory LoginResultModel({ 11 | @JsonKey(name: 'token') required String token, 12 | @JsonKey(name: 'user') required MyUser user, 13 | }) = _LoginResultModel; 14 | 15 | factory LoginResultModel.fromJson(Map json) => 16 | _$LoginResultModelFromJson(json); 17 | } 18 | -------------------------------------------------------------------------------- /lib/freezed/login_result_model.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'login_result_model.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | _LoginResultModel _$LoginResultModelFromJson(Map json) => 10 | _LoginResultModel( 11 | token: json['token'] as String, 12 | user: MyUser.fromJson(json['user'] as Map), 13 | ); 14 | 15 | Map _$LoginResultModelToJson(_LoginResultModel instance) => 16 | {'token': instance.token, 'user': instance.user}; 17 | -------------------------------------------------------------------------------- /lib/freezed/meituran_result.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'meituran_result.freezed.dart'; 4 | part 'meituran_result.g.dart'; 5 | 6 | @freezed 7 | sealed class MeituanResult with _$MeituanResult { 8 | const MeituanResult._(); 9 | 10 | const factory MeituanResult({ 11 | @JsonKey(name: 'data') @Default('') String data, 12 | @JsonKey(name: 'des') @Default('') String des, 13 | @JsonKey(name: 'status') @Default(0) int status, 14 | @JsonKey(name: 'successful') @Default(false) bool successful, 15 | }) = _MeituanResult; 16 | 17 | factory MeituanResult.fromJson(Map json) => 18 | _$MeituanResultFromJson(json); 19 | } 20 | -------------------------------------------------------------------------------- /lib/meet/list.dart: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | import 'package:dd_js_util/dd_js_util.dart'; 6 | 7 | import '../api/apis.dart'; 8 | import '../common/index.dart'; 9 | import 'meet_model.dart'; 10 | 11 | 12 | ///面基列表 13 | class MeetListLoadMore extends SimpleLoadingMoreBaes { 14 | @override 15 | SelectMeetListData get api => SelectMeetListData(); 16 | 17 | 18 | @override 19 | bool transformIsNomore(WrapJson data) { 20 | return data.getValue('last') as bool; 21 | } 22 | 23 | @override 24 | List transformResponseData(WrapJson data) { 25 | return List.from(data.getListValue('content').map(MeetModel.fromJson)).toList(); 26 | } 27 | 28 | 29 | 30 | } -------------------------------------------------------------------------------- /lib/modals/blog_category_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:dd_js_util/dd_js_util.dart'; 2 | import 'package:freezed_annotation/freezed_annotation.dart'; 3 | 4 | part 'blog_category_model.freezed.dart'; 5 | 6 | part 'blog_category_model.g.dart'; 7 | 8 | @freezed 9 | @Doc(message: "") 10 | sealed class BlogCategory with _$BlogCategory { 11 | const BlogCategory._(); 12 | 13 | const factory BlogCategory({ 14 | required int id, 15 | required String name, 16 | required String logo, 17 | required String intro, 18 | required int createTime, 19 | }) = _BlogCategory; 20 | 21 | factory BlogCategory.fromJson(Map json) => 22 | _$BlogCategoryFromJson(json); 23 | } 24 | -------------------------------------------------------------------------------- /lib/modals/dataoke/ff_convert_convert_util.dart: -------------------------------------------------------------------------------- 1 | // Dart imports: 2 | 3 | import 'dart:convert'; 4 | 5 | class FFConvert { 6 | FFConvert._(); 7 | 8 | static T? convert(dynamic value) { 9 | if (value == null) { 10 | return null; 11 | } 12 | return json.decode(value.toString()) as T?; 13 | } 14 | } 15 | 16 | // 尝试类型装换 -- 列表类型 17 | List tryCoverList(String result, String paramsKey) { 18 | if (result.isEmpty) return []; 19 | try { 20 | final map = jsonDecode(result); 21 | if (map[paramsKey] is List) { 22 | return map[paramsKey] as List; 23 | } 24 | } catch (_) { 25 | return []; 26 | } 27 | 28 | return []; 29 | } 30 | -------------------------------------------------------------------------------- /lib/modals/dataoke/jd/jd_req_param.dart: -------------------------------------------------------------------------------- 1 | class JdReqParam { 2 | /// 频道ID:1-好券商品,2-精选卖场,10-9.9包邮,15-京东配送,22-实时热销榜,23-为你推荐,24-数码家电,25-超市,26-母婴玩具,27-家具日用,28-美妆穿搭,30-图书文具,31-今日必推,32-京东好物,33-京东秒杀,34-拼购商品,40-高收益榜,41-自营热卖榜,108-秒杀进行中,109-新品首发,110-自营,112-京东爆品,125-首购商品,129-高佣榜单,130-视频商品,153-历史最低价商品榜,210-极速版商品,238-新人价商品,247-京喜9.9,249-京喜秒杀,315-秒杀未开始,340-时尚趋势品,341-3C新品,342-智能新品,343-3C长尾商品,345-时尚新品,346-时尚爆品,1001-选品库 3 | final int eliteId; 4 | 5 | JdReqParam({required this.eliteId}); 6 | 7 | Map toJson() { 8 | final map = {}; 9 | map['eliteId'] = eliteId; 10 | return map; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/modals/dd/carousel.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'carousel.freezed.dart'; 4 | 5 | part 'carousel.g.dart'; 6 | 7 | @freezed 8 | sealed class Carousel with _$Carousel { 9 | const Carousel._(); 10 | 11 | const factory Carousel({ 12 | @Default('') String topicImage, 13 | @Default('') String activityId, 14 | @Default(0) int topicId, 15 | @Default(0) int sourceType, 16 | @Default('') String link, 17 | @Default('') String topicName, 18 | }) = _Carousel; 19 | 20 | factory Carousel.fromJson(Map json) => 21 | _$CarouselFromJson(json); 22 | } 23 | -------------------------------------------------------------------------------- /lib/modals/dd_sort.dart: -------------------------------------------------------------------------------- 1 | class DdSort { 2 | /// 综合排序 3 | static const String defaultSort = '0'; 4 | 5 | /// 商品上架时间从高到低 6 | static const String timeHighToLow = '1'; 7 | 8 | /// 销量从高到低 9 | static const String salesHighToLow = '2'; 10 | 11 | /// 领券量从高到低 12 | static const String couponHighToLow = '3'; 13 | 14 | /// 佣金比例从高到低 15 | static const String commissionHighToLow = '4'; 16 | 17 | /// 价格(券后价)从高到低 18 | static const String priceHighToLow = '5'; 19 | 20 | /// 价格(券后价)从低到高 21 | static const String priceLowToHigh = '6'; 22 | } 23 | -------------------------------------------------------------------------------- /lib/modals/index.dart: -------------------------------------------------------------------------------- 1 | library; 2 | 3 | export './blog_category_model.dart'; 4 | export './coupon_data.dart'; 5 | export './favorites_model.dart'; 6 | export './goods_detail_image.dart'; 7 | export './goods_info.dart'; 8 | export './goods_list_modal.dart'; 9 | export './order_list_model.dart'; 10 | export './page_info_model.dart'; 11 | export './params_model/store_detail_params_model.dart'; 12 | export './params_model/store_params_model.dart'; 13 | export './pdd_detail_model.dart'; 14 | export './pdd_product.dart'; 15 | export './pdd_search_item_model.dart'; 16 | export './rank_data.dart'; 17 | export 'shop_info.dart'; 18 | -------------------------------------------------------------------------------- /lib/modals/params_model/store_detail_params_model.dart: -------------------------------------------------------------------------------- 1 | 2 | /// 品牌详情参数 3 | class StoreDetailParamsModel{ 4 | 5 | String brandId; 6 | String pageSize; 7 | String pageId; 8 | StoreDetailParamsModel(this.brandId,this.pageSize,this.pageId); 9 | } -------------------------------------------------------------------------------- /lib/modals/params_model/store_params_model.dart: -------------------------------------------------------------------------------- 1 | 2 | /// 加载品牌列表的参数 3 | class StoreListParamsModel { 4 | 5 | String cid; 6 | String pageId; 7 | String pageSize; 8 | 9 | StoreListParamsModel(this.cid,this.pageId,this.pageSize); 10 | 11 | } -------------------------------------------------------------------------------- /lib/network/interceptor/params_token_interceptor.dart: -------------------------------------------------------------------------------- 1 | // Package imports: 2 | import 'package:dio/dio.dart'; 3 | 4 | // Project imports: 5 | import '../http_request.dart'; 6 | 7 | /// 参数拦截器 8 | class ParamsTokenInterceptor extends Interceptor{ 9 | 10 | final String token; 11 | ParamsTokenInterceptor(this.token); 12 | 13 | @override 14 | void onRequest(RequestOptions options, RequestInterceptorHandler handler) { 15 | options.headers[HttpRequest.paramsHeaderKey] = token; 16 | options.headers['Accept'] = 'application/json'; 17 | super.onRequest(options, handler); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/network/network.dart: -------------------------------------------------------------------------------- 1 | library; 2 | -------------------------------------------------------------------------------- /lib/pages/activity_page/活动页面: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/pages/activity_page/活动页面 -------------------------------------------------------------------------------- /lib/pages/category_page/left_widget.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | class LeftWidgetItem extends StatelessWidget { 4 | final Category item; 5 | final bool isCurrent; 6 | 7 | const LeftWidgetItem({required this.item, required this.isCurrent, super.key}); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Container( 12 | height: 50, 13 | alignment: Alignment.center, 14 | decoration: BoxDecoration(color: isCurrent ? context.primaryColor : null), 15 | child: Text( 16 | item.cname, 17 | style: TextStyle(color: isCurrent ? context.colorScheme.inversePrimary : null), 18 | ), 19 | ); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/pages/config/mobile.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | class MobileApp extends StatelessWidget { 4 | final StatefulNavigationShell child; 5 | 6 | const MobileApp({super.key, required this.child}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Scaffold( 11 | body: child, 12 | bottomNavigationBar: AppBottomNav( 13 | currentIndex: child.currentIndex, onIndexChange: child.goBranch), 14 | ); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/pages/dynamic/loading.dart: -------------------------------------------------------------------------------- 1 | // Flutter imports: 2 | import 'package:flutter/material.dart'; 3 | import 'package:hooks_riverpod/hooks_riverpod.dart'; 4 | 5 | // Project imports: 6 | import '../../widgets/index.dart'; 7 | import 'pyq_riverpod.dart'; 8 | 9 | class PyQLoading extends ConsumerWidget { 10 | const PyQLoading({super.key}); 11 | 12 | @override 13 | Widget build(BuildContext context, WidgetRef ref) { 14 | final loading = ref.watch(pyqRiverpod.select((value) => value.loading)); 15 | Widget container = Container(); 16 | if (loading) { 17 | container = const LoadingWidget(); 18 | } 19 | return SliverToBoxAdapter( 20 | child: container, 21 | ); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/pages/dynamic/wph_riverpod.dart: -------------------------------------------------------------------------------- 1 | 2 | 3 | // Flutter imports: 4 | import 'package:flutter/material.dart'; 5 | import 'package:hooks_riverpod/hooks_riverpod.dart'; 6 | 7 | 8 | 9 | final wphRiveroid = ChangeNotifierProvider((ref) => WphState()); 10 | /// 唯品会 11 | class WphState extends ChangeNotifier { 12 | 13 | List products = []; 14 | 15 | int page = 1; 16 | 17 | 18 | Future init() async { 19 | } 20 | 21 | 22 | // 下一页 23 | Future nextPage() async { 24 | page ++ ; 25 | await init(); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /lib/pages/dynamic_page/state.dart: -------------------------------------------------------------------------------- 1 | class DynamicPageState { 2 | DynamicPageState() { 3 | ///Initialize variables 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /lib/pages/dynamic_page/view.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import '../../widgets/index.dart'; 4 | 5 | // 动态发布页面 6 | class DynamicPagePage extends StatefulWidget { 7 | const DynamicPagePage({super.key}); 8 | 9 | @override 10 | DynamicPagePageState createState() => DynamicPagePageState(); 11 | } 12 | 13 | class DynamicPagePageState extends State { 14 | @override 15 | Widget build(BuildContext context) { 16 | return Scaffold( 17 | appBar: SimpleAppBar(title: '动态', actions: [ 18 | TextButton( 19 | onPressed: () {}, 20 | child: const Text('发布动态'), 21 | ) 22 | ]), 23 | ); 24 | } 25 | 26 | @override 27 | void dispose() { 28 | super.dispose(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /lib/pages/index_page/desktop/components/appbar.dart: -------------------------------------------------------------------------------- 1 | part of '../../../index.dart'; 2 | 3 | /// 桌面端的导航条 4 | class IndexAppbarWithDesktop extends StatelessWidget implements PreferredSizeWidget { 5 | const IndexAppbarWithDesktop({super.key}); 6 | 7 | @override 8 | Widget build(BuildContext context) { 9 | return AppBar( 10 | backgroundColor: Colors.white, 11 | elevation: 0, 12 | centerTitle: true, 13 | title: Container( 14 | color: Colors.grey, 15 | child: const Row( 16 | children: [Text('典典的小卖部')], 17 | ), 18 | ), 19 | ); 20 | } 21 | 22 | @override 23 | Size get preferredSize => const Size.fromHeight(kToolbarHeight); 24 | } 25 | -------------------------------------------------------------------------------- /lib/pages/index_page/desktop/components/title.dart: -------------------------------------------------------------------------------- 1 | part of '../../../index.dart'; 2 | 3 | class AppTitle extends StatelessWidget { 4 | final String text; 5 | 6 | const AppTitle({super.key, required this.text}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Container( 11 | margin: const EdgeInsets.symmetric(vertical: kDefaultPadding), 12 | child: Text( 13 | text, 14 | style: context.textTheme.titleLarge?.copyWith(color: Colors.black, fontWeight: FontWeight.bold, fontSize: 15), 15 | ), 16 | ); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/pages/index_page/desktop/index.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | /// 首页 4 | /// 桌面版本 5 | class IndexHomeV2 extends StatelessWidget { 6 | const IndexHomeV2({super.key}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return CupertinoPageScaffold( 11 | child: ListView.builder( 12 | itemBuilder: itemBuilder, 13 | itemCount: 1, 14 | )); 15 | } 16 | 17 | Widget itemBuilder(BuildContext context, int index) { 18 | switch (index) { 19 | case 0: 20 | return const AppTitle(text: '典典的小卖部'); 21 | default: 22 | return Container(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/pages/index_page/model/index_carousel_item_model.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | /// 2020年11月18日09:45:15 4 | /// 轮播图模型设计 5 | /// v2.0 6 | class IndexCarouselItemModel { 7 | String? imageUrl; // 图片地址 8 | String? title; // 标题 9 | String? intro; // 介绍 10 | String? clickType; // 点击事件跳转类型 11 | String? params; 12 | VoidCallback? onTap; 13 | 14 | IndexCarouselItemModel({this.imageUrl, this.title, this.intro, this.clickType, this.params, this.onTap}); // 参数 15 | } 16 | -------------------------------------------------------------------------------- /lib/pages/index_page/model/index_grid_menu_item_model.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | /// 2020年11月17日 22:41:38 4 | /// 首页网格菜单模型 5 | /// v2.0 6 | class IndexGridMenuItemModel { 7 | String title; // 标题 8 | String iconUrl; // icon 网络地址 9 | IndexGridMenuItemModelClickModel clickType; // 响应事件类型 10 | Map? params; 11 | Widget? widget; // 跳转到的页面 12 | VoidCallback? onTap; // 点击事件 13 | 14 | IndexGridMenuItemModel(this.title, this.iconUrl, this.clickType, {this.params, this.widget, this.onTap}); // 参数 15 | } 16 | 17 | /// 点击事件响应类型 18 | enum IndexGridMenuItemModelClickModel { 19 | browser, // 跳转到浏览器BROWSER 20 | innerView, // 跳转到APP页面内INNER_VIEW 21 | taobao, // 跳转到淘宝appTAOBAO 22 | } 23 | -------------------------------------------------------------------------------- /lib/pages/index_page/new/component/gridmenu/model.dart: -------------------------------------------------------------------------------- 1 | part of '../../../../index.dart'; 2 | 3 | /// 4 | /// @Author 梁典典 5 | /// @Github 开源地址 https://github.com/mdddj/flutter_simple_shop 6 | /// @Description 功能描述 首页网格菜单模型 7 | /// @Date 创建时间 2021年7月2日 10:58:59 8 | /// 9 | class GridMenuModel { 10 | String title; 11 | String image; 12 | 13 | /// 如果是本地资源图片,必须是svg格式 14 | bool isAssets; 15 | 16 | VoidCallback onTap; 17 | Widget? icon; 18 | 19 | VoidCallback? onLongTap; 20 | 21 | GridMenuModel({required this.title, required this.image, required this.onTap, required this.isAssets, this.icon, this.onLongTap}); 22 | } 23 | -------------------------------------------------------------------------------- /lib/pages/index_page/new/component/products.dart: -------------------------------------------------------------------------------- 1 | part of '../../../index.dart'; 2 | 3 | class IndexProductss extends ConsumerWidget { 4 | const IndexProductss({super.key}); 5 | 6 | @override 7 | Widget build(BuildContext context, WidgetRef ref) { 8 | final list = ref.watch(indexStateRiverpod.select((value) => value.products)); 9 | if (list.isEmpty) return const SliverToBoxAdapter(); 10 | return ProductsList(list); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/pages/index_page/new/index_card_wrapper.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class IndexCardWrapper extends StatelessWidget { 4 | final Widget child; 5 | 6 | const IndexCardWrapper({super.key, required this.child}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Card( 11 | margin: EdgeInsets.zero, 12 | child: child, 13 | ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/pages/index_page/new/index_riverpod.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | final indexStateRiverpod = ChangeNotifierProvider((ref) => IndexState()); 4 | 5 | /// 首页状态 6 | class IndexState extends ChangeNotifier { 7 | bool indexLoading = false; 8 | 9 | List products = []; 10 | 11 | // 每日榜单的商品列表 12 | List hotDayProducts = []; 13 | 14 | // 获取畅销榜单商品 15 | Future getHotDayProducts() async { 16 | notifyListeners(); 17 | } 18 | 19 | /// 改变首页loading状态 20 | void changeLoadingState(bool value) { 21 | indexLoading = value; 22 | notifyListeners(); 23 | } 24 | 25 | @Doc(message: '加载双列产品数据') 26 | Future fetch() async {} 27 | 28 | Future nextPage() async { 29 | await fetch(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /lib/pages/index_page/new/waimai/外卖相关.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/pages/index_page/new/waimai/外卖相关.txt -------------------------------------------------------------------------------- /lib/pages/index_page/public_widget_style.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | BoxDecoration box = const BoxDecoration(color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(5)), boxShadow: [ 4 | BoxShadow( 5 | color: Color.fromRGBO(0, 0, 0, 0.1), 6 | offset: Offset(1.0, 2.0), //阴影xy轴偏移量 7 | blurRadius: 5.0, //阴影模糊程度 8 | spreadRadius: -1 //阴影扩散程度 9 | ) 10 | ]); 11 | -------------------------------------------------------------------------------- /lib/pages/index_page/store/price_layout.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | /// 价钱布局 4 | class PriceLayout extends StatelessWidget { 5 | final String original; // 原价 6 | final String discounts; // 优惠价 7 | const PriceLayout({super.key, required this.original, required this.discounts}); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Wrap( 12 | children: [ 13 | Text('¥ $original', style: context.textTheme.bodySmall?.copyWith(color: Colors.red)), 14 | if (discounts.isNotEmpty) Text('¥$discounts', maxLines: 1, overflow: TextOverflow.ellipsis, style: const TextStyle(fontSize: 12, color: Colors.grey, decoration: TextDecoration.lineThrough)) 15 | ], 16 | ); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/pages/jiujiu_page/new/types.dart: -------------------------------------------------------------------------------- 1 | enum JiujiuTabTypes { 2 | recommend("推荐", "-1"), 3 | five('5.9元专区', '1'), 4 | ninenine('9.9元专区', '2'), 5 | nineteen('19.9元专区', '3'); 6 | 7 | const JiujiuTabTypes(this.title, this.paramsValue); 8 | 9 | final String title; 10 | final String paramsValue; 11 | } 12 | 13 | const ninenineTypes = JiujiuTabTypes.values; 14 | -------------------------------------------------------------------------------- /lib/pages/new_goods_list/components/sort_widget.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | class SortWidget extends StatelessWidget { 4 | final String? title; 5 | final bool? current; 6 | final Widget? icon; 7 | 8 | const SortWidget({this.title, this.current, this.icon, super.key}); //是否选中状态 9 | 10 | @override 11 | Widget build(BuildContext context) { 12 | return Tab( 13 | child: Row( 14 | mainAxisAlignment: MainAxisAlignment.center, 15 | children: [Text(title!), icon ?? Container()], 16 | )); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/pages/new_goods_list/v2/appbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | 4 | ///导航 5 | class CategoryAppbar extends StatelessWidget implements PreferredSizeWidget { 6 | const CategoryAppbar({super.key}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return AppBar( 11 | title: const Text("产品列表"), 12 | ); 13 | } 14 | 15 | @override 16 | Size get preferredSize => const Size.fromHeight(kToolbarHeight+42); 17 | } -------------------------------------------------------------------------------- /lib/pages/new_goods_list/v2/goods_list_params_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:dio/dio.dart'; 2 | import 'package:freezed_annotation/freezed_annotation.dart'; 3 | 4 | import '../../../modals/dataoke/category.dart'; 5 | import '../../../modals/dd/product.dart'; 6 | import '../../../modals/dd_sort.dart'; 7 | 8 | part 'goods_list_params_model.freezed.dart'; 9 | 10 | @unfreezed 11 | sealed class GoodsListParamsModel with _$GoodsListParamsModel { 12 | factory GoodsListParamsModel({ 13 | required Category category, 14 | Subcategory? subcategor, 15 | @Default(DdSort.defaultSort) String sort, 16 | required List products, 17 | required int page, 18 | required bool initLoading, 19 | CancelToken? cancelToken, 20 | }) = _GoodsListParamsModel; 21 | } 22 | -------------------------------------------------------------------------------- /lib/pages/new_goods_list/v2/page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import '../../../modals/dataoke/category.dart'; 4 | import '../../index.dart'; 5 | 6 | class CategoryListPage extends StatelessWidget { 7 | final Category category; 8 | 9 | const CategoryListPage({super.key, required this.category}); 10 | 11 | @override 12 | Widget build(BuildContext context) { 13 | return Scaffold( 14 | appBar: AppBar( 15 | title: Text(category.cname), 16 | ), 17 | body: CategoryGoodsList(category), 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/pages/new_goods_list/商品列表.txt.dart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/pages/new_goods_list/商品列表.txt.dart -------------------------------------------------------------------------------- /lib/pages/order/model.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | ///订单状态 4 | enum UserOrderStatus { 5 | all("全部", ""), 6 | payment("已付款", "Payment"), 7 | settlement("已结算", "Settlement"), 8 | success("成功", "Success"), 9 | expiration("已失效", "Expiration"); 10 | const UserOrderStatus(this.title, this.requestParam); 11 | 12 | final String title; 13 | final String requestParam; 14 | } -------------------------------------------------------------------------------- /lib/pages/other_page/not_found_page.dart: -------------------------------------------------------------------------------- 1 | // Flutter imports: 2 | import 'package:flutter/material.dart'; 3 | 4 | // 资源未找到 5 | class NotFoundPage extends StatelessWidget { 6 | final String? title; 7 | final String? desc; 8 | 9 | const NotFoundPage({this.title, this.desc, super.key}); 10 | 11 | @override 12 | Widget build(BuildContext context) { 13 | return Scaffold( 14 | appBar: AppBar( 15 | title: Text(title ?? '404'), 16 | ), 17 | body: Text(desc ?? '资源未找到!'), 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/pages/panic_buying/components/appbar.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | /// 导航条 4 | class AppbarWithPanicBuying extends StatelessWidget { 5 | const AppbarWithPanicBuying({super.key}); 6 | 7 | @override 8 | Widget build(BuildContext context) { 9 | return const SliverAppBar( 10 | centerTitle: true, 11 | title: Text('排行榜'), 12 | backgroundColor: Colors.transparent, 13 | iconTheme: IconThemeData(color: Colors.white), 14 | ); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/pages/panic_buying/components/list.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | class ProductsList extends StatelessWidget { 4 | final List products; 5 | 6 | const ProductsList(this.products, {super.key}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | if (products.isEmpty) { 11 | return SliverToBoxAdapter( 12 | child: Container(), 13 | ); 14 | } 15 | return SliverPadding(padding: const EdgeInsets.all(8), sliver: SliverWaterfallFlow.count(crossAxisCount: 2, crossAxisSpacing: 8, mainAxisSpacing: 8, children: products.map(itemBuilder).toList())); 16 | } 17 | 18 | Widget itemBuilder(ProductModel item) { 19 | return utils.widgetUtils.renderProductCard(item); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/pages/panic_buying/components/view_status.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | /// 页面状态显示 4 | class ViewStatusWithPanicBuy extends ConsumerWidget { 5 | const ViewStatusWithPanicBuy({super.key}); 6 | 7 | @override 8 | Widget build(BuildContext context, WidgetRef ref) { 9 | final changeLoading = ref.watch(panicBuyingModelRiverpod.select((value) => value.changeLoading)); 10 | if (changeLoading) { 11 | return const LoadingWidget(); 12 | } 13 | return const SizedBox(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/pages/panic_buying/抢购_排行榜_页面.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/pages/panic_buying/抢购_排行榜_页面.txt -------------------------------------------------------------------------------- /lib/pages/pinduoduo/平多多页面: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/pages/pinduoduo/平多多页面 -------------------------------------------------------------------------------- /lib/pages/public_detail/abs.dart: -------------------------------------------------------------------------------- 1 | // Project imports: 2 | import 'model.dart'; 3 | 4 | abstract class PublicDetailViewAbs { 5 | 6 | /// 加载所需数据 7 | Future fetchData(); 8 | 9 | /// 点击分享事件 10 | Future onShare(); 11 | 12 | /// 点击了领券按钮 13 | Future onGetCoupon(); 14 | 15 | /// 获取类型名字 16 | String getTypeLabel(); 17 | } 18 | -------------------------------------------------------------------------------- /lib/pages/public_detail/通用详情页面: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/pages/public_detail/通用详情页面 -------------------------------------------------------------------------------- /lib/pages/user_home_page/ext.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | ///riverpod 扩展函数 4 | extension RefExt on WidgetRef { 5 | ///获取当前已经登录的用户 6 | MyUser? get user => watch(userRiverpod.select((value) => value.user)); 7 | 8 | ///判断用户是否已经登录 9 | bool get isLogin => user != null; 10 | 11 | bool isLoginFun() { 12 | return isLogin; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/pages/user_home_page/header/money_count.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | /// 提现相关 4 | class MoneyCounterWidget extends StatelessWidget { 5 | const MoneyCounterWidget({super.key}); 6 | 7 | @override 8 | Widget build(BuildContext context) { 9 | return GridView.builder( 10 | gridDelegate: 11 | const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3), 12 | itemBuilder: _itemBuilder); 13 | } 14 | 15 | Widget _itemBuilder(BuildContext innerContext, int index) { 16 | return const Column( 17 | children: [Text('100'), Text('累计提现')], 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/pages/user_home_page/login/login_base.dart: -------------------------------------------------------------------------------- 1 | import '../../../provider/riverpod/model/my_user.dart'; 2 | 3 | abstract class LoginBase { 4 | 5 | 6 | /// 设置用户信息到状态管理中 7 | /// [user] - 8 | void setUserInfoToProvider(MyUser user); 9 | 10 | /// 保存token到缓存 11 | /// [token] - 12 | void setTokenToCatch(String token); 13 | 14 | ///退出登录 15 | void logout(); 16 | } -------------------------------------------------------------------------------- /lib/pages/user_home_page/setting/update_city.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | ///设置-修改城市 4 | class UpdateUserCityPage extends ConsumerWidget { 5 | const UpdateUserCityPage({super.key}); 6 | 7 | @override 8 | Widget build(BuildContext context, WidgetRef ref) { 9 | return UpdateStringAttrWidget( 10 | paramsName: "city", 11 | title: "修改城市", 12 | initHintValue: "${ref.user?.city}", 13 | successCallback: (str) { 14 | ref.read(userRiverpod.notifier).updateUser((oldModel) => oldModel.copyWith(city: str)); 15 | }, 16 | ); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/pages/user_home_page/setting/update_job.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | ///设置-修改工作 4 | class UpdateUserJobPage extends ConsumerWidget { 5 | const UpdateUserJobPage({super.key}); 6 | 7 | @override 8 | Widget build(BuildContext context, WidgetRef ref) { 9 | return UpdateStringAttrWidget( 10 | paramsName: "job", 11 | title: "修改工作", 12 | initHintValue: "${ref.user?.job}", 13 | successCallback: (str) { 14 | ref.read(userRiverpod.notifier).updateUser((oldModel) => oldModel.copyWith(job: str)); 15 | }, 16 | ); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/pages/user_home_page/setting/update_name.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | class UpdateUserNamePage extends ConsumerWidget { 4 | const UpdateUserNamePage({super.key}); 5 | 6 | @override 7 | Widget build(BuildContext context, WidgetRef ref) { 8 | return UpdateStringAttrWidget( 9 | paramsName: "name", 10 | title: "修改昵称", 11 | initHintValue: "${ref.user?.nickName}", 12 | successCallback: (str) { 13 | ref.read(userRiverpod.notifier).updateUser((MyUser oldModel) => oldModel.copyWith(nickName: str)); 14 | }); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/pages/user_home_page/white/components/more_action_bottomsheet.dart: -------------------------------------------------------------------------------- 1 | part of '../../../index.dart'; 2 | 3 | // 更多操作 4 | class MoreActions extends StatelessWidget { 5 | final List actions; 6 | 7 | const MoreActions({super.key, required this.actions}); 8 | 9 | /// 显示 10 | static Future show(List actions, BuildContext context) async { 11 | await showModalBottomSheet(context: context, builder: (_) => MoreActions(actions: actions)); 12 | } 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return SingleChildScrollView( 17 | child: Column( 18 | children: actions.map((e) => e).toList(), 19 | ), 20 | ); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/pages/user_home_page/white/components/search_goods.dart: -------------------------------------------------------------------------------- 1 | part of '../../../index.dart'; 2 | 3 | class SearchProduct extends StatelessWidget { 4 | const SearchProduct({super.key}); 5 | 6 | @override 7 | Widget build(BuildContext context) { 8 | return Scaffold( 9 | appBar: AppBar( 10 | title: const Text('搜索产品'), 11 | ), 12 | body: SizedBox( 13 | height: context.kBodyHeight, 14 | child: const Column( 15 | children: [ 16 | SizedBox( 17 | height: kToolbarHeight, 18 | child: CupertinoSearchTextField(), 19 | ), 20 | Expanded(child: ProductSearchMini(keyWorlds: '')) 21 | ], 22 | ), 23 | ), 24 | ); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/pages/user_home_page/white/views/markdown_preview.dart: -------------------------------------------------------------------------------- 1 | part of '../../../index.dart'; 2 | // Package imports: 3 | 4 | /// 预览markdown 5 | class MarkDownPreview extends StatelessWidget { 6 | final String data; 7 | 8 | const MarkDownPreview({super.key, required this.data}); 9 | 10 | @override 11 | Widget build(BuildContext context) { 12 | return Scaffold( 13 | appBar: AppBar( 14 | title: const Text('预览'), 15 | ), 16 | body: SingleChildScrollView( 17 | child: Column( 18 | children: [MarkdownBody(data: data)], 19 | ), 20 | ), 21 | ); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/pages/zhe/折上折页面.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/lib/pages/zhe/折上折页面.txt -------------------------------------------------------------------------------- /lib/provider/dtk_index_goods_provider.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class DtkIndexGoodsModal extends ChangeNotifier { 4 | List? goods = []; 5 | 6 | int page = 1; // 默认加载商品第一页数据 7 | List indexGoods = []; // 首页商品列表 8 | 9 | bool noMore = false; // 是否存在下一页 ,false 有,true没有下一页了 10 | bool isLoading = false; // 是否在加载数据中 11 | 12 | // 获取商品列表数据 13 | Future getGoodsList(int page) async {} 14 | 15 | void setLoadingState(bool isLoading) { 16 | isLoading = isLoading; 17 | notifyListeners(); 18 | } 19 | 20 | void getNextPageData() { 21 | page++; 22 | getGoodsList(page); 23 | } 24 | 25 | // 获取榜单数据 26 | void getRankGoodsList() async {} 27 | } 28 | -------------------------------------------------------------------------------- /lib/provider/jd_products_provider.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | final jdProductsRiverpod = ChangeNotifierProvider((ref) => JdProductsProviderState()); 4 | 5 | /// 京东产品的状态 6 | class JdProductsProviderState extends ChangeNotifier { 7 | List products = []; 8 | String? selectProductTypeId; 9 | 10 | /// 设置当前选中的类别 11 | void setSelectProductTypeId(String? id) { 12 | selectProductTypeId = id; 13 | notifyListeners(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /lib/provider/riverpod/base.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | extension RiverpodZhetaokeAppKeyStateEx on WidgetRef { 4 | String get zheAppKey => read(riverpodZhetaokeAppKeyState.notifier).state; 5 | } 6 | 7 | ///折淘客的APPkey 8 | final riverpodZhetaokeAppKeyState = StateProvider((ref) => ''); 9 | -------------------------------------------------------------------------------- /lib/provider/riverpod/favorites/model.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'model.freezed.dart'; 4 | 5 | part 'model.g.dart'; 6 | 7 | @unfreezed 8 | sealed class MyFavoritesModel with _$MyFavoritesModel { 9 | factory MyFavoritesModel({ 10 | required String amount, 11 | required String arrivalPrice, 12 | required String createTime, 13 | required String endTime, 14 | required int id, 15 | required String imageUrl, 16 | required String productId, 17 | required String title, 18 | required String type, 19 | }) = _MyFavoritesModel; 20 | 21 | factory MyFavoritesModel.fromJson(dynamic json) => 22 | _$MyFavoritesModelFromJson(json); 23 | } 24 | -------------------------------------------------------------------------------- /lib/provider/riverpod/favorites/riverpod.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | final riverpodWithFavorites = StateNotifierProvider((ref) => RiverpodFavoritesState()); 4 | 5 | ///暂时弃用 6 | class RiverpodFavoritesState extends StateNotifier { 7 | RiverpodFavoritesState() : super(FavoritesStateModel(favorites: [], page: 0)); 8 | 9 | ///加载用户的收藏夹数据 10 | Future loadData([bool isRefresh = false]) async { 11 | if (isRefresh) { 12 | state = FavoritesStateModel(favorites: [], page: 0); 13 | } 14 | await FavoritesFindListApi.doRequest(state.page); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/provider/riverpod/favorites/riverpod_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | import 'model.dart'; 4 | 5 | part 'riverpod_model.freezed.dart'; 6 | 7 | part 'riverpod_model.g.dart'; 8 | 9 | @unfreezed 10 | sealed class FavoritesStateModel with _$FavoritesStateModel { 11 | factory FavoritesStateModel({ 12 | required List favorites, 13 | required int page, 14 | }) = _FavoritesStateModel; 15 | 16 | factory FavoritesStateModel.fromJson(Map map) => 17 | _$FavoritesStateModelFromJson(map); 18 | } 19 | -------------------------------------------------------------------------------- /lib/provider/riverpod/index/index_products_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | import '../../../modals/dd/product.dart'; 4 | 5 | part 'index_products_model.freezed.dart'; 6 | 7 | ///首页模型 8 | @freezed 9 | sealed class IndexProductsModel with _$IndexProductsModel { 10 | factory IndexProductsModel({ 11 | required List products, 12 | required int page, 13 | }) = _IndexProductsModel; 14 | } 15 | -------------------------------------------------------------------------------- /lib/provider/riverpod/model/user.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | import 'my_user.dart'; 4 | 5 | part 'user.freezed.dart'; 6 | 7 | part 'user.g.dart'; 8 | 9 | @freezed 10 | sealed class UserDetailModal with _$UserDetailModal { 11 | const factory UserDetailModal({MyUser? user}) = _UserDetailModal; 12 | 13 | factory UserDetailModal.fromJson(Map json) => 14 | _$UserDetailModalFromJson(json); 15 | } 16 | -------------------------------------------------------------------------------- /lib/provider/riverpod/model/user.g.dart: -------------------------------------------------------------------------------- 1 | // GENERATED CODE - DO NOT MODIFY BY HAND 2 | 3 | part of 'user.dart'; 4 | 5 | // ************************************************************************** 6 | // JsonSerializableGenerator 7 | // ************************************************************************** 8 | 9 | _UserDetailModal _$UserDetailModalFromJson(Map json) => 10 | _UserDetailModal( 11 | user: 12 | json['user'] == null 13 | ? null 14 | : MyUser.fromJson(json['user'] as Map), 15 | ); 16 | 17 | Map _$UserDetailModalToJson(_UserDetailModal instance) => 18 | {'user': instance.user}; 19 | -------------------------------------------------------------------------------- /lib/provider/riverpod/text_list_provider.dart: -------------------------------------------------------------------------------- 1 | part of '../../index.dart'; 2 | 3 | final textListAllProvider = FutureProvider( 4 | (ref) { 5 | return MyTextModeListApi() 6 | .request(RequestParams(showDefaultLoading: false)); 7 | }, 8 | ); 9 | -------------------------------------------------------------------------------- /lib/repository/index.dart: -------------------------------------------------------------------------------- 1 | library; 2 | 3 | import 'package:dd_js_util/dd_js_util.dart'; 4 | import 'package:loading_more_list_fast/loading_more_list_fast.dart'; 5 | import 'package:loading_more_list_library_fast/loading_more_list_library_fast.dart'; 6 | 7 | import '../api/apis.dart'; 8 | import '../common/index.dart'; 9 | import '../freezed/user_order_info.dart'; 10 | import '../modals/dd/product.dart'; 11 | import '../modals/order_list_model.dart'; 12 | 13 | part 'goods_list_repository.dart'; 14 | part 'order_respository.dart'; 15 | part 'user_order.dart'; 16 | -------------------------------------------------------------------------------- /lib/repository/user_order.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | ///用户订单的数据仓库 4 | class UserOrderRepository extends SimpleLoadingMoreBaes { 5 | final String status; 6 | 7 | UserOrderRepository(this.status); 8 | 9 | @override 10 | MyUserOrderListApi get api => MyUserOrderListApi(); 11 | 12 | @override 13 | List transformResponseData(WrapJson data) { 14 | return List.from(data.getListValue('content').map(UserOrderInfo.fromJson)); 15 | } 16 | 17 | @override 18 | Map get otherParams => status.isNotEmpty ? {"status": status} : {}; 19 | 20 | @override 21 | bool transformIsNomore(WrapJson data) { 22 | return data.getValue('last') as bool; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/res.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:hooks_riverpod/hooks_riverpod.dart'; 3 | 4 | class Test extends ConsumerWidget { 5 | const Test({super.key}); 6 | 7 | @override 8 | Widget build(BuildContext context, WidgetRef ref) { 9 | return SizedBox(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /lib/service/index.dart: -------------------------------------------------------------------------------- 1 | library; 2 | 3 | export 'user_api.dart'; 4 | -------------------------------------------------------------------------------- /lib/service/user_api.dart: -------------------------------------------------------------------------------- 1 | import 'package:get_it/get_it.dart'; 2 | 3 | class UserApi { 4 | 5 | static String get userToken => GetIt.instance.get().token; 6 | 7 | static String? _token; 8 | set token(String? v)=> _token = v; 9 | String get token => _token ?? ''; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /lib/test.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | -------------------------------------------------------------------------------- /lib/util/color_util.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class ColorUtil { 4 | /// 获取图片的主要颜色 5 | static Future getImageMainColor(String netImageUrl) async { 6 | var paletteGenerator = await PaletteGenerator.fromImageProvider( 7 | NetworkImage(MImageUtils.magesProcessor(netImageUrl)), 8 | maximumColorCount: 20, 9 | ); 10 | return paletteGenerator.dominantColor!.color; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/util/public.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | Color getColor(String rgb) { 4 | var colorsRgb = rgb.split(','); 5 | return Color.fromRGBO(int.parse(colorsRgb[0]), int.parse(colorsRgb[1]), int.parse(colorsRgb[2]), 1); 6 | } 7 | 8 | void actionLog(String action, String key, dynamic value) { 9 | wtfLog({"操作": action, key: value}); 10 | } 11 | 12 | Future appLaunchUrl(String url, {String? failMessage}) async { 13 | final uri = Uri.tryParse(url); 14 | if (uri != null) { 15 | if (!await launchUrl(uri)) { 16 | toast(failMessage ?? '无法访问:$url'); 17 | throw Exception('无法访问$url'); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/util/user.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | extension UserHideWidgetEx on Widget { 4 | ///如果未登录,则隐藏这个组件 5 | Widget hideInVisitor() { 6 | return UserHideWidget(child: this); 7 | } 8 | } 9 | 10 | class UserHideWidget extends ConsumerWidget { 11 | final Widget child; 12 | 13 | const UserHideWidget({super.key, required this.child}); 14 | 15 | @override 16 | Widget build(BuildContext context, WidgetRef ref) { 17 | if (!ref.isLogin) { 18 | return const SizedBox(); 19 | } 20 | return child; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/widgets/ad.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class AdTag extends StatelessWidget { 4 | const AdTag({super.key}); 5 | 6 | @override 7 | Widget build(BuildContext context) { 8 | return const MiniTag( 9 | title: 'AD', 10 | ); 11 | } 12 | } 13 | 14 | class MiniTag extends StatelessWidget { 15 | final String title; 16 | 17 | const MiniTag({super.key, required this.title}); 18 | 19 | @override 20 | Widget build(BuildContext context) { 21 | return Container( 22 | padding: const EdgeInsets.symmetric(horizontal: 2, vertical: 1), 23 | decoration: BoxDecoration(color: context.colorScheme.primaryContainer), 24 | child: Text(title, style: context.textTheme.labelSmall?.copyWith(color: context.colorScheme.primary)), 25 | ); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lib/widgets/component/coupon_discount.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | class CouponDiscountShow extends StatelessWidget { 4 | final String value; 5 | 6 | const CouponDiscountShow({super.key, required this.value}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | if (value == '0') return Container(); 11 | return Chip( 12 | label: Text( 13 | '$value元隐藏券', 14 | )); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/widgets/component/tool_tip.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | // 提醒工具 4 | class ToolTip extends StatelessWidget { 5 | final VoidCallback? onClose; 6 | final String text; // 提示语 7 | const ToolTip({super.key, this.onClose, required this.text}); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Container( 12 | margin: const EdgeInsets.all(12), 13 | padding: const EdgeInsets.all(12), 14 | decoration: BoxDecoration(color: Colors.cyan.shade50, borderRadius: BorderRadius.circular(5)), 15 | child: Row( 16 | children: [Expanded(child: Text(text)), IconButton(onPressed: onClose, icon: const Icon(Icons.clear))], 17 | ), 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/widgets/default_avatar_widget.dart: -------------------------------------------------------------------------------- 1 | import 'package:extended_image/extended_image.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | ///头像小部件 5 | class DefaultAvatarWidget extends StatelessWidget { 6 | final String url; //头像URL 7 | final double size; 8 | 9 | const DefaultAvatarWidget(this.url, {super.key, this.size = 40}); 10 | 11 | @override 12 | Widget build(BuildContext context) { 13 | return ExtendedImage.network( 14 | url, 15 | shape: BoxShape.circle, 16 | width: size, 17 | height: size, 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/widgets/default_user_name.dart: -------------------------------------------------------------------------------- 1 | import 'package:dd_js_util/dd_js_util.dart'; 2 | import 'package:flutter/cupertino.dart'; 3 | 4 | import '../provider/riverpod/model/my_user.dart'; 5 | 6 | class DefaultUsernameWidget extends StatelessWidget { 7 | final MyUser user; 8 | final EdgeInsets? padding; 9 | 10 | const DefaultUsernameWidget(this.user, {super.key, this.padding}); 11 | 12 | @override 13 | Widget build(BuildContext context) { 14 | return Row( 15 | mainAxisSize: MainAxisSize.min, 16 | children: [ 17 | Text(user.nickName, style: context.textTheme.titleMedium?.copyWith(fontWeight: FontWeight.bold)), 18 | ], 19 | ); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/widgets/desktop_widget.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | extension DeskTopWidgetEx on Widget { 4 | Widget desktopLayout({required Widget Function(BuildContext context) child}) { 5 | return DeskTopWidget(child: child, mobile: (_) => this); 6 | } 7 | } 8 | 9 | class DeskTopWidget extends StatelessWidget { 10 | final Widget Function(BuildContext context) child; 11 | final Widget Function(BuildContext context) mobile; 12 | 13 | const DeskTopWidget({super.key, required this.child, required this.mobile}); 14 | 15 | @override 16 | Widget build(BuildContext context) { 17 | return ScreenTypeLayout.builder(mobile: mobile, desktop: child); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/widgets/detail_simple_bborder_button.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class DetailSimpleBorderButton extends StatelessWidget { 4 | final String text; // 文字 5 | final bool isCurrent; // 是否选中样式 6 | 7 | const DetailSimpleBorderButton({required this.text, required this.isCurrent, super.key}); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Container( 12 | padding: const EdgeInsets.only(bottom: 10.0), 13 | decoration: BoxDecoration(border: isCurrent ? const Border(bottom: BorderSide(color: Colors.pinkAccent, width: 2.0)) : null), 14 | child: Text(text, style: TextStyle(color: isCurrent ? Colors.pinkAccent : Colors.black, fontWeight: isCurrent ? FontWeight.w600 : null)), 15 | ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/widgets/edit_page_handle.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | /// 点击空白处收起键盘 4 | class EditePageHandle extends StatelessWidget { 5 | final Widget child; 6 | 7 | const EditePageHandle({super.key, required this.child}); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return GestureDetector( 12 | behavior: HitTestBehavior.translucent, 13 | onTap: () { 14 | FocusScope.of(context).requestFocus(FocusNode()); 15 | }, 16 | child: child, 17 | ); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/widgets/flexd/index_main_goods_mini_title_bar.dart: -------------------------------------------------------------------------------- 1 | part of '../index.dart'; 2 | 3 | class IndexMainGoodsMiniTitleBar extends SliverPersistentHeaderDelegate { 4 | final Widget? child; 5 | final double? height; 6 | 7 | IndexMainGoodsMiniTitleBar({this.child, this.height}); 8 | 9 | @override 10 | Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) { 11 | return Container( 12 | child: child, 13 | ); 14 | } 15 | 16 | @override 17 | // TODO: implement maxExtent 18 | double get maxExtent => height!; 19 | 20 | @override 21 | // TODO: implement minExtent 22 | double get minExtent => height!; 23 | 24 | @override 25 | bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) { 26 | return true; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/widgets/float_widget.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class FloatWidget extends SliverPersistentHeaderDelegate { 4 | final Widget child; 5 | final double height; 6 | 7 | FloatWidget({required this.child, required this.height}); 8 | 9 | @override 10 | Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) { 11 | return child; 12 | } 13 | 14 | @override 15 | double get maxExtent => height; 16 | 17 | @override 18 | double get minExtent => height; 19 | 20 | @override 21 | bool shouldRebuild(covariant SliverPersistentHeaderDelegate oldDelegate) => false; 22 | } 23 | -------------------------------------------------------------------------------- /lib/widgets/login_tip_widget.dart: -------------------------------------------------------------------------------- 1 | import 'package:dd_js_util/dd_js_util.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | import '../pages/index.dart'; 5 | 6 | class LoginTipWidget extends StatelessWidget { 7 | const LoginTipWidget({super.key}); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Center( 12 | child: Column(crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ 13 | const Text('请先登录进行下一步操作'), 14 | const SizedBox( 15 | height: 33, 16 | ), 17 | FilledButton( 18 | onPressed: () { 19 | context.navToWidget(to: const UserLoginPage()); 20 | }, 21 | child: const Text("登录")) 22 | ]), 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/widgets/logo.dart: -------------------------------------------------------------------------------- 1 | import 'package:dd_js_util/dd_js_util.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter_svg/flutter_svg.dart'; 4 | 5 | class Logo extends StatelessWidget { 6 | const Logo({super.key}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Container( 11 | alignment: Alignment.center, 12 | child: SvgPicture.asset( 13 | 'assets/svg/diandian.svg', 14 | width: 34, 15 | height: 34, 16 | colorFilter: ColorFilter.mode(context.iconColor ?? Colors.red, BlendMode.srcIn), 17 | ), 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/widgets/my_clipper.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class MyClipper extends CustomClipper { 4 | @override 5 | Path getClip(Size size) { 6 | var path = Path(); 7 | path.lineTo(0, size.height - 50); 8 | path.quadraticBezierTo(size.width / 2, size.height, size.width, size.height - 50); 9 | path.lineTo(size.width, 0); 10 | path.close(); 11 | return path; 12 | } 13 | 14 | @override 15 | bool shouldReclip(CustomClipper oldClipper) { 16 | return false; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/widgets/no_data.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class NoDataWidget extends StatelessWidget { 4 | final String? title; 5 | 6 | const NoDataWidget({this.title, super.key}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Center( 11 | child: Column( 12 | mainAxisAlignment: MainAxisAlignment.center, 13 | children: [ 14 | Image.asset('assets/images/no_data.png', width: 250), 15 | Container( 16 | margin: const EdgeInsets.only(top: 30), 17 | child: Text(title ?? '商品已下架或者删除'), 18 | ) 19 | ], 20 | ), 21 | ); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/widgets/sticky_tab_bar_delegate.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class StickyTabBarDelegate extends SliverPersistentHeaderDelegate { 4 | final TabBar child; 5 | 6 | StickyTabBarDelegate({required this.child}); 7 | 8 | @override 9 | Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) { 10 | return Container( 11 | decoration: const BoxDecoration( 12 | color: Colors.white, 13 | ), 14 | child: child, 15 | ); 16 | } 17 | 18 | @override 19 | double get maxExtent => child.preferredSize.height; 20 | 21 | @override 22 | double get minExtent => child.preferredSize.height; 23 | 24 | @override 25 | bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) { 26 | return true; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/widgets/title_widget.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class TitleWidget extends StatelessWidget { 4 | final String? title; // 文本值 5 | 6 | const TitleWidget({required this.title, super.key}); 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Text( 11 | title!, 12 | textAlign: TextAlign.left, 13 | maxLines: 2, 14 | overflow: TextOverflow.ellipsis, 15 | ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/widgets/webview.dart: -------------------------------------------------------------------------------- 1 | part of 'index.dart'; 2 | 3 | class MyWebviewPage extends StatelessWidget { 4 | final String title; 5 | final String url; 6 | 7 | const MyWebviewPage({super.key, required this.title, required this.url}); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | appBar: AppBar(title: Text(title)), 13 | body: WebViewWidget( 14 | controller: WebViewController() 15 | ..setJavaScriptMode(JavaScriptMode.unrestricted) 16 | ..loadRequest(Uri.parse(url))), 17 | ); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | #include 10 | #include 11 | 12 | void fl_register_plugins(FlPluginRegistry* registry) { 13 | g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = 14 | fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); 15 | file_selector_plugin_register_with_registrar(file_selector_linux_registrar); 16 | g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = 17 | fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); 18 | url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); 19 | } 20 | -------------------------------------------------------------------------------- /linux/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void fl_register_plugins(FlPluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /linux/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /linux/runner/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /linux/runner/my_application.h: -------------------------------------------------------------------------------- 1 | #ifndef FLUTTER_MY_APPLICATION_H_ 2 | #define FLUTTER_MY_APPLICATION_H_ 3 | 4 | #include 5 | 6 | G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, 7 | GtkApplication) 8 | 9 | /** 10 | * my_application_new: 11 | * 12 | * Creates a new Flutter-based application. 13 | * 14 | * Returns: a new #MyApplication. 15 | */ 16 | MyApplication* my_application_new(); 17 | 18 | #endif // FLUTTER_MY_APPLICATION_H_ 19 | -------------------------------------------------------------------------------- /macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @main 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | 10 | override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { 11 | return true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /macos/Runner/Configs/AppInfo.xcconfig: -------------------------------------------------------------------------------- 1 | // Application-level settings for the Runner target. 2 | // 3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the 4 | // future. If not, the values below would default to using the project name when this becomes a 5 | // 'flutter create' template. 6 | 7 | // The application's name. By default this is also the title of the Flutter window. 8 | PRODUCT_NAME = flutter_simple_shop 9 | 10 | // The application's bundle identifier 11 | PRODUCT_BUNDLE_IDENTIFIER = shop.itbug.flutterSimpleShop 12 | 13 | // The copyright displayed in application information 14 | PRODUCT_COPYRIGHT = Copyright © 2021 shop.itbug. All rights reserved. 15 | -------------------------------------------------------------------------------- /macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /macos/Runner/Configs/Warnings.xcconfig: -------------------------------------------------------------------------------- 1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings 2 | GCC_WARN_UNDECLARED_SELECTOR = YES 3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES 4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE 5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES 6 | CLANG_WARN_PRAGMA_PACK = YES 7 | CLANG_WARN_STRICT_PROTOTYPES = YES 8 | CLANG_WARN_COMMA = YES 9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES 10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES 11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES 12 | GCC_WARN_SHADOW = YES 13 | CLANG_WARN_UNREACHABLE_CODE = YES 14 | -------------------------------------------------------------------------------- /macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | com.apple.security.network.client 12 | 13 | com.apple.security.files.user-selected.read-only 14 | 15 | 16 | -------------------------------------------------------------------------------- /macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | com.apple.security.network.client 12 | 13 | com.apple.security.files.user-selected.read-only 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /macos/RunnerTests/RunnerTests.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | import XCTest 4 | 5 | class RunnerTests: XCTestCase { 6 | 7 | func testExample() { 8 | // If you add code to the Runner application, consider adding tests here. 9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest. 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /ohos/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /oh_modules 3 | /local.properties 4 | /.idea 5 | **/build 6 | /.hvigor 7 | .cxx 8 | /.clangd 9 | /.clang-format 10 | /.clang-tidy 11 | **/.test 12 | *.har 13 | **/BuildProfile.ets 14 | **/oh-package-lock.json5 15 | GeneratedPluginRegistrant.ets 16 | 17 | **/src/main/resources/rawfile/flutter_assets/ 18 | **/libs/arm64-v8a/libapp.so 19 | **/libs/arm64-v8a/libflutter.so 20 | **/libs/arm64-v8a/libvmservice_snapshot.so 21 | -------------------------------------------------------------------------------- /ohos/AppScope/app.json5: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "bundleName": "shop.itbug.dd_simple_shop", 4 | "vendor": "example", 5 | "versionCode": 1000000, 6 | "versionName": "1.0.0", 7 | "icon": "$media:app_icon", 8 | "label": "$string:app_name" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ohos/AppScope/resources/base/element/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "string": [ 3 | { 4 | "name": "app_name", 5 | "value": "dd_simple_shop" 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /ohos/AppScope/resources/base/media/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ohos/AppScope/resources/base/media/app_icon.png -------------------------------------------------------------------------------- /ohos/entry/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /node_modules 3 | /oh_modules 4 | /.preview 5 | /build 6 | /.cxx 7 | /.test -------------------------------------------------------------------------------- /ohos/entry/src/main/resources/base/element/color.json: -------------------------------------------------------------------------------- 1 | { 2 | "color": [ 3 | { 4 | "name": "start_window_background", 5 | "value": "#FFFFFF" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /ohos/entry/src/main/resources/base/element/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "string": [ 3 | { 4 | "name": "module_desc", 5 | "value": "module description" 6 | }, 7 | { 8 | "name": "EntryAbility_desc", 9 | "value": "description" 10 | }, 11 | { 12 | "name": "EntryAbility_label", 13 | "value": "dd_simple_shop" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /ohos/entry/src/main/resources/base/media/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ohos/entry/src/main/resources/base/media/icon.png -------------------------------------------------------------------------------- /ohos/entry/src/main/resources/base/profile/buildinfo.json5: -------------------------------------------------------------------------------- 1 | { 2 | "string": [ 3 | { 4 | "name": "enable_impeller", 5 | "value": "true" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /ohos/entry/src/main/resources/base/profile/main_pages.json: -------------------------------------------------------------------------------- 1 | { 2 | "src": [ 3 | "pages/Index" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /ohos/entry/src/main/resources/en_US/element/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "string": [ 3 | { 4 | "name": "module_desc", 5 | "value": "module description" 6 | }, 7 | { 8 | "name": "EntryAbility_desc", 9 | "value": "description" 10 | }, 11 | { 12 | "name": "EntryAbility_label", 13 | "value": "dd_simple_shop" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /ohos/entry/src/main/resources/zh_CN/element/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "string": [ 3 | { 4 | "name": "module_desc", 5 | "value": "模块描述" 6 | }, 7 | { 8 | "name": "EntryAbility_desc", 9 | "value": "description" 10 | }, 11 | { 12 | "name": "EntryAbility_label", 13 | "value": "dd_simple_shop" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /ohos/entry/src/ohosTest/resources/base/element/color.json: -------------------------------------------------------------------------------- 1 | { 2 | "color": [ 3 | { 4 | "name": "start_window_background", 5 | "value": "#FFFFFF" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /ohos/entry/src/ohosTest/resources/base/element/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "string": [ 3 | { 4 | "name": "module_test_desc", 5 | "value": "test ability description" 6 | }, 7 | { 8 | "name": "TestAbility_desc", 9 | "value": "the test ability" 10 | }, 11 | { 12 | "name": "TestAbility_label", 13 | "value": "test label" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /ohos/entry/src/ohosTest/resources/base/media/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/ohos/entry/src/ohosTest/resources/base/media/icon.png -------------------------------------------------------------------------------- /ohos/entry/src/ohosTest/resources/base/profile/test_pages.json: -------------------------------------------------------------------------------- 1 | { 2 | "src": [ 3 | "testability/pages/Index" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /ohos/hvigor/hvigor-config.json5: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2023 Hunan OpenValley Digital Industry Development Co., Ltd. 3 | * Licensed under the Apache License, Version 2.0 (the "License"); 4 | * you may not use this file except in compliance with the License. 5 | * You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software 10 | * distributed under the License is distributed on an "AS IS" BASIS, 11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | * See the License for the specific language governing permissions and 13 | * limitations under the License. 14 | */ 15 | 16 | { 17 | "modelVersion": "5.0.0", 18 | "dependencies": { 19 | } 20 | } -------------------------------------------------------------------------------- /web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/web/favicon.png -------------------------------------------------------------------------------- /web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/web/icons/Icon-192.png -------------------------------------------------------------------------------- /web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/web/icons/Icon-512.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/web/icons/Icon-maskable-192.png -------------------------------------------------------------------------------- /web/icons/Icon-maskable-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/web/icons/Icon-maskable-512.png -------------------------------------------------------------------------------- /windows/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral/ 2 | 3 | # Visual Studio user-specific files. 4 | *.suo 5 | *.user 6 | *.userosscache 7 | *.sln.docstates 8 | 9 | # Visual Studio build-related files. 10 | x64/ 11 | x86/ 12 | 13 | # Visual Studio cache files 14 | # files ending in .cache can be ignored 15 | *.[Cc]ache 16 | # but keep track of directories ending in .cache 17 | !*.[Cc]ache/ 18 | -------------------------------------------------------------------------------- /windows/flutter/generated_plugin_registrant.h: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #ifndef GENERATED_PLUGIN_REGISTRANT_ 8 | #define GENERATED_PLUGIN_REGISTRANT_ 9 | 10 | #include 11 | 12 | // Registers Flutter plugins. 13 | void RegisterPlugins(flutter::PluginRegistry* registry); 14 | 15 | #endif // GENERATED_PLUGIN_REGISTRANT_ 16 | -------------------------------------------------------------------------------- /windows/runner/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.15) 2 | project(runner LANGUAGES CXX) 3 | 4 | add_executable(${BINARY_NAME} WIN32 5 | "flutter_window.cpp" 6 | "main.cpp" 7 | "run_loop.cpp" 8 | "utils.cpp" 9 | "win32_window.cpp" 10 | "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" 11 | "Runner.rc" 12 | "runner.exe.manifest" 13 | ) 14 | apply_standard_settings(${BINARY_NAME}) 15 | target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") 16 | target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) 17 | target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") 18 | add_dependencies(${BINARY_NAME} flutter_assemble) 19 | -------------------------------------------------------------------------------- /windows/runner/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Runner.rc 4 | // 5 | #define IDI_APP_ICON 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdddj/flutter_simple_shop/bf4cc6729f68f1771440c7a5de8aa80164139d83/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /windows/runner/utils.h: -------------------------------------------------------------------------------- 1 | #ifndef RUNNER_UTILS_H_ 2 | #define RUNNER_UTILS_H_ 3 | 4 | #include 5 | #include 6 | 7 | // Creates a console for the process, and redirects stdout and stderr to 8 | // it for both the runner and the Flutter library. 9 | void CreateAndAttachConsole(); 10 | 11 | // Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string 12 | // encoded in UTF-8. Returns an empty std::string on failure. 13 | std::string Utf8FromUtf16(const wchar_t* utf16_string); 14 | 15 | // Gets the command line arguments passed in as a std::vector, 16 | // encoded in UTF-8. Returns an empty std::vector on failure. 17 | std::vector GetCommandLineArguments(); 18 | 19 | #endif // RUNNER_UTILS_H_ 20 | --------------------------------------------------------------------------------