Commit 108e882d authored by shiyl's avatar shiyl

add 微信授权页面搭建

parent fa70e6cf
...@@ -3,63 +3,6 @@ ...@@ -3,63 +3,6 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.yidian.common"> package="com.yidian.common">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application>
<!-- 以下为友盟分享基本配置信息 start-->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${file_provider}"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"
tools:replace="android:resource" />
</provider>
<!--微信分享/登录-->
<activity
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent101923771" />
</intent-filter>
</activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.umeng.socialize.media.WBShareCallBackActivity"
android:configChanges="keyboardHidden|orientation"
android:exported="false"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.sina.weibo.sdk.web.WeiboSdkWebActivity"
android:configChanges="keyboardHidden|orientation"
android:exported="false"
android:windowSoftInputMode="adjustResize" />
<!-- 以上为友盟分享基本配置信息 end-->
</application>
</manifest> </manifest>
...@@ -28,6 +28,7 @@ import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog ...@@ -28,6 +28,7 @@ import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.ui.dialog.MerchantCenterBottomHintDialog import com.yidian.shenghuoquan.newscontent.ui.dialog.MerchantCenterBottomHintDialog
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView import com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView
import com.yidian.shenghuoquan.newscontent.widget.MerchantAssetView
import com.yidian.utils.ToastUtil import com.yidian.utils.ToastUtil
import com.yidian.xarc.xevent.XBaseEvent import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager import com.yidian.xarc.xevent.XEventManager
...@@ -99,6 +100,14 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -99,6 +100,14 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
private fun initListener() { private fun initListener() {
viewBind.lvLifeAccountLabel.setOnLifeAccountLabelCallback(this) viewBind.lvLifeAccountLabel.setOnLifeAccountLabelCallback(this)
// 点击钱包余额进入我的钱包
viewBind.avMerchantAsset.setOnClickWalletCallback(object : MerchantAssetView.OnClickWalletCallback {
override fun toMyWallet(balance: String) {
val map = HashMap<String, String?>()
map["balance"] = balance
XPageManager.push(XRouterPathConstants.MY_WALLET, map)
}
})
} }
private fun initData() { private fun initData() {
......
...@@ -26,154 +26,154 @@ import com.yidian.shenghuoquan.newscontent.R ...@@ -26,154 +26,154 @@ import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.ShareAdapter import com.yidian.shenghuoquan.newscontent.adapter.ShareAdapter
import com.yidian.shenghuoquan.newscontent.bean.SharePlatformBean import com.yidian.shenghuoquan.newscontent.bean.SharePlatformBean
class ShareDialog(private val activity: Activity, themeResId: Int): Dialog(activity, themeResId) { class ShareDialog(private val activity: Activity, themeResId: Int) : Dialog(activity, themeResId) {
private lateinit var rvSharePlatform: YdRecyclerView private lateinit var rvSharePlatform: YdRecyclerView
private lateinit var tvCancel: YdTextView private lateinit var tvCancel: YdTextView
private lateinit var shareAdapter: ShareAdapter private lateinit var shareAdapter: ShareAdapter
private lateinit var contentLink: String private lateinit var contentLink: String
private lateinit var title: String private lateinit var title: String
private val imageBaseUrl = "http://i1.go2yd.com/image.php?url=" private val imageBaseUrl = "http://i1.go2yd.com/image.php?url="
private val imageParams = "&type=thumbnail_200x200" private val imageParams = "&type=thumbnail_200x200"
private var imageUrl: String? = null private var imageUrl: String? = null
private lateinit var description: String private lateinit var description: String
private val dataList: ArrayList<SharePlatformBean> by lazy { ArrayList<SharePlatformBean>() } private val dataList: ArrayList<SharePlatformBean> by lazy { ArrayList<SharePlatformBean>() }
private lateinit var wechat: SharePlatformBean private lateinit var wechat: SharePlatformBean
private lateinit var wechatMoments: SharePlatformBean private lateinit var wechatMoments: SharePlatformBean
private lateinit var sinaWeibo: SharePlatformBean private lateinit var sinaWeibo: SharePlatformBean
private lateinit var qq: SharePlatformBean private lateinit var qq: SharePlatformBean
private lateinit var copyLink: SharePlatformBean private lateinit var copyLink: SharePlatformBean
init { init {
setDialog() setDialog()
}
private fun setDialog() {
this.setCanceledOnTouchOutside(true)
this.setContentView(R.layout.share_dialog)
this.setOwnerActivity(activity)
window?.setWindowAnimations(R.style.PopupWindow_anim_style)
rvSharePlatform = findViewById(R.id.rv_sharePlatform)
tvCancel = findViewById(R.id.tv_cancel)
shareAdapter = ShareAdapter()
initPlatform()
setClickListener()
}
fun setData(contentLink: String, title: String, description: String, imageUrl: String?) {
this.contentLink = contentLink
this.title = title
this.imageUrl = imageUrl
this.description = description
}
private fun setClickListener() {
tvCancel.setOnClickListener {
dismiss()
} }
private fun setDialog(){ shareAdapter.setOnItemClickListener(object : OnItemClickListener<SharePlatformBean> {
this.setCanceledOnTouchOutside(true) override fun onClick(view: View?, position: Int, item: SharePlatformBean?) {
this.setContentView(R.layout.share_dialog) when (position) {
this.setOwnerActivity(activity) in 0..3 -> oneKeyShare(position)
window?.setWindowAnimations(R.style.PopupWindow_anim_style) 4 -> copyLink(contentLink)
rvSharePlatform = findViewById(R.id.rv_sharePlatform)
tvCancel = findViewById(R.id.tv_cancel)
shareAdapter = ShareAdapter()
initPlatform()
setClickListener()
}
fun setData(contentLink: String, title: String, description: String, imageUrl: String?){
this.contentLink = contentLink
this.title = title
this.imageUrl = imageUrl
this.description = description
}
private fun setClickListener(){
tvCancel.setOnClickListener{
dismiss()
} }
}
shareAdapter.setOnItemClickListener(object : OnItemClickListener<SharePlatformBean> { })
override fun onClick(view: View?, position: Int, item: SharePlatformBean?) { }
when (position) {
in 0..3 -> oneKeyShare(position) private fun initPlatform() {
4 -> copyLink(contentLink) wechat = SharePlatformBean(R.mipmap.icon_share_wx, "微信好友", ShareAdapter.normalType)
} wechatMoments = SharePlatformBean(R.mipmap.icon_share_pyq, "微信朋友圈", ShareAdapter.normalType)
} sinaWeibo = SharePlatformBean(R.mipmap.icon_share_wb, "微博", ShareAdapter.normalType)
}) qq = SharePlatformBean(R.mipmap.icon_share_qq, "手机QQ", ShareAdapter.normalType)
} copyLink = SharePlatformBean(R.mipmap.icon_share_link, "复制链接", ShareAdapter.footType)
dataList.add(wechat)
private fun initPlatform(){ dataList.add(wechatMoments)
wechat = SharePlatformBean(R.mipmap.icon_share_wx, "微信好友", ShareAdapter.normalType) dataList.add(sinaWeibo)
wechatMoments = SharePlatformBean(R.mipmap.icon_share_pyq, "微信朋友圈", ShareAdapter.normalType) dataList.add(qq)
sinaWeibo = SharePlatformBean(R.mipmap.icon_share_wb, "微博", ShareAdapter.normalType) dataList.add(copyLink)
qq = SharePlatformBean(R.mipmap.icon_share_qq, "手机QQ", ShareAdapter.normalType) val layoutManager = LinearLayoutManager(activity)
copyLink = SharePlatformBean(R.mipmap.icon_share_link, "复制链接", ShareAdapter.footType) layoutManager.orientation = LinearLayoutManager.HORIZONTAL
dataList.add(wechat) rvSharePlatform.layoutManager = layoutManager
dataList.add(wechatMoments) rvSharePlatform.adapter = shareAdapter
dataList.add(sinaWeibo) shareAdapter.update(dataList)
dataList.add(qq) }
dataList.add(copyLink)
val layoutManager = LinearLayoutManager(activity) private fun copyLink(text: String) {
layoutManager.orientation = LinearLayoutManager.HORIZONTAL val cmb = activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager?
rvSharePlatform.layoutManager = layoutManager cmb?.setPrimaryClip(ClipData.newPlainText(null, text))
rvSharePlatform.adapter = shareAdapter Toast.makeText(activity, "复制成功", Toast.LENGTH_SHORT).show()
shareAdapter.update(dataList) dismiss()
} }
private fun copyLink(text: String){ private fun oneKeyShare(position: Int) {
val cmb = activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager? val shareAction = ShareAction(activity)
cmb?.setPrimaryClip(ClipData.newPlainText(null, text)) when (position) {
Toast.makeText(activity, "复制成功", Toast.LENGTH_SHORT).show() 0 -> {
dismiss() if (CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)) {
} shareAction.platform = SHARE_MEDIA.WEIXIN
} else {
private fun oneKeyShare(position: Int){ Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
val shareAction = ShareAction(activity)
when(position){
0 -> {
if(CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)){
shareAction.platform = SHARE_MEDIA.WEIXIN
}else{
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
}
}
1 -> {
if(CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)){
shareAction.platform = SHARE_MEDIA.WEIXIN_CIRCLE
}else{
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
}
}
2 -> {
if(CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.sinaBlogPkgName)){
shareAction.platform = SHARE_MEDIA.SINA
}else{
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微博】", Toast.LENGTH_SHORT).show()
}
}
3 -> {
if(CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.mobileQQPkgName)){
shareAction.platform = SHARE_MEDIA.QQ
}else{
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【QQ】", Toast.LENGTH_SHORT).show()
}
}
} }
val web = UMWeb(contentLink) }
web.title = title 1 -> {
if(imageUrl != null){ if (CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)) {
imageUrl = imageBaseUrl + imageUrl + imageParams shareAction.platform = SHARE_MEDIA.WEIXIN_CIRCLE
web.setThumb(UMImage(activity, imageUrl)) } else {
}else{ Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
web.setThumb(UMImage(activity, R.mipmap.ydlogo))
} }
web.description = description }
shareAction.setCallback(object : UMShareListener { 2 -> {
override fun onStart(platform: SHARE_MEDIA?) { if (CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.sinaBlogPkgName)) {
shareAction.platform = SHARE_MEDIA.SINA
} } else {
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微博】", Toast.LENGTH_SHORT).show()
override fun onResult(platform: SHARE_MEDIA?) { }
Toast.makeText(activity, "分享成功", Toast.LENGTH_SHORT).show() }
} 3 -> {
if (CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.mobileQQPkgName)) {
override fun onError(platform: SHARE_MEDIA?, t: Throwable?) { shareAction.platform = SHARE_MEDIA.QQ
Log.e("zhb-yd", "失败" + t?.message) } else {
} Toast.makeText(YdBaseApplication.context, "分享失败,未安装【QQ】", Toast.LENGTH_SHORT).show()
}
override fun onCancel(platform: SHARE_MEDIA?) { }
Toast.makeText(activity, "分享取消", Toast.LENGTH_SHORT).show()
}
}).withMedia(web).share()
dismiss()
} }
val web = UMWeb(contentLink)
override fun onCreate(savedInstanceState: Bundle?) { web.title = title
super.onCreate(savedInstanceState) if (imageUrl != null) {
val params: WindowManager.LayoutParams? = window?.attributes imageUrl = imageBaseUrl + imageUrl + imageParams
params?.width = WindowManager.LayoutParams.MATCH_PARENT web.setThumb(UMImage(activity, imageUrl))
params?.height = WindowManager.LayoutParams.WRAP_CONTENT } else {
window?.attributes = params web.setThumb(UMImage(activity, R.mipmap.ydlogo))
window?.attributes?.gravity = Gravity.BOTTOM
} }
} web.description = description
\ No newline at end of file shareAction.setCallback(object : UMShareListener {
override fun onStart(platform: SHARE_MEDIA?) {
}
override fun onResult(platform: SHARE_MEDIA?) {
Toast.makeText(activity, "分享成功", Toast.LENGTH_SHORT).show()
}
override fun onError(platform: SHARE_MEDIA?, t: Throwable?) {
Log.e("zhb-yd", "失败" + t?.message)
}
override fun onCancel(platform: SHARE_MEDIA?) {
Toast.makeText(activity, "分享取消", Toast.LENGTH_SHORT).show()
}
}).withMedia(web).share()
dismiss()
}
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
}
}
...@@ -25,130 +25,130 @@ import com.yidian.shenghuoquan.newscontent.R ...@@ -25,130 +25,130 @@ import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.ShareAdapter import com.yidian.shenghuoquan.newscontent.adapter.ShareAdapter
import com.yidian.shenghuoquan.newscontent.bean.SharePlatformBean import com.yidian.shenghuoquan.newscontent.bean.SharePlatformBean
class ShareImageDialog(private val activity: Activity, themeResId: Int): Dialog(activity, themeResId) { class ShareImageDialog(private val activity: Activity, themeResId: Int) : Dialog(activity, themeResId) {
private lateinit var rvSharePlatform: YdRecyclerView private lateinit var rvSharePlatform: YdRecyclerView
private lateinit var tvCancel: YdTextView private lateinit var tvCancel: YdTextView
private lateinit var shareAdapter: ShareAdapter private lateinit var shareAdapter: ShareAdapter
private lateinit var imageUrl: String private lateinit var imageUrl: String
private val dataList: ArrayList<SharePlatformBean> by lazy { ArrayList<SharePlatformBean>() } private val dataList: ArrayList<SharePlatformBean> by lazy { ArrayList<SharePlatformBean>() }
private lateinit var wechat: SharePlatformBean private lateinit var wechat: SharePlatformBean
private lateinit var wechatMoments: SharePlatformBean private lateinit var wechatMoments: SharePlatformBean
private lateinit var qq: SharePlatformBean private lateinit var qq: SharePlatformBean
private lateinit var copyLink: SharePlatformBean private lateinit var copyLink: SharePlatformBean
init { init {
setDialog() setDialog()
}
private fun setDialog() {
this.setCanceledOnTouchOutside(true)
this.setContentView(R.layout.share_dialog)
this.setOwnerActivity(activity)
window?.setWindowAnimations(R.style.PopupWindow_anim_style)
rvSharePlatform = findViewById(R.id.rv_sharePlatform)
tvCancel = findViewById(R.id.tv_cancel)
shareAdapter = ShareAdapter()
initPlatform()
setClickListener()
}
fun setData(imageUrl: String) {
this.imageUrl = imageUrl
}
private fun setClickListener() {
tvCancel.setOnClickListener {
dismiss()
} }
private fun setDialog(){ shareAdapter.setOnItemClickListener(object : OnItemClickListener<SharePlatformBean> {
this.setCanceledOnTouchOutside(true) override fun onClick(view: View?, position: Int, item: SharePlatformBean?) {
this.setContentView(R.layout.share_dialog) when (position) {
this.setOwnerActivity(activity) in 0..2 -> oneKeyShare(position, imageUrl)
window?.setWindowAnimations(R.style.PopupWindow_anim_style) 3 -> copyLink(imageUrl)
rvSharePlatform = findViewById(R.id.rv_sharePlatform)
tvCancel = findViewById(R.id.tv_cancel)
shareAdapter = ShareAdapter()
initPlatform()
setClickListener()
}
fun setData(imageUrl: String){
this.imageUrl = imageUrl
}
private fun setClickListener(){
tvCancel.setOnClickListener{
dismiss()
} }
}
shareAdapter.setOnItemClickListener(object : OnItemClickListener<SharePlatformBean> { })
override fun onClick(view: View?, position: Int, item: SharePlatformBean?) { }
when (position) {
in 0..2 -> oneKeyShare(position, imageUrl) private fun initPlatform() {
3 -> copyLink(imageUrl) wechat = SharePlatformBean(R.mipmap.icon_share_wx, "微信好友", ShareAdapter.normalType)
} wechatMoments = SharePlatformBean(R.mipmap.icon_share_pyq, "微信朋友圈", ShareAdapter.normalType)
} qq = SharePlatformBean(R.mipmap.icon_share_qq, "手机QQ", ShareAdapter.normalType)
}) copyLink = SharePlatformBean(R.mipmap.icon_share_link, "复制链接", ShareAdapter.footType)
} dataList.add(wechat)
dataList.add(wechatMoments)
private fun initPlatform(){ dataList.add(qq)
wechat = SharePlatformBean(R.mipmap.icon_share_wx, "微信好友", ShareAdapter.normalType) dataList.add(copyLink)
wechatMoments = SharePlatformBean(R.mipmap.icon_share_pyq, "微信朋友圈", ShareAdapter.normalType) val layoutManager = LinearLayoutManager(activity)
qq = SharePlatformBean(R.mipmap.icon_share_qq, "手机QQ", ShareAdapter.normalType) layoutManager.orientation = LinearLayoutManager.HORIZONTAL
copyLink = SharePlatformBean(R.mipmap.icon_share_link, "复制链接", ShareAdapter.footType) rvSharePlatform.layoutManager = layoutManager
dataList.add(wechat) rvSharePlatform.adapter = shareAdapter
dataList.add(wechatMoments) shareAdapter.update(dataList)
dataList.add(qq) }
dataList.add(copyLink)
val layoutManager = LinearLayoutManager(activity) private fun copyLink(text: String) {
layoutManager.orientation = LinearLayoutManager.HORIZONTAL val cmb = activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager?
rvSharePlatform.layoutManager = layoutManager cmb?.setPrimaryClip(ClipData.newPlainText(null, text))
rvSharePlatform.adapter = shareAdapter Toast.makeText(activity, "复制成功", Toast.LENGTH_SHORT).show()
shareAdapter.update(dataList) dismiss()
} }
private fun copyLink(text: String){ private fun oneKeyShare(position: Int, imageUrl: String) {
val cmb = activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager? val shareAction = ShareAction(activity)
cmb?.setPrimaryClip(ClipData.newPlainText(null, text)) when (position) {
Toast.makeText(activity, "复制成功", Toast.LENGTH_SHORT).show() 0 -> {
dismiss() if (CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)) {
} shareAction.platform = SHARE_MEDIA.WEIXIN
} else {
private fun oneKeyShare(position: Int, imageUrl: String){ Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
val shareAction = ShareAction(activity)
when(position){
0 -> {
if(CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)){
shareAction.platform = SHARE_MEDIA.WEIXIN
}else{
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
}
}
1 -> {
if(CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)){
shareAction.platform = SHARE_MEDIA.WEIXIN_CIRCLE
}else{
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
}
}
2 -> {
if(CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.mobileQQPkgName)){
shareAction.platform = SHARE_MEDIA.QQ
}else{
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【QQ】", Toast.LENGTH_SHORT).show()
}
}
} }
val image = UMImage(activity, imageUrl) }
val thumb = UMImage(activity, imageUrl) 1 -> {
image.setThumb(thumb) if (CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)) {
shareAction.setCallback(object : UMShareListener { shareAction.platform = SHARE_MEDIA.WEIXIN_CIRCLE
override fun onStart(platform: SHARE_MEDIA?) { } else {
Toast.makeText(YdBaseApplication.context, "分享失败,未安装【微信】", Toast.LENGTH_SHORT).show()
} }
}
override fun onResult(platform: SHARE_MEDIA?) { 2 -> {
Toast.makeText(activity, "分享成功", Toast.LENGTH_SHORT).show() if (CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.mobileQQPkgName)) {
} shareAction.platform = SHARE_MEDIA.QQ
} else {
override fun onError(platform: SHARE_MEDIA?, t: Throwable?) { Toast.makeText(YdBaseApplication.context, "分享失败,未安装【QQ】", Toast.LENGTH_SHORT).show()
Log.e("zhb-yd", "失败" + t?.message) }
} }
override fun onCancel(platform: SHARE_MEDIA?) {
Toast.makeText(activity, "分享取消", Toast.LENGTH_SHORT).show()
}
}).withMedia(image).share()
dismiss()
}
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
} }
} val image = UMImage(activity, imageUrl)
\ No newline at end of file val thumb = UMImage(activity, imageUrl)
image.setThumb(thumb)
shareAction.setCallback(object : UMShareListener {
override fun onStart(platform: SHARE_MEDIA?) {
}
override fun onResult(platform: SHARE_MEDIA?) {
Toast.makeText(activity, "分享成功", Toast.LENGTH_SHORT).show()
}
override fun onError(platform: SHARE_MEDIA?, t: Throwable?) {
Log.e("zhb-yd", "失败" + t?.message)
}
override fun onCancel(platform: SHARE_MEDIA?) {
Toast.makeText(activity, "分享取消", Toast.LENGTH_SHORT).show()
}
}).withMedia(image).share()
dismiss()
}
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
}
}
...@@ -38,7 +38,9 @@ class MyWalletActivity : BaseActivity<ActivityMyWalletBinding>() { ...@@ -38,7 +38,9 @@ class MyWalletActivity : BaseActivity<ActivityMyWalletBinding>() {
} }
// todo 提现(仅管理员可以发起提现) // todo 提现(仅管理员可以发起提现)
viewBind.tvWithdraw.clickAntiShake { viewBind.tvWithdraw.clickAntiShake {
XPageManager.push(XRouterPathConstants.VERIFY_IDENTITY, null) // XPageManager.push(XRouterPathConstants.VERIFY_IDENTITY, null)
// todo 测试代码
XPageManager.push(XRouterPathConstants.WECHAT_AUTH, null)
} }
} }
......
...@@ -11,6 +11,7 @@ import com.yidian.common.extensions.initTitleBar ...@@ -11,6 +11,7 @@ import com.yidian.common.extensions.initTitleBar
import com.yidian.shenghuoquan.newscontent.databinding.ActivityVerifyIdentifyBinding import com.yidian.shenghuoquan.newscontent.databinding.ActivityVerifyIdentifyBinding
import com.yidian.shenghuoquan.newscontent.utils.CountDownTimerUtils import com.yidian.shenghuoquan.newscontent.utils.CountDownTimerUtils
import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter import com.yidian.shenghuoquan.newscontent.utils.TextWatcherAdapter
import com.yidian.xpage.XPageManager
/** /**
* 钱包主人验证身份 * 钱包主人验证身份
...@@ -34,7 +35,6 @@ class VerifyIdentityActivity : BaseActivity<ActivityVerifyIdentifyBinding>() { ...@@ -34,7 +35,6 @@ class VerifyIdentityActivity : BaseActivity<ActivityVerifyIdentifyBinding>() {
requestSmsCode() requestSmsCode()
} }
@SuppressLint("SetTextI18n")
private fun initView() { private fun initView() {
initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, "") initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, "")
// 默认显示空,等发送成功后再提示接收的手机号 // 默认显示空,等发送成功后再提示接收的手机号
...@@ -77,6 +77,7 @@ class VerifyIdentityActivity : BaseActivity<ActivityVerifyIdentifyBinding>() { ...@@ -77,6 +77,7 @@ class VerifyIdentityActivity : BaseActivity<ActivityVerifyIdentifyBinding>() {
*/ */
private fun checkSmsCode() { private fun checkSmsCode() {
// todo 校验成功后,进入微信授权 // todo 校验成功后,进入微信授权
XPageManager.push(XRouterPathConstants.WECHAT_AUTH, null)
} }
......
package com.yidian.shenghuoquan.newscontent.wallet.ui package com.yidian.shenghuoquan.newscontent.wallet.ui
import android.os.Bundle
import android.widget.Toast
import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidian.common.XRouterPathConstants import com.yidian.common.XRouterPathConstants
import com.yidian.common.YdBaseApplication
import com.yidian.common.base.BaseActivity import com.yidian.common.base.BaseActivity
import com.yidian.common.extensions.clickAntiShake
import com.yidian.common.extensions.initTitleBar
import com.yidian.common.utils.AuthUtils
import com.yidian.common.utils.CheckApkExistUtil
import com.yidian.news.util.LogUtils
import com.yidian.shenghuoquan.newscontent.databinding.ActivityWechatAuthBinding import com.yidian.shenghuoquan.newscontent.databinding.ActivityWechatAuthBinding
import com.yidian.utils.ToastUtil
import com.yidian.xpage.XPageManager
/** /**
* 微信授权 * 微信授权
*/ */
class WeChatAuthActivity: BaseActivity<ActivityWechatAuthBinding>() { class WeChatAuthActivity : BaseActivity<ActivityWechatAuthBinding>() {
override fun createViewBinding(): ActivityWechatAuthBinding { override fun createViewBinding(): ActivityWechatAuthBinding {
return ActivityWechatAuthBinding.inflate(layoutInflater) return ActivityWechatAuthBinding.inflate(layoutInflater)
...@@ -16,4 +27,44 @@ class WeChatAuthActivity: BaseActivity<ActivityWechatAuthBinding>() { ...@@ -16,4 +27,44 @@ class WeChatAuthActivity: BaseActivity<ActivityWechatAuthBinding>() {
override fun getXPageName(): String { override fun getXPageName(): String {
return XRouterPathConstants.WECHAT_AUTH return XRouterPathConstants.WECHAT_AUTH
} }
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initView()
initClick()
}
private fun initView() {
initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, "")
}
private fun initClick() {
// 重新获取验证码
viewBind.tvToAuth.clickAntiShake {
requestWeChatAuth()
}
}
private fun requestWeChatAuth() {
if (!CheckApkExistUtil.checkApkExist(YdBaseApplication.context, CheckApkExistUtil.weChatPkgName)) {
Toast.makeText(YdBaseApplication.context, "授权失败,未安装【微信】", Toast.LENGTH_SHORT).show()
return
}
val authMap = AuthUtils.toAuthorize(this, SHARE_MEDIA.WEIXIN)
val accessToken = authMap["accessToken"]
LogUtils.e("auth", "微信授权结果$accessToken")
ToastUtil.showToast(this, "微信授权结果$accessToken")
if (accessToken.isNullOrBlank()) {
ToastUtil.showToast(this, "微信授权失败")
} else {
toWithdraw(accessToken)
}
}
private fun toWithdraw(accessToken: String) {
val hashMap = HashMap<String, String?>()
hashMap["accessToken"] = accessToken
XPageManager.push(XRouterPathConstants.WITHDRAW, hashMap)
}
} }
...@@ -4,8 +4,10 @@ import android.content.Context ...@@ -4,8 +4,10 @@ import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.View import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import com.yidian.common.XRouterPathConstants
import com.yidian.shenghuoquan.newscontent.R import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewMerchantAssetBinding import com.yidian.shenghuoquan.newscontent.databinding.ViewMerchantAssetBinding
import com.yidian.xpage.XPageManager
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -13,37 +15,53 @@ import com.yidian.shenghuoquan.newscontent.databinding.ViewMerchantAssetBinding ...@@ -13,37 +15,53 @@ import com.yidian.shenghuoquan.newscontent.databinding.ViewMerchantAssetBinding
* description: 商户资产 * description: 商户资产
*/ */
class MerchantAssetView @JvmOverloads constructor( class MerchantAssetView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyle: Int = 0 defStyle: Int = 0
) : ConstraintLayout(context, attrs, defStyle), View.OnClickListener { ) : ConstraintLayout(context, attrs, defStyle), View.OnClickListener {
private val viewBinding = ViewMerchantAssetBinding.bind( private var callback: OnClickWalletCallback? = null
View.inflate(
getContext(), private val viewBinding = ViewMerchantAssetBinding.bind(
R.layout.view_merchant_asset, View.inflate(
this getContext(),
) R.layout.view_merchant_asset,
this
) )
)
init { init {
viewBinding.tvWalletBalance.setOnClickListener(this) viewBinding.tvWalletBalance.setOnClickListener(this)
} viewBinding.tvToWalletBalance.setOnClickListener(this)
}
/** /**
* 数据填充 * 数据填充
* @param income 当月收入 * @param income 当月收入
* @param balance 钱包yue * @param balance 钱包yue
*/ */
fun setMerchantAssetData(income: String, balance: String) { fun setMerchantAssetData(income: String, balance: String) {
viewBinding.tvMonthlyIncome.text = income viewBinding.tvMonthlyIncome.text = income
viewBinding.tvWalletBalance.text = balance viewBinding.tvWalletBalance.text = balance
} }
override fun onClick(v: View?) { override fun onClick(v: View?) {
if (v?.id == R.id.tv_wallet_balance) { when (v?.id) {
// TODO: 6/8/21 跳转钱包 R.id.tv_wallet_balance,
} R.id.tv_to_wallet_balance -> {
// 进入钱包
callback?.toMyWallet(viewBinding.tvWalletBalance.text.toString())
XPageManager.push(XRouterPathConstants.MY_WALLET, null)
}
} }
}
fun setOnClickWalletCallback(callback: OnClickWalletCallback) {
this.callback = callback
}
interface OnClickWalletCallback {
fun toMyWallet(balance: String)
}
} }
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
</androidx.constraintlayout.widget.ConstraintLayout> <include
\ No newline at end of file android:id="@+id/include"
layout="@layout/layout_common_toolbar" />
<ImageView
android:layout_width="@dimen/dp100"
android:layout_height="@dimen/dp100"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp70"
android:src="@drawable/icon_wechat_auth" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp40"
android:text="微信授权"
android:textColor="@color/color_333333"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp5"
android:text="授权成功后即可提现至微信钱包"
android:textColor="@color/color_666666"
android:textSize="@dimen/sp16" />
<TextView
android:id="@+id/tv_to_auth"
android:layout_width="@dimen/dp160"
android:layout_height="44dp"
android:layout_gravity="center"
android:layout_marginTop="40dp"
android:background="@drawable/account_btn_gradient_bg"
android:gravity="center"
android:text="去授权"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
\ No newline at end of file
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
app:layout_constraintTop_toBottomOf="@id/tv_monthly_income" /> app:layout_constraintTop_toBottomOf="@id/tv_monthly_income" />
<TextView <TextView
android:id="@+id/tv_to_wallet_balance"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
......
...@@ -40,6 +40,58 @@ ...@@ -40,6 +40,58 @@
tools:targetApi="n"> tools:targetApi="n">
<!-- 以下为友盟分享基本配置信息 start-->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${file_provider}"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"
tools:replace="android:resource" />
</provider>
<!--微信分享/登录-->
<activity
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent101923771" />
</intent-filter>
</activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.umeng.socialize.media.WBShareCallBackActivity"
android:configChanges="keyboardHidden|orientation"
android:exported="false"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.sina.weibo.sdk.web.WeiboSdkWebActivity"
android:configChanges="keyboardHidden|orientation"
android:exported="false"
android:windowSoftInputMode="adjustResize" />
<!-- 以上为友盟分享基本配置信息 end-->
<uses-library <uses-library
android:name="org.apache.http.legacy" android:name="org.apache.http.legacy"
......
package com.shenghuoquan.business.debug.wxapi
import com.umeng.socialize.weixin.view.WXCallbackActivity
class WXEntryActivity : WXCallbackActivity() {
}
package com.shenghuoquan.business.wxapi
import com.umeng.socialize.weixin.view.WXCallbackActivity
class WXEntryActivity : WXCallbackActivity() {
}
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