钉钉h5开发文档,钉钉h5微应用开发视频

  钉钉h5开发文档,钉钉h5微应用开发视频

  企业内部H5微应用开发分为服务端应用程序接口和前端应用程序接口的开发,主要涉及到进入应用免登流程和支付插件鉴权。

  JSAPI鉴权开发步骤:

  1、创建H5微应用

  登入钉钉开放平台(https://open-dev.dingtalk.com/),进入"应用开发"-企业内部开发H5微应用-创建应用,并填写基本信息和配置开发信息

  2、JSAPI鉴权服务端API的开发:

  (1)通过应用详细页查询和密钥获取调用接口凭证访问令牌(https://oapi。丁说话了。com/gettoken?appkey=appKeyappsecret=app secret)

  (2)通过访问令牌获取用于支付插件的临时票据票(https://oapi。丁说话了。com/get _ jsapi _ ticket?访问令牌=访问令牌)

  (3)票证(JSAPI的临时票据),非中心(随机串),时间戳(时间戳),网址(当前网页的URL,不包含#及其后面部分)计算签名信息

  计算签名参数

  /* *票证(JSAPI的临时票据),非中心(随机串),时间戳(时间戳),网址(当前网页的URL,不包含#及其后面部分)计算签名信息* */公共静态函数符号($ticket,$ nonceStr,$timeStamp,$url) { $plain=jsapi_ticket= .$票noncestr= .$ nonceStr .时间戳=。$时间戳url= .$ url返回sha1(plain);}(4)通过访问令牌获取用于支付插件的临时票据门票(说明:由于会牵涉到多个企业,企业的应用详细页查询和密钥的一些信息都是写在数据配置文件中,前端传企业身份到服务端,服务端就会从数据配置文件中获取企业信息)

  /* * 根据企业ID corpid返回支付插件鉴权配置信息* */公共静态函数getConfig($ corpid){ $ _ config=self:getApiConfig($ corpid);$ AppKey=$ _ config[ AppKey ];$ app secret=$ _ config[ app secret ];$ AgentId=$ _ config[ AgentId ];$ non centr= fly wong $ timeStamp=time();//$ URL=self:getCurrentUrl();$ URL=$ _ config[ AppUrl ];$ access token=self:getAccessToken($ appkey,$ app secret);$ ticket=self:getTicket($ access token);$signature=self:sign($ticket,$ nonceStr,$timeStamp,$ URL);$ config=array( agentId =$ agentId, corpId=$corpid, timeStamp=$timeStamp, nonceStr =$ nonceStr, signature=$signature, url=$url, type =0);返回json_encode($config,JSON _ UNESCAPED _ SLASHES);}/* * 根据企业ID corpid从api_config.json配置文件中找到企业对应的信息,并返回企业应用开发信息* */公共静态函数 geta piconfig($ corpid){ $ JSON _ string=file _ get _ contents(_ _ DIR _ _),/./API _ config。JSON’);//从文件中读取数据到服务器端编程语言(专业超文本预处理器的缩写)变量$arrs=json_decode($json_string,true);foreach($ arrs as $ key=$ value){ if($ value[ CorpId ]==$ CorpId){ return $ value;} } }企业的配置文件api_config.json

  3、JSAPI鉴权前端API的开发:

  前端发送得到请求获取服务端的支付插件鉴权配置信息

  //异步获取dd.config异步getDDConfig({commit,state},callback) { //发送异步创建交互式、快速动态网页应用的网页开发技术请求const result=await reqDDConfig(状态.CorpId) //提交一个突变常量DD配置=结果DD配置。jsapi list=state。jsapi列表DD。config(DD config);commit(RECEIVE_DDCONFIG,{ddconfig}) //数据更新了,通知一下组件callback callback()} let that=this;//获取支付插件鉴权配置信息那个store.dispatch(getDDConfig ,()={//that .$nextTick(()={//数据ddconfig状态更新后执行那个100美元商店。dispatch( get userinfo )//获取登入用户信息那个100美元商店。dispatch( getGeolocation )//获取地图定位信息}) })/* 状态管理*/export default { CorpId: ding B0 BD 5c a3 ba 53e 1231232378 f ,//企业ID ddconfig:{},//钉钉签权配置信息jsApiList:[ runtime.info , biz.contact.choose , device.notification.confirm , device.notification.alert , device.notification.prompt , biz.ding.post , biz.util.openLink , device.geolocation.get , biz.util.scanCard ],//需要签权的JSAPI userinfo:{},//用户信息地理位置:{} //地图定位信息}4、H5微应用的免登

  "免登"是指用户进入应用后,无需输入钉钉用户名和密码,应用程序可自动获取当前用户身份,进而登录系统的流程。

  1、前端去获取微应用免登授权码,然后把授权码发送到服务端美国石油学会(美国石油协会)得到当前用户信息

  //异步获取userinfo getUserinfo({commit,state }){ DD。运行时。许可。请求授权码({ corpId:state .CorpId,//企业成功时的id:异步函数(info){ let code=info。代码//通过该免登授权码可以获取用户身份//发送异步创建交互式、快速动态网页应用的网页开发技术请求const result=await reqUserinfo(代码,状态CorpId) //提交一个变异常量userinfo=结果提交(RECEIVE_USERINFO,{ USERINFO })} } 2、服务端应用程序接口获取用户信息

  /* * 通过免登授权码密码和访问令牌获取用户的userid * */公共静态函数getUserInfo($accessToken,$ code){ $ response=\ util \ Http:get(/user/get userinfo ,array( access _ token =$ access token, code =$ code));$ userinfo=JSON _ decode(JSON _ encode($ response),true);$ userid=$ userinfo[ userid ];return self:getuser($ access token,$ userid);} /* * 通过访问令牌和使用者辩证码获取用户详情* */私有静态函数getuser($accessToken,$ userid){ $ response=\ util \ Http:get(/user/get ,array( access _ token =$ access token, userid =$ userid));返回JSON _ encode($ response);}提醒:钉钉的信息获取必须在钉钉应用环境中运行。(我是在电脑上安装安卓模拟器然后安装钉钉应用进行调试的)

  到此这篇关于钉钉企业内部H5微应用开发详解的文章就介绍到这了,更多相关钉钉企业内部H5微应用内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: