0
|
尛鬼Lv5中级互助发布于2023-11-10 10:29
|
你的是泛微的OA嘛?js访问OA接口,获取token,然后通过返回的token继续调用oa的单点登陆接口
|
-
帆软用户NH3P42dwmt(提问者)
- 大佬,是泛微的,但是JS我不太会 我写了一个发现有问题
-
尛鬼 回复 帆软用户NH3P42dwmt(提问者)
- FR.ajax({
url: //\"获取token\",
data: {
xingming: name,
},
dataType: \"jsonp\", //跨域采用jsonp方式
//jsonp:\"callback\",
timeout: 50000, //超时时间(单位:毫秒)
success: function(data) {
//单点登陆
}
}
-
帆软用户NH3P42dwmt(提问者) 回复 尛鬼
- 好的 我看一下,谢谢大佬
-
尛鬼 回复 帆软用户NH3P42dwmt(提问者)
- 我是自己做了个后台接口,用来获取token的,然后帆软调用自己写的接口,返回的token再通过oa的token单点登录实现跳转
-
帆软用户NH3P42dwmt(提问者) 回复 尛鬼
- // 创建XHR对象
var xhr = new XMLHttpRequest();
// 配置请求参数和请求头部
var url = \"https://api-oa2021.jncapp.cn/ssologin/getToken\"; // 泛微OA登录接口
var params = \"loginid=xxx&userpassword=xxx\"; // 登录名和密码
xhr.open(\"POST\", url, true);
xhr.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");
// 发送请求
xhr.send(params);
// 处理响应结果
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(\"登录失败:999999\" );
var response = JSON.parse(xhr.responseText); // 解析接口返回的JSON数据
console.log(\"登录失败:999999\" +response );
if (response.code == 0) { // 假设返回的Token字段为token
var token = response.token;
// 将Token拼接到链接中
var fileUrl = \"https://oa2021.jncapp.cn/spa/document/index.jsp?id=240081\"; // 要访问的文件链接
var tokenizedUrl = fileUrl + \"?token=\" + token;
// 使用拼接后的链接访问文件
window.open(tokenizedUrl);
} else {
console.log(\"登录失败:\" + response.msg);
}
}
};
|
|