当前位置:网站首页>钉钉企业内部-H5微应用开发
钉钉企业内部-H5微应用开发
2022-07-31 05:17:00 【Forevermoremo】
前言
公司需利用钉钉相关API完成公司内部报销平台。
项目搭建
- 创建H5微应用
登入钉钉开放平台(https://open-dev.dingtalk.com/#/index),进入“应用开发”->企业内部开发H5微应用->创建应用,并填写基本信息和配置开发信息

注意:应用首页链接:vscode需安装Liver Server插件,将首页以该方式打开,将获得的地址的IP地址替换为本机IP地址,得到应用首页链接。
2.JSAPI鉴权API开发
(1)JSAPI鉴权服务端API的开发:
①通过appKey 、appSecret 获取调用接口凭证AccessToken(https://oapi.dingtalk.com/gettoken? appkey=appKey&appsecret=appSecret)
②通过AccessToken 获取用于JSAPI的临时票据Ticket(https://oapi.dingtalk.com/get_jsapi_ticket?access_token=ACCESS_TOKEN)
后端详细的就不写了,感兴趣可以看看钉钉服务端API开发文档
(2)JSAPI鉴权前端API的开发:
前端通过发送请求获取服务端的JSAPI 鉴权配置信息。
if (!localStorage.getItem('sessionId')) {
console.log("鉴权开始");
//应用首页链接
var datas = { "url": "http://192.168.0.66:5500/html/index.html" };
apiRequest('post', 'ding_talk/config', datas, function (data) {
_config = data.row;
dd.config({
agentId: _config.agentId, // 必填,微应用ID
corpId: _config.corpId,//必填,企业ID
timeStamp: _config.timeStamp, // 必填,生成签名的时间戳
nonceStr: _config.nonceStr, // 必填,生成签名的随机串
signature: _config.signature, // 必填,签名
type: 0, //选填。0表示微应用的jsapi,1表示服务窗的jsapi;不填默认为0。
该参数从dingtalk.js的0.8.3版本开始支持
jsApiList: []
});
dd.ready(function () {
console.log('鉴权成功');
//登录
});
dd.error(function (err) {
window.localStorage.setItem("sessionId", '');
console.log('dd error: ' + JSON.stringify(err));
});
}, function (res) {
dd.error(function (err) {
console.log('dd error: ' + JSON.stringify(err));
});
console.log(res);
});
}(3)H5微应用免登(用户自动登录应用)
后端得到免登授权码后,通过服务端API(/user/getuserinfo)获取用户信息后返回。
dd.runtime.permission.requestAuthCode({
corpId: _config.corpId, // 企业id
onSuccess: function (info) {
code = info.code; // 通过该免登授权码可以获取用户身份信息
//登录
apiRequest('post', 'ding_talk/login', { "code": code }, function (data) {
window.localStorage.setItem("sessionId", data.row.sessionId);
window.localStorage.setItem("userId", data.row.userId);
}, function (res) {
console.log(res);
})
},
onFail: function (res) {
window.localStorage.setItem("sessionId", '');
}
});前端详细可看看前端API开发文档
边栏推荐
- 超参数优化-摘抄
- Cholesterol-PEG-Azide CLS-PEG-N3 Cholesterol-PEG-Azide MW:3400
- Sqlite column A data is copied to column B
- MYSQL事务与锁问题处理
- Gradle sync failed: Uninitialized object exists on backward branch 142
- The browser looks for events bound or listened to by js
- 二进制转换成十六进制、位运算、结构体
- 深度学习知识点杂谈
- sql add default constraint
- MySQL master-slave switching steps
猜你喜欢

Xiaomi mobile phone SMS location service activation failed

活体检测CDCN学习笔记

Gradle sync failed: Uninitialized object exists on backward branch 142

Cholesterol-PEG-Acid CLS-PEG-COOH Cholesterol-Polyethylene Glycol-Carboxyl Modified Peptides

Cholesterol-PEG-DBCO Cholesterol-Polyethylene Glycol-Diphenylcyclooctyne Chemical Reagent

DSPE-PEG-Azide DSPE-PED-N3 Phospholipid-Polyethylene Glycol-Azide Lipid PFG

VS connects to MYSQL through ODBC (1)

RuntimeError: CUDA error: no kernel image is available for execution on the device问题记录

OpenCV中的图像数据格式CV_8U定义

Cholesterol-PEG-Thiol CLS-PEG-SH 胆固醇-聚乙二醇-巯基
随机推荐
Cholesterol-PEG-Amine CLS-PEG-NH2 Cholesterol-Polyethylene Glycol-Amino Research Use
opencv之访问图像像素的三种方法
Several forms of Attribute Changer
ROS 之订阅多个topic时间同步问题
Cholesterol-PEG-Amine CLS-PEG-NH2 胆固醇-聚乙二醇-氨基科研用
MySQL master-slave switching steps
超参数优化-摘抄
Cholesterol-PEG-NHS NHS-PEG-CLS cholesterol-polyethylene glycol-active ester can modify small molecular materials
TransactionTemplate transaction programmatic way
TransactionTemplate 事务编程式写法
Nmap的下载与安装
用pytorch里的children方法自定义网络
浅谈对分布式模式下CAP的理解
Cholesterol-PEG-Azide CLS-PEG-N3 Cholesterol-PEG-Azide MW:3400
UiBot has an open Microsoft Edge browser and cannot perform the installation
Principle analysis of famous website msdn.itellyou.cn
break and continue exit in js
CNN的一点理解
mPEG-DMPE 甲氧基-聚乙二醇-双肉豆蔻磷脂酰乙醇胺用于形成隐形脂质体
Flow control statement in js