parent
56cc572077
commit
f5aa72bb3a
|
|
@ -4,7 +4,7 @@
|
||||||
<selectionStates>
|
<selectionStates>
|
||||||
<SelectionState runConfigName="app">
|
<SelectionState runConfigName="app">
|
||||||
<option name="selectionMode" value="DROPDOWN" />
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
<DropdownSelection timestamp="2026-03-05T07:51:25.715983900Z">
|
<DropdownSelection timestamp="2026-03-09T01:29:27.555907500Z">
|
||||||
<Target type="DEFAULT_BOOT">
|
<Target type="DEFAULT_BOOT">
|
||||||
<handle>
|
<handle>
|
||||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=JRBI89BIE6AI5TG6" />
|
<DeviceId pluginId="PhysicalDevice" identifier="serial=JRBI89BIE6AI5TG6" />
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -62,10 +62,12 @@ import com.img.rabbit.utils.AppEventBus
|
||||||
import com.img.rabbit.utils.UniAppUtils
|
import com.img.rabbit.utils.UniAppUtils
|
||||||
import com.img.rabbit.utils.UniMpUpdate
|
import com.img.rabbit.utils.UniMpUpdate
|
||||||
import com.img.rabbit.utils.UniMpWXPayEvent
|
import com.img.rabbit.utils.UniMpWXPayEvent
|
||||||
import com.img.rabbit.utils.UpdateUtils
|
|
||||||
import com.img.rabbit.viewmodel.GeneralViewModel
|
import com.img.rabbit.viewmodel.GeneralViewModel
|
||||||
|
import io.dcloud.feature.sdk.DCUniMPSDK
|
||||||
|
import io.dcloud.feature.unimp.DCUniMPJSCallback
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import org.json.JSONObject
|
||||||
|
|
||||||
@SuppressLint("UnrememberedMutableState", "MutableCollectionMutableState")
|
@SuppressLint("UnrememberedMutableState", "MutableCollectionMutableState")
|
||||||
@Composable
|
@Composable
|
||||||
|
|
@ -117,11 +119,20 @@ fun HomeScreen(
|
||||||
}
|
}
|
||||||
|
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
UniAppUtils.uniMpFlow.collect { currentMap ->
|
DCUniMPSDK.getInstance().setOnUniMPEventCallBack { _, _, data, _ ->//appid, event, data, callback ->
|
||||||
Log.d("UniMP", "Map 变化了,当前数量: ${currentMap.size}")
|
//拉起微信小程序来支付
|
||||||
|
val weixinMpOriId = JSONObject(data.toString()).optString("weixinMpOriId")
|
||||||
|
val outTradeNo = JSONObject(data.toString()).optString("outTradeNo")
|
||||||
|
UniAppUtils.startUniPay(
|
||||||
|
api = generalViewModel.api,
|
||||||
|
weixinMpOriId = weixinMpOriId,
|
||||||
|
outTradeNo = outTradeNo
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var homeIconConfig by remember { mutableStateOf(PreferenceUtil.getUserConfig()?.config?.homeIconEntity) }
|
var homeIconConfig by remember { mutableStateOf(PreferenceUtil.getUserConfig()?.config?.homeIconEntity) }
|
||||||
var uniVersionConfig by remember { mutableStateOf(PreferenceUtil.getUserConfig()?.config?.uniVersionEntity) }
|
var uniVersionConfig by remember { mutableStateOf(PreferenceUtil.getUserConfig()?.config?.uniVersionEntity) }
|
||||||
LaunchedEffect(globalUserConfig) {
|
LaunchedEffect(globalUserConfig) {
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ import com.img.rabbit.provider.storage.PreferenceUtil.getBDVID
|
||||||
import com.img.rabbit.provider.utils.HeadParamUtils.applicationContext
|
import com.img.rabbit.provider.utils.HeadParamUtils.applicationContext
|
||||||
import com.img.rabbit.provider.utils.HeadParamUtils.getAppVersionName
|
import com.img.rabbit.provider.utils.HeadParamUtils.getAppVersionName
|
||||||
import com.img.rabbit.uni.UniMPSplashView
|
import com.img.rabbit.uni.UniMPSplashView
|
||||||
|
import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram
|
||||||
|
import com.tencent.mm.opensdk.openapi.IWXAPI
|
||||||
import io.dcloud.feature.sdk.DCUniMPSDK
|
import io.dcloud.feature.sdk.DCUniMPSDK
|
||||||
import io.dcloud.feature.sdk.Interface.IUniMP
|
import io.dcloud.feature.sdk.Interface.IUniMP
|
||||||
import io.dcloud.feature.unimp.config.UniMPOpenConfiguration
|
import io.dcloud.feature.unimp.config.UniMPOpenConfiguration
|
||||||
|
|
@ -147,7 +149,6 @@ object UniAppUtils {
|
||||||
configuration.splashClass = UniMPSplashView::class.java
|
configuration.splashClass = UniMPSplashView::class.java
|
||||||
}
|
}
|
||||||
updateUniMp(uniVersion.unimp_id, DCUniMPSDK.getInstance().openUniMP(context, uniVersion.unimp_id, configuration))
|
updateUniMp(uniVersion.unimp_id, DCUniMPSDK.getInstance().openUniMP(context, uniVersion.unimp_id, configuration))
|
||||||
//uniMpPair[uniVersion.unimp_id] = DCUniMPSDK.getInstance().openUniMP(context, uniVersion.unimp_id, configuration)
|
|
||||||
}
|
}
|
||||||
onResult(false)
|
onResult(false)
|
||||||
}
|
}
|
||||||
|
|
@ -167,9 +168,6 @@ object UniAppUtils {
|
||||||
if(uniMp?.isRuning == true){
|
if(uniMp?.isRuning == true){
|
||||||
uniMp.showUniMP()
|
uniMp.showUniMP()
|
||||||
}
|
}
|
||||||
// if(uniMpPair[uniMpId]?.isRuning == true){
|
|
||||||
// uniMpPair[uniMpId]?.closeUniMP()
|
|
||||||
// }
|
|
||||||
// 启动直达页面
|
// 启动直达页面
|
||||||
startUniMpToPage(context, uniMpId, uniMpType, pagePath)
|
startUniMpToPage(context, uniMpId, uniMpType, pagePath)
|
||||||
}
|
}
|
||||||
|
|
@ -318,7 +316,6 @@ object UniAppUtils {
|
||||||
stringBuilder.append("│ decrypt = ${Constants.AESDecrypt}\n")
|
stringBuilder.append("│ decrypt = ${Constants.AESDecrypt}\n")
|
||||||
stringBuilder.append("│ decrypt = ${Constants.Signature}\n")
|
stringBuilder.append("│ decrypt = ${Constants.Signature}\n")
|
||||||
stringBuilder.append("-------------> header end <-------------")
|
stringBuilder.append("-------------> header end <-------------")
|
||||||
|
|
||||||
Log.i("UniAppUtils", stringBuilder.toString())
|
Log.i("UniAppUtils", stringBuilder.toString())
|
||||||
|
|
||||||
return UniMPOpenConfiguration().apply {
|
return UniMPOpenConfiguration().apply {
|
||||||
|
|
@ -337,6 +334,18 @@ object UniAppUtils {
|
||||||
extraData.put("isCombo", "ok")
|
extraData.put("isCombo", "ok")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉起微信小程序来支付
|
||||||
|
*/
|
||||||
|
fun startUniPay(api: IWXAPI, weixinMpOriId: String, outTradeNo: String) {
|
||||||
|
//isStartComboPay = true
|
||||||
|
val req = WXLaunchMiniProgram.Req()
|
||||||
|
req.userName = weixinMpOriId // 填小程序原始id
|
||||||
|
req.path = "pages/index/index?outTradeNo=$outTradeNo" //拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
|
||||||
|
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE// 可选打开 开发版,体验版和正式版
|
||||||
|
api.sendReq(req)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class UniMpUpdate{
|
enum class UniMpUpdate{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue