Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7-Res
提交
fd9ecbf3
提交
fd9ecbf3
编写于
9月 30, 2020
作者:
KK
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调试
上级
f7a5f921
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
28 行增加
和
17 行删除
+28
-17
DingTalkService.ts
src/ibiz-core/third-party-service/DingTalkService.ts
+28
-17
未找到文件。
src/ibiz-core/third-party-service/DingTalkService.ts
浏览文件 @
fd9ecbf3
...
...
@@ -2,6 +2,7 @@ import axios from 'axios';
import
*
as
dd
from
'dingtalk-jsapi'
;
import
{
Util
}
from
'@/ibiz-core/utils'
;
import
store
from
'@/store'
;
import
{
Notice
}
from
'../../utils/notice/notice'
;
/**
* 钉钉服务
*
...
...
@@ -10,6 +11,15 @@ import store from '@/store';
*/
export
class
DingTalkService
{
/**
* 提示工具类
*
* @protected
* @type {Notice}
* @memberof UIActionBase
*/
protected
notice
:
Notice
=
Notice
.
getInstance
();
/**
* 唯一实例
*
...
...
@@ -96,9 +106,9 @@ export class DingTalkService {
private
async
dd_ready
()
{
// 设置导航标题
this
.
setNavBack
();
//
let access_token: any = await this.getAccess_token();
//
//
鉴权
//
this.authentication(access_token.agentId, this.corpId, access_token.data.timeStamp, access_token.data.nonceStr, access_token.data.signature);
let
access_token
:
any
=
await
this
.
getAccess_token
();
// 鉴权
this
.
authentication
(
access_token
.
agentId
,
this
.
corpId
,
access_token
.
data
.
timeStamp
,
access_token
.
data
.
nonceStr
,
access_token
.
data
.
signature
);
}
...
...
@@ -106,17 +116,21 @@ export class DingTalkService {
* 获取access_token
*/
public
async
getAccess_token
()
{
let
access_token
=
localStorage
.
getItem
(
"access_token"
);
if
(
access_token
)
{
let
reAccess_token
:
any
=
JSON
.
parse
(
access_token
);
// 鉴权信息2小时过期 设置一小时五十分钟
if
(
reAccess_token
.
time
&&
!
(
new
Date
().
getTime
()
-
reAccess_token
.
tiem
>
5400000
))
{
return
reAccess_token
;
}
}
//
let access_token = localStorage.getItem("access_token");
//
if (access_token) {
//
let reAccess_token: any = JSON.parse(access_token);
//
// 鉴权信息2小时过期 设置一小时五十分钟
//
if (reAccess_token.time && !(new Date().getTime() - reAccess_token.tiem > 5400000)) {
//
return reAccess_token;
//
}
//
}
const
reAccess_token
:
any
=
await
this
.
get
(
`/uaa/dingtalk/jsapi/sign`
);
if
(
reAccess_token
.
status
==
200
){
localStorage
.
setItem
(
"access_token"
,
JSON
.
stringify
(
Object
.
assign
(
reAccess_token
,
{
time
:
new
Date
().
getTime
()
})));
}
else
{
this
.
notice
.
error
(
'获取dd签名失败'
)
}
alert
(
JSON
.
stringify
(
reAccess_token
));
localStorage
.
setItem
(
"access_token"
,
JSON
.
stringify
(
Object
.
assign
(
reAccess_token
,
{
time
:
new
Date
().
getTime
()
})));
return
reAccess_token
;
}
/**
...
...
@@ -125,8 +139,8 @@ export class DingTalkService {
* @memberof DingTalkService
*/
public
async
login
():
Promise
<
any
>
{
//
const access_token = await this.getAccess_token();
const
access_token
:
any
=
await
this
.
get
(
`/uaa/open/dingtalk/access_token`
);
const
access_token
=
await
this
.
getAccess_token
();
//
const access_token :any= await this.get(`/uaa/open/dingtalk/access_token`);
if
(
access_token
.
status
==
200
&&
access_token
.
data
&&
access_token
.
data
.
corp_id
)
{
localStorage
.
setItem
(
"access_token"
,
JSON
.
stringify
(
Object
.
assign
(
access_token
,
new
Date
().
getTime
)));
this
.
corpId
=
access_token
.
data
.
corp_id
;
...
...
@@ -136,9 +150,6 @@ export class DingTalkService {
if
(
userInfo
.
status
==
200
&&
userInfo
.
data
.
token
&&
userInfo
.
data
.
user
)
{
localStorage
.
setItem
(
"token"
,
userInfo
.
data
.
token
);
localStorage
.
setItem
(
"user"
,
JSON
.
stringify
(
userInfo
.
data
.
user
));
let
access_token
:
any
=
await
this
.
getAccess_token
();
// 鉴权
this
.
authentication
(
access_token
.
agentId
,
this
.
corpId
,
access_token
.
data
.
timeStamp
,
access_token
.
data
.
nonceStr
,
access_token
.
data
.
signature
);
return
{
issuccess
:
true
,
message
:
""
};
}
else
if
(
userInfo
.
status
==
400
)
{
return
{
issuccess
:
false
,
message
:
userInfo
.
data
.
message
};
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录