You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
5.8 KiB
178 lines
5.8 KiB
let urlCreatesign = urldomaincreatesign |
|
let urlGateway = urldomaingateway |
|
const appmark = "sdzwapp" |
|
const appword = "aKd20dbGdFvmuwrt" |
|
let userType = "1" //用户类型 1个人 2法人 |
|
|
|
/** |
|
* 通过jssdk方法获取APP本地用户票据 |
|
*/ |
|
export const getUserInfo = () => { |
|
lightAppJssdk.user.getTicket({ |
|
success: function (data) { |
|
//成功回调 |
|
console.log(JSON.stringify(data)) |
|
if (data == "未登录") { |
|
onLoginApp() //APP用户未登录,调用登录页面 |
|
} else { |
|
var jsonData = JSON.parse(data) |
|
if (jsonData.retcode == "000000") { |
|
var dataValueObj = JSON.parse(jsonData.data) |
|
var ticket = dataValueObj.ticket //解析出用户票据信息 |
|
userType = dataValueObj.usertype //解析保存用户类型(个人法人) |
|
getUserToken(ticket) |
|
} |
|
} |
|
}, |
|
fail: function (data) { |
|
//错误返回 |
|
console.log(JSON.stringify(data)) |
|
} |
|
}) |
|
} |
|
|
|
/** |
|
* 使用jssdk调用登录页面 |
|
*/ |
|
export const onLoginApp = () => { |
|
lightAppJssdk.user.loginapp({ |
|
success: function (data) { |
|
if (data == "未登录") { |
|
//取消登录或登录失败,关闭页面 |
|
oncloseWindow() |
|
} else { |
|
var dataObj = JSON.parse(data) |
|
if (dataObj.retcode == "000000") { |
|
//登录成功,返回用户的票据和用户类型 |
|
var dataValueObj = JSON.parse(dataObj.data) |
|
getUserToken(dataValueObj.ticket) //解析出用户票据信息 |
|
userType = jsonData.usertype //解析保存用户类型(个人法人) |
|
} else { |
|
//关闭页面 |
|
oncloseWindow() |
|
} |
|
} |
|
}, |
|
fail: function (data) { |
|
//关闭页面 |
|
oncloseWindow() |
|
} |
|
}) |
|
} |
|
|
|
/** |
|
* 通过用户票据获取用户的令牌数据,票据使用一次后失效,token时效性较长 |
|
*/ |
|
export const getUserToken = (ticket) => { |
|
var params = '{"ticket":"' + ticket + '"}' |
|
const interfaceContent = { |
|
app_id: appmark, |
|
servicename: "ticketValidate", |
|
params: params |
|
} |
|
|
|
vaildInterfacefn("jisnzjk", "ticketvalidate", JSON.stringify(interfaceContent), "2", "https://" + urlCreatesign, "https://" + urlGateway).then((value) => { |
|
const data = JSON.parse(value) |
|
if (data.retcode == "000000") { |
|
const userToken = JSON.parse(data.data).token |
|
if (userType == "1") { |
|
//个人类型获取用户信息 |
|
getUserInfoByToken(userToken) |
|
} else { |
|
//法人类型获取用户信息 |
|
findCorUserByToken(userToken) |
|
} |
|
} else { |
|
lightAppJssdk.notification.alert({ |
|
title: "提示", //可传空 |
|
message: data.msg, |
|
buttonName: "确认", |
|
success: function (data) { |
|
oncloseWindow() |
|
} |
|
}) |
|
} |
|
}) |
|
} |
|
|
|
/** |
|
* 根据令牌获取个人完整信息 |
|
*/ |
|
export const getUserInfoByToken = (userToken) => { |
|
const params = '{"token":"' + userToken + '"}' |
|
const interfaceContent = { |
|
app_id: appmark, |
|
servicename: "findOutsideUserByToken", |
|
params: params |
|
} |
|
|
|
try { |
|
vaildInterfacefn("jisnzjk", "findoutsideuserbytoken", JSON.stringify(interfaceContent), "2", "https://" + urlCreatesign, "https://" + urlGateway).then((value) => { |
|
const data = JSON.parse(value) |
|
if (data.retcode == "000000") { |
|
const userInfo = data.data |
|
sessionStorage.setItem('userInfo',userInfo); |
|
// const userObj = JSON.parse(userInfo); |
|
// lightAppJssdk.notification.alert({ |
|
// title: "提示", //可传空 |
|
// message: userObj.name+'/'+userObj.papersnumber, |
|
// buttonName: "确认", |
|
// success: function (data) { |
|
// oncloseWindow() |
|
// } |
|
// }) |
|
// document.getElementById("name").innerText = userObj.name |
|
// document.getElementById("cardid").innerText = userObj.papersnumber |
|
// document.getElementById("mobile").innerText = userObj.mobile |
|
} else { |
|
} |
|
}) |
|
} catch (error) { } |
|
} |
|
|
|
/** |
|
* 根据令牌获取完整法人信息 |
|
*/ |
|
export const findCorUserByToken = (userToken) => { |
|
try { |
|
const params = '{"token":"' + userToken + '"}' |
|
const interfaceContent = { |
|
app_id: appmark, |
|
servicename: "findCorUserByToken", |
|
params: params |
|
} |
|
vaildInterfacefn("jisnzjk", "findcoruserytoken", JSON.stringify(interfaceContent), "2", "https://" + urlCreatesign, "https://" + urlGateway).then((value) => { |
|
const data = JSON.parse(value) |
|
|
|
if (data.retcode == "000000") { |
|
const userInfo = JSON.stringify(data.data) |
|
document.getElementById("userinfo").innerText = userInfo |
|
} else { |
|
} |
|
}) |
|
} catch (err) { } |
|
} |
|
|
|
/** |
|
* 关闭容器 |
|
*/ |
|
export const oncloseWindow = () => { |
|
lightAppJssdk.navigation.close({ |
|
success: function (data) { }, |
|
fail: function (data) { } |
|
}) |
|
} |
|
|
|
/** |
|
* AES解密 |
|
*/ |
|
export const Decrypt = (word, key) => { |
|
var key = CryptoJS.enc.Utf8.parse(key) //转为128bit |
|
var srcs = CryptoJS.enc.Hex.parse(word) //转为16进制 |
|
var str = CryptoJS.enc.Base64.stringify(srcs) //变为Base64编码的字符串 |
|
var decrypt = CryptoJS.AES.decrypt(str, key, { |
|
mode: CryptoJS.mode.ECB, |
|
spadding: CryptoJS.pad.Pkcs7 |
|
}) |
|
return decrypt.toString(CryptoJS.enc.Utf8) |
|
} |