修改事件上报相关埋点策略,全部移到了IMogoTanluApiProvider里面,之前的视频抓取广播禁用,采用新的IMogoTanluApiProvider里面的upload方法进行视频抓取

This commit is contained in:
tongchenfei
2020-08-12 15:52:14 +08:00
parent 294440bd5d
commit df35571cff
11 changed files with 313 additions and 249 deletions

View File

@@ -11,7 +11,6 @@ import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.analytics.AnalyticsUtils;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
@@ -33,15 +32,14 @@ import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.share.IMogoShareManager;
import com.mogo.service.tanlu.IMogoTanluProvider;
import com.mogo.service.tanlu.TanluUploadParams;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_SEEK_HELP;
import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_SHOW_DIALOG;
import static com.mogo.module.share.bean.StepAfterAuthKt.STEP_AFTER_AUTH_TYPE_UPLOAD;
@@ -50,15 +48,6 @@ import static com.mogo.module.share.constant.ShareConstants.CMD_ROAD_CLOSURE;
import static com.mogo.module.share.constant.ShareConstants.CMD_TRAFFIC_CHECK;
import static com.mogo.module.share.constant.ShareConstants.CMD_UPLOAD_ACCIDENT;
import static com.mogo.module.share.constant.ShareConstants.CMD_UPLOAD_BLOCK;
import static com.mogo.module.share.constant.ShareConstants.TYPE_ACCIDENT;
import static com.mogo.module.share.constant.ShareConstants.TYPE_BLOCK;
import static com.mogo.module.share.constant.ShareConstants.TYPE_CLOSURE;
import static com.mogo.module.share.constant.ShareConstants.TYPE_DENSE_FOG;
import static com.mogo.module.share.constant.ShareConstants.TYPE_REAL_TIME_TRAFFIC;
import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_CONSTRUCTION;
import static com.mogo.module.share.constant.ShareConstants.TYPE_ROAD_ICY;
import static com.mogo.module.share.constant.ShareConstants.TYPE_STAGNANT_WATER;
import static com.mogo.module.share.constant.ShareConstants.TYPE_TRAFFIC_CHECK;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_CANCEL_SHARE;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ACCIDENT;
import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_DENSE_FOG;
@@ -82,6 +71,15 @@ import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_NO_REPLY_S
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_ROAD_CONDITION;
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_TROUBLE_HELP;
import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_SHARE_DIALOG_CLOSE;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_ACCIDENT;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_BLOCK;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_CLOSURE;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_DENSE_FOG;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_REAL_TIME_TRAFFIC;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_ROAD_CONSTRUCTION;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_ROAD_ICY;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_STAGNANT_WATER;
import static com.mogo.service.tanlu.IMogoTanluProvider.TYPE_TRAFFIC_CHECK;
/**
* 分享框的逻辑都放到这里吧
@@ -153,7 +151,9 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
realShowDialog();
break;
case STEP_AFTER_AUTH_TYPE_UPLOAD:
UploadHelper.INSTANCE.upload(mContext, stepAfterAuth.getUploadType(),stepAfterAuth.getForcePlayVoice());
TanluUploadParams params =
new TanluUploadParams(stepAfterAuth.getUploadType(), IMogoTanluProvider.UPLOAD_FROM_VOICE);
UploadHelper.INSTANCE.upload(mContext, params,stepAfterAuth.getForcePlayVoice());
dismissShareDialog();
break;
case STEP_AFTER_AUTH_TYPE_SEEK_HELP:
@@ -245,41 +245,36 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK,false);
uploadFromVoice(TYPE_BLOCK);
}
trackVoiceWithType(TYPE_BLOCK);
break;
case UNWAKE_UPLOAD_TRAFFIC_CHECK:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK,false);
uploadFromVoice(TYPE_TRAFFIC_CHECK);
}
trackVoiceWithType(TYPE_TRAFFIC_CHECK);
break;
case UNWAKE_UPLOAD_ROAD_CLOSURE:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE,false);
uploadFromVoice(TYPE_CLOSURE);
}
trackVoiceWithType(TYPE_CLOSURE);
break;
case UNWAKE_UPLOAD_ACCIDENT:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT,false);
uploadFromVoice(TYPE_ACCIDENT);
}
trackVoiceWithType(TYPE_ACCIDENT);
break;
case UNWAKE_UPLOAD_REAL_TIME_TRAFFIC:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC,false);
uploadFromVoice(TYPE_REAL_TIME_TRAFFIC);
}
trackVoiceWithType(TYPE_REAL_TIME_TRAFFIC);
break;
case UNWAKE_UPLOAD_SEEK_HELP:
if (needAuth()) {
@@ -293,46 +288,34 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER,false);
uploadFromVoice(TYPE_STAGNANT_WATER);
}
trackVoiceWithType(TYPE_STAGNANT_WATER);
break;
case UNWAKE_UPLOAD_ROAD_ICY:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY,false);
uploadFromVoice(TYPE_ROAD_ICY);
}
trackVoiceWithType(TYPE_ROAD_ICY);
break;
case UNWAKE_UPLOAD_DENSE_FOG:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG,false);
uploadFromVoice(TYPE_DENSE_FOG);
}
trackVoiceWithType(TYPE_DENSE_FOG);
break;
case UNWAKE_UPLOAD_ROAD_CONSTRUCTION:
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION,false);
uploadFromVoice(TYPE_ROAD_CONSTRUCTION);
}
trackVoiceWithType(TYPE_ROAD_CONSTRUCTION);
break;
default:
break;
}
}
//TODO V2X语音免唤醒词信息上报埋点v2x_share_type
private void trackVoiceWithType(String type){
Map<String, Object> properties = new HashMap<>();
properties.put("type",type);
properties.put("from","1");
AnalyticsUtils.track("v2x_share_type",properties);
}
@Override
public void onIntentReceived(String intentStr, Intent intent) {
// 此处只接受处理语音相关广播
@@ -357,64 +340,57 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_STAGNANT_WATER,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_STAGNANT_WATER,false);
uploadFromVoice(TYPE_STAGNANT_WATER);
dismissShareDialog();
}
trackVoiceWithType(TYPE_STAGNANT_WATER);
break;
case "积冰":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_ICY,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_ICY,false);
uploadFromVoice(TYPE_ROAD_ICY);
dismissShareDialog();
}
trackVoiceWithType(TYPE_ROAD_ICY);
break;
case "":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_DENSE_FOG,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_DENSE_FOG,false);
uploadFromVoice(TYPE_DENSE_FOG);
dismissShareDialog();
}
trackVoiceWithType(TYPE_DENSE_FOG);
break;
case "交通事故":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ACCIDENT,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ACCIDENT,false);
uploadFromVoice(TYPE_ACCIDENT);
dismissShareDialog();
}
trackVoiceWithType(TYPE_ACCIDENT);
break;
case "施工":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_ROAD_CONSTRUCTION,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_ROAD_CONSTRUCTION,false);
uploadFromVoice(TYPE_ROAD_CONSTRUCTION);
dismissShareDialog();
}
trackVoiceWithType(TYPE_ROAD_CONSTRUCTION);
break;
case "封路":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_CLOSURE,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_CLOSURE,false);
uploadFromVoice(TYPE_CLOSURE);
dismissShareDialog();
}
trackVoiceWithType(TYPE_CLOSURE);
break;
case "交通检查":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_TRAFFIC_CHECK,false);
} else {
UploadHelper.INSTANCE.upload(mContext, TYPE_TRAFFIC_CHECK,false);
uploadFromVoice(TYPE_TRAFFIC_CHECK);
dismissShareDialog();
}
trackVoiceWithType(TYPE_TRAFFIC_CHECK);
break;
default:
break;
@@ -429,20 +405,18 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_REAL_TIME_TRAFFIC,false);
} else {
Logger.d(TAG, "分享框准备触发上报实时路况");
UploadHelper.INSTANCE.upload(mContext, TYPE_REAL_TIME_TRAFFIC,false);
uploadFromVoice(TYPE_REAL_TIME_TRAFFIC);
dismissShareDialog();
}
trackVoiceWithType(TYPE_REAL_TIME_TRAFFIC);
break;
case "拥堵":
if (needAuth()) {
goAuth(STEP_AFTER_AUTH_TYPE_UPLOAD, TYPE_BLOCK,false);
} else {
Logger.d(TAG, "分享框准备触发上报拥堵");
UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK,false);
uploadFromVoice(TYPE_BLOCK);
dismissShareDialog();
}
trackVoiceWithType(TYPE_BLOCK);
break;
default:
break;
@@ -455,7 +429,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
break;
case UNWAKE_UPLOAD_ROAD_CONDITION:
Logger.d(TAG, "免唤醒准备触发上报拥堵");
UploadHelper.INSTANCE.upload(mContext, TYPE_BLOCK,false);
uploadFromVoice(TYPE_BLOCK);
dismissShareDialog();
break;
default:
@@ -466,6 +440,12 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo
}
}
private void uploadFromVoice(String eventType) {
TanluUploadParams params = new TanluUploadParams(eventType,
IMogoTanluProvider.UPLOAD_FROM_VOICE);
UploadHelper.INSTANCE.upload(mContext, params,false);
}
private void seekHelp() {
Intent seekHelp = new Intent(mContext, VoiceCmdService.class);
seekHelp.putExtra(ShareConstants.VOICE_CMD_SERVICE_EVENT_KEY,

View File

@@ -82,15 +82,4 @@ public class ShareConstants {
*/
public static final String VOICE_CMD_PUB_ROAD_CONDITION = "com.zhidao.pathfinder.report" +
".roadCondition";
public static final String TYPE_BLOCK = "10007";
public static final String TYPE_TRAFFIC_CHECK = "10002";
public static final String TYPE_CLOSURE = "10003";
public static final String TYPE_ACCIDENT = "10013";
public static final String TYPE_REAL_TIME_TRAFFIC = "10015";
public static final String TYPE_SEEK_HELP = "6";
public static final String TYPE_STAGNANT_WATER = "10008";
public static final String TYPE_ROAD_ICY = "10011";
public static final String TYPE_DENSE_FOG = "10010";
public static final String TYPE_ROAD_CONSTRUCTION = "10006";
}

View File

@@ -8,7 +8,6 @@ import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.module.common.dialog.BaseFloatDialog;
import com.mogo.module.share.R;
import com.mogo.module.share.constant.ShareConstants;
import com.mogo.module.share.manager.ISeekHelpListener;
import com.mogo.module.share.manager.SeekHelpManager;
import com.mogo.module.share.manager.UploadHelper;
@@ -16,11 +15,10 @@ import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.tanlu.IMogoTanluProvider;
import com.mogo.service.tanlu.TanluUploadParams;
import com.mogo.utils.logger.Logger;
import java.util.HashMap;
import java.util.Map;
/**
* @author lixiaopeng
@@ -121,21 +119,17 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL
if (id == R.id.tvBlock) {
//拥堵
Logger.d(TAG,"点击拥堵");
traceTanluData("1");
sendShareReceiver(ShareConstants.TYPE_BLOCK);
trackWithType(ShareConstants.TYPE_BLOCK);
sendShareReceiver(IMogoTanluProvider.TYPE_BLOCK);
dismiss();
} else if (id == R.id.tvTrafficCheck) {
//交通检查
Logger.d(TAG,"点击交通检查");
sendShareReceiver(ShareConstants.TYPE_TRAFFIC_CHECK);
trackWithType(ShareConstants.TYPE_TRAFFIC_CHECK);
sendShareReceiver(IMogoTanluProvider.TYPE_TRAFFIC_CHECK);
dismiss();
} else if (id == R.id.tvClosure) {
//封路
Logger.d(TAG,"点击封路");
sendShareReceiver(ShareConstants.TYPE_CLOSURE);
trackWithType(ShareConstants.TYPE_CLOSURE);
sendShareReceiver(IMogoTanluProvider.TYPE_CLOSURE);
dismiss();
} else if (id == R.id.tvSeekHelp) {
// 故障求助
@@ -145,48 +139,35 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL
} else if (id == R.id.tvAccident) {
// 事故
Logger.d(TAG,"点击事故");
sendShareReceiver(ShareConstants.TYPE_ACCIDENT);
trackWithType(ShareConstants.TYPE_ACCIDENT);
sendShareReceiver(IMogoTanluProvider.TYPE_ACCIDENT);
dismiss();
} else if (id == R.id.tvConstruction) {
// 道路施工
Logger.d(TAG,"点击道路施工");
sendShareReceiver(ShareConstants.TYPE_ROAD_CONSTRUCTION);
trackWithType(ShareConstants.TYPE_ROAD_CONSTRUCTION);
sendShareReceiver(IMogoTanluProvider.TYPE_ROAD_CONSTRUCTION);
dismiss();
} else if (id == R.id.tvRealTimeTraffic) {
// 实时路况
Logger.d(TAG,"点击实时路况");
sendShareReceiver(ShareConstants.TYPE_REAL_TIME_TRAFFIC);
trackWithType(ShareConstants.TYPE_REAL_TIME_TRAFFIC);
sendShareReceiver(IMogoTanluProvider.TYPE_REAL_TIME_TRAFFIC);
dismiss();
} else if (id == R.id.tvStagnantWater) {
// 道路积水
Logger.d(TAG,"点击道路积水");
sendShareReceiver(ShareConstants.TYPE_STAGNANT_WATER);
trackWithType(ShareConstants.TYPE_STAGNANT_WATER);
sendShareReceiver(IMogoTanluProvider.TYPE_STAGNANT_WATER);
dismiss();
} else if (id == R.id.tvRoadIcy) {
// 道路结冰
Logger.d(TAG,"点击道路结冰");
sendShareReceiver(ShareConstants.TYPE_ROAD_ICY);
trackWithType(ShareConstants.TYPE_ROAD_ICY);
sendShareReceiver(IMogoTanluProvider.TYPE_ROAD_ICY);
dismiss();
} else if (id == R.id.tvDenseFog) {
// 浓雾
Logger.d(TAG,"点击浓雾");
sendShareReceiver(ShareConstants.TYPE_DENSE_FOG);
trackWithType(ShareConstants.TYPE_DENSE_FOG);
sendShareReceiver(IMogoTanluProvider.TYPE_DENSE_FOG);
dismiss();
}
}
//TODO 手动信息上报埋点
private void trackWithType(String type){
Map<String, Object> properties = new HashMap<>();
properties.put("type",type);
properties.put("from","2");
mAnalytics.track(ShareConstants.LAUNCHER_SHARE_TYPE, properties);
}
private ISeekHelpListener seekListener = new ISeekHelpListener() {
@Override
@@ -208,68 +189,8 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL
* 发送广播 1拥堵2交通检查3封路
*/
private void sendShareReceiver(String type) {
UploadHelper.INSTANCE.upload(mContext, type,true);
TanluUploadParams params = new TanluUploadParams(type, IMogoTanluProvider.UPLOAD_FROM_USER);
UploadHelper.INSTANCE.upload(mContext, params,true);
}
/**
* type=1 路况
* <p>
* type=2 油价
* <p>
* type=3 交通检查
* <p>
* type=4 封路
*
* @param type
*/
private void traceTanluData(String type) {
Map<String, Object> properties = new HashMap<>();
properties.put("type", type);
mAnalytics.track(ShareConstants.CARNET_USER_UPLOAD, properties);
}
// public void show(){
// Logger.d(TAG,"使用windowManager实现");
// if (!isShown) {
// windowManager = (WindowManager) mContext.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
// WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
// } else {
// layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
// }
// layoutParams.format = PixelFormat.TRANSLUCENT;
// layoutParams.gravity = Gravity.START | Gravity.TOP;
//// mWindowLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
// // FLAG_LAYOUT_IN_SCREEN将window放置在整个屏幕之内,无视其他的装饰(比如状态栏) FLAG_NOT_TOUCH_MODAL不阻塞事件传递到后面的窗口
// layoutParams.flags = WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
// if (CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X) {
// layoutParams.width = 1920;
// layoutParams.height = 1080;
// }else {
// layoutParams.width = WindowUtils.getScreenWidth(mContext);
// layoutParams.height = WindowUtils.getScreenHeight(mContext);
// }
// Logger.d("ShareDialog", "width: " + layoutParams.width + " height: " + layoutParams.height);
// //后面变暗区域透明...
// layoutParams.dimAmount = 0;
// layoutParams.x = 0;
// layoutParams.y = 0;
// initView();
// initListener();
// windowManager.addView(body, layoutParams);
// isShown = true;
// }
// }
// public void dismiss(){
// if (isShown && windowManager != null && body != null) {
// windowManager.removeViewImmediate(body);
// windowManager = null;
// isShown = false;
// }
// }
}

View File

@@ -6,6 +6,7 @@ import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.voice.AIAssist
import com.mogo.module.share.ShareControl
import com.mogo.module.share.dialog.LaucherShareDialog
import com.mogo.service.tanlu.TanluUploadParams
import com.mogo.utils.TipToast
import com.mogo.utils.logger.Logger
@@ -13,7 +14,7 @@ import com.mogo.utils.logger.Logger
* 上报工具类
*/
object UploadHelper {
fun upload(context:Context, type: String,forcePlayVoice:Boolean = false) {
fun upload(context:Context, type: TanluUploadParams,forcePlayVoice:Boolean = false) {
if(ServiceApisManager.serviceApis.statusManagerApi.isUploading){
Logger.d("UploadHelper", "正在上报===")
TipToast.tip("正在上报,请稍后重试")