Commit 0c01e0cd authored by shiyl's avatar shiyl

登录页迁移到BSetting模块

parent 818bab5a
......@@ -71,7 +71,7 @@ class AppConfig {
const val userProtocol = "https://www.appgc.cn/plugins/privacy/content?type=mp&appId=1080334&ver=210601"
// 隐私政策
const val privacyPolicyStatement = "https://www.appgc.cn/plugins/privacy/content?type=privacy&appId=1080334&ver=210601"
const val privacyPolicy = "https://www.appgc.cn/plugins/privacy/content?type=privacy&appId=1080334&ver=210601"
// 我的钱包 - 常见问题
const val commonProblem = "https://www.appgc.cn/plugins/privacy/content?type=privacy&appId=1080334&ver=210601"
......
......@@ -7,8 +7,12 @@ package com.yidian.bcommon.services
class ZapServiceActionConstants {
companion object {
// 生活号列表服务 - 请求生活号列表action
const val LifeNumberListServiceRequestList = "LifeNumberListServiceRequestList"
// 请求生活号列表
const val ActionRequestList = "ActionRequestList"
// 请求短信验证码
const val ActionRequestSmsCode = "ActionRequestSmsCode"
// 通过服务清除内存中的认证数据
const val ActionClearAuthenticationData = "ActionClearAuthenticationData"
}
}
package com.yidian.shenghuoquan.newscontent.utils
package com.yidian.bcommon.utils
import android.annotation.SuppressLint
import android.graphics.Color
......
package com.yidian.shenghuoquan.newscontent.utils
package com.yidian.bcommon.utils
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.constant.HawkConfig
......
package com.yidian.shenghuoquan.newscontent.utils
package com.yidian.bcommon.utils
import android.text.Editable
import android.text.TextWatcher
......@@ -12,4 +12,4 @@ abstract class TextWatcherAdapter: TextWatcher {
override fun afterTextChanged(s: Editable?) {
}
}
\ No newline at end of file
}
package com.yidian.bcommon.webview
import android.content.Context
import android.content.Intent
import android.os.Build
import android.webkit.WebChromeClient
import android.webkit.WebSettings
......@@ -52,8 +54,12 @@ class PublicWebViewActivity : BaseMvvmActivity<ActivityPublicWebViewBinding, Pub
}
}
// override fun onDestroy() {
// super.onDestroy()
// binding.webView.destroy()
// }
companion object {
fun startWebViewActivity(context: Context, url: String) {
val intent = Intent(context, PublicWebViewActivity::class.java)
intent.putExtra("url", url)
context.startActivity(intent)
}
}
}
......@@ -69,7 +69,7 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>() {
val loginStatus = Hawk.get(HawkConfig.LoginStatus, false)
if (loginStatus) {
// 已登录请求生活号列表
ZapTicket(ZapServiceNameConstants.LifeNumberListServiceName).withAction(ZapServiceActionConstants.LifeNumberListServiceRequestList)
ZapTicket(ZapServiceNameConstants.LifeNumberListServiceName).withAction(ZapServiceActionConstants.ActionRequestList)
.onResult { result ->
// 请求生活号列表成功,关闭启动页
if (result.result as Boolean) {
......@@ -141,7 +141,7 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>() {
override fun onClick(widget: View) {
val intent = Intent(this@FlashActivity, PublicWebViewActivity::class.java)
intent.putExtra("url", AppConfig.privacyPolicyStatement)
intent.putExtra("url", AppConfig.privacyPolicy)
startActivity(intent)
}
}, 26, 32, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
......
......@@ -2,4 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yidian.shenghuoquan.bsetting">
<application>
<activity android:name=".ui.login.LoginLifeCircleActivity" />
</application>
</manifest>
\ No newline at end of file
package com.yidian.shenghuoquan.bsetting.app
import android.content.Intent
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.constant.XRouterPathConstants
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 BSettingApplication : 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.bsetting.app
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.shenghuoquan.bsetting.ui.login.LoginLifeCircleActivity
/**
* 注册XPageNode工具类
*/
object ClassMapUtil {
// val xPageNodeMap = mapOf(
// XRouterPathConstants.Companion.FLASH to com.yidian.shenghuoquan.broot.ui.FlashActivity::class.java,// 启动页
val xPageNodeMap = mapOf(
XRouterPathConstants.Companion.LOGIN_LIFE_CIRCLE to LoginLifeCircleActivity::class.java,// 启动页
// XRouterPathConstants.Companion.COMMODITY_MANAGEMENT to CommodityManagementActivity::class.java, // 商品管理
// )
)
}
package com.yidian.shenghuoquan.bsetting.app
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.yac.core.core.YacModuleSpec
@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())
// }
}
package com.yidian.shenghuoquan.bsetting.bean
/**
* 手机号登录
*/
class MobileLoginBean(var request: Request, var response: Response) {
data class Request(var mobile: String?, var code: String?)
data class Response(
val app_id: Int,
val app_name: String,
val avatar: String,
val city_id: String,
val city_name: String,
val gender: String,
val gender_text: String,
val mobile: String,
val nick_name: String,
val user_id: Long
)
}
package com.yidian.shenghuoquan.bsetting.http
import com.yidian.bcommon.http.HttpParamsUtils
import com.yidian.bcommon.http.HttpResult
import com.yidian.bcommon.http.HttpResultSubscriber
import com.yidian.bcommon.http.TransformUtil
import com.yidian.http.ServiceFactory
import com.yidian.shenghuoquan.bsetting.bean.MobileLoginBean
object SettingRemoteDataSource {
private var api = ServiceFactory.getInstance().createService(SettingService::class.java)
/**
* 手机号登录
*/
fun getMobileLogin(requestParams: HashMap<String, String?>, callback: ((MobileLoginBean.Response?) -> Unit)? = null) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
api
.mobileLogin(publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<MobileLoginBean.Response?>() {
override fun onSuccess(result: HttpResult<MobileLoginBean.Response?>?) {
callback?.invoke(result?.result)
}
override fun onFailure(result: HttpResult<MobileLoginBean.Response?>?) {
}
})
}
}
package com.yidian.shenghuoquan.bsetting.http
import com.yidian.bcommon.http.HttpResult
import io.reactivex.rxjava3.core.Observable
import retrofit2.http.GET
import retrofit2.http.QueryMap
interface SettingService {
private companion object {
const val mobileLogin = "/user/user/login"
// const val sendMsgCode = "/sms/sms/send_code"
const val userLogout = "/user/user/logout"
}
/**
* 手机号登录
*/
@GET(mobileLogin)
fun mobileLogin(@QueryMap commonParams: Map<String, String>, @QueryMap params: Map<String, String?>): Observable<HttpResult<Any?>>
// /**
// * 发送验证码
// */
// @GET(sendMsgCode)
// fun sendMsgCode(@QueryMap commonParams: Map<String, String>, @QueryMap params: Map<String, String?>): Observable<HttpResult<Any?>>
/**
* 退出登录
*/
@GET(userLogout)
fun userLogout(@QueryMap commonParams: Map<String, String>, @QueryMap params: Map<String, String?>): Observable<HttpResult<Any?>>
}
......@@ -2,4 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yidian.shenghuoquan.bsetting">
<application>
<activity android:name=".ui.login.LoginLifeCircleActivity" />
</application>
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:type="linear" android:startColor="#FF1751F1"
android:endColor="#FF3693FF" android:angle="0"/>
<corners android:radius="22dp" />
</shape>
\ 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">
<solid android:color="@color/color_1852F1" />
<size
android:width="@dimen/dp2"
android:height="@dimen/dp19" />
</shape>
\ No newline at end of file
......@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_FFFFFFFF"
android:background="@color/white"
android:orientation="vertical">
<TextView
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--用户协议勾选框-->
<style name="protocol_checkboxBg" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/protocol_checkbox_bg</item>
</style>
</resources>
\ No newline at end of file
......@@ -12,10 +12,6 @@
<activity
android:name=".ui.auth.LifeAccountCreateCompleteActivity"
android:theme="@style/Transparent" />
<activity
android:name=".ui.ProtocolActivity"
android:theme="@style/Transparent" />
<activity android:name=".ui.LoginLifeCircleActivity" />
<activity
android:name=".ui.store.StoreManagementActivity"
android:theme="@style/Transparent" />
......
......@@ -24,7 +24,6 @@ import com.yidian.bcommon.constant.XRouterPathConstants.Companion.PERSONAL_MANAG
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.PERSONAL_MY_STAFF
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.PERSONAL_STAFF_INFO
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.PERSONAL_STAFF_MANAGE
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.PROTOCOL
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.STORE_MANAGEMENT
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.SYSTEM_SETTING
import com.yidian.bcommon.services.ZapServiceNameConstants
......@@ -33,8 +32,6 @@ import com.yidian.nightmode.util.NightModeUtil
import com.yidian.shenghuoquan.newscontent.personnel.ui.*
import com.yidian.shenghuoquan.newscontent.service.LifeNumberListService
import com.yidian.shenghuoquan.newscontent.service.SelectStoreService
import com.yidian.shenghuoquan.newscontent.ui.LoginLifeCircleActivity
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.shenghuoquan.newscontent.ui.auth.*
import com.yidian.shenghuoquan.newscontent.ui.center.*
import com.yidian.shenghuoquan.newscontent.ui.setting.FeedbackActivity
......@@ -66,17 +63,6 @@ class NewsContentApplication : YdBaseApplication() {
private fun registerXPage() {
XPageManager.registeredNodes(
arrayListOf(
XPageNode(LOGIN_LIFE_CIRCLE, 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, LoginLifeCircleActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
}),
XPageNode(STORE_MANAGEMENT, XPageNodePageType.NATIVE, object : XPageHandler {
override fun handler(params: Map<String, Any?>?) {
val intent = Intent()
......@@ -187,17 +173,6 @@ class NewsContentApplication : YdBaseApplication() {
context.startActivity(intent)
}
}),
XPageNode(PROTOCOL, 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, ProtocolActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
}),
XPageNode(CHOOSE_CAREER, XPageNodePageType.NATIVE, object : XPageHandler {
override fun handler(params: Map<String, Any?>?) {
val intent = Intent()
......
......@@ -56,7 +56,7 @@ class ApiService {
}
// 获取短信验证码
fun sendMsgCode(apiCallback: IMobileLoginCallback, requestParams: HashMap<String, String?>) {
fun sendMsgCode(requestParams: HashMap<String, String?>, callback: ((Boolean) -> Unit)? = null) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
......@@ -65,30 +65,10 @@ class ApiService {
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<Any?>() {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.sendSmsCodeCallBack(result)
callback?.invoke(true)
}
override fun onFailure(result: HttpResult<Any?>?) {
apiCallback.sendSmsCodeCallBack(result)
}
})
}
// 手机号登录接口
fun mobileLogin(apiCallback: IMobileLoginCallback, requestParams: HashMap<String, String?>) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
ServiceFactory.getInstance().createService(CommonService::class.java)
.mobileLogin(publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<MobileLoginBean.Response?>() {
override fun onSuccess(result: HttpResult<MobileLoginBean.Response?>?) {
apiCallback.mobileLoginCallBack(result)
}
override fun onFailure(result: HttpResult<MobileLoginBean.Response?>?) {
apiCallback.mobileLoginCallBack(result)
}
})
}
......
package com.yidian.shenghuoquan.newscontent.http.httpbean
import com.yidian.bcommon.http.HttpResult
interface ILoginCallback {
fun sendSmsCodeCallBack(t: HttpResult<Any?>?)
fun mobileLoginCallBack(t: HttpResult<MobileLoginBean.Response?>?)
fun logoutCallBack(t: HttpResult<Any?>?)
}
package com.yidian.shenghuoquan.newscontent.http.httpbean
import com.yidian.bcommon.http.HttpResult
interface IMobileLoginCallback {
fun sendSmsCodeCallBack(t: HttpResult<Any?>?)
fun mobileLoginCallBack(t: HttpResult<MobileLoginBean.Response?>?)
}
package com.yidian.shenghuoquan.newscontent.http.httpbean
class MobileLoginBean(var request: Request, var response: Response) {
data class Request(var mobile: String?, var code: String?)
data class Response(
val app_id: Int,
val app_name: String,
val avatar: String,
val city_id: String,
val city_name: String,
val gender: String,
val gender_text: String,
val mobile: String,
val nick_name: String,
val user_id: Long
)
}
\ No newline at end of file
......@@ -13,8 +13,8 @@ import com.yidian.shenghuoquan.newscontent.databinding.ActivityAddStaffBinding
import com.yidian.shenghuoquan.newscontent.personnel.http.PersonalRemoteDataSource
import com.yidian.shenghuoquan.newscontent.personnel.http.callback.IPersonalAddUserCallBack
import com.yidian.shenghuoquan.newscontent.personnel.http.callback.IPersonalGetSmsCodeCallBack
import com.yidian.shenghuoquan.newscontent.utils.CountDownTimerUtils
import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter
import com.yidian.bcommon.utils.CountDownTimerUtils
import com.yidian.bcommon.utils.TextWatcherAdapter
import com.yidian.utils.ToastUtil
import com.yidian.xpage.XPageManager
......
......@@ -25,11 +25,11 @@ import com.yidian.shenghuoquan.newscontent.personnel.http.PersonalRemoteDataSour
import com.yidian.shenghuoquan.newscontent.personnel.http.callback.IPersonalChangeAccountCallBack
import com.yidian.shenghuoquan.newscontent.personnel.http.callback.IPersonalCheckSmsCodeCallBack
import com.yidian.shenghuoquan.newscontent.personnel.http.callback.IPersonalGetSmsCodeCallBack
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.utils.CountDownTimerUtils
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter
import com.yidian.bcommon.utils.CountDownTimerUtils
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.utils.TextWatcherAdapter
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.utils.ToastUtil
import com.yidian.xpage.XPageManager
......@@ -178,18 +178,12 @@ class ManagerChangeActivity : BaseActivity<ActivityManagerChangeBinding>() {
it.setSpan(ForegroundColorSpan(Color.parseColor("#1852F1")), 28, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
it.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
val map = HashMap<String, String>()
map[ProtocolActivity.ProtocolTitleKey] = resources.getString(R.string.user_protocol)
map[ProtocolActivity.ProtocolUrlKey] = AppConfig.userProtocol
XPageManager.push(XRouterPathConstants.PROTOCOL, map)
PublicWebViewActivity.startWebViewActivity(this@ManagerChangeActivity, AppConfig.userProtocol)
}
}, 28, 33, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
it.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
val map = HashMap<String, String>()
map[ProtocolActivity.ProtocolTitleKey] = resources.getString(R.string.privacy_policy_statement)
map[ProtocolActivity.ProtocolUrlKey] = AppConfig.privacyPolicyStatement
XPageManager.push(XRouterPathConstants.PROTOCOL, map)
PublicWebViewActivity.startWebViewActivity(this@ManagerChangeActivity, AppConfig.privacyPolicy)
}
}, 33, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}
......
......@@ -15,7 +15,7 @@ import com.yidian.shenghuoquan.newscontent.personnel.bean.AccountListDto
import com.yidian.shenghuoquan.newscontent.personnel.bean.AccountUser
import com.yidian.shenghuoquan.newscontent.personnel.http.callback.IPersonalAccountListCallback
import com.yidian.shenghuoquan.newscontent.personnel.http.PersonalRemoteDataSource
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.xpage.XPageManager
/**
......
......@@ -15,7 +15,7 @@ import com.yidian.shenghuoquan.newscontent.personnel.http.PersonalRemoteDataSour
import com.yidian.shenghuoquan.newscontent.personnel.http.callback.IPersonalDissolveCallBack
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.utils.SensitiveInfoUtil
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.xpage.XPageManager
/**
......
......@@ -9,7 +9,8 @@ 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.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountAuthDataManagerV2
import com.yidian.xarc.xrouter.ResultResolver
import com.yidian.xpage.XPageManager
import com.yidian.yac.core.zap.ZapService
......@@ -29,7 +30,9 @@ class LifeNumberListService : ZapService() {
this.resolver = resolver
params as JSONObject
when (action) {
ZapServiceActionConstants.LifeNumberListServiceRequestList -> requestLifeNumberList()
ZapServiceActionConstants.ActionRequestList -> requestLifeNumberList()
ZapServiceActionConstants.ActionRequestSmsCode -> requestSmsCode(params)
ZapServiceActionConstants.ActionClearAuthenticationData -> clearAuthenticationData()
}
}
......@@ -99,4 +102,29 @@ class LifeNumberListService : ZapService() {
})
}
/**
* 请求短信验证码
*/
private fun requestSmsCode(params: JSONObject) {
val mobile = params.optString("mobile")
val scene = params.optString("scene")
val paramsMap = HashMap<String, String?>()
paramsMap["mobile"] = mobile
paramsMap["scene"] = scene
ApiService.sendMsgCode(paramsMap) {
if (it) {
resolver.success(true)
}
}
}
/**
* 清除内存中的认证数据
*/
private fun clearAuthenticationData() {
LifeAccountAuthDataManagerV2.personalAuthData.clearData()
LifeAccountAuthDataManagerV2.merchantAuthData.clearData()
}
}
package com.yidian.shenghuoquan.newscontent.ui
import android.annotation.SuppressLint
import android.app.Activity
import android.content.ClipData
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.webkit.ValueCallback
import android.webkit.WebChromeClient
import android.webkit.WebView
import android.webkit.WebViewClient
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.constant.HawkConfig
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.SUPPORT
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityProtocolBinding
import com.yidian.xarc.xbrid.XBridManager
import com.yidian.xarc.xbrid.XWebView
class ProductSupportActivity : BaseActivity<ActivityProtocolBinding>() {
override fun createViewBinding(): ActivityProtocolBinding {
return ActivityProtocolBinding.inflate(layoutInflater)
}
override fun getXPageName(): String {
return SUPPORT
}
private val FILE_CHOOSER_RESULT_CODE = 666
private var uploadMessageAboveL: ValueCallback<Array<Uri>>? = null
private lateinit var webView: XWebView
@SuppressLint("SetJavaScriptEnabled")
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initTitle()
webView = XBridManager.getWebView(this, "testidenfier", viewBind.wvProtocol)
webView.settings.javaScriptEnabled = true
val webViewClient: WebViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, url: String?): Boolean {
super.shouldOverrideUrlLoading(view, url)
view.loadUrl(url)
return true
}
}
webView.webViewClient = webViewClient
webView.webChromeClient = object : WebChromeClient() {
override fun onShowFileChooser(
webView: WebView?,
filePathCallback: ValueCallback<Array<Uri>>?,
fileChooserParams: FileChooserParams?
): Boolean {
uploadMessageAboveL = filePathCallback
openImageChooserActivity()
return true
}
}
webView.settings.javaScriptEnabled = true
webView.settings.domStorageEnabled = true
val url = "https://support.qq.com/product/304954"
val nickname = Hawk.get(HawkConfig.Nickname, "")
val profileUrl = Hawk.get(HawkConfig.ProfileUrl, "")
val username = Hawk.get(HawkConfig.Username, "")
val postData = "nickname=$nickname&avatar=$profileUrl&openid=$username"
webView.postUrl(url, postData.toByteArray())
}
private fun initTitle() {
initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, resources.getString(R.string.my_staff))
}
private fun openImageChooserActivity() {
val i = Intent(Intent.ACTION_GET_CONTENT)
i.addCategory(Intent.CATEGORY_OPENABLE)
i.type = "image/*"
startActivityForResult(Intent.createChooser(i, "Image Chooser"), FILE_CHOOSER_RESULT_CODE)
}
private fun onActivityResultAboveL(requestCode: Int, resultCode: Int, intent: Intent?) {
if (requestCode != FILE_CHOOSER_RESULT_CODE || uploadMessageAboveL == null) return
var results: Array<Uri>? = null
if (resultCode == Activity.RESULT_OK) {
if (intent != null) {
val dataString = intent.dataString
val clipData: ClipData? = intent.clipData
if (clipData != null) {
results = Array(clipData.itemCount) {
Uri.EMPTY
}
for (i in 0 until clipData.itemCount) {
val item: ClipData.Item = clipData.getItemAt(i)
results[i] = item.uri
}
}
if (dataString != null) results = arrayOf(Uri.parse(dataString))
}
}
uploadMessageAboveL?.onReceiveValue(results)
uploadMessageAboveL = null
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == FILE_CHOOSER_RESULT_CODE) {
if (uploadMessageAboveL != null) {
onActivityResultAboveL(requestCode, resultCode, data)
}
}
}
}
package com.yidian.shenghuoquan.newscontent.ui
import android.os.Bundle
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.constant.XRouterPathConstants.Companion.PROTOCOL
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.newscontent.databinding.ActivityProtocolBinding
import com.yidian.xarc.xbrid.XBridManager
import com.yidian.xarc.xbrid.XWebView
/**
* 用户协议 & 隐私政策
*/
class ProtocolActivity : BaseActivity<ActivityProtocolBinding>() {
private lateinit var webView: XWebView
override fun createViewBinding(): ActivityProtocolBinding {
return ActivityProtocolBinding.inflate(layoutInflater)
}
override fun getXPageName(): String {
return PROTOCOL
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
val serializableExtra = intent.getSerializableExtra(XRouterPathConstants.ParamsKey)
serializableExtra?.let {
val paramsMap = serializableExtra as HashMap<*, *>
val protocolTitle = paramsMap[ProtocolTitleKey] as String?
val protocolUrl = paramsMap[ProtocolUrlKey] as String?
initTitle(protocolTitle)
initWebView(protocolUrl)
}
}
private fun initTitle(protocolTitle: String?) {
initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, protocolTitle ?: "协议")
}
private fun initWebView(protocolUrl: String?) {
if (protocolUrl.isNullOrBlank()) {
ToastUtils.showShortSafe("链接地址为空")
return
}
webView = XBridManager.getWebView(this, "testidenfier", viewBind.wvProtocol)
webView.loadUrl(protocolUrl)
}
companion object {
const val ProtocolTitleKey = "protocol_title"
const val ProtocolUrlKey = "protocol_url"
}
}
......@@ -17,7 +17,7 @@ import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountCreate
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.utils.InputFilterUtil
import com.yidian.shenghuoquan.newscontent.utils.SensitiveInfoUtil
import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter
import com.yidian.bcommon.utils.TextWatcherAdapter
import com.yidian.utils.ToastUtil
import com.yidian.xpage.XPageManager
......
......@@ -19,7 +19,7 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthEnterpriseLegalIden
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthIndividualBusinessCompleteBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthMerchantCheckBean
import com.yidian.shenghuoquan.newscontent.ui.dialog.BottomSelectDialog
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthProcessView
import com.yidian.xpage.XPageManager
......
......@@ -11,7 +11,7 @@ import com.yidian.shenghuoquan.newscontent.adapter.LifeAccountIdentityAdapter
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountIdentityBinding
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.xpage.XPageManager
/**
......
......@@ -16,7 +16,7 @@ import com.yidian.shenghuoquan.newscontent.http.callback.IUserLogoutCallBack
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthAuthenticationBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthPersonalCompleteBean
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
......
......@@ -32,7 +32,7 @@ import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountEnterpriseAuthActi
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.ui.dialog.MerchantCenterBottomHintDialog
import com.yidian.shenghuoquan.newscontent.ui.setting.SystemSettingActivity
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView
import com.yidian.shenghuoquan.newscontent.widget.MerchantAssetView
......
......@@ -12,7 +12,7 @@ import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.MerchantSwitchAdapter
import com.yidian.shenghuoquan.newscontent.databinding.DialogMerchantSwitchBinding
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.utils.DensityUtil
/**
......
package com.yidian.shenghuoquan.newscontent.ui.dialog
import android.app.Activity
import android.app.Dialog
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.text.SpannableString
import android.text.SpannableStringBuilder
import android.text.Spanned
import android.text.TextPaint
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.text.style.ForegroundColorSpan
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.constant.AppConfig.Companion.privacyPolicyStatement
import com.yidian.bcommon.constant.AppConfig.Companion.userProtocol
import com.yidian.bcommon.constant.HawkConfig
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.nightmode.widget.YdTextView
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.xpage.XPageManager
/**
* 用户协议 & 隐私政策 弹框
*/
class ProtocolDialog(private val activity: Activity, themeResId: Int, private val paramsMap: HashMap<String, Any?>?) :
Dialog(activity, themeResId) {
private lateinit var tvPrivacyPolicyTwo: YdTextView
private lateinit var tvAgree: YdTextView
private lateinit var tvDisagree: YdTextView
private var lastClickTime = 0L
init {
setDialog()
}
private fun setDialog() {
this.setCanceledOnTouchOutside(false)
this.setContentView(R.layout.protocol_dialog)
this.setOwnerActivity(activity)
tvPrivacyPolicyTwo = findViewById(R.id.tv_privacyPolicyTwo)
tvAgree = findViewById(R.id.tv_agree)
tvDisagree = findViewById(R.id.tv_disagree)
setSpannableString()
setClickListener()
}
private fun setSpannableString() {
tvPrivacyPolicyTwo.highlightColor = Color.TRANSPARENT
val textSpannedBuilder = SpannableStringBuilder()
val textSpanned1 = SpannableString(activity.getString(R.string.privacy_policy_two_first))
val textSpanned2 = SpannableString(activity.getString(R.string.privacy_policy_statement))
textSpanned2.setSpan(
ForegroundColorSpan(activity.resources.getColor(R.color.lightBlueColor)),
0,
textSpanned2.length,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
)
textSpanned2.setSpan(object : ClickableSpan() {
override fun onClick(view: View) {
val currentClickTime = System.currentTimeMillis()
if (currentClickTime - lastClickTime < 1000) return
lastClickTime = currentClickTime
val urlMap = HashMap<String, String>()
urlMap[ProtocolActivity.ProtocolTitleKey] = activity.getString(R.string.privacy_policy_statement)
urlMap[ProtocolActivity.ProtocolUrlKey] = privacyPolicyStatement
XPageManager.push(XRouterPathConstants.PROTOCOL, urlMap)
}
override fun updateDrawState(ds: TextPaint) {
ds.isUnderlineText = false
}
}, 0, textSpanned2.length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
val textSpanned3 = SpannableString(activity.getString(R.string.and))
textSpanned3.setSpan(
ForegroundColorSpan(activity.resources.getColor(R.color.mainBlackColor)),
0,
textSpanned3.length,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
)
val textSpanned4 = SpannableString(activity.getString(R.string.user_protocol))
textSpanned4.setSpan(
ForegroundColorSpan(activity.resources.getColor(R.color.lightBlueColor)),
0,
textSpanned4.length,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
)
textSpanned4.setSpan(object : ClickableSpan() {
override fun onClick(view: View) {
val currentClickTime = System.currentTimeMillis()
if (currentClickTime - lastClickTime < 1000) return
lastClickTime = currentClickTime
val urlMap = HashMap<String, String>()
urlMap[ProtocolActivity.ProtocolTitleKey] = activity.getString(R.string.user_protocol)
urlMap[ProtocolActivity.ProtocolUrlKey] = userProtocol
XPageManager.push(XRouterPathConstants.PROTOCOL, urlMap)
}
override fun updateDrawState(ds: TextPaint) {
ds.isUnderlineText = false
}
}, 0, textSpanned4.length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
val textSpanned5 = SpannableString(activity.getString(R.string.privacy_policy_two_second))
textSpanned5.setSpan(
ForegroundColorSpan(activity.resources.getColor(R.color.mainBlackColor)),
0,
textSpanned5.length,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
)
tvPrivacyPolicyTwo.movementMethod = LinkMovementMethod.getInstance()
tvPrivacyPolicyTwo.text =
textSpannedBuilder.append(textSpanned1).append(textSpanned2).append(textSpanned3).append(textSpanned4).append(textSpanned5)
}
private fun setClickListener() {
tvAgree.setOnClickListener {
Hawk.put(HawkConfig.ProtocolIsAgree, true)
dismiss()
Handler().postDelayed({
XPageManager.push(XRouterPathConstants.NEWS_MAIN, paramsMap)
activity.finish()
}, 1000)
}
tvDisagree.setOnClickListener {
dismiss()
val protocolHintDialog = ProtocolHintDialog(activity, R.style.normal_dialog, paramsMap)
protocolHintDialog.show()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val params: WindowManager.LayoutParams? = window?.attributes
params?.width = WindowManager.LayoutParams.MATCH_PARENT
params?.height = WindowManager.LayoutParams.WRAP_CONTENT
window?.attributes = params
window?.attributes?.gravity = Gravity.BOTTOM
}
}
package com.yidian.shenghuoquan.newscontent.ui.dialog
import android.app.Activity
import android.app.Dialog
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.text.SpannableString
import android.text.SpannableStringBuilder
import android.text.Spanned
import android.text.TextPaint
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.text.style.ForegroundColorSpan
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.constant.AppConfig.Companion.privacyPolicyStatement
import com.yidian.bcommon.constant.HawkConfig
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.nightmode.widget.YdTextView
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.xpage.XPageManager
/**
* 用户协议 & 隐私政策的 详细内容提示弹框
*/
class ProtocolHintDialog(private val activity: Activity, themeResId: Int, private val paramsMap: HashMap<String, Any?>?) :
Dialog(activity, themeResId) {
private lateinit var tvContent: YdTextView
private lateinit var tvAgree: YdTextView
private lateinit var tvDisagree: YdTextView
private var lastClickTime = 0L
init {
setDialog()
}
private fun setDialog() {
this.setCanceledOnTouchOutside(false)
this.setContentView(R.layout.protocol_hint_dialog)
this.setOwnerActivity(activity)
tvContent = findViewById(R.id.tv_content)
tvAgree = findViewById(R.id.tv_agree)
tvDisagree = findViewById(R.id.tv_disagree)
setSpannableString()
setClickListener()
}
private fun setSpannableString() {
tvContent.highlightColor = Color.TRANSPARENT
val textSpannedBuilder = SpannableStringBuilder()
val textSpanned1 = SpannableString(activity.getString(R.string.protocol_hint_content_one))
val textSpanned2 = SpannableString(activity.getString(R.string.privacy_policy))
textSpanned2.setSpan(
ForegroundColorSpan(activity.resources.getColor(R.color.lightBlueColor)),
0,
textSpanned2.length,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
)
textSpanned2.setSpan(object : ClickableSpan() {
override fun onClick(view: View) {
val currentClickTime = System.currentTimeMillis()
if (currentClickTime - lastClickTime < 1000) return
lastClickTime = currentClickTime
val urlMap = HashMap<String, String>()
urlMap[ProtocolActivity.ProtocolTitleKey] = activity.resources.getString(R.string.privacy_policy_statement)
urlMap[ProtocolActivity.ProtocolUrlKey] = privacyPolicyStatement
XPageManager.push(XRouterPathConstants.PROTOCOL, urlMap)
}
override fun updateDrawState(ds: TextPaint) {
ds.isUnderlineText = false
}
}, 0, textSpanned2.length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
val textSpanned3 = SpannableString(activity.getString(R.string.protocol_hint_content_two))
textSpanned3.setSpan(
ForegroundColorSpan(activity.resources.getColor(R.color.mainBlackColor)),
0,
textSpanned3.length,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
)
tvContent.movementMethod = LinkMovementMethod.getInstance()
tvContent.text = textSpannedBuilder.append(textSpanned1).append(textSpanned2).append(textSpanned3)
}
private fun setClickListener() {
tvAgree.setOnClickListener {
Hawk.put(HawkConfig.ProtocolIsAgree, true)
dismiss()
Handler().postDelayed({
XPageManager.push(XRouterPathConstants.NEWS_MAIN, paramsMap)
activity.finish()
}, 1000)
}
tvDisagree.setOnClickListener {
dismiss()
Handler().postDelayed({
activity.finish()
}, 200)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val params: WindowManager.LayoutParams? = window?.attributes
params?.width = WindowManager.LayoutParams.MATCH_PARENT
params?.height = WindowManager.LayoutParams.WRAP_CONTENT
window?.attributes = params
window?.attributes?.gravity = Gravity.BOTTOM
}
}
......@@ -16,13 +16,13 @@ import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import com.yidian.bcommon.services.AppUpgradeService
import com.yidian.bcommon.utils.SystemSettingUtils
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.bcommon.widget.CommonInfoDialog
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.bean.HintOptionBean
import com.yidian.shenghuoquan.newscontent.databinding.ActivitySystemSettingBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IUserLogoutCallBack
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.utils.SensitiveInfoUtil
import com.yidian.utils.ToastUtil
......@@ -94,17 +94,11 @@ class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() {
}
// 用户协议
viewBind.clProtocol.clickAntiShake {
val urlMap = HashMap<String, String>()
urlMap[ProtocolActivity.ProtocolUrlKey] = AppConfig.userProtocol
urlMap[ProtocolActivity.ProtocolTitleKey] = resources.getString(R.string.user_protocol)
XPageManager.push(XRouterPathConstants.PROTOCOL, urlMap)
PublicWebViewActivity.startWebViewActivity(this, AppConfig.userProtocol)
}
// 隐私政策
viewBind.clPrivacy.clickAntiShake {
val urlMap = HashMap<String, String>()
urlMap[ProtocolActivity.ProtocolUrlKey] = AppConfig.privacyPolicyStatement
urlMap[ProtocolActivity.ProtocolTitleKey] = resources.getString(R.string.privacy_policy_statement)
XPageManager.push(XRouterPathConstants.PROTOCOL, urlMap)
PublicWebViewActivity.startWebViewActivity(this, AppConfig.privacyPolicy)
}
// 用户反馈
viewBind.clFeedback.clickAntiShake {
......
......@@ -13,7 +13,7 @@ import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.ChooseStoreApter
import com.yidian.shenghuoquan.newscontent.databinding.ActivityChooseStoreBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
import com.yidian.xpage.XPageManager
......
......@@ -10,7 +10,7 @@ import com.yidian.bcommon.utils.EditTextUtils
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.newscontent.databinding.ActivityStoreEditBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
/**
......
......@@ -3,7 +3,6 @@ package com.yidian.shenghuoquan.newscontent.ui.store
import android.content.Intent
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.view.KeyEvent
import com.amap.api.services.core.AMapException
import com.amap.api.services.core.PoiItem
......@@ -16,7 +15,7 @@ import com.yidian.bcommon.extensions.hide
import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.bcommon.extensions.show
import com.yidian.shenghuoquan.newscontent.databinding.LayoutActivityServiceProductAddrSearchBinding
import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter
import com.yidian.bcommon.utils.TextWatcherAdapter
/**
* 搜索门店地址
......
......@@ -10,7 +10,7 @@ import com.yidian.bcommon.extensions.show
import com.yidian.shenghuoquan.newscontent.adapter.StoreAdapter
import com.yidian.shenghuoquan.newscontent.databinding.ActivityStoreManagementBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.bcommon.utils.StorageUtil
/**
* 门店管理
......
......@@ -7,9 +7,9 @@ import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.extensions.clickAntiShake
import com.yidian.bcommon.extensions.hide
import com.yidian.bcommon.extensions.show
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityMyWalletBinding
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.xpage.XPageManager
......@@ -54,9 +54,7 @@ class MyWalletActivity : BaseActivity<ActivityMyWalletBinding>() {
viewBind.include.ivMenu.show()
viewBind.include.ivMenu.setImageResource(R.drawable.icon_faq)
viewBind.include.ivMenu.setOnClickListener {
val urlMap = HashMap<String, String>()
urlMap[ProtocolActivity.ProtocolUrlKey] = AppConfig.commonProblem
XPageManager.push(XRouterPathConstants.COMMON_PROBLEM, urlMap)
PublicWebViewActivity.startWebViewActivity(this, AppConfig.commonProblem)
}
}
}
......@@ -9,8 +9,8 @@ import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.extensions.clickAntiShake
import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.shenghuoquan.newscontent.databinding.ActivityVerifyIdentifyBinding
import com.yidian.shenghuoquan.newscontent.utils.CountDownTimerUtils
import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter
import com.yidian.bcommon.utils.CountDownTimerUtils
import com.yidian.bcommon.utils.TextWatcherAdapter
import com.yidian.xpage.XPageManager
/**
......
......@@ -10,7 +10,7 @@ import com.yidian.bcommon.extensions.initTitleBar
import com.yidian.bcommon.extensions.show
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityWithdrawBinding
import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter
import com.yidian.bcommon.utils.TextWatcherAdapter
import java.lang.Exception
/**
......
......@@ -6,11 +6,9 @@ import android.view.View
import android.widget.CompoundButton
import androidx.constraintlayout.widget.ConstraintLayout
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewPrivacyAgreementBinding
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.xpage.XPageManager
/**
* author: yinjiacheng
......@@ -44,16 +42,10 @@ class PrivacyAgreementView @JvmOverloads constructor(
val id = v?.id
if (id == R.id.tv_privacy_policy) {
// 隐私政策
val map = HashMap<String, String>()
map[ProtocolActivity.ProtocolTitleKey] = resources.getString(R.string.privacy_policy_statement)
map[ProtocolActivity.ProtocolUrlKey] = AppConfig.privacyPolicyStatement
XPageManager.push(XRouterPathConstants.PROTOCOL, map)
PublicWebViewActivity.startWebViewActivity(context, AppConfig.privacyPolicy)
} else if (id == R.id.tv_user_agreement) {
// 用户协议
val map = HashMap<String, String>()
map[ProtocolActivity.ProtocolTitleKey] = resources.getString(R.string.user_protocol)
map[ProtocolActivity.ProtocolUrlKey] = AppConfig.userProtocol
XPageManager.push(XRouterPathConstants.PROTOCOL, map)
PublicWebViewActivity.startWebViewActivity(context, AppConfig.userProtocol)
}
}
......
......@@ -12,10 +12,6 @@
<activity
android:name=".ui.auth.LifeAccountCreateCompleteActivity"
android:theme="@style/Transparent" />
<activity
android:name=".ui.ProtocolActivity"
android:theme="@style/Transparent" />
<activity android:name=".ui.LoginLifeCircleActivity" />
<activity
android:name=".ui.store.StoreManagementActivity"
android:theme="@style/Transparent" />
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/mainBgColor"
android:fitsSystemWindows="true"
android:orientation="vertical">
<include
android:id="@+id/include"
layout="@layout/layout_common_toolbar" />
<com.yidian.bcommon.webview.YiDianWebView
android:id="@+id/wv_protocol"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="none" />
</LinearLayout>
......@@ -109,11 +109,6 @@
<item name="android:windowNoTitle">true</item>
</style>
<!--生活圈B端-->
<style name="protocol_checkboxBg" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/protocol_checkbox_bg</item>
</style>
<style name="merchant_center_bottom_hint_dialog" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
......
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