V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zhanyye
V2EX  ›  程序员

钉钉微应用开发(SpringBoot + VUE + Docker)~

  •  1
     
  •   zhanyye ·
    zhanyeye · 2021-05-16 15:39:44 +08:00 · 1483 次点击
    这是一个创建于 1322 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求各位大佬 start 呀


    Prod Status

    目标与期望

    基于钉钉微应用开发的实验室绩效管理系统,将实验室的绩效、学分、论文评审管理与钉钉对接。
    主要功能有:绩效、学分申请与审核,论文评审投票及学分管理,实验室助研金计算等。

    注意事项

    • sdk 使用代码:com.softeng.dingtalk.api
    • 前端代码:dingtalk-vue (👈预览)
    • 使用了 lombok 插件简化代码,idea 需要安装 lombok 插件,否则编译过不去
    • 由于目前钉钉小程序只支持 GET/POST, 考虑到兼容性这里的接口全部为 GET/POST 方式
    • 系统启动时,初始化操作会调用钉钉 SDK,拉取钉钉组织的所有用户, 请先在开发平台设置出口 IP

    系统部署

    本项目使用 GitHub Actions 实现 CI,受外网网速限制,没有采用在 GitHub 机器上构件镜像,再拉取到服务器上运行的方式。而是在每次 CI 触发后,GitHub 机器 ssh 登陆服务器,执行脚本来拉取最新代码,构建镜像,并运行容器,具体如下:

    1. 从 GitHub 仓库中拉去最新代码到服务器本地仓库
    2. 使用 mvn 构建项目
    3. docker-compose build 构建镜像
    4. docker-compose up -d 在后台启动容器
    5. docker image prune -f 清理无用的镜像

    GitHub Actions 的 CI 脚本如下

    • 生产环境 CI 脚本:.github/workflows/prod.yml
    • 测试环境 CI 脚本:.github/workflows/test.yml
    • 与 CI 脚本对应的项目结构如下
      .
      |__ dingtalk
          |__ dingtalk-springboot  // 后端代码
          |__ dingtalk-vue         // 前端代码
          |__ docker-compose.yml   // docker-compose 配置文件
      

    docker-compose 编排配置如下:

    系统运维

    前端预览

    01

    02

    03·

    04

    05

    06

    07

    08

    09

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    5 条回复    2021-05-17 10:34:02 +08:00
    beginor
        1
    beginor  
       2021-05-16 23:12:01 +08:00 via Android
    Nginx 的 try_files 会产生重定向, 最好是在后台写一个 H5Failback 的中间件
    lp7631010
        2
    lp7631010  
       2021-05-17 09:03:57 +08:00
    star t?
    zhanyye
        3
    zhanyye  
    OP
       2021-05-17 10:05:57 +08:00
    @beginor 啊谢谢,涉及知识盲区了,我去查一查
    zhanyye
        4
    zhanyye  
    OP
       2021-05-17 10:06:25 +08:00
    @lp7631010 哈哈哈哈哈,失误😂
    yEhwG10ZJa83067x
        5
    yEhwG10ZJa83067x  
       2021-05-17 10:34:02 +08:00
    蛮好,用微信小程序或者钉钉非常适合这种内部使用的 crm 系统。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   923 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:45 · PVG 04:45 · LAX 12:45 · JFK 15:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.