fmk
3 years ago
520 changed files with 20697 additions and 0 deletions
@ -0,0 +1,52 @@
|
||||
# Miscellaneous |
||||
*.class |
||||
*.log |
||||
*.pyc |
||||
*.swp |
||||
.DS_Store |
||||
.atom/ |
||||
.buildlog/ |
||||
.history |
||||
.svn/ |
||||
|
||||
# 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/ |
||||
**/ios/Flutter/.last_build_id |
||||
.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 |
||||
|
||||
# Android Studio will place build artifacts here |
||||
/android/app/debug |
||||
/android/app/profile |
||||
/android/app/release |
||||
/android/app/build/ |
||||
|
||||
ios/UniMPSDK/Core/* |
||||
ios/UniMPSDK/Features/* |
||||
/.gradle/ |
@ -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: 02c026b03cd31dd3f867e5faeb7e104cce174c5f |
||||
channel: stable |
||||
|
||||
project_type: app |
@ -0,0 +1,7 @@
|
||||
{ |
||||
// Use IntelliSense to learn about possible attributes. |
||||
// Hover to view descriptions of existing attributes. |
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 |
||||
"version": "0.2.0", |
||||
"configurations": [] |
||||
} |
@ -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 |
@ -0,0 +1,93 @@
|
||||
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 plugin: 'kotlin-android' |
||||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" |
||||
|
||||
def mfph = [ |
||||
//宿主包名 |
||||
"apk.applicationId" : "com.zsw.huixiang", |
||||
] |
||||
|
||||
android { |
||||
compileSdkVersion 30 |
||||
|
||||
sourceSets { |
||||
main.java.srcDirs += 'src/main/kotlin' |
||||
main{ |
||||
jniLibs.srcDirs = ['libs'] |
||||
} |
||||
} |
||||
|
||||
defaultConfig { |
||||
applicationId "com.zsw.huixiang" |
||||
minSdkVersion 21 |
||||
targetSdkVersion 30 |
||||
versionCode flutterVersionCode.toInteger() |
||||
versionName flutterVersionName |
||||
|
||||
manifestPlaceholders = mfph |
||||
} |
||||
|
||||
signingConfigs { |
||||
config { |
||||
keyAlias 'huixiang' |
||||
keyPassword 'huixiang' |
||||
storeFile file('huixiang.jks') |
||||
storePassword 'huixiang' |
||||
v1SigningEnabled true //兼容v1 |
||||
v2SigningEnabled true //兼容v2 |
||||
} |
||||
} |
||||
|
||||
buildTypes { |
||||
release { |
||||
signingConfig signingConfigs.config |
||||
} |
||||
} |
||||
|
||||
aaptOptions { |
||||
additionalParameters '--auto-add-overlay' |
||||
ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~" |
||||
} |
||||
|
||||
} |
||||
|
||||
flutter { |
||||
source '../..' |
||||
} |
||||
|
||||
dependencies { |
||||
implementation fileTree(dir: 'libs', include: ['*.jar']) |
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" |
||||
|
||||
implementation fileTree(include: ['*.aar'], dir: 'libs') |
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0' |
||||
implementation 'androidx.appcompat:appcompat:1.2.0' |
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0' |
||||
implementation 'com.facebook.fresco:fresco:1.13.0' |
||||
implementation "com.facebook.fresco:animated-gif:1.13.0" |
||||
implementation 'com.github.bumptech.glide:glide:4.12.0' |
||||
implementation 'com.alibaba:fastjson:1.2.54' |
||||
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
||||
package="com.zsw.huixiang"> |
||||
<!-- 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> |
@ -0,0 +1,84 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
||||
package="com.zsw.huixiang"> |
||||
|
||||
<!--允许程序打开网络套接字--> |
||||
<uses-permission android:name="android.permission.INTERNET" /> |
||||
<!--允许程序设置内置sd卡的写权限--> |
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
||||
<!--允许程序获取网络状态--> |
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
||||
<!--允许程序访问WiFi网络信息--> |
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
||||
<!--允许程序读写手机状态和身份--> |
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
||||
<!--允许程序访问CellID或WiFi热点来获取粗略的位置--> |
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> |
||||
<!--精确定位--> |
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> |
||||
<!--申请调用A-GPS模块--> |
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> |
||||
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位--> |
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> |
||||
|
||||
<application |
||||
android:label="回乡" |
||||
android:icon="@mipmap/ic_launcher"> |
||||
<activity |
||||
android:name=".MainActivity" |
||||
android:launchMode="singleTop" |
||||
android:theme="@style/LaunchTheme" |
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" |
||||
android:hardwareAccelerated="true" |
||||
android:windowSoftInputMode="adjustResize"> |
||||
<meta-data |
||||
android:name="io.flutter.embedding.android.NormalTheme" |
||||
android:resource="@style/NormalTheme" /> |
||||
<meta-data |
||||
android:name="io.flutter.embedding.android.SplashScreenDrawable" |
||||
android:resource="@drawable/launch_background" |
||||
/> |
||||
<meta-data |
||||
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame" |
||||
android:value="true" /> |
||||
<intent-filter> |
||||
<action android:name="android.intent.action.MAIN"/> |
||||
<category android:name="android.intent.category.LAUNCHER"/> |
||||
</intent-filter> |
||||
</activity> |
||||
|
||||
<activity |
||||
android:name="io.dcloud.PandoraEntryActivity" |
||||
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard" |
||||
android:hardwareAccelerated="true" |
||||
android:launchMode="singleTask" |
||||
android:permission="com.miui.securitycenter.permission.AppPermissionsEditor" |
||||
android:screenOrientation="user" |
||||
android:theme="@style/DCloudTheme" |
||||
android:windowSoftInputMode="adjustResize"> |
||||
|
||||
<intent-filter> |
||||
|
||||
<category android:name="android.intent.category.DEFAULT" /> |
||||
|
||||
<category android:name="android.intent.category.BROWSABLE" /> |
||||
|
||||
<action android:name="android.intent.action.VIEW" /> |
||||
|
||||
<data android:scheme="h56131bcf" /> |
||||
</intent-filter> |
||||
</activity> |
||||
|
||||
<service android:name="com.amap.api.location.APSService"/> |
||||
<meta-data |
||||
android:name="dcloud_appkey" |
||||
android:value="42e7ed15371a164e53572e7b86c6d6ce" /> |
||||
<meta-data |
||||
android:name="com.amap.api.v2.apikey" |
||||
android:value="f39d1daa020a56f208eb2519f63e9534"/> |
||||
<!-- 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> |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html> |
||||
<html lang="zh-CN"> |
||||
|
||||
<head> |
||||
<meta charset="UTF-8" /> |
||||
<script> |
||||
var __UniViewStartTime__ = Date.now(); |
||||
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || |
||||
CSS.supports('top: constant(a)')) |
||||
document.write( |
||||
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + |
||||
(coverSupport ? ', viewport-fit=cover' : '') + '" />') |
||||
</script> |
||||
<title>View</title> |
||||
<link rel="stylesheet" href="view.css" /> |
||||
</head> |
||||
|
||||
<body> |
||||
<div id="app"></div> |
||||
<script src="__uniappes6.js"></script> |
||||
<script src="view.umd.min.js"></script> |
||||
<script src="app-view.js"></script> |
||||
</body> |
||||
|
||||
</html> |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
(function(e){function r(r){for(var n,l,i=r[0],p=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in p)Object.prototype.hasOwnProperty.call(p,n)&&(e[n]=p[n]);f&&f(r);while(s.length)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var p=t[i];0!==o[p]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"app-config":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this["webpackJsonp"]=this["webpackJsonp"]||[],p=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var f=p;t()})([]); |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 673 B |
Binary file not shown.
@ -0,0 +1,88 @@
|
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> |
||||
<title>本地网页</title> |
||||
<style type="text/css"> |
||||
.btn { |
||||
display: block; |
||||
margin: 20px auto; |
||||
padding: 5px; |
||||
background-color: #007aff; |
||||
border: 0; |
||||
color: #ffffff; |
||||
height: 40px; |
||||
width: 200px; |
||||
} |
||||
|
||||
.btn-red { |
||||
background-color: #dd524d; |
||||
} |
||||
|
||||
.btn-yellow { |
||||
background-color: #f0ad4e; |
||||
} |
||||
|
||||
.desc { |
||||
padding: 10px; |
||||
color: #999999; |
||||
} |
||||
</style> |
||||
</head> |
||||
<body> |
||||
<p class="desc">web-view 组件加载本地 html 示例,仅在 App 环境下生效。点击下列按钮,跳转至其它页面。</p> |
||||
<div class="btn-list"> |
||||
<button class="btn" type="button" data-action="navigateTo">navigateTo</button> |
||||
<button class="btn" type="button" data-action="redirectTo">redirectTo</button> |
||||
<button class="btn" type="button" data-action="navigateBack">navigateBack</button> |
||||
<button class="btn" type="button" data-action="reLaunch">reLaunch</button> |
||||
<button class="btn" type="button" data-action="switchTab">switchTab</button> |
||||
</div> |
||||
<p class="desc">网页向应用发送消息。注意:小程序端应用会在此页面后退时接收到消息。</p> |
||||
<div class="btn-list"> |
||||
<button class="btn btn-red" type="button" id="postMessage">postMessage</button> |
||||
</div> |
||||
<!-- uni 的 SDK --> |
||||
<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script> |
||||
<script type="text/javascript"> |
||||
document.addEventListener('UniAppJSBridgeReady', function() { |
||||
document.querySelector('.btn-list').addEventListener('click', function(evt) { |
||||
var target = evt.target; |
||||
if (target.tagName === 'BUTTON') { |
||||
var action = target.getAttribute('data-action'); |
||||
switch (action) { |
||||
case 'switchTab': |
||||
uni.switchTab({ |
||||
url: '/pages/tabBar/API/API' |
||||
}); |
||||
break; |
||||
case 'reLaunch': |
||||
uni.reLaunch({ |
||||
url: '/pages/tabBar/API/API' |
||||
}); |
||||
break; |
||||
case 'navigateBack': |
||||
uni.navigateBack({ |
||||
delta: 1 |
||||
}); |
||||
break; |
||||
default: |
||||
uni[action]({ |
||||
url: '/pages/component/button/button' |
||||
}); |
||||
break; |
||||
} |
||||
} |
||||
}); |
||||
document.querySelector("#postMessage").addEventListener('click', function() { |
||||
uni.postMessage({ |
||||
data: { |
||||
action: 'message' |
||||
} |
||||
}); |
||||
}) |
||||
}); |
||||
</script> |
||||
</body> |
||||
</html> |
@ -0,0 +1 @@
|
||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__EB9B743","name":"huixiang","version":{"name":"1.0.0","code":"100"},"description":"应用描述","launch_path":"","developer":{"name":"","email":"","url":""},"permissions":{"OAuth":{},"Payment":{},"Push":{},"Share":{},"Speech":{},"VideoPlayer":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview","render":"always","uniNView":{"path":"pages/tabBar/component/component.js"}},"statusbar":{"immersed":"supportedDevice","style":"light","background":"#007AFF"},"usingComponents":true,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","compilerVersion":3,"allowsInlineMediaPlayback":true,"safearea":{"background":"#F8F8F8","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"3.1.18","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"fast"},"tabBar":{"color":"#7A7E83","selectedColor":"#007AFF","borderStyle":"rgba(0,0,0,0.4)","backgroundColor":"#F8F8F8","list":[{"pagePath":"pages/tabBar/component/component","iconPath":"static/component.png","selectedIconPath":"static/componentHL.png","text":"内置组件"},{"pagePath":"pages/tabBar/API/API","iconPath":"static/api.png","selectedIconPath":"static/apiHL.png","text":"接口"},{"pagePath":"pages/tabBar/extUI/extUI","iconPath":"static/extui.png","selectedIconPath":"static/extuiHL.png","text":"扩展组件"},{"pagePath":"pages/tabBar/template/template","iconPath":"static/template.png","selectedIconPath":"static/templateHL.png","text":"模板"}],"height":"50px","child":["lauchwebview"]}},"screenOrientation":["portrait-primary","portrait-secondary"]} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 774 B |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue