└── yinll_flutter
├── android
├── gradle.properties
├── 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
│ │ │ ├── values
│ │ │ │ └── styles.xml
│ │ │ └── drawable
│ │ │ │ └── launch_background.xml
│ │ │ ├── java
│ │ │ └── yinl
│ │ │ │ └── yinl
│ │ │ │ └── yinllflutter
│ │ │ │ └── MainActivity.java
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── settings.gradle
└── build.gradle
├── 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
│ ├── Info.plist
│ └── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
├── Runner.xcworkspace
│ └── contents.xcworkspacedata
└── Runner.xcodeproj
│ ├── project.xcworkspace
│ └── contents.xcworkspacedata
│ ├── xcshareddata
│ └── xcschemes
│ │ └── Runner.xcscheme
│ └── project.pbxproj
├── lib
├── redux
│ ├── user.dart
│ ├── AppState.dart
│ ├── user_reducer.dart
│ ├── DemoUseStorePage.dart
│ ├── redux_main.dart
│ └── demo.dart
├── CustomView
│ ├── PieData.dart
│ ├── MyCustomCircle.dart
│ └── DemoPage.dart
├── keyboard
│ ├── pay_password.dart
│ ├── custom_keyboard_button.dart
│ ├── CustomJPasswordFieldWidget.dart
│ ├── keyboard_main.dart
│ └── keyboard_widget.dart
├── route_demo
│ ├── Screen5.dart
│ ├── Screen4.dart
│ ├── Screen2.dart
│ ├── Screen1.dart
│ └── Screen3.dart
├── net
│ ├── ApiInterface.dart
│ ├── common_error_handler_utils.dart
│ └── NetUtil.dart
└── main.dart
├── .metadata
├── README.md
├── test
└── widget_test.dart
├── .gitignore
└── pubspec.yaml
/yinll_flutter/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 |
--------------------------------------------------------------------------------
/yinll_flutter/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/yinll_flutter/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/yinll_flutter/lib/redux/user.dart:
--------------------------------------------------------------------------------
1 |
2 |
3 | class User{
4 | String name;
5 | String phone;
6 | String code;
7 | String photo;
8 |
9 | User.empty();
10 |
11 | }
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yinllo/flutter/HEAD/yinll_flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/yinll_flutter/lib/CustomView/PieData.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class PieData{
4 | String name;// 名称
5 | Color color;// 颜色
6 | num percentage;//百分比
7 | var price;//成交额
8 |
9 |
10 | }
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/yinll_flutter/lib/keyboard/pay_password.dart:
--------------------------------------------------------------------------------
1 | /// 支符密码 用于 密码输入框和键盘之间进行通信
2 | class KeyEvent {
3 | String key;
4 |
5 | KeyEvent(this.key);
6 |
7 | bool isDelete() => this.key == "del";
8 | bool isCommit() => this.key == "commit";
9 | }
10 |
--------------------------------------------------------------------------------
/yinll_flutter/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
7 |
--------------------------------------------------------------------------------
/yinll_flutter/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 9dfc0f3aaa4c31557826fc32bb8b04e3f18ac4d3
8 | channel: master
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/yinll_flutter/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.
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/java/yinl/yinl/yinllflutter/MainActivity.java:
--------------------------------------------------------------------------------
1 | package yinl.yinl.yinllflutter;
2 |
3 | import android.os.Bundle;
4 | import io.flutter.app.FlutterActivity;
5 | import io.flutter.plugins.GeneratedPluginRegistrant;
6 |
7 | public class MainActivity extends FlutterActivity {
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | GeneratedPluginRegistrant.registerWith(this);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/yinll_flutter/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/yinll_flutter/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/yinll_flutter/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 |
--------------------------------------------------------------------------------
/yinll_flutter/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
4 |
5 | def plugins = new Properties()
6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
7 | if (pluginsFile.exists()) {
8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
9 | }
10 |
11 | plugins.each { name, path ->
12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
13 | include ":$name"
14 | project(":$name").projectDir = pluginDirectory
15 | }
16 |
--------------------------------------------------------------------------------
/yinll_flutter/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | jcenter()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:3.2.1'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | google()
15 | jcenter()
16 | }
17 | }
18 |
19 | rootProject.buildDir = '../build'
20 | subprojects {
21 | project.buildDir = "${rootProject.buildDir}/${project.name}"
22 | }
23 | subprojects {
24 | project.evaluationDependsOn(':app')
25 | }
26 |
27 | task clean(type: Delete) {
28 | delete rootProject.buildDir
29 | }
30 |
--------------------------------------------------------------------------------
/yinll_flutter/README.md:
--------------------------------------------------------------------------------
1 | # yinll_flutter
2 |
3 | A new Flutter application.
4 |
5 | ## Getting Started
6 |
7 | For help getting started with Flutter, view our online
8 | [documentation](https://flutter.io/).
9 |
10 | 这里是对应的博客链接,欢迎大家阅读! 如果觉得有帮助,帮忙点个赞和关注,哈哈!
11 |
12 | [Flutter仿微信,支付宝密码输入框+自定义键盘](https://juejin.im/post/5c10ef31e51d452e2c698673)
13 |
14 | [Flutter 自定义View之 饼状图](https://juejin.im/post/5bee5d9de51d4532de530734)
15 |
16 | [Flutter路由管理](https://juejin.im/post/5be2d6546fb9a049be5cf6d5)
17 |
18 | [Flutter TextField属性详解](https://juejin.im/post/5bee5e17e51d4523ec262737)
19 |
20 | [Flutter 网络请求框架封装](https://juejin.im/post/5c161e24e51d4546f83c8ae8)
21 |
--------------------------------------------------------------------------------
/yinll_flutter/lib/redux/AppState.dart:
--------------------------------------------------------------------------------
1 | import 'package:yinll_flutter/redux/user.dart';
2 | import 'package:flutter_redux/flutter_redux.dart';
3 | import 'package:yinll_flutter/redux/user_reducer.dart';
4 |
5 | class AppState {
6 |
7 | User userInfo;
8 |
9 | ///构造方法
10 | AppState({this.userInfo});
11 |
12 | }
13 |
14 | ///创建 Reducer
15 | ///源码中 Reducer 是一个方法 typedef State Reducer(State state, dynamic action);
16 | ///我们自定义了 appReducer 用于创建 store
17 | AppState appReducer(AppState state, action) {
18 | return AppState(
19 |
20 | ///通过 UserReducer 将 GSYState 内的 userInfo 和 action 关联在一起
21 | userInfo: UserReducer(state.userInfo, action),
22 |
23 |
24 | );
25 | }
26 |
--------------------------------------------------------------------------------
/yinll_flutter/lib/redux/user_reducer.dart:
--------------------------------------------------------------------------------
1 | import 'package:redux/redux.dart';
2 | import 'package:yinll_flutter/redux/user.dart';
3 |
4 | /// redux 的 combineReducers, 通过 TypedReducer 将 UpdateUserAction 与 reducers 关联起来
5 | final UserReducer = combineReducers([
6 | TypedReducer(_updateLoaded),
7 | ]);
8 |
9 | /// 如果有 UpdateUserAction 发起一个请求时
10 | /// 就会调用到 _updateLoaded
11 | /// _updateLoaded 这里接受一个新的userInfo,并返回
12 | User _updateLoaded(User user, action) {
13 | user = action.userInfo;
14 | return user;
15 | }
16 |
17 | ///定一个 UpdateUserAction ,用于发起 userInfo 的的改变
18 | ///类名随你喜欢定义,只要通过上面TypedReducer绑定就好
19 | class UpdateUserAction {
20 | final User userInfo;
21 |
22 | UpdateUserAction(this.userInfo);
23 | }
24 |
--------------------------------------------------------------------------------
/yinll_flutter/lib/route_demo/Screen5.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 |
4 | class Screen5 extends StatelessWidget {
5 |
6 | final String userName;
7 | Screen5(this.userName);
8 | @override
9 | Widget build(BuildContext context) {
10 |
11 | print("Screen5");
12 |
13 |
14 | return new Scaffold(
15 | appBar: new AppBar(
16 | title: new Text("Screen 5"),
17 | automaticallyImplyLeading: true,
18 | ),
19 | body: new Center(
20 | child: new Column(
21 | mainAxisSize: MainAxisSize.min,
22 | crossAxisAlignment: CrossAxisAlignment.center,
23 | children: [
24 | new Text("Hi " + userName),
25 | ],
26 | ),
27 | ) ,
28 | );
29 |
30 | }
31 | }
--------------------------------------------------------------------------------
/yinll_flutter/lib/net/ApiInterface.dart:
--------------------------------------------------------------------------------
1 | import 'dart:io';
2 |
3 | import 'package:dio/dio.dart';
4 | import 'package:http/http.dart';
5 | import 'package:yinll_flutter/net/NetUtil.dart';
6 | import 'package:yinll_flutter/net/common_error_handler_utils.dart';
7 |
8 | /// 所有接口请求
9 |
10 | class ApiInterface {
11 | static final String _API_GET = "user/";
12 |
13 | static Future