PageSourceSearch

https://mdm.edu.tw/assets/OpenID.244f03a7.js

js mdm.edu.tw collected 2026-10-01 23:53:52 UTC 3,870 bytes, 1 lines download raw bytes

1import{u as b,c as y,e as A,f as U,r as _,j as v,a as s,g as B,b as N,d as L,s as x}from"./index.7613290f.js";import"./appInsights.79eb1af4.js";const R="_openIdRedirect_1lrpb_1",D="_wrapper_1lrpb_15",C="_userLevelSelection_1lrpb_19",T="_titleBox_1lrpb_28",k="_selectionWrapper_1lrpb_32",O="_unitSelect_1lrpb_37",G="_userLevel_1lrpb_19",j="_submitBtnBox_1lrpb_53",r={openIdRedirect:R,wrapper:D,userLevelSelection:C,titleBox:T,selectionWrapper:k,unitSelect:O,userLevel:G,submitBtnBox:j},E=window.location.href,F=new URL(E),W=F.origin+"/",M=`https://oidc.tanet.edu.tw/oidc/v1/azp?response_type=code&client_id=5592dae4a2487b8384594dae852ae0bb&redirect_uri=${W}openid&scope=openid+email+profile+eduinfo+immutableid&state=mdu09QmEXXYhEQpVrIiI2sNUqbIXgqphPqzpRgOArww&nonce=_pFWU8VbN43yfGlOGgutRZODR6iCp_10LN8aa4IMy-s`;function z(){const d=b(),[m]=y(),c=m.get("code"),l=m.get("state"),g=A(u=>u.menu.menu),e=U(),[a,h]=_.exports.useState(!1);return _.exports.useEffect(function(){if(a)return;if(!c||!l){window.location.href=M;return}async function u(i){try{const o=(await N({method:"get",url:`${L}/api/Account`,headers:{"Content-Type":"application/json;charset=UTF-8","Access-Control-Allow-Origin":"*",Authorization:`Bearer ${i}`}})).data;sessionStorage.setItem("userName",o.UserName||""),sessionStorage.setItem("user",o.UserID||""),sessionStorage.setItem("account",o.Account||""),sessionStorage.setItem("userType",o.UserType||""),sessionStorage.setItem("MailAddress",o.MailAddress||"");const p=Array.isArray(o.UnitList)?o.UnitList:[];if(p.length===1){const{GroupName:S,RootID:I,RootName:w,UserLevel:f}=p[0];sessionStorage.setItem("groupName",S||""),sessionStorage.setItem("rootID",I||""),sessionStorage.setItem("userLevel",f||""),sessionStorage.setItem("rootName",w||""),e(x({...g,chooseUserLevel:f||""})),d("/");return}sessionStorage.setItem("unitList",JSON.stringify(p)),h(!0)}catch(n){console.log(n)}}async function t(){try{const i=await N({method:"post",url:`${L}/api/Token/openid`,data:{code:c,state:l},credentials:"same-origin",headers:{"Content-Type":"application/json;charset=UTF-8","Access-Control-Allow-Origin":"*"}}),n=i.data;if(n){const o=n.access_token,p=i.data.expires_in,S=new Date().getTime()+p*1e3,I=new Date(S).toISOString();sessionStorage.setItem("token",o),sessionStorage.setItem("refresh_token",n.refresh_token||""),sessionStorage.setItem("openid_token",n.openid_token||""),sessionStorage.setItem("expirationTime",I),u(o)}}catch(i){console.error(i)}}t()},[c,l,a,d,e]),v("div",{className:r.openIdRedirect,children:[!a&&s("h1",{children:"\u91CD\u65B0\u5C0E\u5411\u4E2D...\u8ACB\u7A0D\u5019"}),a&&s("div",{className:r.wrapper,children:s(Q,{})})]})}function Q(){const d=A(t=>t.menu.menu),m=U(),c=b(),{GetUnitArea:l}=B(),g=JSON.parse(sessionStorage.getItem("unitList")||"[]"),[e,a]=_.exports.useState(null);function h(t){const i=g.find(n=>String(n.RootID)===t.target.value);a(i||null)}async function u(){if(!!e){sessionStorage.setItem("userLevel",e.UserLevel||""),sessionStorage.setItem("groupName",e.GroupName||""),sessionStorage.setItem("rootID",e.RootID||""),sessionStorage.setItem("rootName",e.RootName||""),m(x({...d,chooseUserLevel:e.UserLevel||""}));try{await l(e.GroupName)}catch(t){console.error("\u{1F6A8} \u53D6\u5F97 UnitArea \u5931\u6557:",t)}c("/")}}return v("div",{className:r.userLevelSelection,children:[s("div",{className:r.titleBox,children:s("span",{children:"\u8A2A\u5BA2"})}),s("div",{className:r.selectionWrapper,children:v("select",{className:r.unitSelect,name:"userLevel",onChange:h,children:[s("option",{value:"",children:"\u8ACB\u9078\u64C7"}),g.map(t=>s("option",{value:String(t.RootID),children:t.RootName},t.RootID))]})}),s("div",{className:r.userLevel,children:e?e.UserLevel:""}),s("div",{className:r.submitBtnBox,children:s("button",{className:r.submitBtn,onClick:u,disabled:!e,children:"\u767B\u5165"})})]})}export{z as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.