Commit ed95f5ba authored by yinjiacheng's avatar yinjiacheng

fix 图片服务 图片上传结果回传的XBrid-seq错乱

parent d0ea3680
...@@ -66,7 +66,6 @@ class ImageService : ZapService() { ...@@ -66,7 +66,6 @@ class ImageService : ZapService() {
} }
private val gson by lazy { Gson() } private val gson by lazy { Gson() }
private lateinit var resolver: ResultResolver
/** /**
* 当前栈顶Activity实例 * 当前栈顶Activity实例
...@@ -88,19 +87,21 @@ class ImageService : ZapService() { ...@@ -88,19 +87,21 @@ class ImageService : ZapService() {
*/ */
private val picOriginalPath by lazy { YdBaseApplication.context.externalCacheDir?.absolutePath + "/picture_selector_original/" } private val picOriginalPath by lazy { YdBaseApplication.context.externalCacheDir?.absolutePath + "/picture_selector_original/" }
/**
* @param resolver 此参数建议作为具体能力的方法入参 避免使用全局变量(异步回传H5结果时seq顺序错乱)
*/
override fun onAction(path: String, action: String, params: Any, options: Any, resolver: ResultResolver) { override fun onAction(path: String, action: String, params: Any, options: Any, resolver: ResultResolver) {
this.resolver = resolver
curTopActivity = DStackActivityManager.getInstance().topActivity curTopActivity = DStackActivityManager.getInstance().topActivity
val resolveParams = params as JSONObject val resolveParams = params as JSONObject
when (action) { when (action) {
ACTION_SELECT_PIC -> { ACTION_SELECT_PIC -> {
selectPic(gson.fromJson(resolveParams.toString(), ActionSelectImageParamsBean::class.java)) selectPic(resolver, gson.fromJson(resolveParams.toString(), ActionSelectImageParamsBean::class.java))
} }
ACTION_TAKE_PIC -> { ACTION_TAKE_PIC -> {
takePic() takePic(resolver)
} }
ACTION_UPLOAD_PIC -> { ACTION_UPLOAD_PIC -> {
uploadPic(resolveParams.optString("id")) uploadPic(resolver, resolveParams.optString("id"))
} }
ACTION_PREVIEW_PIC -> { ACTION_PREVIEW_PIC -> {
// 本期不做 // 本期不做
...@@ -128,8 +129,9 @@ class ImageService : ZapService() { ...@@ -128,8 +129,9 @@ class ImageService : ZapService() {
/** /**
* 选择图片 * 选择图片
* @param params selectImage操作业务参数 * @param params selectImage操作业务参数
* @param resolver 结果回传
*/ */
private fun selectPic(params: ActionSelectImageParamsBean) { private fun selectPic(resolver: ResultResolver, params: ActionSelectImageParamsBean) {
PictureSelector.create(curTopActivity) PictureSelector.create(curTopActivity)
.openGallery(PictureMimeType.ofImage()) .openGallery(PictureMimeType.ofImage())
.imageEngine(GlideEngine.createGlideEngine()) .imageEngine(GlideEngine.createGlideEngine())
...@@ -173,8 +175,9 @@ class ImageService : ZapService() { ...@@ -173,8 +175,9 @@ class ImageService : ZapService() {
/** /**
* 拍摄图片 * 拍摄图片
* @param resolver 结果回传
*/ */
private fun takePic() { private fun takePic(resolver: ResultResolver) {
PictureSelector.create(curTopActivity) PictureSelector.create(curTopActivity)
.openCamera(PictureMimeType.ofImage()) .openCamera(PictureMimeType.ofImage())
.imageEngine(GlideEngine.createGlideEngine()) .imageEngine(GlideEngine.createGlideEngine())
...@@ -217,8 +220,9 @@ class ImageService : ZapService() { ...@@ -217,8 +220,9 @@ class ImageService : ZapService() {
/** /**
* 上传图片 * 上传图片
* @param id 需要上传的图片id * @param id 需要上传的图片id
* @param resolver 结果回传
*/ */
private fun uploadPic(id: String) { private fun uploadPic(resolver: ResultResolver, id: String) {
var uploadPic: LocalSelectedImageBean? = null var uploadPic: LocalSelectedImageBean? = null
localSelectedImages.forEach { localSelectedImages.forEach {
// 遍历寻找指定图片 // 遍历寻找指定图片
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment