当前位置: 首页 > news >正文

学习网站建设网站网站开发案例

学习网站建设网站,网站开发案例,天津市建设工程协会网站,免费游戏源码网最近开发了个oa系统,pc端的表单使用form-create开发,form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。移动端使用uniapp开发,但是因为form-create移动端只支持vant,不支持uniapp。官…

    最近开发了个oa系统,pc端的表单使用form-create开发,form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。移动端使用uniapp开发,但是因为form-create移动端只支持vant,不支持uniapp。官方的说法是移动端用vant开发后通过webview的方式嵌入到uniapp。

    uniapp嵌入开发好的h5页面没有问题,但是h5页面需要保存表单数据和发起工作流,做完这个操作后需要告知uniapp关闭webview页面,并跳转uniapp相应页面。

  (1)uniapp 的webview.vue页面:

<template><view><web-view :src="fileUrl" @message="handlerMessage"></web-view></view>
</template><script>export default {data() {return {fileUrl: "",}},onLoad(options) {this.fileUrl = decodeURIComponent(options.fileUrl)},methods: {handlerMessage(event) {console.log('Received message:', event.detail.data);}}}
</script><style></style>

webview页面使用message方法监听h5发送给uniapp应用的消息。

(2)h5推送消息至uniapp

   我的h5页面基于vue3+vant4+vite开发。

   1.首先在public目录下新建static目录,接着创建js目录。下载jweixin-1.4.0.js和uni.webview.1.5.6.js文件到本地,引入到js目录下。

2.在项目index.html中写入如下内容:

<!DOCTYPE html>
<html lang="">
<head><meta charset="UTF-8"><link rel="icon" href="/favicon.ico"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>流程表单</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
<script type="text/javascript" src="/static/js/jweixin-1.4.0.js"></script>
<script type="text/javascript" src="/static/js/uni.webview.1.5.6.js"></script>
<script>document.addEventListener('UniAppJSBridgeReady', function () {uni.getEnv(function (res) {if (res.plus) {console.log('当前环境为【5+App】');} else if (res.miniprogram) {console.log('当前环境为【微信小程序】');} else if (res.h5) {console.log('当前环境为h5');}});});
</script>
</body>
</html>

3.在h5页面,保存按钮点击时调用下面的方法。

//提交
async function onSubmit(formData) {let params = {procdefKey: processDefKey,formData: JSON.stringify(formData)};try {loading.value = trueawait apiSaveFormStartProcess(params);uni.postMessage({data: {action: 'startProcessCompleted'}});showSuccessToast('流程发起成功');uni.navigateBack({delta: 1});} finally {loading.value = false}
}

uni.postMessage推送消息到uniapp应用。由于message在后退、组件销毁、分享才会接受到消息。所以在提交完后,调用 uni.navigateBack触发后退。此时webview的message方法就能接受到消息了。

(3)效果

 

http://www.yayakq.cn/news/113457/

相关文章:

  • WordPress网站打不开nginx上海开本建设工程有限公司
  • 北京康迪建设监理咨询有限公司网站6万网制作网站
  • 新手如何搭建自己的网站网站众筹该怎么做
  • 赣州网站网站建设django网站开发规范
  • 网站建设国内外研究进展网店设计思路怎么写
  • 益阳市建设网站电脑网站视频怎么下载
  • 企业网站开发介绍最适合女生的专业排名
  • 成都企业网站建设哪家好wordpress框架教学
  • 做网站时连服务器上的数据库私人网官网
  • 网站自动采集rss重庆建设工程造价信息网站
  • 郑州网站建设亅汉狮网络如何创网站
  • 二 网站建设的目的及功能定位深圳市住房保障署官网
  • 北京网站搭建报价淘宝网站建设的缺点
  • 官方网站建设平台易售乐服装销售管理软件
  • 甘肃省网站建设咨询企业自己做网站的成本
  • 买服务器网站积分商城系统
  • linux系统服务器怎么做网站哪个网站有学做吃的
  • 口碑好的做网站公司wordpress 建视频网站
  • 苏州资讯网站建设无锡市建设培训中心网站
  • 个人网站建设目标网站开发有几种语言
  • 有关网站设计与制作的论文企业网站建设运营的灵魂是什么
  • 音乐网站设计素材深圳网站建设黄浦网络 骗子
  • 福州市市政建设开发有限公司网站wordpress图片本地化
  • 网站设计大概在什么价位专做热血电影的网站
  • 北京网站建设最大的公司排名seo优化关键词0
  • 做网站简单还是app简单Wordpress 修改 mysql 插件
  • 成都建设网上商城平台公司新乡网站关键字优化
  • 汽车配件做外贸在哪个网站店名注册查询官网
  • python做网站方便吗制作网页查询系统
  • 南通专业做网站河北省建设厅网站登陆设置