修改微信充值

This commit is contained in:
2025-08-13 08:52:11 +08:00
parent a8dcdf8b4b
commit 066dc96421
15 changed files with 193 additions and 144 deletions

View File

@@ -10,8 +10,12 @@ MobSDK {
loopShare true loopShare true
devInfo { devInfo {
Wechat { Wechat {
appId "wx7b5c4e89e726a72c" appId "wx3304802a02ab8d62"
appSecret "afc9860f4c670ac19f9efb0ab94927a3" appSecret "fd7a8c53063654d7cf942e9950d2da6b"
// appId "wx7b5c4e89e726a72c"
// appSecret "afc9860f4c670ac19f9efb0ab94927a3"
// appId "wx3858bffeddfb91b8"
// appSecret "0b59b165268b63ba6446d1dc55a21f38"
} }
QQ { QQ {
appId "102046191" appId "102046191"
@@ -35,8 +39,8 @@ android {
minSdkVersion 22 minSdkVersion 22
targetSdkVersion 31 targetSdkVersion 31
versionCode 46 versionCode 47
versionName "1.3.6" versionName "1.3.7"
dataBinding { dataBinding {
//noinspection DataBindingWithoutKapt //noinspection DataBindingWithoutKapt
enabled = true enabled = true

View File

@@ -47,14 +47,14 @@ class ChongZhiActivity : BaseDataBindingActivity<ChongZhiViewModel, ViewDataBind
val mWxApi = WXAPIFactory.createWXAPI( val mWxApi = WXAPIFactory.createWXAPI(
this,null) this,null)
// 将该app注册到微信 // 将该app注册到微信
mWxApi.registerApp("wx7b5c4e89e726a72c") mWxApi.registerApp("wx3304802a02ab8d62")
// 判断是否安装客户端 // 判断是否安装客户端
if (!mWxApi.isWXAppInstalled) { if (!mWxApi.isWXAppInstalled) {
"请您先安装微信客户端!".showToast() "请您先安装微信客户端!".showToast()
return@observe return@observe
} }
val req = PayReq() val req = PayReq()
req.appId = "wx7b5c4e89e726a72c" // 微信开放平台审核通过的应用APPID req.appId = "wx3304802a02ab8d62" // 微信开放平台审核通过的应用APPID
req.partnerId = it.partnerid // 微信支付分配的商户号 req.partnerId = it.partnerid // 微信支付分配的商户号

View File

@@ -83,6 +83,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
val REQUEST_CODE_SELEC2 = 101 val REQUEST_CODE_SELEC2 = 101
private var sexStr: String = "" private var sexStr: String = ""
private var nowDate: String = "" private var nowDate: String = ""
private var userId: String=""
private var maxSelectNum = 9 //最多显示的图片数量 private var maxSelectNum = 9 //最多显示的图片数量
override fun startObserve() { override fun startObserve() {
@@ -100,11 +101,13 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
} }
//ID号 //ID号
id.text = it.uid id.text = it.uid
userId=it.uid
//出生日期 //出生日期
birthday.text = it.birthday birthday.text = it.birthday
imgString = it.head_pic imgString = it.head_pic
tv_qianming.setText(it.autograph) tv_qianming.setText(it.autograph)
tv_aihao.setText(it.hobby) tv_aihao.setText(it.hobby)
viewModel.loadData(userId)
} }
viewModel.editFinish.observe(this) { viewModel.editFinish.observe(this) {
@@ -136,8 +139,65 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
aihao aihao
) )
} }
}
viewModel.imgListData2.observe(this) {
var imgs = ""
for (str in it) {
imgs = if (imgs.isEmpty())
str
else
"$imgs,$str"
}
viewModel.add_user_albums(imgs)
}
viewModel.userData.observe( this){
if (it.user_albums_list.isNotEmpty()) {
// 清空所有列表数据
imageListAll1.clear()
imageListAll2.clear()
tempList.clear()
// 添加服务器返回的图片数据
for (album in it.user_albums_list) {
val imageItem = ImageItem()
imageItem.name=album.aid
imageItem.path = safeUrlDecode(album.image ?: "") // 添加安全解码
tempList.add(imageItem)
imageListAll1.add(ImageItems(1, imageItem))
}
// 复制数据到imageListAll2
imageListAll2.addAll(imageListAll1)
// 添加"添加图片"按钮(如果未达到最大数量)
if (imageListAll2.size < maxSelectNum) {
imageListAll2.add(ImageItems(2, ImageItem()))
}
adapter.setNewData(imageListAll2)
}
}
}
// 添加安全的URL解码方法
private fun safeUrlDecode(encodedString: String): String {
if (encodedString.isEmpty()) return encodedString
return try {
// 检查是否包含有效的百分号编码
if (encodedString.contains("%") && encodedString.length > 2) {
java.net.URLDecoder.decode(encodedString, "UTF-8")
} else {
encodedString
}
} catch (e: IllegalArgumentException) {
e.printStackTrace()
encodedString
} catch (e: java.io.UnsupportedEncodingException) {
encodedString
}
}
override fun getLayoutId(): Int = R.layout.activity_modify_data override fun getLayoutId(): Int = R.layout.activity_modify_data
override fun initView() { override fun initView() {
@@ -145,7 +205,6 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
override fun initData() { override fun initData() {
adapter = FBPicListAdapter() adapter = FBPicListAdapter()
val manager = FullyGridLayoutManager(this, 3, GridLayoutManager.VERTICAL, false) val manager = FullyGridLayoutManager(this, 3, GridLayoutManager.VERTICAL, false)
sor_release_rv.layoutManager = manager sor_release_rv.layoutManager = manager
@@ -154,6 +213,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
adapter.setNewData(imageListAll2) adapter.setNewData(imageListAll2)
viewModel.loadUserInfo() viewModel.loadUserInfo()
} }
override fun initEvent() { override fun initEvent() {
@@ -200,7 +260,6 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
"爱好不能为空".showToast() "爱好不能为空".showToast()
return@setOnClickListener return@setOnClickListener
} }
// if (tempList.size == 0) {
if (selImageList.size == 0) { if (selImageList.size == 0) {
viewModel.editUserInfo( viewModel.editUserInfo(
imgString, imgString,
@@ -213,9 +272,6 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
} else { } else {
uploadFile(selImageList[0].path) uploadFile(selImageList[0].path)
} }
// }else{
// uploadFile(tempList[0].path)
// }
} }
head_image.setOnClickListener { head_image.setOnClickListener {
// showImgPop() // showImgPop()
@@ -262,12 +318,6 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
} }
adapter.setOnItemClickListener { adapter2, view, position -> adapter.setOnItemClickListener { adapter2, view, position ->
// var mPermissionsChecker = PermissionsChecker(this@ModifyDataActivity)
// if (mPermissionsChecker!!.lacksPermissions(*permissionListTmp)) {
// ll_quanxian.visibility = View.VISIBLE
// } else {
// ll_quanxian.visibility = View.GONE
// }
if (adapter.data[position].type == 2) { if (adapter.data[position].type == 2) {
@@ -282,43 +332,10 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
.isOriginalSkipCompress(true) .isOriginalSkipCompress(true)
.forResult(REQUEST_CODE_SELEC2) //结果回调onActivityResult code .forResult(REQUEST_CODE_SELEC2) //结果回调onActivityResult code
// var numss = 9 - (adapter.data.size - 1)
// if (numss > 3) numss = 3
// val rxPermissions = RxPermissions(this)
// val finalNumss = numss
// rxPermissions
// .request(
// Manifest.permission.CAMERA,
// Manifest.permission.WRITE_EXTERNAL_STORAGE,
// Manifest.permission.READ_MEDIA_IMAGES
// )
// .subscribe { granted: Boolean ->
// if (granted) { // Always true pre-M
// // 跳转到相册
// ll_quanxian.visibility = View.GONE
// ImagePicker.getInstance().selectLimit = finalNumss
// ImagePicker.getInstance().isMultiMode = true
// ImagePicker.getInstance().isCrop = false
// val intent = Intent(this, ImageGridActivity::class.java)
// //显示选中的图片
// startActivityForResult(intent, REQUEST_CODE_SELEC2)
// } else {
// ll_quanxian.visibility = View.GONE
// AlertDialog.Builder(this@ModifyDataActivity)
// .setMessage("需要存储权限来访问相册")
// .setPositiveButton("去设置") { dialog, which ->
// val intent: Intent =
// Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
// val uri = Uri.fromParts("package", packageName, null)
// intent.setData(uri)
// startActivity(intent)
// }
// .setNegativeButton("取消", null)
// .show()
// }
// }
} }
} }
adapter.setOnItemChildClickListener { adapter, view, position -> adapter.setOnItemChildClickListener { adapter, view, position ->
when (view.id) { when (view.id) {
R.id.iv_del -> { R.id.iv_del -> {
@@ -332,6 +349,7 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
} else { } else {
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
} }
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
} }
@@ -398,16 +416,6 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
private fun uploadFile(pic: String) { private fun uploadFile(pic: String) {
val parts = ArrayList<MultipartBody.Part>() val parts = ArrayList<MultipartBody.Part>()
val listPos: MutableList<Int> = ArrayList() val listPos: MutableList<Int> = ArrayList()
// if (tempList.size != 0){
// for (i in tempList.indices) {
// val file = File(tempList[i].path)
// val requestFile =
// RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file)
// val body = MultipartBody.Part.createFormData("file[]", file.name, requestFile)
// parts.add(body)
// listPos.add(i)
// }
// }
if (!TextUtils.isEmpty(pic)) { if (!TextUtils.isEmpty(pic)) {
val file2 = File(pic) val file2 = File(pic)
val requestFile2 = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file2) val requestFile2 = RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file2)
@@ -542,41 +550,6 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
if (data == null) { if (data == null) {
return return
} }
// val tempList: ArrayList<ImageItem>?
// if (resultCode == RESULT_OK && data != null) {
// //添加图片返回
// if (requestCode == REQUEST_CODE_SELECT) {
//// tempList =
//// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
// tempList = PictureSelector.obtainSelectorList(data) as ArrayList<ImageItem>?
// if (tempList == null) {
// return
// }
// selImageList.clear()
// selImageList.addAll(tempList)
// if (selImageList.size > 0) {
// Glide.with(this).load(selImageList[0].path).into(head_image)
// }
// } else if (requestCode == REQUEST_CODE_SELEC2) {
// tempList =
// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
// if (tempList == null) {
// return
// }
//
// adapter.data.clear()
// for (i in tempList.indices) {
// imageListAll1.add(ImageItems(1, tempList[i]))
// }
//
// imageListAll2 = imageListAll1
// if (imageListAll2.size < maxSelectNum) {
// imageListAll2.add(ImageItems(2, ImageItem()))
// }
//
// adapter.setNewData(imageListAll2)
// }
// }
if (resultCode == RESULT_OK && data != null) { if (resultCode == RESULT_OK && data != null) {
//添加图片返回 //添加图片返回
if (requestCode == REQUEST_CODE_SELECT) { if (requestCode == REQUEST_CODE_SELECT) {
@@ -601,23 +574,24 @@ class ModifyDataActivity : BaseActivity<ModifyDataViewModel>() {
// 处理 ImagePicker 返回的结果 // 处理 ImagePicker 返回的结果
val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data) val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
// val tempList = data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
// if (tempList == null) {
// return
// }
adapter.data.clear() adapter.data.clear()
// for (i in tempList.indices) {
// imageListAll1.add(ImageItems(1, tempList[i]))
// }
tempList.clear() tempList.clear()
val parts = java.util.ArrayList<MultipartBody.Part>()
for (localMedia in localMediaList) { for (localMedia in localMediaList) {
val imageItem = ImageItem() val imageItem = ImageItem()
imageItem.path = localMedia.realPath imageItem.path = localMedia.realPath
tempList.add(imageItem) tempList.add(imageItem)
imageListAll1.add(ImageItems(1, imageItem)) imageListAll1.add(ImageItems(1, imageItem))
} }
for (i in tempList.indices) {
val file = File(tempList[i].path)
val requestFile =
RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file)
val part = MultipartBody.Part.createFormData("file[]", file.name, requestFile)
parts.add(part)
}
viewModel.uploadImages2(parts)
imageListAll2 = imageListAll1 imageListAll2 = imageListAll1
if (imageListAll2.size < maxSelectNum) { if (imageListAll2.size < maxSelectNum) {

View File

@@ -2,8 +2,10 @@ package com.yuyin.mier.module_my.edituser
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.yuyin.lib_base.base.BaseViewModel import com.yuyin.lib_base.base.BaseViewModel
import com.yuyin.mier.module_my.model.UserHomePageBean
import com.yuyin.mier.module_my.model.UserInfoBean import com.yuyin.mier.module_my.model.UserInfoBean
import com.yuyin.mier.repository.CommonRepository import com.yuyin.mier.repository.CommonRepository
import okhttp3.MultipartBody
import java.net.URLEncoder import java.net.URLEncoder
class ModifyDataViewModel : BaseViewModel() { class ModifyDataViewModel : BaseViewModel() {
@@ -24,4 +26,21 @@ class ModifyDataViewModel : BaseViewModel() {
editFinish.value = data.data editFinish.value = data.data
} }
} }
var userData = MutableLiveData<UserHomePageBean>()
fun loadData(from_id: String) {
launchUI {
val result = repository.player_home_page(from_id)
userData.value = result.data
}
}
var imgListData2: MutableLiveData<List<String>> = MutableLiveData()
fun uploadImages2(imgFiles: List<MultipartBody.Part>) {
launchUI {
var result = baseRepository.uploadImages2(imgFiles)
imgListData2.value = result.data
}
}
} }

View File

@@ -16,6 +16,9 @@ import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.LogUtils import com.blankj.utilcode.util.LogUtils
import com.flyco.tablayout.listener.CustomTabEntity import com.flyco.tablayout.listener.CustomTabEntity
import com.flyco.tablayout.listener.OnTabSelectListener import com.flyco.tablayout.listener.OnTabSelectListener
import com.luck.picture.lib.basic.PictureSelector
import com.luck.picture.lib.entity.LocalMedia
import com.luck.picture.lib.style.PictureSelectorStyle
import com.lzy.imagepicker.ImagePicker import com.lzy.imagepicker.ImagePicker
import com.lzy.imagepicker.bean.ImageItem import com.lzy.imagepicker.bean.ImageItem
import com.lzy.imagepicker.ui.ImageGridActivity import com.lzy.imagepicker.ui.ImageGridActivity
@@ -35,9 +38,11 @@ import com.yuyin.mier.R
import com.yuyin.mier.databinding.ActivityUserHomepageBinding import com.yuyin.mier.databinding.ActivityUserHomepageBinding
import com.yuyin.mier.module_my.adapter.MyPicListAdapter import com.yuyin.mier.module_my.adapter.MyPicListAdapter
import com.yuyin.mier.module_my.adapter.UserGiftWallAdapter import com.yuyin.mier.module_my.adapter.UserGiftWallAdapter
import com.yuyin.mier.module_my.edituser.ModifyDataActivity.TUIEngine
import com.yuyin.mier.module_my.gh.deatile.GongHuiDeatileActivity import com.yuyin.mier.module_my.gh.deatile.GongHuiDeatileActivity
import com.yuyin.mier.module_my.model.UserAlbumsList import com.yuyin.mier.module_my.model.UserAlbumsList
import com.yuyin.mier.view.pic.FullScreenUtil2 import com.yuyin.mier.view.pic.FullScreenUtil2
import com.yuyin.module_community.model.ImageItems
import kotlinx.android.synthetic.main.activity_user_homepage.* import kotlinx.android.synthetic.main.activity_user_homepage.*
import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MediaType.Companion.toMediaTypeOrNull
@@ -382,21 +387,32 @@ class UserHomePageActivity :
} else { } else {
var numss = 8 - (myPicListAdapter.data.size - 1) var numss = 8 - (myPicListAdapter.data.size - 1)
if (numss > 3) numss = 3 if (numss > 3) numss = 3
val rxPermissions = RxPermissions(this) // val rxPermissions = RxPermissions(this)
val finalNumss = numss // val finalNumss = numss
rxPermissions // rxPermissions
.request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE) // .request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe { granted: Boolean -> // .subscribe { granted: Boolean ->
if (granted) { // Always true pre-M // if (granted) { // Always true pre-M
// 跳转到相册 // // 跳转到相册
ImagePicker.getInstance().selectLimit = finalNumss // ImagePicker.getInstance().selectLimit = finalNumss
ImagePicker.getInstance().isMultiMode = true // ImagePicker.getInstance().isMultiMode = true
ImagePicker.getInstance().isCrop = false // ImagePicker.getInstance().isCrop = false
val intent = Intent(this, ImageGridActivity::class.java) // val intent = Intent(this, ImageGridActivity::class.java)
//显示选中的图片 // //显示选中的图片
startActivityForResult(intent, REQUEST_CODE_SELECT) // startActivityForResult(intent, REQUEST_CODE_SELECT)
} // }
} // }
PictureSelector.create(this)
.openGallery(1)
.setImageEngine(TUIEngine())
.setSelectorUIStyle(PictureSelectorStyle())
.isGif(false)
.setMaxSelectNum(numss)
.isPreviewImage(true)
.isDisplayCamera(true)
.isOriginalSkipCompress(true)
.forResult(REQUEST_CODE_SELECT) //结果回调onActivityResult code
} }
} }
@@ -538,12 +554,34 @@ class UserHomePageActivity :
if (data == null) { if (data == null) {
return return
} }
if (resultCode == ImagePicker.RESULT_CODE_ITEMS) { // if (resultCode == ImagePicker.RESULT_CODE_ITEMS) {
//添加图片返回 // //添加图片返回
// if (requestCode == REQUEST_CODE_SELECT) {
// val tempList =
// data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>?
// ?: return
// val parts = ArrayList<MultipartBody.Part>()
// for (i in tempList.indices) {
// val file = File(tempList[i].path)
// val requestFile =
// RequestBody.create("multipart/form-data".toMediaTypeOrNull(), file)
// val body = MultipartBody.Part.createFormData("file[]", file.name, requestFile)
// parts.add(body)
// }
// viewModel.uploadImages(parts)
// }
// }
if (resultCode == RESULT_OK && data != null) {
if (requestCode == REQUEST_CODE_SELECT) { if (requestCode == REQUEST_CODE_SELECT) {
val tempList = // 处理 ImagePicker 返回的结果
data.getSerializableExtra(ImagePicker.EXTRA_RESULT_ITEMS) as ArrayList<ImageItem>? val localMediaList: ArrayList<LocalMedia> = PictureSelector.obtainSelectorList(data)
?: return var tempList: ArrayList<ImageItem> = ArrayList()
for (localMedia in localMediaList) {
val imageItem = ImageItem()
imageItem.path = localMedia.realPath
tempList.add(imageItem)
}
val parts = ArrayList<MultipartBody.Part>() val parts = ArrayList<MultipartBody.Part>()
for (i in tempList.indices) { for (i in tempList.indices) {
val file = File(tempList[i].path) val file = File(tempList[i].path)

View File

@@ -28,7 +28,7 @@ class UserHomePageViewModel : BaseViewModel() {
var cancelFollowData = MutableLiveData<Any>() var cancelFollowData = MutableLiveData<Any>()
var delImgData = MutableLiveData<Any>() var delImgData = MutableLiveData<Any>()
var addImgData = MutableLiveData<Any>() // var addImgData = MutableLiveData<Any>()
var dynamicList = MutableLiveData<List<DynamicBean>>() var dynamicList = MutableLiveData<List<DynamicBean>>()
@@ -86,12 +86,12 @@ class UserHomePageViewModel : BaseViewModel() {
} }
} }
fun add_user_albums(imgs: String) { // fun add_user_albums(imgs: String) {
launchUI { // launchUI {
val result = myRepository.add_user_albums(imgs) // val result = myRepository.add_user_albums(imgs)
addImgData.value = result.data // addImgData.value = result.data
} // }
} // }
var addBlack = MutableLiveData<Any>() var addBlack = MutableLiveData<Any>()
fun add_blacklist(userId: String) { fun add_blacklist(userId: String) {

View File

@@ -118,7 +118,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
) )
// 将该app注册到微信 // 将该app注册到微信
mWxApi.registerApp("wx7b5c4e89e726a72c") mWxApi.registerApp("wx3304802a02ab8d62")
// 判断是否安装客户端 // 判断是否安装客户端
if (!mWxApi.isWXAppInstalled) { if (!mWxApi.isWXAppInstalled) {
"请您先安装微信客户端!".showToast() "请您先安装微信客户端!".showToast()
@@ -126,7 +126,7 @@ class JinBiFragment : BaseDataBindingFragment<JinBiViewModel, FragmentJinbiBindi
} }
val req = PayReq() val req = PayReq()
// 微信开放平台审核通过的应用APPID // 微信开放平台审核通过的应用APPID
req.appId = "wx7b5c4e89e726a72c" req.appId = "wx3304802a02ab8d62"
// 微信支付分配的商户号 // 微信支付分配的商户号
req.partnerId = it.partnerid req.partnerId = it.partnerid
// 预支付订单号app服务器调用“统一下单”接口获取 // 预支付订单号app服务器调用“统一下单”接口获取

View File

@@ -63,7 +63,7 @@ class ChangeInviterActivity :
) )
// 将该app注册到微信 // 将该app注册到微信
mWxApi.registerApp("wx7b5c4e89e726a72c") mWxApi.registerApp("wx3304802a02ab8d62")
// 判断是否安装客户端 // 判断是否安装客户端
if (!mWxApi.isWXAppInstalled) { if (!mWxApi.isWXAppInstalled) {
"请您先安装微信客户端!".showToast() "请您先安装微信客户端!".showToast()
@@ -71,7 +71,7 @@ class ChangeInviterActivity :
} }
val req = PayReq() val req = PayReq()
// 微信开放平台审核通过的应用APPID // 微信开放平台审核通过的应用APPID
req.appId = "wx7b5c4e89e726a72c" req.appId = "wx3304802a02ab8d62"
// 微信支付分配的商户号 // 微信支付分配的商户号
req.partnerId = it.partnerid req.partnerId = it.partnerid
// 预支付订单号app服务器调用“统一下单”接口获取 // 预支付订单号app服务器调用“统一下单”接口获取

View File

@@ -350,7 +350,7 @@ class CommonRepository : BaseRepository() {
CommonServer.api.remove_blacklist(user_id) CommonServer.api.remove_blacklist(user_id)
} }
suspend fun add_user_albums(img: String): ResponseData<Any> = request { override suspend fun add_user_albums(img: String): ResponseData<Any> = request {
CommonServer.api.add_user_albums(img) CommonServer.api.add_user_albums(img)
} }

View File

@@ -20,7 +20,7 @@ public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
api = WXAPIFactory.createWXAPI(this, "wx7b5c4e89e726a72c", true); api = WXAPIFactory.createWXAPI(this, "wx3304802a02ab8d62", true);
api.handleIntent(getIntent(), this); api.handleIntent(getIntent(), this);
} }

View File

@@ -126,6 +126,7 @@ open class BaseViewModel : ViewModel(), LifecycleObserver {
} }
var imgListData: MutableLiveData<List<String>> = MutableLiveData() var imgListData: MutableLiveData<List<String>> = MutableLiveData()
var addImgData = MutableLiveData<Any>()
fun uploadImages(imgFiles: List<MultipartBody.Part>) { fun uploadImages(imgFiles: List<MultipartBody.Part>) {
launchUI { launchUI {
@@ -133,6 +134,12 @@ open class BaseViewModel : ViewModel(), LifecycleObserver {
imgListData.value = result.data imgListData.value = result.data
} }
} }
fun add_user_albums(imgs: String) {
launchUI {
val result = baseRepository.add_user_albums(imgs)
addImgData.value = result.data
}
}
//运行在UI线程的协程 //运行在UI线程的协程
fun launchUI(block: suspend CoroutineScope.() -> Unit) = viewModelScope.launch { fun launchUI(block: suspend CoroutineScope.() -> Unit) = viewModelScope.launch {
@@ -205,4 +212,5 @@ open class BaseViewModel : ViewModel(), LifecycleObserver {
captchaBean.value = result.data captchaBean.value = result.data
} }
} }
} }

View File

@@ -195,7 +195,11 @@ interface BaseApiService {
*/ */
@GET("api/calculator") @GET("api/calculator")
suspend fun calculator(): ResponseData<CalculatorBean> suspend fun calculator(): ResponseData<CalculatorBean>
/**
* 上传用户相册*
*/
@GET("user/add_user_albums")
suspend fun add_user_albums(@Query("image") image: String): ResponseData<Any>
/** /**
* 获取提现详情 * 获取提现详情

View File

@@ -49,7 +49,9 @@ open class BaseRepository {
request { request {
BaseApiServer.api.uploadImages2(imgFiles) BaseApiServer.api.uploadImages2(imgFiles)
} }
open suspend fun add_user_albums(img: String): ResponseData<Any> = request {
BaseApiServer.api.add_user_albums(img)
}
suspend fun getUserinfo(): ResponseData<UserBean> = request { suspend fun getUserinfo(): ResponseData<UserBean> = request {
BaseApiServer.api.getUserinfo() BaseApiServer.api.getUserinfo()
} }

View File

@@ -16,7 +16,7 @@
<Tumblr Enable="false" /> <Tumblr Enable="false" />
<Email Enable="false" /> <Email Enable="false" />
<ShortMessage Enable="false" /> <ShortMessage Enable="false" />
<Wechat AppId="wx7b5c4e89e726a72c" AppSecret="afc9860f4c670ac19f9efb0ab94927a3" /> <Wechat AppId="wx3304802a02ab8d62" AppSecret="fd7a8c53063654d7cf942e9950d2da6b" />
<WechatMoments Enable="false" /> <WechatMoments Enable="false" />
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" /> <QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
<Instapaper Enable="false" /> <Instapaper Enable="false" />

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<DevInfor> <DevInfor>
<Wechat AppId="wx7b5c4e89e726a72c" AppSecret="afc9860f4c670ac19f9efb0ab94927a3" /> <Wechat AppId="wx3304802a02ab8d62" AppSecret="fd7a8c53063654d7cf942e9950d2da6b" />
<QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" /> <QQ AppId="102046191" AppKey="dT8ZbR4TfdOuBF4e" />
</DevInfor> </DevInfor>