钉钉 jsapi-node (1)
YPE html>
标签:dom get ring nfa html head cdn timestamp 文件内容
基于express的钉钉微应用探索
建立服务
首先已经默认已经安装了node环境和npm工具
1 2
|
//使用express工具创建dingtalk项目,使用ejs模板 express dingtalk --ejs
|
安装ding_jsapi_redis库
1
|
cnpm install ding_jsapi_redis --save
|
在项目更目录创建config.js配置文件,文件内容包含如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
//钉钉的相关配置信息 exports.ding = { corpId:"", //必填 secret:"",//必填 prefix:"" //必填,该参数是用于区分redis服务器中的多个token和ticket准备的 ,例如ding_ }; //ridis服务器相关配置 exports.redis = { port:6379, host :'192.168.1.218', auth:{} }; exports.domain = "http://192.168.1.6:3000"
|
创建controller
在根目录下新建文件夹controllers,
在controllers文件夹中新建IndexController.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
//首先导入config配置文件 var config = require("../config"); //导入ding_jsapi_redis var ding = require("ding_jsapi_redis"); //将config文件中的参数传入到ding库中 ding.conf.ding = config.ding; ding.conf.redis = config.redis; module.exports = { index:function(req,res){ var url = config.domain+req.url; // {redis:config.redis,ding:config.ding} var params = { id:"31441266" } var url = "http://192.168.1.6:3000/"; ding.getSignature(url).then(function(data){ console.log(data); res.render('index', { title: 'Express',dd_config:data }); }).catch(function (err) { console.log(err) }) } }
|
编辑index.ejs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
var corpId = '' ;
var timeStamp = '' ;
var nonceStr = '' ;
var signature = '' ;
|
在javascripts中创建index.js文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
dd.config({ agentId: '82143702', corpId:corpId, timeStamp: timeStamp, nonceStr: nonceStr, signature: signature, jsApiList: [ 'biz.util.scan', ] }); dd.ready(function () { alert("dd ready"); dd.error(function(err) { alert('dd error: ' + JSON.stringify(err)); }); }) dd.error(function(err) { alert('dd error: ' + JSON.stringify(err)); }); function scan() { alert("i am scan"); dd.biz.util.scan({ type: "barCode",//type为qrCode或者barCode onSuccess: function(data) { //onSuccess将在扫码成功之后回调 alert(data.text); console.log(data); /* data结构 { 'text': String} */ }, onFail : function(err) { alert(err); } }) }
|
至此,一个简单的基于钉钉的express服务器就搭建好了。主要核心在于获取ticket,目前已经在ding_jsapi_reids中封装好,直接使用即可。如果有更好的方法请联系我。谢谢。
原文:大专栏 钉钉 jsapi-node (1)
钉钉 jsapi-node (1)
标签:dom get ring nfa html head cdn timestamp 文件内容
原文地址:https://www.cnblogs.com/petewell/p/11606901.html
评论