Commit 3008cb15 authored by wangxuewei's avatar wangxuewei

[提交人]:王雪伟

[提交简述] :幸福农场
[实现方案] :添加登录页面
parent ad52538d
......@@ -52,6 +52,9 @@
<activity
android:name="com.ym.game.view.OrderListActivity"
android:exported="true" />
<activity
android:name="com.ym.game.activity.WxLoginActivity"
android:exported="true" />
<activity
android:name="com.ym.game.GameActivity"
android:exported="true" />
......
......@@ -39,7 +39,7 @@ class GameActivity : UnityPlayerActivity(), IDialogViewCloseCallback, NetStateCh
if (SettingPreference.getIsShowGuide()) {
SettingPreference.setIsShowGuide(false)
}
EventUtils.onEvent("tab_imp","幸运农场")
EventUtils.onEvent("tab_imp", "幸运农场")
NetStateChangeReceiver.registerReceiver(this);
mLoading = LoadingDialog.getLoadingDialog(
mContext, "",
......@@ -508,228 +508,228 @@ class GameActivity : UnityPlayerActivity(), IDialogViewCloseCallback, NetStateCh
//看视频领取种子
var videoSeedClick = true
fun getVideoSeedReceive(callback: IUnitySendMessageCallback?, id: Int) {
// if (videoSeedClick) {
// videoSeedClick = false
//
// AdManager.loadRewardVideoAd(
// ADConfig.AD_REWARD_VIDIO,
// this,
// object : ZXADVideoListener {
// override fun onFail() {
// videoSeedClick = true
// }
//
// override fun onSuccess() {
// videoSeedClick = true
// }
//
// override fun onError() {
// videoSeedClick = true
// }
//
// override fun onRewardVideoCached() {
// videoSeedClick = true
// }
//
// override fun setRewardAdInteractionListener() {
// videoSeedClick = true
// }
//
// override fun onRewardVerify() {
// videoSeedClick = true
// }
//
// override fun onVideoError() {
//// showToponWaterVideo()
// videoSeedClick = true
//
// }
//
// override fun onRewardVideoAdLoad() {
// videoSeedClick = true
// }
//
// override fun onRewardVideoAdLoad(entity: NewsEntity) {
// videoSeedClick = true
// }
//
// override fun onAdShow() {
// videoSeedClick = true
// }
//
// override fun onAdVideoBarClick(newsEntity: NewsEntity) {
// videoSeedClick = true
// }
//
// override fun onAdClose() {
// videoSeedClick = true
// //看视频上报
// getVideoAcceleratorsReceive();
// GameApiClient.gameApi.getVideoSeedReceive(id)
// .compose(RxSchedulers.observableIO2Main())
// .subscribe(object : BaseObserver<StatusEntity>() {
// override fun onSuccess(result: StatusEntity?) {
// result?.id = id
// Log.d("wxw", "看视频领取种子" + Utils.obj2Str(result))
// callback?.onIncrVideoSeedSuccess(true, Utils.obj2Str(result))
// }
//
// override fun onFailure(
// e: Throwable?,
// code: String?,
// errorMsg: String?
// ) {
// Log.d("wxw", "看视频领取种子 error")
// callback?.onIncrVideoSeedSuccess(false, errorMsg + "")
// }
// })
// }
//
// override fun onVideoComplete() {
// videoSeedClick = true
// }
//
// override fun onSkippedVideo() {
// videoSeedClick = true
// }
//
// override fun onFullScreenVideoCached() {
// videoSeedClick = true
// }
//
// override fun onLoadVideoAd(rewardVideoAD: ZXADRewardVideo) {
// videoSeedClick = true
// }
// })
// }
if (videoSeedClick) {
videoSeedClick = false
GameApiClient.gameApi.getVideoSeedReceive(id).compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<StatusEntity>() {
override fun onSuccess(result: StatusEntity?) {
result?.id = id
Log.d("wxw", "看视频领取种子" + Utils.obj2Str(result))
callback?.onIncrVideoSeedSuccess(true, Utils.obj2Str(result))
}
AdManager.loadRewardVideoAd(
ADConfig.AD_REWARD_VIDIO,
this,
object : ZXADVideoListener {
override fun onFail() {
videoSeedClick = true
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
Log.d("wxw", "看视频领取种子 error")
callback?.onIncrVideoSeedSuccess(false, errorMsg + "")
}
})
override fun onSuccess() {
videoSeedClick = true
}
override fun onError() {
videoSeedClick = true
}
override fun onRewardVideoCached() {
videoSeedClick = true
}
override fun setRewardAdInteractionListener() {
videoSeedClick = true
}
override fun onRewardVerify() {
videoSeedClick = true
}
override fun onVideoError() {
// showToponWaterVideo()
videoSeedClick = true
}
override fun onRewardVideoAdLoad() {
videoSeedClick = true
}
override fun onRewardVideoAdLoad(entity: NewsEntity) {
videoSeedClick = true
}
override fun onAdShow() {
videoSeedClick = true
}
override fun onAdVideoBarClick(newsEntity: NewsEntity) {
videoSeedClick = true
}
override fun onAdClose() {
videoSeedClick = true
//看视频上报
getVideoAcceleratorsReceive();
GameApiClient.gameApi.getVideoSeedReceive(id)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<StatusEntity>() {
override fun onSuccess(result: StatusEntity?) {
result?.id = id
Log.d("wxw", "看视频领取种子" + Utils.obj2Str(result))
callback?.onIncrVideoSeedSuccess(true, Utils.obj2Str(result))
}
override fun onFailure(
e: Throwable?,
code: String?,
errorMsg: String?
) {
Log.d("wxw", "看视频领取种子 error")
callback?.onIncrVideoSeedSuccess(false, errorMsg + "")
}
})
}
override fun onVideoComplete() {
videoSeedClick = true
}
override fun onSkippedVideo() {
videoSeedClick = true
}
override fun onFullScreenVideoCached() {
videoSeedClick = true
}
override fun onLoadVideoAd(rewardVideoAD: ZXADRewardVideo) {
videoSeedClick = true
}
})
}
// GameApiClient.gameApi.getVideoSeedReceive(id).compose(RxSchedulers.observableIO2Main())
// .subscribe(object : BaseObserver<StatusEntity>() {
// override fun onSuccess(result: StatusEntity?) {
// result?.id = id
// Log.d("wxw", "看视频领取种子" + Utils.obj2Str(result))
// callback?.onIncrVideoSeedSuccess(true, Utils.obj2Str(result))
// }
//
// override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
// Log.d("wxw", "看视频领取种子 error")
// callback?.onIncrVideoSeedSuccess(false, errorMsg + "")
// }
// })
}
var videoJiasuClick = true
//看视频领取加速剂
fun getVideoAcceleratorsReceive(callback: IUnitySendMessageCallback?, id: Int) {
// if (videoJiasuClick) {
// videoJiasuClick = false
// AdManager.loadRewardVideoAd(
// ADConfig.AD_REWARD_VIDIO,
// this,
// object : ZXADVideoListener {
// override fun onFail() {
// videoJiasuClick = true
// }
//
// override fun onSuccess() {
// videoJiasuClick = true
// }
//
// override fun onError() {
// videoJiasuClick = true
// }
//
// override fun onRewardVideoCached() {
// videoJiasuClick = true
// }
//
// override fun setRewardAdInteractionListener() {
// videoJiasuClick = true
// }
//
// override fun onRewardVerify() {
// videoJiasuClick = true
// }
//
// override fun onVideoError() {
//// showToponWaterVideo()
// videoJiasuClick = true
// }
//
// override fun onRewardVideoAdLoad() {
// videoJiasuClick = true
// }
//
// override fun onRewardVideoAdLoad(entity: NewsEntity) {
// videoJiasuClick = true
// }
//
// override fun onAdShow() {
// videoJiasuClick = true
// }
//
// override fun onAdVideoBarClick(newsEntity: NewsEntity) {
// videoJiasuClick = true
// }
//
// override fun onAdClose() {
// videoJiasuClick = true
// //看视频上报
// getVideoAcceleratorsReceive();
// GameApiClient.gameApi.getVideoAcceleratorsReceive(id)
// .compose(RxSchedulers.observableIO2Main())
// .subscribe(object : BaseObserver<StatusEntity>() {
// override fun onSuccess(result: StatusEntity?) {
// Log.d("wxw", "看视频领取加速剂" + Utils.obj2Str(result))
// callback?.onIncrVideoAcceleratorsSuccess(
// true,
// Utils.obj2Str(result)
// )
// }
//
// override fun onFailure(
// e: Throwable?,
// code: String?,
// errorMsg: String?
// ) {
// Log.d("wxw", "看视频领取加速剂 error")
// callback?.onIncrVideoAcceleratorsSuccess(false, errorMsg + "")
// }
// })
// }
//
// override fun onVideoComplete() {
// videoJiasuClick = true
// }
//
// override fun onSkippedVideo() {
// videoJiasuClick = true
// }
//
// override fun onFullScreenVideoCached() {
// videoJiasuClick = true
// }
//
// override fun onLoadVideoAd(rewardVideoAD: ZXADRewardVideo) {
// videoJiasuClick = true
// }
// })
// }
if (videoJiasuClick) {
videoJiasuClick = false
AdManager.loadRewardVideoAd(
ADConfig.AD_REWARD_VIDIO,
this,
object : ZXADVideoListener {
override fun onFail() {
videoJiasuClick = true
}
GameApiClient.gameApi.getVideoAcceleratorsReceive(id)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<StatusEntity>() {
override fun onSuccess(result: StatusEntity?) {
Log.d("wxw", "看视频领取加速剂" + Utils.obj2Str(result))
callback?.onIncrVideoAcceleratorsSuccess(true, Utils.obj2Str(result))
}
override fun onSuccess() {
videoJiasuClick = true
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
Log.d("wxw", "看视频领取加速剂 error")
callback?.onIncrVideoAcceleratorsSuccess(false, errorMsg + "")
}
})
override fun onError() {
videoJiasuClick = true
}
override fun onRewardVideoCached() {
videoJiasuClick = true
}
override fun setRewardAdInteractionListener() {
videoJiasuClick = true
}
override fun onRewardVerify() {
videoJiasuClick = true
}
override fun onVideoError() {
// showToponWaterVideo()
videoJiasuClick = true
}
override fun onRewardVideoAdLoad() {
videoJiasuClick = true
}
override fun onRewardVideoAdLoad(entity: NewsEntity) {
videoJiasuClick = true
}
override fun onAdShow() {
videoJiasuClick = true
}
override fun onAdVideoBarClick(newsEntity: NewsEntity) {
videoJiasuClick = true
}
override fun onAdClose() {
videoJiasuClick = true
//看视频上报
getVideoAcceleratorsReceive();
GameApiClient.gameApi.getVideoAcceleratorsReceive(id)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<StatusEntity>() {
override fun onSuccess(result: StatusEntity?) {
Log.d("wxw", "看视频领取加速剂" + Utils.obj2Str(result))
callback?.onIncrVideoAcceleratorsSuccess(
true,
Utils.obj2Str(result)
)
}
override fun onFailure(
e: Throwable?,
code: String?,
errorMsg: String?
) {
Log.d("wxw", "看视频领取加速剂 error")
callback?.onIncrVideoAcceleratorsSuccess(false, errorMsg + "")
}
})
}
override fun onVideoComplete() {
videoJiasuClick = true
}
override fun onSkippedVideo() {
videoJiasuClick = true
}
override fun onFullScreenVideoCached() {
videoJiasuClick = true
}
override fun onLoadVideoAd(rewardVideoAD: ZXADRewardVideo) {
videoJiasuClick = true
}
})
}
// GameApiClient.gameApi.getVideoAcceleratorsReceive(id)
// .compose(RxSchedulers.observableIO2Main())
// .subscribe(object : BaseObserver<StatusEntity>() {
// override fun onSuccess(result: StatusEntity?) {
// Log.d("wxw", "看视频领取加速剂" + Utils.obj2Str(result))
// callback?.onIncrVideoAcceleratorsSuccess(true, Utils.obj2Str(result))
// }
//
// override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
// Log.d("wxw", "看视频领取加速剂 error")
// callback?.onIncrVideoAcceleratorsSuccess(false, errorMsg + "")
// }
// })
}
......@@ -803,7 +803,6 @@ class GameActivity : UnityPlayerActivity(), IDialogViewCloseCallback, NetStateCh
override fun onCloseViewSuccess(isSuccess: Boolean) {
//关闭view
Log.d("wxw", "关闭view")
callUnity("TitleView", "getHomeInfo", "")
}
......
......@@ -10,24 +10,19 @@ import com.bytedance.sdk.openadsdk.TTSplashAd
import com.gyf.immersionbar.BarHide
import com.gyf.immersionbar.ImmersionBar
import com.umeng.analytics.MobclickAgent
import com.ym.library.utils.ADConfig
import com.ym.game.GameActivity
import com.ym.xync.R
import com.ym.library.Constant
import com.ym.library.module.ReportEntity
import com.ym.library.net.BaseActivity
import com.ym.library.net.PermissionsActivity
import com.ym.library.net.SplashContract
import com.ym.library.net.SplashPresenter
import com.ym.library.net.SplashPresenter.Companion.PERMISSIONS
import com.ym.library.utils.EventUtils
import com.ym.library.utils.ReportUtils
import com.ym.library.utils.SettingPreference
import com.ym.library.utils.Utils
import com.ym.game.utils.CenterDialog
import com.ym.library.config.AdManager
import com.ym.library.listener.ZXADSplashListener
import com.ym.library.module.NewsEntity
import com.ym.library.net.*
import com.ym.library.utils.*
import com.ym.library.wechat.UserApiClient
import org.jetbrains.anko.act
class SplashActivity : BaseActivity(), SplashContract.View {
......@@ -135,8 +130,33 @@ class SplashActivity : BaseActivity(), SplashContract.View {
if (System.currentTimeMillis() - startTime > 2000 && isClick) {
isClick = false
startTime = System.currentTimeMillis()
startActivity(Intent(this@SplashActivity, GameActivity::class.java))
finish()
// startActivity(Intent(this@SplashActivity, GameActivity::class.java))
val token = SettingPreference.getToken()
UserApiClient.userApi.getIsBindWithdrawWx(token)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<UserInfoEntity>() {
override fun onSuccess(data: UserInfoEntity) {
act?.runOnUiThread {
if (data?.isBind == true) {
EventUtils.onEvent("login_net", "微信已绑定")
startActivity(Intent(this@SplashActivity, GameActivity::class.java))
finish()
} else {
EventUtils.onEvent("login_net", "微信未绑定,跳转微信登录页面")
startActivity(Intent(this@SplashActivity, WxLoginActivity::class.java))
finish()
}
}
}
override fun onFailure(e: Throwable, code: String, errorMsg: String?) {
if (null != errorMsg) {
EventUtils.onEvent("login_net", "接口失败,跳转微信登录页面")
// mView.wxBindFailure(errorMsg?:"")
startActivity(Intent(this@SplashActivity, WxLoginActivity::class.java))
finish()
}
}
})
}
}
......
package com.ym.game.activity
import android.content.Intent
import android.util.Log
import android.view.View
import com.umeng.analytics.MobclickAgent
import com.ym.game.GameActivity
import com.ym.library.net.*
import com.ym.library.utils.EventUtils.onEvent
import com.ym.library.utils.JumpUtils
import com.ym.library.utils.SettingPreference
import com.ym.library.utils.Utils
import com.ym.library.utils.WxImplUtils
import com.ym.library.wechat.UserApiClient
import com.ym.xync.R
import kotlinx.android.synthetic.main.activity_wx_login.*
import org.jetbrains.anko.act
/**
* @author (wangXuewei)
* @datetime 2020-10-23 18:19 GMT+8
* @detail :
*/
class WxLoginActivity : BaseActivity() {
override fun layoutID(): Int {
return R.layout.activity_wx_login
}
override fun init() {
id_btn_wx_login.setOnClickListener(View.OnClickListener {
wxLogin();
})
id_tv_User_agreement.setOnClickListener(View.OnClickListener {
JumpUtils.h5Jump("用户协议", NetConfig.H5.WEB_URL_USER, true)
})
id_tv_privacy_policy.setOnClickListener(View.OnClickListener {
JumpUtils.h5Jump("隐私政策", NetConfig.H5.WEB_URL_PRIVACY, true)
})
}
override fun onResume() {
super.onResume()
MobclickAgent.onResume(this)
}
override fun onPause() {
super.onPause()
MobclickAgent.onPause(this)
}
fun wxLogin(){
onEvent("click_login", "点击微信登录")
val token = SettingPreference.getToken()
UserApiClient.userApi.getIsBindWithdrawWx(token)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<UserInfoEntity>() {
override fun onSuccess(data: UserInfoEntity) {
act?.runOnUiThread {
if (data?.isBind == true) {
onEvent("login_net", "已绑定微信")
startActivity(Intent(this@WxLoginActivity, GameActivity::class.java))
finish()
} else {
onEvent("login_net", "未绑定微信,吊起微信授权")
WxImplUtils().onAuth(
act
) { token, openid ->
Log.i("WxImplUtils", "onWxSuccess")
Utils.showToast(act, "登录成功")
onEvent("login_wx", "登录授权成功")
startActivity(
Intent(
this@WxLoginActivity,
GameActivity::class.java
)
)
finish()
}
}
}
}
override fun onFailure(e: Throwable, code: String, errorMsg: String?) {
if (null != errorMsg) {
onEvent("login_net", "登录接口失败")
// mView.wxBindFailure(errorMsg?:"")
}
}
})
}
}
\ No newline at end of file
......@@ -31,7 +31,7 @@ class BaseApplication : MultiDexApplication() {
//第一步初始化 application
AppliContext.init(this)
Config.init(this)
NetConfig.setBase_Url(NetConfig.Environment.DEV)// TODO 上线之后提成成 NetConfig.Environment.PRODUCT
NetConfig.setBase_Url(NetConfig.Environment.PRODUCT)// TODO 上线之后提成成 NetConfig.Environment.PRODUCT
Constant.appLs = "a03d5320d905cf3b"//appls
AdManager.init(//TODO 替换id
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/wx_logo_bg"
android:orientation="vertical">
<ImageView
android:id="@+id/id_btn_wx_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@mipmap/wx_logo_btn" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_20"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登陆即同意"
android:textColor="#7F490A"
android:textSize="@dimen/dp_13" />
<TextView
android:id="@+id/id_tv_User_agreement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="《用户协议》"
android:textColor="#C56713"
android:textSize="@dimen/dp_13" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="和"
android:textColor="#7F490A"
android:textSize="@dimen/dp_13" />
<TextView
android:id="@+id/id_tv_privacy_policy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="《隐私政策》"
android:textColor="#C56713"
android:textSize="@dimen/dp_13" />
</LinearLayout>
</RelativeLayout>
\ No newline at end of file
PACKAGE_NAME=com.ym.xync
VERSION_CODE=1
VERSION_NAME=1.0.0
\ No newline at end of file
VERSION_CODE=2
VERSION_NAME=1.0.1
\ No newline at end of file
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