@lytjs/plugin-auth 3.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var T=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var D=(s,t)=>{for(var o in t)T(s,o,{get:t[o],enumerable:!0})},F=(s,t,o,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of C(t))!H.call(s,a)&&a!==o&&T(s,a,{get:()=>t[a],enumerable:!(l=j(t,a))||l.enumerable});return s};var M=s=>F(T({},"__esModule",{value:!0}),s);var W={};D(W,{createAuth:()=>V});module.exports=M(W);async function O(s,t={}){let o=await fetch(s,{headers:{"Content-Type":"application/json",...t.headers},...t});if(!o.ok){let a=await o.text().catch(()=>"\u8BF7\u6C42\u5931\u8D25");throw new Error(`HTTP ${o.status}: ${a}`)}let l=await o.text();if(!l)return null;try{return JSON.parse(l)}catch(a){return l}}async function Q(s,t){let o={};return t&&(o.Authorization=`Bearer ${t}`),O(s,{method:"GET",headers:o})}async function h(s,t,o){let l={};return o&&(l.Authorization=`Bearer ${o}`),O(s,{method:"POST",headers:l,body:JSON.stringify(t)})}function V(s){let{loginUrl:t,logoutUrl:o,userUrl:l,registerUrl:a,refreshTokenUrl:p,tokenKey:y="lyt_token",autoRedirect:q=!1,loginRoute:v="/login",homeRoute:I="/",onLoginSuccess:P,onLoginError:w,onLogout:R,onUnauthorized:A,onTokenRefreshed:U,onTokenRefreshError:b}=s,i=null,c=null,f=!1;try{let r=localStorage.getItem(y);r&&(c=r)}catch(r){}function E(){return!!c}function _(){return c}function d(r){c=r;try{localStorage.setItem(y,r)}catch(e){}}function m(){c=null;try{localStorage.removeItem(y)}catch(r){}}async function L(){if(!l)return i;f=!0;try{return i=await Q(l,c),i}catch(r){throw i=null,r}finally{f=!1}}async function $(r){var e,u;f=!0;try{let n=await h(t,r,null),g=(n==null?void 0:n.token)||(n==null?void 0:n.access_token)||((e=n==null?void 0:n.data)==null?void 0:e.token)||null;return g&&d(g),l?await L():(n!=null&&n.user||(u=n==null?void 0:n.data)!=null&&u.user)&&(i=n.user||n.data.user),P&&P(i),{user:i,token:g}}catch(n){throw w&&n instanceof Error&&w(n),n}finally{f=!1}}async function z(){f=!0;try{if(o&&c)try{await h(o,{},c)}catch(e){}let r=i;m(),i=null,R&&R()}finally{f=!1}}async function x(r){if(!a)throw new Error("\u672A\u914D\u7F6E registerUrl\uFF0C\u65E0\u6CD5\u6CE8\u518C");f=!0;try{return await h(a,r,null)}finally{f=!1}}async function G(){var r;if(!p)throw new Error("\u672A\u914D\u7F6E refreshTokenUrl\uFF0C\u65E0\u6CD5\u5237\u65B0 Token");if(!c)return null;f=!0;try{let e=await h(p,{},c),u=(e==null?void 0:e.token)||(e==null?void 0:e.access_token)||((r=e==null?void 0:e.data)==null?void 0:r.token)||null;return u&&(d(u),U&&U(u)),u}catch(e){throw b&&e instanceof Error&&b(e),m(),i=null,e}finally{f=!1}}function B(r){if(!i)return!1;let e=i.roles||i.role||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(u=>u.trim()).includes(r):!1}function J(r){if(!i)return!1;let e=i.permissions||i.perms||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(u=>u.trim()).includes(r):!1}function K(r){if(!r||typeof r.beforeEach!="function"){console.warn("[Auth] router \u65E0\u6548\u6216\u7F3A\u5C11 beforeEach \u65B9\u6CD5");return}r.beforeEach((e,u,n)=>{var S;let g=((S=e.meta)==null?void 0:S.requiresAuth)!==!1,N=e.path===v;if(E()){if(N){n(I);return}n();return}if(g&&q){n({path:v,query:{redirect:e.fullPath}});return}A&&A(),n()})}let k={install(r,e){r.config=r.config||{},r.config.globalProperties=r.config.globalProperties||{},r.config.globalProperties.$auth=k,typeof r.provide=="function"&&r.provide("auth",k)},get user(){return i},get isAuthenticated(){return E()},get token(){return c},get loading(){return f},login:$,logout:z,register:x,fetchUser:L,getToken:_,setToken:d,removeToken:m,hasRole:B,hasPermission:J,refreshToken:G,setupRouterGuard:K};return k}
1
+ "use strict";var T=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var H=Object.prototype.hasOwnProperty;var D=(s,t)=>{for(var o in t)T(s,o,{get:t[o],enumerable:!0})},F=(s,t,o,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of C(t))!H.call(s,a)&&a!==o&&T(s,a,{get:()=>t[a],enumerable:!(l=j(t,a))||l.enumerable});return s};var M=s=>F(T({},"__esModule",{value:!0}),s);var W={};D(W,{createAuth:()=>V});module.exports=M(W);async function O(s,t={}){let o=await fetch(s,{headers:{"Content-Type":"application/json",...t.headers},...t});if(!o.ok){let a=await o.text().catch(()=>"\u8BF7\u6C42\u5931\u8D25");throw new Error(`HTTP ${o.status}: ${a}`)}let l=await o.text();if(!l)return null;try{return JSON.parse(l)}catch(a){return l}}async function Q(s,t){let o={};return t&&(o.Authorization=`Bearer ${t}`),O(s,{method:"GET",headers:o})}async function h(s,t,o){let l={};return o&&(l.Authorization=`Bearer ${o}`),O(s,{method:"POST",headers:l,body:JSON.stringify(t)})}function V(s){let{loginUrl:t,logoutUrl:o,userUrl:l,registerUrl:a,refreshTokenUrl:p,tokenKey:y="lyt_token",autoRedirect:q=!1,loginRoute:v="/login",homeRoute:I="/",onLoginSuccess:P,onLoginError:w,onLogout:R,onUnauthorized:A,onTokenRefreshed:U,onTokenRefreshError:b}=s,i=null,c=null,f=!1;try{let r=localStorage.getItem(y);r&&(c=r)}catch(r){}function E(){return!!c}function _(){return c}function d(r){c=r;try{localStorage.setItem(y,r)}catch(e){}}function m(){c=null;try{localStorage.removeItem(y)}catch(r){}}async function L(){if(!l)return i;f=!0;try{return i=await Q(l,c),i}catch(r){throw i=null,r}finally{f=!1}}async function $(r){var e,u;f=!0;try{let n=await h(t,r,null),g=(n==null?void 0:n.token)||(n==null?void 0:n.access_token)||((e=n==null?void 0:n.data)==null?void 0:e.token)||null;return g&&d(g),l?await L():(n!=null&&n.user||(u=n==null?void 0:n.data)!=null&&u.user)&&(i=n.user||n.data.user),P&&P(i),{user:i,token:g}}catch(n){throw w&&n instanceof Error&&w(n),n}finally{f=!1}}async function z(){f=!0;try{if(o&&c)try{await h(o,{},c)}catch(e){}let r=i;m(),i=null,R&&R()}finally{f=!1}}async function x(r){if(!a)throw new Error("\u672A\u914D\u7F6E registerUrl\uFF0C\u65E0\u6CD5\u6CE8\u518C");f=!0;try{return await h(a,r,null)}finally{f=!1}}async function G(){var r;if(!p)throw new Error("\u672A\u914D\u7F6E refreshTokenUrl\uFF0C\u65E0\u6CD5\u5237\u65B0 Token");if(!c)return null;f=!0;try{let e=await h(p,{},c),u=(e==null?void 0:e.token)||(e==null?void 0:e.access_token)||((r=e==null?void 0:e.data)==null?void 0:r.token)||null;return u&&(d(u),U&&U(u)),u}catch(e){throw b&&e instanceof Error&&b(e),m(),i=null,e}finally{f=!1}}function B(r){if(!i)return!1;let e=i.roles||i.role||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(u=>u.trim()).includes(r):!1}function J(r){if(!i)return!1;let e=i.permissions||i.perms||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(u=>u.trim()).includes(r):!1}function K(r){!r||typeof r.beforeEach!="function"||r.beforeEach((e,u,n)=>{var S;let g=((S=e.meta)==null?void 0:S.requiresAuth)!==!1,N=e.path===v;if(E()){if(N){n(I);return}n();return}if(g&&q){n({path:v,query:{redirect:e.fullPath}});return}A&&A(),n()})}let k={install(r,e){r.config=r.config||{},r.config.globalProperties=r.config.globalProperties||{},r.config.globalProperties.$auth=k,typeof r.provide=="function"&&r.provide("auth",k)},get user(){return i},get isAuthenticated(){return E()},get token(){return c},get loading(){return f},login:$,logout:z,register:x,fetchUser:L,getToken:_,setToken:d,removeToken:m,hasRole:B,hasPermission:J,refreshToken:G,setupRouterGuard:K};return k}
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- async function S(c,a={}){let o=await fetch(c,{headers:{"Content-Type":"application/json",...a.headers},...a});if(!o.ok){let f=await o.text().catch(()=>"\u8BF7\u6C42\u5931\u8D25");throw new Error(`HTTP ${o.status}: ${f}`)}let u=await o.text();if(!u)return null;try{return JSON.parse(u)}catch(f){return u}}async function N(c,a){let o={};return a&&(o.Authorization=`Bearer ${a}`),S(c,{method:"GET",headers:o})}async function h(c,a,o){let u={};return o&&(u.Authorization=`Bearer ${o}`),S(c,{method:"POST",headers:u,body:JSON.stringify(a)})}function j(c){let{loginUrl:a,logoutUrl:o,userUrl:u,registerUrl:f,refreshTokenUrl:T,tokenKey:y="lyt_token",autoRedirect:O=!1,loginRoute:p="/login",homeRoute:q="/",onLoginSuccess:v,onLoginError:P,onLogout:w,onUnauthorized:R,onTokenRefreshed:A,onTokenRefreshError:U}=c,t=null,s=null,l=!1;try{let r=localStorage.getItem(y);r&&(s=r)}catch(r){}function b(){return!!s}function I(){return s}function d(r){s=r;try{localStorage.setItem(y,r)}catch(e){}}function m(){s=null;try{localStorage.removeItem(y)}catch(r){}}async function E(){if(!u)return t;l=!0;try{return t=await N(u,s),t}catch(r){throw t=null,r}finally{l=!1}}async function _(r){var e,i;l=!0;try{let n=await h(a,r,null),g=(n==null?void 0:n.token)||(n==null?void 0:n.access_token)||((e=n==null?void 0:n.data)==null?void 0:e.token)||null;return g&&d(g),u?await E():(n!=null&&n.user||(i=n==null?void 0:n.data)!=null&&i.user)&&(t=n.user||n.data.user),v&&v(t),{user:t,token:g}}catch(n){throw P&&n instanceof Error&&P(n),n}finally{l=!1}}async function $(){l=!0;try{if(o&&s)try{await h(o,{},s)}catch(e){}let r=t;m(),t=null,w&&w()}finally{l=!1}}async function z(r){if(!f)throw new Error("\u672A\u914D\u7F6E registerUrl\uFF0C\u65E0\u6CD5\u6CE8\u518C");l=!0;try{return await h(f,r,null)}finally{l=!1}}async function x(){var r;if(!T)throw new Error("\u672A\u914D\u7F6E refreshTokenUrl\uFF0C\u65E0\u6CD5\u5237\u65B0 Token");if(!s)return null;l=!0;try{let e=await h(T,{},s),i=(e==null?void 0:e.token)||(e==null?void 0:e.access_token)||((r=e==null?void 0:e.data)==null?void 0:r.token)||null;return i&&(d(i),A&&A(i)),i}catch(e){throw U&&e instanceof Error&&U(e),m(),t=null,e}finally{l=!1}}function G(r){if(!t)return!1;let e=t.roles||t.role||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(i=>i.trim()).includes(r):!1}function B(r){if(!t)return!1;let e=t.permissions||t.perms||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(i=>i.trim()).includes(r):!1}function J(r){if(!r||typeof r.beforeEach!="function"){console.warn("[Auth] router \u65E0\u6548\u6216\u7F3A\u5C11 beforeEach \u65B9\u6CD5");return}r.beforeEach((e,i,n)=>{var L;let g=((L=e.meta)==null?void 0:L.requiresAuth)!==!1,K=e.path===p;if(b()){if(K){n(q);return}n();return}if(g&&O){n({path:p,query:{redirect:e.fullPath}});return}R&&R(),n()})}let k={install(r,e){r.config=r.config||{},r.config.globalProperties=r.config.globalProperties||{},r.config.globalProperties.$auth=k,typeof r.provide=="function"&&r.provide("auth",k)},get user(){return t},get isAuthenticated(){return b()},get token(){return s},get loading(){return l},login:_,logout:$,register:z,fetchUser:E,getToken:I,setToken:d,removeToken:m,hasRole:G,hasPermission:B,refreshToken:x,setupRouterGuard:J};return k}export{j as createAuth};
1
+ async function S(c,a={}){let o=await fetch(c,{headers:{"Content-Type":"application/json",...a.headers},...a});if(!o.ok){let f=await o.text().catch(()=>"\u8BF7\u6C42\u5931\u8D25");throw new Error(`HTTP ${o.status}: ${f}`)}let u=await o.text();if(!u)return null;try{return JSON.parse(u)}catch(f){return u}}async function N(c,a){let o={};return a&&(o.Authorization=`Bearer ${a}`),S(c,{method:"GET",headers:o})}async function h(c,a,o){let u={};return o&&(u.Authorization=`Bearer ${o}`),S(c,{method:"POST",headers:u,body:JSON.stringify(a)})}function j(c){let{loginUrl:a,logoutUrl:o,userUrl:u,registerUrl:f,refreshTokenUrl:T,tokenKey:y="lyt_token",autoRedirect:O=!1,loginRoute:p="/login",homeRoute:q="/",onLoginSuccess:v,onLoginError:P,onLogout:w,onUnauthorized:R,onTokenRefreshed:A,onTokenRefreshError:U}=c,t=null,s=null,l=!1;try{let r=localStorage.getItem(y);r&&(s=r)}catch(r){}function b(){return!!s}function I(){return s}function d(r){s=r;try{localStorage.setItem(y,r)}catch(e){}}function m(){s=null;try{localStorage.removeItem(y)}catch(r){}}async function E(){if(!u)return t;l=!0;try{return t=await N(u,s),t}catch(r){throw t=null,r}finally{l=!1}}async function _(r){var e,i;l=!0;try{let n=await h(a,r,null),g=(n==null?void 0:n.token)||(n==null?void 0:n.access_token)||((e=n==null?void 0:n.data)==null?void 0:e.token)||null;return g&&d(g),u?await E():(n!=null&&n.user||(i=n==null?void 0:n.data)!=null&&i.user)&&(t=n.user||n.data.user),v&&v(t),{user:t,token:g}}catch(n){throw P&&n instanceof Error&&P(n),n}finally{l=!1}}async function $(){l=!0;try{if(o&&s)try{await h(o,{},s)}catch(e){}let r=t;m(),t=null,w&&w()}finally{l=!1}}async function z(r){if(!f)throw new Error("\u672A\u914D\u7F6E registerUrl\uFF0C\u65E0\u6CD5\u6CE8\u518C");l=!0;try{return await h(f,r,null)}finally{l=!1}}async function x(){var r;if(!T)throw new Error("\u672A\u914D\u7F6E refreshTokenUrl\uFF0C\u65E0\u6CD5\u5237\u65B0 Token");if(!s)return null;l=!0;try{let e=await h(T,{},s),i=(e==null?void 0:e.token)||(e==null?void 0:e.access_token)||((r=e==null?void 0:e.data)==null?void 0:r.token)||null;return i&&(d(i),A&&A(i)),i}catch(e){throw U&&e instanceof Error&&U(e),m(),t=null,e}finally{l=!1}}function G(r){if(!t)return!1;let e=t.roles||t.role||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(i=>i.trim()).includes(r):!1}function B(r){if(!t)return!1;let e=t.permissions||t.perms||[];return Array.isArray(e)?e.includes(r):typeof e=="string"?e.split(",").map(i=>i.trim()).includes(r):!1}function J(r){!r||typeof r.beforeEach!="function"||r.beforeEach((e,i,n)=>{var L;let g=((L=e.meta)==null?void 0:L.requiresAuth)!==!1,K=e.path===p;if(b()){if(K){n(q);return}n();return}if(g&&O){n({path:p,query:{redirect:e.fullPath}});return}R&&R(),n()})}let k={install(r,e){r.config=r.config||{},r.config.globalProperties=r.config.globalProperties||{},r.config.globalProperties.$auth=k,typeof r.provide=="function"&&r.provide("auth",k)},get user(){return t},get isAuthenticated(){return b()},get token(){return s},get loading(){return l},login:_,logout:$,register:z,fetchUser:E,getToken:I,setToken:d,removeToken:m,hasRole:G,hasPermission:B,refreshToken:x,setupRouterGuard:J};return k}export{j as createAuth};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lytjs/plugin-auth",
3
- "version": "3.2.0",
3
+ "version": "4.0.0",
4
4
  "description": "Lyt.js 认证授权插件 - 提供登录、权限校验、路由守卫等认证功能",
5
5
  "main": "./src/index.ts",
6
6
  "module": "./src/index.ts",