Commit 8813a0a8 authored by shiyl's avatar shiyl

Merge branch 'feature/dev_order' of...

Merge branch 'feature/dev_order' of https://git.yidian-inc.com:8021/bp/ShenghuoquanBusiness into feature/dev_order

# Conflicts:
#	CommonLib/BCommon/src/main/java/com/yidian/bcommon/http/CommonDataSource.kt
parents 812ba198 7aca77ab
......@@ -141,5 +141,11 @@ class XRouterPathConstants {
// 商品 — 商品管理
const val COMMODITY_MANAGEMENT = "/b/goods/commodity_management"
/**
* C端页面
*/
// webView
const val C_WEB_VIEW = "/SimpleBorwser"
}
}
package com.yidian.bcommon.http
import com.google.gson.reflect.TypeToken
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.BuildConfig
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.http.bean.CommitFeedbackBean
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import com.yidian.bcommon.http.bean.GetKSYunObjectIdBean
......@@ -36,7 +35,7 @@ object CommonDataSource {
}
private val ydJiraApi by lazy {
ServiceFactory.getInstance().createService(CommonService::class.java, CommonService.SCHEME_HTTP + CommonService.DOMAIN_YD_JIRA)
ServiceFactory.getInstance().createService(CommonService::class.java, CommonService.SCHEME_HTTPS + CommonService.DOMAIN_YD_JIRA)
}
// 301 获取金山云token接口
......@@ -91,6 +90,10 @@ object CommonDataSource {
override fun onFailure(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigFailure(result?.status)
}
override fun onNetworkFailure(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigFailure(result?.status)
}
})
}
......
......@@ -22,13 +22,13 @@ interface CommonService {
const val DOMAIN_TOWER_API_PRO = "open-tower-api.go2yd.com"
// 一点jira域名定义
const val DOMAIN_YD_JIRA = "ydjira.yidian-inc.com"
const val DOMAIN_YD_JIRA = "hub.go2yd.com"
// tower-api 获取配置数据
private const val getCommonConfig = "/api/resource"
// 用户反馈提交
private const val commitFeedback = "/rest/api/2/issue"
private const val commitFeedback = "/feedback/save"
}
@Headers("Content-Type: application/json")
......@@ -44,7 +44,7 @@ interface CommonService {
@GET(getCommonConfig)
fun getCommonConfig(@QueryMap requestParams: Map<String, String>): Observable<HttpResult<GetCommonConfigBean.GetCommonConfigResponse>>
@Headers("Content-Type: application/json", "Authorization: Basic Y2xpZW50LXVwbG9hZDpUZXN0MTIzNCU=")
@Headers("Content-Type: application/json")
@POST(commitFeedback)
fun commitFeedback(@Body requestParams: CommitFeedbackBean.CommitFeedbackRequest): Observable<HttpResult<CommitFeedbackBean.CommitFeedbackResponse>>
}
......@@ -40,6 +40,8 @@ class HttpParamsUtils {
Timber.tag(BCommonManager.TAG_HTTP).d("request private params: ${gson.toJson(paramsMap)}")
hashMapOf("tok" to BCommonManager.getEncryptIml().rsaEncrypt(gson.toJson(paramsMap)))
} else {
// C端身份请求加uid
BCommonManager.getUid()?.let { paramsMap["user_id"] = it }
Timber.tag(BCommonManager.TAG_HTTP).d("request private params: ${gson.toJson(paramsMap)}")
paramsMap
}
......
......@@ -38,7 +38,7 @@ abstract class HttpResultObserver<T> : Observer<HttpResult<T>> {
}
} else {
if (isShowErrorMsg) {
ToastUtil.showToast(YdBaseApplication.context, "网络请求异常")
ToastUtil.showToast(YdBaseApplication.context, "网络请求失败,请检查您的网络设置")
}
}
onRequestFailure(Exception(e.toString()))
......@@ -49,19 +49,24 @@ abstract class HttpResultObserver<T> : Observer<HttpResult<T>> {
onRequestSuccess(result)
} else {
onFailure(result)
ToastUtil.showToast(YdBaseApplication.context, result.reason)
ToastUtil.showToast(YdBaseApplication.context, result.reason ?: "网络请求失败")
}
}
abstract fun onSuccess(result: HttpResult<T>?)
abstract fun onFailure(result: HttpResult<T>?)
/**
* 可根据实际情况选择是否复写此方法
*/
open fun onNetworkFailure(result: HttpResult<T>?) {}
private fun onRequestFailure(e: Throwable?) {
val result: HttpResult<T> = HttpResult()
result.code = -100
result.reason = e?.message
result.status = "failed"
onFailure(result)
onNetworkFailure(result)
}
private fun onRequestSuccess(result: HttpResult<T>) {
......
......@@ -54,7 +54,7 @@ class GetCommonConfigBean {
@SerializedName("disable_text")
val disableText: String,
@SerializedName("disable_url")
val disableUrl: String?,
val disableUrl: String,
@SerializedName("items")
val items: List<Item>,
@SerializedName("show")
......@@ -82,7 +82,7 @@ class GetCommonConfigBean {
@SerializedName("icon_url")
val iconUrl: String,
@SerializedName("link_url")
val linkUrl: String?,
val linkUrl: String,
@SerializedName("show")
val show: Int
) : Serializable
......
......@@ -9,14 +9,19 @@ class ZapServiceNameConstants {
companion object {
// BSetting组件中的设置相关服务
const val SettingService = "SettingService"
// 生活号列表服务名称
const val LifeNumberListService = "LifeNumberListService"
// BGeneralBusiness组件中提供的通用服务
const val GeneralAbilityService = "GeneralAbilityService"
// BGeneralBusiness组件中给H5提供的通用网络请求服务(名称需要和H5同步的)
const val BNAHttpReq = "BNAHttpReq"
// BOrder组件中给H5提供的支付服务(名称需要和H5同步的)
const val BPayService = "bPayService"
// BRoot组件中加解密服务
const val EncryptService = "EncryptService"
}
......
package com.yidian.bcommon.utils
import okhttp3.internal.and
import java.security.MessageDigest
import java.security.NoSuchAlgorithmException
class EncryptUtil {
companion object{
fun getMD5(info: String): String{
val md5: MessageDigest = MessageDigest.getInstance("MD5")
md5.update(info.toByteArray())
val m = md5.digest()
return byte2hex(m)
}
fun encryptToSHA(info: String): String{
val digesta: ByteArray
var rs = ""
try {
val alga: MessageDigest = MessageDigest.getInstance("SHA-1")
alga.update(info.toByteArray())
digesta = alga.digest()
rs = byte2hex(digesta)
} catch (e: NoSuchAlgorithmException) {
e.printStackTrace()
}
return rs
}
private fun byte2hex(b: ByteArray): String{
var hs = ""
var stmp: String
repeat(b.size){
stmp = Integer.toHexString(b[it] and 0XFF)
hs = if(stmp.length == 1){
hs + "0" + stmp
}else{
hs + stmp
}
}
return hs
}
}
}
package com.yidian.shenghuoquan.bmanagercenter.utils
package com.yidian.bcommon.utils
import android.text.InputFilter
import java.util.regex.Pattern
......
......@@ -3,6 +3,7 @@ package com.yidian.shenghuoquan.bgeneralbusiness.app
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.news.util.ProcessUtil
import com.yidian.shenghuoquan.bgeneralbusiness.service.EncryptService
import com.yidian.shenghuoquan.bgeneralbusiness.service.GeneralAbilityService
import com.yidian.shenghuoquan.bgeneralbusiness.service.net.BNAHttpReqService
import com.yidian.yac.core.core.YacModuleSpec
......@@ -21,5 +22,6 @@ class BGeneralBusinessApplication : YdBaseApplication() {
private fun initService() {
Zap.addService(ZapServiceNameConstants.BNAHttpReq, BNAHttpReqService())
Zap.addService(ZapServiceNameConstants.GeneralAbilityService, GeneralAbilityService())
Zap.addService(ZapServiceNameConstants.EncryptService, EncryptService())
}
}
package com.yidian.shenghuoquan.broot.service
package com.yidian.shenghuoquan.bgeneralbusiness.service
import com.yidian.bcommon.sdk.BCommonManager
import com.yidian.bcommon.sdk.IEncryptService
......
package com.yidian.shenghuoquan.bmanagercenter.service
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.services.AppUpgradeService
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.LifeAccountAuthDataManagerV2
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.LifeAccountIdentityActivity
import com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantCenterActivity
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.LifeAccountAuthDataManagerV2
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
import timber.log.Timber
import kotlin.collections.ArrayList
/**
* 生活号列表服务
......@@ -57,6 +56,8 @@ class LifeNumberListService : ZapService() {
XPageManager.push(XRouterPathConstants.LIFE_ACCOUNT_AUTH, null)
}
1 -> {
// 此处处理用户已经关联一个生活号但本地无存储/app数据被清除的情况
StorageUtil.putLifeAccountId(result[0].life_account_id)
// 关联一个生活号 进入商户管理中心
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
......
......@@ -3,8 +3,10 @@ package com.yidian.shenghuoquan.bmanagercenter.ui.auth
import android.os.Bundle
import android.view.View
import androidx.core.view.isVisible
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.sdk.ClientType
import com.yidian.bcommon.sdk.JudgeClientUtils
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.shenghuoquan.bmanagercenter.R
......@@ -74,10 +76,15 @@ class LifeAccountAuthActivity : BaseActivity<ActivityLifeAccountAuthBinding>(),
resources.getString(R.string.enterprise_auth_description),
false
)
if (JudgeClientUtils.judgeClient(packageName) == ClientType.MERCHANT_C) {
// C端进入此页面可返回且隐藏退出登录按钮
viewBind.bvTopBar.setBackVisibility(true)
viewBind.btnLogout.isVisible = false
return
}
if (intent.getSerializableExtra(XRouterPathConstants.ParamsKey) != null) {
val paramsMap = intent.getSerializableExtra(XRouterPathConstants.ParamsKey) as HashMap<*, *>
val fromTag = paramsMap[EXTRA_PAGE_FROM] as String
if (fromTag == FROM_AUTH) {
if (paramsMap[EXTRA_PAGE_FROM] as String == FROM_AUTH) {
// 如果由商户基本信息跳转至此页面 则此页面可返回
viewBind.bvTopBar.setBackVisibility(true)
// 退出登录按钮隐藏
......
......@@ -31,7 +31,7 @@ import com.yidian.shenghuoquan.bmanagercenter.http.callback.IBusinessLicenseOCRC
import com.yidian.shenghuoquan.bmanagercenter.ui.dialog.BottomSelectDialog
import com.yidian.shenghuoquan.bmanagercenter.utils.BitmapUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.FileUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.InputFilterUtil
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.KS3Core
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthBusinessInfoEditView
import com.yidian.utils.ToastUtil
......
......@@ -33,7 +33,7 @@ import com.yidian.shenghuoquan.bmanagercenter.http.httpbean.AuthMerchantCheckBea
import com.yidian.shenghuoquan.bmanagercenter.ui.dialog.BottomSelectDialog
import com.yidian.shenghuoquan.bmanagercenter.utils.BitmapUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.FileUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.InputFilterUtil
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthBusinessInfoEditView
import com.yidian.utils.ToastUtil
import kotlinx.coroutines.Dispatchers
......
......@@ -15,7 +15,7 @@ import com.yidian.shenghuoquan.bmanagercenter.http.callback.ICreateLifeAccountCa
import com.yidian.shenghuoquan.bmanagercenter.constant.Constant
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityLifeAccountCreateBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.utils.InputFilterUtil
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.bcommon.utils.SensitiveInfoUtil
import com.yidian.bcommon.utils.TextWatcherAdapter
import com.yidian.utils.ToastUtil
......
......@@ -36,7 +36,7 @@ import com.yidian.bcommon.widget.dialog.HintDialog
import com.yidian.shenghuoquan.bmanagercenter.http.callback.*
import com.yidian.shenghuoquan.bmanagercenter.utils.BitmapUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.FileUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.InputFilterUtil
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.KS3Core
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthIdentityInfoEditView
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthImageView
......
......@@ -40,7 +40,7 @@ import com.yidian.shenghuoquan.bmanagercenter.ui.dialog.BottomSelectDialog
import com.yidian.bcommon.widget.dialog.HintDialog
import com.yidian.shenghuoquan.bmanagercenter.utils.BitmapUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.FileUtil
import com.yidian.shenghuoquan.bmanagercenter.utils.InputFilterUtil
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthIdentityInfoEditView
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthImageView
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountFaceAuthView
......
......@@ -9,7 +9,7 @@ import com.yidian.shenghuoquan.bmanagercenter.http.callback.ICreateLifeAccountCa
import com.yidian.shenghuoquan.bmanagercenter.constant.Constant
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityLifeAccountModifyNameBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.utils.InputFilterUtil
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.shenghuoquan.bmanagercenter.widget.CommonTopBarView
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthIdentityInfoEditView
import com.yidian.xarc.xevent.XBaseEvent
......
......@@ -3,15 +3,12 @@ package com.yidian.shenghuoquan.broot.app
import android.content.Intent
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.news.util.ProcessUtil
import com.yidian.shenghuoquan.broot.service.EncryptService
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
......@@ -43,6 +40,6 @@ class BRootApplication : YdBaseApplication() {
}
private fun initService() {
Zap.addService(ZapServiceNameConstants.EncryptService, EncryptService())
}
}
......@@ -5,6 +5,7 @@ import android.text.InputFilter
import android.text.TextWatcher
import androidx.activity.viewModels
import com.yidian.bcommon.mvvm.BaseMvvmActivity
import com.yidian.bcommon.utils.InputFilterUtil
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.bsetting.R
import com.yidian.shenghuoquan.bsetting.databinding.ActivityFeedbackBinding
......@@ -20,8 +21,8 @@ class FeedbackActivity : BaseMvvmActivity<ActivityFeedbackBinding, FeedbackViewM
override val vm: FeedbackViewModel by viewModels()
override fun initView() {
// 限制最多输入100字
binding.etInput.filters = arrayOf(InputFilter.LengthFilter(100))
// 限制最多输入100字 禁止输入Emoji
binding.etInput.filters = arrayOf(InputFilter.LengthFilter(100), InputFilterUtil.getEmojiFilter())
binding.etInput.addTextChangedListener(this)
subscribeData()
}
......@@ -45,7 +46,7 @@ class FeedbackActivity : BaseMvvmActivity<ActivityFeedbackBinding, FeedbackViewM
finish()
})
vm.commitFailureEvent.observe(this, {
ToastUtils.showShort("提交失败,请稍后重试")
})
vm.feedbackContentEmptyEvent.observe(this, {
ToastUtils.showShort("您还没有填写反馈意见呦")
......
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