asp-smart-ui-plus-test
Version:
A Component Library for Vue 3
109 lines (104 loc) • 3.38 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function useFirstSsoLogin({
sourceId,
ACTIVITY_ID,
SUCCESS_CODE = "0000",
userStore,
ssoUniTokenValidate
}) {
const error = vue.ref("");
const apiResult = vue.ref(null);
const user = userStore();
const cmcc = window.cmcc || window.leadeon;
const userInfo = vue.reactive({
phoneNumMask: vue.computed(() => user.phoneNumMask),
usessionid: vue.computed(() => user.usessionid),
userStore
});
const hasVal = (str) => str && str !== "undefined" && str !== "";
const versionJudgment = (version) => version.localeCompare("7.5.5", void 0, { numeric: true }) > 0;
const handleFail = (failCallback, errorMessage) => {
error.value = errorMessage || "Error occurred";
if (failCallback)
failCallback(error.value);
};
const validateToken = async (token, callback, failCallback) => {
try {
const params = { sourceId, activityId: ACTIVITY_ID, token };
const res = await ssoUniTokenValidate(params);
const { data, result } = res;
if (result && result.resultCode === SUCCESS_CODE) {
apiResult.value = result;
const userObject = {
usessionid: data.usessionId || data.usessionid,
phoneNumMask: data.msisdnmask || data.phoneNumMask
};
user.UPDATE_USER(userObject);
callback(data);
} else {
handleFail(failCallback, result.resultDes);
}
} catch (e) {
handleFail(failCallback, e.message);
}
};
const processYDRZToken = (res3, callback, failCallback) => {
res3.token && validateToken(res3.token, callback, failCallback);
};
const processUserInfo = (res2, callback, failCallback) => {
try {
window.__SKYNET.appVersion = res2.version;
console.log("window.__SKYNET.appVersion", window.__SKYNET.appVersion);
} catch (error2) {
console.log("window.__SKYNET.appVersion error", error2);
}
if (!versionJudgment(res2.version)) {
handleFail(failCallback, "\u7248\u672C\u8FC7\u4F4E");
return;
}
cmcc.getYDRZToken({
debug: false,
sourceId,
success: (res3) => processYDRZToken(res3, callback, failCallback),
error: (err) => handleFail(failCallback, err)
});
};
const firstLogin = async (callback, failCallback) => {
if (!hasVal(sourceId)) {
handleFail(failCallback, "\u53C2\u6570\u7F3A\u5931");
return;
}
cmcc.userStatus({
success: (res) => {
if (res.status === 1 || res.status === 2) {
cmcc.checkSessionIsvalid({
success: (res1) => {
if (Number(res1.status) !== 1) {
handleFail(failCallback, res1.status);
return;
}
cmcc.getUserInfo({
success: (res2) => processUserInfo(res2, callback, failCallback),
error: (res2) => handleFail(failCallback, res2)
});
},
error: (res1) => handleFail(failCallback, res1)
});
} else {
handleFail(failCallback, "\u975E\u767B\u5F55\u72B6\u6001");
}
},
error: (res) => handleFail(failCallback, res)
});
};
return {
firstLogin,
versionJudgment,
error,
apiResult,
userInfo
};
}
exports.useFirstSsoLogin = useFirstSsoLogin;