├── lib
├── model
│ ├── new_dish.dart
│ ├── recommend_song_list.dart
│ └── swiper.dart
├── routers
│ ├── application.dart
│ ├── routes.dart
│ └── router_handler.dart
├── utils
│ └── number.dart
├── provider
│ ├── current_index.dart
│ ├── count.dart
│ ├── find
│ │ └── new_dish.dart
│ └── song_list
│ │ └── song_detail.dart
├── config
│ ├── service_url.dart
│ └── http.dart
├── pages
│ ├── account
│ │ ├── balck_vip.dart
│ │ ├── account.dart
│ │ ├── is_login_top.dart
│ │ ├── row_navigation.dart
│ │ └── column_block.dart
│ ├── player
│ │ ├── button.dart
│ │ ├── play_group.dart
│ │ ├── btn_group.dart
│ │ ├── player_content.dart
│ │ ├── slider.dart
│ │ ├── player.dart
│ │ └── palyer_title.dart
│ ├── friend
│ │ ├── friend.dart
│ │ └── tab.dart
│ ├── video
│ │ └── video.dart
│ ├── find
│ │ ├── search.dart
│ │ ├── find.dart
│ │ ├── swipper.dart
│ │ ├── top_navigation.dart
│ │ ├── recommend_song_list.dart
│ │ └── new_dish.dart
│ ├── my
│ │ ├── my.dart
│ │ ├── center_block.dart
│ │ └── top_area.dart
│ └── song_list
│ │ ├── share_area.dart
│ │ ├── bottom_model.dart
│ │ ├── song_list.dart
│ │ ├── bottom_list.dart
│ │ ├── song_auth.dart
│ │ └── top_area.dart
├── components
│ └── play.dart
├── splash_screen.dart
├── main.dart
├── material
│ ├── flexible_app_bar.dart
│ └── marquee.text.dart
└── bottom_navigation.dart
├── android
├── gradle.properties
├── key.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
│ │ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── uvdream
│ │ │ │ └── flutterneteasecloudmusic
│ │ │ │ └── MainActivity.kt
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── settings.gradle
└── build.gradle
├── ios
├── 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
├── Flutter
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── AppFrameworkInfo.plist
├── Runner.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ └── project.pbxproj
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Podfile
├── images
├── black.png
├── music.png
├── bottom
│ ├── my.png
│ ├── find.png
│ ├── video.png
│ ├── account.png
│ ├── friend.png
│ ├── find_selected.png
│ ├── my_selected.png
│ ├── friend_selected.png
│ ├── video_selected.png
│ └── account_selected.png
├── play
│ ├── disc.png
│ ├── play.png
│ └── play_background.png
├── icons
│ └── music.png
├── place_block.png
└── placeholder.png
├── docs
└── images
│ ├── my.PNG
│ ├── qq.jpg
│ ├── Find.PNG
│ ├── count.PNG
│ ├── wechat.png
│ └── songList.JPG
├── assets
└── fonts
│ └── IconFont.ttf
├── .metadata
├── LICENSE
├── test
└── widget_test.dart
├── .gitignore
├── README.md
└── pubspec.yaml
/lib/model/new_dish.dart:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
--------------------------------------------------------------------------------
/images/black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/black.png
--------------------------------------------------------------------------------
/images/music.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/music.png
--------------------------------------------------------------------------------
/docs/images/my.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/docs/images/my.PNG
--------------------------------------------------------------------------------
/docs/images/qq.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/docs/images/qq.jpg
--------------------------------------------------------------------------------
/docs/images/Find.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/docs/images/Find.PNG
--------------------------------------------------------------------------------
/docs/images/count.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/docs/images/count.PNG
--------------------------------------------------------------------------------
/images/bottom/my.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/my.png
--------------------------------------------------------------------------------
/images/play/disc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/play/disc.png
--------------------------------------------------------------------------------
/images/play/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/play/play.png
--------------------------------------------------------------------------------
/docs/images/wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/docs/images/wechat.png
--------------------------------------------------------------------------------
/images/bottom/find.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/find.png
--------------------------------------------------------------------------------
/images/bottom/video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/video.png
--------------------------------------------------------------------------------
/images/icons/music.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/icons/music.png
--------------------------------------------------------------------------------
/images/place_block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/place_block.png
--------------------------------------------------------------------------------
/images/placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/placeholder.png
--------------------------------------------------------------------------------
/assets/fonts/IconFont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/assets/fonts/IconFont.ttf
--------------------------------------------------------------------------------
/docs/images/songList.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/docs/images/songList.JPG
--------------------------------------------------------------------------------
/images/bottom/account.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/account.png
--------------------------------------------------------------------------------
/images/bottom/friend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/friend.png
--------------------------------------------------------------------------------
/android/key.properties:
--------------------------------------------------------------------------------
1 | storePassword=android
2 | keyPassword=android
3 | keyAlias=key
4 | storeFile=/Users/wangzhongjie/key.jks
--------------------------------------------------------------------------------
/images/bottom/find_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/find_selected.png
--------------------------------------------------------------------------------
/images/bottom/my_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/my_selected.png
--------------------------------------------------------------------------------
/images/play/play_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/play/play_background.png
--------------------------------------------------------------------------------
/lib/routers/application.dart:
--------------------------------------------------------------------------------
1 | import 'package:fluro/fluro.dart';
2 |
3 | class Application {
4 | static Router router;
5 | }
6 |
--------------------------------------------------------------------------------
/images/bottom/friend_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/friend_selected.png
--------------------------------------------------------------------------------
/images/bottom/video_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/video_selected.png
--------------------------------------------------------------------------------
/images/bottom/account_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/images/bottom/account_selected.png
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/lib/utils/number.dart:
--------------------------------------------------------------------------------
1 | String getFormattedNumber(number) {
2 | if (number < 10000) {
3 | return number.toString();
4 | }
5 | number = number ~/ 10000;
6 | return "$number万";
7 | }
8 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/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/UvDream/flutter_netease_cloud_music/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/lib/provider/current_index.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CurrentIndexProvider with ChangeNotifier {
4 | int currentIndex = 0;
5 | changeIndex(int newIndex) {
6 | currentIndex = newIndex;
7 | notifyListeners();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildSystemType
6 | Original
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | # This file should be version controlled and should not be manually edited.
4 |
5 | version:
6 | revision: cb6fec10dc83a11f536cbad0f4c05c099b6e5401
7 | channel: master
8 |
9 | project_type: app
10 |
--------------------------------------------------------------------------------
/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/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/lib/config/service_url.dart:
--------------------------------------------------------------------------------
1 | const serviceUrl = 'http://94.191.31.210:3000';
2 | const servicePath = {
3 | 'findSwiper': serviceUrl + '/banner', //首页轮播图
4 | 'songListApi': serviceUrl + '/personalized', //推荐歌单
5 | 'newDishApi': serviceUrl + '/top/album', //新碟
6 | 'songListDetail': serviceUrl + '/playlist/detail', //歌单详情
7 | 'mvDetail': serviceUrl + '/mv/detail', //歌曲mv详情
8 | 'songDetail': serviceUrl + '/song/detail' // 歌曲详情
9 | };
10 |
--------------------------------------------------------------------------------
/lib/pages/account/balck_vip.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_screenutil/flutter_screenutil.dart';
3 |
4 | class BlackVip extends StatelessWidget {
5 | @override
6 | Widget build(BuildContext context) {
7 | return Container(
8 | color: Colors.white,
9 | width: ScreenUtil().setWidth(750),
10 | padding: EdgeInsets.all(15),
11 | child: Image.asset('images/black.png'),
12 | );
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/uvdream/flutterneteasecloudmusic/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.uvdream.flutterneteasecloudmusic
2 |
3 | import android.os.Bundle
4 |
5 | import io.flutter.app.FlutterActivity
6 | import io.flutter.plugins.GeneratedPluginRegistrant
7 |
8 | class MainActivity: FlutterActivity() {
9 | override fun onCreate(savedInstanceState: Bundle?) {
10 | super.onCreate(savedInstanceState)
11 | GeneratedPluginRegistrant.registerWith(this)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/lib/pages/player/button.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_screenutil/flutter_screenutil.dart';
3 |
4 | class BtnBar extends StatelessWidget {
5 | final int icon;
6 | final double size;
7 | BtnBar(this.icon, this.size);
8 | @override
9 | Widget build(BuildContext context) {
10 | return Container(
11 | width: ScreenUtil().setWidth(140),
12 | child: Icon(
13 | IconData(icon, fontFamily: "IconFont"),
14 | color: Colors.white,
15 | size: size,
16 | ),
17 | );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/lib/provider/count.dart:
--------------------------------------------------------------------------------
1 | import 'dart:async';
2 |
3 | class CounterBloc {
4 | StreamController _streamController;
5 | Stream _stream;
6 | int _count;
7 |
8 | CounterBloc() {
9 | _count = 0;
10 | _streamController = StreamController.broadcast();
11 | _stream = _streamController.stream;
12 | }
13 |
14 | Stream get stream => _stream;
15 | int get count => _count;
16 |
17 | addCounter() {
18 | _streamController.sink.add(++_count);
19 | }
20 |
21 | subCounter() {
22 | _streamController.sink.add(--_count);
23 | }
24 |
25 | dispose() {
26 | _streamController.close();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lib/routers/routes.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:fluro/fluro.dart';
3 | import './router_handler.dart';
4 |
5 | class Routes {
6 | static String root = '/';
7 | static String songListPage = '/songList';
8 | static String palyer = '/player';
9 | static void configureRoutes(Router router) {
10 | router.notFoundHandler = new Handler(
11 | handlerFunc: (BuildContext context, Map> params) {
12 | print('ERROR=====>ROUTE NOT FOUND');
13 | });
14 | router.define(songListPage, handler: songListHandler);
15 | router.define(palyer, handler: playerHandler);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/components/play.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class PlayButton extends StatelessWidget {
4 | PlayButton({this.color = false});
5 | final bool color;
6 | @override
7 | Widget build(BuildContext context) {
8 | return Container(
9 | child: InkWell(
10 | onTap: () {},
11 | child: Container(
12 | // color: Colors.orange,
13 | width: 54,
14 | child: Icon(
15 | IconData(0xe649, fontFamily: 'IconFont'),
16 | size: 25,
17 | color: color ? Colors.white : Colors.black,
18 | ),
19 | ),
20 | ),
21 | );
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/config/http.dart:
--------------------------------------------------------------------------------
1 | import 'package:dio/dio.dart';
2 | import 'dart:async';
3 |
4 | Future fetch(url, {formData}) async {
5 | try {
6 | print('-------------------开始调试接口,传入的参数-------------');
7 | print(formData);
8 | Response res;
9 | Dio dio = new Dio();
10 | if (formData == null) {
11 | res = await dio.get(url);
12 | } else {
13 | res = await dio.get(url, queryParameters: formData);
14 | }
15 | if (res.statusCode == 200) {
16 | return res.data;
17 | } else {
18 | throw Exception('后端接口出现异常,请检测代码和服务器情况.........');
19 | }
20 | } catch (e) {
21 | return print('ERROR:======>${e}');
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/routers/router_handler.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:fluro/fluro.dart';
3 | import '../pages/song_list/song_list.dart';
4 | import '../pages/player/player.dart';
5 |
6 | Handler songListHandler = Handler(
7 | handlerFunc: (BuildContext context, Map> params) {
8 | String songListId = params['id'].first;
9 | return SongListPage(songListId);
10 | });
11 | Handler playerHandler = Handler(
12 | handlerFunc: (BuildContext context, Map> params) {
13 | print("路由传参+++++++++");
14 | print(params);
15 | String songId = params['id'].first;
16 | return PlayerPage(songId);
17 | });
18 |
--------------------------------------------------------------------------------
/lib/provider/find/new_dish.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import '../../config/http.dart';
3 | import '../../config/service_url.dart';
4 |
5 | class NewDishProvider with ChangeNotifier {
6 | bool _isLeft = true;
7 | List