精华内容
下载资源
问答
  • JQuery实现仿钉钉审批流程设置
  • 钉钉开发详解

    万次阅读 2018-11-09 22:03:14
    钉钉开发分为:移动客户端、PC端、服务端三个平台的开发。 1、移动客户端:面对钉钉手机用户和企业用户。 2、PC端:主要面向PC端的用户和企业。 3、服务端,用于用户和企业内部管理的平台方向,例如OA网站。 ...

    开发范围

    钉钉开发分为:移动客户端、PC端、服务端三个平台的开发。

    1、移动客户端:面对钉钉手机用户和企业用户。

    2、PC端:主要面向PC端的用户和企业。

    3、服务端,用于用户和企业内部管理的平台方向,例如OA网站。

    开发流程

    一、免登流程图   点击查看步骤

    二、详细步骤

    步骤1:获取CorpID、CorpSecret(在企业钉钉微应用设置中获取)

    步骤2:获取AccessToken

    开发者在调用开放平台接口前需要通过CorpID和CorpSecret获取AccessToken。获取AccessToken的方法是向 

    https://oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect GET请求。

    步骤3:获取jsapi_ticket(服务器中调用,用以生成可用的ticket)点击查看官方文档 

    获取jsapi_ticket

    企业在使用微应用中的JS API时,需要先从钉钉开放平台接口获取jsapi_ticket生成签名数据,并将最终签名用的部分字段及签名结果返回到H5中,JS API底层将通过这些数据判断H5是否有权限使用JS API。

    请求说明

    Https请求方式:GET

    https://oapi.dingtalk.com/get_jsapi_ticket?access_token=ACCESS_TOKEN

    步骤4:签名生成算法

    开发者在web页面使用钉钉容器提供的jsapi时,需要验证调用权限,并以参数signature标识合法性

    签名生成的规则:

    List keyArray = sort(noncestr,timestamp,jsapi_ticket,url);

    String str = assemble(keyArray);

    signature = sha1(str);

    参与签名的字段包括在上文中获取的jsapi_ticket,noncestr(随机字符串,自己随便填写即可),timestamp(当前时间戳,具体值为当前时间到1970年1月1号的秒数),url(当前网页的URL,不包含#及其后面部分,需要对url中query部分做一次urldecode)。例如:

    noncestr=Zn4zmLFKD0wzilzM

    jsapi_ticket=mS5k98fdkdgDKxkXGEs8LORVREiweeWETE40P37wkidkfksDSKDJFD5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcKIDU8l

    timestamp=1414588745

    url=//open.dingtalk.com

    注意:若页面url为http://abc.com?url=http%3A%2F%2Fabc.com%2somewhere,则用于生成签名的url应对query部分做一次urldecode,正确结果应为http://abc.com?url=http://abc.com/somewhere

    步骤1. sort()含义为对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)

    步骤2. assemble()含义为根据步骤1中获的参数字段的顺序,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串

    步骤2. sha1()的含义为对在步骤2拼接好的字符串进行sha1加密。

    步骤5:获取免登用户信息 击查看官方文档

    通过CODE换取用户身份

    企业应用的服务器在拿到CODE后,需要将CODE发送到钉钉开放平台接口,如果验证通过,则返回CODE对应的用户信息。**此接口只用于免登服务中用来换取用户信息**

    请求说明

    Https请求方式: GET

    https://oapi.dingtalk.com/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE

    展开全文
  • 钉钉企业自建E应用开发流程

    万次阅读 2018-10-07 23:37:42
    企业自建应用开发流程 1.下载Idea,安装git(用于导入开发通用框架Demo) GitUrl:https://github.com/xpp0205/dingTalk 填入url后检测是否能连接通   2.导入服务端Demo后打开配置类constant 其中...

    企业自建应用开发流程

    1.下载Idea,安装git(用于导入开发通用框架Demo)

    GitUrl:https://github.com/xpp0205/dingTalk

    填入url后检测是否能连接通

     

    2.导入服务端Demo后打开配置类constant

    其中appKey和appSecret是用于调用获取钉钉accessToken接口需要的参数,agentId是用于识别E应用身份的参数。

     

    Util目录下的dingTalkUtil是轻度封装的工具类,里面封装了一些钉钉常用的api接口。

     

    钉钉最重要的流程是属于企业免登,indexController里写了有关免登的逻辑代码:

    (1:authCode授权码,属于钉钉E应用前端调用钉钉jsapi获取,用户点击E应用时首先会在加载方法里请求授权码

    (2:钉钉会自己识别用户点击E应用的身份来获取相应的授权码,传到后端的授权码authCode会与后台服务端通过appKey和appSecret获取的accessToken来进行检验,若检验不一致则会报错(不存在的临时授权码),所以在开发过程中E应用前端IDE所选择的关联应用要与后台的appKey和appSecret对应上。

    (3:当检验通过后,钉钉会给服务端返回用户的id,通过id和accessToken可以获取到用户的详细信息。

     

    3.登录钉钉开发平台打开E应用配置

    首先把自己的钉钉账号设置为开发人员,否则无法前端IDE无法扫码体验。

    点击应用信息详情可以查看E应用的appKey、appSecret等信息。

    如果是本地开发的话可以不用给E应用配置安全域名,如果需要用到手机测试E应用的话则必须配置E应用的安全域名,否则是无法跨域访问的,安全域名可以配机开发机器的公网ip,如果没有公网ip的话可以使用内网穿透出临时域名供测试使用。

     

    4. 钉钉前端IDE的使用

    下载前端IDE的Demo,导入到IDE中运行

    首先需要登录钉钉账号,IDE会根据你的账号来获取授权码(通过getAuthCode)

    选择好关联的E应用(与后台的E应用信息需要对应上,否则会报错)

    在页面加载onload()方法中首先会获取授权码,此方法是jsapi,与我们自己的服务端是没有关系的,返回授权码成功后会通过dd.httpRequest调用后端登录接口,验证成功后会返回用户信息,成功获取到用户信息证明免登成功,此后可以写我们自己的业务逻辑代码了。

     

     

    展开全文
  • 模仿钉钉写的一个选择每个步骤的审核人的插件,比如公文流转,要选择每个步骤审核人,然后再一次性提交。我写了三个版本,一个是调用jquery+function,还有一个是jquery+obj,一个jquery封装为插件。测试可以使用。
  • workflow仿钉钉审批流程设置

    万次阅读 多人点赞 2019-11-16 14:47:59
    钉钉审批流程设置,基于vue开发 线上开源地址 https://github.com/StavinLi/Workflow 点个赞吧! 项目介绍 技术点 组件自调用+递归处理 功能点 界面缩放 节点设置 节点新增 5.等等 项目安装 git ...

    workflow钉钉审批流程设置

    workflow钉钉审批流程设置,基于vue开发。QQ交流群:639251756
    在这里插入图片描述


    项目介绍

    • UI钉钉风格
    • 技术点
    1. 组件自调用+递归处理,按树状结局处理审批流程问题
    • 主要功能点
    1. 界面缩放
      在这里插入图片描述
    <div class="zoom">
    	<div :class="'zoom-out'+ (nowVal==50?' disabled':'')" @click="zoomSize(1)"></div>
        <span>{{nowVal}}%</span>
        <div :class="'zoom-in'+ (nowVal==300?' disabled':'')" @click="zoomSize(2)"></div>
    </div>
    
    1. 节点设置(包括审批人、发起人、抄送人、条件设置)
      在这里插入图片描述
    <el-drawer title="审批人设置" :visible.sync="approverDrawer" direction="rtl" class="set_promoter" size="550px" :before-close="saveApprover"> 
        <div class="demo-drawer__content">
            <div class="drawer_content">
                <div class="approver_content">
                    <el-radio-group v-model="approverConfig.settype" class="clear" @change="changeType">
                        <el-radio :label="1">指定成员</el-radio>
                        <el-radio :label="2">主管</el-radio>
                        <el-radio :label="4">发起人自选</el-radio>
                        <el-radio :label="5">发起人自己</el-radio>
                        <el-radio :label="7">连续多级主管</el-radio>
                    </el-radio-group>
                    ...
    
    1. 节点新增
      在这里插入图片描述
    <div class="add-node-btn">
        <el-popover placement="right-start" v-model="visible">
              <div class="add-node-popover-body">
                  <a class="add-node-popover-item approver" @click="addType(1)">
                      <div class="item-wrapper">
                          <span class="iconfont"></span>
                      </div>
                      <p>审批人</p>
                  </a>
                  <a class="add-node-popover-item notifier" @click="addType(2)">
                      <div class="item-wrapper">
                          <span class="iconfont"></span>
                      </div>
                      <p>抄送人</p>
                  </a>
                  <a class="add-node-popover-item condition" @click="addType(4)">
                      <div class="item-wrapper">
                          <span class="iconfont"></span>
                      </div>
                      <p>条件分支</p>
                  </a>
              </div>
              ...
    

    5.错误校验
    在这里插入图片描述

     if (this.nodeConfig.type == 1) {
         this.nodeConfig.error = !this.setApproverStr(this.nodeConfig)
     } else if (this.nodeConfig.type == 2) {
         this.nodeConfig.error = !this.copyerStr(this.nodeConfig)
     } else if (this.nodeConfig.type == 4) {
         for (var i = 0; i < this.nodeConfig.conditionNodes.length; i++) {
             this.nodeConfig.conditionNodes[i].error = this.conditionStr(this.nodeConfig.conditionNodes[i], i) == "请设置条件" && i != this.nodeConfig.conditionNodes.length - 1
         }
     }
    

    6.模糊搜索匹配人员、职位、角色

    <input type="text" placeholder="搜索成员" v-model="copyerSearchName" @input="getDebounceData($event,activeName)">
    <input type="text" placeholder="搜索角色" v-model="approverRoleSearchName" @input="getDebounceData($event,2)">
    <input type="text" placeholder="请选择具体人员/角色/部门" v-if="conditionConfig.nodeUserList.length == 0" @click="addConditionRole">
    

    7.支持多种条件设置
    在这里插入图片描述

    项目安装

    git clone https://github.com/StavinLi/Workflow.git 点个赞吧!

    项目运行

    1.环境依赖 npm i
    2.本地运行 npm run serve
    3.打包运行 npm run build

    历史记录

    • 2020.6.10 新增码云预览地址
    • 2020.12.29 新增选择条件种类;修复遮挡覆盖问题
    • 2021.5.26 补齐添加人员功能
    • 2021.5.31 补齐字段注释
    • 2021.9.9 弹窗抽离
    展开全文
  • 企业内部H5微应用开发 分为 服务端API和前端API的开发,主要涉及到进入应用免登流程和JSAPI鉴权。 JSAPI鉴权开发步骤: 1、创建H5微应用 登入钉钉开放平台(https://open-dev.dingtalk.com/),进入“应用开发”->...
  • 钉钉小程序开发流程

    千次阅读 2020-07-27 10:55:55
    1、注册个人企业账号 2、激活 3、创建应用 4、打开开发者工具 导入创建的应用 5、上传 6、发布体验版 7、生成二维码

    在这里插入图片描述

    1、注册个人账号
    2、激活
    3、创建应用
    在这里插入图片描述
    4、打开开发者工具
    导入创建的应用
    在这里插入图片描述
    5、上传
    在这里插入图片描述
    6、发布体验版
    在这里插入图片描述
    7、生成二维码
    在这里插入图片描述

    正式版
    在这里插入图片描述
    在这里插入图片描述
    认证
    在这里插入图片描述

    展开全文
  • 自从上次 水了一篇 写了一篇5分钟快速接入钉钉实现考勤后过了1个多月的时间,我福乐里又和大家见面了,今天我来聊聊工作流的那些事。 想必各位攻城狮都做过或者接触过OA系统,说到OA系统肯定离不开一个技术话题,那...
  • 阿里钉钉微应用开发

    千人学习 2019-10-09 15:13:01
    本课程针对阿里钉钉微应用开发,在钉钉开发企业个性化的功能,以及与企业自身ERP进行对接,移动端与PC端无缝衔接。本课程前端开发语言为javascript,后端语言为c#
  • 这块是整个系统最复杂的部分,需要熟悉... 这里的模板其实就是提前在保存好的xml文件,钉钉也有类似的功能,进去之后左侧可以选择一些它设置好的流程。我这里预习放了一个模板: '发起人' -> '审批人' -> '抄...
  • 钉钉开发之业务事件回调

    千次阅读 2019-11-26 00:35:04
    钉钉开发 一、钉钉开发之业务事件回调 1.注册业务事件回调接口 ①、微应用服务器调用 注册事件回调接口(post请求) https://oapi.dingtalk.com/call_back/register_call_back?access_token=ACCESS_TOKEN 请求参数...
  • 工作流介绍 在开源网站看到一个非常不错的仿钉钉审批流程设置,基于vue开发 (需要同学可以直接下载最新源码https://n459.com/file/29938189-469212346) 视图效果
  • 我这个快速开发平台在系统基础功能(用户管理,部门管理…)上整合了工作流,你可以直接用来开发ERP,OA,CRM等企业级应用,不用再担心如何再去花大量的时间集成工作流进来。博主是个人开发者。研究工作流有几年了,...
  • 钉钉开发初探...

    2019-09-28 02:30:39
    1. - 钉钉开发需要哪些资质,需要申请哪些账号、走哪些流程(像微信小程序的话,一大堆申请、一大堆企业认证)——这些需要提前准备了解清楚 怎么开发? 有哪些功能? 目前市场上有哪些别人的...
  • .net钉钉接口

    热门讨论 2018-02-05 09:39:09
    阿里钉钉.net sdk,jsapi接口和top接口 项目结构 business为业务逻辑层主要是接口调用,如果需要别的接口可以自行添加 config中是配置corpid和corpsecret mode中是创建request实体和response实体 jaspi.aspx是调用...
  • C#,对接钉钉OA审批流程

    千次阅读 2021-03-26 15:18:22
    这一段又想研究对接钉钉,惊奇的发现不那么麻烦,而且钉钉提供的OA审批功能真的是很强大,和大公司的OA功能也差不太多嘛。刚刚实现最基本的对接,mark一下。 一、需求 钉钉提供微应用、小程序、宜搭等等,但我的需求...
  • 钉钉企业开发的一些总结

    万次阅读 2018-10-18 19:25:40
    概述 钉钉是阿里巴巴集团下的,给企业使用的,沟通协同工具。使企业办公智能,方便企业管理。现在很多企业都在使用。阿里抢占不了微信的个人...开发前准备 注册钉钉企业账号,手机号为主管理员 分配管理员 ...
  • 这是钉钉开放平台的官方文档https://ding-doc.dingtalk.com/doc#/dev/uwa7vs 但是步骤不是很详细,有些东西也找不到是哪里来的。撞南墙撞了好久终于撞出来了 最重要的就是获取到代表用户身份的code,虽然上面明确写...
  • 钉钉机器人开发

    2021-01-25 16:01:57
    钉钉机器人开发文档API 一,先创建一个钉钉群 二,添加自定义机器人 三,安全设置(3选1) 四, 复制webhook作为发送通知的url 剩下的就是在代码里实现了 因为要发送网络请求 我这边使用的是hutool工具 添加...
  • 钉钉开发

    2019-10-24 23:34:23
    散户 —— 从钉钉客户端进入 管理员(有特权,超级散户) —— 从钉钉客户端左下角三个点“更多”进入,工作台,审批 开发者 —— 接口文档 表单设计和流程设计 表单设计,即造单据,设计字段,设计应该填写什么 ...
  • 仿钉钉流程图(流程节点绘制 vue+Ant Design of Vue) 仿钉钉流程图 Api包括:一维数组传参,获取单节点数据,返回所有节点组成的一位数组 生成每个节点的父节点Id集合 很多公司后台管理系统都需要画流程图,功能...
  • 钉钉流程报销付款的一种解决方案

    千次阅读 2019-04-08 13:56:06
    需求 小微公司需要搭建一套完整的OA系统,且需求比较...配置的流程多,且钉钉的回调报文都是根据配置的字段来,多为中文,开发成本高 解决方案 把审批流的数据通过审批回调接口落地,数据校验成功后调用付款接口进...
  • 钉钉第三方企业应用开发 PHP 第一版

    千次阅读 2019-12-19 14:27:30
    钉钉开发流程一: 1.首先我们需要创建一个钉钉账号,然后创建一个属于我们的企业 2.然后选择需要开发钉钉的企业,进入到我们的开放平台,进行开发 点击创建应用,会出现这些相关信息需要填写 在开发过程中...
  • 企业对接钉钉流程(企业内部应用-H5微应用)开发前准备:企业自主研发H5微应用 官方文档写的很全了,非常值得细读。 本片,我们企业要接入钉钉(企业内部应用-H5微应用),取钉钉后台数据用。 开发前准备: 开发者...
  • 钉钉开发那些事

    2019-07-17 17:45:47
    接触钉钉一年半多,罗列一些常用的功能和网址,着重前端部分,毕竟前端开发哇。 希望有所帮助,有不足之处,希望指点下哈! 目前主要使用的是,第三方应用开发,大致感觉就是基于钉钉的H5页面,在钉钉中打开。 ...
  • 文章目录API钉钉接入—审批流程首先是 需要使用的外部资源:钉钉开放平台钉钉官方demo项目使用源码钉钉配置项目介入使用钉钉url调用获取钉钉企业中的用户手机号:发起钉钉所用到的token发送请求发起钉钉审批回调路
  • OA集成钉钉开发——第一篇

    千次阅读 2016-12-21 20:23:00
     OA集成钉钉开发,方便管理,省去了APP的开发成本。  首先,注册一个企业号,让钉钉的组织机构中和自己公司的组织机构相对应。在钉钉中的组织机构中,每个人都有自己的staff_user_id,staff_id。   ...
  • 步骤四、在业务中添加发送钉钉通知的代码 项目背景 springboot + maven + mybatis-plus + jdk1.8 步骤一、添加依赖 <!--钉钉通知使用--> <dependency> <groupId>com.aliyun</groupId>...
  • 30分钟上手HaaS钉钉小程序开发

    千次阅读 多人点赞 2020-12-08 10:00:31
    对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。对于用户来说,能够节约使用时间成本和手机内存空间;对于开发者来说也能节约...
  • 钉钉小程序开发

    千次阅读 2020-05-12 13:34:18
    钉钉的QuickStart,使用Java语言开发 1. 创建审批模板 ①登录OA管理后台,点击工作台-点击审批,进入审批管理后台 ②点击【创建新审批】,进入创建新审批页面,点击【自定义模板】 ③按照如下的表单样式,从控件库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,352
精华内容 2,540
关键字:

钉钉开发流程