From d0ae3c49d4a8c118ad9ead6841993dec9b999dfd Mon Sep 17 00:00:00 2001
From: hch <16607480311@163.com>
Date: Wed, 25 Oct 2023 17:43:56 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=88=91=E7=9A=84=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=EF=BC=8C=E8=8F=9C=E5=8D=95=E5=85=A8=E9=83=A8=E6=94=B9=E4=B8=BA?=
=?UTF-8?q?webView=E8=B7=B3=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
OneToOne/src/main/AndroidManifest.xml | 6 +
.../activity/fragments/MyFragment.java | 12 +-
.../activity/setting/WebViewActivity.java | 443 ++++++++++++++++++
.../src/main/res/layout/activity_webview.xml | 83 +++-
4 files changed, 520 insertions(+), 24 deletions(-)
create mode 100644 OneToOne/src/main/java/com/shayu/onetoone/activity/setting/WebViewActivity.java
diff --git a/OneToOne/src/main/AndroidManifest.xml b/OneToOne/src/main/AndroidManifest.xml
index 84e2ac6ad..cb37dc4dd 100644
--- a/OneToOne/src/main/AndroidManifest.xml
+++ b/OneToOne/src/main/AndroidManifest.xml
@@ -224,6 +224,12 @@
android:label="修改密码"
android:windowSoftInputMode="stateHidden|adjustResize" />
+
+
+
mValueCallback;
+ private ValueCallback mValueCallback2;
+ private int indexInto = 0;
+ private View v_spacing;
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.activity_webview;
+ }
+
+ @Override
+ protected void main() {
+ String url = getIntent().getStringExtra(Constants.URL);
+ L.e("H5--->" + url);
+ Bus.getOn(this);
+ LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
+ mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
+ btnEdit = (ImageView) findViewById(R.id.btn_edit);
+ ft_title = (FrameLayout) findViewById(R.id.ft_title);
+ v_spacing = (View) findViewById(R.id.v_spacing);
+ mWebView = findViewById(R.id.webView);
+
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
+ params.topMargin = DpUtil.dp2px(1);
+ // mWebView.setLayoutParams(params);
+ //mWebView.setOverScrollMode(View.OVER_SCROLL_NEVER);
+ mWebView.setWebViewClient(new WebViewClient() {
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ L.e("H5-------->" + url);
+ if (url.startsWith(Constants.COPY_PREFIX)) {
+ String content = url.substring(Constants.COPY_PREFIX.length());
+ if (!TextUtils.isEmpty(content)) {
+ copy(content);
+ }
+ } else {
+ view.loadUrl(url);
+ }
+ return true;
+ }
+
+ @Override
+ public void onPageFinished(WebView view, String url) {
+ setTitle(view.getTitle());
+ if (url.contains("for")) {
+ mWebView.loadUrl("javascript:goAnchorTab()");
+ }
+ //真实屏幕高度-(ft_title的高度+导航栏高度)
+ //屏蔽掉是因为在线客服页面 AndroidBug5497Workaround会失效
+ int height = DeviceUtils.getScreenRealHeight(mContext) - DpUtil.dp2px(72) - getCurrentNavigationBarHeight(mContext);
+ if (!navigationGestureEnabled(mContext)) {
+ view.loadUrl("javascript:window.androidObject.setHeight(" + height + ",0,false)");
+ }
+
+ }
+ });
+ mWebView.setWebChromeClient(new WebChromeClient() {
+ @Override
+ public void onProgressChanged(WebView view, int newProgress) {
+ if (mProgressBar != null) {
+ if (newProgress == 100) {
+ mProgressBar.setVisibility(View.GONE);
+ } else {
+ mProgressBar.setProgress(newProgress);
+ }
+ }
+ }
+
+ //以下是在各个Android版本中 WebView调用文件选择器的方法
+ // For Android < 3.0
+ public void openFileChooser(ValueCallback valueCallback) {
+ openImageChooserActivity(valueCallback);
+ }
+
+ // For Android >= 3.0
+ public void openFileChooser(ValueCallback valueCallback, String acceptType) {
+ openImageChooserActivity(valueCallback);
+ }
+
+ //For Android >= 4.1
+ public void openFileChooser(ValueCallback valueCallback,
+ String acceptType, String capture) {
+ openImageChooserActivity(valueCallback);
+ }
+
+ // For Android >= 5.0
+ @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
+ @Override
+ public boolean onShowFileChooser(WebView webView,
+ ValueCallback filePathCallback,
+ FileChooserParams fileChooserParams) {
+ mValueCallback2 = filePathCallback;
+ Intent intent = fileChooserParams.createIntent();
+ startActivityForResult(intent, CHOOSE_ANDROID_5);
+ return true;
+ }
+
+ });
+ mWebView.addJavascriptInterface(JavascriptInterfaceUtils.getInstance().setmContext(mContext, mWebView).setPageClose(true).setLiveZhuangBana(false), "androidObject");
+ mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
+ mWebView.getSettings().setJavaScriptEnabled(true);
+ mWebView.getSettings().setDomStorageEnabled(true);
+ String appCachePath = mContext.getCacheDir().getAbsolutePath();
+// mWebView.getSettings().setAppCachePath(appCachePath);
+ mWebView.getSettings().setAllowFileAccess(true);
+ mWebView.getSettings().setUseWideViewPort(true); // 关键点
+ mWebView.getSettings().setAllowFileAccess(true); // 允许访问文件
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
+ }
+ mWebView.loadUrl(url);
+ AndroidBug5497Workaround.assistActivity(this);
+
+
+ if (btnEdit != null) {
+ if (Constants.myIntoIndex == 2) {
+ ft_title.setVisibility(View.GONE);
+ btnEdit.setVisibility(View.GONE);
+ v_spacing.setVisibility(View.VISIBLE);
+
+ } else if (Constants.myIntoIndex == 1) {
+ v_spacing.setVisibility(View.GONE);
+ } else {
+ btnEdit.setVisibility(View.GONE);
+ ft_title.setVisibility(View.VISIBLE);
+ v_spacing.setVisibility(View.GONE);
+ }
+ }
+ }
+
+
+ private void openImageChooserActivity(ValueCallback valueCallback) {
+ mValueCallback = valueCallback;
+ Intent intent = new Intent();
+ if (Build.VERSION.SDK_INT < 19) {
+ intent.setAction(Intent.ACTION_GET_CONTENT);
+ } else {
+ intent.setAction(Intent.ACTION_PICK);
+ intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
+ }
+ intent.setType("image/*");
+ startActivityForResult(Intent.createChooser(intent, mContext.getString(R.string.choose_flie)), CHOOSE);
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ super.onActivityResult(requestCode, resultCode, intent);
+ switch (requestCode) {
+ case CHOOSE://5.0以下选择图片后的回调
+ processResult(resultCode, intent);
+ break;
+ case CHOOSE_ANDROID_5://5.0以上选择图片后的回调
+ processResultAndroid5(resultCode, intent);
+ break;
+ }
+ }
+
+ private void processResult(int resultCode, Intent intent) {
+ if (mValueCallback == null) {
+ return;
+ }
+ if (resultCode == RESULT_OK && intent != null) {
+ Uri result = intent.getData();
+ mValueCallback.onReceiveValue(result);
+ } else {
+ mValueCallback.onReceiveValue(null);
+ }
+ mValueCallback = null;
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
+ private void processResultAndroid5(int resultCode, Intent intent) {
+ if (mValueCallback2 == null) {
+ return;
+ }
+ if (resultCode == RESULT_OK && intent != null) {
+ mValueCallback2.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, intent));
+ } else {
+ mValueCallback2.onReceiveValue(null);
+ }
+ mValueCallback2 = null;
+ }
+
+ private static boolean mIsLive = false;
+
+ public static void forward(Context context, String url, boolean addArgs, boolean isLive) {
+ mIsLive = isLive;
+ if (Constants.LoginKefu) {
+ if (addArgs) {
+ url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
+ }
+ }
+ Intent intent = new Intent(context, WebViewActivity.class);
+ intent.putExtra(Constants.URL, url + "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
+ context.startActivity(intent);
+ }
+
+ public static void forward(Context context, String url, boolean isLive) {
+ forward(context, url, true, isLive);
+ }
+
+
+ @Override
+ protected void onDestroy() {
+ if (mWebView != null) {
+ ViewGroup parent = (ViewGroup) mWebView.getParent();
+ if (parent != null) {
+ parent.removeView(mWebView);
+ }
+ mWebView.destroy();
+ }
+ Constants.myIntoIndex = 0;
+ indexInto = 0;
+ Constants.LoginKefu = true;
+ Bus.getOff(this);
+ super.onDestroy();
+ }
+
+ /**
+ * 复制到剪贴板
+ */
+ private void copy(String content) {
+ ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
+ ClipData clipData = ClipData.newPlainText("text", content);
+ cm.setPrimaryClip(clipData);
+ ToastUtil.show(getString(R.string.copy_success));
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ if (Constants.myIntoIndex == 2 && mWebView != null && indexInto == 1) {
+ if (Build.VERSION.SDK_INT >= 21) {
+ mWebView.post(new Runnable() {
+ @Override
+ public void run() {
+ String method = "reload()";//拼接参数,就可以把数据传递给js
+ mWebView.evaluateJavascript(method, new ValueCallback() {
+ @Override
+ public void onReceiveValue(String value) {
+// Log.i("qcl0228", "js返回的数据" + value);
+ }
+ });
+ }
+ });
+ } else {
+ mWebView.post(new Runnable() {
+ @Override
+ public void run() {
+ mWebView.setWebViewClient(new WebViewClient() {
+ @Override
+ public void onPageFinished(WebView view, String url) {
+ super.onPageFinished(view, url);
+ mWebView.loadUrl("javascript:reload()");
+ }
+ });
+
+ }
+ });
+ }
+ indexInto = 0;
+ }
+ if (Constants.isShowPage != -1) {
+ finish();
+ }
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onJavascriptInterfaceEvent(JavascriptInterfaceEvent event) {
+ indexInto = event.getIndexInto();
+ if (event.getMethod().equals("androidInviteShare")) {
+ try {
+ Class> clz = mContext.getClassLoader().loadClass("com.yunbao.share.ui.InvitePopDialog");
+ Object invite = clz.getConstructor(Context.class).newInstance(mContext);
+ invite = invite.getClass().getMethod("setUrl", String.class).invoke(invite, event.getData());
+ assert invite != null;
+ invite.getClass().getMethod("showDialog").invoke(invite);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ } else if (TextUtils.equals(event.getMethod(), "clickLogOffAccount")) {
+ new XPopup.Builder(mContext)
+ .asCustom(new HintCustomPopup(mContext,
+ mContext.getString(R.string.delete_account1),
+ mContext.getString(R.string.delete_account2))
+ .setLiveOpenOk(mContext.getString(R.string.delete_account3))
+ .setLiveOpenCancel(mContext.getString(R.string.cancel))
+ .setCallBack(new HintCustomPopup.HintCustomCallBack() {
+ @Override
+ public void onSure() {
+ LiveNetManager.get(mContext).
+ setLogOff(new HttpCallback() {
+ @Override
+ public void onSuccess(String data) {
+ Stack allActivityStacks = AppManager.getInstance().getAllActivityStacks();
+ for (int i = 0; i < allActivityStacks.size(); i++) {
+ if (!(allActivityStacks.get(i) instanceof WebViewActivity)) {
+ allActivityStacks.get(i).finish();
+ }
+ }
+ IMLoginManager.get(mContext).logout(mContext);
+ CommonAppConfig.getInstance().clearLoginInfo();
+ mContext.finish();
+ RouteUtil.forwardLoginActivity();
+
+ }
+
+ @Override
+ public void onError(String error) {
+
+ }
+ });
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ }))
+ .show();
+ } else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
+ //看直播
+ gotoLive(event.getLiveId());
+ }
+ }
+
+ private void gotoLive(final String live_id) {
+
+ LiveHttpUtil.getLiveInfo(live_id, new com.yunbao.common.http.HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ if (code == 0 && info.length > 0) {
+ LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
+ new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
+ @Override
+ public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
+ if (liveBean == null) {
+ return;
+ }
+ if (MicStatusManager.getInstance().isMic(liveUid)) {
+ MicStatusManager.getInstance().showDownMicDialog(mContext);
+ return;
+ }
+ if (mIsLive) {
+ finish();
+ if (MicStatusManager.getInstance().isMic(liveUid)) {
+ MicStatusManager.getInstance().showDownMicDialog(mContext);
+ return;
+ }
+ EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
+ } else {
+ RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
+ }
+ finish();
+ }
+
+ @Override
+ public void onCheckError(String contextError) {
+
+ }
+ });
+ } else {
+ RouteUtil.forwardUserHome(mContext, live_id, 0);
+ }
+ }
+ });
+
+
+ }
+}
diff --git a/OneToOne/src/main/res/layout/activity_webview.xml b/OneToOne/src/main/res/layout/activity_webview.xml
index a362d0fee..fcfdb32b0 100644
--- a/OneToOne/src/main/res/layout/activity_webview.xml
+++ b/OneToOne/src/main/res/layout/activity_webview.xml
@@ -1,26 +1,73 @@
-
+ android:orientation="vertical">
-
+ android:layout_height="24dp"
+ android:visibility="gone" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+ android:layout_width="match_parent"
+ android:layout_marginBottom="15dp"
+ android:layout_height="match_parent" />
+
\ No newline at end of file
From 292dcaa9e48d2261792bdc6914dfa4b0841ebee2 Mon Sep 17 00:00:00 2001
From: hch <16607480311@163.com>
Date: Wed, 25 Oct 2023 18:25:36 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E6=88=91=E7=9A=84=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=EF=BC=8C=E8=8F=9C=E5=8D=95=E5=85=A8=E9=83=A8=E6=94=B9=E4=B8=BA?=
=?UTF-8?q?webView=E8=B7=B3=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../activity/fragments/MyFragment.java | 150 +++---
.../activity/setting/WebViewActivity.java | 443 ------------------
.../shayu/onetoone/adapter/MainMeAdapter.java | 9 +-
.../com/shayu/onetoone/bean/UserItemBean.java | 139 ++----
.../shayu/onetoone/manager/OTONetManager.java | 27 ++
.../shayu/onetoone/network/OneToOneApi.java | 16 +-
6 files changed, 180 insertions(+), 604 deletions(-)
delete mode 100644 OneToOne/src/main/java/com/shayu/onetoone/activity/setting/WebViewActivity.java
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java
index 7b013b4d1..3430c516e 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/activity/fragments/MyFragment.java
@@ -17,6 +17,8 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
+import com.shayu.onetoone.bean.UserItemBean;
+
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -31,9 +33,9 @@ import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.setting.SettingActivity;
-import com.shayu.onetoone.activity.setting.WebViewActivity;
import com.shayu.onetoone.adapter.MainMeAdapter;
import com.shayu.onetoone.bean.SlideBean;
+import com.shayu.onetoone.manager.OTONetManager;
import com.shayu.onetoone.manager.RouteManager;
import com.shayu.onetoone.utils.MainHttpConsts;
import com.shayu.onetoone.utils.MainHttpUtil;
@@ -44,7 +46,6 @@ import com.yunbao.common.Constants;
import com.yunbao.common.bean.GoogleBean;
import com.yunbao.common.bean.LevelBean;
import com.yunbao.common.bean.UserBean;
-import com.yunbao.common.bean.UserItemBean;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.CommonCallback;
@@ -95,8 +96,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener>() {
+ @Override
+ public void onSuccess(List data) {
+ initMenu(data);
+ }
+
+ @Override
+ public void onError(String error) {
+
+ }
+ });
MainHttpUtil.getBalance(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
@@ -242,6 +253,33 @@ public class MyFragment extends BaseFragment implements OnItemClickListener list) {
+ if (list != null && list.size() > 0) {
+ List listNow = new ArrayList<>();
+ for (UserItemBean userItemBean : list) {
+ if (userItemBean.getId() != 21 && userItemBean.getId() != 13) {
+ listNow.add(userItemBean);
+ } else if (userItemBean.getId() == 21) {
+ beanKefu = userItemBean;
+ } else if (userItemBean.getId() == 13) {
+ beanStetting = userItemBean;
+ }
+ }
+ if (mAdapter == null) {
+ mAdapter = new MainMeAdapter(mContext, listNow);
+ mAdapter.setOnItemClickListener(this);
+ mRecyclerView.setAdapter(mAdapter);
+ } else {
+ mAdapter.setList(listNow);
+ }
+ }
+ }
+
//获取谷歌
//谷歌支付是否打开 1是打开 0 关闭
@@ -258,16 +296,18 @@ public class MyFragment extends BaseFragment implements OnItemClickListener mCallback = new CommonCallback() {
@Override
public void callback(UserBean bean) {
- List list = CommonAppConfig.getInstance().getUserItemList();
+ /*List list = CommonAppConfig.getInstance().getUserItemList();
if (bean != null) {
showData(bean, list);
- }
+ }*/
+
+ showData(bean);
}
};
private List mBannerListNew = new ArrayList<>();
- private void showData(UserBean u, List list) {
+ private void showData(UserBean u) {
mBannerList.clear();
mBannerListNew.clear();
if (!StringUtil.isEmpty(u.getSlide())) {
@@ -372,25 +412,7 @@ public class MyFragment extends BaseFragment implements OnItemClickListener 0) {
- List listNow = new ArrayList<>();
- for (UserItemBean userItemBean : list) {
- if (userItemBean.getId() != 21 && userItemBean.getId() != 13) {
- listNow.add(userItemBean);
- } else if (userItemBean.getId() == 21) {
- beanKefu = userItemBean;
- } else if (userItemBean.getId() == 13) {
- beanStetting = userItemBean;
- }
- }
- if (mAdapter == null) {
- mAdapter = new MainMeAdapter(mContext, listNow);
- mAdapter.setOnItemClickListener(this);
- mRecyclerView.setAdapter(mAdapter);
- } else {
- mAdapter.setList(listNow);
- }
- }
+
if (beanKefu != null) {
}
if (beanStetting != null) {
@@ -411,7 +433,12 @@ public class MyFragment extends BaseFragment implements OnItemClickListener= 0 && p < mBannerList.size()) {
- SlideBean bean = mBannerList.get(p);
- if (!bean.getSlide_url().equals("")) {
- Constants.isTitle = true;
- String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
- WebViewActivity.forward(mContext, url, false, false);
- }
- }
+ banner_me.setAutoPlay(false).setPages(mBannerList, new CustomMyViewHolder()).setDelayTime(3000).setBannerStyle(BannerConfig.NOT_INDICATOR).setOnBannerClickListener(new OnBannerClickListener() {
+ @Override
+ public void onBannerClick(List datas, int p) {
+ if (mBannerList != null) {
+ if (p >= 0 && p < mBannerList.size()) {
+ SlideBean bean = mBannerList.get(p);
+ if (!bean.getSlide_url().equals("")) {
+ Constants.isTitle = true;
+ String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
+ //WebViewActivity.forward(mContext, url, false, false);
+ RouteManager.forwardWebViewActivity("", url);
}
}
- })
- .start();
+ }
+ }
+ }).start();
} else {
- banner_me.setAutoPlay(true)
- .setPages(mBannerList, new CustomMyViewHolder())
- .setDelayTime(3000)
- .setBannerStyle(BannerConfig.NOT_INDICATOR)
- .setOnBannerClickListener(new OnBannerClickListener() {
- @Override
- public void onBannerClick(List datas, int p) {
- if (mBannerList != null) {
- if (p >= 0 && p < mBannerList.size()) {
- SlideBean bean = mBannerList.get(p);
- if (!bean.getSlide_url().equals("")) {
- Constants.isTitle = true;
- String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
- RouteUtil.forwardCustomerService(url);
+ banner_me.setAutoPlay(true).setPages(mBannerList, new CustomMyViewHolder()).setDelayTime(3000).setBannerStyle(BannerConfig.NOT_INDICATOR).setOnBannerClickListener(new OnBannerClickListener() {
+ @Override
+ public void onBannerClick(List datas, int p) {
+ if (mBannerList != null) {
+ if (p >= 0 && p < mBannerList.size()) {
+ SlideBean bean = mBannerList.get(p);
+ if (!bean.getSlide_url().equals("")) {
+ Constants.isTitle = true;
+ String url = bean.getSlide_url() + "?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
+ RouteUtil.forwardCustomerService(url);
/*if(bean.getSlide_id().equals("95")){
RouteUtil.forwardCustomerService(url);
}else {
ZhuangBanActivity.forward(mContext, url, false);
}*/
- }
- }
}
}
- })
- .start();
+ }
+ }
+ }).start();
}
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/WebViewActivity.java b/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/WebViewActivity.java
deleted file mode 100644
index ac71b7912..000000000
--- a/OneToOne/src/main/java/com/shayu/onetoone/activity/setting/WebViewActivity.java
+++ /dev/null
@@ -1,443 +0,0 @@
-package com.shayu.onetoone.activity.setting;
-
-import android.app.Activity;
-import android.content.ClipData;
-import android.content.ClipboardManager;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Build;
-import android.provider.MediaStore;
-import android.text.TextUtils;
-import android.view.View;
-import android.view.ViewGroup;
-import android.webkit.ValueCallback;
-import android.webkit.WebChromeClient;
-import android.webkit.WebSettings;
-import android.webkit.WebView;
-import android.webkit.WebViewClient;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ProgressBar;
-
-import androidx.annotation.RequiresApi;
-
-import com.alibaba.fastjson.JSON;
-import com.lxj.xpopup.XPopup;
-import com.shayu.onetoone.R;
-import com.yunbao.common.CommonAppConfig;
-import com.yunbao.common.CommonAppContext;
-import com.yunbao.common.Constants;
-import com.yunbao.common.activity.AbsActivity;
-import com.yunbao.common.bean.LiveBean;
-import com.yunbao.common.event.JavascriptInterfaceEvent;
-import com.yunbao.common.event.LiveRoomChangeEvent;
-import com.yunbao.common.http.LiveHttpUtil;
-import com.yunbao.common.http.base.HttpCallback;
-import com.yunbao.common.http.live.LiveNetManager;
-import com.yunbao.common.manager.IMLoginManager;
-import com.yunbao.common.utils.AndroidBug5497Workaround;
-import com.yunbao.common.utils.AppManager;
-import com.yunbao.common.utils.Bus;
-import com.yunbao.common.utils.DeviceUtils;
-import com.yunbao.common.utils.DpUtil;
-import com.yunbao.common.utils.JavascriptInterfaceUtils;
-import com.yunbao.common.utils.L;
-import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
-import com.yunbao.common.utils.MicStatusManager;
-import com.yunbao.common.utils.RouteUtil;
-import com.yunbao.common.utils.ToastUtil;
-import com.yunbao.common.views.HintCustomPopup;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import java.util.Locale;
-import java.util.Stack;
-
-/**
- * Created by cxf on 2018/9/25.
- */
-
-public class WebViewActivity extends AbsActivity {
-
- private FrameLayout ft_title;
- private ImageView btnEdit;
- private ProgressBar mProgressBar;
- private WebView mWebView;
- private final int CHOOSE = 100;//Android 5.0以下的
- private final int CHOOSE_ANDROID_5 = 200;//Android 5.0以上的
- private ValueCallback mValueCallback;
- private ValueCallback mValueCallback2;
- private int indexInto = 0;
- private View v_spacing;
-
- @Override
- protected int getLayoutId() {
- return R.layout.activity_webview;
- }
-
- @Override
- protected void main() {
- String url = getIntent().getStringExtra(Constants.URL);
- L.e("H5--->" + url);
- Bus.getOn(this);
- LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
- mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
- btnEdit = (ImageView) findViewById(R.id.btn_edit);
- ft_title = (FrameLayout) findViewById(R.id.ft_title);
- v_spacing = (View) findViewById(R.id.v_spacing);
- mWebView = findViewById(R.id.webView);
-
- LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
- params.topMargin = DpUtil.dp2px(1);
- // mWebView.setLayoutParams(params);
- //mWebView.setOverScrollMode(View.OVER_SCROLL_NEVER);
- mWebView.setWebViewClient(new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- L.e("H5-------->" + url);
- if (url.startsWith(Constants.COPY_PREFIX)) {
- String content = url.substring(Constants.COPY_PREFIX.length());
- if (!TextUtils.isEmpty(content)) {
- copy(content);
- }
- } else {
- view.loadUrl(url);
- }
- return true;
- }
-
- @Override
- public void onPageFinished(WebView view, String url) {
- setTitle(view.getTitle());
- if (url.contains("for")) {
- mWebView.loadUrl("javascript:goAnchorTab()");
- }
- //真实屏幕高度-(ft_title的高度+导航栏高度)
- //屏蔽掉是因为在线客服页面 AndroidBug5497Workaround会失效
- int height = DeviceUtils.getScreenRealHeight(mContext) - DpUtil.dp2px(72) - getCurrentNavigationBarHeight(mContext);
- if (!navigationGestureEnabled(mContext)) {
- view.loadUrl("javascript:window.androidObject.setHeight(" + height + ",0,false)");
- }
-
- }
- });
- mWebView.setWebChromeClient(new WebChromeClient() {
- @Override
- public void onProgressChanged(WebView view, int newProgress) {
- if (mProgressBar != null) {
- if (newProgress == 100) {
- mProgressBar.setVisibility(View.GONE);
- } else {
- mProgressBar.setProgress(newProgress);
- }
- }
- }
-
- //以下是在各个Android版本中 WebView调用文件选择器的方法
- // For Android < 3.0
- public void openFileChooser(ValueCallback valueCallback) {
- openImageChooserActivity(valueCallback);
- }
-
- // For Android >= 3.0
- public void openFileChooser(ValueCallback valueCallback, String acceptType) {
- openImageChooserActivity(valueCallback);
- }
-
- //For Android >= 4.1
- public void openFileChooser(ValueCallback valueCallback,
- String acceptType, String capture) {
- openImageChooserActivity(valueCallback);
- }
-
- // For Android >= 5.0
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- @Override
- public boolean onShowFileChooser(WebView webView,
- ValueCallback filePathCallback,
- FileChooserParams fileChooserParams) {
- mValueCallback2 = filePathCallback;
- Intent intent = fileChooserParams.createIntent();
- startActivityForResult(intent, CHOOSE_ANDROID_5);
- return true;
- }
-
- });
- mWebView.addJavascriptInterface(JavascriptInterfaceUtils.getInstance().setmContext(mContext, mWebView).setPageClose(true).setLiveZhuangBana(false), "androidObject");
- mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口
- mWebView.getSettings().setJavaScriptEnabled(true);
- mWebView.getSettings().setDomStorageEnabled(true);
- String appCachePath = mContext.getCacheDir().getAbsolutePath();
-// mWebView.getSettings().setAppCachePath(appCachePath);
- mWebView.getSettings().setAllowFileAccess(true);
- mWebView.getSettings().setUseWideViewPort(true); // 关键点
- mWebView.getSettings().setAllowFileAccess(true); // 允许访问文件
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
- }
- mWebView.loadUrl(url);
- AndroidBug5497Workaround.assistActivity(this);
-
-
- if (btnEdit != null) {
- if (Constants.myIntoIndex == 2) {
- ft_title.setVisibility(View.GONE);
- btnEdit.setVisibility(View.GONE);
- v_spacing.setVisibility(View.VISIBLE);
-
- } else if (Constants.myIntoIndex == 1) {
- v_spacing.setVisibility(View.GONE);
- } else {
- btnEdit.setVisibility(View.GONE);
- ft_title.setVisibility(View.VISIBLE);
- v_spacing.setVisibility(View.GONE);
- }
- }
- }
-
-
- private void openImageChooserActivity(ValueCallback valueCallback) {
- mValueCallback = valueCallback;
- Intent intent = new Intent();
- if (Build.VERSION.SDK_INT < 19) {
- intent.setAction(Intent.ACTION_GET_CONTENT);
- } else {
- intent.setAction(Intent.ACTION_PICK);
- intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
- }
- intent.setType("image/*");
- startActivityForResult(Intent.createChooser(intent, mContext.getString(R.string.choose_flie)), CHOOSE);
- }
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
- super.onActivityResult(requestCode, resultCode, intent);
- switch (requestCode) {
- case CHOOSE://5.0以下选择图片后的回调
- processResult(resultCode, intent);
- break;
- case CHOOSE_ANDROID_5://5.0以上选择图片后的回调
- processResultAndroid5(resultCode, intent);
- break;
- }
- }
-
- private void processResult(int resultCode, Intent intent) {
- if (mValueCallback == null) {
- return;
- }
- if (resultCode == RESULT_OK && intent != null) {
- Uri result = intent.getData();
- mValueCallback.onReceiveValue(result);
- } else {
- mValueCallback.onReceiveValue(null);
- }
- mValueCallback = null;
- }
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- private void processResultAndroid5(int resultCode, Intent intent) {
- if (mValueCallback2 == null) {
- return;
- }
- if (resultCode == RESULT_OK && intent != null) {
- mValueCallback2.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, intent));
- } else {
- mValueCallback2.onReceiveValue(null);
- }
- mValueCallback2 = null;
- }
-
- private static boolean mIsLive = false;
-
- public static void forward(Context context, String url, boolean addArgs, boolean isLive) {
- mIsLive = isLive;
- if (Constants.LoginKefu) {
- if (addArgs) {
- url += "&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken();
- }
- }
- Intent intent = new Intent(context, WebViewActivity.class);
- intent.putExtra(Constants.URL, url + "&isZh=" + ((IMLoginManager.get(CommonAppContext.sInstance.getBaseContext()).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0"));
- context.startActivity(intent);
- }
-
- public static void forward(Context context, String url, boolean isLive) {
- forward(context, url, true, isLive);
- }
-
-
- @Override
- protected void onDestroy() {
- if (mWebView != null) {
- ViewGroup parent = (ViewGroup) mWebView.getParent();
- if (parent != null) {
- parent.removeView(mWebView);
- }
- mWebView.destroy();
- }
- Constants.myIntoIndex = 0;
- indexInto = 0;
- Constants.LoginKefu = true;
- Bus.getOff(this);
- super.onDestroy();
- }
-
- /**
- * 复制到剪贴板
- */
- private void copy(String content) {
- ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
- ClipData clipData = ClipData.newPlainText("text", content);
- cm.setPrimaryClip(clipData);
- ToastUtil.show(getString(R.string.copy_success));
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- if (Constants.myIntoIndex == 2 && mWebView != null && indexInto == 1) {
- if (Build.VERSION.SDK_INT >= 21) {
- mWebView.post(new Runnable() {
- @Override
- public void run() {
- String method = "reload()";//拼接参数,就可以把数据传递给js
- mWebView.evaluateJavascript(method, new ValueCallback() {
- @Override
- public void onReceiveValue(String value) {
-// Log.i("qcl0228", "js返回的数据" + value);
- }
- });
- }
- });
- } else {
- mWebView.post(new Runnable() {
- @Override
- public void run() {
- mWebView.setWebViewClient(new WebViewClient() {
- @Override
- public void onPageFinished(WebView view, String url) {
- super.onPageFinished(view, url);
- mWebView.loadUrl("javascript:reload()");
- }
- });
-
- }
- });
- }
- indexInto = 0;
- }
- if (Constants.isShowPage != -1) {
- finish();
- }
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onJavascriptInterfaceEvent(JavascriptInterfaceEvent event) {
- indexInto = event.getIndexInto();
- if (event.getMethod().equals("androidInviteShare")) {
- try {
- Class> clz = mContext.getClassLoader().loadClass("com.yunbao.share.ui.InvitePopDialog");
- Object invite = clz.getConstructor(Context.class).newInstance(mContext);
- invite = invite.getClass().getMethod("setUrl", String.class).invoke(invite, event.getData());
- assert invite != null;
- invite.getClass().getMethod("showDialog").invoke(invite);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- } else if (TextUtils.equals(event.getMethod(), "clickLogOffAccount")) {
- new XPopup.Builder(mContext)
- .asCustom(new HintCustomPopup(mContext,
- mContext.getString(R.string.delete_account1),
- mContext.getString(R.string.delete_account2))
- .setLiveOpenOk(mContext.getString(R.string.delete_account3))
- .setLiveOpenCancel(mContext.getString(R.string.cancel))
- .setCallBack(new HintCustomPopup.HintCustomCallBack() {
- @Override
- public void onSure() {
- LiveNetManager.get(mContext).
- setLogOff(new HttpCallback() {
- @Override
- public void onSuccess(String data) {
- Stack allActivityStacks = AppManager.getInstance().getAllActivityStacks();
- for (int i = 0; i < allActivityStacks.size(); i++) {
- if (!(allActivityStacks.get(i) instanceof WebViewActivity)) {
- allActivityStacks.get(i).finish();
- }
- }
- IMLoginManager.get(mContext).logout(mContext);
- CommonAppConfig.getInstance().clearLoginInfo();
- mContext.finish();
- RouteUtil.forwardLoginActivity();
-
- }
-
- @Override
- public void onError(String error) {
-
- }
- });
- }
-
- @Override
- public void onCancel() {
-
- }
- }))
- .show();
- } else if (TextUtils.equals(event.getMethod(), "androidMethodLookToLive")) {
- //看直播
- gotoLive(event.getLiveId());
- }
- }
-
- private void gotoLive(final String live_id) {
-
- LiveHttpUtil.getLiveInfo(live_id, new com.yunbao.common.http.HttpCallback() {
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- if (code == 0 && info.length > 0) {
- LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
- new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
- @Override
- public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
- if (liveBean == null) {
- return;
- }
- if (MicStatusManager.getInstance().isMic(liveUid)) {
- MicStatusManager.getInstance().showDownMicDialog(mContext);
- return;
- }
- if (mIsLive) {
- finish();
- if (MicStatusManager.getInstance().isMic(liveUid)) {
- MicStatusManager.getInstance().showDownMicDialog(mContext);
- return;
- }
- EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
- } else {
- RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
- }
- finish();
- }
-
- @Override
- public void onCheckError(String contextError) {
-
- }
- });
- } else {
- RouteUtil.forwardUserHome(mContext, live_id, 0);
- }
- }
- });
-
-
- }
-}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java
index e9c40d6a1..9e1e0af45 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/adapter/MainMeAdapter.java
@@ -1,6 +1,5 @@
package com.shayu.onetoone.adapter;
-import static android.os.Build.VERSION_CODES.R;
import android.content.Context;
import android.view.LayoutInflater;
@@ -12,8 +11,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
-import com.shayu.onetoone.R;
-import com.yunbao.common.bean.UserItemBean;
+import com.shayu.onetoone.bean.UserItemBean;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
@@ -48,13 +46,14 @@ public class MainMeAdapter extends RecyclerView.Adapter {
@Override
public int getItemViewType(int position) {
UserItemBean bean = mList.get(position);
- if (bean.isGroupLast()) {
+ /*if (bean.isGroupLast()) {
return GROUP_LAST;
} else if (bean.isAllLast()) {
return ALL_LAST;
} else {
return NORMAL;
- }
+ }*/
+ return NORMAL;
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserItemBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserItemBean.java
index d9489fcda..fffa66ac0 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/bean/UserItemBean.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/UserItemBean.java
@@ -1,24 +1,18 @@
package com.shayu.onetoone.bean;
-import com.yunbao.common.bean.BaseModel;
+/**
+ * Created by cxf on 2018/9/28.
+ * 我的 页面的item
+ */
+
+public class UserItemBean {
-public class UserItemBean extends BaseModel {
private int id;
- private int uid;
- private int prop_id;
- private String cn_title;
- private String en_title;
- private String icon;
- private int status;
- private int type;
- private long create_time;
- private long update_time;
- private String callback;
- private long ex_time;
- private long use_time;
-
- public UserItemBean() {
- }
+ private String name;
+ private String thumb;
+ private String href;
+ private boolean mGroupLast;
+ private boolean mAllLast;
public int getId() {
return id;
@@ -28,99 +22,66 @@ public class UserItemBean extends BaseModel {
this.id = id;
}
- public int getUid() {
- return uid;
+ public String getName() {
+ return name;
}
- public void setUid(int uid) {
- this.uid = uid;
+ public void setName(String name) {
+ this.name = name;
}
- public int getProp_id() {
- return prop_id;
+ public String getThumb() {
+ return thumb;
}
- public void setProp_id(int prop_id) {
- this.prop_id = prop_id;
+ public void setThumb(String thumb) {
+ this.thumb = thumb;
}
- public String getCn_title() {
- return cn_title;
+ public String getHref() {
+ return href;
}
- public void setCn_title(String cn_title) {
- this.cn_title = cn_title;
+ public void setHref(String href) {
+ this.href = href;
}
- public String getEn_title() {
- return en_title;
+ public boolean isGroupLast() {
+ return mGroupLast;
}
- public void setEn_title(String en_title) {
- this.en_title = en_title;
+ public void setGroupLast(boolean groupLast) {
+ mGroupLast = groupLast;
}
- public String getIcon() {
- return icon;
+ public boolean isAllLast() {
+ return mAllLast;
}
- public void setIcon(String icon) {
- this.icon = icon;
+ public void setAllLast(boolean allLast) {
+ mAllLast = allLast;
}
- public int getStatus() {
- return status;
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ UserItemBean bean = (UserItemBean) o;
+
+ if (id != bean.id) return false;
+ if (name != null ? !name.equals(bean.name) : bean.name != null) return false;
+ if (thumb != null ? !thumb.equals(bean.thumb) : bean.thumb != null) return false;
+ return href != null ? href.equals(bean.href) : bean.href == null;
+
}
- public void setStatus(int status) {
- this.status = status;
- }
-
- public int getType() {
- return type;
- }
-
- public void setType(int type) {
- this.type = type;
- }
-
- public long getCreate_time() {
- return create_time;
- }
-
- public void setCreate_time(long create_time) {
- this.create_time = create_time;
- }
-
- public long getUpdate_time() {
- return update_time;
- }
-
- public void setUpdate_time(long update_time) {
- this.update_time = update_time;
- }
-
- public String getCallback() {
- return callback;
- }
-
- public void setCallback(String callback) {
- this.callback = callback;
- }
-
- public long getEx_time() {
- return ex_time;
- }
-
- public void setEx_time(long ex_time) {
- this.ex_time = ex_time;
- }
-
- public long getUse_time() {
- return use_time;
- }
-
- public void setUse_time(long use_time) {
- this.use_time = use_time;
+ @Override
+ public int hashCode() {
+ int result = id;
+ result = 31 * result + (name != null ? name.hashCode() : 0);
+ result = 31 * result + (thumb != null ? thumb.hashCode() : 0);
+ result = 31 * result + (href != null ? href.hashCode() : 0);
+ return result;
}
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java
index 27e169fcc..25e766743 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/OTONetManager.java
@@ -1303,4 +1303,31 @@ public class OTONetManager {
}
}).isDisposed();
}
+
+
+ public void getMenu( HttpCallback> callback) {
+ API.get().otoApi(mContext).
+ getMenu()
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Consumer>>() {
+ @Override
+ public void accept(ResponseModel> listResponseModel) throws Exception {
+ if (listResponseModel.getData().getCode() == 0) {
+ callback.onSuccess(listResponseModel.getData().getInfo());
+ } else {
+ callback.onError(listResponseModel.getData().getMsg());
+ }
+ }
+ }, new Consumer() {
+ @Override
+ public void accept(Throwable throwable) throws Exception {
+ if (callback != null) {
+ callback.onError(mContext.getString(com.yunbao.common.R.string.net_error));
+ }
+ }
+ }).isDisposed();
+ }
+
+
}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java
index e67aea458..fa29a2d3d 100644
--- a/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java
+++ b/OneToOne/src/main/java/com/shayu/onetoone/network/OneToOneApi.java
@@ -246,6 +246,7 @@ public interface OneToOneApi {
Observable>> getExchangeList(
@Query("type") String type
);
+
/**
* 设置基本信息
*/
@@ -283,6 +284,7 @@ public interface OneToOneApi {
@GET("/api/public/?service=Friendappmsg.getTips")
Observable> getChatTips(@Query("tuid") String tuid);
+
@GET("/api/public/?service=Friendappmsg.setTips")
Observable> updateChatTips(@Query("tuid") String tuid);
@@ -307,6 +309,7 @@ public interface OneToOneApi {
@GET("/api/public/?service=Friendappinfos.getSage")
Observable> getBloggerInfo(
);
+
/**
* 收益转换星币或砖石
*/
@@ -329,6 +332,7 @@ public interface OneToOneApi {
/**
* 修改密码
+ *
* @param oldpass
* @param pass
* @param pass2
@@ -341,9 +345,17 @@ public interface OneToOneApi {
@Query("pass2") String pass2);
-
@GET("/api/public/?service=Friendappuser.friend")
- Observable>> getFriends(@Query("p")String p);
+ Observable>> getFriends(@Query("p") String p);
+
+
+ /**
+ * 获取我的菜单
+ *
+ * @return
+ */
+ @GET("/api/public/?service=Friendappinfos.getMenu")
+ Observable>> getMenu();
}