Commit 0169e465 authored by 王雪伟's avatar 王雪伟

[提交人]:王雪伟

[提交简述] :小象省钱
[实现方案] :会员支付超时策略,首次登陆显示会员页
parent d8a3e73d
......@@ -108,14 +108,17 @@ public class MainActivity extends BaseActivity implements NavigationBottomView.N
}
});
UserInfo userInfoData = SettingPreference.getUserInfoData();
if (userInfoData != null) {
Constant.Switch.isOpenVip = userInfoData.member;
if (!userInfoData.member) {
JumpUtils.OpenMember();
boolean firstLoginApp = SettingPreference.getFirstLoginApp();
if (firstLoginApp) {
SettingPreference.setFirstLoginApp();
UserInfo userInfoData = SettingPreference.getUserInfoData();
if (userInfoData != null) {
Constant.Switch.isOpenVip = userInfoData.member;
if (!userInfoData.member) {
JumpUtils.OpenMember();
}
}
}
}
private void initListener() {
......
......@@ -1474,6 +1474,19 @@ public class SettingPreference {
editor.commit();
}
public static boolean getFirstLoginApp() {
SharedPreferences settings = AppContext.get().getSharedPreferences(USER_SETTING, 0);
Boolean str = settings.getBoolean("first_login_app", true);
return str;
}
public static void setFirstLoginApp() {
SharedPreferences settings = AppContext.get().getSharedPreferences(USER_SETTING, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("first_login_app", false);
editor.commit();
}
public static int getFirstOpenDiscountBox() {
SharedPreferences settings = AppContext.get().getSharedPreferences(USER_SETTING, 0);
int str = settings.getInt("first_free_box_num", 0);
......
......@@ -2,6 +2,7 @@ package com.zxbw.modulemain.activity
import android.content.Intent
import android.net.Uri
import android.net.http.SslError
import android.os.Handler
import android.util.Log
import android.view.View
......@@ -49,7 +50,7 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
const val H5_PAY = 21 //h5支付
}
private var pay_type: Int? = 0
private var pay_type: Int? = H5_PAY
override fun before() {
super.before()
setStatusBarBackground(AppContext.get().resources.getColor(R.color.transparent))
......@@ -272,6 +273,7 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
}
private fun loadH5Pay(form: String) {
mHandler?.sendEmptyMessageDelayed(0, 8000)
val webSettings = id_member_pay_web_view.settings
//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
webSettings.javaScriptEnabled = true
......@@ -290,42 +292,59 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
id_member_pay_web_view?.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
Log.e("WXW", "dURL" + url.toString())
if (url == null) return false
try {
if (url.startsWith("alipays://") //支付宝
) {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent)
EventUtils.onEvent("h5_open_zfb_suc")
mHandler?.removeMessages(0)
return true
}
} catch (e: Exception) { //防止crash (如果手机上没有安装处理某个scheme开头的url的APP, 会导致crash)
EventUtils.onEvent("h5_open_zfb_error", e.toString())
mHandler?.removeMessages(0)
showResultLoading(false)
return true //没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面
}
//处理http和https开头的url
view?.loadUrl(url)
// view?.loadUrl(url)?
return false
}
override fun onPageFinished(view: WebView?, url: String?) {
Log.e("WXW", "cURL" + url.toString())
Log.d("wxw", "EndTime" + System.currentTimeMillis())
super.onPageFinished(view, url)
if (url?.contains(NetConfig.H5.WEB_URL_H5_PAY) == true) {
id_member_pay_web_view?.loadUrl("javascript:loadPayHtml('$form')");
}
}
override fun onReceivedSslError(
view: WebView?,
handler: SslErrorHandler?,
error: SslError?
) {
// 接受所有网站的证书,忽略SSL错误,执行访问网页
handler?.proceed();
}
override fun onReceivedError(
view: WebView?,
request: WebResourceRequest?,
error: WebResourceError?
) {
super.onReceivedError(view, request, error)
EventUtils.onEvent("h5_pay_error1", error.toString())
showResultLoading(false)
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
// Log.d("wxw", "1error${error?.errorCode}")
// Log.d("wxw", "2error${error?.description}")
EventUtils.onEvent(
"h5_pay_error1",
"code: ${error?.errorCode} desc: ${error?.description}"
)
} else {
EventUtils.onEvent("h5_pay_error1", error.toString())
}
}
override fun onReceivedHttpError(
......@@ -333,9 +352,19 @@ class OpenMemberOrderActivity : BaseActivity(), PayContract.View {
request: WebResourceRequest?,
errorResponse: WebResourceResponse?
) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
if (request?.url?.path?.endsWith("/favicon.ico") == true) {
} else {
EventUtils.onEvent(
"h5_pay_error2",
errorResponse?.statusCode.toString() + " url:${request?.url}"
)
}
} else {
EventUtils.onEvent("h5_pay_error2", errorResponse.toString())
}
super.onReceivedHttpError(view, request, errorResponse)
EventUtils.onEvent("h5_pay_error2", errorResponse.toString())
showResultLoading(false)
}
}
id_member_pay_web_view.loadUrl(NetConfig.H5.WEB_URL_H5_PAY)
......
......@@ -9,6 +9,7 @@ import com.zxhl.cms.net.RxSchedulers
import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.callback.BaseObserver
import com.zxhl.cms.net.model.uc.UserInfo
import com.zxhl.cms.utils.AdCallback
import com.zxhl.cms.utils.EventUtils
import com.zxhl.cms.utils.UserDataUtils
......@@ -54,8 +55,11 @@ class LoginPresenter:LoginContract.Presenter{
EventUtils.onEvent("login_suc", "codeLogin")
// Constant.newAwardFlag = result.newAwardFlag
SettingPreference.saveToken(token)
UserDataUtils.updateUserInfo(null)
mView.loginSuc()
UserDataUtils.updateUserInfo(object :AdCallback<String>{
override fun onResult(code: Int, result: String?) {
mView.loginSuc()
}
})
// getUserInfo()
}
}else{
......
......@@ -29,7 +29,7 @@
android:id="@+id/id_home_top_banner_view"
android:layout_width="match_parent"
android:layout_height="280dp"
android:paddingBottom="16dp">
android:paddingBottom="8dp">
<androidx.viewpager.widget.ViewPager
android:id="@+id/id_home_top_banner"
......
......@@ -26,7 +26,8 @@
android:background="@drawable/icon_box_jiaobiao"
android:gravity="center"
android:text="限时盲盒"
android:textColor="@color/white"
android:textStyle="bold"
android:textColor="#F8E8CC"
android:textSize="12sp" />
......@@ -60,7 +61,7 @@
android:layout_height="20dp"
android:gravity="center"
android:text="减"
android:textColor="@color/white"
android:textColor="#FFECD3"
android:textSize="12sp" />
<TextView
......@@ -69,7 +70,7 @@
android:layout_height="20dp"
android:gravity="center_vertical"
android:text="已减10元"
android:textColor="#437EEE"
android:textColor="@color/color_333333"
android:textSize="12sp" />
</LinearLayout>
......
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