93 lines
3.2 KiB
Vue
93 lines
3.2 KiB
Vue
<template>
|
||
<view class="page">
|
||
<!-- 注意: App 网页向应用 postMessage 为实时消息 -->
|
||
<web-view v-if="vdata.url" :src="vdata.url" @message="onMessageFunc"></web-view>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup>
|
||
import { ref, reactive } from 'vue';
|
||
import { onLoad } from '@dcloudio/uni-app';
|
||
import appConfig from '@/config/appConfig.js';
|
||
import ak from '@/commons/utils/ak.js';
|
||
import storageManage from '@/commons/utils/storageManage.js';
|
||
import env from '@/env/env.development.js';
|
||
|
||
const vdata = reactive({
|
||
url: null,
|
||
isAdd: false // 是否新增, 新增将返回两个页面, 修改返回一个。
|
||
});
|
||
|
||
onLoad((option) => {
|
||
// console.log(option);
|
||
let jeepayToken = storageManage.token();
|
||
let mchNo = storageManage.userInfo().mchNo;
|
||
let uploadImgSize = storageManage.uploadImgSize() || '';
|
||
let isView = option.isView == 1 ? true : false; // 是否预览模式
|
||
let isvNo = option.isvNo || ''; // 渠道号
|
||
let range = option.range || 0; // 渠道号
|
||
let autoConfigMchAppId = option.autoConfigMchAppId || ''; // 应用号
|
||
|
||
let baseUrl = `${env.JEEPAY_BASE_URL_H5}`;
|
||
|
||
let url = '';
|
||
// 包含 记录ID
|
||
if (option.applyId) {
|
||
url = `${baseUrl}/h5MchApplyment?isView=${isView ? 1 : 0}&jeepayToken=${jeepayToken}&applyId=${
|
||
option.applyId
|
||
}&uploadImgSize=${uploadImgSize}&autoConfigMchAppId=${autoConfigMchAppId}&isvNo=${isvNo}&range=${range}`;
|
||
} else {
|
||
vdata.isAdd = true;
|
||
|
||
// 副本。
|
||
let copyInfoSourceApplyIdParam = option.copyInfoSourceApplyId || '';
|
||
url = `${baseUrl}/h5MchApplyment?isView=0&jeepayToken=${jeepayToken}&mchNo=${mchNo}&ifCode=${option.ifCode}©InfoSourceApplyId=${copyInfoSourceApplyIdParam}&isvNo=${isvNo}&range=${range}&autoConfigMchAppId=${autoConfigMchAppId}`;
|
||
// url = `${baseUrl}/h5MchApplyment?isView=0&jeepayToken=${jeepayToken}&mchNo=${mchNo}&ifCode=${option.ifCode}©InfoSourceApplyId=${copyInfoSourceApplyIdParam}&uploadImgSize=${uploadImgSize}&autoConfigMchAppId=${option.appId || ''}&isvNo=${isvNo}&range=${range}`
|
||
}
|
||
|
||
console.log(url, 'urlurlurl');
|
||
vdata.url = url;
|
||
});
|
||
|
||
// App 网页向应用 postMessage 为实时消息
|
||
// 接收到 web-view事件 ,
|
||
// 注意:放置数据, 必须在data字段下, 比如: uni.postMessage({data: {ctrl: 'TOTOTOTOTOT'}})
|
||
function onMessageFunc(msg) {
|
||
// 接收到响应的数据 [数组格式, 比如接收到 web-view的返回等特定事件, 将数据入栈全部返回 ]
|
||
let postDataArray = msg.detail.data;
|
||
|
||
// 无数据
|
||
if (!postDataArray || !Array.isArray(postDataArray)) {
|
||
return false;
|
||
}
|
||
|
||
for (var i = 0; i < postDataArray.length; i++) {
|
||
if (postDataArray[i].ctrl == 'toApplymentListAndRef') {
|
||
// 跳转到进件列表 && 刷新
|
||
|
||
// APP 可以实时接收到消息, 微信小程序需要在返回事件 (会关闭当前页面)时再接收到消息。
|
||
|
||
// #ifdef APP-PLUS
|
||
ak.go.back(1, ak.emit.ENAME_REF_APPLYMENT_LIST); //返回上一页
|
||
// #endif
|
||
|
||
// #ifdef MP-WEIXIN
|
||
ak.emit.pageEmit(ak.emit.ENAME_REF_APPLYMENT_LIST); // 刷新页面。
|
||
// #endif
|
||
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.page {
|
||
padding: 30rpx;
|
||
box-sizing: border-box;
|
||
padding-bottom: 150rpx;
|
||
background-color: #f5f6fd;
|
||
min-height: calc(100vh - 0px);
|
||
}
|
||
</style>
|