Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
ab5563cf
Commit
ab5563cf
authored
Nov 19, 2019
by
徐健
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测评首页接入
parent
c4464515
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
229 additions
and
13 deletions
+229
-13
MainActivity.kt
app/src/main/java/com/ydl/component/MainActivity.kt
+2
-2
build.gradle
m-tests/build.gradle
+4
-0
AndroidManifest.xml
m-tests/src/main/AndroidManifest.xml
+1
-1
NewTestHomeActivity.kt
m-tests/src/main/java/com/yidianling/tests/home/NewTestHomeActivity.kt
+22
-0
TestHomeActivity.kt
m-tests/src/main/java/com/yidianling/tests/home/TestHomeActivity.kt
+1
-1
TestPlugin.kt
m-tests/src/main/java/com/yidianling/tests/home/plugin/TestPlugin.kt
+116
-0
TestHomeUtils.kt
m-tests/src/main/java/com/yidianling/tests/home/utils/TestHomeUtils.kt
+0
-6
build.gradle
ydl-flutter-base/build.gradle
+10
-0
app-release.aar
ydl-flutter-base/lib/app-release.aar
+0
-0
BaseFlutterActivity.kt
ydl-flutter-base/src/main/java/com/ydl/ydl_flutter/flutter/base/BaseFlutterActivity.kt
+6
-3
BaseFlutterFragment.kt
ydl-flutter-base/src/main/java/com/ydl/ydl_flutter/flutter/base/BaseFlutterFragment.kt
+2
-0
CommonPlugin.kt
ydl-flutter-base/src/main/java/com/ydl/ydl_flutter/flutter/base/plugin/CommonPlugin.kt
+65
-0
No files found.
app/src/main/java/com/ydl/component/MainActivity.kt
View file @
ab5563cf
...
...
@@ -27,7 +27,7 @@ import com.yidianling.common.tools.ToastUtil
import
com.yidianling.consultant.ExpertSearchActivity.Companion.HOT_SEARCH_DOCTOR_NAME
import
com.yidianling.consultant.api.IConsultantService
import
com.yidianling.fm.api.service.IFMService
import
com.yidianling.tests.home.TestHomeActivity
import
com.yidianling.tests.home.
New
TestHomeActivity
import
kotlinx.android.synthetic.main.activity_main.*
/**
...
...
@@ -91,7 +91,7 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
startActivity
(
Intent
(
this
,
MusicPlayActivity
::
class
.
java
))
}
bt_to_tests
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
TestHomeActivity
::
class
.
java
))
startActivity
(
Intent
(
this
,
New
TestHomeActivity
::
class
.
java
))
}
bt_to_confide
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
ConfideHomeActivity
::
class
.
java
))
...
...
m-tests/build.gradle
View file @
ab5563cf
...
...
@@ -75,6 +75,7 @@ dependencies {
//开发时使用
api
project
(
':ydl-webview'
)
api
project
(
':ydl-platform'
)
api
project
(
":ydl-flutter-base"
)
implementation
modularPublication
(
'com.ydl:m-test-api'
)
implementation
modularPublication
(
'com.ydl:m-user-api'
)
}
else
{
...
...
@@ -82,6 +83,9 @@ dependencies {
compileOnly
rootProject
.
ext
.
dependencies
[
"ydl-m-tests-api"
]
compileOnly
rootProject
.
ext
.
dependencies
[
"ydl-m-user-api"
]
api
rootProject
.
ext
.
dependencies
[
"ydl-webview"
]
api
(
rootProject
.
ext
.
dependencies
[
"ydl-flutter-base"
]){
transitive
=
true
}
api
(
rootProject
.
ext
.
dependencies
[
"ydl-platform"
])
{
transitive
=
true
}
...
...
m-tests/src/main/AndroidManifest.xml
View file @
ab5563cf
...
...
@@ -20,7 +20,7 @@
/>
<!--测评首页-->
<activity
android:name=
".home.TestHomeActivity"
android:name=
".home.
New
TestHomeActivity"
android:screenOrientation=
"portrait"
android:theme=
"@style/tests_NoTitleTheme"
/>
...
...
m-tests/src/main/java/com/yidianling/tests/home/NewTestHomeActivity.kt
0 → 100644
View file @
ab5563cf
package
com.yidianling.tests.home
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.ydl.ydl_flutter.flutter.base.BaseFlutterActivity
import
com.yidianling.tests.home.plugin.TestPlugin
import
org.json.JSONObject
/**
* flutter版测评首页
* Created by xj on 2019/11/19.
*/
@Route
(
path
=
"/ceshi/home"
)
class
NewTestHomeActivity
:
BaseFlutterActivity
()
{
override
fun
initialRoute
():
String
{
return
"native/test/home"
}
override
fun
initChannelPlugin
(
jsonObject
:
JSONObject
)
{
TestPlugin
.
Companion
.
rigister
(
this
)
}
}
\ No newline at end of file
m-tests/src/main/java/com/yidianling/tests/home/TestHomeActivity.kt
View file @
ab5563cf
...
...
@@ -39,7 +39,7 @@ import org.json.JSONObject
* @Company 壹点灵
* @date 2018/7/26
*/
@Route
(
path
=
"/ceshi/home"
)
//
@Route(path = "/ceshi/home")
class
TestHomeActivity
:
BaseMvpActivity
<
ITestHomeContract
.
View
,
ITestHomeContract
.
Presenter
>(),
ITestHomeContract
.
View
,
SwipeToLoadHelper
.
LoadMoreListener
,
SwipeRefreshLayout
.
OnRefreshListener
{
/**
...
...
m-tests/src/main/java/com/yidianling/tests/home/plugin/TestPlugin.kt
0 → 100644
View file @
ab5563cf
package
com.yidianling.tests.home.plugin
import
android.app.Activity
import
android.net.Uri
import
android.util.Log
import
com.ydl.webview.H5Params
import
com.ydl.webview.NewH5Activity
import
com.ydl.ydl_router.manager.YDLRouterManager
import
com.ydl.ydl_router.manager.YDLRouterParams
import
com.ydl.ydlcommon.base.config.HttpConfig
import
com.ydl.ydlcommon.router.IYDLRouterConstant
import
com.yidianling.tests.list.view.TestCategoryListActivity
import
com.yidianling.tests.router.TestsIn
import
com.yidianling.tests.search.TestSearchActivity
import
io.flutter.app.FlutterActivity
import
io.flutter.plugin.common.MethodCall
import
io.flutter.plugin.common.MethodChannel
/**
* Created by xj on 2019/11/19.
*/
class
TestPlugin
:
MethodChannel
.
MethodCallHandler
{
private
var
mActivity
:
FlutterActivity
?
=
null
private
constructor
(
activity
:
FlutterActivity
)
{
mActivity
=
activity
}
companion
object
{
const
val
CHANNEL
:
String
=
"lib/test_module/channel"
const
val
GO_BACK
=
"goBack"
// 左上角返回按钮
const
val
GO_SEARCH
=
"goSearch"
// 查找测评
const
val
GO_MY_TESTS
=
"goMyTests"
// 我的测评
const
val
BANNER_CLICK
=
"bannerClick"
// Banner点击
const
val
CATEGORY_CLICK
=
"categoryClick"
// 分类点击
const
val
ADVERT_CLICK
=
"advertClick"
// 实时测评点击
const
val
TEST_LIST_ITEM_CLICK
=
"testListItemClick"
// 测评列表点击
const
val
LOOK_ALL_TEST
=
"lookAllTest"
// 查看全部测评
fun
rigister
(
activity
:
FlutterActivity
)
{
MethodChannel
(
activity
.
flutterView
,
CHANNEL
).
setMethodCallHandler
(
TestPlugin
(
activity
))
}
}
override
fun
onMethodCall
(
methodCall
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
when
(
methodCall
.
method
)
{
GO_BACK
->
{
mActivity
?.
finish
()
}
GO_SEARCH
->
{
mActivity
?.
let
{
TestSearchActivity
.
start
(
mActivity
!!
)
}
}
GO_MY_TESTS
->
{
if
(!
TestsIn
.
isLogin
())
{
//如果未登录 走登录逻辑
mActivity
?.
startActivity
(
TestsIn
.
loginWayIntent
(
mActivity
!!
))
return
}
val
testParam
=
H5Params
(
HttpConfig
.
MH5_URL
+
"ceshi/my-test"
,
"测试记录"
)
mActivity
?.
let
{
NewH5Activity
.
start
(
mActivity
,
testParam
)
}
}
BANNER_CLICK
->
{
var
linkUrl
:
String
?
=
methodCall
.
argument
<
String
>(
"linkUrl"
)
linkUrl
?.
let
{
link
(
linkUrl
)
}
}
CATEGORY_CLICK
->
{
mActivity
?.
let
{
var
tabName
:
String
=
methodCall
.
argument
<
String
>(
"tabName"
)
?:
""
TestCategoryListActivity
.
start
(
mActivity
!!
,
tabName
)
}
}
ADVERT_CLICK
->
{
var
linkUrl
:
String
?
=
methodCall
.
argument
<
String
>(
"linkUrl"
)
linkUrl
?.
let
{
link
(
linkUrl
)
}
}
TEST_LIST_ITEM_CLICK
->
{
var
linkUrl
:
String
?
=
methodCall
.
argument
<
String
>(
"linkUrl"
)
linkUrl
?.
let
{
link
(
linkUrl
)
}
}
LOOK_ALL_TEST
->
{
mActivity
?.
let
{
TestCategoryListActivity
.
start
(
mActivity
!!
)
}
}
}
}
private
fun
link
(
linkUrl
:
String
?)
{
if
(
null
==
linkUrl
||
linkUrl
.
isEmpty
())
{
return
}
if
(
linkUrl
.
startsWith
(
"app"
))
{
val
uri
=
Uri
.
parse
(
linkUrl
)
if
(
"ceshi"
==
uri
.
host
)
{
val
id
=
uri
.
getQueryParameter
(
"id"
)
// YDLRouterManager.router(IYDLRouterConstant.ROUTER_TEST_DETAIL, YDLRouterParams().putExtra(IYDLRouterConstant.EXTRA_ID, id))
TestsIn
.
getTestsImpl
().
testDetailH5
(
id
)
}
}
else
if
(
linkUrl
.
startsWith
(
"http"
))
{
YDLRouterManager
.
router
(
IYDLRouterConstant
.
ROUTER_H5_H5
,
YDLRouterParams
().
putExtra
(
IYDLRouterConstant
.
EXTRA_URL
,
linkUrl
),
""
)
}
else
{
YDLRouterManager
.
router
(
linkUrl
)
}
}
}
\ No newline at end of file
m-tests/src/main/java/com/yidianling/tests/home/utils/TestHomeUtils.kt
View file @
ab5563cf
...
...
@@ -16,7 +16,6 @@ import com.ydl.ydlcommon.utils.SharedPreferencesEditor
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.tests.R
import
com.yidianling.tests.TestRetrofitApi
import
com.yidianling.tests.home.TestHomeActivity
import
com.yidianling.tests.home.bean.TestHomeBodyBean
import
com.yidianling.tests.home.bean.TestHomeDataBean
import
com.yidianling.tests.home.config.ITestHomeConfig
...
...
@@ -145,11 +144,6 @@ class TestHomeUtils {
return
dataList
}
fun
jumpTestHomeActivity
(
context
:
Context
)
{
val
intent
=
Intent
(
context
,
TestHomeActivity
::
class
.
java
)
context
.
startActivity
(
intent
)
}
/**
* 返回拼接好的人气字符串
...
...
ydl-flutter-base/build.gradle
View file @
ab5563cf
...
...
@@ -34,5 +34,15 @@ dependencies {
implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation
'com.android.support:appcompat-v7:28.0.0'
if
(
rootProject
.
ext
.
dev_mode
)
{
api
project
(
':ydl-platform'
)
api
fileTree
(
dir:
'lib'
,
include:
[
'*.aar'
])
}
else
{
api
rootProject
.
ext
.
dependencies
[
"ydl-flutter"
]
api
(
rootProject
.
ext
.
dependencies
[
"ydl-platform"
])
{
transitive
=
true
}
}
}
ydl-flutter-base/lib/app-release.aar
0 → 100644
View file @
ab5563cf
File added
ydl-flutter-base/src/main/java/com/ydl/ydl_flutter/flutter/base/BaseFlutterActivity.kt
View file @
ab5563cf
...
...
@@ -6,6 +6,7 @@ import android.graphics.PixelFormat
import
android.os.Bundle
import
android.util.AttributeSet
import
android.view.WindowManager
import
com.ydl.ydl_flutter.flutter.base.plugin.CommonPlugin
import
io.flutter.app.FlutterActivity
import
io.flutter.plugins.GeneratedPluginRegistrant
import
io.flutter.view.FlutterView
...
...
@@ -49,15 +50,17 @@ abstract class BaseFlutterActivity : FlutterActivity() {
return
flutterView
}
public
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
public
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
GeneratedPluginRegistrant
.
registerWith
(
this
)
/**
* 获取统一路由传递过来的参数并初始化交互通道
*/
val
json
=
intent
.
getStringExtra
(
ROUTER_PARAMS
)
initChannelPlugin
(
JSONObject
(
json
))
val
json
=
intent
.
getStringExtra
(
ROUTER_PARAMS
)
?:
""
CommonPlugin
.
rigisterActivity
(
this
,
flutterView
)
initChannelPlugin
(
if
(
json
.
isEmpty
())
JSONObject
()
else
JSONObject
(
json
))
}
/**
...
...
ydl-flutter-base/src/main/java/com/ydl/ydl_flutter/flutter/base/BaseFlutterFragment.kt
View file @
ab5563cf
...
...
@@ -3,6 +3,7 @@ package com.ydl.ydl_flutter.flutter.base
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.ViewGroup
import
com.ydl.ydl_flutter.flutter.base.plugin.CommonPlugin
import
com.ydl.ydl_flutter.flutter.io.flutter.facade.Flutter
import
com.ydl.ydl_flutter.flutter.io.flutter.facade.FlutterFragment
import
io.flutter.view.FlutterView
...
...
@@ -20,6 +21,7 @@ abstract class BaseFlutterFragment : FlutterFragment() {
activity
!!
,
lifecycle
,
initialRoute
())
CommonPlugin
.
rigisterFragment
(
this
,
mFlutterView
!!
)
initChannelPlugin
(
mFlutterView
!!
)
return
mFlutterView
!!
}
...
...
ydl-flutter-base/src/main/java/com/ydl/ydl_flutter/flutter/base/plugin/CommonPlugin.kt
0 → 100644
View file @
ab5563cf
package
com.ydl.ydl_flutter.flutter.base.plugin
import
android.text.TextUtils
import
com.ydl.ydl_flutter.BuildConfig
import
com.ydl.ydl_flutter.flutter.base.BaseFlutterFragment
import
com.ydl.ydlcommon.base.BaseApp
import
com.ydl.ydlcommon.data.PlatformDataManager
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.yidianling.common.tools.RxDeviceTool
import
io.flutter.app.FlutterActivity
import
io.flutter.plugin.common.MethodCall
import
io.flutter.plugin.common.MethodChannel
import
io.flutter.view.FlutterView
/**
* Created by xj on 2019/11/19.
*/
class
CommonPlugin
:
MethodChannel
.
MethodCallHandler
{
private
var
mActivity
:
FlutterActivity
?
=
null
private
var
mFragment
:
BaseFlutterFragment
?
=
null
private
constructor
(
activity
:
FlutterActivity
)
{
mActivity
=
activity
}
private
constructor
(
fragment
:
BaseFlutterFragment
)
{
mFragment
=
fragment
}
companion
object
{
const
val
CHANNEL
:
String
=
"lib/common/channel"
const
val
GETPUBLICPARAMAS
:
String
=
"getPublicParamas"
fun
rigisterActivity
(
activity
:
FlutterActivity
,
flutterView
:
FlutterView
)
{
MethodChannel
(
flutterView
,
CHANNEL
).
setMethodCallHandler
(
CommonPlugin
(
activity
))
}
fun
rigisterFragment
(
fragment
:
BaseFlutterFragment
,
flutterView
:
FlutterView
)
{
MethodChannel
(
flutterView
,
CHANNEL
).
setMethodCallHandler
(
CommonPlugin
(
fragment
))
}
}
override
fun
onMethodCall
(
methodCall
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
when
(
methodCall
.
method
)
{
GETPUBLICPARAMAS
->
{
val
loginBean
=
ModularServiceManager
.
getPlatformUserService
()
?.
getUser
()
val
mMap
=
mutableMapOf
<
String
,
Any
>()
var
uid
=
loginBean
?.
userId
?:
""
mMap
[
"isDevelopment"
]
=
BuildConfig
.
DEBUG
mMap
[
"uid"
]
=
if
(
TextUtils
.
isEmpty
(
uid
))
"0"
else
uid
mMap
[
"accessToken"
]
=
loginBean
?.
token
?:
""
?:
""
mMap
[
"isFromApp"
]
=
"1"
mMap
[
"ffrom"
]
=
PlatformDataManager
.
getRam
().
getChannelName
()
mMap
[
"version"
]
=
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
())
mMap
[
"osBuild"
]
=
RxDeviceTool
.
getBuildMANUFACTURER
()
+
","
+
RxDeviceTool
.
getBuildBrandModel
()
+
","
+
RxDeviceTool
.
getOsBuileVersion
()
+
","
+
RxDeviceTool
.
getAppVersionName
(
BaseApp
.
getApp
()
)
result
.
success
(
mMap
)
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment