//pages/index/index.nvue
<template>
<view class="base" :style="{ height: windowHeight + 'px' }">
<text class="title">nvue 首页</text>
<text class="desc">本页为小程序页面 nvue</text>
<view class="btn" @click="exitApp">
<text class="btn-text">退出小程序</text>
</view>
</view>
</template>
<script setup>
import { onLoad } from '@dcloudio/uni-app';
import { ref } from 'vue';
const windowHeight = ref((uni.getSystemInfoSync() || {}).windowHeight || 750);
const openCount = ref(0);
onLoad(() => {
// 用于判断 nvue 页面是否真的渲染出来。
// Weex 渲染失败(白屏)时本页 JS 完全不执行,日志中不会出现这一行。
console.log('[DEMO] index.nvue onLoad —— nvue 渲染成功');
});
const exitApp = () => {
console.log('[DEMO] 退出小程序');
plus.runtime.quit();
};
</script>
<style scoped>
.base {
display: flex;
width: 750rpx;
background-color: #ffffff;
justify-content: center;
align-items: center;
flex-direction: column;
}
.title {
font-size: 40rpx;
color: #333333;
margin-bottom: 30rpx;
}
.desc {
font-size: 28rpx;
color: #888888;
margin-bottom: 16rpx;
}
.btn {
display: flex;
margin-top: 60rpx;
width: 400rpx;
height: 88rpx;
border-radius: 44rpx;
background-color: #245ec3;
justify-content: center;
align-items: center;
}
.btn-text {
font-size: 30rpx;
color: #ffffff;
}
</style>
//安卓端代码
//DemoAPP 启动的Application
public class DemoApp extends Application {
public static final String TAG = "UNIMP-DEMO";
/** 与 uni 工程 manifest.json 的 appid 保持一致 */
public static final String UNI_APP_ID = "xxxxx";
@Override
public void onCreate() {
super.onCreate();
initSDK();
}
private void initSDK(){
// 这里直接返回,避免重复初始化
if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
return;
}
DCSDKInitConfig config = new DCSDKInitConfig.Builder()
.setCapsule(false)
.setEnableBackground(false)
.build();
DCUniMPSDK.getInstance().initialize(this, config, new IDCUniMPPreInitCallback() {
@Override
public void onInitFinished(boolean b) {
Log.d(TAG, "UniMPSDK 初始化完成 = " + b);
}
});
}
}
// 安卓页面 MainActivity
public class MainActivity extends Activity {
private static final String TAG = DemoApp.TAG;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnOpen = findViewById(R.id.btn_open);
btnOpen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("点击测试","1");
openMiniProgram();
}
});
}
private void openMiniProgram() {
try {
UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
uniMPOpenConfiguration.path = "pages/index/index";
DCUniMPSDK.getInstance().openUniMP(MainActivity.this, DemoApp.UNI_APP_ID, uniMPOpenConfiguration);
} catch (Exception e) {
Log.e(TAG, "打开失败" + e.getMessage());
}
}
}