w-web-sso 1.1.9 → 1.1.11
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/README.md +12 -0
- package/dist/css/{app.f96fdac8.css → app.b17b0ba0.css} +1 -1
- package/dist/index.tmp +1 -1
- package/dist/js/app-legacy.bee6840f.js +1 -0
- package/dist/js/app.bee6840f.js +1 -0
- package/dist/js/{chunk-vendors.b0cbd418.js → chunk-vendors-legacy.0492b6f5.js} +3 -3
- package/dist/js/{chunk-vendors-legacy.b0cbd418.js → chunk-vendors.0492b6f5.js} +3 -3
- package/dist/w-web-sso.umd.js +5 -5
- package/dist/w-web-sso.umd.js.map +1 -1
- package/docs/WWebSso.html +7 -4
- package/docs/global.html +937 -37
- package/docs/index.html +2 -2
- package/docs/server_WWebSso.mjs.html +6 -2
- package/docs/server_getIgnoredOrmKeys.mjs.html +2 -2
- package/docs/server_lockSave.mjs.html +2 -2
- package/docs/server_ormWrite.mjs.html +2 -2
- package/docs/server_staLogs_resolveShellWorker.mjs.html +2 -2
- package/docs/server_wrapTimer.mjs.html +2 -2
- package/docs/src_components_Common_CheckYesNo.vue.html +2 -2
- package/docs/src_fetchSsoMsg.mjs.html +2 -2
- package/docs/src_httpGetJson.mjs.html +2 -2
- package/docs/src_maskUrl.mjs.html +2 -2
- package/docs/src_plugins_staUsage.mjs.html +250 -0
- package/docs/src_plugins_submitGuard.mjs.html +2 -2
- package/package.json +14 -14
- package/server/WWebSso.mjs +4 -0
- package/server/procCore.mjs +21 -10
- package/server/procProtect.mjs +25 -14
- package/server/procStaInfor.mjs +37 -31
- package/server/staLogs/staLogsCore.mjs +15 -6
- package/src/components/LayoutContentStaInfor.vue +9 -152
- package/src/components/LayoutContentUsers.vue +11 -8
- package/src/plugins/staUsage.mjs +178 -0
- package/dist/js/app-legacy.f49e2b46.js +0 -1
- package/dist/js/app.f49e2b46.js +0 -1
package/README.md
CHANGED
|
@@ -13,6 +13,18 @@ To view documentation or get support, visit [docs](https://yuda-lyu.github.io/w-
|
|
|
13
13
|
|
|
14
14
|
## Upgrade Notes
|
|
15
15
|
|
|
16
|
+
### Upgrading from 1.1.10 and earlier
|
|
17
|
+
|
|
18
|
+
**未登入請求可使後端結束(修正)**:來源 IP(`X-Forwarded-For` 標頭第一段)、權杖參數與登入帳號原以一般物件為鍵記錄調用/失敗次數;值為 `constructor`、`__proto__`、`toString` 等原型鍵名時,記錄函數拋出 `TypeError`(`verifyConn` 與 HTTP 路由內未被接住之 async 呼叫),在 Node 預設設定下使後端行程結束(`X-Forwarded-For: constructor` 或 `/api/checkToken?token=constructor` 單一請求即可);帳號為該類名稱之既存使用者,登入失敗亦不計次、不會被封鎖。本版起以無原型容器記錄,這些字串與其他字串同為一般鍵。
|
|
19
|
+
|
|
20
|
+
**統計頁之 IP/使用者鍵為 `length` 時失真(修正)**:統計 log 以 IP(標頭可植入)或 userId 為鍵累計,鍵為 `length` 時,後台統計(`getStaIp`、`getStaToken`)與統計頁原以陣列樣方式走訪,真實鍵被略過(該小時桶之全部 IP/使用者計數與總數消失),且每個時間桶多出數字假鍵;原型鍵名之計數另累加成字串,鍵為 `count` 者蓋掉該桶總數。本版起一律依自有鍵處理:`count` 為該桶總筆數(保留字,IP/userId 恰為 `count` 者、以及權杖統計中使用者名稱恰為 `count` 者,其筆數已含於總數、不另列),其餘字串(含 `length`)皆為一般鍵。
|
|
21
|
+
|
|
22
|
+
**統計頁逐 IP 圖表與時間分組恆為 0(修正)**:前端以 `data.<IP>` 字串取值,含 `.` 之 IPv4 被當作路徑,選擇「逐一顯示」IP 或 4/8 小時、1 日分組時數值恆為 0(使用者/IP 用量表不經路徑取值,遇 `length` 鍵之缺陷同上一點)。本版起不再把名稱或 IP 當路徑。
|
|
23
|
+
|
|
24
|
+
**後台清單儲存之主鍵/帳號為原型鍵名(修正)**:主鍵或帳號為 `constructor`、`__proto__`、`toString` 等時,原誤判為重複(`invalidRows`/`accountDuplicate`);新增之使用者其明文密碼被清為空。本版起照常驗證與儲存;後台使用者清單頁之前端預檢(帳號/email 重複、空值)原亦以一般物件判重,帳號為 `constructor` 等時誤判重複而擋下整份清單儲存,一併修正。`checkTokenAndUpdateUsersList`、`checkTokenAndUpdateTokensList` 之 `rows` 非陣列時回 `invalidRows`(資料通道入口原已以陣列檢查拒絕;原權杖清單遇非陣列於內部拋 `TypeError`)。
|
|
25
|
+
|
|
26
|
+
**來源 IP 之信任邊界(未變更,評估見 `CLAUDE_rulebook.md`〈已知缺口〉)**:`X-Forwarded-For` 第一段仍被信任且未驗證格式。直接對外提供服務時,用戶端可任意填寫此標頭以規避 IP 封鎖與頻率限制、冒用他人 IP(可使他人 IP 遭自動封鎖)、以任意字串登錄 `ips` 表與統計;部署於反向代理後時,請由最外層受信任之代理覆寫(而非附加)該標頭。後續版本擬提供 `trustProxy` 設定與 IP 格式驗證。
|
|
27
|
+
|
|
16
28
|
### Upgrading from 1.1.8 and earlier
|
|
17
29
|
|
|
18
30
|
**寫入前驗證(行為變更)**:後台清單儲存(`updateUsersList` / `updateTokensList` / `updateIpsList`,含以具寫入權限之 app token 呼叫者)與自助註冊(`createUser`)改於任何寫入之前驗證下列輸入;拒絕時資料庫無任何變更(同批之刪除不會先落地、不撤銷令牌、不清快取):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.bg-blue-100[data-v-0a60b8c6]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-gray-100[data-v-0a60b8c6]{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50[data-v-0a60b8c6]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100[data-v-0a60b8c6]{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-red-100[data-v-0a60b8c6]{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-white[data-v-0a60b8c6]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100[data-v-0a60b8c6]{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.border[data-v-0a60b8c6]{border-width:1px}.border-collapse[data-v-0a60b8c6]{border-collapse:collapse}.border-gray-200[data-v-0a60b8c6]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300[data-v-0a60b8c6]{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-solid[data-v-0a60b8c6]{border-style:solid}.cursor-pointer[data-v-0a60b8c6]{cursor:pointer}.flex[data-v-0a60b8c6]{display:-webkit-box;display:-ms-flexbox;display:flex}.focus\:ring-blue-500[data-v-0a60b8c6]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.font-bold[data-v-0a60b8c6]{font-weight:700}.font-medium[data-v-0a60b8c6]{font-weight:500}.font-semibold[data-v-0a60b8c6]{font-weight:600}.gap-5[data-v-0a60b8c6]{gap:1.25rem}.gap-6[data-v-0a60b8c6]{gap:1.5rem}.h-4[data-v-0a60b8c6]{height:1rem}.hover\:bg-gray-50[data-v-0a60b8c6]:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:underline[data-v-0a60b8c6]:hover{text-decoration-line:underline}.items-center[data-v-0a60b8c6]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.justify-between[data-v-0a60b8c6]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mb-2[data-v-0a60b8c6]{margin-bottom:.5rem}.mb-4[data-v-0a60b8c6]{margin-bottom:1rem}.mb-8[data-v-0a60b8c6]{margin-bottom:2rem}.ml-2[data-v-0a60b8c6]{margin-left:.5rem}.ml-4[data-v-0a60b8c6]{margin-left:1rem}.mr-2[data-v-0a60b8c6]{margin-right:.5rem}.mt-2[data-v-0a60b8c6]{margin-top:.5rem}.mt-4[data-v-0a60b8c6]{margin-top:1rem}.overflow-x-auto[data-v-0a60b8c6]{overflow-x:auto}.p-3[data-v-0a60b8c6]{padding:.75rem}.p-5[data-v-0a60b8c6]{padding:1.25rem}.pb-1[data-v-0a60b8c6]{padding-bottom:.25rem}.pb-2[data-v-0a60b8c6]{padding-bottom:.5rem}.pb-3[data-v-0a60b8c6]{padding-bottom:.75rem}.px-2[data-v-0a60b8c6]{padding-left:.5rem;padding-right:.5rem}.px-6[data-v-0a60b8c6]{padding-left:1.5rem;padding-right:1.5rem}.py-1[data-v-0a60b8c6]{padding-top:.25rem;padding-bottom:.25rem}.py-3[data-v-0a60b8c6]{padding-top:.75rem;padding-bottom:.75rem}.py-4[data-v-0a60b8c6]{padding-top:1rem;padding-bottom:1rem}.relative[data-v-0a60b8c6]{position:relative}.rounded[data-v-0a60b8c6]{border-radius:.25rem}.rounded-full[data-v-0a60b8c6]{border-radius:9999px}.rounded-lg[data-v-0a60b8c6]{border-radius:.5rem}.shadow-md[data-v-0a60b8c6]{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md[data-v-0a60b8c6],.shadow-sm[data-v-0a60b8c6]{-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm[data-v-0a60b8c6]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.space-x-4[data-v-0a60b8c6]>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-2[data-v-0a60b8c6]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-8[data-v-0a60b8c6]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.sticky[data-v-0a60b8c6]{position:sticky}.text-2xl[data-v-0a60b8c6]{font-size:1.5rem;line-height:2rem}.text-blue-600[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-500[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-indigo-600[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-left[data-v-0a60b8c6]{text-align:left}.text-lg[data-v-0a60b8c6]{font-size:1.125rem;line-height:1.75rem}.text-purple-600[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-600[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-right[data-v-0a60b8c6]{text-align:right}.text-sm[data-v-0a60b8c6]{font-size:.875rem;line-height:1.25rem}.text-teal-600[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-xs[data-v-0a60b8c6]{font-size:.75rem;line-height:1rem}.text-yellow-600[data-v-0a60b8c6]{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.top-0[data-v-0a60b8c6]{top:0}.transition-colors[data-v-0a60b8c6]{-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;transition-duration:.15s}.w-4[data-v-0a60b8c6]{width:1rem}.w-7[data-v-0a60b8c6]{width:1.75rem}.w-full[data-v-0a60b8c6]{width:100%}.z-10[data-v-0a60b8c6]{z-index:10}.grid[data-v-0a60b8c6]{display:grid}.grid-cols-1[data-v-0a60b8c6]{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:grid-cols-2[data-v-0a60b8c6]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-1[data-v-0a60b8c6]{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-3[data-v-0a60b8c6]{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4[data-v-0a60b8c6]{grid-template-columns:repeat(4,minmax(0,1fr))}}.bg-blue-100[data-v-3796caa5]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-gray-100[data-v-3796caa5]{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.border-gray-200[data-v-3796caa5]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-t[data-v-3796caa5]{border-top-width:1px}.break-all[data-v-3796caa5]{word-break:break-all}.flex[data-v-3796caa5]{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-shrink-0[data-v-3796caa5]{-ms-flex-negative:0;flex-shrink:0}.font-medium[data-v-3796caa5]{font-weight:500}.font-semibold[data-v-3796caa5]{font-weight:600}.gap-3[data-v-3796caa5]{gap:.75rem}.gap-4[data-v-3796caa5]{gap:1rem}.gap-x-8[data-v-3796caa5]{-webkit-column-gap:2rem;-moz-column-gap:2rem;column-gap:2rem}.gap-y-6[data-v-3796caa5]{row-gap:1.5rem}.inline-block[data-v-3796caa5]{display:inline-block}.items-center[data-v-3796caa5]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-start[data-v-3796caa5]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.mb-2[data-v-3796caa5]{margin-bottom:.5rem}.mr-3[data-v-3796caa5]{margin-right:.75rem}.mt-1[data-v-3796caa5]{margin-top:.25rem}.p-3[data-v-3796caa5]{padding:.75rem}.pt-6[data-v-3796caa5]{padding-top:1.5rem}.px-2[data-v-3796caa5]{padding-left:.5rem;padding-right:.5rem}.py-1[data-v-3796caa5]{padding-top:.25rem;padding-bottom:.25rem}.rounded-lg[data-v-3796caa5]{border-radius:.5rem}.rounded-md[data-v-3796caa5]{border-radius:.375rem}.space-y-8[data-v-3796caa5]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.text-base[data-v-3796caa5]{font-size:1rem;line-height:1.5rem}.text-blue-700[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-gray-400[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-sm[data-v-3796caa5]{font-size:.875rem;line-height:1.25rem}.text-xs[data-v-3796caa5]{font-size:.75rem;line-height:1rem}.text-red-800\/80[data-v-3796caa5]{color:rgba(153,27,27,.8)}.text-green-800\/80[data-v-3796caa5]{color:rgba(22,101,52,.8)}.grid[data-v-3796caa5]{display:grid}.grid-cols-1[data-v-3796caa5]{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:grid-cols-2[data-v-3796caa5]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2[data-v-3796caa5]{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:col-span-2[data-v-3796caa5]{grid-column:span 2/span 2}}@media (min-width:1024px){.lg\:grid-cols-4[data-v-3796caa5]{grid-template-columns:repeat(4,minmax(0,1fr))}}.status-danger[data-v-3796caa5]{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.status-warning[data-v-3796caa5]{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a}.status-success[data-v-3796caa5]{background-color:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.status-info[data-v-3796caa5]{background-color:#f8fafc;color:#475569;border:1px solid #e2e8f0}.perms-trigger[data-v-76dabe06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:2px;border:1px solid #767676;border-radius:4px;background:#f0f0f0;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.perms-trigger[data-v-76dabe06]:hover{background:#e5e5e5}.menu-row-click[data-v-4501b18f]{-webkit-transition:background .2s;transition:background .2s}.menu-row-click[data-v-4501b18f]:focus,.menu-row-click[data-v-4501b18f]:hover{background:#f2f2f2}body,html{font-family:微軟正黑體,Microsoft JhengHei,MicrosoftJhengHeiRegular,Avenir,Helvetica,Arial,sans-serif;overflow-y:hidden}a,button,div,input,p,pre,span,textarea{font-family:inherit}.sb{-webkit-transition:opacity .3s;transition:opacity .3s;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.sb::-webkit-scrollbar{width:8px;height:8px}.sb::-webkit-scrollbar-track{background:transparent}.sb::-webkit-scrollbar-thumb{background:rgba(0,0,0,.3);border-radius:20px;border:3px solid transparent}
|
|
1
|
+
.bg-blue-100[data-v-a0ffaf3e]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-gray-100[data-v-a0ffaf3e]{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50[data-v-a0ffaf3e]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100[data-v-a0ffaf3e]{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-red-100[data-v-a0ffaf3e]{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-white[data-v-a0ffaf3e]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100[data-v-a0ffaf3e]{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.border[data-v-a0ffaf3e]{border-width:1px}.border-collapse[data-v-a0ffaf3e]{border-collapse:collapse}.border-gray-200[data-v-a0ffaf3e]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300[data-v-a0ffaf3e]{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-solid[data-v-a0ffaf3e]{border-style:solid}.cursor-pointer[data-v-a0ffaf3e]{cursor:pointer}.flex[data-v-a0ffaf3e]{display:-webkit-box;display:-ms-flexbox;display:flex}.focus\:ring-blue-500[data-v-a0ffaf3e]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.font-bold[data-v-a0ffaf3e]{font-weight:700}.font-medium[data-v-a0ffaf3e]{font-weight:500}.font-semibold[data-v-a0ffaf3e]{font-weight:600}.gap-5[data-v-a0ffaf3e]{gap:1.25rem}.gap-6[data-v-a0ffaf3e]{gap:1.5rem}.h-4[data-v-a0ffaf3e]{height:1rem}.hover\:bg-gray-50[data-v-a0ffaf3e]:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:underline[data-v-a0ffaf3e]:hover{text-decoration-line:underline}.items-center[data-v-a0ffaf3e]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.justify-between[data-v-a0ffaf3e]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mb-2[data-v-a0ffaf3e]{margin-bottom:.5rem}.mb-4[data-v-a0ffaf3e]{margin-bottom:1rem}.mb-8[data-v-a0ffaf3e]{margin-bottom:2rem}.ml-2[data-v-a0ffaf3e]{margin-left:.5rem}.ml-4[data-v-a0ffaf3e]{margin-left:1rem}.mr-2[data-v-a0ffaf3e]{margin-right:.5rem}.mt-2[data-v-a0ffaf3e]{margin-top:.5rem}.mt-4[data-v-a0ffaf3e]{margin-top:1rem}.overflow-x-auto[data-v-a0ffaf3e]{overflow-x:auto}.p-3[data-v-a0ffaf3e]{padding:.75rem}.p-5[data-v-a0ffaf3e]{padding:1.25rem}.pb-1[data-v-a0ffaf3e]{padding-bottom:.25rem}.pb-2[data-v-a0ffaf3e]{padding-bottom:.5rem}.pb-3[data-v-a0ffaf3e]{padding-bottom:.75rem}.px-2[data-v-a0ffaf3e]{padding-left:.5rem;padding-right:.5rem}.px-6[data-v-a0ffaf3e]{padding-left:1.5rem;padding-right:1.5rem}.py-1[data-v-a0ffaf3e]{padding-top:.25rem;padding-bottom:.25rem}.py-3[data-v-a0ffaf3e]{padding-top:.75rem;padding-bottom:.75rem}.py-4[data-v-a0ffaf3e]{padding-top:1rem;padding-bottom:1rem}.relative[data-v-a0ffaf3e]{position:relative}.rounded[data-v-a0ffaf3e]{border-radius:.25rem}.rounded-full[data-v-a0ffaf3e]{border-radius:9999px}.rounded-lg[data-v-a0ffaf3e]{border-radius:.5rem}.shadow-md[data-v-a0ffaf3e]{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md[data-v-a0ffaf3e],.shadow-sm[data-v-a0ffaf3e]{-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm[data-v-a0ffaf3e]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.space-x-4[data-v-a0ffaf3e]>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-2[data-v-a0ffaf3e]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-8[data-v-a0ffaf3e]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.sticky[data-v-a0ffaf3e]{position:sticky}.text-2xl[data-v-a0ffaf3e]{font-size:1.5rem;line-height:2rem}.text-blue-600[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-500[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-indigo-600[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-left[data-v-a0ffaf3e]{text-align:left}.text-lg[data-v-a0ffaf3e]{font-size:1.125rem;line-height:1.75rem}.text-purple-600[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-600[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-right[data-v-a0ffaf3e]{text-align:right}.text-sm[data-v-a0ffaf3e]{font-size:.875rem;line-height:1.25rem}.text-teal-600[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-xs[data-v-a0ffaf3e]{font-size:.75rem;line-height:1rem}.text-yellow-600[data-v-a0ffaf3e]{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.top-0[data-v-a0ffaf3e]{top:0}.transition-colors[data-v-a0ffaf3e]{-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;transition-duration:.15s}.w-4[data-v-a0ffaf3e]{width:1rem}.w-7[data-v-a0ffaf3e]{width:1.75rem}.w-full[data-v-a0ffaf3e]{width:100%}.z-10[data-v-a0ffaf3e]{z-index:10}.grid[data-v-a0ffaf3e]{display:grid}.grid-cols-1[data-v-a0ffaf3e]{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:grid-cols-2[data-v-a0ffaf3e]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-1[data-v-a0ffaf3e]{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-3[data-v-a0ffaf3e]{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4[data-v-a0ffaf3e]{grid-template-columns:repeat(4,minmax(0,1fr))}}.bg-blue-100[data-v-3796caa5]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-gray-100[data-v-3796caa5]{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.border-gray-200[data-v-3796caa5]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-t[data-v-3796caa5]{border-top-width:1px}.break-all[data-v-3796caa5]{word-break:break-all}.flex[data-v-3796caa5]{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-shrink-0[data-v-3796caa5]{-ms-flex-negative:0;flex-shrink:0}.font-medium[data-v-3796caa5]{font-weight:500}.font-semibold[data-v-3796caa5]{font-weight:600}.gap-3[data-v-3796caa5]{gap:.75rem}.gap-4[data-v-3796caa5]{gap:1rem}.gap-x-8[data-v-3796caa5]{-webkit-column-gap:2rem;-moz-column-gap:2rem;column-gap:2rem}.gap-y-6[data-v-3796caa5]{row-gap:1.5rem}.inline-block[data-v-3796caa5]{display:inline-block}.items-center[data-v-3796caa5]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-start[data-v-3796caa5]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.mb-2[data-v-3796caa5]{margin-bottom:.5rem}.mr-3[data-v-3796caa5]{margin-right:.75rem}.mt-1[data-v-3796caa5]{margin-top:.25rem}.p-3[data-v-3796caa5]{padding:.75rem}.pt-6[data-v-3796caa5]{padding-top:1.5rem}.px-2[data-v-3796caa5]{padding-left:.5rem;padding-right:.5rem}.py-1[data-v-3796caa5]{padding-top:.25rem;padding-bottom:.25rem}.rounded-lg[data-v-3796caa5]{border-radius:.5rem}.rounded-md[data-v-3796caa5]{border-radius:.375rem}.space-y-8[data-v-3796caa5]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.text-base[data-v-3796caa5]{font-size:1rem;line-height:1.5rem}.text-blue-700[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-gray-400[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900[data-v-3796caa5]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-sm[data-v-3796caa5]{font-size:.875rem;line-height:1.25rem}.text-xs[data-v-3796caa5]{font-size:.75rem;line-height:1rem}.text-red-800\/80[data-v-3796caa5]{color:rgba(153,27,27,.8)}.text-green-800\/80[data-v-3796caa5]{color:rgba(22,101,52,.8)}.grid[data-v-3796caa5]{display:grid}.grid-cols-1[data-v-3796caa5]{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:grid-cols-2[data-v-3796caa5]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2[data-v-3796caa5]{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:col-span-2[data-v-3796caa5]{grid-column:span 2/span 2}}@media (min-width:1024px){.lg\:grid-cols-4[data-v-3796caa5]{grid-template-columns:repeat(4,minmax(0,1fr))}}.status-danger[data-v-3796caa5]{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.status-warning[data-v-3796caa5]{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a}.status-success[data-v-3796caa5]{background-color:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.status-info[data-v-3796caa5]{background-color:#f8fafc;color:#475569;border:1px solid #e2e8f0}.perms-trigger[data-v-76dabe06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:2px;border:1px solid #767676;border-radius:4px;background:#f0f0f0;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.perms-trigger[data-v-76dabe06]:hover{background:#e5e5e5}.menu-row-click[data-v-4501b18f]{-webkit-transition:background .2s;transition:background .2s}.menu-row-click[data-v-4501b18f]:focus,.menu-row-click[data-v-4501b18f]:hover{background:#f2f2f2}body,html{font-family:微軟正黑體,Microsoft JhengHei,MicrosoftJhengHeiRegular,Avenir,Helvetica,Arial,sans-serif;overflow-y:hidden}a,button,div,input,p,pre,span,textarea{font-family:inherit}.sb{-webkit-transition:opacity .3s;transition:opacity .3s;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.sb::-webkit-scrollbar{width:8px;height:8px}.sb::-webkit-scrollbar-track{background:transparent}.sb::-webkit-scrollbar-thumb{background:rgba(0,0,0,.3);border-radius:20px;border:3px solid transparent}
|
package/dist/index.tmp
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
<!doctype html><html xmlns="http://www.w3.org/1999/xhtml" lang="zh-tw"><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,minimal-ui"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta name="referrer" content="strict-origin"><title></title><link _href="https://cdn.jsdelivr.net/npm/@mdi/font@7.4.47/css/materialdesignicons.min.css" rel="stylesheet"><link _href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.2/css/all.min.css" rel="stylesheet"><script>window.___pmwsso___={
|
|
2
2
|
language: '{language}',
|
|
3
|
-
}</script><script defer="defer" src="{sfd}/js/chunk-vendors.
|
|
3
|
+
}</script><script defer="defer" src="{sfd}/js/chunk-vendors.0492b6f5.js" type="module"></script><script defer="defer" src="{sfd}/js/app.bee6840f.js" type="module"></script><link href="{sfd}/css/chunk-vendors.5c06be05.css" rel="stylesheet"><link href="{sfd}/css/app.b17b0ba0.css" rel="stylesheet"><script defer="defer" src="{sfd}/js/chunk-vendors-legacy.0492b6f5.js" nomodule></script><script defer="defer" src="{sfd}/js/app-legacy.bee6840f.js" nomodule></script></head><body style="font-family:'Microsoft JhengHei','Avenir','Helvetica', 'Arial', 'sans-serif'; padding:0px; margin:0px;"><noscript><strong>We're sorry but w-component-vue doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|