first commit
76
moehu/moehu_fontend/.gitignore
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
# Miscellaneous
|
||||
*.class
|
||||
*.log
|
||||
*.pyc
|
||||
*.swp
|
||||
.DS_Store
|
||||
.atom/
|
||||
.buildlog/
|
||||
.history
|
||||
.svn/
|
||||
key.jks
|
||||
|
||||
# IntelliJ related
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
|
||||
# The .vscode folder contains launch configuration and tasks you configure in
|
||||
# VS Code which you may wish to be included in version control, so this line
|
||||
# is commented out by default.
|
||||
#.vscode/
|
||||
|
||||
# Flutter/Dart/Pub related
|
||||
**/doc/api/
|
||||
.dart_tool/
|
||||
.flutter-plugins
|
||||
.flutter-plugins-dependencies
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
|
||||
# Symbolication related
|
||||
app.*.symbols
|
||||
|
||||
# Obfuscation related
|
||||
app.*.map.json
|
||||
|
||||
# Exceptions to above rules.
|
||||
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
||||
|
||||
.vscode/
|
||||
pubspec.lock
|
||||
|
||||
Podfile
|
||||
Podfile.lock
|
||||
Pods/
|
||||
.symlinks/
|
||||
**/Flutter/App.framework/
|
||||
**/Flutter/Flutter.framework/
|
||||
**/Flutter/Generated.xcconfig
|
||||
**/Flutter/flutter_assets/
|
||||
ServiceDefinitions.json
|
||||
xcuserdata/
|
||||
**/DerivedData/
|
||||
|
||||
local.properties
|
||||
keystore.properties
|
||||
.gradle/
|
||||
gradlew
|
||||
gradlew.bat
|
||||
gradle-wrapper.jar
|
||||
|
||||
GeneratedPluginRegistrant.h
|
||||
GeneratedPluginRegistrant.m
|
||||
GeneratedPluginRegistrant.java
|
||||
build/
|
||||
|
||||
.project
|
||||
.classpath
|
||||
.settings
|
||||
!.idea/
|
||||
10
moehu/moehu_fontend/.metadata
Normal file
@@ -0,0 +1,10 @@
|
||||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: 8f89f6505b941329a864fef1527243a72800bf4d
|
||||
channel: beta
|
||||
|
||||
project_type: app
|
||||
1
moehu/moehu_fontend/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
52bfd07d-cfdb-44d7-b369-72815fb569f6
|
||||
21
moehu/moehu_fontend/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 编码猿
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
0
moehu/moehu_fontend/README.md
Normal file
11
moehu/moehu_fontend/android/.gitignore
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
gradle-wrapper.jar
|
||||
/.gradle
|
||||
/captures/
|
||||
/gradlew
|
||||
/gradlew.bat
|
||||
/local.properties
|
||||
GeneratedPluginRegistrant.java
|
||||
|
||||
# Remember to never publicly share your keystore.
|
||||
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
|
||||
key.properties
|
||||
1
moehu/moehu_fontend/android/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
f4219bd4-013f-4bb9-83ee-4142e2dca6ac
|
||||
1
moehu/moehu_fontend/android/app/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
d999f01a-51e3-49c2-a152-d1508bb04df7
|
||||
85
moehu/moehu_fontend/android/app/build.gradle
Normal file
@@ -0,0 +1,85 @@
|
||||
def localProperties = new Properties()
|
||||
def localPropertiesFile = rootProject.file('local.properties')
|
||||
if (localPropertiesFile.exists()) {
|
||||
localPropertiesFile.withReader('UTF-8') { reader ->
|
||||
localProperties.load(reader)
|
||||
}
|
||||
}
|
||||
|
||||
def flutterRoot = localProperties.getProperty('flutter.sdk')
|
||||
if (flutterRoot == null) {
|
||||
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
|
||||
}
|
||||
|
||||
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
||||
if (flutterVersionCode == null) {
|
||||
flutterVersionCode = '1'
|
||||
}
|
||||
|
||||
def flutterVersionName = localProperties.getProperty('flutter.versionName')
|
||||
if (flutterVersionName == null) {
|
||||
flutterVersionName = '1.0'
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||
|
||||
def keystorePropertiesFile = rootProject.file("key.properties")
|
||||
def keystoreProperties = new Properties()
|
||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||
|
||||
android {
|
||||
lintOptions {
|
||||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
compileSdkVersion 30
|
||||
aaptOptions {
|
||||
cruncherEnabled = false
|
||||
}
|
||||
defaultConfig {
|
||||
applicationId "com.picture.peach"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 29
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
versionName flutterVersionName
|
||||
multiDexEnabled true
|
||||
ndk {
|
||||
abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a'
|
||||
}
|
||||
|
||||
manifestPlaceholders = [
|
||||
JPUSH_PKGNAME: applicationId,
|
||||
JPUSH_APPKEY : "d4e22ab876276f4a374880ca", // NOTE: JPush 上注册的包名对应的 Appkey.
|
||||
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
|
||||
]
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
keyAlias keystoreProperties['keyAlias']
|
||||
keyPassword keystoreProperties['keyPassword']
|
||||
storeFile file(keystoreProperties['storeFile'])
|
||||
storePassword keystoreProperties['storePassword']
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
// TODO: Add your own signing config for the release build.
|
||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
||||
signingConfig signingConfigs.release
|
||||
minifyEnabled true
|
||||
useProguard true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.android.support:multidex:1.0.3'
|
||||
}
|
||||
|
||||
flutter {
|
||||
source '../..'
|
||||
}
|
||||
7
moehu/moehu_fontend/android/app/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
#Flutter Wrapper
|
||||
-keep class io.flutter.app.** { *; }
|
||||
-keep class io.flutter.plugin.** { *; }
|
||||
-keep class io.flutter.util.** { *; }
|
||||
-keep class io.flutter.view.** { *; }
|
||||
-keep class io.flutter.** { *; }
|
||||
-keep class io.flutter.plugins.** { *; }
|
||||
1
moehu/moehu_fontend/android/app/src/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
f8e1880b-fa06-4cf2-a532-038e4fadb7c3
|
||||
1
moehu/moehu_fontend/android/app/src/debug/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
ae0c387f-d326-4fa3-a2b3-84afaaaf428c
|
||||
@@ -0,0 +1,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.picture.peach">
|
||||
<!-- Flutter needs it to communicate with the running application
|
||||
to allow setting breakpoints, to provide hot reload, etc.
|
||||
-->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
</manifest>
|
||||
1
moehu/moehu_fontend/android/app/src/debug/gen/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
56fb7271-3796-49e0-8564-af943ea0cb29
|
||||
1
moehu/moehu_fontend/android/app/src/debug/gen/com/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
767ad59c-1935-4dde-91eb-e1187d2a1399
|
||||
@@ -0,0 +1 @@
|
||||
53356f2c-18b8-4898-a04a-4b5ed344ad3d
|
||||
@@ -0,0 +1 @@
|
||||
018f8e15-d665-4625-b101-c7303ff7d4ea
|
||||
@@ -0,0 +1,8 @@
|
||||
/*___Generated_by_IDEA___*/
|
||||
|
||||
package com.picture.peach;
|
||||
|
||||
/* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */
|
||||
public final class BuildConfig {
|
||||
public final static boolean DEBUG = Boolean.parseBoolean(null);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*___Generated_by_IDEA___*/
|
||||
|
||||
package com.picture.peach;
|
||||
|
||||
/* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */
|
||||
public final class Manifest {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*___Generated_by_IDEA___*/
|
||||
|
||||
package com.picture.peach;
|
||||
|
||||
/* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */
|
||||
public final class R {
|
||||
}
|
||||
1
moehu/moehu_fontend/android/app/src/main/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
03e13271-5809-4fe3-a1d2-c4e9a06f7c0b
|
||||
74
moehu/moehu_fontend/android/app/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1,74 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.picture.peach">
|
||||
|
||||
<!--允许程序写入外部存储-->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<!--允许获取网络信息状态-->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<!--允许获取当前WiFi接入的状态以及WLAN热点的信息-->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<!--允许程序访问网络连接,可能产生GPRS流量-->
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<!--允许程序访问电话状态-->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<!--允许应用程序读取设备外部存储空间的文件-->
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<!--允许程序写入外部存储-->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<!--安装app-->
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<!--允许挂载和反挂载外部文件系统可移动存储-->
|
||||
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
|
||||
<uses-permission android:name = "android.permission.SET_WALLPAPER"/>
|
||||
|
||||
<application
|
||||
android:label="萌弧"
|
||||
android:requestLegacyExternalStorage="true"
|
||||
android:icon="@mipmap/ic_launcher">
|
||||
<activity
|
||||
android:name="com.picture.peach.MainActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/LaunchTheme"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||
android:hardwareAccelerated="true"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<!-- Specifies an Android theme to apply to this Activity as soon as
|
||||
the Android process has started. This theme is visible to the user
|
||||
while the Flutter UI initializes. After that, this theme continues
|
||||
to determine the Window background behind the Flutter UI. -->
|
||||
<meta-data
|
||||
android:name="io.flutter.embedding.android.NormalTheme"
|
||||
android:resource="@style/NormalTheme"
|
||||
/>
|
||||
<!-- Displays an Android View that continues showing the launch screen
|
||||
Drawable until Flutter paints its first frame, then this splash
|
||||
screen fades out. A splash screen is useful to avoid any visual
|
||||
gap between the end of Android's launch screen and the painting of
|
||||
Flutter's first frame. -->
|
||||
<meta-data
|
||||
android:name="io.flutter.embedding.android.SplashScreenDrawable"
|
||||
android:resource="@drawable/launch_background"
|
||||
/>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
|
||||
<!--通过浏览器Url启动app-->
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data
|
||||
android:host="openfile"
|
||||
android:scheme="mitao" />
|
||||
</intent-filter>
|
||||
|
||||
</activity>
|
||||
<!-- Don't delete the meta-data below.
|
||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
||||
<meta-data
|
||||
android:name="flutterEmbedding"
|
||||
android:value="2" />
|
||||
</application>
|
||||
</manifest>
|
||||
1
moehu/moehu_fontend/android/app/src/main/java/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
a65739f2-208f-479a-b272-24aa2e330469
|
||||
1
moehu/moehu_fontend/android/app/src/main/java/com/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
f9d5d4de-04fd-47a1-95c8-b74114af895c
|
||||
@@ -0,0 +1 @@
|
||||
4cb1305a-47f4-4708-ab10-939ce7c2c690
|
||||
@@ -0,0 +1 @@
|
||||
9e2fcc2f-02f8-4fa3-862e-2729c17194cf
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.picture.peach;
|
||||
|
||||
import io.flutter.embedding.android.FlutterActivity;
|
||||
|
||||
public class MainActivity extends FlutterActivity {
|
||||
}
|
||||
1
moehu/moehu_fontend/android/app/src/main/java/io/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
8c38920b-d4b7-4b81-9eff-3b801983f20c
|
||||
@@ -0,0 +1 @@
|
||||
67b848cd-6230-490d-be2c-7728efd778c5
|
||||
@@ -0,0 +1 @@
|
||||
a776807c-767c-4ea8-8508-606bffe39af7
|
||||
1
moehu/moehu_fontend/android/app/src/main/kotlin/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
61b21d8b-d16b-46f9-9658-b73df3ac855a
|
||||
@@ -0,0 +1 @@
|
||||
76906fba-4307-486c-91d0-e6fd1e2a6c00
|
||||
@@ -0,0 +1 @@
|
||||
1f47ee14-cdf3-4b41-866f-a7ccb2ce224c
|
||||
@@ -0,0 +1 @@
|
||||
c45e48c8-8252-4edb-bb46-d4b34eee6c9c
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.example.untitled
|
||||
|
||||
import io.flutter.embedding.android.FlutterActivity
|
||||
|
||||
class MainActivity: FlutterActivity() {
|
||||
}
|
||||
1
moehu/moehu_fontend/android/app/src/main/res/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
813c7344-cec3-4da7-8fb9-d66cb230569d
|
||||
@@ -0,0 +1 @@
|
||||
531d2a2c-22b0-4e7e-85c2-d8a6dbe5e5c4
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Modify this file to customize your launch splash screen -->
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="?android:colorBackground" />
|
||||
|
||||
<!-- You can insert your own image assets here -->
|
||||
<!-- <item>
|
||||
<bitmap
|
||||
android:gravity="center"
|
||||
android:src="@mipmap/launch_image" />
|
||||
</item> -->
|
||||
</layer-list>
|
||||
@@ -0,0 +1 @@
|
||||
9fc91308-c605-4fab-8613-a43bf5722325
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Modify this file to customize your launch splash screen -->
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@android:color/white" />
|
||||
|
||||
<!-- You can insert your own image assets here -->
|
||||
<!-- <item>
|
||||
<bitmap
|
||||
android:gravity="center"
|
||||
android:src="@mipmap/launch_image" />
|
||||
</item> -->
|
||||
</layer-list>
|
||||
@@ -0,0 +1 @@
|
||||
a163d701-ea40-446a-9c3e-7793ea5b4b65
|
||||
|
After Width: | Height: | Size: 885 KiB |
|
After Width: | Height: | Size: 885 KiB |
@@ -0,0 +1 @@
|
||||
6c3594e5-502d-4bdc-ad70-878ec98c7e78
|
||||
|
After Width: | Height: | Size: 885 KiB |
|
After Width: | Height: | Size: 885 KiB |
@@ -0,0 +1 @@
|
||||
89cc3ea4-9aba-45e6-acde-c21be7632d88
|
||||
|
After Width: | Height: | Size: 885 KiB |
|
After Width: | Height: | Size: 885 KiB |
@@ -0,0 +1 @@
|
||||
719c1bed-38ed-425f-82ad-1f5a8c8d81b8
|
||||
|
After Width: | Height: | Size: 885 KiB |
|
After Width: | Height: | Size: 885 KiB |
@@ -0,0 +1 @@
|
||||
9efd6c5b-1643-49c7-ad3d-2a4cc33c8884
|
||||
|
After Width: | Height: | Size: 885 KiB |
|
After Width: | Height: | Size: 885 KiB |
@@ -0,0 +1 @@
|
||||
15698020-39d1-4158-8541-2807ae72fc21
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
|
||||
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<!-- Show a splash screen on the activity. Automatically removed when
|
||||
Flutter draws its first frame -->
|
||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||
</style>
|
||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||
This theme determines the color of the Android Window while your
|
||||
Flutter UI initializes, as well as behind your Flutter UI while its
|
||||
running.
|
||||
|
||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<item name="android:windowBackground">?android:colorBackground</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -0,0 +1 @@
|
||||
91e98743-a80e-4a40-9b8c-7f510f1b33f4
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
|
||||
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<!-- Show a splash screen on the activity. Automatically removed when
|
||||
Flutter draws its first frame -->
|
||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||
</style>
|
||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||
This theme determines the color of the Android Window while your
|
||||
Flutter UI initializes, as well as behind your Flutter UI while its
|
||||
running.
|
||||
|
||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<item name="android:windowBackground">?android:colorBackground</item>
|
||||
</style>
|
||||
</resources>
|
||||
1
moehu/moehu_fontend/android/app/src/main/res/xml/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
810c3868-93cd-4f27-a43f-3b795e9cf4d3
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
<base-config cleartextTrafficPermitted="true" />
|
||||
</network-security-config>
|
||||
1
moehu/moehu_fontend/android/app/src/profile/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
88803387-c8f3-43ce-a709-7d2336074c8f
|
||||
@@ -0,0 +1,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.picture.peach">
|
||||
<!-- Flutter needs it to communicate with the running application
|
||||
to allow setting breakpoints, to provide hot reload, etc.
|
||||
-->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
</manifest>
|
||||
1
moehu/moehu_fontend/android/app/src/profile/gen/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
4957fecb-f65b-44d6-aa3e-b46d327334bf
|
||||
@@ -0,0 +1 @@
|
||||
442ddfcf-bc98-45b1-a346-d45521bff00f
|
||||
@@ -0,0 +1 @@
|
||||
95b2caea-1309-486a-80e4-4193457aeebf
|
||||
@@ -0,0 +1 @@
|
||||
102ce947-2f16-4550-9074-1c9579f6bc66
|
||||
@@ -0,0 +1,8 @@
|
||||
/*___Generated_by_IDEA___*/
|
||||
|
||||
package com.picture.peach;
|
||||
|
||||
/* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */
|
||||
public final class BuildConfig {
|
||||
public final static boolean DEBUG = Boolean.parseBoolean(null);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*___Generated_by_IDEA___*/
|
||||
|
||||
package com.picture.peach;
|
||||
|
||||
/* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */
|
||||
public final class Manifest {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/*___Generated_by_IDEA___*/
|
||||
|
||||
package com.picture.peach;
|
||||
|
||||
/* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */
|
||||
public final class R {
|
||||
}
|
||||
31
moehu/moehu_fontend/android/build.gradle
Normal file
@@ -0,0 +1,31 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
|
||||
jcenter()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.1.0'
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
|
||||
jcenter()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.buildDir = '../build'
|
||||
subprojects {
|
||||
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
||||
}
|
||||
subprojects {
|
||||
project.evaluationDependsOn(':app')
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
3
moehu/moehu_fontend/android/gradle.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
1
moehu/moehu_fontend/android/gradle/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
e9de2531-0c6a-4663-99e3-584bc2965fd1
|
||||
1
moehu/moehu_fontend/android/gradle/wrapper/.pydio
vendored
Normal file
@@ -0,0 +1 @@
|
||||
858e9273-7206-4223-aebf-430887d9c8c4
|
||||
6
moehu/moehu_fontend/android/gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
#Fri Jun 23 08:50:38 CEST 2017
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
|
||||
11
moehu/moehu_fontend/android/settings.gradle
Normal file
@@ -0,0 +1,11 @@
|
||||
include ':app'
|
||||
|
||||
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
|
||||
def properties = new Properties()
|
||||
|
||||
assert localPropertiesFile.exists()
|
||||
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
|
||||
|
||||
def flutterSdkPath = properties.getProperty("flutter.sdk")
|
||||
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
|
||||
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
|
||||
1
moehu/moehu_fontend/android/settings_aar.gradle
Normal file
@@ -0,0 +1 @@
|
||||
include ':app'
|
||||
91
moehu/moehu_fontend/asset_generator.dart
Normal file
@@ -0,0 +1,91 @@
|
||||
import 'dart:io';
|
||||
|
||||
// ignore: non_constant_identifier_names
|
||||
var preview_server_port = 2227;
|
||||
|
||||
void main() async {
|
||||
bool working = false;
|
||||
var pubSpec = new File('pubspec.yaml');
|
||||
var pubLines = pubSpec.readAsLinesSync();
|
||||
var newLines = <String>[];
|
||||
var resource = <String>[];
|
||||
for (var line in pubLines) {
|
||||
if (line.contains('begin') && line.contains('#') && line.contains('assets')) {
|
||||
working = true;
|
||||
newLines.add(line);
|
||||
}
|
||||
if (line.contains('end') && line.contains('#') && line.contains('assets')) working = false;
|
||||
|
||||
if (working) {
|
||||
if (line.trim().startsWith('#') && line.trim().endsWith('*')) {
|
||||
newLines.add(line);
|
||||
var directory = new Directory(line.replaceAll('#', '').replaceAll('*', '').trim());
|
||||
if (directory.existsSync()) {
|
||||
var list = directory.listSync(recursive: true);
|
||||
resource.add("/// 静态资源配置,程序自动生成,请勿手动修改");
|
||||
for (var file in list) {
|
||||
if (new File(file.path)
|
||||
.statSync()
|
||||
.type == FileSystemEntityType.file) {
|
||||
var path = file.path.replaceAll('\\', '/');
|
||||
var varName = path.replaceAll('/', '_').replaceAll('.', '_').toLowerCase();
|
||||
var pos = 0;
|
||||
String char;
|
||||
while (true) {
|
||||
pos = varName.indexOf('_', pos);
|
||||
if (pos == -1) break;
|
||||
char = varName.substring(pos + 1, pos + 2);
|
||||
varName = varName.replaceFirst('_$char', '_${char.toUpperCase()}');
|
||||
pos++;
|
||||
}
|
||||
varName = varName.replaceAll('_', '');
|
||||
resource.add("/// ");
|
||||
resource.add("static final String $varName = '$path';");
|
||||
newLines.add(' - $path');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new FileSystemException('Directory wrong');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
newLines.add(line);
|
||||
}
|
||||
}
|
||||
|
||||
var r = new File('lib/R.dart');
|
||||
if (r.existsSync()) {
|
||||
r.deleteSync();
|
||||
}
|
||||
r.createSync();
|
||||
var content = 'class R {\n';
|
||||
for (var line in resource) {
|
||||
content = '$content $line\n';
|
||||
}
|
||||
content = '$content}\n';
|
||||
r.writeAsStringSync(content);
|
||||
|
||||
var spec = '';
|
||||
for (var line in newLines) {
|
||||
spec = '$spec$line\n';
|
||||
}
|
||||
pubSpec.writeAsStringSync(spec);
|
||||
|
||||
var ser;
|
||||
try {
|
||||
ser = await HttpServer.bind('127.0.0.1', preview_server_port);
|
||||
print('成功启动图片预览服务器于本机<$preview_server_port>端口');
|
||||
ser.listen(
|
||||
(req) {
|
||||
var index = req.uri.path.lastIndexOf('.');
|
||||
var subType = req.uri.path.substring(index);
|
||||
req.response
|
||||
..headers.contentType = new ContentType('image', subType)
|
||||
..add(new File('.${req.uri.path}').readAsBytesSync())
|
||||
..close();
|
||||
},
|
||||
);
|
||||
} catch (e) {
|
||||
print('图片预览服务器已启动或端口被占用');
|
||||
}
|
||||
}
|
||||
1
moehu/moehu_fontend/docs/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
f00569f9-4bf1-4de4-8769-6946d962a9ce
|
||||
BIN
moehu/moehu_fontend/docs/1.jpg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
moehu/moehu_fontend/docs/10.jpg
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
moehu/moehu_fontend/docs/2.jpg
Normal file
|
After Width: | Height: | Size: 205 KiB |
BIN
moehu/moehu_fontend/docs/3.jpg
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
moehu/moehu_fontend/docs/4.jpg
Normal file
|
After Width: | Height: | Size: 708 KiB |
BIN
moehu/moehu_fontend/docs/5.jpg
Normal file
|
After Width: | Height: | Size: 428 KiB |
BIN
moehu/moehu_fontend/docs/6.jpg
Normal file
|
After Width: | Height: | Size: 653 KiB |
BIN
moehu/moehu_fontend/docs/7.jpg
Normal file
|
After Width: | Height: | Size: 188 KiB |
BIN
moehu/moehu_fontend/docs/8.jpg
Normal file
|
After Width: | Height: | Size: 1021 KiB |
BIN
moehu/moehu_fontend/docs/9.jpg
Normal file
|
After Width: | Height: | Size: 552 KiB |
1
moehu/moehu_fontend/gen/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
0ae5bbce-572e-45de-ac96-81e805cc694a
|
||||
1
moehu/moehu_fontend/lib/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
b6edff28-8ab8-4e51-869a-0e6da7720681
|
||||
37
moehu/moehu_fontend/lib/Configure.dart
Normal file
@@ -0,0 +1,37 @@
|
||||
import 'package:event_bus/event_bus.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:package_info/package_info.dart';
|
||||
import 'package:peach/utils/_.dart';
|
||||
import 'config/_.dart';
|
||||
import 'package:device_info/device_info.dart';
|
||||
|
||||
/*
|
||||
* 各种工具和配置的初始化
|
||||
*/
|
||||
class Configure {
|
||||
static Future init() async {
|
||||
// 运行初始
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
// SharedPreferences 初始化
|
||||
await SPreferences.init();
|
||||
|
||||
// 是否第一次打开的判断
|
||||
Config.isFirstOpen = !SPreferences().getBool("isFirstOpen");
|
||||
|
||||
// 是否第一次打开的判断
|
||||
Config.isLogin = !SPreferences().getIsLogin();
|
||||
|
||||
// 初始化事件控制中心
|
||||
Config.eventBus = EventBus();
|
||||
|
||||
// 读取保存设备信息
|
||||
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
|
||||
Config.isAndroid
|
||||
? Config.androidDeviceInfo = await deviceInfoPlugin.androidInfo
|
||||
: Config.iosDeviceInfo = await deviceInfoPlugin.iosInfo;
|
||||
|
||||
// 保存App软件包信息
|
||||
Config.packageInfo = await PackageInfo.fromPlatform();
|
||||
}
|
||||
}
|
||||
53
moehu/moehu_fontend/lib/R.dart
Normal file
@@ -0,0 +1,53 @@
|
||||
class R {
|
||||
/// 静态资源配置,程序自动生成,请勿手动修改
|
||||
/// 
|
||||
static final String libStaticImgUpdateIcClosePng =
|
||||
'lib/static/img/update_ic_close.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgTaxiPng = 'lib/static/img/taxi.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgDsStore = 'lib/static/img/.DS_Store';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgWelcome3Png = 'lib/static/img/welcome3.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgWelcome2Png = 'lib/static/img/welcome2.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgUpdateBgAppTopPng =
|
||||
'lib/static/img/update_bg_app_top.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgLogoPng = 'lib/static/img/logo.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgViplogoPng = 'lib/static/img/vipLogo.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticImgBackPng = 'lib/static/img/back.png';
|
||||
|
||||
/// 
|
||||
static final String libStaticSignupBackground =
|
||||
'lib/static/img/SignupBackground.png';
|
||||
|
||||
/// 
|
||||
static const String ASSET_ADD_PNG = "lib/static/img/add.png";
|
||||
|
||||
/// 
|
||||
static const String ASSET_EMOJI_PNG = "lib/static/img/emoji.png";
|
||||
|
||||
/// 
|
||||
static const String ASSET_KEYBOARD_PNG = "lib/static/img/keyboard.png";
|
||||
|
||||
/// 
|
||||
static const String ASSET_VOICE_PNG = "lib/static/img/voice.png";
|
||||
|
||||
/// 
|
||||
static const String libStaticAddTo = "lib/static/img/addTo.png";
|
||||
|
||||
/// 
|
||||
static const String libStaticAndroidTemplate = "lib/static/img/android-template.png";
|
||||
}
|
||||
1
moehu/moehu_fontend/lib/config/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
81345919-9c5e-4882-af8d-580d39746f99
|
||||
28
moehu/moehu_fontend/lib/config/Colors.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ColorConfig {
|
||||
// 主题色
|
||||
static const Color ThemeColor = Color(0XFF17d2d8);
|
||||
// static const Color ThemeColor = Color(0XFFffd101);
|
||||
// 比主题稍微淡一点的主题色
|
||||
static const Color ThemeOtherColor = Color(0XFF9df1f3);
|
||||
// cell 左侧图标的颜色
|
||||
static const Color IconColor = Color(0XFFc3c0c0);
|
||||
// 某些标题的黑色
|
||||
static const Color TitleColor = Color(0XFF333333);
|
||||
// 某些稍微灰色一点的字体颜色
|
||||
static const Color TextColor = Color(0XFF7e7979);
|
||||
// 未激活时候的字体颜色
|
||||
static const Color NoActiveColor = Color(0XFFd3d2d2);
|
||||
static const Color LineColor = Color(0XFFefefef);
|
||||
// 背景置灰使用和未激活不同
|
||||
static const Color AshPlacement = Color(0XFFf4f4f4);
|
||||
// 可点击的文字颜色
|
||||
static const Color Jump = Color(0XFF00c0cc);
|
||||
// 黑色
|
||||
static const Color BlackBackColor = Color(0XFF000000);
|
||||
// 白色背景
|
||||
static const Color WhiteBackColor = Colors.white;
|
||||
//
|
||||
static const Color TransparentBackground = Color(0X8c000000);
|
||||
}
|
||||
177
moehu/moehu_fontend/lib/config/Index.dart
Normal file
@@ -0,0 +1,177 @@
|
||||
import 'dart:io';
|
||||
import 'package:event_bus/event_bus.dart';
|
||||
import 'package:intro_views_flutter/intro_views_flutter.dart';
|
||||
import 'package:package_info/package_info.dart';
|
||||
import 'package:device_info/device_info.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'dart:ui';
|
||||
import 'package:peach/R.dart';
|
||||
import 'package:peach/utils/_.dart';
|
||||
|
||||
import 'Colors.dart';
|
||||
|
||||
class Config {
|
||||
static double top = MediaQueryData.fromWindow(window).padding.top;
|
||||
|
||||
/// 第一次打开,本地无值,返回false取反为true所以显示welcome
|
||||
/// 第二次打开,本地有值,返回true取反false,所以显示app页面
|
||||
static bool isFirstOpen = false;
|
||||
|
||||
/// 第一次打开,未登录,本地无值,返回false,取反为true,访问登录页面
|
||||
/// 第二次打开,已登录,本地有值,返回true,取反为返回false,访问app页面
|
||||
static bool isLogin = true;
|
||||
|
||||
/// App 的名字
|
||||
static String appName = "萌弧";
|
||||
|
||||
/// 保存 App安装包信息
|
||||
static PackageInfo packageInfo;
|
||||
|
||||
/// 是否为 android
|
||||
static bool isAndroid = Platform.isAndroid;
|
||||
|
||||
/// 保存 android 设备信息
|
||||
static AndroidDeviceInfo androidDeviceInfo;
|
||||
|
||||
/// 是否为 ios
|
||||
static bool isIos = Platform.isIOS;
|
||||
|
||||
/// 保存 ios 设备信息
|
||||
static IosDeviceInfo iosDeviceInfo;
|
||||
|
||||
// app的上下文
|
||||
static BuildContext context;
|
||||
|
||||
/// IOS app 下载地址
|
||||
// static String iosDownApkUrl = "https://apps.apple.com/cn/app/qq/id444934666";
|
||||
static String iosDownApkUrl =
|
||||
"itms-apps://itunes.apple.com/cn/app/id444934666";
|
||||
|
||||
/// 首页 /home.html
|
||||
static String h5IpUrl = "http://47.114.153.249/page/";
|
||||
static String shareIpUrl = "http://47.114.153.249/share/";
|
||||
static String h5DomainUrl = "http://www.geekhelp.cn/page/";
|
||||
|
||||
/// 首页底部Tab的控制器
|
||||
static PageController tabController;
|
||||
|
||||
/// 事件控制中心
|
||||
static EventBus eventBus;
|
||||
|
||||
/// 接口地址
|
||||
static final Map<String, dynamic> ApiUrl = {
|
||||
// 接口基地址
|
||||
'PhotoBaseUrl': 'https://moehu.net/app',
|
||||
// 'PhotoBaseUrl': 'http://192.168.31.100:8090/app',
|
||||
|
||||
// 接口地址
|
||||
'ApiList': {
|
||||
'login': '/user/Login',
|
||||
'reg': '/user/Reg',
|
||||
'opusRecommend': '/opus/Recommend',
|
||||
'opusOpusInfo': '/opus/OpusInfo',
|
||||
'commentAdd': '/comment/add',
|
||||
'commentList': '/comment/list',
|
||||
'checkUserIsFollow': '/opus/CheckUserIsFollow',
|
||||
'opusFollowUser': '/opus/FollowUser',
|
||||
'opusCollectionOpus': '/opus/CollectionOpus',
|
||||
'opusCheckOpusIsUpvote': '/opus/CheckIsUpvote',
|
||||
'opusUpvoteOpus': '/opus/UpvoteOpus',
|
||||
'toolUploadFile': '/tool/UploadFile',
|
||||
'opusPushOpus': '/opus/PushOpus',
|
||||
'opusCheckOpusIsCollection': '/opus/CheckOpusIsCollection',
|
||||
'dynamicPersonalDynamic': '/dynamic/PersonalDynamic',
|
||||
'dynamicPush': '/dynamic/Push',
|
||||
'dynamicTabsDynamic': '/dynamic/TabsDynamic',
|
||||
'dynamicDynamicHistory': '/dynamic/DynamicHistory',
|
||||
'tagRecommendTag': '/tag/RecommendTag',
|
||||
'opusRanking': '/opus/Ranking',
|
||||
'opusOpusSearch': '/opus/OpusSearch',
|
||||
'dynamicInfo': '/dynamic/Info',
|
||||
'OpusTag': '/tag/OpusTag',
|
||||
'OpusInfoCreatedTags': '/tag/OpusInfoCreatedTags',
|
||||
'UpdateTagsEditStatus': '/tag/UpdateTagsEditStatus',
|
||||
'DeleteTag': '/tag/DeleteTag',
|
||||
'UserInfo': '/user/UserInfo',
|
||||
'CollectionOpusList': '/opus/CollectionOpusList',
|
||||
'Follow': '/opus/Follow',
|
||||
'getOpusList': '/opus/OpusList',
|
||||
'Update': '/tool/Update',
|
||||
'FansUserList': '/user/FansUserList',
|
||||
'FollowUserList': '/user/FollowUserList'
|
||||
}
|
||||
};
|
||||
|
||||
static final List<PageViewModel> pages = [
|
||||
PageViewModel(
|
||||
pageColor: ColorConfig.ThemeColor,
|
||||
body: Text(
|
||||
'一款专业的插画交流平台',
|
||||
style: TextStyle(fontSize: Screen.setFontSize(17.0)),
|
||||
),
|
||||
title: Text(
|
||||
Config.appName,
|
||||
style: TextStyle(fontSize: Screen.setFontSize(30.0)),
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticAndroidTemplate,
|
||||
height: Screen.setHeight(225.0),
|
||||
width: Screen.setWidth(225.0),
|
||||
alignment: Alignment.center,
|
||||
)),
|
||||
PageViewModel(
|
||||
pageColor: const Color(0xFF03A9F4),
|
||||
body: Text(
|
||||
'在这里您可以和更多志趣相投的人进行沟通学习',
|
||||
style: TextStyle(fontSize: Screen.setFontSize(17.0)),
|
||||
),
|
||||
title: Text(
|
||||
'遇见.朋友',
|
||||
style: TextStyle(fontSize: Screen.setFontSize(30.0)),
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticImgWelcome2Png,
|
||||
height: Screen.setHeight(255.0),
|
||||
width: Screen.setWidth(255.0),
|
||||
alignment: Alignment.center,
|
||||
)),
|
||||
PageViewModel(
|
||||
pageColor: const Color(0xFF8BC34A),
|
||||
body: Text(
|
||||
'你的热爱在这都必将得到回应',
|
||||
style: TextStyle(fontSize: Screen.setFontSize(17.0)),
|
||||
),
|
||||
title: Text(
|
||||
'付出.得到',
|
||||
style: TextStyle(fontSize: Screen.setFontSize(30.0)),
|
||||
),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticImgWelcome3Png,
|
||||
height: Screen.setHeight(255.0),
|
||||
width: Screen.setWidth(255.0),
|
||||
alignment: Alignment.center,
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
),
|
||||
PageViewModel(
|
||||
pageColor: const Color(0xFF607D8B),
|
||||
body: Text(
|
||||
'点击【进入】开始使用!',
|
||||
style: TextStyle(fontSize: Screen.setFontSize(17.0)),
|
||||
),
|
||||
title: Text(
|
||||
'开始使用',
|
||||
style: TextStyle(fontSize: Screen.setFontSize(30.0)),
|
||||
),
|
||||
mainImage: Image.asset(
|
||||
R.libStaticImgTaxiPng,
|
||||
height: Screen.setHeight(255.0),
|
||||
width: Screen.setWidth(255.0),
|
||||
alignment: Alignment.center,
|
||||
),
|
||||
textStyle: TextStyle(color: Colors.white),
|
||||
),
|
||||
];
|
||||
}
|
||||
4
moehu/moehu_fontend/lib/config/_.dart
Normal file
@@ -0,0 +1,4 @@
|
||||
library config;
|
||||
|
||||
export 'Colors.dart';
|
||||
export 'Index.dart';
|
||||
1
moehu/moehu_fontend/lib/entity/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
b881cb83-9761-4b50-991e-5da6ea4c2a58
|
||||
32
moehu/moehu_fontend/lib/entity/CheckUserIsFollowEntity.dart
Normal file
@@ -0,0 +1,32 @@
|
||||
class CheckUserIsFollowEntityList {
|
||||
int _code;
|
||||
String _message;
|
||||
bool _data;
|
||||
|
||||
CheckUserIsFollowEntityList({int code, String message, bool data}) {
|
||||
this._code = code;
|
||||
this._message = message;
|
||||
this._data = data;
|
||||
}
|
||||
|
||||
int get code => _code;
|
||||
set code(int code) => _code = code;
|
||||
String get message => _message;
|
||||
set message(String message) => _message = message;
|
||||
bool get data => _data;
|
||||
set data(bool data) => _data = data;
|
||||
|
||||
CheckUserIsFollowEntityList.fromJson(Map<String, dynamic> json) {
|
||||
_code = json['code'];
|
||||
_message = json['message'];
|
||||
_data = json['data'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['code'] = this._code;
|
||||
data['message'] = this._message;
|
||||
data['data'] = this._data;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
208
moehu/moehu_fontend/lib/entity/CollectionOpusListEntity.dart
Normal file
@@ -0,0 +1,208 @@
|
||||
class CollectionOpusListEntityList {
|
||||
int _code;
|
||||
String _message;
|
||||
CollectionOpusListEntityData _data;
|
||||
|
||||
CollectionOpusListEntityList(
|
||||
{int code, Null message, CollectionOpusListEntityData data}) {
|
||||
this._code = code;
|
||||
this._message = message;
|
||||
this._data = data;
|
||||
}
|
||||
|
||||
int get code => _code;
|
||||
set code(int code) => _code = code;
|
||||
Null get message => _message;
|
||||
set message(Null message) => _message = message;
|
||||
CollectionOpusListEntityData get data => _data;
|
||||
set data(CollectionOpusListEntityData data) => _data = data;
|
||||
|
||||
CollectionOpusListEntityList.fromJson(Map<String, dynamic> json) {
|
||||
_code = json['code'];
|
||||
_message = json['message'];
|
||||
_data = json['data'] != null
|
||||
? new CollectionOpusListEntityData.fromJson(json['data'])
|
||||
: null;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['code'] = this._code;
|
||||
data['message'] = this._message;
|
||||
if (this._data != null) {
|
||||
data['data'] = this._data.toJson();
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class CollectionOpusListEntityData {
|
||||
int _nextPage;
|
||||
List<CollectionOpusListEntityResult> _result;
|
||||
int _totalPage;
|
||||
int _currentPage;
|
||||
|
||||
CollectionOpusListEntityData(
|
||||
{int nextPage,
|
||||
List<CollectionOpusListEntityResult> result,
|
||||
int totalPage,
|
||||
int currentPage}) {
|
||||
this._nextPage = nextPage;
|
||||
this._result = result;
|
||||
this._totalPage = totalPage;
|
||||
this._currentPage = currentPage;
|
||||
}
|
||||
|
||||
int get nextPage => _nextPage;
|
||||
set nextPage(int nextPage) => _nextPage = nextPage;
|
||||
List<CollectionOpusListEntityResult> get result => _result;
|
||||
set result(List<CollectionOpusListEntityResult> result) => _result = result;
|
||||
int get totalPage => _totalPage;
|
||||
set totalPage(int totalPage) => _totalPage = totalPage;
|
||||
int get currentPage => _currentPage;
|
||||
set currentPage(int currentPage) => _currentPage = currentPage;
|
||||
|
||||
CollectionOpusListEntityData.fromJson(Map<String, dynamic> json) {
|
||||
_nextPage = json['next_page'];
|
||||
if (json['result'] != null) {
|
||||
_result = new List<CollectionOpusListEntityResult>();
|
||||
json['result'].forEach((v) {
|
||||
_result.add(new CollectionOpusListEntityResult.fromJson(v));
|
||||
});
|
||||
}
|
||||
_totalPage = json['total_page'];
|
||||
_currentPage = json['current_page'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['next_page'] = this._nextPage;
|
||||
if (this._result != null) {
|
||||
data['result'] = this._result.map((v) => v.toJson()).toList();
|
||||
}
|
||||
data['total_page'] = this._totalPage;
|
||||
data['current_page'] = this._currentPage;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class CollectionOpusListEntityResult {
|
||||
int _opusId;
|
||||
int _userId;
|
||||
String _opusTitle;
|
||||
String _opusIntroduce;
|
||||
String _opusTime;
|
||||
int _opusSatisfied;
|
||||
int _opusSee;
|
||||
int _opusFollow;
|
||||
int _opusCollection;
|
||||
String _opusImg;
|
||||
int _opusStatus;
|
||||
int _opusType;
|
||||
int _opusOriginal;
|
||||
int _opusJurisdiction;
|
||||
int _opusIsEdit;
|
||||
|
||||
CollectionOpusListEntityResult(
|
||||
{int opusId,
|
||||
int userId,
|
||||
String opusTitle,
|
||||
String opusIntroduce,
|
||||
String opusTime,
|
||||
int opusSatisfied,
|
||||
int opusSee,
|
||||
int opusFollow,
|
||||
int opusCollection,
|
||||
String opusImg,
|
||||
int opusStatus,
|
||||
int opusType,
|
||||
int opusOriginal,
|
||||
int opusJurisdiction,
|
||||
int opusIsEdit}) {
|
||||
this._opusId = opusId;
|
||||
this._userId = userId;
|
||||
this._opusTitle = opusTitle;
|
||||
this._opusIntroduce = opusIntroduce;
|
||||
this._opusTime = opusTime;
|
||||
this._opusSatisfied = opusSatisfied;
|
||||
this._opusSee = opusSee;
|
||||
this._opusFollow = opusFollow;
|
||||
this._opusCollection = opusCollection;
|
||||
this._opusImg = opusImg;
|
||||
this._opusStatus = opusStatus;
|
||||
this._opusType = opusType;
|
||||
this._opusOriginal = opusOriginal;
|
||||
this._opusJurisdiction = opusJurisdiction;
|
||||
this._opusIsEdit = opusIsEdit;
|
||||
}
|
||||
|
||||
int get opusId => _opusId;
|
||||
set opusId(int opusId) => _opusId = opusId;
|
||||
int get userId => _userId;
|
||||
set userId(int userId) => _userId = userId;
|
||||
String get opusTitle => _opusTitle;
|
||||
set opusTitle(String opusTitle) => _opusTitle = opusTitle;
|
||||
String get opusIntroduce => _opusIntroduce;
|
||||
set opusIntroduce(String opusIntroduce) => _opusIntroduce = opusIntroduce;
|
||||
String get opusTime => _opusTime;
|
||||
set opusTime(String opusTime) => _opusTime = opusTime;
|
||||
int get opusSatisfied => _opusSatisfied;
|
||||
set opusSatisfied(int opusSatisfied) => _opusSatisfied = opusSatisfied;
|
||||
int get opusSee => _opusSee;
|
||||
set opusSee(int opusSee) => _opusSee = opusSee;
|
||||
int get opusFollow => _opusFollow;
|
||||
set opusFollow(int opusFollow) => _opusFollow = opusFollow;
|
||||
int get opusCollection => _opusCollection;
|
||||
set opusCollection(int opusCollection) => _opusCollection = opusCollection;
|
||||
String get opusImg => _opusImg;
|
||||
set opusImg(String opusImg) => _opusImg = opusImg;
|
||||
int get opusStatus => _opusStatus;
|
||||
set opusStatus(int opusStatus) => _opusStatus = opusStatus;
|
||||
int get opusType => _opusType;
|
||||
set opusType(int opusType) => _opusType = opusType;
|
||||
int get opusOriginal => _opusOriginal;
|
||||
set opusOriginal(int opusOriginal) => _opusOriginal = opusOriginal;
|
||||
int get opusJurisdiction => _opusJurisdiction;
|
||||
set opusJurisdiction(int opusJurisdiction) =>
|
||||
_opusJurisdiction = opusJurisdiction;
|
||||
int get opusIsEdit => _opusIsEdit;
|
||||
set opusIsEdit(int opusIsEdit) => _opusIsEdit = opusIsEdit;
|
||||
|
||||
CollectionOpusListEntityResult.fromJson(Map<String, dynamic> json) {
|
||||
_opusId = json['opus_id'];
|
||||
_userId = json['user_id'];
|
||||
_opusTitle = json['opus_title'];
|
||||
_opusIntroduce = json['opus_introduce'];
|
||||
_opusTime = json['opus_time'];
|
||||
_opusSatisfied = json['opus_satisfied'];
|
||||
_opusSee = json['opus_see'];
|
||||
_opusFollow = json['opus_follow'];
|
||||
_opusCollection = json['opus_collection'];
|
||||
_opusImg = json['opus_img'];
|
||||
_opusStatus = json['opus_status'];
|
||||
_opusType = json['opus_type'];
|
||||
_opusOriginal = json['opus_original'];
|
||||
_opusJurisdiction = json['opus_jurisdiction'];
|
||||
_opusIsEdit = json['opus_is_edit'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['opus_id'] = this._opusId;
|
||||
data['user_id'] = this._userId;
|
||||
data['opus_title'] = this._opusTitle;
|
||||
data['opus_introduce'] = this._opusIntroduce;
|
||||
data['opus_time'] = this._opusTime;
|
||||
data['opus_satisfied'] = this._opusSatisfied;
|
||||
data['opus_see'] = this._opusSee;
|
||||
data['opus_follow'] = this._opusFollow;
|
||||
data['opus_collection'] = this._opusCollection;
|
||||
data['opus_img'] = this._opusImg;
|
||||
data['opus_status'] = this._opusStatus;
|
||||
data['opus_type'] = this._opusType;
|
||||
data['opus_original'] = this._opusOriginal;
|
||||
data['opus_jurisdiction'] = this._opusJurisdiction;
|
||||
data['opus_is_edit'] = this._opusIsEdit;
|
||||
return data;
|
||||
}
|
||||
}
|
||||