news 2026/3/2 14:51:43

【实习】钉钉端银行经理新增与二维码功能开发复盘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【实习】钉钉端银行经理新增与二维码功能开发复盘

钉钉移动端银行经理新增与二维码功能开发复盘

  • 1. 需求概述
  • 2. 整体流程
    • 2.1 时序图
    • 2.2 流程图
  • 3. 方案演进
    • 3.1 初期方案:弹窗显示二维码(❌ 失败)
    • 3.2 最终方案:独立页面(✅ 成功)
  • 4. 核心代码解析
    • 4.1 数据流对比
    • 4.3 二维码页关键代码 (qrcode.vue)
  • 5. 路由配置 (routes.js)
  • 6. 踩坑记录
  • 7. 文件结构
  • 8. 总结

1. 需求概述

在钉钉移动端(Wap端)的活动管理模块中,实现"银行经理"管理功能:

列表展示(姓名、手机号、绑定状态)
新增银行经理(姓名、手机号、身份证后六位、银行网点)
二维码生成(供经理扫码绑定)

2. 整体流程

2.1 时序图

2.2 流程图

3. 方案演进

3.1 初期方案:弹窗显示二维码(❌ 失败)

思路:在列表页使用 van-dialog 或 z-action 的弹窗模式直接展示二维码。
问题:
z-action 的 slot 在移动端渲染不稳定
二维码库 (qrcode.min.js) 动态加载失败
后端接口返回的链接在弹窗关闭时丢失

3.2 最终方案:独立页面(✅ 成功)

思路:将二维码展示拆分为独立页面,通过路由跳转。
优势:
页面生命周期完整可控
复用 PC 端成熟的组件逻辑
调试和维护更简单

4. 核心代码解析

4.1 数据流对比


4.2 列表页关键代码 (list.vue)

<template><!--导航栏集成新增按钮--><van-nav-bar title="银行经理列表"><template #right><z-action mode="drawer"title="新增"url="/do/put/bank_manager":data="{ activityId }":fields="formFields"@finish="onAddSuccess"><van-button size="small"type="primary">新增</van-button></z-action></template></van-nav-bar><!--列表--><z-list ref="list"url="/do/select/bank_manager":params="{ activityId }"><template #row="item"><van-cell:title="item.title":label="item.phone"><template #value><van-tag:type="item.isBind ? 'success' : 'warning'">{{item.isBind?'已绑定':''}}</van-tag><van-button v-if="!item.isBind"size="mini"@click="goQrcode(item)">二维码</van-button></template></van-cell></template></z-list></template><script>exportdefault{data(){return{activityId:this.$route.query.activityId,formFields:[{name:'activityId',type:'hidden'},{label:'姓名',name:'title',type:'input',rules:[{required:true}]},{label:'手机号',name:'phone',type:'input',rules:[{required:true}]},{label:'身份证后六位',name:'idCard',type:'input'},{label:'银行网点',name:'bankBranch',type:'textarea'}]}},methods:{onAddSuccess(){this.$refs.list.refresh();// 仅刷新,不跳转},goQrcode(manager){// 关键:存储完整对象到 sessionStoragesessionStorage.setItem('qrManager',JSON.stringify(manager));this.$router.push({path:'/pages/bankManager/qrcode',query:{id:manager.id}});}}}</script>

4.3 二维码页关键代码 (qrcode.vue)

<template><van-nav-bar title="扫码绑定"left-arrow@click-left="goBack"/><z-block url="/api/activity/createQr":params="params"><template #default="data"><z-copy label="复制链接":value="data"/><z-qr:value="data"height="200px"width="200px"/><div>二维码有效期十分钟</div></template></z-block><van-button@click="refresh">刷新二维码</van-button></template><script>exportdefault{data(){// 从 sessionStorage 恢复数据constmanagerStr=sessionStorage.getItem('qrManager');constmanager=managerStr?JSON.parse(managerStr):{id:this.$route.query.id};return{params:manager};},methods:{goBack(){this.$router.back();},refresh(){constmanagerStr=sessionStorage.getItem('qrManager');constmanager=managerStr?JSON.parse(managerStr):{id:this.$route.query.id};this.params={...manager,temp:Date.now()};// temp 触发重新请求}}}</script>

5. 路由配置 (routes.js)

// 银行经理模块{path:'/pages/bankManager/list',name:'BankManagerList',component:()=>import('./bankManager/list.vue'),meta:{title:'银行经理列表'}},{path:'/pages/bankManager/qrcode',name:'BankManagerQrcode',component:()=>import('./bankManager/qrcode.vue'),meta:{title:'扫码绑定'}}

6. 踩坑记录

7. 文件结构

wap/
├── public/
│ └── lib/
│ └── qrcode.min.js # 二维码依赖库(从PC端复制)
└── src/
└── pages/
├── bankManager/
│ ├── list.vue # 银行经理列表页
│ └── qrcode.vue # 二维码展示页
├── routes.js # 路由配置
└── welcome/
└── welcome.vue # 活动列表页(增加入口按钮)

8. 总结

通过将复杂的弹窗逻辑拆分为独立页面,并复用 PC 端成熟的组件(z-block、z-qr、z-copy),大幅降低了开发复杂度。

核心经验:

跨页面传值:使用 sessionStorage 传递复杂对象
复用优先:优先使用已有组件,避免重复造轮子
渐进式调试:遇到问题时,先简化场景(弹窗→独立页面)
参考 PC 端:移动端功能优先参考 PC 端成熟实现

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/1 2:07:32

再互动:加多宝如何用一物一码织就情感与数据的营销双网

在饮料货架前&#xff0c;消费者选择加多宝的理由&#xff0c;可能不止于“怕上火”的功能承诺。吸引他们的&#xff0c;或许是瓶身上那个能开启“财神送宝”惊喜的二维码。一次开盖扫码&#xff0c;可能联通了线下“财神天团”派发的新年祝福&#xff0c;也可能接入了与热门游…

作者头像 李华
网站建设 2026/3/2 7:43:19

气象监测设备如何助力精细化环境管理?金叶仪器智能气象站方案探讨

在环境监测领域&#xff0c;气象数据的精准获取与分析对于生产生活、公共安全及生态保护具有基础性意义。随着传感技术与物联网的融合发展&#xff0c;气象监测设备正朝着智能化、集成化方向演进。金叶仪器&#xff08;山东&#xff09;有限公司基于多年环境监测设备研发经验&a…

作者头像 李华
网站建设 2026/2/27 0:55:08

运维自动化新选择:DeepSeek-OCR-2实现日志告警智能分析

运维自动化新选择&#xff1a;DeepSeek-OCR-2实现日志告警智能分析 1. 运维团队的真实痛点&#xff1a;从截图到决策的漫长等待 凌晨两点&#xff0c;监控系统突然弹出十几条红色告警。值班工程师快速打开 Grafana 看板&#xff0c;发现 CPU 使用率飙升、数据库连接池耗尽、A…

作者头像 李华
网站建设 2026/2/27 10:10:06

Nano-Banana Studio效果展示:复古画报风运动套装色彩分层与排版逻辑

Nano-Banana Studio效果展示&#xff1a;复古画报风运动套装色彩分层与排版逻辑 1. 开篇&#xff1a;一张图&#xff0c;讲清什么是“衣服拆解展示台” 你有没有见过博物馆里那些被精密拆解的机械钟表&#xff1f;每个齿轮、游丝、发条都悬浮在透明亚克力支架上&#xff0c;彼…

作者头像 李华
网站建设 2026/2/28 1:28:55

DAMO-YOLO开源镜像实操:开箱即用的赛博朋克视觉系统部署全流程

DAMO-YOLO开源镜像实操&#xff1a;开箱即用的赛博朋克视觉系统部署全流程 1. 为什么你需要一个“会看”的AI系统&#xff1f; 你有没有遇到过这些场景&#xff1a; 想快速验证一张监控截图里有没有人、有没有车&#xff0c;却要翻半天代码、装一堆依赖&#xff1b;做智能硬…

作者头像 李华
网站建设 2026/2/27 10:51:49

Clawdbot性能调优:Qwen3-32B GPU利用率提升50%实战

Clawdbot性能调优&#xff1a;Qwen3-32B GPU利用率提升50%实战 1. 这次优化到底带来了什么改变 第一次看到Clawdbot跑Qwen3-32B时的GPU监控图&#xff0c;说实话有点失望。显存倒是占满了&#xff0c;但GPU计算单元的利用率经常在20%-30%之间徘徊&#xff0c;像一台大排量发动…

作者头像 李华