├── ios
├── Flutter
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── AppFrameworkInfo.plist
├── Runner
│ ├── Runner-Bridging-Header.h
│ ├── Assets.xcassets
│ │ ├── LaunchImage.imageset
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ ├── README.md
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-83.5x83.5@2x.png
│ │ │ └── Contents.json
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
│ └── Info.plist
├── Runner.xcodeproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── RunnerTests
│ └── RunnerTests.swift
└── .gitignore
├── lib
├── pages
│ ├── contacts
│ │ ├── friend_information
│ │ │ ├── signature_info
│ │ │ │ ├── index.dart
│ │ │ │ └── logic.dart
│ │ │ └── set_remark
│ │ │ │ ├── logic.dart
│ │ │ │ └── index.dart
│ │ ├── chat_group_information
│ │ │ ├── set_group_nickname
│ │ │ │ ├── logic.dart
│ │ │ │ └── index.dart
│ │ │ ├── set_group_remark
│ │ │ │ ├── logic.dart
│ │ │ │ └── index.dart
│ │ │ ├── set_group_name
│ │ │ │ ├── logic.dart
│ │ │ │ └── index.dart
│ │ │ └── chat_group_notice
│ │ │ │ ├── add_chat_group_notice
│ │ │ │ ├── logic.dart
│ │ │ │ └── index.dart
│ │ │ │ └── logic.dart
│ │ └── user_select
│ │ │ └── logic.dart
│ ├── mine
│ │ ├── about
│ │ │ ├── logic.dart
│ │ │ └── index.dart
│ │ ├── system_notify
│ │ │ ├── logic.dart
│ │ │ └── index.dart
│ │ ├── mine_qr_code
│ │ │ └── logic.dart
│ │ └── logic.dart
│ ├── qr_code_scan
│ │ ├── qr_other_result
│ │ │ ├── logic.dart
│ │ │ └── index.dart
│ │ ├── qr_login_affirm
│ │ │ ├── logic.dart
│ │ │ └── index.dart
│ │ ├── qr_friend_affirm
│ │ │ └── logic.dart
│ │ └── logic.dart
│ ├── chat_frame
│ │ └── chat_content
│ │ │ ├── time.dart
│ │ │ ├── retraction.dart
│ │ │ ├── text.dart
│ │ │ ├── system.dart
│ │ │ ├── call.dart
│ │ │ └── image.dart
│ ├── add_friend
│ │ ├── logic.dart
│ │ ├── friend_request
│ │ │ └── logic.dart
│ │ └── friend_info
│ │ │ └── logic.dart
│ ├── image_viewer
│ │ ├── logic.dart
│ │ └── image_viewer_update
│ │ │ ├── logic.dart
│ │ │ └── index.dart
│ ├── navigation
│ │ ├── logic.dart
│ │ └── index.dart
│ ├── talk
│ │ ├── talk_create
│ │ │ └── logic.dart
│ │ └── logic.dart
│ ├── login
│ │ └── logic.dart
│ ├── file_details
│ │ └── logic.dart
│ └── password
│ │ └── retrieve
│ │ └── logic.dart
├── components
│ ├── app_bar_title
│ │ └── index.dart
│ ├── custom_material_button
│ │ └── index.dart
│ ├── custom_tip
│ │ └── index.dart
│ ├── custom_flutter_toast
│ │ └── index.dart
│ ├── custom_least_button
│ │ └── index.dart
│ ├── custom_badge
│ │ └── index.dart
│ ├── custom_gradient_line
│ │ └── index.dart
│ ├── custom_image
│ │ └── index.dart
│ ├── custom_text_button
│ │ └── index.dart
│ ├── custom_update_portrait
│ │ └── index.dart
│ ├── custom_label_value
│ │ └── index.dart
│ ├── custom_shadow_text
│ │ └── index.dart
│ ├── custom_animated_dots_text
│ │ └── index.dart
│ ├── custom_icon_button
│ │ └── index.dart
│ ├── custom_portrait
│ │ └── index.dart
│ ├── custom_button
│ │ └── index.dart
│ ├── CustomDialog
│ │ └── index.dart
│ ├── custom_search_box
│ │ └── index.dart
│ ├── custom_image_group
│ │ └── index.dart
│ ├── custom_sound_icon
│ │ └── index.dart
│ └── custom_label_value_button
│ │ └── index.dart
├── utils
│ ├── permission_handler.dart
│ ├── String.dart
│ ├── encrypt.dart
│ ├── app_badger.dart
│ ├── linyu_msg.dart
│ ├── emoji.dart
│ ├── extension.dart
│ ├── getx_config
│ │ ├── GlobalThemeConfig.dart
│ │ └── GlobalData.dart
│ └── cropPicture.dart
├── api
│ ├── qr_api.dart
│ ├── talk_like_api.dart
│ ├── talk_comment_api.dart
│ ├── chat_group_member.dart
│ ├── notify_api.dart
│ ├── group_api.dart
│ ├── Http.dart
│ ├── chat_group_notice_api.dart
│ ├── talk_api.dart
│ ├── video_api.dart
│ ├── chat_list_api.dart
│ ├── msg_api.dart
│ └── chat_group_api.dart
└── main.dart
├── .github
└── logo.png
├── assets
├── images
│ ├── call.png
│ ├── edit.png
│ ├── group.png
│ ├── linyu.png
│ ├── logo.png
│ ├── more.png
│ ├── empty-bg.png
│ ├── flutter.png
│ ├── mine-set.png
│ ├── chat-blue.png
│ ├── chat-empty.png
│ ├── chat-pink.png
│ ├── file-blue.png
│ ├── file-pink.png
│ ├── file-white.png
│ ├── logo-about.png
│ ├── mine-about.png
│ ├── mine-blue.png
│ ├── mine-empty.png
│ ├── mine-pink.png
│ ├── qr-affirm.png
│ ├── signature.png
│ ├── talk-blue.png
│ ├── talk-empty.png
│ ├── talk-pink.png
│ ├── user-blue.png
│ ├── user-empty.png
│ ├── user-pink.png
│ ├── logo-qr-blue.png
│ ├── logo-qr-pink.png
│ ├── mine-password.png
│ ├── logo-login-blue.png
│ ├── logo-login-pink.png
│ ├── mine-talk-blue.png
│ ├── mine-talk-pink.png
│ ├── default-portrait.jpeg
│ ├── mine-notify-blue.png
│ ├── mine-notify-pink.png
│ └── icon-circle-of-friends.png
├── sounds
│ └── success.mp3
└── iconfont
│ └── iconfont.ttf
├── android
├── app
│ ├── src
│ │ ├── main
│ │ │ ├── res
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── xml
│ │ │ │ │ └── network_security_config.xml
│ │ │ │ ├── drawable
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── values
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night
│ │ │ │ │ └── styles.xml
│ │ │ └── kotlin
│ │ │ │ └── com
│ │ │ │ └── cershy
│ │ │ │ └── linyu_mobile
│ │ │ │ └── MainActivity.kt
│ │ ├── profile
│ │ │ └── AndroidManifest.xml
│ │ └── debug
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── .gitignore
├── build.gradle
└── settings.gradle
├── .gitignore
├── .metadata
├── test
└── widget_test.dart
└── analysis_options.yaml
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/lib/pages/contacts/friend_information/signature_info/index.dart:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/.github/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/.github/logo.png
--------------------------------------------------------------------------------
/assets/images/call.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/call.png
--------------------------------------------------------------------------------
/assets/images/edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/edit.png
--------------------------------------------------------------------------------
/assets/images/group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/group.png
--------------------------------------------------------------------------------
/assets/images/linyu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/linyu.png
--------------------------------------------------------------------------------
/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/logo.png
--------------------------------------------------------------------------------
/assets/images/more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/more.png
--------------------------------------------------------------------------------
/assets/images/empty-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/empty-bg.png
--------------------------------------------------------------------------------
/assets/images/flutter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/flutter.png
--------------------------------------------------------------------------------
/assets/images/mine-set.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-set.png
--------------------------------------------------------------------------------
/assets/sounds/success.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/sounds/success.mp3
--------------------------------------------------------------------------------
/assets/iconfont/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/iconfont/iconfont.ttf
--------------------------------------------------------------------------------
/assets/images/chat-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/chat-blue.png
--------------------------------------------------------------------------------
/assets/images/chat-empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/chat-empty.png
--------------------------------------------------------------------------------
/assets/images/chat-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/chat-pink.png
--------------------------------------------------------------------------------
/assets/images/file-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/file-blue.png
--------------------------------------------------------------------------------
/assets/images/file-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/file-pink.png
--------------------------------------------------------------------------------
/assets/images/file-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/file-white.png
--------------------------------------------------------------------------------
/assets/images/logo-about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/logo-about.png
--------------------------------------------------------------------------------
/assets/images/mine-about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-about.png
--------------------------------------------------------------------------------
/assets/images/mine-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-blue.png
--------------------------------------------------------------------------------
/assets/images/mine-empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-empty.png
--------------------------------------------------------------------------------
/assets/images/mine-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-pink.png
--------------------------------------------------------------------------------
/assets/images/qr-affirm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/qr-affirm.png
--------------------------------------------------------------------------------
/assets/images/signature.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/signature.png
--------------------------------------------------------------------------------
/assets/images/talk-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/talk-blue.png
--------------------------------------------------------------------------------
/assets/images/talk-empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/talk-empty.png
--------------------------------------------------------------------------------
/assets/images/talk-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/talk-pink.png
--------------------------------------------------------------------------------
/assets/images/user-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/user-blue.png
--------------------------------------------------------------------------------
/assets/images/user-empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/user-empty.png
--------------------------------------------------------------------------------
/assets/images/user-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/user-pink.png
--------------------------------------------------------------------------------
/assets/images/logo-qr-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/logo-qr-blue.png
--------------------------------------------------------------------------------
/assets/images/logo-qr-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/logo-qr-pink.png
--------------------------------------------------------------------------------
/assets/images/mine-password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-password.png
--------------------------------------------------------------------------------
/assets/images/logo-login-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/logo-login-blue.png
--------------------------------------------------------------------------------
/assets/images/logo-login-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/logo-login-pink.png
--------------------------------------------------------------------------------
/assets/images/mine-talk-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-talk-blue.png
--------------------------------------------------------------------------------
/assets/images/mine-talk-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-talk-pink.png
--------------------------------------------------------------------------------
/assets/images/default-portrait.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/default-portrait.jpeg
--------------------------------------------------------------------------------
/assets/images/mine-notify-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-notify-blue.png
--------------------------------------------------------------------------------
/assets/images/mine-notify-pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/mine-notify-pink.png
--------------------------------------------------------------------------------
/assets/images/icon-circle-of-friends.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/assets/images/icon-circle-of-friends.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/lib/pages/mine/about/logic.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get_state_manager/src/simple/get_controllers.dart';
2 |
3 | class AboutLogic extends GetxController {
4 |
5 | }
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DWHengr/linyu_mobile/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/cershy/linyu_mobile/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.cershy.linyu_mobile
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity()
6 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
6 |
--------------------------------------------------------------------------------
/lib/pages/qr_code_scan/qr_other_result/logic.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 |
3 | class QrOtherResultLogic extends GetxController {
4 | late String text;
5 |
6 | @override
7 | void onInit() {
8 | text = Get.arguments['text'];
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/to/reference-keystore
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/lib/pages/contacts/friend_information/signature_info/logic.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 |
3 | class SignatureInfoLogic extends GetxController {
4 | final signature = ''.obs;
5 |
6 | @override
7 | void onInit() {
8 | super.onInit();
9 | signature.value = Get.arguments['signature'];
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/lib/components/app_bar_title/index.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/cupertino.dart';
2 |
3 | class AppBarTitle extends StatelessWidget {
4 | final String title;
5 |
6 | const AppBarTitle(this.title, {super.key});
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | return Text(title, style: const TextStyle(fontSize: 20));
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/ios/RunnerTests/RunnerTests.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 | import XCTest
4 |
5 | class RunnerTests: XCTestCase {
6 |
7 | func testExample() {
8 | // If you add code to the Runner application, consider adding tests here.
9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 | }
7 |
8 | rootProject.buildDir = "../build"
9 | subprojects {
10 | project.buildDir = "${rootProject.buildDir}/${project.name}"
11 | }
12 | subprojects {
13 | project.evaluationDependsOn(":app")
14 | }
15 |
16 | tasks.register("clean", Delete) {
17 | delete rootProject.buildDir
18 | }
19 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 |
4 | @main
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/lib/utils/permission_handler.dart:
--------------------------------------------------------------------------------
1 | import 'package:permission_handler/permission_handler.dart';
2 |
3 | class PermissionHandler {
4 | static Future permissionRequest() async {
5 | await requestNotificationPermission();
6 | }
7 |
8 | static Future requestNotificationPermission() async {
9 | var status = await Permission.notification.status;
10 | if (status.isDenied) {
11 | await Permission.notification.request();
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | -
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | -
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/utils/String.dart:
--------------------------------------------------------------------------------
1 | class StringUtil {
2 | static bool isNullOrEmpty(String? str) {
3 | return str == null || str.trim().isEmpty;
4 | }
5 |
6 | static bool isNotNullOrEmpty(String? str) {
7 | return !isNullOrEmpty(str);
8 | }
9 |
10 | static String formatSize(int size) {
11 | if (size < 1024) {
12 | return '$size B';
13 | }
14 | const units = ['KB', 'MB', 'GB', 'TB'];
15 | int i = -1;
16 | double newSize = size.toDouble();
17 | while (newSize >= 1024 && i < units.length - 1) {
18 | newSize /= 1024;
19 | i++;
20 | }
21 | return '${newSize.toStringAsFixed(1)} ${units[i]}';
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/pages/qr_code_scan/qr_login_affirm/logic.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:linyu_mobile/api/user_api.dart';
3 | import 'package:linyu_mobile/components/custom_flutter_toast/index.dart';
4 |
5 | class QRLoginAffirmLogic extends GetxController {
6 | final _userAPi = UserApi();
7 | late final String qrCode;
8 |
9 | @override
10 | void onInit() {
11 | qrCode = Get.arguments['qrCode'];
12 | }
13 |
14 | void onQrLogin() {
15 | _userAPi.qrLogin(qrCode).then((res) {
16 | if (res['code'] == 0) {
17 | CustomFlutterToast.showSuccessToast("登录成功~");
18 | Get.offAllNamed('/');
19 | }
20 | });
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/lib/api/qr_api.dart:
--------------------------------------------------------------------------------
1 | import 'package:dio/dio.dart';
2 | import 'package:linyu_mobile/api/Http.dart';
3 |
4 | class QrApi {
5 | final Dio _dio = Http().dio;
6 |
7 | static final QrApi _instance = QrApi._internal();
8 |
9 | QrApi._internal();
10 |
11 | factory QrApi() {
12 | return _instance;
13 | }
14 |
15 | Future