From 67d435fcd3f92db33bef22be680fac59065ce627 Mon Sep 17 00:00:00 2001 From: jackning <270580156@qq.com> Date: Mon, 14 Sep 2020 19:36:41 +0800 Subject: [PATCH] update --- README.md | 18 +- bytedesk_demo/.gitignore | 43 ++ bytedesk_demo/.metadata | 10 + bytedesk_demo/README.md | 16 + bytedesk_demo/android/.gitignore | 7 + bytedesk_demo/android/app/build.gradle | 54 ++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 47 ++ .../bytedesk/bytedesk_demo/MainActivity.java | 6 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + bytedesk_demo/android/build.gradle | 29 + bytedesk_demo/android/gradle.properties | 4 + .../gradle/wrapper/gradle-wrapper.properties | 6 + bytedesk_demo/android/settings.gradle | 15 + bytedesk_demo/ios/.gitignore | 32 ++ .../ios/Flutter/AppFrameworkInfo.plist | 26 + bytedesk_demo/ios/Flutter/Debug.xcconfig | 2 + bytedesk_demo/ios/Flutter/Release.xcconfig | 2 + bytedesk_demo/ios/Podfile | 84 +++ .../ios/Runner.xcodeproj/project.pbxproj | 499 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 91 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + bytedesk_demo/ios/Runner/AppDelegate.h | 6 + bytedesk_demo/ios/Runner/AppDelegate.m | 13 + .../AppIcon.appiconset/Contents.json | 122 +++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ .../ios/Runner/Base.lproj/Main.storyboard | 26 + bytedesk_demo/ios/Runner/Info.plist | 45 ++ bytedesk_demo/ios/Runner/main.m | 9 + bytedesk_demo/lib/main.dart | 95 ++++ bytedesk_demo/pubspec.yaml | 79 +++ bytedesk_demo/test/widget_test.dart | 30 ++ chat.jpeg | Bin 0 -> 74898 bytes home.jpeg | Bin 0 -> 81338 bytes 66 files changed, 1569 insertions(+), 2 deletions(-) create mode 100644 bytedesk_demo/.gitignore create mode 100644 bytedesk_demo/.metadata create mode 100644 bytedesk_demo/README.md create mode 100644 bytedesk_demo/android/.gitignore create mode 100644 bytedesk_demo/android/app/build.gradle create mode 100644 bytedesk_demo/android/app/src/debug/AndroidManifest.xml create mode 100644 bytedesk_demo/android/app/src/main/AndroidManifest.xml create mode 100644 bytedesk_demo/android/app/src/main/java/com/bytedesk/bytedesk_demo/MainActivity.java create mode 100644 bytedesk_demo/android/app/src/main/res/drawable/launch_background.xml create mode 100644 bytedesk_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 bytedesk_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 bytedesk_demo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 bytedesk_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 bytedesk_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 bytedesk_demo/android/app/src/main/res/values/styles.xml create mode 100644 bytedesk_demo/android/app/src/profile/AndroidManifest.xml create mode 100644 bytedesk_demo/android/build.gradle create mode 100644 bytedesk_demo/android/gradle.properties create mode 100644 bytedesk_demo/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 bytedesk_demo/android/settings.gradle create mode 100644 bytedesk_demo/ios/.gitignore create mode 100644 bytedesk_demo/ios/Flutter/AppFrameworkInfo.plist create mode 100644 bytedesk_demo/ios/Flutter/Debug.xcconfig create mode 100644 bytedesk_demo/ios/Flutter/Release.xcconfig create mode 100644 bytedesk_demo/ios/Podfile create mode 100644 bytedesk_demo/ios/Runner.xcodeproj/project.pbxproj create mode 100644 bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 bytedesk_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 bytedesk_demo/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 bytedesk_demo/ios/Runner/AppDelegate.h create mode 100644 bytedesk_demo/ios/Runner/AppDelegate.m create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 bytedesk_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 bytedesk_demo/ios/Runner/Base.lproj/Main.storyboard create mode 100644 bytedesk_demo/ios/Runner/Info.plist create mode 100644 bytedesk_demo/ios/Runner/main.m create mode 100644 bytedesk_demo/lib/main.dart create mode 100644 bytedesk_demo/pubspec.yaml create mode 100644 bytedesk_demo/test/widget_test.dart create mode 100644 chat.jpeg create mode 100644 home.jpeg diff --git a/README.md b/README.md index 34e249c..fa0ddc3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,16 @@ -# bytedesk-flutter -flutter chat sdk +# bytedesk_demo + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) + +For help getting started with Flutter, view our +[online documentation](https://flutter.dev/docs), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/bytedesk_demo/.gitignore b/bytedesk_demo/.gitignore new file mode 100644 index 0000000..1ba9c33 --- /dev/null +++ b/bytedesk_demo/.gitignore @@ -0,0 +1,43 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Exceptions to above rules. +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/bytedesk_demo/.metadata b/bytedesk_demo/.metadata new file mode 100644 index 0000000..ade6bc9 --- /dev/null +++ b/bytedesk_demo/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: 8af6b2f038c1172e61d418869363a28dffec3cb4 + channel: stable + +project_type: app diff --git a/bytedesk_demo/README.md b/bytedesk_demo/README.md new file mode 100644 index 0000000..fa0ddc3 --- /dev/null +++ b/bytedesk_demo/README.md @@ -0,0 +1,16 @@ +# bytedesk_demo + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) + +For help getting started with Flutter, view our +[online documentation](https://flutter.dev/docs), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/bytedesk_demo/android/.gitignore b/bytedesk_demo/android/.gitignore new file mode 100644 index 0000000..bc2100d --- /dev/null +++ b/bytedesk_demo/android/.gitignore @@ -0,0 +1,7 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java diff --git a/bytedesk_demo/android/app/build.gradle b/bytedesk_demo/android/app/build.gradle new file mode 100644 index 0000000..e79fff5 --- /dev/null +++ b/bytedesk_demo/android/app/build.gradle @@ -0,0 +1,54 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion 28 + + lintOptions { + disable 'InvalidPackage' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.bytedesk.bytedesk_demo" + minSdkVersion 16 + targetSdkVersion 28 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} diff --git a/bytedesk_demo/android/app/src/debug/AndroidManifest.xml b/bytedesk_demo/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..cd52ec3 --- /dev/null +++ b/bytedesk_demo/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/bytedesk_demo/android/app/src/main/AndroidManifest.xml b/bytedesk_demo/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1b547fc --- /dev/null +++ b/bytedesk_demo/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/bytedesk_demo/android/app/src/main/java/com/bytedesk/bytedesk_demo/MainActivity.java b/bytedesk_demo/android/app/src/main/java/com/bytedesk/bytedesk_demo/MainActivity.java new file mode 100644 index 0000000..f349075 --- /dev/null +++ b/bytedesk_demo/android/app/src/main/java/com/bytedesk/bytedesk_demo/MainActivity.java @@ -0,0 +1,6 @@ +package com.bytedesk.bytedesk_demo; + +import io.flutter.embedding.android.FlutterActivity; + +public class MainActivity extends FlutterActivity { +} diff --git a/bytedesk_demo/android/app/src/main/res/drawable/launch_background.xml b/bytedesk_demo/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/bytedesk_demo/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/bytedesk_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/bytedesk_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/bytedesk_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/bytedesk_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/bytedesk_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/bytedesk_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/bytedesk_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/bytedesk_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/bytedesk_demo/android/app/src/main/res/values/styles.xml b/bytedesk_demo/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..1f83a33 --- /dev/null +++ b/bytedesk_demo/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/bytedesk_demo/android/app/src/profile/AndroidManifest.xml b/bytedesk_demo/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..cd52ec3 --- /dev/null +++ b/bytedesk_demo/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/bytedesk_demo/android/build.gradle b/bytedesk_demo/android/build.gradle new file mode 100644 index 0000000..e0d7ae2 --- /dev/null +++ b/bytedesk_demo/android/build.gradle @@ -0,0 +1,29 @@ +buildscript { + repositories { + google() + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.5.0' + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/bytedesk_demo/android/gradle.properties b/bytedesk_demo/android/gradle.properties new file mode 100644 index 0000000..38c8d45 --- /dev/null +++ b/bytedesk_demo/android/gradle.properties @@ -0,0 +1,4 @@ +org.gradle.jvmargs=-Xmx1536M +android.enableR8=true +android.useAndroidX=true +android.enableJetifier=true diff --git a/bytedesk_demo/android/gradle/wrapper/gradle-wrapper.properties b/bytedesk_demo/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..296b146 --- /dev/null +++ b/bytedesk_demo/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jun 23 08:50:38 CEST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip diff --git a/bytedesk_demo/android/settings.gradle b/bytedesk_demo/android/settings.gradle new file mode 100644 index 0000000..d3b6a40 --- /dev/null +++ b/bytedesk_demo/android/settings.gradle @@ -0,0 +1,15 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/bytedesk_demo/ios/.gitignore b/bytedesk_demo/ios/.gitignore new file mode 100644 index 0000000..e96ef60 --- /dev/null +++ b/bytedesk_demo/ios/.gitignore @@ -0,0 +1,32 @@ +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/bytedesk_demo/ios/Flutter/AppFrameworkInfo.plist b/bytedesk_demo/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..6b4c0f7 --- /dev/null +++ b/bytedesk_demo/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 8.0 + + diff --git a/bytedesk_demo/ios/Flutter/Debug.xcconfig b/bytedesk_demo/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..e8efba1 --- /dev/null +++ b/bytedesk_demo/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/bytedesk_demo/ios/Flutter/Release.xcconfig b/bytedesk_demo/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..399e934 --- /dev/null +++ b/bytedesk_demo/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/bytedesk_demo/ios/Podfile b/bytedesk_demo/ios/Podfile new file mode 100644 index 0000000..5a69b89 --- /dev/null +++ b/bytedesk_demo/ios/Podfile @@ -0,0 +1,84 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '9.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def parse_KV_file(file, separator='=') + file_abs_path = File.expand_path(file) + if !File.exists? file_abs_path + return []; + end + generated_key_values = {} + skip_line_start_symbols = ["#", "/"] + File.foreach(file_abs_path) do |line| + next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } + plugin = line.split(pattern=separator) + if plugin.length == 2 + podname = plugin[0].strip() + path = plugin[1].strip() + podpath = File.expand_path("#{path}", file_abs_path) + generated_key_values[podname] = podpath + else + puts "Invalid plugin specification: #{line}" + end + end + generated_key_values +end + +target 'Runner' do + # Flutter Pod + + copied_flutter_dir = File.join(__dir__, 'Flutter') + copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework') + copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec') + unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path) + # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet. + # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration. + # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist. + + generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig') + unless File.exist?(generated_xcode_build_settings_path) + raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path) + cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR']; + + unless File.exist?(copied_framework_path) + FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir) + end + unless File.exist?(copied_podspec_path) + FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir) + end + end + + # Keep pod path relative so it can be checked into Podfile.lock. + pod 'Flutter', :path => 'Flutter' + + # Plugin Pods + + # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock + # referring to absolute paths on developers' machines. + system('rm -rf .symlinks') + system('mkdir -p .symlinks/plugins') + plugin_pods = parse_KV_file('../.flutter-plugins') + plugin_pods.each do |name, path| + symlink = File.join('.symlinks', 'plugins', name) + File.symlink(path, symlink) + pod name, :path => File.join(symlink, 'ios') + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['ENABLE_BITCODE'] = 'NO' + end + end +end diff --git a/bytedesk_demo/ios/Runner.xcodeproj/project.pbxproj b/bytedesk_demo/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..471d30d --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,499 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; + 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + CF3B75C9A7D2FA2A4C99F110 /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, + 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 97C146F11CF9000F007C117D /* Supporting Files */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + ); + path = Runner; + sourceTree = ""; + }; + 97C146F11CF9000F007C117D /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 97C146F21CF9000F007C117D /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1020; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, + 97C146F31CF9000F007C117D /* main.m in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.bytedesk.bytedeskDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.bytedesk.bytedeskDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.bytedesk.bytedeskDemo; + PRODUCT_NAME = "$(TARGET_NAME)"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/bytedesk_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/bytedesk_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..a28140c --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bytedesk_demo/ios/Runner.xcworkspace/contents.xcworkspacedata b/bytedesk_demo/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/bytedesk_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/bytedesk_demo/ios/Runner/AppDelegate.h b/bytedesk_demo/ios/Runner/AppDelegate.h new file mode 100644 index 0000000..36e21bb --- /dev/null +++ b/bytedesk_demo/ios/Runner/AppDelegate.h @@ -0,0 +1,6 @@ +#import +#import + +@interface AppDelegate : FlutterAppDelegate + +@end diff --git a/bytedesk_demo/ios/Runner/AppDelegate.m b/bytedesk_demo/ios/Runner/AppDelegate.m new file mode 100644 index 0000000..70e8393 --- /dev/null +++ b/bytedesk_demo/ios/Runner/AppDelegate.m @@ -0,0 +1,13 @@ +#import "AppDelegate.h" +#import "GeneratedPluginRegistrant.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [GeneratedPluginRegistrant registerWithRegistry:self]; + // Override point for customization after application launch. + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +@end diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f091b6b0bca859a3f474b03065bef75ba58a9e4c GIT binary patch literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ef06e7edb86cdfe0d15b4b0d98334a86163658 GIT binary patch literal 1716 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 literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f9ed8f5cee1c98386d13b17e89f719e83555b2 GIT binary patch literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2d164a5a98e212cca15ea7bf2ab5de5108680 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d GIT binary patch literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/bytedesk_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +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. \ No newline at end of file diff --git a/bytedesk_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard b/bytedesk_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/bytedesk_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bytedesk_demo/ios/Runner/Base.lproj/Main.storyboard b/bytedesk_demo/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/bytedesk_demo/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bytedesk_demo/ios/Runner/Info.plist b/bytedesk_demo/ios/Runner/Info.plist new file mode 100644 index 0000000..2e85f40 --- /dev/null +++ b/bytedesk_demo/ios/Runner/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + bytedesk_demo + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/bytedesk_demo/ios/Runner/main.m b/bytedesk_demo/ios/Runner/main.m new file mode 100644 index 0000000..dff6597 --- /dev/null +++ b/bytedesk_demo/ios/Runner/main.m @@ -0,0 +1,9 @@ +#import +#import +#import "AppDelegate.h" + +int main(int argc, char* argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/bytedesk_demo/lib/main.dart b/bytedesk_demo/lib/main.dart new file mode 100644 index 0000000..ec30f03 --- /dev/null +++ b/bytedesk_demo/lib/main.dart @@ -0,0 +1,95 @@ +import 'package:bytedesk_kefu/bytedesk_kefu.dart'; +import 'package:bytedesk_kefu/util/constants.dart'; +import 'package:bytedesk_kefu/util/events.dart'; +import 'package:flutter/material.dart'; + +void main() { + // runApp(MyApp()); + runApp(MaterialApp( + debugShowCheckedModeBanner: false, // 去除右上角debug的标签 + home: MyApp(), + )); + + // 管理后台:https://www.bytedesk.com/antv/user/login + // 参考文档:https://github.com/pengjinning/bytedesk-android + // appkey和subDomain请替换为真实值 + // 获取appkey,登录后台->客服管理->渠道管理->添加应用->appkey + String _appKey = "201809171553112"; + // 获取subDomain,也即企业号:登录后台->客服管理->客服账号->企业号 + String _subDomain = "vip"; + // 第一步:匿名登录 + BytedeskKefu.anonymousLogin(_appKey, _subDomain); +} + +class MyApp extends StatefulWidget { + @override + _MyAppState createState() => _MyAppState(); +} + +class _MyAppState extends State { + // + String _title = '萝卜丝客服Demo'; + // 到 客服管理->技能组-有一列 ‘唯一ID(wId)’, 默认设置工作组wid + String _workGroupWid = "201807171659201"; + // + @override + void initState() { + super.initState(); + _listener(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text(_title), + elevation: 0, + ), + body: ListView( + children: [ + ListTile( + title: Text('联系客服'), + trailing: Icon(Icons.keyboard_arrow_right), + onTap: () { + print('chat'); + // 第二步:联系客服,完毕 + BytedeskKefu.startWorkGroupChat(context, _workGroupWid, "技能组客服"); + }, + ) + ], + ), + ); + } + + // 监听状态 + _listener() { + // 监听连接状态 + eventBus.on().listen((event) { + print('长连接状态:' + event.content); + if (event.content == BDConstants.USER_STATUS_CONNECTING) { + setState(() { + _title = "萝卜丝客服Demo(连接中...)"; + }); + } else if (event.content == BDConstants.USER_STATUS_CONNECTED) { + setState(() { + _title = "萝卜丝客服Demo(连接成功)"; + }); + } else if (event.content == BDConstants.USER_STATUS_DISCONNECTED) { + setState(() { + _title = "萝卜丝客服Demo(连接断开)"; + }); + } + }); + // 监听消息 + eventBus.on().listen((event) { + // print('receive message:' + event.message.content); + if (event.message.type == BDConstants.MESSAGE_TYPE_TEXT) { + print('文字消息: ' + event.message.content); + } else if (event.message.type == BDConstants.MESSAGE_TYPE_IMAGE) { + print('图片消息:' + event.message.imageUrl); + } else { + print('其他类型消息'); + } + }); + } +} diff --git a/bytedesk_demo/pubspec.yaml b/bytedesk_demo/pubspec.yaml new file mode 100644 index 0000000..7730cf7 --- /dev/null +++ b/bytedesk_demo/pubspec.yaml @@ -0,0 +1,79 @@ +name: bytedesk_demo +description: A new Flutter project. + +# The following line prevents the package from being accidentally published to +# pub.dev using `pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +version: 1.0.0+1 + +environment: + sdk: ">=2.7.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + + # https://pub.dev/packages/bytedesk_kefu + bytedesk_kefu: ^0.0.1 + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^0.1.3 + +dev_dependencies: + flutter_test: + sdk: flutter + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware. + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/bytedesk_demo/test/widget_test.dart b/bytedesk_demo/test/widget_test.dart new file mode 100644 index 0000000..f3c995c --- /dev/null +++ b/bytedesk_demo/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility that Flutter provides. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:bytedesk_demo/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/chat.jpeg b/chat.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a4623fc4d6061b73bcc35dad3d290d853c7a52f1 GIT binary patch literal 74898 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 Y9^aIbNn4Q4i%kS4Kh3SG|KHSq0kT{`i~s-t literal 0 HcmV?d00001 diff --git a/home.jpeg b/home.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ea08841271ba5d581acb759960e7d4ee536f0b74 GIT binary patch literal 81338 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≪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 pt2qq&)5*&pRHdE-G?<#0VeOUp%snrWI}MtC14q