Browse Source

fix(render): 修复了代码片段不能在app上显示的问题

重构了render.vue;目前IOS模拟器上测试正常;安卓模拟器有布局错乱的问题,判断与render无关,需要排查插件的样式问题
test2
wally 4 years ago
parent
commit
fe54729fc7
  1. 1
      CHANGELOG.md
  2. 2
      components/Plugin/Plugin.vue
  3. 27
      components/Render/Render.vue

1
CHANGELOG.md

@ -187,6 +187,7 @@
- | 重构project init 部分 | [c7bf2df](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/c7bf2df)
- | 重构render.vue | [fdd668f](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/fdd668f)
api | 调整mock api放入mock.js下;main中加入环境变量的判断 | [053ac31](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/053ac31)
- | APP注释了Render Component; render.vue换成vue2语法 | [3a89de1](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/3a89de1)
- | deliver检查人重构;更新真实数据的检查人 | [ce808c4](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/ce808c4)
- | project init 重构 | [2457a87](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/2457a87)

2
components/Plugin/Plugin.vue

@ -28,7 +28,6 @@
<p-domain-source-manage v-else-if="pluginId === '20'" class="p-2" />
<p-project-version-management v-else-if="pluginId === '21'" class="p-2" />
<!-- #ifdef H5 -->
<Render
v-else
:task="task"
@ -38,6 +37,7 @@
:businessPluginId="businessPluginId"
:param="param"
/>
<!-- #ifdef H5 -->
<!-- #endif -->
</view>
</template>

27
components/Render/Render.vue

@ -1,6 +1,7 @@
<template>
<view class="render-box shadow-lg" v-if="pluginInfo">
<view class="render-box shadow-lg">
<view
class="render-content"
:id="`render-${pluginTaskId}`"
:data-did="task.detailId"
:data-param="param"
@ -16,6 +17,8 @@
:data-uid="userId"
:pluginInfo="pluginInfo"
:change:pluginInfo="project.renderDom"
:pluginTaskId="pluginTaskId"
:change:pluginTaskId="project.initPluginTaskId"
></view>
</view>
</template>
@ -82,19 +85,21 @@ export default {
<script module="project" lang="renderjs">
// TODO: 使
let pluginTaskId = '';
export default {
methods: {
/**
* 渲染dom
* @param {object|null} res 插件详情 监听的pluginInfo
* @param {*} b
* @param {object} instance 实例对象
*/
renderDom(res, b, instance) {
console.log('res,b,instance: ', res,b,instance);
renderDom(res) {
if (!res) return;
this.$nextTick(() => {
if (res.html) {
const content = window.document.getElementById(`render-${this.pluginTaskId}`);
// : 2022130 this.pluginTaskIdAPP
// bug
const content = window.document.getElementById(`render-${pluginTaskId}`);
content.innerHTML = res.html;
}
@ -103,7 +108,17 @@ export default {
script.innerHTML = res.js;
window.document.body.appendChild(script);
}
})
},
/**
* 从prop data中拿到pluginTaskId, 存入变量中
* 因为目前这里没办法通过this拿到prop data下的数据
* @param {string} propsPluginTaskId
*/
initPluginTaskId(propsPluginTaskId) {
pluginTaskId = propsPluginTaskId;
}
},
};
</script>

Loading…
Cancel
Save