Commit 942b75aa authored by mengcuiguang2's avatar mengcuiguang2

添加微信秘钥,优化微信支付宝支付,优化用户管理类

parent c70818f0
......@@ -153,7 +153,7 @@
tools:replace="android:screenOrientation" /> <!-- WX_APPID必填项 -->
<meta-data
android:name="WX_APPID"
android:value="wx8f26539eabfb04f2" />
android:value="wx62d0739d771e6633" />
<activity
android:name=".wxapi.WXPayEntryActivity"
......
......@@ -13,6 +13,7 @@ class UserBean : Serializable {
inner class ConsumerBean : Serializable {
val openid: String = ""
val head: String = ""
val nickname: String = ""
val mobile: String = ""
val idcode: String = ""
......
......@@ -3,9 +3,9 @@ package com.mints.street.bean
import java.io.Serializable
class VipBean : Serializable {
var list: List<ConsumerBean>? = null
var list: List<ListBean>? = null
inner class ConsumerBean : Serializable {
inner class ListBean : Serializable {
var id: Int = 0 // 1
var price: Int = 0// 78
var days: Int = 0 // 365
......
package com.mints.street.bean;
import com.google.gson.annotations.SerializedName;
import java.io.Serializable;
public class WxPayParamBean implements Serializable {
/**
* params : {"package":"Sign=WXPay","appid":"wx8f26539eabfb04f2","sign":"5012752C519C5EF177181F64514AF66C","partnerid":"1546641181","prepayid":"wx13145659084039f3fb9f073b1270898700","noncestr":"RAJD28WMYMT61N17FYOYGT73PNFC","timestamp":"1592031419"}
* tid : 2016514565805500001
*/
private ParamsBean params;
private long tid;
public ParamsBean getParams() {
return params;
}
public void setParams(ParamsBean params) {
this.params = params;
}
public long getTid() {
return tid;
}
public void setTid(long tid) {
this.tid = tid;
}
public class ParamsBean implements Serializable {
/**
* package : Sign=WXPay
* appid : wx8f26539eabfb04f2
* sign : 5012752C519C5EF177181F64514AF66C
* partnerid : 1546641181
* prepayid : wx13145659084039f3fb9f073b1270898700
* noncestr : RAJD28WMYMT61N17FYOYGT73PNFC
* timestamp : 1592031419
*/
@SerializedName("package")
private String packageX;
private String appid;
private String sign;
private String partnerid;
private String prepayid;
private String noncestr;
private String timestamp;
private String params;
public String getPackageX() {
return packageX;
}
public void setPackageX(String packageX) {
this.packageX = packageX;
}
public String getAppid() {
return appid;
}
public void setAppid(String appid) {
this.appid = appid;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public String getPartnerid() {
return partnerid;
}
public void setPartnerid(String partnerid) {
this.partnerid = partnerid;
}
public String getPrepayid() {
return prepayid;
}
public void setPrepayid(String prepayid) {
this.prepayid = prepayid;
}
public String getNoncestr() {
return noncestr;
}
public void setNoncestr(String noncestr) {
this.noncestr = noncestr;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public String getParams() {
return params;
}
public void setParams(String params) {
this.params = params;
}
}
}
......@@ -2,17 +2,21 @@ package com.mints.street.main.my
import android.graphics.Color
import android.os.Bundle
import android.text.TextUtils
import android.view.View
import androidx.lifecycle.Observer
import com.alibaba.android.vlayout.DelegateAdapter
import com.alibaba.android.vlayout.VirtualLayoutManager
import com.cuieney.sdk.rxpay.RxPay
import com.fry.base.base.BaseActivity
import com.mints.street.BR
import com.mints.street.R
import com.mints.street.adapter.GridPaymentAdapter
import com.mints.street.bean.PaymentBean
import com.mints.street.bean.VipBean
import com.mints.street.bean.WxPayParamBean
import com.mints.street.databinding.ActivityOpenvipBinding
import com.mints.street.manager.UserManager
import kotlinx.android.synthetic.main.activity_openvip.*
import kotlinx.android.synthetic.main.include_header.*
import me.goldze.mvvmhabit.utils.ToastUtils
......@@ -23,6 +27,8 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
private var vLayout: VirtualLayoutManager? = null
private var mAdapter: DelegateAdapter? = null
private var vipList: MutableList<VipBean.ListBean>? = null
override fun initVariableId() = BR.viewModel
override fun initContentView(savedInstanceState: Bundle?) = R.layout.activity_openvip
override fun initData() {
......@@ -77,6 +83,7 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
override fun initViewObservable() {
super.initViewObservable()
viewModel.Vipdata.observe(this, Observer<VipBean> {
vipList= it.list as MutableList<VipBean.ListBean>?
mAdapter?.addAdapter(GridPaymentAdapter(this, it.list!!))
})
viewModel.Paymentdata.observe(this, Observer<PaymentBean> {
......@@ -109,7 +116,13 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
setOnChecked(2)
}
R.id.bt_try -> {
if (vipList != null && vipList!!.size > 0) {
// if (TextUtils.equals("weixin", payDialog?.payChannel)) {
// vipPresenter?.getVipPayParams("WEIXIN", vipList!![vipAdapter?.getPosition()].pid)
// } else {
// vipPresenter?.getVipPayParams("ALIPAY", vipList!![vipAdapter?.getPosition()].pid)
// }
}
}
}
}
......@@ -128,5 +141,39 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
}
fun wxPay(wxParanBean: WxPayParamBean) {
val data = wxParanBean.params
var str = "{\"prepayId\":\"${data.prepayid}\"," +
"\"nonceStr\":\"${data.noncestr}\"," +
"\"packageValue\":\"${data.packageX}\"," +
"\"partnerId\":\"${data.partnerid}\"," +
"\"sign\":\"${data.sign}\"," +
"\"timeStamp\":\"${data.timestamp}\"}"
RxPay(this).requestWXpay(str)
.subscribe({ isPay ->
if (isPay) {
//支付成功
UserManager.INSTANCE.setVipFlag(true)
}
// vipPresenter?.queryVipOrder(wxParanBean.tid.toString(), isPay)
}) { throwable ->
ToastUtils.showShort("支付异常,请联系管理员")
}
}
fun alipay(wxParanBean: WxPayParamBean) {
RxPay(this).requestAlipay(wxParanBean.params.params)
.subscribe({ isPay ->
if (isPay) {
//支付成功
UserManager.INSTANCE.setVipFlag(true)
}
// vipPresenter?.queryVipOrder(wxParanBean.tid.toString(), isPay)
}) { throwable ->
ToastUtils.showShort("支付异常,请联系管理员")
}
}
}
......@@ -58,6 +58,11 @@ class UserManager {
*/
private const val EXPIRETIME = "expiretime"
/**
* vip支付是否有效
*/
private const val VIP_FLAG = "vipFlag"
val INSTANCE: UserManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) {
UserManager()
}
......@@ -90,11 +95,19 @@ class UserManager {
if (!TextUtils.isEmpty(user.nickname)) {
MMKV.mmkvWithID(WX_NAME).encode(WX_NAME, user.nickname)
}
if (!TextUtils.isEmpty(user.head)) {
MMKV.mmkvWithID(WX_HEADER).encode(WX_HEADER, user.head)
}
MMKV.mmkvWithID(IS_FOREVER).encode(IS_FOREVER, user.isForever)
MMKV.mmkvWithID(EXPIRETIME).encode(EXPIRETIME, user.expireTime)
if (!TextUtils.isEmpty(openid)) {
MMKV.mmkvWithID(WX_OPENID).encode(WX_OPENID, openid)
}
if (user.expireTime > 0) {
MMKV.mmkvWithID(VIP_FLAG).encode(VIP_FLAG, true)
} else {
MMKV.mmkvWithID(VIP_FLAG).encode(VIP_FLAG, false)
}
}
}
......@@ -117,31 +130,21 @@ class UserManager {
return !TextUtils.isEmpty(wxId)||!TextUtils.isEmpty(mobile)
}
/**
* 单独获取用户id
*/
fun getUserID(): String {
val kv = MMKV.mmkvWithID(USER_ID)
return kv.decodeString(USER_ID, "")
}
/**
* 获取用户登陆状态
*/
fun getTokenID(): String {
val kv = MMKV.mmkvWithID(TOKEN_ID)
return kv.decodeString(TOKEN_ID, "")
}
/**
* 获取用户邀请码
*/
fun getCodeID(): String {
val kv = MMKV.mmkvWithID(CODE_ID)
return kv.decodeString(CODE_ID, "")
}
fun getWxName(): String {
val kv = MMKV.mmkvWithID(WX_NAME)
return kv.decodeString(WX_NAME, "")
......@@ -167,6 +170,14 @@ class UserManager {
return kv.decodeLong(EXPIRETIME, 0)
}
fun getVipFlag(): Boolean {
val kv = MMKV.mmkvWithID(EXPIRETIME)
return kv.decodeBool(EXPIRETIME, false)
}
fun setVipFlag(vipFlag:Boolean){
MMKV.mmkvWithID(VIP_FLAG).encode(VIP_FLAG, vipFlag)
}
fun userLogout() {
MMKV.mmkvWithID(USER_ID).remove(USER_ID)
......@@ -177,6 +188,7 @@ class UserManager {
MMKV.mmkvWithID(WX_HEADER).remove(WX_HEADER)
MMKV.mmkvWithID(IS_FOREVER).remove(IS_FOREVER)
MMKV.mmkvWithID(EXPIRETIME).remove(EXPIRETIME)
MMKV.mmkvWithID(VIP_FLAG).encode(VIP_FLAG, false)
}
}
\ No newline at end of file
......@@ -77,15 +77,15 @@
但是只能分享图片和文字,username和path是分享小程序用的的,userName是小程序的原始ID,path是小程序内的页面路径;
而且必须保证微信开放平台与微信公众/小程序绑定才可以分享;不需要的不用管
-->
<Wechat AppId="wxa824ad2a65960e60" AppSecret="a01fbb557b214f7c11564b47bc7f3c91" BypassApproval="false"
<Wechat AppId="wx62d0739d771e6633" AppSecret="d837b62b054912b68befa1e33b4c3e13" BypassApproval="false"
Enable="true" Id="4"
MiniprogramType="0" Path="pages/index/index.html?id=1" SortId="4"
UserName="gh_afb25ac019c9" WithShareTicket="true" />
<WechatMoments AppId="wxa824ad2a65960e60" AppSecret="a01fbb557b214f7c11564b47bc7f3c91" BypassApproval="false"
<WechatMoments AppId="wx62d0739d771e6633" AppSecret="d837b62b054912b68befa1e33b4c3e13" BypassApproval="false"
Enable="true" Id="5" SortId="5" />
<WechatFavorite AppId="wxa824ad2a65960e60" AppSecret="a01fbb557b214f7c11564b47bc7f3c91" Enable="true"
<WechatFavorite AppId="wx62d0739d771e6633" AppSecret="d837b62b054912b68befa1e33b4c3e13" Enable="true"
Id="6" SortId="6" />
<!-- ShareByAppClient标识是否使用微博客户端分享,默认是false -->
......
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