钉钉,浙政钉,专有钉钉 h5 免登 demo

您所在的位置:网站首页 浙政钉登陆 钉钉,浙政钉,专有钉钉 h5 免登 demo

钉钉,浙政钉,专有钉钉 h5 免登 demo

2023-08-17 02:08| 来源: 网络整理| 查看: 265

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

 前言

开始之前,先简单介绍下 "钉钉家族"

钉钉 是阿里巴巴集团专为中小企业打造的沟通和协同的多端平台。

浙政钉 为规范浙政钉整体架构体系,按照统分结合原则,由省政府办公厅统一设计整体工作界面和系统框架,统筹指导全省统建应用建设,各单位根据自身业务特点分别建设自建应用,最终形成全省统一的政府系统掌上协同办公平台。

浙政钉 1.0 钉钉上的一个特殊组织架构。

浙政钉 2.0 根据2020年浙江省深化“最多跑一次”改革推进政府数字化转型工作要点,为实现基本建成“掌上办公之省”年度工作目标,省大数据局联合阿里巴巴启动了“浙政钉”的迭代升级,将浙政钉从钉钉组织迁移出来,成为独立的浙政钉客户端。

专有钉钉 原名政务钉钉,有更开放的设计能力、集成能力、更结构化协同产品、更定制化开发平台。支持专有化部署,数据落本地,更安全、客户可对该产品持牌运营、结构化编排,协助构建本地应用中心、提供移动应用全面安全保障体系。

阿里专有钉钉产品简介 (注意到是SaaS版本)

简单来说,就是专有钉钉是升级版钉钉,而浙政钉则是专有钉钉 saas 化部署的一个特殊租户。

正文

本文将从 开发前置要求,本地启动步骤,部署  三个方面进行展示

开发前置要求

        1 JDK8.0

        2 IDEA 环境

        3 创建好了的钉钉应用

        4 创建好了的浙政钉(开发阶段一般由专有钉钉替代)应用

        5 一台安装了 docker 的机器(非必须)

本地启动步骤

1 git 地址

github.com/kid626/ding…

 2 修改 application.yml 的配置

demo: # 修改钉钉 h5 微应用的配置 ding: appKey: "ak" appSecret: "as" corpId: "企业id" agentId: zzd: appKey: "ak" appSecret: "as" corpId: 租户 id # 专有钉钉 默认这个,浙政钉需要使用线上环境地址 domainName: "openplatform.dg-work.cn" # 可以修改启动端口号 server: port: 9001

3 配置内网穿透

        鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP,本工具提供了一个公网代理服务,目的是方便开发测试。

        可以使用钉钉提供的内网穿透工具 钉钉内网穿透介绍

        我这边写了个启动脚本

#!/usr/bin/env bash # 自行修改 subdomain 和端口号 echo "FORWARDING http://bruce.vaiwan.com/dd to http:127.0.0.1:9001/dd" echo "FORWARDING http://bruce.vaiwan.com/zzd to http:127.0.0.1:9001/zzd" ./pierced/windows_64/ding.exe -config=./pierced/windows_64/ding.cfg -subdomain=bruce 9001

        修改完毕后,记得修改前端静态页面的请求路径(全局搜索 bruce.vaiwan.com)

4 启动内网穿透工具

sh ding.sh

5 配置钉钉,浙政钉,专有钉钉 h5 微应用路径

        钉钉可以通过 CORPIDCORPIDCORPID 动态获取容器内的企业 id,但是浙政钉不行,此 id 在获取鉴权码时需要传入

钉钉: http://***.vaiwan.com/dd/?corpid=$CORPID$ 浙政钉: http://***.vaiwan.com/zzd/

6 启动 SpringBoot 项目

1)钉钉内部免登

​编辑

2)钉钉扫码登录

钉钉扫码登录流程简介

oapi.dingtalk.com/connect/qrc…

​编辑

3)专有钉钉内部免登

鉴于专有钉钉不支持应用内截图,在此不做演示了

4)专有扫码登录

专有钉钉扫码登录流程

https://login.dg-work.cn/oauth2/auth.htm?response_type=code&client_id=应用标识&redirect_uri=回调地址&scope=get_user_info&authType=QRCODE

这边需要注意的是,专有钉钉扫码和内部免登其实是两个应用,需要区分一下 ak,as

​编辑

部署

        这边采用 idea 的 docker 插件实现服务的一键部署,具体方式可以移步上一篇文章

        idea springboot 一键部署(Dockerfile 篇)

后记

        前段时间看到一句话,深以为然,在此也分享给大家

总结比埋头重要

        去年疫情以来,加之 数字化改革 ,接到浙政钉的项目也越来越多,第一次还是一头雾水,随着踩得坑越来越多,也渐渐踩出了经验。自己开发倒还好,要是和别人分享,还是有很多问题。

        因此这段时间静下心来,总结一些遇到的问题,最后整理出一个 demo,不能说保证看完这个 demo,就能流畅的完成开发,但是至少能保证有个能下手的地方。

        当然作为职场小白一枚,其实还有很多不足的,需要改进的地方也很多,在此列举一下,有机会的话后期能继续改进

        1 浙政钉,钉钉服务端 api 的调用,后期可能会封装成一个单独的 sdk。

        2 获取 token 的频率太过频繁,资源浪费,可以考虑利用返回的有效期,对 token 做一个本地缓存

        3 由于我是一枚JAVA 后端开发,第一次写前端页面,无论是界面还是代码结构上都是非常欠缺的。最近也打算学习一下前端的一些技术框架,像 vue,uni-app ,ant-design 等,希望能改进一下界面吧。

        最后贴几个开发过程中的参考资料吧

钉钉开发第三方H5微应用入门详细教程

SpringBoot 热部署

SpringBoot 引入本地 jar包

idea springboot 一键部署(Dockerfile 篇)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3