Commit ed95f5ba authored by yinjiacheng's avatar yinjiacheng

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

parent d0ea3680
......@@ -66,7 +66,6 @@ class ImageService : ZapService() {
}
private val gson by lazy { Gson() }
private lateinit var resolver: ResultResolver
/**
* 当前栈顶Activity实例
......@@ -88,19 +87,21 @@ class ImageService : ZapService() {
*/
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) {
this.resolver = resolver
curTopActivity = DStackActivityManager.getInstance().topActivity
val resolveParams = params as JSONObject
when (action) {
ACTION_SELECT_PIC -> {
selectPic(gson.fromJson(resolveParams.toString(), ActionSelectImageParamsBean::class.java))
selectPic(resolver, gson.fromJson(resolveParams.toString(), ActionSelectImageParamsBean::class.java))
}
ACTION_TAKE_PIC -> {
takePic()
takePic(resolver)
}
ACTION_UPLOAD_PIC -> {
uploadPic(resolveParams.optString("id"))
uploadPic(resolver, resolveParams.optString("id"))
}
ACTION_PREVIEW_PIC -> {
// 本期不做
......@@ -128,8 +129,9 @@ class ImageService : ZapService() {
/**
* 选择图片
* @param params selectImage操作业务参数
* @param resolver 结果回传
*/
private fun selectPic(params: ActionSelectImageParamsBean) {
private fun selectPic(resolver: ResultResolver, params: ActionSelectImageParamsBean) {
PictureSelector.create(curTopActivity)
.openGallery(PictureMimeType.ofImage())
.imageEngine(GlideEngine.createGlideEngine())
......@@ -173,8 +175,9 @@ class ImageService : ZapService() {
/**
* 拍摄图片
* @param resolver 结果回传
*/
private fun takePic() {
private fun takePic(resolver: ResultResolver) {
PictureSelector.create(curTopActivity)
.openCamera(PictureMimeType.ofImage())
.imageEngine(GlideEngine.createGlideEngine())
......@@ -217,8 +220,9 @@ class ImageService : ZapService() {
/**
* 上传图片
* @param id 需要上传的图片id
* @param resolver 结果回传
*/
private fun uploadPic(id: String) {
private fun uploadPic(resolver: ResultResolver, id: String) {
var uploadPic: LocalSelectedImageBean? = null
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