Commit a18da124 by chenxianqi

增加kefu_workbench

parent 5110254e
Showing with 1606 additions and 3 deletions
......@@ -4,5 +4,4 @@ kefu_server
kefu_server.tar.gz
conf/app.back.conf
node_modules
app copy.conf
kefu_workbench
\ No newline at end of file
app copy.conf
\ No newline at end of file
The file could not be displayed because it is too large.
{"inputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/.dart_tool/flutter_build/d85c8290f0ec9a206fd1ee4abe234e3d/app.dill","/Users/chenxianqi/flutter/bin/cache/artifacts/engine/darwin-x64/vm_isolate_snapshot.bin","/Users/chenxianqi/flutter/bin/cache/artifacts/engine/darwin-x64/isolate_snapshot.bin","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/pubspec.yaml","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/assets/fonts/iconfont/iconfont.ttf","/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/assets/CupertinoIcons.ttf","/Users/chenxianqi/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.ttf"],"outputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/vm_snapshot_data","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/isolate_snapshot_data","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/kernel_blob.bin","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/assets/fonts/iconfont/iconfont.ttf","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.ttf","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/LICENSE"]}
\ No newline at end of file
/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/assets/fonts/iconfont/iconfont.ttf /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.ttf /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/LICENSE: /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/pubspec.yaml /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/assets/fonts/iconfont/iconfont.ttf /Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/assets/CupertinoIcons.ttf /Users/chenxianqi/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.ttf
\ No newline at end of file
{"inputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/.dart_tool/flutter_build/e5a864af08558a7379ccad92ff7a9e95/armeabi-v7a/app.so"],"outputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/armeabi-v7a/app.so"]}
\ No newline at end of file
{"inputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/.dart_tool/flutter_build/e5a864af08558a7379ccad92ff7a9e95/arm64-v8a/app.so"],"outputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/arm64-v8a/app.so"]}
\ No newline at end of file
{"inputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/.dart_tool/flutter_build/e5a864af08558a7379ccad92ff7a9e95/x86_64/app.so"],"outputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/x86_64/app.so"]}
\ No newline at end of file
{"inputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/.dart_tool/flutter_build/e5a864af08558a7379ccad92ff7a9e95/app.dill","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/pubspec.yaml","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/assets/fonts/iconfont/iconfont.ttf","/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/assets/CupertinoIcons.ttf","/Users/chenxianqi/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.ttf"],"outputs":["/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/assets/fonts/iconfont/iconfont.ttf","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/fonts/MaterialIcons-Regular.ttf","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/AssetManifest.json","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/FontManifest.json","/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/LICENSE"]}
\ No newline at end of file
The file could not be displayed because it is too large.
gen_snapshot.d: /Users/chenxianqi/flutter/bin/cache/artifacts/engine/android-arm64-release/darwin-x64/gen_snapshot
gen_snapshot.d: /Users/chenxianqi/flutter/bin/cache/artifacts/engine/android-arm-release/darwin-x64/gen_snapshot
/Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/assets/fonts/iconfont/iconfont.ttf /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/fonts/MaterialIcons-Regular.ttf /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/AssetManifest.json /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/FontManifest.json /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/build/app/intermediates/flutter/release/flutter_assets/LICENSE: /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/pubspec.yaml /Users/chenxianqi/go/src/kf_server/ui/kefu_workbench/assets/fonts/iconfont/iconfont.ttf /Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/assets/CupertinoIcons.ttf /Users/chenxianqi/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.ttf
\ No newline at end of file
gen_snapshot.d: /Users/chenxianqi/flutter/bin/cache/artifacts/engine/android-x64-release/darwin-x64/gen_snapshot
The file could not be displayed because it is too large.
{"inputs":["/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/.dart_tool/flutter_build/f64812039dd7f0a983e4aba2edf4eef0/app.dill","/Users/chenxianqi/flutter/bin/cache/artifacts/engine/darwin-x64/vm_isolate_snapshot.bin","/Users/chenxianqi/flutter/bin/cache/artifacts/engine/darwin-x64/isolate_snapshot.bin","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/pubspec.yaml","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/assets/fonts/iconfont/iconfont.ttf","/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/assets/CupertinoIcons.ttf","/Users/chenxianqi/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.ttf"],"outputs":["/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/vm_snapshot_data","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/isolate_snapshot_data","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/kernel_blob.bin","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/assets/fonts/iconfont/iconfont.ttf","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.ttf","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json","/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/LICENSE"]}
\ No newline at end of file
/Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/assets/fonts/iconfont/iconfont.ttf /Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf /Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.ttf /Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json /Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json /Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/build/app/intermediates/flutter/debug/flutter_assets/LICENSE: /Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/pubspec.yaml /Users/chenxianqi/go/src/kefu_server/ui/kefu_workbench/assets/fonts/iconfont/iconfont.ttf /Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/assets/CupertinoIcons.ttf /Users/chenxianqi/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.ttf
\ No newline at end of file
# This is a generated file; do not edit or check into version control.
connectivity=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity-0.4.8+2/
connectivity_macos=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+2/
file_picker=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/file_picker-1.6.3+1/
flutter_local_notifications=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_local_notifications-1.4.1/
flutter_mimc=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_mimc-1.0.2/
flutter_plugin_android_lifecycle=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.6/
fluttertoast=/Users/chenxianqi/flutter/.pub-cache/git/FlutterToast-8b7d690a0123f1c3c9866edbc0acfab937f56a23/
image_picker=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.5/
path_provider=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.5/
path_provider_macos=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4/
permission_handler=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler-4.0.0/
shared_preferences=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.6+3/
shared_preferences_macos=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+6/
shared_preferences_web=/Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+4/
{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"connectivity","dependencies":["connectivity_macos"]},{"name":"connectivity_macos","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_mimc","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"image_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"path_provider","dependencies":["path_provider_macos"]},{"name":"path_provider_macos","dependencies":[]},{"name":"permission_handler","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]}]}
\ No newline at end of file
build
\ No newline at end of file
# 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: 27321ebbad34b0a3fafe99fac037102196d655ff
channel: stable
project_type: app
# Generated by pub on 2020-04-19 22:08:08.863122.
archive:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/archive-2.0.11/lib/
args:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/args-1.5.2/lib/
async:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/async-2.4.0/lib/
boolean_selector:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/boolean_selector-1.0.5/lib/
charcode:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/charcode-1.1.2/lib/
collection:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/collection-1.14.11/lib/
connectivity:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity-0.4.8+2/lib/
connectivity_macos:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+2/lib/
connectivity_platform_interface:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/connectivity_platform_interface-1.0.3/lib/
convert:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/convert-2.1.1/lib/
crypto:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/crypto-2.1.3/lib/
csslib:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/csslib-0.16.1/lib/
cupertino_icons:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/cupertino_icons-0.1.3/lib/
dio:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/dio-3.0.9/lib/
file_picker:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/file_picker-1.6.3+1/lib/
flutter:file:///Users/chenxianqi/flutter/packages/flutter/lib/
flutter_advanced_networkimage:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_advanced_networkimage-0.6.4/lib/
flutter_html:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_html-0.11.1/lib/
flutter_local_notifications:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_local_notifications-1.4.1/lib/
flutter_local_notifications_platform_interface:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_local_notifications_platform_interface-1.0.1/lib/
flutter_localizations:file:///Users/chenxianqi/flutter/packages/flutter_localizations/lib/
flutter_mimc:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_mimc-1.0.2/lib/
flutter_plugin_android_lifecycle:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-1.0.6/lib/
flutter_svg:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_svg-0.17.3+1/lib/
flutter_test:file:///Users/chenxianqi/flutter/packages/flutter_test/lib/
flutter_web_plugins:file:///Users/chenxianqi/flutter/packages/flutter_web_plugins/lib/
fluttertoast:file:///Users/chenxianqi/flutter/.pub-cache/git/FlutterToast-8b7d690a0123f1c3c9866edbc0acfab937f56a23/lib/
html:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/html-0.14.0+3/lib/
http:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/http-0.12.0+4/lib/
http_parser:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/http_parser-3.1.4/lib/
image:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/image-2.1.4/lib/
image_picker:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.5/lib/
intl:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/intl-0.16.0/lib/
matcher:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/matcher-0.12.6/lib/
meta:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/meta-1.1.8/lib/
nested:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/nested-0.0.4/lib/
path:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path-1.6.4/lib/
path_drawing:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_drawing-0.4.1/lib/
path_parsing:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_parsing-0.1.4/lib/
path_provider:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.5/lib/
path_provider_macos:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4/lib/
path_provider_platform_interface:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.1/lib/
pedantic:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/pedantic-1.8.0+1/lib/
permission_handler:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/permission_handler-4.0.0/lib/
petitparser:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/petitparser-2.4.0/lib/
photo_view:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/photo_view-0.9.2/lib/
platform:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/platform-2.2.1/lib/
plugin_platform_interface:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/plugin_platform_interface-1.0.2/lib/
provider:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/provider-4.0.5/lib/
quiver:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/quiver-2.0.5/lib/
shared_preferences:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.6+3/lib/
shared_preferences_macos:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+6/lib/
shared_preferences_platform_interface:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_platform_interface-1.0.3/lib/
shared_preferences_web:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-0.1.2+4/lib/
sky_engine:file:///Users/chenxianqi/flutter/bin/cache/pkg/sky_engine/lib/
source_span:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/source_span-1.5.5/lib/
stack_trace:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/stack_trace-1.9.3/lib/
stream_channel:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/stream_channel-2.0.0/lib/
string_scanner:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/string_scanner-1.0.5/lib/
term_glyph:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/term_glyph-1.1.0/lib/
test_api:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/test_api-0.2.11/lib/
typed_data:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/typed_data-1.1.6/lib/
vector_math:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/vector_math-2.0.8/lib/
xml:file:///Users/chenxianqi/flutter/.pub-cache/hosted/pub.flutter-io.cn/xml-3.5.0/lib/
kefu_workbench:lib/
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Flutter",
"request": "launch",
"type": "dart"
}
]
}
\ No newline at end of file
客服系统APP客户端
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>android</name>
<comment>Project android created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>
connection.project.dir=
eclipse.preferences.version=1
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry kind="output" path="bin/default"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>app</name>
<comment>Project app created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>
connection.project.dir=..
eclipse.preferences.version=1
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"
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
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.keith.kefu_workbench"
minSdkVersion 21
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
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.release
// signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.keith.kefu_workbench">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.keith.kefu_workbench">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application
android:name="io.flutter.app.FlutterApplication"
android:label="在线客服"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
package com.keith.kefu_workbench;
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/black" />
<!-- You can insert your own image assets here -->
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/icon_launcher"
/>
</item>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
</resources>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.keith.kefu_workbench">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
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
}
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
#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
storePassword=123456
keyPassword=123456
keyAlias=kefu
storeFile=/Users/chenxianqi/product/kefu_workbench/key.jks
\ No newline at end of file
include ':app'
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1578640873961'); /* IE9 */
src: url('iconfont.eot?t=1578640873961#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAWwAAsAAAAACqAAAAVkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDSAqIFIcJATYCJAMYCw4ABCAFhG0HVhs9CVFUTsJkPw7cWI5ZUshqHQ/5PoLn+W/Tzn0zUDJDRL2upCpCdh0qZiQ1MZI1rcqf7f+apoCSFKagUVYBjRT6vH85oPSAjJ0U85N7M2rdB0gI6WxMbdGxq8QrqqZC1br7An6BcaxIgZqeQqEmFAA7UjN2M2oz0u4RXudBNbo3HoYABnHkIA2vL+/QRAeOEkCGWwZBsxNGXxALNp914kIdmY8Fm/pR3QDmFT8vzygvNlBYNODE1gMvGuwf8nC85vwi3bMoX+8vCZjLQANyAB1k+mR6IpWqnYOG4f+FKk0B7NhQ6A956Psw62GVh+O/fIGOA/KCHf/lgY4FQUOBWOEeu+Q271jgIUkQ3ae+3DJFs3gQ4bQKD6JxOp7PQgFg3eMBcSAFAHIH4KUQ0OAHmQjqf7ifj68hqJEV4it6wNf52HXd7mcLDLBPk5KSjg8etOfCgwS1wdvI/3JpsraxpD+GbN0l6+6778Y6d3SzS2lpJ6+3wyQSyUmLbPHo9q5ThafdO507DBm4xOMuLixybQ8R01mb8EvtXQ+aLy0K23otbdluWXuv8oE7MWvuVtqWvsSTusUTucdE98WbCWeVnFq7NnxJpOfklpupB5eETFkPTtQjpReGdDJc2yNY4Uk1txWLFBZNGd4SnB7TdBdHy8qi/gfvOu+47hXer3NdRBE1vLGkq4HZLzm4/Y4HrpI8Y6/XXVphZETNu+CaIlwM7tBtgMd9ujBr4KDijacuZfTf7hw0Our1djK9pZ3uGO14spYTf1H5ux97qQmbV09X09SW1WpCz/4FBfrg8BaNF2QuSG8YPpg6jkjHlEGT1nyOM692v2rG/j6m/ug0aT16aAdpL9lO0poR5etJ505SH5G76mlPpwYFptNiPBGUo9xrNIjEZ49fo7gO+o38WOffIW6Jf/3Gjq8bTU+pO1T7NmvZzM/h4fYTZ87csNuvn+2dPuGe48iLzAaVWyyijX70w4ej+hFdYvUW+poPfxzR8u5Wanu2sF5uxF8V9zgP2hJrl78a+aziiBYT1KpVKhVPWLU6rVatDhirXg5u80mPJ91ze4SsVE+0FWV7JHhCngQXVSib96Tnkx65PVUj+EmIJ7i49QrtiVr5353eDVs1aNmgVcOR61u2jIpu2WIDC0RHJYllm3pAMKx7OhDpmtqu3OBYY2qlU/ZHNfua/t3zUc603+UuhZhNz522yZv3Yt9axZFj9ZoK5RyLxrn9Mijfe7Lo24xu8Nfu+InECo22QfOgESQNYdN9w8CKfFd+mZwpVnNCtUY/cStV6RJ1K05r1FdzThcvl6/KTS5vWKbGlMdKlJIp5fXLsINid4YDwJe19drYQqb2VnPKUh+1aUk0b5fKJ3pA0NTOV738a35omv/4Nb/UdvzL0hd0trP8Rilk64/ZSlykB3aIWHVv4eRQBLDyLb7wG3AZuAJ+wvkg/tiXN5TcBMHWsRpQlCEWNGykMHVuDlgwqQhWbNQBg2wKLjcJZiwVRPcBsviWgRDAblD4cRo0ArjJ1Lm/g4UwXoCVANHAoKME39AkTYa0G4RMMWvYt8AhSnw9jsXtcvIrG4lLYdteSD85jKwalssr2+/d2OdwH6eMS43t+FjHgaF46GCPY9cVHB2KzSpeDo7j+y4/f+DUJy37iQdtGhDCEDGMBtKXAmQICsFHz1aPaQ++/xXGIMGFCBcW9I0/YUIirO0j5cijLIF58/ikBc9l5jhSDLaMF00dZKCZKHggDpFkXGwLyOjp/WwYRcySwVs07+zIF8sNpHqWx/d6r/IWwADOsooSTXSxiFXKYLn352zNqWTlFvkO60k13aE+Kac51STfSFICAA==') format('woff2'),
url('iconfont.woff?t=1578640873961') format('woff'),
url('iconfont.ttf?t=1578640873961') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1578640873961#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-icon2:before {
content: "\e62a";
}
.icon-zaixiankefu:before {
content: "\e674";
}
.icon-kefu:before {
content: "\e637";
}
.icon-Back:before {
content: "\e600";
}
.icon-zhanghao:before {
content: "\e60d";
}
!function(d){var t,a='<svg><symbol id="icon-icon2" viewBox="0 0 1024 1024"><path d="M813.431725 388.476709l0-95.606475c0-153.48058-131.225717-277.965779-293.173133-277.965779-161.944346 0-293.170063 124.484176-293.170063 277.965779l0 94.015234c-71.494311 4.897543-127.878482 61.447491-127.878482 130.494053l0 359.726921c0 72.216765 61.756529 130.796952 137.960095 130.796952l552.494273 0c76.203566 0 137.960095-58.580187 137.960095-130.796952L927.624511 517.379521C927.624511 452.80276 878.305245 399.159002 813.431725 388.476709zM581.427744 723.688283l0 121.141034L477.951021 844.829318l0-119.194706c-34.651194-17.092283-58.304917-51.442626-58.304917-91.036389 0-56.644091 48.39522-102.558817 108.159372-102.558817 59.765175 0 108.162442 45.913703 108.162442 102.558817C635.967918 672.739914 614.016976 706.019879 581.427744 723.688283zM720.466404 386.535497 319.028499 386.535497l0-76.632331c0-105.090477 89.839121-190.349279 200.74607-190.349279 110.797455 0 200.690812 85.258803 200.690812 190.349279L720.46538 386.535497z" ></path></symbol><symbol id="icon-zaixiankefu" viewBox="0 0 1024 1024"><path d="M622.101607 333.394183c-86.513376 0-156.644643 70.131267-156.644643 156.644643s70.131267 156.644643 156.644643 156.644643c86.508259 0 156.641573-70.131267 156.641573-156.644643S708.61089 333.394183 622.101607 333.394183L622.101607 333.394183zM593.45415 503.129982c-31.840172 0-57.651025-25.815969-57.651025-57.656141 0-31.841196 25.810852-57.651025 57.651025-57.651025 31.841196 0 57.656141 25.809829 57.656141 57.651025C651.110291 477.314013 625.295346 503.129982 593.45415 503.129982L593.45415 503.129982zM593.45415 503.129982" ></path><path d="M327.267649 70.102614c0 9.682523 3.989871 19.306718 10.834766 26.152637 6.845918 6.850012 16.470113 10.834766 26.152637 10.834766 9.682523 0 19.306718-3.984754 26.152637-10.834766 6.844895-6.845918 10.834766-16.470113 10.834766-26.152637 0-9.682523-3.989871-19.302625-10.834766-26.152637-6.845918-6.845918-16.470113-10.829649-26.152637-10.829649-9.682523 0-19.306718 3.983731-26.152637 10.829649C331.257519 50.801013 327.267649 60.420091 327.267649 70.102614L327.267649 70.102614zM327.267649 70.102614" ></path><path d="M486.091934 70.102614c0 9.682523 3.983731 19.306718 10.829649 26.152637 6.844895 6.850012 16.470113 10.834766 26.152637 10.834766s19.306718-3.984754 26.152637-10.834766c6.844895-6.845918 10.834766-16.470113 10.834766-26.152637 0-9.682523-3.989871-19.302625-10.834766-26.152637-6.845918-6.845918-16.470113-10.829649-26.152637-10.829649s-19.307741 3.983731-26.152637 10.829649C490.075665 50.801013 486.091934 60.420091 486.091934 70.102614L486.091934 70.102614zM486.091934 70.102614" ></path><path d="M644.909056 70.102614c0 9.682523 3.984754 19.306718 10.829649 26.152637 6.845918 6.850012 16.470113 10.834766 26.152637 10.834766 9.682523 0 19.307741-3.984754 26.152637-10.834766 6.851035-6.845918 10.834766-16.470113 10.834766-26.152637 0-9.682523-3.983731-19.302625-10.834766-26.152637-6.844895-6.845918-16.470113-10.829649-26.152637-10.829649-9.682523 0-19.306718 3.983731-26.152637 10.829649C648.89381 50.801013 644.909056 60.420091 644.909056 70.102614L644.909056 70.102614zM644.909056 70.102614" ></path><path d="M573.58666 201.591321c-91.611487 0-176.626743 26.587542-246.816339 70.650083-8.921183-14.350846-20.205181-28.852118-33.003672-37.290301-22.679535-14.951527-70.63371-29.170366-100.644211-49.682539 21.079084-19.47761 34.285874-47.353494 34.285874-78.316693 0-58.875922-47.729048-106.605993-106.605993-106.605993-58.875922 0-106.600877 47.730071-106.600877 106.600877 0 58.877969 47.730071 106.605993 106.605993 106.605993 15.161305 0 29.579689-3.174296 42.641169-8.876158 10.044774 8.315386 30.762631 23.364127 58.525951 32.44597 38.086433 12.465916 57.645908 29.574572 62.49024 65.194838-90.214674 72.39789-147.084916 176.114067-147.084916 285.127899 0 240.907769 195.297988 436.205756 436.205756 436.205756 240.912885 0 436.210873-195.299011 436.210873-436.205756C1009.792417 382.16291 814.499545 201.591321 573.58666 201.591321L573.58666 201.591321zM526.555507 924.434354c-3.808746 7.070023-21.757536 8.701173-40.248679 7.070023-18.491143-1.63115-61.45977-10.878768-104.97075-41.333384-43.515073-30.458709-63.637366-59.82862-73.427336-79.955007-9.78997-20.122293-16.703427-56.221466 0-54.937217 7.070023 0.547469 12.279674 8.267291 21.211091 22.299889 21.576411 33.906228 49.808406 56.841589 61.772902 66.089208 11.967566 9.248641 53.715389 42.148959 91.606371 53.570079C528.141632 910.996297 530.364253 917.363308 526.555507 924.434354L526.555507 924.434354zM636.96513 846.112544c-153.199171 0-277.387611-124.193557-277.387611-277.392728 0-153.197124 124.18844-277.387611 277.387611-277.387611s277.392728 124.190487 277.392728 277.387611C914.357857 721.918987 790.164301 846.112544 636.96513 846.112544L636.96513 846.112544zM636.96513 846.112544" ></path></symbol><symbol id="icon-kefu" viewBox="0 0 1024 1024"><path d="M139.6 372.4v232.7H46.5V372.4h93.1m0-46.6H46.5c-25.6 0-46.5 21-46.5 46.6v232.7c0 25.6 20.9 46.5 46.5 46.5h93.1c25.6 0 46.5-20.9 46.5-46.5V372.4c0.1-25.6-20.9-46.6-46.5-46.6zM977.5 372.4v232.7h-93.1V372.4h93.1m0-46.6h-93.1c-25.6 0-46.5 20.9-46.5 46.5V605c0 25.6 20.9 46.5 46.5 46.5h93.1c25.6 0 46.5-20.9 46.5-46.5V372.4c0-25.6-20.9-46.6-46.5-46.6zM512 791.3c51.3 0 93.1 41.8 93.1 93.1s-41.8 93.1-93.1 93.1-93.1-41.8-93.1-93.1 41.8-93.1 93.1-93.1m0-46.6c-77.1 0-139.6 62.5-139.6 139.6S434.9 1024 512 1024s139.6-62.5 139.6-139.6S589.1 744.7 512 744.7zM418.9 325.8h-93.1v93.1h93.1v-93.1zM698.2 325.8h-93.1v93.1h93.1v-93.1zM672.3 558.5c-32.3 55.4-91.7 93.1-160.3 93.1s-128-37.7-160.3-93.1h-52.8c35.9 82.1 117.7 139.6 213.1 139.6s177.1-57.5 213.1-139.6h-52.8z" ></path><path d="M117.5 325.8C175.2 163.4 330 46.5 512 46.5s336.8 116.8 394.5 279.3h49.6C896.8 137 720.4 0 512 0S127.2 137 67.9 325.8h49.6zM886.7 651.6c-48.2 96.6-132.4 171.8-235.1 208.3v49.6C780.4 869 884.9 774 938.4 651.6h-51.7z" ></path></symbol><symbol id="icon-Back" viewBox="0 0 1024 1024"><path d="M211.7332791 556.4304248l444.3042524 444.36709648a62.84360061 62.84360061 0 0 0 88.92369367-88.86084959L345.02455497 512l399.9366702-399.93667169a62.84360061 62.84360061 0 0 0-88.86084959-88.86084959l-444.36709648 444.30425239a62.84360061 62.84360061 0 0 0 0 88.92369369z" ></path></symbol><symbol id="icon-zhanghao" viewBox="0 0 1024 1024"><path d="M391.136179 588.720987C191.832264 588.720987 42.993669 717.867879 42.993669 905.407919v20.203177C42.993669 1023.643389 202.487948 1023.643389 404.434473 1023.643389h214.477609c193.93345 0 361.440804 0 361.440805-98.032293v-20.203177c0-187.54004-148.838595-316.686931-348.142511-316.686932H391.136179z m109.796169-49.357128c157.874615 0 286.339543-120.87808 286.339543-269.546185 0-148.582859-128.464927-269.460939-286.339543-269.460939-157.78937 0-286.254297 120.87808-286.254297 269.460939 0 148.668104 128.464927 269.546185 286.254297 269.546185z" ></path></symbol></svg>',e=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss");if(e&&!d.__iconfont__svg__cssinject__){d.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(t){console&&console.log(t)}}!function(t){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(t,0);else{var e=function(){document.removeEventListener("DOMContentLoaded",e,!1),t()};document.addEventListener("DOMContentLoaded",e,!1)}else document.attachEvent&&(n=t,o=d.document,i=!1,(a=function(){try{o.documentElement.doScroll("left")}catch(t){return void setTimeout(a,50)}c()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,c())});function c(){i||(i=!0,n())}var n,o,i,a}(function(){var t,e,c,n,o,i;(t=document.createElement("div")).innerHTML=a,a=null,(e=t.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",c=e,(n=document.body).firstChild?(o=c,(i=n.firstChild).parentNode.insertBefore(o,i)):n.appendChild(c))})}(window);
\ No newline at end of file
{
"id": "1598621",
"name": "客服APP",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "611345",
"name": "密码",
"font_class": "icon2",
"unicode": "e62a",
"unicode_decimal": 58922
},
{
"icon_id": "1212307",
"name": "在线客服",
"font_class": "zaixiankefu",
"unicode": "e674",
"unicode_decimal": 58996
},
{
"icon_id": "2325917",
"name": "客服",
"font_class": "kefu",
"unicode": "e637",
"unicode_decimal": 58935
},
{
"icon_id": "7977458",
"name": "Back",
"font_class": "Back",
"unicode": "e600",
"unicode_decimal": 58880
},
{
"icon_id": "10281814",
"name": "账号",
"font_class": "zhanghao",
"unicode": "e60d",
"unicode_decimal": 58893
}
]
}
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="icon2" unicode="&#58922;" d="M813.431725 507.523291l0 95.606475c0 153.48058-131.225717 277.965779-293.173133 277.965779-161.944346 0-293.170063-124.484176-293.170063-277.965779l0-94.015234c-71.494311-4.897543-127.878482-61.447491-127.878482-130.494053l0-359.726921c0-72.216765 61.756529-130.796952 137.960095-130.796952l552.494273 0c76.203566 0 137.960095 58.580187 137.960095 130.796952L927.624511 378.620479C927.624511 443.19724 878.305245 496.840998 813.431725 507.523291zM581.427744 172.311717l0-121.141034L477.951021 51.170682l0 119.194706c-34.651194 17.092283-58.304917 51.442626-58.304917 91.036389 0 56.644091 48.39522 102.558817 108.159372 102.558817 59.765175 0 108.162442-45.913703 108.162442-102.558817C635.967918 223.260086 614.016976 189.980121 581.427744 172.311717zM720.466404 509.464503 319.028499 509.464503l0 76.632331c0 105.090477 89.839121 190.349279 200.74607 190.349279 110.797455 0 200.690812-85.258803 200.690812-190.349279L720.46538 509.464503z" horiz-adv-x="1024" />
<glyph glyph-name="zaixiankefu" unicode="&#58996;" d="M622.101607 562.605817c-86.513376 0-156.644643-70.131267-156.644643-156.644643s70.131267-156.644643 156.644643-156.644643c86.508259 0 156.641573 70.131267 156.641573 156.644643S708.61089 562.605817 622.101607 562.605817L622.101607 562.605817zM593.45415 392.870018c-31.840172 0-57.651025 25.815969-57.651025 57.656141 0 31.841196 25.810852 57.651025 57.651025 57.651025 31.841196 0 57.656141-25.809829 57.656141-57.651025C651.110291 418.685987 625.295346 392.870018 593.45415 392.870018L593.45415 392.870018zM593.45415 392.870018M327.267649 825.897386c0-9.682523 3.989871-19.306718 10.834766-26.152637 6.845918-6.850012 16.470113-10.834766 26.152637-10.834766 9.682523 0 19.306718 3.984754 26.152637 10.834766 6.844895 6.845918 10.834766 16.470113 10.834766 26.152637 0 9.682523-3.989871 19.302625-10.834766 26.152637-6.845918 6.845918-16.470113 10.829649-26.152637 10.829649-9.682523 0-19.306718-3.983731-26.152637-10.829649C331.257519 845.198987 327.267649 835.579909 327.267649 825.897386L327.267649 825.897386zM327.267649 825.897386M486.091934 825.897386c0-9.682523 3.983731-19.306718 10.829649-26.152637 6.844895-6.850012 16.470113-10.834766 26.152637-10.834766s19.306718 3.984754 26.152637 10.834766c6.844895 6.845918 10.834766 16.470113 10.834766 26.152637 0 9.682523-3.989871 19.302625-10.834766 26.152637-6.845918 6.845918-16.470113 10.829649-26.152637 10.829649s-19.307741-3.983731-26.152637-10.829649C490.075665 845.198987 486.091934 835.579909 486.091934 825.897386L486.091934 825.897386zM486.091934 825.897386M644.909056 825.897386c0-9.682523 3.984754-19.306718 10.829649-26.152637 6.845918-6.850012 16.470113-10.834766 26.152637-10.834766 9.682523 0 19.307741 3.984754 26.152637 10.834766 6.851035 6.845918 10.834766 16.470113 10.834766 26.152637 0 9.682523-3.983731 19.302625-10.834766 26.152637-6.844895 6.845918-16.470113 10.829649-26.152637 10.829649-9.682523 0-19.306718-3.983731-26.152637-10.829649C648.89381 845.198987 644.909056 835.579909 644.909056 825.897386L644.909056 825.897386zM644.909056 825.897386M573.58666 694.408679c-91.611487 0-176.626743-26.587542-246.816339-70.650083-8.921183 14.350846-20.205181 28.852118-33.003672 37.290301-22.679535 14.951527-70.63371 29.170366-100.644211 49.682539 21.079084 19.47761 34.285874 47.353494 34.285874 78.316693 0 58.875922-47.729048 106.605993-106.605993 106.605993-58.875922 0-106.600877-47.730071-106.600877-106.600877 0-58.877969 47.730071-106.605993 106.605993-106.605993 15.161305 0 29.579689 3.174296 42.641169 8.876158 10.044774-8.315386 30.762631-23.364127 58.525951-32.44597 38.086433-12.465916 57.645908-29.574572 62.49024-65.194838-90.214674-72.39789-147.084916-176.114067-147.084916-285.127899 0-240.907769 195.297988-436.205756 436.205756-436.205756 240.912885 0 436.210873 195.299011 436.210873 436.205756C1009.792417 513.83709 814.499545 694.408679 573.58666 694.408679L573.58666 694.408679zM526.555507-28.434354c-3.808746-7.070023-21.757536-8.701173-40.248679-7.070023-18.491143 1.63115-61.45977 10.878768-104.97075 41.333384-43.515073 30.458709-63.637366 59.82862-73.427336 79.955007-9.78997 20.122293-16.703427 56.221466 0 54.937217 7.070023-0.547469 12.279674-8.267291 21.211091-22.299889 21.576411-33.906228 49.808406-56.841589 61.772902-66.089208 11.967566-9.248641 53.715389-42.148959 91.606371-53.570079C528.141632-14.996297 530.364253-21.363308 526.555507-28.434354L526.555507-28.434354zM636.96513 49.887456c-153.199171 0-277.387611 124.193557-277.387611 277.392728 0 153.197124 124.18844 277.387611 277.387611 277.387611s277.392728-124.190487 277.392728-277.387611C914.357857 174.081013 790.164301 49.887456 636.96513 49.887456L636.96513 49.887456zM636.96513 49.887456" horiz-adv-x="1024" />
<glyph glyph-name="kefu" unicode="&#58935;" d="M139.6 523.6v-232.7H46.5V523.6h93.1m0 46.6H46.5c-25.6 0-46.5-21-46.5-46.6v-232.7c0-25.6 20.9-46.5 46.5-46.5h93.1c25.6 0 46.5 20.9 46.5 46.5V523.6c0.1 25.6-20.9 46.6-46.5 46.6zM977.5 523.6v-232.7h-93.1V523.6h93.1m0 46.6h-93.1c-25.6 0-46.5-20.9-46.5-46.5V291c0-25.6 20.9-46.5 46.5-46.5h93.1c25.6 0 46.5 20.9 46.5 46.5V523.6c0 25.6-20.9 46.6-46.5 46.6zM512 104.7c51.3 0 93.1-41.8 93.1-93.1s-41.8-93.1-93.1-93.1-93.1 41.8-93.1 93.1 41.8 93.1 93.1 93.1m0 46.6c-77.1 0-139.6-62.5-139.6-139.6S434.9-128 512-128s139.6 62.5 139.6 139.6S589.1 151.3 512 151.3zM418.9 570.2h-93.1v-93.1h93.1v93.1zM698.2 570.2h-93.1v-93.1h93.1v93.1zM672.3 337.5c-32.3-55.4-91.7-93.1-160.3-93.1s-128 37.7-160.3 93.1h-52.8c35.9-82.1 117.7-139.6 213.1-139.6s177.1 57.5 213.1 139.6h-52.8zM117.5 570.2C175.2 732.6 330 849.5 512 849.5s336.8-116.8 394.5-279.3h49.6C896.8 759 720.4 896 512 896S127.2 759 67.9 570.2h49.6zM886.7 244.4c-48.2-96.6-132.4-171.8-235.1-208.3v-49.6C780.4 27 884.9 122 938.4 244.4h-51.7z" horiz-adv-x="1024" />
<glyph glyph-name="Back" unicode="&#58880;" d="M211.7332791 339.56957520000003l444.3042524-444.36709648a62.84360061 62.84360061 0 0 1 88.92369367 88.86084959L345.02455497 384l399.9366702 399.93667169a62.84360061 62.84360061 0 0 1-88.86084959 88.86084959l-444.36709648-444.30425239a62.84360061 62.84360061 0 0 1 0-88.92369369z" horiz-adv-x="1024" />
<glyph glyph-name="zhanghao" unicode="&#58893;" d="M391.136179 307.279013C191.832264 307.279013 42.993669 178.132121 42.993669-9.407919v-20.203177C42.993669-127.643389 202.487948-127.643389 404.434473-127.643389h214.477609c193.93345 0 361.440804 0 361.440805 98.032293v20.203177c0 187.54004-148.838595 316.686931-348.142511 316.686932H391.136179z m109.796169 49.357128c157.874615 0 286.339543 120.87808 286.339543 269.546185 0 148.582859-128.464927 269.460939-286.339543 269.460939-157.78937 0-286.254297-120.87808-286.254297-269.460939 0-148.668104 128.464927-269.546185 286.254297-269.546185z" horiz-adv-x="1024" />
</font>
</defs></svg>
*.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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>8.0</string>
</dict>
</plist>
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
# 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
# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
install! 'cocoapods', :disable_input_output_paths => true
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
PODS:
- connectivity (0.0.1):
- Flutter
- Reachability
- connectivity_macos (0.0.1):
- Flutter
- file_picker (0.0.1):
- Flutter
- Flutter (1.0.0)
- flutter_local_notifications (0.0.1):
- Flutter
- flutter_mimc (0.0.1):
- Flutter
- flutter_plugin_android_lifecycle (0.0.1):
- Flutter
- fluttertoast (0.0.2):
- Flutter
- image_picker (0.0.1):
- Flutter
- path_provider (0.0.1):
- Flutter
- path_provider_macos (0.0.1):
- Flutter
- permission_handler (4.0.0):
- Flutter
- Reachability (3.2)
- shared_preferences (0.0.1):
- Flutter
- shared_preferences_macos (0.0.1):
- Flutter
- shared_preferences_web (0.0.1):
- Flutter
DEPENDENCIES:
- connectivity (from `.symlinks/plugins/connectivity/ios`)
- connectivity_macos (from `.symlinks/plugins/connectivity_macos/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- Flutter (from `Flutter`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_mimc (from `.symlinks/plugins/flutter_mimc/ios`)
- flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- image_picker (from `.symlinks/plugins/image_picker/ios`)
- path_provider (from `.symlinks/plugins/path_provider/ios`)
- path_provider_macos (from `.symlinks/plugins/path_provider_macos/ios`)
- permission_handler (from `.symlinks/plugins/permission_handler/ios`)
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
- shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`)
- shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`)
SPEC REPOS:
https://github.com/CocoaPods/Specs.git:
- Reachability
EXTERNAL SOURCES:
connectivity:
:path: ".symlinks/plugins/connectivity/ios"
connectivity_macos:
:path: ".symlinks/plugins/connectivity_macos/ios"
file_picker:
:path: ".symlinks/plugins/file_picker/ios"
Flutter:
:path: Flutter
flutter_local_notifications:
:path: ".symlinks/plugins/flutter_local_notifications/ios"
flutter_mimc:
:path: ".symlinks/plugins/flutter_mimc/ios"
flutter_plugin_android_lifecycle:
:path: ".symlinks/plugins/flutter_plugin_android_lifecycle/ios"
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
image_picker:
:path: ".symlinks/plugins/image_picker/ios"
path_provider:
:path: ".symlinks/plugins/path_provider/ios"
path_provider_macos:
:path: ".symlinks/plugins/path_provider_macos/ios"
permission_handler:
:path: ".symlinks/plugins/permission_handler/ios"
shared_preferences:
:path: ".symlinks/plugins/shared_preferences/ios"
shared_preferences_macos:
:path: ".symlinks/plugins/shared_preferences_macos/ios"
shared_preferences_web:
:path: ".symlinks/plugins/shared_preferences_web/ios"
SPEC CHECKSUMS:
connectivity: 6e94255659cc86dcbef1d452ad3e0491bb1b3e75
connectivity_macos: e2e9731b6b22dda39eb1b128f6969d574460e191
file_picker: 408623be2125b79a4539cf703be3d4b3abe5e245
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
flutter_local_notifications: 9e4738ce2471c5af910d961a6b7eadcf57c50186
flutter_mimc: 55bda5d123df8355bcd86d12f2fb64bd71d2b40b
flutter_plugin_android_lifecycle: 47de533a02850f070f5696a623995e93eddcdb9b
fluttertoast: b644586ef3b16f67fae9a1f8754cef6b2d6b634b
image_picker: e3eacd46b94694dde7cf2705955cece853aa1a8f
path_provider: fb74bd0465e96b594bb3b5088ee4a4e7bb1f2a9d
path_provider_macos: f760a3c5b04357c380e2fddb6f9db6f3015897e0
permission_handler: 0fb88b8a3c23e31e5de45b8f1bb8b7de28cf8941
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
shared_preferences: 430726339841afefe5142b9c1f50cb6bd7793e01
shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087
shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9
PODFILE CHECKSUM: 3dbe063e9c90a5d7c9e4e76e70a821b9e2c1d271
COCOAPODS: 1.8.4
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildSystemType</key>
<string>Original</string>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>
#import <Flutter/Flutter.h>
#import <UIKit/UIKit.h>
@interface AppDelegate : FlutterAppDelegate
@end
#import "AppDelegate.h"
#import "GeneratedPluginRegistrant.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GeneratedPluginRegistrant registerWithRegistry:self];
if(![[NSUserDefaults standardUserDefaults]objectForKey:@"Notification"]){
[[UIApplication sharedApplication] cancelAllLocalNotifications];
[[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"Notification"];
}
if(@available(iOS 10.0, *)) {
[UNUserNotificationCenter currentNotificationCenter].delegate = (id<UNUserNotificationCenterDelegate>) self;
}
// Override point for customization after application launch.
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
@end
{
"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"
}
}
No preview for this file type
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment