Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
ddb228a1
authored
Sep 11, 2024
by
han xu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
web
parent
91bf5283
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
319 additions
and
8 deletions
baseSDK/src/main/res/layout/activity_webview.xml
orderCenter/src/main/java/com/dayu/order/api/protocol/Order.java
orderCenter/src/main/java/com/dayu/order/presenter/orderdoing/OrderDoingPresenter.java
orderCenter/src/main/java/com/dayu/order/ui/activity/RepairOrderWebViewActivity.java
orderCenter/src/main/java/com/dayu/order/ui/fragment/OrderSecondTabFragment.java
orderCenter/src/main/release/AndroidManifest.xml
orderCenter/src/main/res/values/strings.xml
userCenter/src/main/java/com/dayu/usercenter/ui/activity/CommeWebViewActivity.java
baseSDK/src/main/res/layout/activity_webview.xml
View file @
ddb228a1
...
...
@@ -33,5 +33,11 @@
<ImageView
style=
"@style/card_line"
/>
<Button
android:id=
"@+id/test_btn"
android:layout_width=
"100dp"
android:layout_height=
"100dp"
android:text=
"button"
/>
</LinearLayout>
</layout>
\ No newline at end of file
orderCenter/src/main/java/com/dayu/order/api/protocol/Order.java
View file @
ddb228a1
...
...
@@ -90,6 +90,18 @@ public class Order implements Serializable{
this
.
finishedDays
=
finishedDays
;
}
//订单详情url
private
String
extOrderDetailUrl
;
public
String
getExtOrderDetailUrl
()
{
return
extOrderDetailUrl
;
}
public
void
setExtOrderDetailUrl
(
String
extOrderDetailUrl
)
{
this
.
extOrderDetailUrl
=
extOrderDetailUrl
;
}
public
int
getSource
()
{
return
source
;
}
...
...
orderCenter/src/main/java/com/dayu/order/presenter/orderdoing/OrderDoingPresenter.java
View file @
ddb228a1
...
...
@@ -33,12 +33,14 @@ import com.dayu.order.ui.activity.MultiProcessOrderActivity;
import
com.dayu.order.ui.activity.MultipleProcessActivity
;
import
com.dayu.order.ui.activity.OrderDetailsActivity
;
import
com.dayu.order.ui.activity.OrderDetailsClockActivity
;
import
com.dayu.order.ui.activity.RepairOrderWebViewActivity
;
import
com.dayu.order.ui.activity.SopWebViewActivity
;
import
com.dayu.order.ui.fragment.OrderDoneFragment
;
import
com.dayu.order.ui.fragment.OrderSecondTabFragment
;
import
com.dayu.order.ui.fragment.OrderThreeTabFragment
;
import
com.dayu.provider.event.RefreshServe
;
import
com.dayu.provider.event.RefreshTab
;
import
com.dayu.usercenter.ui.activity.CommeWebViewActivity
;
import
com.dayu.utils.AppManager
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.UIUtils
;
...
...
@@ -286,6 +288,16 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
}
public
void
dumpDetailRepair
(
String
extOrderDetailUrl
)
{
Intent
intent
=
new
Intent
(
mActivity
,
RepairOrderWebViewActivity
.
class
);
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
Constants
.
URL
,
extOrderDetailUrl
);
bundle
.
putString
(
Constants
.
TITLE
,
"处理工单"
);
intent
.
putExtra
(
Constants
.
BUNDLE
,
bundle
);
mView
.
startActivity
(
RepairOrderWebViewActivity
.
class
,
bundle
);
}
private
void
checkCachedLicense
(
Order
order
)
{
}
...
...
orderCenter/src/main/java/com/dayu/order/ui/activity/RepairOrderWebViewActivity.java
0 → 100644
View file @
ddb228a1
package
com
.
dayu
.
order
.
ui
.
activity
;
import
android.Manifest
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.location.Address
;
import
android.net.Uri
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.View
;
import
android.webkit.JavascriptInterface
;
import
android.webkit.WebSettings
;
import
android.widget.Button
;
import
com.dayu.common.Constants
;
import
com.dayu.event.UserInfo
;
import
com.dayu.location.base.LocationUtils1
;
import
com.dayu.order.api.protocol.bean.SopAddress
;
import
com.dayu.usercenter.ui.activity.CommeWebViewActivity
;
import
com.dayu.utils.GlideEngine
;
import
com.dayu.utils.ImageFileCropEngine
;
import
com.dayu.utils.MPermissionUtils
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.UserManager
;
import
com.github.lzyzsd.jsbridge.BridgeWebView
;
import
com.google.gson.Gson
;
import
com.google.gson.internal.LinkedTreeMap
;
import
com.google.zxing.integration.android.IntentIntegrator
;
import
com.journeyapps.barcodescanner.CaptureActivity
;
import
com.luck.picture.lib.basic.PictureSelectionCameraModel
;
import
com.luck.picture.lib.basic.PictureSelectionModel
;
import
com.luck.picture.lib.basic.PictureSelector
;
import
com.luck.picture.lib.config.PictureConfig
;
import
com.luck.picture.lib.config.SelectMimeType
;
import
com.luck.picture.lib.config.SelectModeConfig
;
import
com.luck.picture.lib.entity.LocalMedia
;
import
java.util.HashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Objects
;
public
class
RepairOrderWebViewActivity
extends
CommeWebViewActivity
{
@Override
public
void
initView
()
{
super
.
initView
();
WebSettings
settings
=
mWebView
.
getSettings
();
String
userAgent
=
"dayuapp/"
+
settings
.
getUserAgentString
();
settings
.
setUserAgentString
(
userAgent
);
WebAppInterface
webAppInterface
=
new
WebAppInterface
(
this
);
mWebView
.
addJavascriptInterface
(
new
WebAppInterface
(
this
),
"synopsis"
);
mBind
.
testBtn
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
// webAppInterface.scriptMessage("{\"selName\":\"selectPhoto\",\"paramsDic\": {\"mode\":1, \"maxNum\":1}}");
webAppInterface
.
scriptMessage
(
"{\"selName\":\"openScaner\",\"paramsDic\": {\"mode\":1, \"maxNum\":1}}"
);
}
});
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
resultCode
==
RESULT_OK
)
{
switch
(
requestCode
)
{
case
PictureConfig
.
CHOOSE_REQUEST
:
//选择图片回调
List
<
LocalMedia
>
mSelectList
=
PictureSelector
.
obtainSelectorList
(
data
);
break
;
case
1002
:
//打开相机回调
List
<
LocalMedia
>
mSelectList1
=
PictureSelector
.
obtainSelectorList
(
data
);
break
;
case
1003
:
//二维码扫描
String
result
=
data
.
getExtras
().
getString
(
"result"
);
break
;
}
}
}
public
class
WebAppInterface
{
// Context mContext;
Activity
mActivity
;
WebAppInterface
(
Activity
a
)
{
mActivity
=
a
;
}
@JavascriptInterface
public
void
scriptMessage
(
String
message
)
{
// 处理接收到的消息
Log
.
d
(
"scriptMessage"
,
"scriptMessage: "
+
message
);
Gson
gson
=
new
Gson
();
HashMap
<
String
,
Object
>
map
=
gson
.
fromJson
(
message
,
HashMap
.
class
);
// JSON.stringify({
// selName: 'openScaner',
// paramsDic: {},
// })
String
selName
=
(
String
)
map
.
get
(
"selName"
);
switch
(
Objects
.
requireNonNull
(
selName
)){
case
"selectPhoto"
:
selectPhoto
(
selName
,
(
Object
)
map
.
get
(
"paramsDic"
));
break
;
case
"openScaner"
:
openScaner
();
break
;
case
"openCamera"
:
openCamera
();
break
;
case
"getLocation"
:
break
;
case
"ajaxRequest"
:
break
;
default
:
break
;
}
}
//选择图片
private
void
selectPhoto
(
String
selName
,
Object
data
){
String
[]
mPerArr
=
new
String
[]{
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
};
MPermissionUtils
.
requestPermissionsResult
(
mActivity
,
1
,
mPerArr
,
new
MPermissionUtils
.
OnPermissionListener
()
{
@SuppressLint
(
"CheckResult"
)
@Override
public
void
onPermissionGranted
()
{
LinkedTreeMap
<
String
,
Integer
>
param
=
(
LinkedTreeMap
<
String
,
Integer
>)
data
;
// Integer mode = param.get("mode");
// Integer maxNum = param.get("maxNum");
showPicDialog
(
1
,
1
);
}
@Override
public
void
onPermissionDenied
()
{
}
});
}
private
void
showPicDialog
(
Integer
mode
,
Integer
maxNum
){
PictureSelectionModel
selector
=
PictureSelector
.
create
(
mActivity
)
.
openGallery
(
SelectMimeType
.
ofImage
())
//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.
setImageEngine
(
GlideEngine
.
createGlideEngine
())
.
setImageSpanCount
(
4
)
.
setSelectionMode
(
mode
==
1
?
SelectModeConfig
.
SINGLE
:
SelectModeConfig
.
MULTIPLE
)
.
setMaxSelectNum
(
mode
==
1
?
1
:
maxNum
);
selector
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
);
}
//拍照
private
void
openCamera
(){
String
[]
mPerArr
=
new
String
[]{
Manifest
.
permission
.
CAMERA
};
MPermissionUtils
.
requestPermissionsResult
(
mActivity
,
1
,
mPerArr
,
new
MPermissionUtils
.
OnPermissionListener
()
{
@SuppressLint
(
"CheckResult"
)
@Override
public
void
onPermissionGranted
()
{
// Observable.timer(1000, TimeUnit.MILLISECONDS)
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(aLong -> {
// Intent intent = new Intent(PubCourseActivity.this, CameraActivity.class);
// intent.putExtra(Constants.ONLY_VIDEO, true);
// startActivityForResult(intent, Constants.CAMERA_CODE);
// });
PictureSelectionCameraModel
pictureSelectionCameraModel
=
PictureSelector
.
create
(
mActivity
)
.
openCamera
(
SelectMimeType
.
ofImage
());
pictureSelectionCameraModel
.
forResultActivity
(
1002
);
}
@Override
public
void
onPermissionDenied
()
{
}
});
}
//图片上传
//二维码扫描
private
void
openScaner
(){
String
[]
mPerArr
=
new
String
[]{
Manifest
.
permission
.
CAMERA
};
MPermissionUtils
.
requestPermissionsResult
(
mActivity
,
1
,
mPerArr
,
new
MPermissionUtils
.
OnPermissionListener
()
{
@SuppressLint
(
"CheckResult"
)
@Override
public
void
onPermissionGranted
()
{
new
IntentIntegrator
(
mActivity
).
setOrientationLocked
(
false
).
setCaptureActivity
(
CustomScannerActivity
.
class
).
initiateScan
();
// Intent startScan = new Intent(mActivity, CaptureActivity.class);
// startActivityForResult(startScan, 1003);
}
@Override
public
void
onPermissionDenied
()
{
}
});
}
private
void
getLocation
()
{
MPermissionUtils
.
getPermissionDialog
(
mActivity
,
Manifest
.
permission
.
ACCESS_COARSE_LOCATION
,
"大鱼需要你的定位权限,用于记录处理sop的当前位置"
,
new
MPermissionUtils
.
OnPermissionListener
()
{
@Override
public
void
onPermissionGranted
()
{
LocationUtils1
.
getInstance
(
mActivity
).
setAddressCallback
(
new
LocationUtils1
.
AddressCallback
()
{
@Override
public
void
onGetAddress
(
Address
address
)
{
if
(
address
==
null
)
return
;
// bean.setLatitude(address.getLatitude());
// bean.setLongitude(address.getLongitude());
}
@Override
public
void
onGetLocation
(
double
lat
,
double
lng
)
{
}
});
}
@Override
public
void
onPermissionDenied
()
{
}
});
}
private
void
callPhone
(
String
phoneNum
){
if
(
TextUtils
.
isEmpty
(
phoneNum
))
return
;
Intent
intent
=
new
Intent
(
Intent
.
ACTION_DIAL
);
Uri
data
=
Uri
.
parse
(
"tel:"
+
phoneNum
);
intent
.
setData
(
data
);
intent
.
setFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
startActivity
(
intent
);
}
}
}
orderCenter/src/main/java/com/dayu/order/ui/fragment/OrderSecondTabFragment.java
View file @
ddb228a1
...
...
@@ -61,11 +61,17 @@ public class OrderSecondTabFragment extends BaseFragment<OrderDoingPresenter, Fr
mBind
.
recyclerView
.
setOnItemClickListener
(
new
OnItemClickListener
<
Order
,
FragmentOrderdoingItemBinding
>()
{
@Override
public
void
OnItemClick
(
Order
item
,
FragmentOrderdoingItemBinding
bind
)
{
if
(
7
==
item
.
getSource
()
||
8
==
item
.
getSource
()){
mPresenter
.
dumpDetailClockSecond
(
item
.
getId
());
}
else
{
mPresenter
.
dumpDetail
(
item
.
getId
());
}
mPresenter
.
dumpDetailRepair
(
"http://dev.kf.ai/test_edianyun.html"
);
// if (item.getExtOrderDetailUrl() != null && !item.getExtOrderDetailUrl().isEmpty())
// {
// mPresenter.dumpDetailRepair(item.getExtOrderDetailUrl());
// } else if (7 == item.getSource() || 8 == item.getSource()){
// mPresenter.dumpDetailClockSecond(item.getId());
// }else{
// mPresenter.dumpDetail(item.getId());
// }
}
});
...
...
orderCenter/src/main/release/AndroidManifest.xml
View file @
ddb228a1
...
...
@@ -7,6 +7,9 @@
android:label=
"@string/app_name"
android:supportsRtl=
"true"
>
<activity
android:name=
".ui.activity.RepairOrderWebViewActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activity.TestActivity"
android:screenOrientation=
"portrait"
/>
<activity
...
...
@@ -117,4 +120,4 @@
android:screenOrientation=
"portrait"
/>
</application>
</manifest>
\ No newline at end of file
</manifest>
orderCenter/src/main/res/values/strings.xml
View file @
ddb228a1
...
...
@@ -94,4 +94,5 @@
libero vel nunc consequat, quis tincidunt nisl eleifend. Cras bibendum enim a justo luctus
vestibulum. Fusce dictum libero quis erat maximus, vitae volutpat diam dignissim.
</string>
<string
name=
"title_activity_repair_order_web_view"
>
RepairOrderWebViewActivity
</string>
</resources>
userCenter/src/main/java/com/dayu/usercenter/ui/activity/CommeWebViewActivity.java
View file @
ddb228a1
package
com
.
dayu
.
usercenter
.
ui
.
activity
;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.KeyEvent
;
import
android.view.View
;
import
android.webkit.JavascriptInterface
;
import
android.webkit.ValueCallback
;
import
android.webkit.WebChromeClient
;
import
android.webkit.WebSettings
;
...
...
@@ -48,7 +51,7 @@ public class CommeWebViewActivity extends DataBindingActivity<ActivityWebviewBin
ValueCallback
<
Uri
[]>
uploadMessageAboveL
;
int
RESULT_CODE
=
0
;
int
RESULT_CODE_FOR_Lollipop
=
1
;
p
rivate
BridgeWebView
mWebView
;
p
ublic
BridgeWebView
mWebView
;
private
String
mUrl
;
//定义支付域名(替换成公司申请H5的域名即可)
private
String
realm
=
"https://m.dayuspm.com"
;
...
...
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