├── yunzhixiao_business_client ├── .vscode │ └── settings.json ├── android │ ├── .settings │ │ └── org.eclipse.buildship.core.prefs │ ├── app │ │ ├── .settings │ │ │ └── org.eclipse.buildship.core.prefs │ │ ├── src │ │ │ └── main │ │ │ │ ├── res │ │ │ │ ├── drawable │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── yunzhixiao_shop.png │ │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── yunzhixiao_shop.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── yunzhixiao_shop.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── yunzhixiao_shop.png │ │ │ │ └── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── finerit │ │ │ │ │ └── yunzhixiao_customer_client │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── AndroidManifest.xml │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ ├── .classpath │ │ ├── local.properties │ │ ├── app.iml │ │ ├── .project │ │ ├── gradlew.bat │ │ ├── build.gradle │ │ ├── gradlew │ │ └── android-app.iml │ ├── .gitignore │ ├── .project │ └── android.iml ├── .gitignore ├── .flutter-plugins-dependencies ├── README.md ├── README_EN.md └── LICENSE ├── README.md └── README_EN.md /yunzhixiao_business_client/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic" 3 | } -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/.settings/org.eclipse.buildship.core.prefs: -------------------------------------------------------------------------------- 1 | connection.project.dir= 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/.settings/org.eclipse.buildship.core.prefs: -------------------------------------------------------------------------------- 1 | connection.project.dir=.. 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/drawable/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/drawable/ic_launcher.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/drawable/yunzhixiao_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/drawable/yunzhixiao_shop.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/mipmap-hdpi/yunzhixiao_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/mipmap-hdpi/yunzhixiao_shop.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/mipmap-mdpi/yunzhixiao_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/mipmap-mdpi/yunzhixiao_shop.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/mipmap-xhdpi/yunzhixiao_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anjiefan/flutter_app_o2o/HEAD/yunzhixiao_business_client/android/app/src/main/res/mipmap-xhdpi/yunzhixiao_shop.png -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Feb 24 15:20:22 CST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip 7 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/local.properties: -------------------------------------------------------------------------------- 1 | ## This file must *NOT* be checked into Version Control Systems, 2 | # as it contains information specific to your local configuration. 3 | # 4 | # Location of the SDK. This is only used by Gradle. 5 | # For customization when using a Version Control System, please read the 6 | # header note. 7 | #Mon Feb 24 15:20:19 CST 2020 8 | sdk.dir=/Users/houduan/Public/Android/sdk 9 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://www.dartlang.org/guides/libraries/private-files 2 | 3 | # Files and directories created by pub 4 | .dart_tool/ 5 | .packages 6 | .pub/ 7 | .idea/ 8 | build/ 9 | # If you're building an application, you may want to check-in your pubspec.lock 10 | pubspec.lock 11 | 12 | # Directory created by dartdoc 13 | # If you don't generate documentation locally you can remove this line. 14 | doc/api/ 15 | .flutter-plugins 16 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | android 4 | Project android created by Buildship. 5 | 6 | 7 | 8 | 9 | org.eclipse.buildship.core.gradleprojectbuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.buildship.core.gradleprojectnature 16 | 17 | 18 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/kotlin/com/finerit/yunzhixiao_customer_client/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.finerit.yunzhixiao_customer_client 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 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/android.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/app.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | app 4 | Project app created by Buildship. 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.buildship.core.gradleprojectbuilder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.jdt.core.javanature 21 | org.eclipse.buildship.core.gradleprojectnature 22 | 23 | 24 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/.flutter-plugins-dependencies: -------------------------------------------------------------------------------- 1 | {"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"audioplayers","dependencies":["path_provider"]},{"name":"connectivity","dependencies":[]},{"name":"device_info","dependencies":[]},{"name":"fake_alipay","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"flutter_webview_plugin","dependencies":[]},{"name":"getuiflut","dependencies":[]},{"name":"image_gallery_saver","dependencies":[]},{"name":"image_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"launch_review","dependencies":[]},{"name":"notification_permissions","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"package_info","dependencies":[]},{"name":"path_provider","dependencies":[]},{"name":"permission_handler","dependencies":[]},{"name":"share","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_macos"]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"wakelock","dependencies":[]},{"name":"webview_flutter","dependencies":[]}]} -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 16 | 21 | 28 | 29 | 30 | 31 | 32 | 33 | 35 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/build.gradle: -------------------------------------------------------------------------------- 1 | def localProperties = new Properties() 2 | def localPropertiesFile = rootProject.file('local.properties') 3 | if (localPropertiesFile.exists()) { 4 | localPropertiesFile.withReader('UTF-8') { reader -> 5 | localProperties.load(reader) 6 | } 7 | } 8 | 9 | def flutterRoot = localProperties.getProperty('flutter.sdk') 10 | if (flutterRoot == null) { 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 12 | } 13 | 14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 15 | if (flutterVersionCode == null) { 16 | flutterVersionCode = '1' 17 | } 18 | 19 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 20 | if (flutterVersionName == null) { 21 | flutterVersionName = '1.0' 22 | } 23 | 24 | apply plugin: 'com.android.application' 25 | apply plugin: 'kotlin-android' 26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 27 | def keystoreProperties = new Properties() 28 | def keystorePropertiesFile = rootProject.file('key.properties') 29 | if (keystorePropertiesFile.exists()) { 30 | keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) 31 | } 32 | 33 | android { 34 | compileSdkVersion 28 35 | 36 | sourceSets { 37 | main.java.srcDirs += 'src/main/kotlin' 38 | } 39 | 40 | lintOptions { 41 | disable 'InvalidPackage' 42 | } 43 | aaptOptions { cruncherEnabled = false } 44 | 45 | signingConfigs { 46 | release { 47 | keyAlias keystoreProperties['keyAlias'] 48 | keyPassword keystoreProperties['keyPassword'] 49 | storeFile file(keystoreProperties['storeFile']) 50 | storePassword keystoreProperties['storePassword'] 51 | } 52 | } 53 | buildTypes { 54 | release { 55 | signingConfig signingConfigs.release 56 | minifyEnabled false 57 | shrinkResources false 58 | useProguard false 59 | // proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 60 | } 61 | debug { 62 | signingConfig signingConfigs.release 63 | } 64 | } 65 | compileOptions { 66 | sourceCompatibility JavaVersion.VERSION_1_8 67 | targetCompatibility JavaVersion.VERSION_1_8 68 | } 69 | 70 | defaultConfig { 71 | applicationId "com.finerit.yunzhixiao_business_client" 72 | minSdkVersion 21 73 | targetSdkVersion 28 74 | versionCode flutterVersionCode.toInteger() 75 | versionName flutterVersionName 76 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 77 | manifestPlaceholders = [ 78 | GETUI_APP_ID : "zG5aCaVQYi9P4DDD6EYOQ5", 79 | GETUI_APP_KEY : "gsI03VyLNLApbAia2Dqdy8", 80 | GETUI_APP_SECRET: "jqRyGSeZ4Q9bTE8WP2Kbz9", 81 | // 下面是多厂商配置,如需要开通使用请联系技术支持 82 | // 如果不需要使用,预留空字段即可 83 | XIAOMI_APP_ID : "", 84 | XIAOMI_APP_KEY : "", 85 | MEIZU_APP_ID : "", 86 | MEIZU_APP_KEY : "", 87 | HUAWEI_APP_ID : "", 88 | OPPO_APP_KEY : "", 89 | OPPO_APP_SECRET : "", 90 | VIVO_APP_ID : "", 91 | VIVO_APP_KEY : "" 92 | ] 93 | } 94 | 95 | buildTypes { 96 | release { 97 | // TODO: Add your own signing config for the release build. 98 | // Signing with the debug keys for now, so `flutter run --release` works. 99 | signingConfig signingConfigs.debug 100 | } 101 | } 102 | } 103 | 104 | flutter { 105 | source '../..' 106 | } 107 | 108 | dependencies { 109 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 110 | testImplementation 'junit:junit:4.12' 111 | androidTestImplementation 'androidx.test:runner:1.1.1' 112 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' 113 | } 114 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # flutter_app_o2o 2 | flutter高校食堂o2o预定服务,商业级应用,持续升级,完全开源。 3 | ### notice: 4 | - 本产品由北京邮电大学&东北石油大学在校创业者研发,当前处于产品公测&本校运营阶段,开源供全国高校在校生加盟开发、测试、线下运营使用,完全开源,期望以实现全国自由开发者、创业者共同完善升级迭代应用,实现中心化平台、工具,去中心化商业,不再重复制造产业,共同铸就市场。 5 | - FLUTTER交流群:700014933,商务合作联系qq:66064540,微信:13091667316。 6 | - 由于国内github网速的问题,我们内部开发选用gitee源,github源每月更新大版本,获取最新项目进展以及协作开发可以前往gitee,我们非常乐意听取您的意见,为共同的市场定制功能,添加更人性化的功能,修补缺陷,期待您的issues。 7 | - 用户端gitee源[https://gitee.com/qiao_bu_fan/yunzhixiao_customer_client](https://gitee.com/qiao_bu_fan/yunzhixiao_customer_client) 8 | - 商家端gitee源[https://gitee.com/qiao_bu_fan/yunzhixiao_business_client](https://gitee.com/qiao_bu_fan/yunzhixiao_business_client) 9 | - app测试账户,账户:19999999999 密码:suibianle00 10 | --- 11 | # O2O - Flutter 版校园o2o食堂预定app 12 | 13 | - [English](https://github.com/Anjiefan/flutter_app_o2o/blob/master/README_EN.md) 14 | 15 | 这是一款完整的、商业级开源应用,旨在解决全国高校校内餐饮、零售等服务的效率问题,实现数字化校园,智能化校园。 16 | 已实现的功能有: 17 | - [x] 线上下单 18 | - [x] 快速预定 19 | - [x] 货币系统 20 | - [x] 分销系统 21 | - [x] 优惠卷系统 22 | - [x] 店铺管理 23 | - [x] 商品管理 24 | - [x] 订单管理 25 | - [x] 微信、qq分享 26 | 27 | 未来可能升级的功能有: 28 | - 硬件系统 29 | - 跑腿系统 30 | - 校外餐饮优惠卷系统 31 | 32 | ## Download 33 | 34 | **Android:** [用户端下载](http://lc-aveFaAUx.cn-n1.lcfile.com/a2f180060daf6acbd5cb/app-release.apk) | [商家端下载](http://lc-aveFaAUx.cn-n1.lcfile.com/67f1e71b5d557927c74a/app-release.apk) 35 | 36 | **iOS:** 审核上线中 37 | 38 | **app官网:** [http://stg-finerit.leanapp.cn/app/](http://stg-finerit.leanapp.cn/app/) 39 | 40 | ## 关键页面截图 41 | 42 | ### 1. 用户端页面截图 43 | ![用户端页面截图](http://lc-aveFaAUx.cn-n1.lcfile.com/a44e06a43b68b9cff731/%E5%AE%A2%E6%88%B7.png) 44 | ### 2. 商家端页面截图 45 | ![商家端页面截图](http://lc-aveFaAUx.cn-n1.lcfile.com/f40eaaffc0e0cbe3b834/%E5%95%86%E5%AE%B6.png) 46 | 47 | ## 基础环境 48 | ```dart 49 | // 运行如下命令 50 | flutter --version 51 | 52 | // 正确环境如下 53 | // Flutter 1.12.13+hotfix.5 • channel stable • 54 | // https://github.com/flutter/flutter.git 55 | // Framework • revision 27321ebbad (3 months ago) • 2019-12-10 18:15:01 -0800 56 | // Engine • revision 2994f7e1e6 57 | // Tools • Dart 2.7.0 58 | ``` 59 | ## 架构 60 | >- |--lib 61 | > - |-- common (常用类,Constants,Routers,Networks,Managers) 62 | > - |-- Constants(常量集合) 63 | > - |-- Routers(路由集合) 64 | > - |-- Networks(进一步封装dio系统架构) 65 | > - |-- Managers(管理类,如:获取文件、获取存储信息、完成文件缓存等) 66 | > - |-- models (实体类) 67 | > - |-- providers (进一步封装provider系统架构) 68 | > - |-- service (网络层业务逻辑) 69 | > - |-- ui (界面相关page,dialog,widgets) 70 | > - |-- utils (工具类) 71 | > - |-- view_model (操作service,provider的实体model类) 72 | 73 | ## 文档 74 | **后端API:** [点击查看](http://stg-finerit.leanapp.cn/finerit/) 75 | 76 | ## 更新记录 77 | - [x] 2019.1.20,完成项目策划,正式启动项目 78 | - [x] 2020.1.30,完成前后端架构的搭建 79 | - [x] 2020.2.30,完成商家端、用户端的大体模型及业务实现 80 | - [x] 2020.3.30,完成前后端性能调优,ui交互调优,美化,api序列化优化,修复漏洞 81 | - [x] 2020.3.14,完成大体测试,正式开源公测,预备上线 82 | ## 核心开发者 83 | 84 | 85 | 86 | 91 | 96 | 101 | 106 | 107 | 108 |
87 | 88 |
89 | @Anjiefan 90 |
92 | 93 |
94 | @morningstarwang 95 |
97 | 98 |
99 | @1GayWoliGiao 100 |
102 | 103 |
104 | @jypjypjypjyp 105 |
109 | 110 | ## 版权 111 | - [x] 黑龙江省符瑞科技有限公司 112 | - [x] 大庆市凡尔网络科技有限责任公司 113 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/README.md: -------------------------------------------------------------------------------- 1 | # flutter_app_o2o 2 | flutter高校食堂o2o预定服务,商业级应用,持续升级,完全开源。 3 | ### notice: 4 | - 本产品由北京邮电大学&东北石油大学在校创业者研发,当前处于产品公测&本校运营阶段,开源供全国高校在校生加盟开发、测试、线下运营使用,完全开源,期望以实现全国自由开发者、创业者共同完善升级迭代应用,实现中心化平台、工具,去中心化商业,不再重复制造产业,共同铸就市场。 5 | - FLUTTER交流群:700014933,商务合作联系qq:66064540,微信:13091667316。 6 | - 由于国内github网速的问题,我们内部开发选用gitee源,github源每月更新大版本,获取最新项目进展以及协作开发可以前往gitee,我们非常乐意听取您的意见,为共同的市场定制功能,添加更人性化的功能,修补缺陷,期待您的issues。 7 | - 用户端gitee源[https://gitee.com/qiao_bu_fan/yunzhixiao_customer_client](https://gitee.com/qiao_bu_fan/yunzhixiao_customer_client) 8 | - 商家端gitee源[https://gitee.com/qiao_bu_fan/yunzhixiao_business_client](https://gitee.com/qiao_bu_fan/yunzhixiao_business_client) 9 | - app测试账户,账户:19999999999 密码:suibianle00 10 | --- 11 | # O2O - Flutter 版校园o2o食堂预定app 12 | 13 | - [English](https://github.com/Anjiefan/flutter_app_o2o/blob/master/README_EN.md) 14 | 15 | 这是一款完整的、商业级开源应用,旨在解决全国高校校内餐饮、零售等服务的效率问题,实现数字化校园,智能化校园。 16 | 已实现的功能有: 17 | - [x] 线上下单 18 | - [x] 快速预定 19 | - [x] 货币系统 20 | - [x] 分销系统 21 | - [x] 优惠卷系统 22 | - [x] 店铺管理 23 | - [x] 商品管理 24 | - [x] 订单管理 25 | - [x] 微信、qq分享 26 | 27 | 未来可能升级的功能有: 28 | - 硬件系统 29 | - 跑腿系统 30 | - 校外餐饮优惠卷系统 31 | 32 | ## Download 33 | 34 | **Android:** [用户端下载](http://lc-aveFaAUx.cn-n1.lcfile.com/109c64383476c979edcd/app.apk) | [商家端下载](http://lc-aveFaAUx.cn-n1.lcfile.com/67f1e71b5d557927c74a/app-release.apk) 35 | 36 | **iOS:** 审核上线中 37 | 38 | **app官网:** [http://stg-finerit.leanapp.cn/app/](http://stg-finerit.leanapp.cn/app/) 39 | 40 | ## 关键页面截图 41 | 42 | ### 1. 用户端页面截图 43 | ![用户端页面截图](http://lc-aveFaAUx.cn-n1.lcfile.com/a44e06a43b68b9cff731/%E5%AE%A2%E6%88%B7.png) 44 | ### 2. 商家端页面截图 45 | ![商家端页面截图](http://lc-aveFaAUx.cn-n1.lcfile.com/f40eaaffc0e0cbe3b834/%E5%95%86%E5%AE%B6.png) 46 | 47 | ## 基础环境 48 | ```dart 49 | // 运行如下命令 50 | flutter --version 51 | 52 | // 正确环境如下 53 | // Flutter 1.12.13+hotfix.5 • channel stable • 54 | // https://github.com/flutter/flutter.git 55 | // Framework • revision 27321ebbad (3 months ago) • 2019-12-10 18:15:01 -0800 56 | // Engine • revision 2994f7e1e6 57 | // Tools • Dart 2.7.0 58 | ``` 59 | ## 架构 60 | >- |--lib 61 | > - |-- common (常用类,Constants,Routers,Networks,Managers) 62 | > - |-- Constants(常量集合) 63 | > - |-- Routers(路由集合) 64 | > - |-- Networks(进一步封装dio系统架构) 65 | > - |-- Managers(管理类,如:获取文件、获取存储信息、完成文件缓存等) 66 | > - |-- models (实体类) 67 | > - |-- providers (进一步封装provider系统架构) 68 | > - |-- service (网络层业务逻辑) 69 | > - |-- ui (界面相关page,dialog,widgets) 70 | > - |-- utils (工具类) 71 | > - |-- view_model (操作service,provider的实体model类) 72 | 73 | ## 文档 74 | **后端API:** [点击查看](http://stg-finerit.leanapp.cn/finerit/) 75 | 76 | ## 更新记录 77 | - [x] 2019.1.20,完成项目策划,正式启动项目 78 | - [x] 2020.1.30,完成前后端架构的搭建 79 | - [x] 2020.2.30,完成商家端、用户端的大体模型及业务实现 80 | - [x] 2020.3.30,完成前后端性能调优,ui交互调优,美化,api序列化优化,修复漏洞 81 | - [x] 2020.3.14,完成大体测试,正式开源公测,预备上线 82 | ## 核心开发者 83 | 84 | 85 | 86 | 91 | 96 | 101 | 106 | 107 | 108 |
87 | 88 |
89 | @Anjiefan 90 |
92 | 93 |
94 | @morningstarwang 95 |
97 | 98 |
99 | @1GayWoliGiao 100 |
102 | 103 |
104 | @jypjypjypjyp 105 |
109 | 110 | ## 版权 111 | - [x] 黑龙江省符瑞科技有限公司 112 | - [x] 大庆市凡尔网络科技有限责任公司 113 | -------------------------------------------------------------------------------- /README_EN.md: -------------------------------------------------------------------------------- 1 | # flutter_app_o2o 2 | flutter College canteen o2o reservation service, commercial application, continuous upgrading, completely open source. 3 | ### notice: 4 | - This product by the Beijing university of posts and telecommunications & northeast petroleum university school entrepreneurs to research and development, the current products & our demo operation stage, open source for the national college students to join in development, testing, offline operation, fully open source, expect to achieve the national free common perfect upgrade iterative application, developers, entrepreneurs realize centralized platform, tools, and decentralized business, not repeat manufacture industry, casting market together. 5 | - FLUTTER communication qq group: 700014933, business cooperation contact qq: 66064540,wechat: 13091667316. 6 | - App test account, account: 19999999999 password: suibianle00 7 | --- 8 | # O2O - Flutter version campus o2o canteen booking app 9 | 10 | - [中文](https://github.com/Anjiefan/flutter_app_o2o/blob/master/README.md) 11 | 12 | This is a complete, commercial-grade open source application, which aims to solve the efficiency problem of on-campus catering, retail and other services in colleges and universities across the country, and realize digital campus and intelligent campus. 13 | The implemented functions are: 14 | - [x] Online shopping 15 | - [x] Quick reservation 16 | - [x] The monetary system 17 | - [x] The distribution system 18 | - [x] Coupon system 19 | - [x] The store management 20 | - [x] Commodity management 21 | - [x] The order management 22 | - [x] WeChat, qq share 23 | 24 | Possible future upgrades include: 25 | - The hardware system 26 | - Running errands system 27 | - Off-campus catering voucher system 28 | 29 | ## Download 30 | 31 | **Android:** [client download](http://lc-aveFaAUx.cn-n1.lcfile.com/a2f180060daf6acbd5cb/app-release.apk) | [shop download](http://lc-aveFaAUx.cn-n1.lcfile.com/67f1e71b5d557927c74a/app-release.apk) 32 | 33 | **iOS:** Review on line 34 | 35 | **app website:** [http://stg-finerit.leanapp.cn/app/](http://stg-finerit.leanapp.cn/app/) 36 | 37 | ## screenshot 38 | 39 | ### 1. Screenshot of the client page 40 | ![Screenshot of the client page](http://lc-aveFaAUx.cn-n1.lcfile.com/a44e06a43b68b9cff731/%E5%AE%A2%E6%88%B7.png) 41 | ### 2. Business side page screenshot 42 | ![Business side page screenshot](http://lc-aveFaAUx.cn-n1.lcfile.com/f40eaaffc0e0cbe3b834/%E5%95%86%E5%AE%B6.png) 43 | 44 | ## Based on the environment 45 | ```dart 46 | // Run the following command 47 | flutter --version 48 | 49 | // The correct environment is as follows 50 | // Flutter 1.12.13+hotfix.5 • channel stable • 51 | // https://github.com/flutter/flutter.git 52 | // Framework • revision 27321ebbad (3 months ago) • 2019-12-10 18:15:01 -0800 53 | // Engine • revision 2994f7e1e6 54 | // Tools • Dart 2.7.0 55 | ``` 56 | ## architecture 57 | >- |--lib 58 | > - |-- common (Commonly used class,Constants,Routers,Networks,Managers) 59 | > - |-- Constants(Constant collection) 60 | > - |-- Routers(Routing collection) 61 | > - |-- Networks(Further encapsulate the dio system architecture) 62 | > - |-- Managers(Management classes, such as: get files, get storage information, complete file cache, and so on) 63 | > - |-- models (Entity class) 64 | > - |-- providers (Further encapsulate the provider architecture) 65 | > - |-- service (Network layer business logic) 66 | > - |-- ui (page,dialog,widgets) 67 | > - |-- utils (Utility class) 68 | > - |-- view_model (The entity model class that operates on the service, provider) 69 | 70 | ## The document 71 | **The server side API:** [Click to view](http://stg-finerit.leanapp.cn/finerit/) 72 | 73 | ## Update record 74 | - [x] 2019.1.20 Complete the project planning and officially launch the project 75 | - [x] 2020.1.30,Complete the construction of front and rear architecture 76 | - [x] 2020.2.30,Complete the general model and business realization of the merchant side and the client side 77 | - [x] 2020.3.30,Complete front and rear performance tuning, UI interaction tuning, beautification, API serialization optimization, and bug fixing 78 | - [x] 2020.3.14,Complete general test, official open source public test, ready to go online 79 | ## Asosiy tuzuvchi 80 | 81 | 82 | 83 | 88 | 93 | 98 | 103 | 104 | 105 |
84 | 85 |
86 | @Anjiefan 87 |
89 | 90 |
91 | @morningstarwang 92 |
94 | 95 |
96 | @1GayWoliGiao 97 |
99 | 100 |
101 | @jypjypjypjyp 102 |
106 | 107 | ## copyright 108 | - [x] 黑龙江省符瑞科技有限公司 109 | - [x] 大庆市凡尔网络科技有限责任公司 110 | 111 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/README_EN.md: -------------------------------------------------------------------------------- 1 | # flutter_app_o2o 2 | flutter College canteen o2o reservation service, commercial application, continuous upgrading, completely open source. 3 | ### notice: 4 | - This product by the Beijing university of posts and telecommunications & northeast petroleum university school entrepreneurs to research and development, the current products & our demo operation stage, open source for the national college students to join in development, testing, offline operation, fully open source, expect to achieve the national free common perfect upgrade iterative application, developers, entrepreneurs realize centralized platform, tools, and decentralized business, not repeat manufacture industry, casting market together. 5 | - FLUTTER communication qq group: 700014933, business cooperation contact qq: 66064540,wechat: 13091667316. 6 | - App test account, account: 19999999999 password: suibianle00 7 | --- 8 | # O2O - Flutter version campus o2o canteen booking app 9 | 10 | - [中文](https://github.com/Anjiefan/flutter_app_o2o/blob/master/README.md) 11 | 12 | This is a complete, commercial-grade open source application, which aims to solve the efficiency problem of on-campus catering, retail and other services in colleges and universities across the country, and realize digital campus and intelligent campus. 13 | The implemented functions are: 14 | - [x] Online shopping 15 | - [x] Quick reservation 16 | - [x] The monetary system 17 | - [x] The distribution system 18 | - [x] Coupon system 19 | - [x] The store management 20 | - [x] Commodity management 21 | - [x] The order management 22 | - [x] WeChat, qq share 23 | 24 | Possible future upgrades include: 25 | - The hardware system 26 | - Running errands system 27 | - Off-campus catering voucher system 28 | 29 | ## Download 30 | 31 | **Android:** [client download](http://lc-aveFaAUx.cn-n1.lcfile.com/109c64383476c979edcd/app.apk) | [shop download](http://lc-aveFaAUx.cn-n1.lcfile.com/67f1e71b5d557927c74a/app-release.apk) 32 | 33 | **iOS:** Review on line 34 | 35 | **app website:** [http://stg-finerit.leanapp.cn/app/](http://stg-finerit.leanapp.cn/app/) 36 | 37 | ## screenshot 38 | 39 | ### 1. Screenshot of the client page 40 | ![Screenshot of the client page](http://lc-aveFaAUx.cn-n1.lcfile.com/a44e06a43b68b9cff731/%E5%AE%A2%E6%88%B7.png) 41 | ### 2. Business side page screenshot 42 | ![Business side page screenshot](http://lc-aveFaAUx.cn-n1.lcfile.com/f40eaaffc0e0cbe3b834/%E5%95%86%E5%AE%B6.png) 43 | 44 | ## Based on the environment 45 | ```dart 46 | // Run the following command 47 | flutter --version 48 | 49 | // The correct environment is as follows 50 | // Flutter 1.12.13+hotfix.5 • channel stable • 51 | // https://github.com/flutter/flutter.git 52 | // Framework • revision 27321ebbad (3 months ago) • 2019-12-10 18:15:01 -0800 53 | // Engine • revision 2994f7e1e6 54 | // Tools • Dart 2.7.0 55 | ``` 56 | ## architecture 57 | >- |--lib 58 | > - |-- common (Commonly used class,Constants,Routers,Networks,Managers) 59 | > - |-- Constants(Constant collection) 60 | > - |-- Routers(Routing collection) 61 | > - |-- Networks(Further encapsulate the dio system architecture) 62 | > - |-- Managers(Management classes, such as: get files, get storage information, complete file cache, and so on) 63 | > - |-- models (Entity class) 64 | > - |-- providers (Further encapsulate the provider architecture) 65 | > - |-- service (Network layer business logic) 66 | > - |-- ui (page,dialog,widgets) 67 | > - |-- utils (Utility class) 68 | > - |-- view_model (The entity model class that operates on the service, provider) 69 | 70 | ## The document 71 | **The server side API:** [Click to view](http://stg-finerit.leanapp.cn/finerit/) 72 | 73 | ## Update record 74 | - [x] 2019.1.20 Complete the project planning and officially launch the project 75 | - [x] 2020.1.30,Complete the construction of front and rear architecture 76 | - [x] 2020.2.30,Complete the general model and business realization of the merchant side and the client side 77 | - [x] 2020.3.30,Complete front and rear performance tuning, UI interaction tuning, beautification, API serialization optimization, and bug fixing 78 | - [x] 2020.3.14,Complete general test, official open source public test, ready to go online 79 | ## Asosiy tuzuvchi 80 | 81 | 82 | 83 | 88 | 93 | 98 | 103 | 104 | 105 |
84 | 85 |
86 | @Anjiefan 87 |
89 | 90 |
91 | @morningstarwang 92 |
94 | 95 |
96 | @1GayWoliGiao 97 |
99 | 100 |
101 | @jypjypjypjyp 102 |
106 | 107 | ## copyright 108 | - [x] 黑龙江省符瑞科技有限公司 109 | - [x] 大庆市凡尔网络科技有限责任公司 110 | 111 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/LICENSE: -------------------------------------------------------------------------------- 1 | Mozilla Public License Version 2.0 2 | ================================== 3 | 4 | 1. Definitions 5 | -------------- 6 | 7 | 1.1. "Contributor" 8 | means each individual or legal entity that creates, contributes to 9 | the creation of, or owns Covered Software. 10 | 11 | 1.2. "Contributor Version" 12 | means the combination of the Contributions of others (if any) used 13 | by a Contributor and that particular Contributor's Contribution. 14 | 15 | 1.3. "Contribution" 16 | means Covered Software of a particular Contributor. 17 | 18 | 1.4. "Covered Software" 19 | means Source Code Form to which the initial Contributor has attached 20 | the notice in Exhibit A, the Executable Form of such Source Code 21 | Form, and Modifications of such Source Code Form, in each case 22 | including portions thereof. 23 | 24 | 1.5. "Incompatible With Secondary Licenses" 25 | means 26 | 27 | (a) that the initial Contributor has attached the notice described 28 | in Exhibit B to the Covered Software; or 29 | 30 | (b) that the Covered Software was made available under the terms of 31 | version 1.1 or earlier of the License, but not also under the 32 | terms of a Secondary License. 33 | 34 | 1.6. "Executable Form" 35 | means any form of the work other than Source Code Form. 36 | 37 | 1.7. "Larger Work" 38 | means a work that combines Covered Software with other material, in 39 | a separate file or files, that is not Covered Software. 40 | 41 | 1.8. "License" 42 | means this document. 43 | 44 | 1.9. "Licensable" 45 | means having the right to grant, to the maximum extent possible, 46 | whether at the time of the initial grant or subsequently, any and 47 | all of the rights conveyed by this License. 48 | 49 | 1.10. "Modifications" 50 | means any of the following: 51 | 52 | (a) any file in Source Code Form that results from an addition to, 53 | deletion from, or modification of the contents of Covered 54 | Software; or 55 | 56 | (b) any new file in Source Code Form that contains any Covered 57 | Software. 58 | 59 | 1.11. "Patent Claims" of a Contributor 60 | means any patent claim(s), including without limitation, method, 61 | process, and apparatus claims, in any patent Licensable by such 62 | Contributor that would be infringed, but for the grant of the 63 | License, by the making, using, selling, offering for sale, having 64 | made, import, or transfer of either its Contributions or its 65 | Contributor Version. 66 | 67 | 1.12. "Secondary License" 68 | means either the GNU General Public License, Version 2.0, the GNU 69 | Lesser General Public License, Version 2.1, the GNU Affero General 70 | Public License, Version 3.0, or any later versions of those 71 | licenses. 72 | 73 | 1.13. "Source Code Form" 74 | means the form of the work preferred for making modifications. 75 | 76 | 1.14. "You" (or "Your") 77 | means an individual or a legal entity exercising rights under this 78 | License. For legal entities, "You" includes any entity that 79 | controls, is controlled by, or is under common control with You. For 80 | purposes of this definition, "control" means (a) the power, direct 81 | or indirect, to cause the direction or management of such entity, 82 | whether by contract or otherwise, or (b) ownership of more than 83 | fifty percent (50%) of the outstanding shares or beneficial 84 | ownership of such entity. 85 | 86 | 2. License Grants and Conditions 87 | -------------------------------- 88 | 89 | 2.1. Grants 90 | 91 | Each Contributor hereby grants You a world-wide, royalty-free, 92 | non-exclusive license: 93 | 94 | (a) under intellectual property rights (other than patent or trademark) 95 | Licensable by such Contributor to use, reproduce, make available, 96 | modify, display, perform, distribute, and otherwise exploit its 97 | Contributions, either on an unmodified basis, with Modifications, or 98 | as part of a Larger Work; and 99 | 100 | (b) under Patent Claims of such Contributor to make, use, sell, offer 101 | for sale, have made, import, and otherwise transfer either its 102 | Contributions or its Contributor Version. 103 | 104 | 2.2. Effective Date 105 | 106 | The licenses granted in Section 2.1 with respect to any Contribution 107 | become effective for each Contribution on the date the Contributor first 108 | distributes such Contribution. 109 | 110 | 2.3. Limitations on Grant Scope 111 | 112 | The licenses granted in this Section 2 are the only rights granted under 113 | this License. No additional rights or licenses will be implied from the 114 | distribution or licensing of Covered Software under this License. 115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 | Contributor: 117 | 118 | (a) for any code that a Contributor has removed from Covered Software; 119 | or 120 | 121 | (b) for infringements caused by: (i) Your and any other third party's 122 | modifications of Covered Software, or (ii) the combination of its 123 | Contributions with other software (except as part of its Contributor 124 | Version); or 125 | 126 | (c) under Patent Claims infringed by Covered Software in the absence of 127 | its Contributions. 128 | 129 | This License does not grant any rights in the trademarks, service marks, 130 | or logos of any Contributor (except as may be necessary to comply with 131 | the notice requirements in Section 3.4). 132 | 133 | 2.4. Subsequent Licenses 134 | 135 | No Contributor makes additional grants as a result of Your choice to 136 | distribute the Covered Software under a subsequent version of this 137 | License (see Section 10.2) or under the terms of a Secondary License (if 138 | permitted under the terms of Section 3.3). 139 | 140 | 2.5. Representation 141 | 142 | Each Contributor represents that the Contributor believes its 143 | Contributions are its original creation(s) or it has sufficient rights 144 | to grant the rights to its Contributions conveyed by this License. 145 | 146 | 2.6. Fair Use 147 | 148 | This License is not intended to limit any rights You have under 149 | applicable copyright doctrines of fair use, fair dealing, or other 150 | equivalents. 151 | 152 | 2.7. Conditions 153 | 154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 | in Section 2.1. 156 | 157 | 3. Responsibilities 158 | ------------------- 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under 164 | the terms of this License. You must inform recipients that the Source 165 | Code Form of the Covered Software is governed by the terms of this 166 | License, and how they can obtain a copy of this License. You may not 167 | attempt to alter or restrict the recipients' rights in the Source Code 168 | Form. 169 | 170 | 3.2. Distribution of Executable Form 171 | 172 | If You distribute Covered Software in Executable Form then: 173 | 174 | (a) such Covered Software must also be made available in Source Code 175 | Form, as described in Section 3.1, and You must inform recipients of 176 | the Executable Form how they can obtain a copy of such Source Code 177 | Form by reasonable means in a timely manner, at a charge no more 178 | than the cost of distribution to the recipient; and 179 | 180 | (b) You may distribute such Executable Form under the terms of this 181 | License, or sublicense it under different terms, provided that the 182 | license for the Executable Form does not attempt to limit or alter 183 | the recipients' rights in the Source Code Form under this License. 184 | 185 | 3.3. Distribution of a Larger Work 186 | 187 | You may create and distribute a Larger Work under terms of Your choice, 188 | provided that You also comply with the requirements of this License for 189 | the Covered Software. If the Larger Work is a combination of Covered 190 | Software with a work governed by one or more Secondary Licenses, and the 191 | Covered Software is not Incompatible With Secondary Licenses, this 192 | License permits You to additionally distribute such Covered Software 193 | under the terms of such Secondary License(s), so that the recipient of 194 | the Larger Work may, at their option, further distribute the Covered 195 | Software under the terms of either this License or such Secondary 196 | License(s). 197 | 198 | 3.4. Notices 199 | 200 | You may not remove or alter the substance of any license notices 201 | (including copyright notices, patent notices, disclaimers of warranty, 202 | or limitations of liability) contained within the Source Code Form of 203 | the Covered Software, except that You may alter any license notices to 204 | the extent required to remedy known factual inaccuracies. 205 | 206 | 3.5. Application of Additional Terms 207 | 208 | You may choose to offer, and to charge a fee for, warranty, support, 209 | indemnity or liability obligations to one or more recipients of Covered 210 | Software. However, You may do so only on Your own behalf, and not on 211 | behalf of any Contributor. You must make it absolutely clear that any 212 | such warranty, support, indemnity, or liability obligation is offered by 213 | You alone, and You hereby agree to indemnify every Contributor for any 214 | liability incurred by such Contributor as a result of warranty, support, 215 | indemnity or liability terms You offer. You may include additional 216 | disclaimers of warranty and limitations of liability specific to any 217 | jurisdiction. 218 | 219 | 4. Inability to Comply Due to Statute or Regulation 220 | --------------------------------------------------- 221 | 222 | If it is impossible for You to comply with any of the terms of this 223 | License with respect to some or all of the Covered Software due to 224 | statute, judicial order, or regulation then You must: (a) comply with 225 | the terms of this License to the maximum extent possible; and (b) 226 | describe the limitations and the code they affect. Such description must 227 | be placed in a text file included with all distributions of the Covered 228 | Software under this License. Except to the extent prohibited by statute 229 | or regulation, such description must be sufficiently detailed for a 230 | recipient of ordinary skill to be able to understand it. 231 | 232 | 5. Termination 233 | -------------- 234 | 235 | 5.1. The rights granted under this License will terminate automatically 236 | if You fail to comply with any of its terms. However, if You become 237 | compliant, then the rights granted under this License from a particular 238 | Contributor are reinstated (a) provisionally, unless and until such 239 | Contributor explicitly and finally terminates Your grants, and (b) on an 240 | ongoing basis, if such Contributor fails to notify You of the 241 | non-compliance by some reasonable means prior to 60 days after You have 242 | come back into compliance. Moreover, Your grants from a particular 243 | Contributor are reinstated on an ongoing basis if such Contributor 244 | notifies You of the non-compliance by some reasonable means, this is the 245 | first time You have received notice of non-compliance with this License 246 | from such Contributor, and You become compliant prior to 30 days after 247 | Your receipt of the notice. 248 | 249 | 5.2. If You initiate litigation against any entity by asserting a patent 250 | infringement claim (excluding declaratory judgment actions, 251 | counter-claims, and cross-claims) alleging that a Contributor Version 252 | directly or indirectly infringes any patent, then the rights granted to 253 | You by any and all Contributors for the Covered Software under Section 254 | 2.1 of this License shall terminate. 255 | 256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 | end user license agreements (excluding distributors and resellers) which 258 | have been validly granted by You or Your distributors under this License 259 | prior to termination shall survive termination. 260 | 261 | ************************************************************************ 262 | * * 263 | * 6. Disclaimer of Warranty * 264 | * ------------------------- * 265 | * * 266 | * Covered Software is provided under this License on an "as is" * 267 | * basis, without warranty of any kind, either expressed, implied, or * 268 | * statutory, including, without limitation, warranties that the * 269 | * Covered Software is free of defects, merchantable, fit for a * 270 | * particular purpose or non-infringing. The entire risk as to the * 271 | * quality and performance of the Covered Software is with You. * 272 | * Should any Covered Software prove defective in any respect, You * 273 | * (not any Contributor) assume the cost of any necessary servicing, * 274 | * repair, or correction. This disclaimer of warranty constitutes an * 275 | * essential part of this License. No use of any Covered Software is * 276 | * authorized under this License except under this disclaimer. * 277 | * * 278 | ************************************************************************ 279 | 280 | ************************************************************************ 281 | * * 282 | * 7. Limitation of Liability * 283 | * -------------------------- * 284 | * * 285 | * Under no circumstances and under no legal theory, whether tort * 286 | * (including negligence), contract, or otherwise, shall any * 287 | * Contributor, or anyone who distributes Covered Software as * 288 | * permitted above, be liable to You for any direct, indirect, * 289 | * special, incidental, or consequential damages of any character * 290 | * including, without limitation, damages for lost profits, loss of * 291 | * goodwill, work stoppage, computer failure or malfunction, or any * 292 | * and all other commercial damages or losses, even if such party * 293 | * shall have been informed of the possibility of such damages. This * 294 | * limitation of liability shall not apply to liability for death or * 295 | * personal injury resulting from such party's negligence to the * 296 | * extent applicable law prohibits such limitation. Some * 297 | * jurisdictions do not allow the exclusion or limitation of * 298 | * incidental or consequential damages, so this exclusion and * 299 | * limitation may not apply to You. * 300 | * * 301 | ************************************************************************ 302 | 303 | 8. Litigation 304 | ------------- 305 | 306 | Any litigation relating to this License may be brought only in the 307 | courts of a jurisdiction where the defendant maintains its principal 308 | place of business and such litigation shall be governed by laws of that 309 | jurisdiction, without reference to its conflict-of-law provisions. 310 | Nothing in this Section shall prevent a party's ability to bring 311 | cross-claims or counter-claims. 312 | 313 | 9. Miscellaneous 314 | ---------------- 315 | 316 | This License represents the complete agreement concerning the subject 317 | matter hereof. If any provision of this License is held to be 318 | unenforceable, such provision shall be reformed only to the extent 319 | necessary to make it enforceable. Any law or regulation which provides 320 | that the language of a contract shall be construed against the drafter 321 | shall not be used to construe this License against a Contributor. 322 | 323 | 10. Versions of the License 324 | --------------------------- 325 | 326 | 10.1. New Versions 327 | 328 | Mozilla Foundation is the license steward. Except as provided in Section 329 | 10.3, no one other than the license steward has the right to modify or 330 | publish new versions of this License. Each version will be given a 331 | distinguishing version number. 332 | 333 | 10.2. Effect of New Versions 334 | 335 | You may distribute the Covered Software under the terms of the version 336 | of the License under which You originally received the Covered Software, 337 | or under the terms of any subsequent version published by the license 338 | steward. 339 | 340 | 10.3. Modified Versions 341 | 342 | If you create software not governed by this License, and you want to 343 | create a new license for such software, you may create and use a 344 | modified version of this License if you rename the license and remove 345 | any references to the name of the license steward (except to note that 346 | such modified license differs from this License). 347 | 348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 | Licenses 350 | 351 | If You choose to distribute Source Code Form that is Incompatible With 352 | Secondary Licenses under the terms of this version of the License, the 353 | notice described in Exhibit B of this License must be attached. 354 | 355 | Exhibit A - Source Code Form License Notice 356 | ------------------------------------------- 357 | 358 | This Source Code Form is subject to the terms of the Mozilla Public 359 | License, v. 2.0. If a copy of the MPL was not distributed with this 360 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 361 | 362 | If it is not possible or desirable to put the notice in a particular 363 | file, then You may include the notice in a location (such as a LICENSE 364 | file in a relevant directory) where a recipient would be likely to look 365 | for such a notice. 366 | 367 | You may add additional accurate notices of copyright ownership. 368 | 369 | Exhibit B - "Incompatible With Secondary Licenses" Notice 370 | --------------------------------------------------------- 371 | 372 | This Source Code Form is "Incompatible With Secondary Licenses", as 373 | defined by the Mozilla Public License, v. 2.0. 374 | -------------------------------------------------------------------------------- /yunzhixiao_business_client/android/app/android-app.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 20 | 23 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | --------------------------------------------------------------------------------