Commit a213af04 authored by shiyl's avatar shiyl

启动页迁移到BRoot组件

parent de378f93
......@@ -3,6 +3,10 @@ package com.yidian.bcommon
import android.app.Activity
import android.app.Application
/**
* ⚠️⚠️ 注意:此Application 不要放与业务相关的初始化,YdBaseApplication会被调用多次,导致重复初始化
*/
open class YdBaseApplication : Application() {
companion object {
......
package com.yidian.shenghuoquan.newscontent.http.httpbean
package com.yidian.bcommon.bean
import java.io.Serializable
/**
* 生活号列表item
*/
class LifeAccountItemBean(var response: Response) {
data class Response(
......
......@@ -71,7 +71,7 @@ object CommonDataSource {
apiCallback.getKSYunObjectIdSuccess(result?.result)
}
override fun onFailer(result: HttpResult<GetKSYunObjectIdBean.Response>?) {
override fun onFailure(result: HttpResult<GetKSYunObjectIdBean.Response>?) {
apiCallback.getKSYunObjectIdFailure(result?.reason)
}
})
......
......@@ -48,24 +48,28 @@ abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false
}
override fun onNext(res: HttpResult<Any?>) {
if (res.code == ResultCode.SUCCESS) {
when (res.code) {
ResultCode.SUCCESS -> {
val type = (this.javaClass.genericSuperclass as ParameterizedType).actualTypeArguments[0]
val decodeResult = HttpParamsUtils.rsaDecryptResult<T>(res, type)
onRequestSuccess(decodeResult)
} else if (res.code == ResultCode.INVALID) {
}
ResultCode.INVALID -> {
XPageManager.push(XRouterPathConstants.LOGIN_LIFE_CIRCLE, null)
} else {
}
else -> {
val decodeResult = HttpResult<T>()
decodeResult.code = res.code
decodeResult.reason = res.reason
decodeResult.status = res.status
onFailer(decodeResult)
onFailure(decodeResult)
ToastUtil.showToast(YdBaseApplication.context, res.reason)
}
}
}
abstract fun onSuccess(result: HttpResult<T>?)
abstract fun onFailer(result: HttpResult<T>?)
abstract fun onFailure(result: HttpResult<T>?)
@SuppressLint("NewApi")
fun onRequestFailure(e: Throwable?) {
......@@ -73,7 +77,7 @@ abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false
result.code = -100
result.reason = e?.message
result.status = "failed"
onFailer(result)
onFailure(result)
}
@SuppressLint("NewApi")
......
package com.yidian.bcommon.services
/**
* 自定义服务的action
*/
class ZapServiceActionConstants {
companion object {
// 生活号列表服务 - 请求生活号列表action
const val LifeNumberListServiceRequestList = "LifeNumberListServiceRequestList"
}
}
package com.yidian.bcommon.services
/**
* 自定义服务名称
*/
class ZapServiceNameConstants {
companion object {
// 生活号列表服务名称
const val LifeNumberListServiceName = "LifeNumberListService"
}
}
......@@ -24,7 +24,7 @@ object MBRemoteDataSource {
apiCallback.getRequestSuccess(result)
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.getRequestFailure(result)
}
})
......@@ -45,7 +45,7 @@ object MBRemoteDataSource {
apiCallback.getRequestSuccess(result)
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.getRequestFailure(result)
}
})
......
......@@ -35,7 +35,7 @@ object CouponDataSource {
apiCallback.getCategoryListSuccess(result?.result)
}
override fun onFailer(result: HttpResult<MutableList<CategoryListDto>?>?) {
override fun onFailure(result: HttpResult<MutableList<CategoryListDto>?>?) {
}
})
}
......@@ -54,7 +54,7 @@ object CouponDataSource {
apiCallback.getCommodityListSuccess(result?.result)
}
override fun onFailer(result: HttpResult<CommodityManagementListDto>?) {
override fun onFailure(result: HttpResult<CommodityManagementListDto>?) {
apiCallback.getCommodityListFailure(result?.reason)
}
})
......@@ -74,7 +74,7 @@ object CouponDataSource {
apiCallback.getCommodityStatusListSuccess(result?.result)
}
override fun onFailer(result: HttpResult<ArrayList<CommodityStatus>>?) {
override fun onFailure(result: HttpResult<ArrayList<CommodityStatus>>?) {
apiCallback.getCommodityStatusListFailure(result?.reason)
}
})
......@@ -94,7 +94,7 @@ object CouponDataSource {
apiCallback.commodityOnlineSuccess()
}
override fun onFailer(result: HttpResult<Any>?) {
override fun onFailure(result: HttpResult<Any>?) {
apiCallback.commodityOnlineFailure(result?.reason)
}
})
......@@ -114,7 +114,7 @@ object CouponDataSource {
apiCallback.commodityOfflineSuccess()
}
override fun onFailer(result: HttpResult<Any>?) {
override fun onFailure(result: HttpResult<Any>?) {
apiCallback.commodityOfflineFailure(result?.reason)
}
})
......
......@@ -2,4 +2,17 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yidian.shenghuoquan.broot">
<application>
<activity
android:name="com.yidian.shenghuoquan.broot.ui.FlashActivity"
android:theme="@style/FlashTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
\ No newline at end of file
package com.yidian.shenghuoquan.broot.app
import android.content.Intent
import com.yidian.bcommon.XRouterPathConstants
import com.yidian.bcommon.YdBaseApplication
import com.yidian.news.util.ProcessUtil
import com.yidian.xpage.XPageManager
import com.yidian.xpage.node.XPageHandler
import com.yidian.xpage.node.XPageNode
import com.yidian.xpage.node.XPageNodePageType
import com.yidian.yac.core.core.YacModuleSpec
@YacModuleSpec
class BRootApplication : YdBaseApplication() {
override fun onCreate() {
super.onCreate()
if (ProcessUtil.isMainProcess(this)) {
registerXPage()
initService()
}
}
private fun registerXPage() {
ClassMapUtil.xPageNodeMap.forEach {
val node = XPageNode(it.key, XPageNodePageType.NATIVE, object : XPageHandler {
override fun handler(params: Map<String, Any?>?) {
val intent = Intent()
if (params != null) {
intent.putExtra(XRouterPathConstants.ParamsKey, params as HashMap)
}
intent.setClass(context, it.value)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
})
XPageManager.registeredNode(node)
}
}
private fun initService() {
// Zap.addService(SelectCategoryService.serviceName, SelectCategoryService())
// Zap.addService(GoodsPublishService.SERVICE_NAME, GoodsPublishService())
}
}
package com.yidian.shenghuoquan.broot.app
import com.yidian.bcommon.XRouterPathConstants
import com.yidian.shenghuoquan.broot.ui.FlashActivity
/**
* 注册XPageNode工具类
*/
object ClassMapUtil {
val xPageNodeMap = mapOf(
XRouterPathConstants.Companion.FLASH to FlashActivity::class.java,// 启动页
)
}
package com.yidian.shenghuoquan.newscontent.ui
package com.yidian.shenghuoquan.broot.ui
import android.app.AlertDialog
import android.content.Intent
......@@ -13,19 +13,19 @@ import com.yidian.bcommon.*
import com.yidian.bcommon.XRouterPathConstants.Companion.FLASH
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.services.AppUpgradeService
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityFlashBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountIdentityActivity
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.shenghuoquan.broot.R
import com.yidian.shenghuoquan.broot.databinding.ActivityFlashBinding
import com.yidian.xpage.XPageManager
import com.yidian.yac.core.zap.ZapTicket
import timber.log.Timber
class FlashActivity : BaseActivity<ActivityFlashBinding>(), IGetLifeAccountListCallback {
/**
* 启动页
*/
class FlashActivity : BaseActivity<ActivityFlashBinding>() {
private var privacyDialog: AlertDialog? = null
......@@ -63,12 +63,20 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>(), IGetLifeAccountListC
// 判断往哪里走
val loginStatus = Hawk.get(HawkConfig.LoginStatus, false)
if (loginStatus) {
// 已登录 请求生活号列表
ApiService.getLifeAccountList(this)
// 已登录请求生活号列表
ZapTicket(ZapServiceNameConstants.LifeNumberListServiceName).withAction(ZapServiceActionConstants.LifeNumberListServiceRequestList)
.onResult { result ->
// 请求生活号列表成功,关闭启动页
if (result.result as Boolean) {
Timber.tag("测试启动").e("请求成功,可以关闭启动页")
XPageManager.pop(null)
}
}.ship()
} else {
// 未登录 跳转登录
// 此处没有使用XPage打开页面 原因:不能设置flag
startActivity(Intent(this, LoginLifeCircleActivity::class.java))
XPageManager.push(XRouterPathConstants.LOGIN_LIFE_CIRCLE, null)
// startActivity(Intent(this, LoginLifeCircleActivity::class.java))
finish()
// 检查app更新
ZapTicket(AppUpgradeService.SERVICE_NAME).withAction(AppUpgradeService.ACTION_CHECK_APP_UPGRADE).ship()
......@@ -155,53 +163,4 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>(), IGetLifeAccountListC
dismissPrivacyDialog()
}
override fun getLifeAccountListSuccess(result: ArrayList<LifeAccountItemBean.Response>?) {
when (result?.size) {
0 -> {
// 无生活号 进入认证流程
XPageManager.push(XRouterPathConstants.LIFE_ACCOUNT_AUTH, null)
}
1 -> {
// 关联一个生活号 进入商户管理中心
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, result[0]),
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, false)
)
)
}
else -> {
// 关联多个生活号
StorageUtil.getLifeAccountId()?.apply {
// 如果本地有上次操作的生活号则遍历生活号列表进入对应生活号的管理中心
result?.forEach {
if (it.life_account_id == this) {
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, it),
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, result.size > 1)
)
)
}
}
} ?: let {
// 进入生活号选择页面
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_IDENTITY,
hashMapOf(Pair(LifeAccountIdentityActivity.EXTRA_LIFE_ACCOUNT_LIST, result))
)
}
}
}
XPageManager.pop(null)
// 检查app更新
ZapTicket(AppUpgradeService.SERVICE_NAME).withAction(AppUpgradeService.ACTION_CHECK_APP_UPGRADE).ship()
}
override fun getLifeAccountListFailure(message: String?) {
}
}
......@@ -2,4 +2,17 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yidian.shenghuoquan.broot">
<application>
<activity
android:name="com.yidian.shenghuoquan.broot.ui.FlashActivity"
android:theme="@style/FlashTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="12dp"/>
<solid android:color="@color/white"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.yidian.nightmode.widget.YdRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/clRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/icon_launcher_bg"
android:fitsSystemWindows="true"
tools:context=".ui.FlashActivity">
android:fitsSystemWindows="true">
</com.yidian.nightmode.widget.YdRelativeLayout>
\ No newline at end of file
......@@ -10,7 +10,7 @@
<LinearLayout
android:layout_width="280dp"
android:layout_height="wrap_content"
android:background="@drawable/shape_person_bg"
android:background="@drawable/shape_corners_white_bg"
android:orientation="vertical">
<TextView
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="privacy_tips">欢迎您使用生活圈商家版!您可以通过阅读《用户协议》与《隐私政策》帮助您了解我们收集、使用、存储和共享个人信息的情况,以及您所享有的相关权利。</string>
</resources>
\ No newline at end of file
package com.yidian.shenghuoquan.bsetting.app
import com.yidian.bcommon.XRouterPathConstants
/**
* 注册XPageNode工具类
*/
object ClassMapUtil {
// val xPageNodeMap = mapOf(
// XRouterPathConstants.Companion.FLASH to com.yidian.shenghuoquan.broot.ui.FlashActivity::class.java,// 启动页
// XRouterPathConstants.Companion.COMMODITY_MANAGEMENT to CommodityManagementActivity::class.java, // 商品管理
// )
}
package com.yidian.shenghuoquan.bsetting.app
import android.content.Intent
import com.yidian.bcommon.XRouterPathConstants
import com.yidian.bcommon.YdBaseApplication
import com.yidian.news.util.ProcessUtil
import com.yidian.xpage.XPageManager
import com.yidian.xpage.node.XPageHandler
import com.yidian.xpage.node.XPageNode
import com.yidian.xpage.node.XPageNodePageType
import com.yidian.yac.core.core.YacModuleSpec
import com.yidian.yac.core.zap.Zap
@YacModuleSpec
class CommodityApplication : YdBaseApplication() {
// override fun onCreate() {
// super.onCreate()
// if (ProcessUtil.isMainProcess(this)) {
// registerXPage()
// initService()
// }
// }
//
// private fun registerXPage() {
// ClassMapUtil.xPageNodeMap.forEach {
// val node = XPageNode(it.key, XPageNodePageType.NATIVE, object : XPageHandler {
// override fun handler(params: Map<String, Any?>?) {
// val intent = Intent()
// if (params != null) {
// intent.putExtra(XRouterPathConstants.ParamsKey, params as HashMap)
// }
// intent.setClass(context, it.value)
// intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
// context.startActivity(intent)
// }
// })
// XPageManager.registeredNode(node)
// }
// }
//
// private fun initService() {
//// Zap.addService(SelectCategoryService.serviceName, SelectCategoryService())
//// Zap.addService(GoodsPublishService.SERVICE_NAME, GoodsPublishService())
// }
}
......@@ -3,16 +3,6 @@
package="com.yidian.shenghuoquan.newscontent">
<application>
<activity
android:name=".ui.FlashActivity"
android:theme="@style/FlashTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.DeepLinkActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......
......@@ -9,7 +9,7 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.yidian.bcommon.cardutils.adapter.OnItemClickListener
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
/**
* author: yinjiacheng
......
......@@ -9,7 +9,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.constant.Constant
import com.yidian.shenghuoquan.newscontent.databinding.ItemMerchantSwitchBinding
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
/**
* author: yinjiacheng
......
......@@ -4,7 +4,6 @@ import android.content.Intent
import com.yidian.bcommon.XRouterPathConstants
import com.yidian.bcommon.XRouterPathConstants.Companion.CHOOSE_CAREER
import com.yidian.bcommon.XRouterPathConstants.Companion.CHOOSE_STORE_ACTIVITY
import com.yidian.bcommon.XRouterPathConstants.Companion.FLASH
import com.yidian.bcommon.XRouterPathConstants.Companion.ID_CARD_TEST
import com.yidian.bcommon.XRouterPathConstants.Companion.LIFE_ACCOUNT_AUTH
import com.yidian.bcommon.XRouterPathConstants.Companion.LIFE_ACCOUNT_CREATE
......@@ -32,6 +31,7 @@ import com.yidian.bcommon.XRouterPathConstants.Companion.STORE_MANAGEMENT
import com.yidian.bcommon.XRouterPathConstants.Companion.SUPPORT
import com.yidian.bcommon.XRouterPathConstants.Companion.SYSTEM_SETTING
import com.yidian.bcommon.YdBaseApplication
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.news.util.ProcessUtil
import com.yidian.nightmode.util.NightModeUtil
import com.yidian.shenghuoquan.newscontent.personnel.ui.*
......@@ -69,18 +69,6 @@ class NewsContentApplication : YdBaseApplication() {
private fun registerXPage() {
XPageManager.registeredNodes(
arrayListOf(
XPageNode(FLASH, XPageNodePageType.NATIVE, object : XPageHandler {
override fun handler(params: Map<String, Any?>?) {
val intent = Intent()
if (params != null) {
intent.putExtra(XRouterPathConstants.ParamsKey, params as HashMap)
}
intent.setClass(context, FlashActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
}),
XPageNode(LOGIN_LIFE_CIRCLE, XPageNodePageType.NATIVE, object : XPageHandler {
override fun handler(params: Map<String, Any?>?) {
val intent = Intent()
......@@ -501,8 +489,9 @@ class NewsContentApplication : YdBaseApplication() {
Zap.addService(CommentService.serviceName, CommentService())
Zap.addService(UniversalService.serviceName, UniversalService())
Zap.addService(UserService.serviceName, UserService())
Zap.addService(CacheService.serviceName, CacheService())
Zap.addService(ZapServiceNameConstants.LifeNumberListServiceName, LifeNumberListService())
Zap.addService(DeepLinkService.serviceName, DeepLinkService())
Zap.addService(SelectStoreService.serviceName, SelectStoreService())
}
}
......@@ -2,6 +2,7 @@ package com.yidian.shenghuoquan.newscontent.http
import com.google.gson.reflect.TypeToken
import com.yidian.bcommon.YdBaseApplication
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.http.HttpParamsUtils
import com.yidian.bcommon.http.HttpResult
import com.yidian.bcommon.http.HttpResultSubscriber
......@@ -28,7 +29,7 @@ class ApiService {
apiCallback.uploadFileCallBack(result)
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.uploadFileCallBack(result)
}
......@@ -48,7 +49,7 @@ class ApiService {
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
......@@ -67,7 +68,7 @@ class ApiService {
apiCallback.sendSmsCodeCallBack(result)
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.sendSmsCodeCallBack(result)
}
})
......@@ -86,7 +87,7 @@ class ApiService {
apiCallback.mobileLoginCallBack(result)
}
override fun onFailer(result: HttpResult<MobileLoginBean.Response?>?) {
override fun onFailure(result: HttpResult<MobileLoginBean.Response?>?) {
apiCallback.mobileLoginCallBack(result)
}
})
......@@ -105,7 +106,7 @@ class ApiService {
apiCallback.userLogoutSuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
}
......@@ -123,7 +124,7 @@ class ApiService {
apiCallback.authPersonCheckSuccess()
}
override fun onFailer(result: HttpResult<Any>?) {
override fun onFailure(result: HttpResult<Any>?) {
apiCallback.authPersonCheckFailure(result?.code, result?.reason)
}
})
......@@ -142,7 +143,7 @@ class ApiService {
apiCallback.authLiveIdentitySuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.authLiveIdentityFailure(result?.reason)
}
})
......@@ -161,7 +162,7 @@ class ApiService {
apiCallbackPersonal.authPersonalCompleteSuccess(result?.result)
}
override fun onFailer(result: HttpResult<AuthPersonalCompleteBean.Response?>?) {
override fun onFailure(result: HttpResult<AuthPersonalCompleteBean.Response?>?) {
apiCallbackPersonal.authPersonalCompleteFailure(result?.reason)
}
})
......@@ -180,7 +181,7 @@ class ApiService {
apiCallback.authAuthenticationSuccess(result?.result)
}
override fun onFailer(result: HttpResult<AuthAuthenticationBean.Response?>?) {
override fun onFailure(result: HttpResult<AuthAuthenticationBean.Response?>?) {
apiCallback.authAuthenticationFailure(result?.reason)
}
})
......@@ -199,7 +200,7 @@ class ApiService {
apiCallback.getLifeAccountListSuccess(result?.result)
}
override fun onFailer(result: HttpResult<ArrayList<LifeAccountItemBean.Response>?>?) {
override fun onFailure(result: HttpResult<ArrayList<LifeAccountItemBean.Response>?>?) {
apiCallback.getLifeAccountListFailure(result?.reason)
}
})
......@@ -218,7 +219,7 @@ class ApiService {
apiCallback.getIDCardOCRSuccess(result?.result)
}
override fun onFailer(result: HttpResult<GetIDCardOCRBean.Response>?) {
override fun onFailure(result: HttpResult<GetIDCardOCRBean.Response>?) {
apiCallback.getIDCardOCRFailure(result?.reason)
}
})
......@@ -237,7 +238,7 @@ class ApiService {
apiCallback.getTokenSuccess(result)
}
override fun onFailer(result: HttpResult<AuthPersonalGetTokenBean.Response?>?) {
override fun onFailure(result: HttpResult<AuthPersonalGetTokenBean.Response?>?) {
}
})
}
......@@ -255,7 +256,7 @@ class ApiService {
apiCallback.identifyIdOcrVerifySuccess(result)
}
override fun onFailer(result: HttpResult<IdentifyIdOcrVerifyBean.Response?>?) {
override fun onFailure(result: HttpResult<IdentifyIdOcrVerifyBean.Response?>?) {
apiCallback.identifyIdOcrVerifyFailure(result)
}
})
......@@ -274,7 +275,7 @@ class ApiService {
apiCallback.businessLicenseOCRSuccess(result?.result)
}
override fun onFailer(result: HttpResult<BusinessLicenseOCRBean.Response>?) {
override fun onFailure(result: HttpResult<BusinessLicenseOCRBean.Response>?) {
apiCallback.businessLicenseOCRFailure(result?.reason)
}
})
......@@ -313,7 +314,7 @@ class ApiService {
apiCallback.getKSYunObjectIdSuccess(result?.result)
}
override fun onFailer(result: HttpResult<GetKSYunObjectIdBean.Response>?) {
override fun onFailure(result: HttpResult<GetKSYunObjectIdBean.Response>?) {
apiCallback.getKSYunObjectIdFailure(result?.reason)
}
})
......@@ -332,7 +333,7 @@ class ApiService {
apiCallback.authMerchantCheckSuccess(result?.result)
}
override fun onFailer(result: HttpResult<AuthMerchantCheckBean.Response?>?) {
override fun onFailure(result: HttpResult<AuthMerchantCheckBean.Response?>?) {
apiCallback.authMerchantCheckFailure(result?.reason)
}
})
......@@ -351,7 +352,7 @@ class ApiService {
apiCallback.authBusinessLicenseCommitSuccess(result?.result)
}
override fun onFailer(result: HttpResult<AuthBusinessLicenseCommitBean.Response?>?) {
override fun onFailure(result: HttpResult<AuthBusinessLicenseCommitBean.Response?>?) {
apiCallback.authBusinessLicenseCommitFailure(result?.reason)
}
})
......@@ -373,7 +374,7 @@ class ApiService {
apiCallback.authEnterpriseLegalIdentityCommitSuccess(result?.result)
}
override fun onFailer(result: HttpResult<AuthEnterpriseLegalIdentityCommitBean.Response?>?) {
override fun onFailure(result: HttpResult<AuthEnterpriseLegalIdentityCommitBean.Response?>?) {
apiCallback.authEnterpriseLegalIdentityCommitFailure(result?.reason)
}
})
......@@ -395,7 +396,7 @@ class ApiService {
apiCallback.authIndividualBusinessIdentityCommitSuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.authIndividualBusinessIdentityCommitFailure(result?.reason)
}
})
......@@ -414,7 +415,7 @@ class ApiService {
apiCallback.authEnterpriseLiveIdentitySuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.authEnterpriseLiveIdentityFailure(result?.reason)
}
})
......@@ -433,7 +434,7 @@ class ApiService {
apiCallback.authIndividualBusinessCompleteSuccess(result?.result)
}
override fun onFailer(result: HttpResult<AuthIndividualBusinessCompleteBean.Response?>?) {
override fun onFailure(result: HttpResult<AuthIndividualBusinessCompleteBean.Response?>?) {
apiCallback.authIndividualBusinessCompleteFailure(result?.reason)
}
})
......@@ -452,7 +453,7 @@ class ApiService {
apiCallback.createLifeAccountCallback(true)
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.createLifeAccountCallback(false)
}
})
......@@ -471,7 +472,7 @@ class ApiService {
apiCallback.getLifeAccountInfoByIdSuccess(result?.result)
}
override fun onFailer(result: HttpResult<GetLifeAccountInfoByIdBean.Response?>?) {
override fun onFailure(result: HttpResult<GetLifeAccountInfoByIdBean.Response?>?) {
apiCallback.getLifeAccountInfoByIdFailure(result?.reason)
}
})
......@@ -490,7 +491,7 @@ class ApiService {
apiCallback.getConfigListSuccess(result?.result)
}
override fun onFailer(result: HttpResult<GetConfigListBean.Response>?) {
override fun onFailure(result: HttpResult<GetConfigListBean.Response>?) {
apiCallback.getConfigListFailure(result?.reason)
}
......@@ -510,7 +511,7 @@ class ApiService {
callback?.invoke(true)
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
......@@ -529,7 +530,7 @@ class ApiService {
callback?.invoke(true)
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
......@@ -547,7 +548,7 @@ class ApiService {
callback?.invoke(result!!.result!!)
}
override fun onFailer(result: HttpResult<ArrayList<GetShopListBean>?>?) {
override fun onFailure(result: HttpResult<ArrayList<GetShopListBean>?>?) {
}
})
}
......
package com.yidian.shenghuoquan.newscontent.http.callback
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
/**
* author: yinjiacheng
......
......@@ -30,7 +30,7 @@ object PersonalRemoteDataSource {
apiCallback.getAccountListSuccess(result?.result)
}
override fun onFailer(result: HttpResult<AccountListDto?>?) {
override fun onFailure(result: HttpResult<AccountListDto?>?) {
apiCallback.getAccountListFailure(result?.reason)
}
})
......@@ -51,7 +51,7 @@ object PersonalRemoteDataSource {
apiCallback.getSmsCodeSuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
}
......@@ -71,7 +71,7 @@ object PersonalRemoteDataSource {
apiCallback.checkSmsCodeSuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
}
......@@ -91,7 +91,7 @@ object PersonalRemoteDataSource {
apiCallback.changeAccountSuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.changeAccountFailure()
}
})
......@@ -112,7 +112,7 @@ object PersonalRemoteDataSource {
apiCallback.addUserSuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
}
......@@ -132,7 +132,7 @@ object PersonalRemoteDataSource {
apiCallback.dissolveSuccess()
}
override fun onFailer(result: HttpResult<Any?>?) {
override fun onFailure(result: HttpResult<Any?>?) {
}
})
}
......
package com.yidian.shenghuoquan.newscontent.service
import android.util.Log
import com.yidian.xarc.xrouter.ResultResolver
import com.yidian.yac.core.zap.ZapService
class CacheService: ZapService(){
companion object{
const val serviceName: String = "CacheService"
}
private lateinit var resolver: ResultResolver
override fun onAction(name: String, action: String, params: Any, options: Any, resolver: ResultResolver) {
this.resolver = resolver
// params as JSONObject
// val path = params.optString("path")
// val body = params.optJSONObject("body")
Log.e("zhb-yd", "action:$action")
when(action){
"clearAllCache" -> clearAllCache()
}
}
override fun onExit() {
}
override fun onInit() {
}
private fun clearAllCache(){
// ToastUtil.showToast(YdBaseApplication.context, "清除缓存")
val jsonObject = "{\"message\":\"清除缓存完成\"}"
resolver.success(jsonObject)
}
}
\ No newline at end of file
......@@ -7,8 +7,8 @@ import com.yidian.xpage.XPageManager
import com.yidian.yac.core.zap.ZapService
import org.json.JSONObject
class DeepLinkService: ZapService(){
companion object{
class DeepLinkService : ZapService() {
companion object {
const val serviceName: String = "DeepLinkService"
}
......@@ -18,7 +18,7 @@ class DeepLinkService: ZapService(){
this.resolver = resolver
params as JSONObject
val parameters = params.optJSONObject("parameters")
when(params.optString("path")){
when (params.optString("path")) {
"ydnews" -> jumpNewsText(parameters)
"ydvideo" -> jumpNewsVideo(parameters)
"ydauthor" -> jumpAuthorHomePage(parameters)
......@@ -33,7 +33,7 @@ class DeepLinkService: ZapService(){
}
private fun jumpNewsText(params: JSONObject){
private fun jumpNewsText(params: JSONObject) {
val docId = params.optString("docid")
val paramsMap = HashMap<String, Any?>()
paramsMap[NewsContentActivity.ContentType] = NewsContentActivity.TextType
......@@ -41,7 +41,7 @@ class DeepLinkService: ZapService(){
XPageManager.push(XRouterPathConstants.NEWS_CONTENT, paramsMap)
}
private fun jumpNewsVideo(params: JSONObject){
private fun jumpNewsVideo(params: JSONObject) {
val docId = params.optString("docid")
val paramsMap = HashMap<String, Any?>()
paramsMap[NewsContentActivity.ContentType] = NewsContentActivity.VideoType
......@@ -49,7 +49,7 @@ class DeepLinkService: ZapService(){
XPageManager.push(XRouterPathConstants.NEWS_CONTENT, paramsMap)
}
private fun jumpAuthorHomePage(params: JSONObject){
private fun jumpAuthorHomePage(params: JSONObject) {
val fromId = params.optString("fromid")
val paramsMap = HashMap<String, Any?>()
}
......
package com.yidian.shenghuoquan.newscontent.service
import com.yidian.bcommon.XRouterPathConstants
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.services.AppUpgradeService
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountIdentityActivity
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.xarc.xrouter.ResultResolver
import com.yidian.xpage.XPageManager
import com.yidian.yac.core.zap.ZapService
import com.yidian.yac.core.zap.ZapTicket
import org.json.JSONObject
/**
* 生活号列表服务
*/
class LifeNumberListService : ZapService() {
private lateinit var resolver: ResultResolver
override fun onAction(name: String, action: String, params: Any, options: Any, resolver: ResultResolver) {
this.resolver = resolver
params as JSONObject
when (action) {
ZapServiceActionConstants.LifeNumberListServiceRequestList -> requestLifeNumberList()
}
}
override fun onExit() {
}
override fun onInit() {
}
/**
* 请求生活号列表
*/
private fun requestLifeNumberList() {
ApiService.getLifeAccountList(object : IGetLifeAccountListCallback {
override fun getLifeAccountListSuccess(result: ArrayList<LifeAccountItemBean.Response>?) {
when (result?.size) {
0 -> {
// 无生活号 进入认证流程
XPageManager.push(XRouterPathConstants.LIFE_ACCOUNT_AUTH, null)
}
1 -> {
// 关联一个生活号 进入商户管理中心
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, result[0]),
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, false)
)
)
}
else -> {
// 关联多个生活号
StorageUtil.getLifeAccountId()?.apply {
// 如果本地有上次操作的生活号则遍历生活号列表进入对应生活号的管理中心
result?.forEach {
if (it.life_account_id == this) {
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, it),
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, result.size > 1)
)
)
}
}
} ?: let {
// 进入生活号选择页面
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_IDENTITY,
hashMapOf(Pair(LifeAccountIdentityActivity.EXTRA_LIFE_ACCOUNT_LIST, result))
)
}
}
}
// 关闭启动页
resolver.success(true)
// 检查app更新
ZapTicket(AppUpgradeService.SERVICE_NAME).withAction(AppUpgradeService.ACTION_CHECK_APP_UPGRADE).ship()
}
override fun getLifeAccountListFailure(message: String?) {
ToastUtils.showShortSafe(message)
}
})
}
}
......@@ -19,7 +19,7 @@ import com.yidian.shenghuoquan.newscontent.databinding.ActivityLoginBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.IMobileLoginCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.MobileLoginBean
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountAuthDataManagerV2
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountIdentityActivity
......
......@@ -10,7 +10,7 @@ import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountCreateCompleteBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.xpage.XPageManager
......
......@@ -8,7 +8,7 @@ import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountEnterpriseAuthCompleteBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.xpage.XPageManager
......
......@@ -9,7 +9,7 @@ import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.cardutils.adapter.OnItemClickListener
import com.yidian.shenghuoquan.newscontent.adapter.LifeAccountIdentityAdapter
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountIdentityBinding
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.xpage.XPageManager
......
......@@ -8,7 +8,7 @@ import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountPersonalAuthCompleteBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.xpage.XPageManager
......
......@@ -26,7 +26,7 @@ import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.*
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthMerchantCheckBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.GetLifeAccountInfoByIdBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountAuthActivity
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountEnterpriseAuthActivity
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
......
......@@ -11,7 +11,7 @@ import com.yidian.bcommon.base.BaseDialog
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.MerchantSwitchAdapter
import com.yidian.shenghuoquan.newscontent.databinding.DialogMerchantSwitchBinding
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.utils.DensityUtil
......
......@@ -8,7 +8,7 @@ import androidx.core.content.ContextCompat
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.constant.Constant
import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountLabelBinding
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.bcommon.bean.LifeAccountItemBean
/**
* author: yinjiacheng
......
......@@ -5,7 +5,7 @@
<application>
<activity
android:name=".ui.FlashActivity"
android:name="com.yidian.shenghuoquan.broot.ui.FlashActivity"
android:theme="@style/FlashTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......
......@@ -104,7 +104,6 @@
<string name="agree">我同意</string>
<string name="privacy_policy">《隐私政策》</string>
<string name="user_agreement">《用户协议》</string>
<string name="privacy_tips">欢迎您使用生活圈商家版!您可以通过阅读《用户协议》与《隐私政策》帮助您了解我们收集、使用、存储和共享个人信息的情况,以及您所享有的相关权利。</string>
<string name="auth_finish">完成认证</string>
<string name="enterprise_qualification">企业资质</string>
<string name="enterprise_manager">经营者</string>
......
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