import * as Utils from "./utils/utils"; import * as RequsetFetch from "./services/services"; import WeChat from "orcrist-wechat"; const otpLogin = (redirectUrl?: string) => { let sources = Utils.getSources(); let saleChannelId = Utils.getSaleChannelId(); let skuCode = Utils.getSkuCode(); let RedirectUrl = redirectUrl || encodeURIComponent(location.href); const searchParams = `?RedirectUrl=${RedirectUrl}&sources=${sources}&saleChannelId=${saleChannelId}&skuCode=${skuCode}`; let url = `${window.location.origin}/spcare-public/userinfo-ins/${searchParams}`; window.location.href = url; }; const queryUser = (openid: string, callbck?: Function, redirectUrl?: string) => { let queryUserPromise = RequsetFetch.queryUserIdFetch(openid)(); queryUserPromise.then((resData: any) => { if (resData && resData.success && resData.data) { let token = resData.data.jwtToken; sessionStorage.setItem("SP_TOKEN", token); sessionStorage.setItem("SP_LOGIN", JSON.stringify(resData.data)); callbck && callbck(token); } else { otpLogin(redirectUrl); } }); }; const LoginP = (callbck?: Function, redirectUrl?: string) => { const isweixin = Utils.isweixin(); if (isweixin) { //微信 let openid = sessionStorage.getItem("SP_WX_OPENID"); if (!!openid) { queryUser(openid, callbck, redirectUrl); } else { WeChat.authorize().then(({ code, data }: any) => { if (code === 20000) { let openid = data; queryUser(openid, callbck, redirectUrl); } }); } } else { otpLogin(redirectUrl); } }; export default LoginP;