hunter-mate 0.1.18 → 0.1.20
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/assets/extension/background/{service-worker.20261002143654.js → service-worker.20261015103433.js} +868 -142
- package/dist/assets/extension/background/service-worker.js +868 -142
- package/dist/assets/extension/build-info.json +1 -1
- package/dist/assets/extension/content/control-runtime.js +1028 -0
- package/dist/assets/extension/content/index.js +37 -2
- package/dist/assets/extension/manifest.json +4 -3
- package/dist/assets/extension/offscreen/offscreen.html +1 -1
- package/dist/assets/extension/offscreen/offscreen.js +2 -2
- package/dist/assets/extension/package.json +1 -1
- package/dist/assets/extension/sidepanel/index.css +1 -1
- package/dist/assets/extension/sidepanel/index.html +1 -1
- package/dist/assets/extension/sidepanel/index.js +23 -14
- package/dist/assets/server/chunks/{chunk-IXYSL3NT.mjs → chunk-BLXHCSZD.mjs} +8 -10
- package/dist/assets/server/chunks/{script-rule-ANR2J7E6.mjs → script-rule-ZJN6CEYX.mjs} +1 -1
- package/dist/assets/server/main.mjs +11292 -4848
- package/dist/index.js +1075 -365
- package/dist/web/dist/404.html +1 -1
- package/dist/web/dist/_next/static/2fPtjfAzNbYkpIoAQOsP3/_buildManifest.js +1 -0
- package/dist/web/dist/_next/static/{N_4Eb07x7RNgd3O5ubXrJ → 2fPtjfAzNbYkpIoAQOsP3}/_ssgManifest.js +1 -1
- package/dist/web/dist/_next/static/chunks/105-dcd8f6d5867c8995.js +32 -0
- package/dist/web/dist/_next/static/chunks/166.b263e636ff66212f.js +1 -0
- package/dist/web/dist/_next/static/chunks/1e6d5a0c.75afa2d319272f42.js +15 -0
- package/dist/web/dist/_next/static/chunks/555-e2a871b9d2eccb03.js +12 -0
- package/dist/web/dist/_next/static/chunks/589-f984bff035a1cb85.js +1 -0
- package/dist/web/dist/_next/static/chunks/671.ae431f885d6c7f0c.js +1 -0
- package/dist/web/dist/_next/static/chunks/686-9f419b70feea9470.js +1 -0
- package/dist/web/dist/_next/static/chunks/852-248884963a986600.js +1 -0
- package/dist/web/dist/_next/static/chunks/865-0ed23dd43c0832a2.js +1 -0
- package/dist/web/dist/_next/static/chunks/935-7be3e60dd8bc29d2.js +5 -0
- package/dist/web/dist/_next/static/chunks/954-fb0212fe71f60a52.js +1 -0
- package/dist/web/dist/_next/static/chunks/a7067448-e416655baf443992.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/_not-found/page-5b7249eb3c9a6cb9.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/admin/data/page-14698e9c4ddaa6d9.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/auth/verify/page-05304d5803008d61.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/companies/page-ec27ce9ab3610221.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/company/admin/page-c2584183bc4b34d1.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/entity/page-08755f96102f0565.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/jobs/page-4175a90f1b42f87d.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/layout-af39afc7866e74db.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/logs/page-be50a4e10b1a0024.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/matching/jobs/[id]/talents/page-cf445b0cb8c2cb0a.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/matching/portraits/[id]/jobs/page-c7ff0d79b6a75915.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/page-bd282e1e5f0965f1.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/parselog/page-9814e75d6900a743.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/recordings/page-441016638b43c4f8.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/resource-usage/page-f6fa06bfe21bcd32.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/shared/[token]/page-c9c5042a2d07c0bc.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/snapshots/[id]/agent-prompt/page-f54cf2f0058035ca.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/talents/page-c0a0c250eb5f5459.js +1 -0
- package/dist/web/dist/_next/static/chunks/app/team/insights/page-8b3934df3e292368.js +1 -0
- package/dist/web/dist/_next/static/chunks/framework-8aa939434277315a.js +1 -0
- package/dist/web/dist/_next/static/chunks/main-8a2c75d6c43385dd.js +1 -0
- package/dist/web/dist/_next/static/chunks/main-app-f496bd51a73ef9f3.js +1 -0
- package/dist/web/dist/_next/static/chunks/pages/_app-037e1cd81d653e68.js +4 -0
- package/dist/web/dist/_next/static/chunks/pages/_error-59095d3b83385d1f.js +1 -0
- package/dist/web/dist/_next/static/chunks/{webpack-cf21e951181fd345.js → webpack-54e74ccc9e9451ee.js} +1 -1
- package/dist/web/dist/_next/static/css/bd072fee69ae8474.css +3 -0
- package/dist/web/dist/admin/data.html +1 -1
- package/dist/web/dist/admin/data.txt +8 -6
- package/dist/web/dist/auth/verify.html +1 -1
- package/dist/web/dist/auth/verify.txt +8 -6
- package/dist/web/dist/companies.html +1 -1
- package/dist/web/dist/companies.txt +9 -6
- package/dist/web/dist/company/admin.html +1 -1
- package/dist/web/dist/company/admin.txt +8 -6
- package/dist/web/dist/entity.html +1 -1
- package/dist/web/dist/entity.txt +9 -7
- package/dist/web/dist/index.html +1 -1
- package/dist/web/dist/index.txt +9 -7
- package/dist/web/dist/jobs.html +1 -1
- package/dist/web/dist/jobs.txt +9 -7
- package/dist/web/dist/logs.html +1 -1
- package/dist/web/dist/logs.txt +9 -7
- package/dist/web/dist/matching/jobs/placeholder/talents.html +1 -1
- package/dist/web/dist/matching/jobs/placeholder/talents.txt +8 -6
- package/dist/web/dist/matching/portraits/placeholder/jobs.html +1 -1
- package/dist/web/dist/matching/portraits/placeholder/jobs.txt +8 -6
- package/dist/web/dist/parselog.html +1 -1
- package/dist/web/dist/parselog.txt +9 -7
- package/dist/web/dist/recordings.html +1 -1
- package/dist/web/dist/recordings.txt +9 -7
- package/dist/web/dist/resource-usage.html +1 -1
- package/dist/web/dist/resource-usage.txt +9 -7
- package/dist/web/dist/shared/placeholder.html +1 -0
- package/dist/web/dist/shared/placeholder.txt +10 -0
- package/dist/web/dist/snapshots/placeholder/agent-prompt.html +1 -1
- package/dist/web/dist/snapshots/placeholder/agent-prompt.txt +8 -6
- package/dist/web/dist/talents.html +1 -1
- package/dist/web/dist/talents.txt +8 -6
- package/dist/web/dist/team/insights.html +1 -0
- package/dist/web/dist/team/insights.txt +9 -0
- package/package.json +1 -1
- package/dist/web/dist/_next/static/N_4Eb07x7RNgd3O5ubXrJ/_buildManifest.js +0 -1
- package/dist/web/dist/_next/static/chunks/166.f30be223f694f8ee.js +0 -1
- package/dist/web/dist/_next/static/chunks/170-b66b6f731381943e.js +0 -1
- package/dist/web/dist/_next/static/chunks/1e6d5a0c.0488932e17ecdf24.js +0 -15
- package/dist/web/dist/_next/static/chunks/589-5e99e548a0ee6bac.js +0 -1
- package/dist/web/dist/_next/static/chunks/671.3b8e9cc96b25b6ea.js +0 -1
- package/dist/web/dist/_next/static/chunks/686-ade57c57a1737818.js +0 -1
- package/dist/web/dist/_next/static/chunks/935-bb4adb3868af4cd4.js +0 -5
- package/dist/web/dist/_next/static/chunks/a7067448-d3882c7e74c162bf.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/_not-found/page-cf5ab201496f0914.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/admin/data/page-37e01dad70306bf3.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/auth/verify/page-38fa28a48f76defa.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/companies/page-985002eea5b295d0.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/company/admin/page-8c7ecc92bef09e92.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/entity/page-dc9664fb628e2d08.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/jobs/page-e39b3e25f0a81254.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/layout-d094dc654772bf32.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/logs/page-ccc6bb863cf77e56.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/matching/jobs/[id]/talents/page-936f6190c968d20b.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/matching/portraits/[id]/jobs/page-ea44a2236bd53cae.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/page-41d8e008a9411221.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/parselog/page-3f756bbd580f337e.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/recordings/page-ffd507b12e67f2db.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/resource-usage/page-3b8bd27536a7889a.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/snapshots/[id]/agent-prompt/page-c89b32aa2ef509f5.js +0 -1
- package/dist/web/dist/_next/static/chunks/app/talents/page-8e0b4072df138fa3.js +0 -1
- package/dist/web/dist/_next/static/chunks/framework-b3a558b17a070965.js +0 -1
- package/dist/web/dist/_next/static/chunks/main-app-7e48cd6f6a954fec.js +0 -1
- package/dist/web/dist/_next/static/chunks/main-ead3ac50aa4bc931.js +0 -1
- package/dist/web/dist/_next/static/chunks/pages/_app-97da3522926feed4.js +0 -4
- package/dist/web/dist/_next/static/chunks/pages/_error-17756f67e0a11350.js +0 -1
- package/dist/web/dist/_next/static/css/1dd88e02ef1af7b9.css +0 -3
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8bfbd328-10f0-452a-b5d0-13716ea8f181",e._sentryDebugIdIdentifier="sentry-dbid-8bfbd328-10f0-452a-b5d0-13716ea8f181")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[290],{4792:function(e,t,n){Promise.resolve().then(n.bind(n,9418))},9418:function(e,t,n){"use strict";n.d(t,{CompanyAdminPage:function(){return s}});var a=n(2835),r=n(635),l=n(5777);function s(){var e,t;let{sync:n,utoken:s,refresh:i}=(0,l.nu)(),d=(0,l.cp)(n),o=(0,l.Cd)(n,d),c=null!==(t=null===(e=(0,l.aG)(n).find(e=>e.tenantId===d))||void 0===e?void 0:e.name)&&void 0!==t?t:"",[u,m]=(0,r.useState)([]),[x,h]=(0,r.useState)([]),[y,b]=(0,r.useState)(!1),[f,p]=(0,r.useState)(null),[g,v]=(0,r.useState)(null),[j,N]=(0,r.useState)(null),[w,k]=(0,r.useState)(null),[I,S]=(0,r.useState)(null),T=(0,r.useCallback)((e,t)=>{let n=new Headers(null==t?void 0:t.headers);return n.set("Content-Type","application/json"),s&&n.set("Authorization","UTOKEN ".concat(s)),fetch("".concat((0,l.tQ)()).concat(e),{...t,headers:n})},[s]),E=(0,r.useCallback)(async()=>{if(d){b(!0),p(null);try{var e,t;let[n,a]=await Promise.all([T("/company/".concat(d,"/applications?status=pending")),T("/company/".concat(d,"/members"))]);if(!n.ok||!a.ok){p("加载失败(HTTP ".concat(n.status,"/").concat(a.status,")"));return}m(null!==(e=(await n.json()).items)&&void 0!==e?e:[]),h(null!==(t=(await a.json()).items)&&void 0!==t?t:[])}finally{b(!1)}}},[d,T]);(0,r.useEffect)(()=>{E()},[E]);let C=async(e,t)=>{N(e.id),p(null),v(null);try{let n=await T("/company/applications/".concat(e.id,"/decide"),{method:"POST",body:JSON.stringify({action:t})}),a=await n.json().catch(()=>null);if(!n.ok){p((null==a?void 0:a.message)||"操作失败(HTTP ".concat(n.status,")"));return}v("approve"===t?"已通过 ".concat(e.email," 的加入申请"):"已拒绝 ".concat(e.email," 的申请")),await E(),await i()}finally{N(null)}},U=async(e,t)=>{k(e.hmUserId),p(null),v(null);try{let n=await T("/company/".concat(d,"/admins"),{method:"POST",body:JSON.stringify({hmUserId:e.hmUserId,isAdmin:t})}),a=await n.json().catch(()=>null);if(!n.ok){p((null==a?void 0:a.message)||"操作失败(HTTP ".concat(n.status,")"));return}v(t?"已设 ".concat(e.email," 为管理员"):"已取消 ".concat(e.email," 的管理员")),await E(),await i()}finally{k(null)}},_=async e=>{k(e.hmUserId),p(null),v(null);try{let t=await T("/company/".concat(d,"/transfer-ownership"),{method:"POST",body:JSON.stringify({hmUserId:e.hmUserId})}),n=await t.json().catch(()=>null);if(!t.ok){p((null==n?void 0:n.message)||"操作失败(HTTP ".concat(t.status,")"));return}v("公司归属已转移给 ".concat(e.email,",你已成为管理员")),await E(),await i()}finally{k(null),S(null)}};return d?"owner"!==o&&"admin"!==o?(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-gray-400",children:"仅公司归属者/管理员可访问企业管理"}):(0,a.jsxs)("div",{className:"h-full overflow-auto p-6",children:[(0,a.jsxs)("h2",{className:"mb-1 text-lg font-semibold text-gray-900",children:["企业管理",(0,a.jsx)("span",{className:"ml-2 text-sm font-normal text-gray-400",children:c}),(0,a.jsx)("span",{className:"ml-2 text-xs font-normal text-amber-600",children:"owner"===o?"归属者":"管理员"})]}),(0,a.jsx)("p",{className:"mb-5 text-xs text-gray-400",children:"审批加入申请、配置管理员、转移公司归属;创建者默认是归属者(管理员)"}),f&&(0,a.jsx)("div",{className:"mb-3 rounded-md bg-red-50 px-3 py-2 text-xs text-red-600",children:f}),g&&(0,a.jsx)("div",{className:"mb-3 rounded-md bg-green-50 px-3 py-2 text-xs text-green-600",children:g}),(0,a.jsxs)("section",{className:"mb-8",children:[(0,a.jsxs)("h3",{className:"mb-2 text-sm font-medium text-gray-700",children:["待审批申请",u.length>0&&(0,a.jsx)("span",{className:"ml-2 rounded-full bg-red-100 px-1.5 text-xs text-red-600",children:u.length})]}),y?(0,a.jsx)("div",{className:"rounded-md border border-dashed border-gray-200 px-3 py-6 text-center text-xs text-gray-400",children:"加载中…"}):0===u.length?(0,a.jsx)("div",{className:"rounded-md border border-dashed border-gray-200 px-3 py-6 text-center text-xs text-gray-400",children:"暂无待审批申请"}):(0,a.jsx)("div",{className:"space-y-2",children:u.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg border border-gray-200 bg-white px-4 py-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-sm text-gray-800",children:e.email}),(0,a.jsxs)("div",{className:"text-xs text-gray-400",children:[new Date(e.createdAt).toLocaleString("zh-CN"),e.message?" \xb7 ".concat(e.message):""]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 gap-2",children:[(0,a.jsx)("button",{onClick:()=>C(e,"approve"),disabled:j===e.id,className:"rounded-md bg-blue-600 px-3 py-1 text-xs text-white hover:bg-blue-700 disabled:opacity-50",children:j===e.id?"处理中…":"通过"}),(0,a.jsx)("button",{onClick:()=>C(e,"reject"),disabled:j===e.id,className:"rounded-md border border-gray-200 px-3 py-1 text-xs text-gray-500 hover:bg-gray-50 disabled:opacity-50",children:"拒绝"})]})]},e.id))})]}),(0,a.jsxs)("section",{children:[(0,a.jsxs)("h3",{className:"mb-2 text-sm font-medium text-gray-700",children:["成员(",x.length,")"]}),(0,a.jsx)("div",{className:"overflow-hidden rounded-lg border border-gray-200 bg-white",children:x.map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-2.5 ".concat(t>0?"border-t border-gray-100":""),children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"truncate text-sm text-gray-800",children:e.email}),(0,a.jsxs)("span",{className:"ml-2 text-xs text-gray-400",children:[new Date(e.joinedAt).toLocaleDateString("zh-CN")," 加入"]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:["owner"===e.role&&(0,a.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-xs text-amber-700",children:"归属者"}),"admin"===e.role&&(0,a.jsx)("span",{className:"rounded bg-blue-100 px-1.5 py-0.5 text-xs text-blue-700",children:"管理员"}),"owner"===o&&"owner"!==e.role&&(0,a.jsxs)(a.Fragment,{children:["member"===e.role?(0,a.jsx)("button",{onClick:()=>U(e,!0),disabled:w===e.hmUserId,className:"rounded-md border border-gray-200 px-2 py-0.5 text-xs text-gray-500 hover:bg-gray-50 disabled:opacity-50",children:"设为管理员"}):(0,a.jsx)("button",{onClick:()=>U(e,!1),disabled:w===e.hmUserId,className:"rounded-md border border-gray-200 px-2 py-0.5 text-xs text-gray-500 hover:bg-gray-50 disabled:opacity-50",children:"取消管理员"}),I===e.hmUserId?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>_(e),disabled:w===e.hmUserId,className:"rounded-md bg-amber-600 px-2 py-0.5 text-xs text-white hover:bg-amber-700 disabled:opacity-50",children:"确认转移给TA"}),(0,a.jsx)("button",{onClick:()=>S(null),className:"rounded-md border border-gray-200 px-2 py-0.5 text-xs text-gray-400",children:"取消"})]}):(0,a.jsx)("button",{onClick:()=>S(e.hmUserId),className:"rounded-md border border-amber-200 px-2 py-0.5 text-xs text-amber-600 hover:bg-amber-50",children:"转移归属"})]})]})]},e.hmUserId))}),"owner"===o&&(0,a.jsx)("p",{className:"mt-2 text-xs text-gray-400",children:"转移归属后你将成为管理员,对方成为归属者(归属权即公司归属,可随时再转)"})]})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-gray-400",children:"尚未选择公司——在左下角切换到公司后再进入企业管理"})}},5777:function(e,t,n){"use strict";n.d(t,{Cd:function(){return N},aG:function(){return v},cp:function(){return j},nu:function(){return g},tQ:function(){return w}});var a=n(635),r=n(4431),l=n(529);let s=null,i=null,d=null,o=null,c=new Set;function u(){c.forEach(e=>e())}function m(e){let t=new Headers;return s&&t.set("Authorization","UTOKEN ".concat(s)),(0,r.rd)(e,{headers:t})}async function x(){let[e,t]=await Promise.all([(0,r.rd)("/auth/session"),m("/datasync/state")]),n=(null==e?void 0:e.loggedIn)&&e.token?e.token:null,a=null!=t?t:null;if(!a&&e&&n&&n!==s?(s=n,a=await m("/datasync/state")):s=n,!e&&!a){i=i?{...i,loadError:"本地服务无响应"}:{session:null,sync:null,utoken:s,loadError:"本地服务无响应",refresh:h},u();return}i={session:null!=e?e:{loggedIn:!1},sync:a,utoken:s,loadError:null,refresh:h},u()}function h(){return d||(d=x().finally(()=>{d=null}))}function y(e){return c.add(e),1===c.size&&(h(),o=setInterval(()=>void h(),6e4)),()=>{c.delete(e),0===c.size&&o&&(clearInterval(o),o=null)}}let b={session:null,sync:null,utoken:null,loadError:null,refresh:h};function f(){return null!=i?i:b}function p(){return f()}function g(){return(0,a.useSyncExternalStore)(y,f,p)}function v(e){var t;return(null!==(t=null==e?void 0:e.memberships)&&void 0!==t?t:[]).filter(e=>!e.isPersonal&&!e.leftAt)}function j(e){var t,n;let a=null!==(t=null==e?void 0:e.activeTenantId)&&void 0!==t?t:null;if(null==a)return null;let r=(null!==(n=null==e?void 0:e.memberships)&&void 0!==n?n:[]).find(e=>e.tenantId===a&&!e.leftAt);return!r||r.isPersonal?null:a}function N(e,t){var n,a;if(!t)return null;let r=(null!==(n=null==e?void 0:e.memberships)&&void 0!==n?n:[]).find(e=>e.tenantId===t&&!e.leftAt&&!e.isPersonal);return null!==(a=null==r?void 0:r.role)&&void 0!==a?a:null}function w(){return l.env.NEXT_PUBLIC_HUNTER_MATE_SERVER_URL||""}},4431:function(e,t,n){"use strict";n.d(t,{Ox:function(){return r},rd:function(){return s},uz:function(){return i}});var a=n(529);function r(){return a.env.HUNTER_MATE_SERVER_URL||""}let l=r();async function s(e,t){try{let n=await fetch("".concat(l).concat(e),{cache:"no-store",...t});if(!n.ok)return null;return await n.json()}catch(e){return null}}async function i(e,t){try{let n=await fetch("".concat(l).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=t?JSON.stringify(t):void 0});if(!n.ok)return null;return await n.json()}catch(e){return null}}}},function(e){e.O(0,[400,935,744],function(){return e(e.s=4792)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e63aec82-621c-4850-9b20-f1911a51a963",e._sentryDebugIdIdentifier="sentry-dbid-e63aec82-621c-4850-9b20-f1911a51a963")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[303],{778:function(e,n,t){Promise.resolve().then(t.bind(t,3463))},7473:function(e,n,t){"use strict";var a=t(8321);t.o(a,"useParams")&&t.d(n,{useParams:function(){return a.useParams}}),t.o(a,"usePathname")&&t.d(n,{usePathname:function(){return a.usePathname}}),t.o(a,"useRouter")&&t.d(n,{useRouter:function(){return a.useRouter}}),t.o(a,"useSearchParams")&&t.d(n,{useSearchParams:function(){return a.useSearchParams}})},3463:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return o}});var a=t(2835),s=t(635),r=t(7473);let u={talent:"/talents",job:"/jobs",company:"/companies"};function c(){let e=(0,r.useSearchParams)();return(0,s.useEffect)(()=>{let n=e.get("type")||"talent",t=e.get("id"),a=u[n]||"/talents",s=t?"?id=".concat(encodeURIComponent(t)):"";window.location.replace("".concat(a).concat(s))},[e]),(0,a.jsx)("div",{className:"p-6 text-gray-500",children:"跳转中…"})}function o(){return(0,a.jsx)(s.Suspense,{fallback:(0,a.jsx)("div",{className:"p-6 text-gray-500",children:"跳转中…"}),children:(0,a.jsx)(c,{})})}}},function(e){e.O(0,[400,935,744],function(){return e(e.s=778)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="48bab23d-7b3d-4510-9ac2-50eafae1910b",e._sentryDebugIdIdentifier="sentry-dbid-48bab23d-7b3d-4510-9ac2-50eafae1910b")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[109],{4843:function(e,t,s){Promise.resolve().then(s.bind(s,4821))},4821:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return j}});var l=s(2835),a=s(635),r=s(8170),n=s(7473),i=s(4431),d=s(8448),c=s(4518),o=s(3718),u=s(6777),m=s(6119),x=s(3464);let f={draft:"草稿",active:"交付中",archived:"已归档"};function b(){var e,t,s;let r=(0,n.useRouter)(),b=(0,n.useSearchParams)(),h=b.get("id"),[g,j]=(0,a.useState)({}),[p,y]=(0,a.useState)(""),[v,N]=(0,a.useState)(""),[w,k]=(0,a.useState)(null),[I,S]=(0,a.useState)(!1),P=(0,m.B)({deleteUrl:"/job-cases",label:"职位",onDeleted:()=>_.refresh()}),_=(0,x.k)({fetchPage:(0,a.useCallback)(async(e,t)=>{var s,l;let a=await (0,i.rd)("/job-cases?q=".concat(encodeURIComponent(v),"&limit=").concat(t,"&offset=").concat(e));return{items:null!==(s=null==a?void 0:a.items)&&void 0!==s?s:[],total:null!==(l=null==a?void 0:a.total)&&void 0!==l?l:0}},[v]),pageSize:50,deps:[v]});(0,a.useEffect)(()=>{let e=setTimeout(()=>N(p.trim()),300);return()=>clearTimeout(e)},[p]),(0,a.useEffect)(()=>{(0,i.rd)("/customers").then(e=>{let t={};for(let s of null!=e?e:[])t[s.id]=s.canonicalName;j(t)})},[]),(0,a.useEffect)(()=>{P.prune(_.items.map(e=>String(e.id)))},[_.items,P]),(0,a.useEffect)(()=>{if(!h){k(null);return}S(!0),(0,i.rd)("/job-cases/".concat(h)).then(e=>{k(e),S(!1)})},[h]);let E=(0,a.useCallback)(e=>{let t=new URLSearchParams(b.toString());e.id?t.set("id",e.id):t.delete("id"),r.replace("/jobs?".concat(t.toString()))},[r,b]),C=(0,a.useMemo)(()=>_.items.map(e=>{var t,s,a;let r=function(e){var t,s;let l;let a=(null!==(t=e.folderPath)&&void 0!==t?t:"").split("/").filter(Boolean).filter(e=>!["job","jd","raw"].includes(e));return(l=e.title)&&!["job","jd","raw"].includes(l)?e.title:null!==(s=a.at(-1))&&void 0!==s?s:"案件 #".concat(e.id)}(e);return{id:String(e.id),content:(0,l.jsxs)("div",{className:"flex items-start gap-2",children:[P.checkbox(String(e.id)),(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"font-medium text-gray-900",children:null!=r?r:"(案件 #".concat(e.id,")")}),(0,l.jsx)("span",{className:"rounded px-1.5 py-0.5 text-xs ".concat("active"===e.status?"bg-emerald-100 text-emerald-700":"bg-gray-100 text-gray-500"),children:null!==(t=f[e.status])&&void 0!==t?t:e.status}),(null!==(s=e.folderPath)&&void 0!==s?s:"").includes("/local/clients/")?(0,l.jsx)("span",{className:"rounded bg-purple-100 px-1.5 py-0.5 text-xs text-purple-700",children:"本地"}):null]}),(0,l.jsx)("div",{className:"text-xs text-gray-500",children:e.customerId?null!==(a=g[e.customerId])&&void 0!==a?a:"客户 #".concat(e.customerId):"未关联客户"}),(0,l.jsx)("div",{className:"mt-0.5 text-xs text-gray-400",children:(0,d.d3)(e.createdAt)})]})]})}}),[_.items,g,P]),F=h?I?(0,l.jsx)("div",{className:"flex h-full items-center justify-center text-gray-400",children:"加载中…"}):w?(0,l.jsxs)("div",{className:"h-full overflow-y-auto p-4",children:[(0,l.jsx)("h2",{className:"mb-1 text-lg font-semibold text-gray-900",children:null!==(e=w.title)&&void 0!==e?e:"案件 #".concat(w.id)}),(0,l.jsxs)("div",{className:"mb-4 text-xs text-gray-400",children:["externalId: ",w.externalId," \xb7 ",null!==(t=f[w.status])&&void 0!==t?t:w.status," \xb7 更新于"," ",(0,d.d3)(w.updatedAt)]}),w.customerId?(0,l.jsxs)("a",{href:"/companies?id=".concat(w.customerId),className:"mb-4 inline-flex items-center gap-2 rounded border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-800 hover:border-amber-400",children:[(0,l.jsx)("span",{className:"text-gray-500",children:"客户公司:"}),(0,l.jsx)("span",{className:"font-medium",children:null!==(s=g[w.customerId])&&void 0!==s?s:"#".concat(w.customerId)}),(0,l.jsx)("span",{className:"text-xs text-amber-500",children:"查看公司详情 →"})]}):null,w.folderPath?(0,l.jsxs)("div",{className:"mb-4 break-all text-xs text-gray-500",children:["文件夹:",w.folderPath]}):null,w.requirements&&Object.keys(w.requirements).length>0?(0,l.jsxs)("section",{className:"mb-4",children:[(0,l.jsx)("h3",{className:"mb-2 text-sm font-medium text-gray-800",children:"职位要求(requirements)"}),(0,l.jsx)(u.Y,{data:w.requirements})]}):null,w.rawFiles&&Object.keys(w.rawFiles).length>0?(0,l.jsxs)("section",{children:[(0,l.jsx)("h3",{className:"mb-2 text-sm font-medium text-gray-800",children:"原始文件(rawFiles)"}),(0,l.jsx)(u.Y,{data:w.rawFiles})]}):null]}):(0,l.jsx)("div",{className:"flex h-full items-center justify-center text-red-500",children:"未找到该案件"}):(0,l.jsx)("div",{className:"flex h-full items-center justify-center text-gray-400",children:"请在左侧选择一个职位案件查看详情"});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.m,{filterBar:(0,l.jsxs)("div",{className:"space-y-2 border-b border-gray-200 bg-white p-3",children:[(0,l.jsx)("input",{type:"text",value:p,onChange:e=>y(e.target.value),placeholder:"搜索职位/客户/路径…",className:"w-full rounded border border-gray-300 px-2 py-1.5 text-sm outline-none focus:border-blue-500"}),(0,l.jsxs)("div",{className:"text-xs text-gray-400",children:["已加载 ",_.items.length," / 共 ",_.total," 个职位"]}),P.bar(C)]}),listPanel:(0,l.jsx)(o.L,{items:C,selectedId:null!=h?h:void 0,onSelect:e=>E({id:e}),loading:_.loading,emptyText:"暂无职位",onLoadMore:_.loadMore,loadingMore:_.loadingMore,exhausted:_.exhausted}),detailPanel:F}),P.modal()]})}function h(){return(0,l.jsx)(a.Suspense,{fallback:(0,l.jsx)("div",{className:"p-6 text-gray-500",children:"加载中…"}),children:(0,l.jsx)(b,{})})}let g=[{key:"cases",label:"职位案件"},{key:"entities",label:"招聘实体"}];function j(){let[e,t]=(0,a.useState)("cases");return(0,l.jsxs)("div",{className:"flex h-full flex-col",children:[(0,l.jsx)("div",{className:"flex gap-1 border-b border-gray-200 bg-white px-3 pt-2",children:g.map(s=>(0,l.jsx)("button",{onClick:()=>t(s.key),className:"rounded-t px-3 py-1.5 text-sm ".concat(e===s.key?"bg-gray-100 font-medium text-gray-900":"text-gray-500 hover:text-gray-700"),children:s.label},s.key))}),(0,l.jsx)("div",{className:"min-h-0 flex-1",children:"cases"===e?(0,l.jsx)(h,{}):(0,l.jsx)(r.EntityListPage,{type:"job",label:"职位",titleField:"title",subtitleField:"company",batchDelete:!0})})]})}}},function(e){e.O(0,[170,400,935,744],function(){return e(e.s=4843)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3f962691-0047-4a65-ba88-f5661e00182e",e._sentryDebugIdIdentifier="sentry-dbid-3f962691-0047-4a65-ba88-f5661e00182e")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{3128:function(e,t,n){Promise.resolve().then(n.t.bind(n,1115,23)),Promise.resolve().then(n.bind(n,1989))},7473:function(e,t,n){"use strict";var l=n(8321);n.o(l,"useParams")&&n.d(t,{useParams:function(){return l.useParams}}),n.o(l,"usePathname")&&n.d(t,{usePathname:function(){return l.usePathname}}),n.o(l,"useRouter")&&n.d(t,{useRouter:function(){return l.useRouter}}),n.o(l,"useSearchParams")&&n.d(t,{useSearchParams:function(){return l.useSearchParams}})},1989:function(e,t,n){"use strict";n.d(t,{SystemSidebar:function(){return h}});var l=n(2835),a=n(5589),s=n(7473),r=n(635),i=n(5777);function o(){var e,t;let{session:n,sync:a,utoken:s,loadError:o,refresh:x}=(0,i.nu)(),[m,h]=(0,r.useState)(!1),[b,f]=(0,r.useState)(!1),[y,g]=(0,r.useState)(!1),[p,v]=(0,r.useState)(!1),j=(null==n?void 0:n.loggedIn)||(null==a?void 0:a.loggedIn),N=(0,i.aG)(a),w=(0,i.cp)(a),C=null==w?null:null!==(t=null===(e=N.find(e=>e.tenantId===w))||void 0===e?void 0:e.name)&&void 0!==t?t:null,k=async e=>{v(!0);try{let t=new Headers({"Content-Type":"application/json"});s&&t.set("Authorization","UTOKEN ".concat(s)),await fetch("".concat((0,i.tQ)(),"/datasync/active-tenant"),{method:"POST",headers:t,body:JSON.stringify({id:e})}),await x()}finally{v(!1)}},S=async()=>{let e=new Headers({"Content-Type":"application/json"});s&&e.set("Authorization","UTOKEN ".concat(s)),await fetch("".concat((0,i.tQ)(),"/datasync/logout"),{method:"POST",headers:e}).catch(()=>null),window.location.reload()},D=null===a?{text:"同步状态加载中…",cls:"bg-gray-100 text-gray-400"}:a.enabled?a.authFailed?{text:"登录态失效",cls:"bg-red-100 text-red-600"}:a.remoteError?{text:"云端不可达",cls:"bg-amber-100 text-amber-600"}:{text:"同步正常",cls:"bg-green-100 text-green-600"}:{text:"同步未启用",cls:"bg-gray-100 text-gray-500"};return(0,l.jsxs)("div",{className:"relative border-t border-gray-200 px-3 py-3",children:[o?(0,l.jsxs)("div",{className:"text-xs text-red-500",children:[o,"(本地服务未启动?)"]}):j?(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,l.jsxs)("div",{className:"min-w-0",children:[(0,l.jsx)("div",{className:"truncate text-sm font-medium text-gray-900",children:(null==n?void 0:n.email)||"已登录"}),(0,l.jsx)("span",{className:"inline-block rounded-full px-2 py-0.5 text-xs ".concat(D.cls),children:D.text})]}),(0,l.jsx)("button",{onClick:S,title:"退出登录",className:"shrink-0 rounded-md px-2 py-1 text-xs text-gray-400 hover:bg-gray-100 hover:text-gray-600",children:"退出"})]}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("button",{onClick:()=>f(e=>!e),disabled:p,className:"flex w-full items-center justify-between rounded-md border border-gray-200 bg-white px-2 py-1.5 text-sm text-gray-700 hover:border-gray-300 disabled:opacity-50",children:[(0,l.jsx)("span",{className:"truncate",children:null==w?"个人产出(不归属公司)":null!=C?C:"未知公司"}),(0,l.jsx)("span",{className:"text-xs text-gray-400",children:p?"切换中…":"▾"})]}),(0,l.jsx)("div",{className:"mt-1 text-xs text-gray-400",children:"当前公司(新数据产出归属);加入公司后同公司数据互通"})]})]}):(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-sm text-gray-500",children:"未登录"}),(0,l.jsx)("div",{className:"text-xs text-gray-400",children:"登录后可跨设备同步数据"})]}),(0,l.jsx)("button",{onClick:()=>h(!0),className:"rounded-lg bg-blue-600 px-3 py-1.5 text-sm text-white hover:bg-blue-700",children:"登录"})]}),b&&j&&(0,l.jsx)(c,{sync:a,companies:N,activeTenantId:w,onPick:async e=>{f(!1),await k(e)},onCreateJoin:()=>{f(!1),g(!0)},onClose:()=>f(!1)}),y&&j&&(0,l.jsx)(u,{utoken:s,onDone:async e=>{g(!1),null!=e&&await k(e),await x()},onClose:()=>g(!1)}),m&&(0,l.jsx)(d,{onClose:()=>h(!1),onDone:()=>{h(!1),x()}})]})}function c(e){let{sync:t,companies:n,activeTenantId:a,onPick:s,onCreateJoin:i,onClose:o}=e,c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&o()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o]),(0,l.jsxs)("div",{ref:c,className:"absolute bottom-full left-2 right-2 z-40 mb-1 overflow-hidden rounded-xl border border-gray-200 bg-white shadow-xl",children:[(0,l.jsx)("div",{className:"border-b border-gray-100 px-3 py-2 text-xs font-medium text-gray-400",children:"切换公司"}),(0,l.jsxs)("div",{className:"max-h-64 overflow-auto py-1",children:[(0,l.jsxs)("button",{onClick:()=>s(null),className:"flex w-full items-center justify-between px-3 py-2 text-left text-sm hover:bg-gray-50",children:[(0,l.jsx)("span",{className:"text-gray-700",children:"个人产出(不归属公司)"}),null==a&&(0,l.jsx)("span",{className:"text-blue-600",children:"✓"})]}),n.map(e=>{var t;return(0,l.jsxs)("button",{onClick:()=>s(e.tenantId),className:"flex w-full items-center justify-between gap-2 px-3 py-2 text-left text-sm hover:bg-gray-50",children:[(0,l.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,l.jsx)("span",{className:"truncate text-gray-700",children:e.name}),"owner"===(t=e.role)?(0,l.jsx)("span",{className:"text-[10px] text-amber-600",children:"归属者"}):"admin"===t?(0,l.jsx)("span",{className:"text-[10px] text-blue-600",children:"管理员"}):null]}),a===e.tenantId&&(0,l.jsx)("span",{className:"shrink-0 text-blue-600",children:"✓"})]},e.tenantId)}),0===n.length&&(0,l.jsx)("div",{className:"px-3 py-2 text-xs text-gray-400",children:"尚未加入任何公司"})]}),(0,l.jsx)("button",{onClick:i,className:"w-full border-t border-gray-100 px-3 py-2 text-left text-sm text-blue-600 hover:bg-blue-50",children:"+ 创建或加入公司"})]})}function u(e){let{utoken:t,onDone:n,onClose:a}=e,[s,o]=(0,r.useState)(""),[c,u]=(0,r.useState)(!1),[d,x]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[b,f]=(0,r.useState)(null),[y,g]=(0,r.useState)(null),[p,v]=(0,r.useState)(null),j=(0,r.useCallback)(async(e,n)=>{let l=new Headers(null==n?void 0:n.headers);return l.set("Content-Type","application/json"),t&&l.set("Authorization","UTOKEN ".concat(t)),fetch("".concat((0,i.tQ)()).concat(e),{...n,headers:l})},[t]);(0,r.useEffect)(()=>{let e=s.trim();if(!e){x([]),u(!1);return}u(!0);let t=setTimeout(async()=>{var t;let n=await j("/company/search?q=".concat(encodeURIComponent(e)));if(!n.ok){x([]),u(!1);return}x(null!==(t=(await n.json()).items)&&void 0!==t?t:[]),u(!1)},300);return()=>clearTimeout(t)},[s,j]);let N=async()=>{let e=s.trim();if(e){h(!0),g(null);try{var t;let l=await j("/company",{method:"POST",body:JSON.stringify({name:e})}),a=await l.json().catch(()=>null);if(!l.ok){g((null==a?void 0:a.message)||"创建失败(HTTP ".concat(l.status,")"));return}n(null!==(t=null==a?void 0:a.id)&&void 0!==t?t:null)}finally{h(!1)}}},w=async e=>{f(e.id),g(null),v(null);try{let t=await j("/company/".concat(e.id,"/apply"),{method:"POST",body:JSON.stringify({})}),n=await t.json().catch(()=>null);if(!t.ok){g((null==n?void 0:n.message)||"申请失败(HTTP ".concat(t.status,")"));return}(null==n?void 0:n.already)?v("已申请过「".concat(e.name,"」,等待管理员审批")):v("已申请加入「".concat(e.name,"」,管理员通过后即可数据互通")),x(t=>t.map(t=>t.id===e.id?{...t,myApplication:"pending"}:t))}finally{f(null)}},C=e=>"owner"===e.myRole?{label:"归属者",disabled:!0}:"admin"===e.myRole||"member"===e.myRole?{label:"已加入",disabled:!0}:"pending"===e.myApplication?{label:"待审批",disabled:!0}:{label:"申请加入",disabled:!1};return(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:a,children:(0,l.jsxs)("div",{className:"w-96 rounded-xl bg-white p-5 shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)("h3",{className:"mb-3 text-base font-semibold text-gray-900",children:"创建或加入公司"}),(0,l.jsx)("input",{autoFocus:!0,value:s,onChange:e=>o(e.target.value),placeholder:"输入公司名称,检索是否已存在",className:"mb-2 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"}),(0,l.jsx)("div",{className:"mb-3 max-h-56 min-h-16 overflow-auto rounded-md border border-gray-100",children:""===s.trim()?(0,l.jsx)("div",{className:"px-3 py-4 text-center text-xs text-gray-400",children:"输入关键词可检索已存在的公司并申请加入"}):c?(0,l.jsx)("div",{className:"px-3 py-4 text-center text-xs text-gray-400",children:"检索中…"}):0===d.length?(0,l.jsxs)("div",{className:"px-3 py-4 text-center text-xs text-gray-400",children:["没有匹配「",s.trim(),"」的公司,可直接创建"]}):d.map(e=>{let t=C(e);return(0,l.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-gray-50 px-3 py-2 last:border-0",children:[(0,l.jsxs)("div",{className:"min-w-0",children:[(0,l.jsx)("div",{className:"truncate text-sm text-gray-800",children:e.name}),(0,l.jsxs)("div",{className:"text-xs text-gray-400",children:[e.memberCount," 名成员"]})]}),(0,l.jsx)("button",{onClick:()=>!t.disabled&&w(e),disabled:t.disabled||b===e.id,className:"shrink-0 rounded-md px-2.5 py-1 text-xs ".concat(t.disabled?"bg-gray-100 text-gray-400":"bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50"),children:b===e.id?"申请中…":t.label})]},e.id)})}),(0,l.jsx)("button",{onClick:N,disabled:m||""===s.trim(),className:"w-full rounded-lg bg-blue-600 py-2 text-sm text-white hover:bg-blue-700 disabled:opacity-50",children:m?"创建中…":"创建公司「".concat(s.trim()||"…","」")}),p&&(0,l.jsx)("div",{className:"mt-2 text-xs text-green-600",children:p}),y&&(0,l.jsx)("div",{className:"mt-2 text-xs text-red-500",children:y}),(0,l.jsx)("button",{onClick:a,className:"mt-2 w-full py-1 text-xs text-gray-400 hover:text-gray-600",children:"关闭"})]})})}function d(e){let{onClose:t,onDone:n}=e,[a,s]=(0,r.useState)(""),[o,c]=(0,r.useState)(""),[u,d]=(0,r.useState)("email"),[x,m]=(0,r.useState)(!1),[h,b]=(0,r.useState)(null),f=async()=>{if(!a.includes("@")){b("请输入有效邮箱");return}m(!0),b(null);let e=await fetch("".concat((0,i.tQ)(),"/auth/email/send-code"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:a})});if(m(!1),!e.ok){let t=await e.json().catch(()=>null);b((null==t?void 0:t.message)||"发送失败(HTTP ".concat(e.status,")"));return}d("code")},y=async()=>{if(!/^\d{4,8}$/.test(o)){b("请输入验证码(4-8 位数字)");return}m(!0),b(null);let e=await fetch("".concat((0,i.tQ)(),"/auth/email/verify"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:a,code:o})});if(m(!1),!e.ok){let t=await e.json().catch(()=>null);b((null==t?void 0:t.message)||"验证失败(HTTP ".concat(e.status,")"));return}n()};return(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:t,children:(0,l.jsxs)("div",{className:"w-80 rounded-xl bg-white p-5 shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)("h3",{className:"mb-3 text-base font-semibold text-gray-900",children:"邮箱验证码登录"}),"email"===u?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("input",{type:"email",autoFocus:!0,value:a,onChange:e=>s(e.target.value),placeholder:"you@example.com",className:"mb-3 w-full rounded-md border border-gray-300 px-3 py-2 text-sm"}),(0,l.jsx)("button",{onClick:f,disabled:x,className:"w-full rounded-lg bg-blue-600 py-2 text-sm text-white hover:bg-blue-700 disabled:opacity-50",children:x?"发送中…":"发送验证码"})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"mb-2 text-xs text-gray-500",children:["验证码已发送至 ",a,",请查收邮件后输入验证码"]}),(0,l.jsx)("input",{type:"text",inputMode:"numeric",autoFocus:!0,value:o,onChange:e=>c(e.target.value),placeholder:"6 位验证码",className:"mb-3 w-full rounded-md border border-gray-300 px-3 py-2 text-sm tracking-widest"}),(0,l.jsx)("button",{onClick:y,disabled:x,className:"w-full rounded-lg bg-blue-600 py-2 text-sm text-white hover:bg-blue-700 disabled:opacity-50",children:x?"验证中…":"登录"}),(0,l.jsx)("button",{onClick:()=>{d("email"),b(null)},className:"mt-2 w-full py-1 text-xs text-gray-400 hover:text-gray-600",children:"返回修改邮箱"})]}),h&&(0,l.jsx)("div",{className:"mt-2 text-xs text-red-500",children:h})]})})}let x=null,m=[{href:"/",label:"仪表盘",icon:"\uD83D\uDCCA"},{href:"/talents",label:"人才",icon:"\uD83D\uDC64"},{href:"/jobs",label:"职位",icon:"\uD83D\uDCBC"},{href:"/companies",label:"公司",icon:"\uD83C\uDFE2"},{href:"/parselog",label:"解析日志",icon:"\uD83D\uDCCB"},{href:"/recordings",label:"录制",icon:"\uD83D\uDD34"},{href:"/resource-usage",label:"资源占用",icon:"\uD83D\uDCBD"}];function h(){var e,t,n,c;let u=(0,s.usePathname)()||"/",{sync:d,utoken:h}=(0,i.nu)(),b=(0,i.cp)(d),f=(0,i.Cd)(d,b),y=null!==(n=null===(e=(null!==(t=null==d?void 0:d.pendingCounts)&&void 0!==t?t:[]).find(e=>e.tenantId===b))||void 0===e?void 0:e.count)&&void 0!==n?n:0,[g,p]=(0,r.useState)(null!==(c=null==x?void 0:x.isAdmin)&&void 0!==c&&c);return(0,r.useEffect)(()=>{if(!h){p(!1);return}if((null==x?void 0:x.utoken)===h){p(x.isAdmin);return}let e=!1;return(async()=>{try{let t=await fetch("/admin/entities?pageSize=1&hmUserId=1",{headers:{Authorization:"UTOKEN ".concat(h)}}),n=403!==t.status&&401!==t.status;x={utoken:h,isAdmin:n},e||p(n)}catch(t){e||p(!1)}})(),()=>{e=!0}},[h]),(0,l.jsxs)("aside",{className:"flex h-screen w-56 flex-col border-r border-gray-200 bg-white",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 border-b border-gray-200 px-4 py-3",children:[(0,l.jsx)("span",{className:"text-xl",children:"\uD83E\uDD1D"}),(0,l.jsx)("span",{className:"font-semibold text-gray-900",children:"HunterMate"})]}),(0,l.jsxs)("nav",{className:"flex-1 overflow-auto py-3",children:[m.map(e=>{let t=u===e.href||u.startsWith("".concat(e.href,"/"));return(0,l.jsxs)(a.default,{href:e.href,className:"mx-2 flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors ".concat(t?"bg-blue-50 text-blue-700":"text-gray-600 hover:bg-gray-50 hover:text-gray-900"),children:[(0,l.jsx)("span",{className:"text-base",children:e.icon}),e.label]},e.href)}),null!=b&&("owner"===f||"admin"===f)&&(0,l.jsxs)(a.default,{href:"/company/admin",className:"mx-2 flex items-center justify-between rounded-lg px-3 py-2 text-sm transition-colors ".concat(u.startsWith("/company/admin")?"bg-blue-50 text-blue-700":"text-gray-600 hover:bg-gray-50 hover:text-gray-900"),children:[(0,l.jsxs)("span",{className:"flex items-center gap-3",children:[(0,l.jsx)("span",{className:"text-base",children:"⚙️"}),"企业管理"]}),y>0&&(0,l.jsx)("span",{className:"rounded-full bg-red-500 px-1.5 text-[10px] leading-4 text-white",children:y>99?"99+":y})]}),g&&(0,l.jsxs)(a.default,{href:"/admin/data",className:"mx-2 flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors ".concat(u.startsWith("/admin")?"bg-blue-50 text-blue-700":"text-gray-600 hover:bg-gray-50 hover:text-gray-900"),children:[(0,l.jsx)("span",{className:"text-base",children:"\uD83E\uDDF9"}),"数据管理"]})]}),(0,l.jsx)(o,{})]})}},5777:function(e,t,n){"use strict";n.d(t,{Cd:function(){return N},aG:function(){return v},cp:function(){return j},nu:function(){return p},tQ:function(){return w}});var l=n(635),a=n(4431),s=n(529);let r=null,i=null,o=null,c=null,u=new Set;function d(){u.forEach(e=>e())}function x(e){let t=new Headers;return r&&t.set("Authorization","UTOKEN ".concat(r)),(0,a.rd)(e,{headers:t})}async function m(){let[e,t]=await Promise.all([(0,a.rd)("/auth/session"),x("/datasync/state")]),n=(null==e?void 0:e.loggedIn)&&e.token?e.token:null,l=null!=t?t:null;if(!l&&e&&n&&n!==r?(r=n,l=await x("/datasync/state")):r=n,!e&&!l){i=i?{...i,loadError:"本地服务无响应"}:{session:null,sync:null,utoken:r,loadError:"本地服务无响应",refresh:h},d();return}i={session:null!=e?e:{loggedIn:!1},sync:l,utoken:r,loadError:null,refresh:h},d()}function h(){return o||(o=m().finally(()=>{o=null}))}function b(e){return u.add(e),1===u.size&&(h(),c=setInterval(()=>void h(),6e4)),()=>{u.delete(e),0===u.size&&c&&(clearInterval(c),c=null)}}let f={session:null,sync:null,utoken:null,loadError:null,refresh:h};function y(){return null!=i?i:f}function g(){return y()}function p(){return(0,l.useSyncExternalStore)(b,y,g)}function v(e){var t;return(null!==(t=null==e?void 0:e.memberships)&&void 0!==t?t:[]).filter(e=>!e.isPersonal&&!e.leftAt)}function j(e){var t,n;let l=null!==(t=null==e?void 0:e.activeTenantId)&&void 0!==t?t:null;if(null==l)return null;let a=(null!==(n=null==e?void 0:e.memberships)&&void 0!==n?n:[]).find(e=>e.tenantId===l&&!e.leftAt);return!a||a.isPersonal?null:l}function N(e,t){var n,l;if(!t)return null;let a=(null!==(n=null==e?void 0:e.memberships)&&void 0!==n?n:[]).find(e=>e.tenantId===t&&!e.leftAt&&!e.isPersonal);return null!==(l=null==a?void 0:a.role)&&void 0!==l?l:null}function w(){return s.env.NEXT_PUBLIC_HUNTER_MATE_SERVER_URL||""}},4431:function(e,t,n){"use strict";n.d(t,{Ox:function(){return a},rd:function(){return r},uz:function(){return i}});var l=n(529);function a(){return l.env.HUNTER_MATE_SERVER_URL||""}let s=a();async function r(e,t){try{let n=await fetch("".concat(s).concat(e),{cache:"no-store",...t});if(!n.ok)return null;return await n.json()}catch(e){return null}}async function i(e,t){try{let n=await fetch("".concat(s).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=t?JSON.stringify(t):void 0});if(!n.ok)return null;return await n.json()}catch(e){return null}}},1115:function(){}},function(e){e.O(0,[24,589,400,935,744],function(){return e(e.s=3128)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f234c427-8937-4138-a3a8-e2b96aeed319",e._sentryDebugIdIdentifier="sentry-dbid-f234c427-8937-4138-a3a8-e2b96aeed319")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[745],{6452:function(e,t,s){Promise.resolve().then(s.bind(s,1266))},1266:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return n}});var r=s(2835),a=s(635);function l(e){let{apiUrl:t,pollIntervalMs:s}=e,{logs:l,loading:n,error:d,paused:i,filters:c,setFilters:o,pause:u,resume:x,refresh:m}=function(e){let{apiUrl:t,pollIntervalMs:s=2500}=e,[r,l]=(0,a.useState)([]),[n,d]=(0,a.useState)(!1),[i,c]=(0,a.useState)(null),[o,u]=(0,a.useState)(!1),[x,m]=(0,a.useState)({}),h=(0,a.useRef)(void 0),p=t.replace(/\/$/,""),f=(0,a.useCallback)(async(e=!0)=>{if(!o||!e){d(!0);try{let t=new URLSearchParams;x.sessionId&&t.set("sessionId",x.sessionId),x.context&&t.set("context",x.context),x.level&&t.set("level",x.level),e&&h.current&&t.set("lastId",String(h.current)),t.set("limit","200");let s=await fetch(`${p}/logs?${t.toString()}`);if(!s.ok)throw Error(`HTTP ${s.status}`);let r=(await s.json()).items||[];e&&r.length?l(e=>{let t=new Set(e.map(e=>e.id));return[...r.filter(e=>!t.has(e.id)),...e].slice(0,1e3)}):l(r),r.length&&(h.current=Math.max(...r.map(e=>e.id||0))),c(null)}catch(e){c(e.message||String(e))}finally{d(!1)}}},[p,x,o]);return(0,a.useEffect)(()=>{h.current=void 0,l([]),f(!1)},[x.sessionId,x.context,x.level]),(0,a.useEffect)(()=>{if(o)return;let e=setInterval(()=>f(!0),s);return()=>clearInterval(e)},[f,o,s]),{logs:r,loading:n,error:i,paused:o,filters:x,setFilters:m,pause:()=>u(!0),resume:()=>u(!1),refresh:()=>f(!1)}}({apiUrl:t,pollIntervalMs:s}),h=(0,a.useRef)(null);return(0,a.useEffect)(()=>{!i&&h.current&&h.current.scrollIntoView({behavior:"smooth"})},[l,i]),(0,r.jsx)("div",{className:"min-h-screen bg-gray-50 p-4 text-sm",children:(0,r.jsxs)("div",{className:"mx-auto max-w-7xl",children:[(0,r.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3 rounded-lg bg-white p-3 shadow",children:[(0,r.jsx)("input",{type:"text",placeholder:"sessionId",value:c.sessionId||"",onChange:e=>o({...c,sessionId:e.target.value}),className:"rounded border border-gray-300 px-2 py-1"}),(0,r.jsx)("select",{value:c.context||"",onChange:e=>o({...c,context:e.target.value}),className:"rounded border border-gray-300 px-2 py-1",children:["","cli","server","content","background","sidepanel"].map(e=>(0,r.jsx)("option",{value:e,children:e||"all contexts"},e))}),(0,r.jsx)("select",{value:c.level||"",onChange:e=>o({...c,level:e.target.value}),className:"rounded border border-gray-300 px-2 py-1",children:["","debug","info","warn","error"].map(e=>(0,r.jsx)("option",{value:e,children:e||"all levels"},e))}),(0,r.jsx)("button",{onClick:()=>i?x():u(),className:`rounded px-3 py-1 font-medium ${i?"bg-green-600 text-white":"bg-yellow-500 text-white"}`,children:i?"Resume":"Pause"}),(0,r.jsx)("button",{onClick:m,className:"rounded bg-blue-600 px-3 py-1 font-medium text-white",children:"Refresh"}),n&&(0,r.jsx)("span",{className:"text-gray-500",children:"Loading..."}),d&&(0,r.jsxs)("span",{className:"text-red-600",children:["Error: ",d]})]}),(0,r.jsx)("div",{className:"rounded-lg bg-white shadow",children:(0,r.jsxs)("div",{className:"max-h-[70vh] overflow-auto",children:[(0,r.jsxs)("table",{className:"w-full table-auto border-collapse",children:[(0,r.jsx)("thead",{className:"sticky top-0 bg-gray-100",children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{className:"px-3 py-2 text-left font-semibold text-gray-700",children:"Time"}),(0,r.jsx)("th",{className:"px-3 py-2 text-left font-semibold text-gray-700",children:"Context"}),(0,r.jsx)("th",{className:"px-3 py-2 text-left font-semibold text-gray-700",children:"Level"}),(0,r.jsx)("th",{className:"px-3 py-2 text-left font-semibold text-gray-700",children:"Message"}),(0,r.jsx)("th",{className:"px-3 py-2 text-left font-semibold text-gray-700",children:"Meta"})]})}),(0,r.jsx)("tbody",{children:l.map(e=>(0,r.jsxs)("tr",{className:"border-b border-gray-100 hover:bg-gray-50",children:[(0,r.jsx)("td",{className:"px-3 py-2 whitespace-nowrap text-gray-500",children:new Date(e.timestamp).toLocaleTimeString()}),(0,r.jsx)("td",{className:"px-3 py-2",children:e.context}),(0,r.jsx)("td",{className:"px-3 py-2",children:(0,r.jsx)("span",{className:function(e){let t="rounded px-2 py-0.5 text-xs font-medium ";switch(e){case"error":return t+"bg-red-100 text-red-700";case"warn":return t+"bg-yellow-100 text-yellow-700";case"info":return t+"bg-blue-100 text-blue-700";default:return t+"bg-gray-100 text-gray-600"}}(e.level),children:e.level})}),(0,r.jsx)("td",{className:"px-3 py-2 max-w-md truncate",title:e.message,children:e.message}),(0,r.jsx)("td",{className:"px-3 py-2",children:e.meta?(0,r.jsxs)("details",{children:[(0,r.jsx)("summary",{className:"cursor-pointer text-blue-600",children:"meta"}),(0,r.jsx)("pre",{className:"mt-1 max-w-xs overflow-auto rounded bg-gray-100 p-1 text-xs",children:JSON.stringify(e.meta,null,2)})]}):"-"})]},e.id))})]}),(0,r.jsx)("div",{ref:h})]})})]})})}function n(){return(0,r.jsx)(l,{apiUrl:"",pollIntervalMs:1e4})}}},function(e){e.O(0,[400,935,744],function(){return e(e.s=6452)}),_N_E=e.O()}]);
|
package/dist/web/dist/_next/static/chunks/app/matching/jobs/[id]/talents/page-936f6190c968d20b.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=(new n.Error).stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="96c431b0-e295-4028-902d-09a801fdcb0c",n._sentryDebugIdIdentifier="sentry-dbid-96c431b0-e295-4028-902d-09a801fdcb0c")}catch(n){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[234],{866:function(n,e,t){Promise.resolve().then(t.bind(t,4762))},7473:function(n,e,t){"use strict";var r=t(8321);t.o(r,"useParams")&&t.d(e,{useParams:function(){return r.useParams}}),t.o(r,"usePathname")&&t.d(e,{usePathname:function(){return r.usePathname}}),t.o(r,"useRouter")&&t.d(e,{useRouter:function(){return r.useRouter}}),t.o(r,"useSearchParams")&&t.d(e,{useSearchParams:function(){return r.useSearchParams}})},4762:function(n,e,t){"use strict";t.d(e,{default:function(){return a}});var r=t(2835),o=t(635),i=t(7473),s=t(4431);function a(){let n=(0,i.useParams)().id,[e,t]=(0,o.useState)([]),[a,c]=(0,o.useState)(!1),[u,d]=(0,o.useState)(null);async function l(){c(!0),d(null);try{let e=await fetch("".concat((0,s.Ox)(),"/matching/jobs/").concat(n,"/talents"));if(!e.ok)throw Error("HTTP ".concat(e.status));t(await e.json())}catch(n){d(n.message)}finally{c(!1)}}return(0,r.jsxs)("div",{style:{padding:24,maxWidth:900,margin:"0 auto"},children:[(0,r.jsxs)("h1",{children:["职位 ",n," 的推荐人才"]}),(0,r.jsx)("button",{onClick:l,disabled:a,children:a?"计算中...":"刷新匹配"}),u&&(0,r.jsx)("div",{style:{color:"red",marginTop:12},children:u}),(0,r.jsx)("div",{style:{marginTop:16},children:e.map(n=>{var e,t,o,i,s,a,c;return(0,r.jsxs)("div",{style:{border:"1px solid #ddd",borderRadius:8,padding:16,marginBottom:12},children:[(0,r.jsxs)("div",{style:{fontWeight:"bold"},children:["人才 ID: ",n.portraitId.slice(0,8)," — 综合分 ",null===(e=n.scores)||void 0===e?void 0:e.overall]}),(0,r.jsxs)("div",{style:{fontSize:13,color:"#555",marginTop:4},children:["技能 ",null===(t=n.scores)||void 0===t?void 0:t.skill," | 经验 ",null===(o=n.scores)||void 0===o?void 0:o.experience," | 行业 ",null===(i=n.scores)||void 0===i?void 0:i.industry," | 地点 ",null===(s=n.scores)||void 0===s?void 0:s.location," | 薪酬 ",null===(a=n.scores)||void 0===a?void 0:a.salary]}),(null===(c=n.recommendation)||void 0===c?void 0:c.aiReason)&&(0,r.jsx)("pre",{style:{marginTop:8,background:"#f5f5f5",padding:12,borderRadius:4,whiteSpace:"pre-wrap"},children:n.recommendation.aiReason})]},n.id)})})]})}},4431:function(n,e,t){"use strict";t.d(e,{Ox:function(){return o},rd:function(){return s},uz:function(){return a}});var r=t(529);function o(){return r.env.HUNTER_MATE_SERVER_URL||""}let i=o();async function s(n,e){try{let t=await fetch("".concat(i).concat(n),{cache:"no-store",...e});if(!t.ok)return null;return await t.json()}catch(n){return null}}async function a(n,e){try{let t=await fetch("".concat(i).concat(n),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=e?JSON.stringify(e):void 0});if(!t.ok)return null;return await t.json()}catch(n){return null}}}},function(n){n.O(0,[400,935,744],function(){return n(n.s=866)}),_N_E=n.O()}]);
|
package/dist/web/dist/_next/static/chunks/app/matching/portraits/[id]/jobs/page-ea44a2236bd53cae.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="065b04d7-d859-475b-9170-c4be1bc7c428",e._sentryDebugIdIdentifier="sentry-dbid-065b04d7-d859-475b-9170-c4be1bc7c428")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[977],{8166:function(e,n,t){Promise.resolve().then(t.bind(t,1261))},7473:function(e,n,t){"use strict";var r=t(8321);t.o(r,"useParams")&&t.d(n,{useParams:function(){return r.useParams}}),t.o(r,"usePathname")&&t.d(n,{usePathname:function(){return r.usePathname}}),t.o(r,"useRouter")&&t.d(n,{useRouter:function(){return r.useRouter}}),t.o(r,"useSearchParams")&&t.d(n,{useSearchParams:function(){return r.useSearchParams}})},1261:function(e,n,t){"use strict";t.d(n,{default:function(){return a}});var r=t(2835),o=t(635),i=t(7473),s=t(4431);function a(){let e=(0,i.useParams)().id,[n,t]=(0,o.useState)([]),[a,c]=(0,o.useState)(!1),[u,d]=(0,o.useState)(null);async function l(){c(!0),d(null);try{let n=await fetch("".concat((0,s.Ox)(),"/matching/portraits/").concat(e,"/jobs"));if(!n.ok)throw Error("HTTP ".concat(n.status));t(await n.json())}catch(e){d(e.message)}finally{c(!1)}}return(0,r.jsxs)("div",{style:{padding:24,maxWidth:900,margin:"0 auto"},children:[(0,r.jsxs)("h1",{children:["人才 ",e.slice(0,8)," 的推荐职位"]}),(0,r.jsx)("button",{onClick:l,disabled:a,children:a?"计算中...":"刷新匹配"}),u&&(0,r.jsx)("div",{style:{color:"red",marginTop:12},children:u}),(0,r.jsx)("div",{style:{marginTop:16},children:n.map(e=>{var n,t,o,i,s,a,c;return(0,r.jsxs)("div",{style:{border:"1px solid #ddd",borderRadius:8,padding:16,marginBottom:12},children:[(0,r.jsxs)("div",{style:{fontWeight:"bold"},children:["职位 ID: ",e.jobCaseId," — 综合分 ",null===(n=e.scores)||void 0===n?void 0:n.overall]}),(0,r.jsxs)("div",{style:{fontSize:13,color:"#555",marginTop:4},children:["技能 ",null===(t=e.scores)||void 0===t?void 0:t.skill," | 经验 ",null===(o=e.scores)||void 0===o?void 0:o.experience," | 行业 ",null===(i=e.scores)||void 0===i?void 0:i.industry," | 地点 ",null===(s=e.scores)||void 0===s?void 0:s.location," | 薪酬 ",null===(a=e.scores)||void 0===a?void 0:a.salary]}),(null===(c=e.recommendation)||void 0===c?void 0:c.aiReason)&&(0,r.jsx)("pre",{style:{marginTop:8,background:"#f5f5f5",padding:12,borderRadius:4,whiteSpace:"pre-wrap"},children:e.recommendation.aiReason})]},e.id)})})]})}},4431:function(e,n,t){"use strict";t.d(n,{Ox:function(){return o},rd:function(){return s},uz:function(){return a}});var r=t(529);function o(){return r.env.HUNTER_MATE_SERVER_URL||""}let i=o();async function s(e,n){try{let t=await fetch("".concat(i).concat(e),{cache:"no-store",...n});if(!t.ok)return null;return await t.json()}catch(e){return null}}async function a(e,n){try{let t=await fetch("".concat(i).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=n?JSON.stringify(n):void 0});if(!t.ok)return null;return await t.json()}catch(e){return null}}}},function(e){e.O(0,[400,935,744],function(){return e(e.s=8166)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bf3fd51e-60d2-497f-9c42-e874956c67ed",e._sentryDebugIdIdentifier="sentry-dbid-bf3fd51e-60d2-497f-9c42-e874956c67ed")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{4947:function(e,t,n){Promise.resolve().then(n.bind(n,9145))},9145:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return s}});var l=n(2835),r=n(635),o=n(5589),a=n(4431),i=n(8448);function s(){var e,t,n,s,c;let[d,u]=(0,r.useState)({}),[f,h]=(0,r.useState)(0),[m,y]=(0,r.useState)(null),[b,g]=(0,r.useState)(""),v=(0,r.useCallback)(async()=>{var e,t,n,l,r,o,s;let[c,d,f,m,b]=await Promise.all([(0,a.rd)("/entities?type=talent&limit=1"),(0,a.rd)("/entities?type=job&limit=1"),(0,a.rd)("/entities?type=company&limit=1"),(0,a.rd)("/parse-log?limit=1"),(0,a.rd)("/api/recordings?limit=1")]);y(!!(c||d||f||m||b)),u({talent:null!==(t=null==c?void 0:c.total)&&void 0!==t?t:0,job:null!==(n=null==d?void 0:d.total)&&void 0!==n?n:0,company:null!==(l=null==f?void 0:f.total)&&void 0!==l?l:0,parseLog:null!==(r=null==m?void 0:m.total)&&void 0!==r?r:0,recording:null!==(o=null==b?void 0:null===(e=b.sessions)||void 0===e?void 0:e.length)&&void 0!==o?o:0}),h(null!==(s=null==m?void 0:m.abnormal)&&void 0!==s?s:0),g((0,i.d3)(new Date().toISOString()))},[]);(0,r.useEffect)(()=>{v()},[v]);let p=[{key:"talent",label:"人才",href:"/talents",count:null!==(e=d.talent)&&void 0!==e?e:0},{key:"job",label:"职位",href:"/jobs",count:null!==(t=d.job)&&void 0!==t?t:0},{key:"company",label:"公司",href:"/companies",count:null!==(n=d.company)&&void 0!==n?n:0},{key:"parseLog",label:"解析日志",href:"/parselog",count:null!==(s=d.parseLog)&&void 0!==s?s:0,abnormal:f},{key:"recording",label:"录制会话",href:"/recordings",count:null!==(c=d.recording)&&void 0!==c?c:0}];return(0,l.jsxs)("div",{className:"h-full overflow-auto p-6",children:[(0,l.jsxs)("header",{className:"mb-6",children:[(0,l.jsx)("h1",{className:"text-2xl font-bold",children:"HunterMate 仪表盘"}),(0,l.jsxs)("p",{className:"mt-1 text-sm text-gray-500",children:["本地服务"," ",(0,l.jsx)("span",{className:m?"text-green-600":"text-red-600",children:null===m?"检测中…":m?"在线":"离线"}),b?" \xb7 刷新于 ".concat(b):""]})]}),(0,l.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:p.map(e=>(0,l.jsxs)(o.default,{href:e.href,className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm transition-shadow hover:shadow-md",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("span",{className:"text-gray-500",children:e.label}),(0,l.jsx)("span",{className:"text-2xl font-bold text-gray-900",children:e.count})]}),e.abnormal?(0,l.jsxs)("div",{className:"mt-2 text-sm text-red-600",children:["异常 ",e.abnormal]}):null]},e.key))})]})}},8448:function(e,t,n){"use strict";function l(e){return e?("string"==typeof e?new Date(e):e).toLocaleString("zh-CN",{hour12:!1}):""}n.d(t,{d3:function(){return l}})},4431:function(e,t,n){"use strict";n.d(t,{Ox:function(){return r},rd:function(){return a},uz:function(){return i}});var l=n(529);function r(){return l.env.HUNTER_MATE_SERVER_URL||""}let o=r();async function a(e,t){try{let n=await fetch("".concat(o).concat(e),{cache:"no-store",...t});if(!n.ok)return null;return await n.json()}catch(e){return null}}async function i(e,t){try{let n=await fetch("".concat(o).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=t?JSON.stringify(t):void 0});if(!n.ok)return null;return await n.json()}catch(e){return null}}}},function(e){e.O(0,[589,400,935,744],function(){return e(e.s=4947)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de451364-cb9a-4186-8160-d40d862bbbc0",e._sentryDebugIdIdentifier="sentry-dbid-de451364-cb9a-4186-8160-d40d862bbbc0")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[788],{793:function(e,t,s){Promise.resolve().then(s.bind(s,4895))},7473:function(e,t,s){"use strict";var r=s(8321);s.o(r,"useParams")&&s.d(t,{useParams:function(){return r.useParams}}),s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},4895:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return y}});var r=s(2835),n=s(635),a=s(7473),l=s(4431),o=s(7202),c=s(4518),i=s(3718),u=s(9036),d=s(5589),x=s(8448);let m={ok:"正常",empty:"关键字段为空","no-snapshot":"缺快照","no-rule":"无规则"},f={ok:"bg-green-50 text-green-700",empty:"bg-yellow-50 text-yellow-700","no-snapshot":"bg-red-50 text-red-700","no-rule":"bg-gray-100 text-gray-600"};function h(e){var t,s;let{item:n}=e;return(0,r.jsxs)("div",{className:"mx-auto max-w-4xl",children:[(0,r.jsx)(d.default,{href:"/parselog",className:"text-sm text-blue-600 hover:underline",children:"← 返回解析日志列表"}),(0,r.jsxs)("header",{className:"mt-4 mb-6",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,r.jsxs)("h1",{className:"text-2xl font-bold text-gray-900",children:["解析记录 #",n.id]}),(0,r.jsx)("span",{className:"rounded px-2 py-0.5 text-xs ".concat(f[n.status]),children:null!==(s=m[n.status])&&void 0!==s?s:n.status}),n.hasSnapshot?(0,r.jsx)("span",{className:"rounded bg-green-50 px-2 py-0.5 text-xs text-green-700",children:"有录制快照"}):null]}),(0,r.jsxs)("p",{className:"mt-1 text-sm text-gray-500",children:[n.domain," \xb7 ",n.pageClass," \xb7 ",(0,x.d3)(n.createdAt)]})]}),(0,r.jsxs)("section",{className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsx)("h2",{className:"mb-3 text-lg font-semibold",children:"来源"}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("span",{className:"text-gray-500",children:"sessionId: "}),(0,r.jsx)("span",{className:"font-mono",children:n.sessionId})]}),(0,r.jsx)("a",{href:n.sourceUrl,target:"_blank",rel:"noreferrer",className:"break-all text-sm text-blue-600 hover:underline",children:n.sourceUrl}),n.entityId?(0,r.jsxs)("div",{className:"pt-2",children:[(0,r.jsx)("span",{className:"text-sm text-gray-500",children:"关联实体: "}),(0,r.jsxs)(d.default,{href:"/".concat(n.pageClass,"s?id=").concat(n.entityId),className:"text-sm text-blue-600 hover:underline",children:["#",n.entityId," (",n.pageClass,")"]})]}):null]})]}),n.extractedFields?(0,r.jsxs)("section",{className:"mt-4 rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsx)("h2",{className:"mb-3 text-lg font-semibold",children:"提取字段"}),(0,r.jsx)("pre",{className:"max-h-96 overflow-auto rounded bg-gray-50 p-3 text-xs text-gray-700",children:JSON.stringify(n.extractedFields,null,2)})]}):null,(null===(t=n.missingFields)||void 0===t?void 0:t.length)?(0,r.jsxs)("section",{className:"mt-4 rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsx)("h2",{className:"mb-3 text-lg font-semibold",children:"缺失字段(疑似站点改版)"}),(0,r.jsx)("ul",{className:"list-inside list-disc text-sm text-gray-700",children:n.missingFields.map(e=>(0,r.jsx)("li",{children:e},e))})]}):null]})}let g=[{value:"ok",label:"正常"},{value:"empty",label:"关键字段为空"},{value:"no-snapshot",label:"缺快照"},{value:"no-rule",label:"无规则"}],b={ok:"bg-green-50 text-green-700",empty:"bg-yellow-50 text-yellow-700","no-snapshot":"bg-red-50 text-red-700","no-rule":"bg-gray-100 text-gray-600"};function p(e){let t=new URLSearchParams;Object.entries(e).forEach(e=>{let[s,r]=e;r&&t.set(s,r)});let s=t.toString();return s?"?".concat(s):""}function v(){let e=(0,a.useRouter)(),t=(0,a.usePathname)(),s=(0,a.useSearchParams)(),d=s.get("id")||"",m=(0,n.useMemo)(()=>({q:s.get("q")||"",status:s.get("status")||"",from:s.get("from")||"",to:s.get("to")||""}),[s]),[f,v]=(0,n.useState)(null),[y,j]=(0,n.useState)(null),[N,w]=(0,n.useState)(!0),[S,k]=(0,n.useState)(!1),[C,E]=(0,n.useState)(0),I=(0,n.useCallback)(s=>{var r,n;let a=null!==(r=s.filters)&&void 0!==r?r:m,l=p({id:null!==(n=s.id)&&void 0!==n?n:d,q:a.q,status:a.status,from:a.from,to:a.to});e.replace("".concat(t).concat(l))},[m,d,t,e]),P=(0,n.useCallback)(()=>{E(e=>e+1)},[]),q=(0,n.useCallback)(()=>{let e=null==f?void 0:f.items[0];return null==e?void 0:e.createdAt},[f]);(0,n.useEffect)(()=>{w(!0);let e=p({q:m.q,status:m.status,from:m.from,to:m.to});(0,l.rd)("/parse-log?limit=200".concat(e.replace("?","&"))).then(e=>{v(e),w(!1)})},[m.q,m.status,m.from,m.to,C]),(0,n.useEffect)(()=>{if(!d){j(null);return}k(!0),(0,l.rd)("/parse-log/".concat(d)).then(e=>{j(e),k(!1)})},[d]);let R=(0,n.useMemo)(()=>{var e;return(null!==(e=null==f?void 0:f.items)&&void 0!==e?e:[]).map(e=>({id:String(e.id),content:(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"rounded px-1.5 py-0.5 text-xs ".concat(b[e.status]),children:e.status}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:e.pageClass})]}),(0,r.jsx)("div",{className:"mt-0.5 text-sm font-medium text-gray-900",children:e.domain}),(0,r.jsx)("div",{className:"text-xs text-gray-400",children:(0,x.d3)(e.createdAt)})]})}))},[f]),_=d?S?(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-gray-400",children:"加载中…"}):y?(0,r.jsx)(h,{item:y}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-red-500",children:"未找到该解析日志"}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-gray-400",children:"请在左侧选择一条解析日志查看详情"});return(0,r.jsx)(c.m,{filterBar:(0,r.jsxs)("div",{className:"border-b border-gray-200 bg-white",children:[(0,r.jsx)(o.f,{value:m,showStatus:!0,statusOptions:g,onChange:e=>I({filters:e})}),f?(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 pb-2 text-xs text-gray-500",children:[(0,r.jsxs)("span",{children:["共 ",f.total," 条"]}),f.abnormal>0?(0,r.jsxs)("span",{className:"rounded bg-red-50 px-1.5 py-0.5 text-red-700",children:["异常 ",f.abnormal]}):null]}):null,(0,r.jsx)(u.Y,{pollUrl:"/parse-log/count",getLatestTimestamp:q,onRefresh:P,label:"解析日志"})]}),listPanel:(0,r.jsx)(i.L,{items:R,selectedId:d,onSelect:e=>I({id:e}),loading:N,emptyText:"暂无解析日志"}),detailPanel:_})}function y(){return(0,r.jsx)(n.Suspense,{fallback:(0,r.jsx)("div",{className:"p-6 text-gray-500",children:"加载中…"}),children:(0,r.jsx)(v,{})})}},7202:function(e,t,s){"use strict";s.d(t,{f:function(){return a}});var r=s(2835),n=s(635);function a(e){let{value:t,showStatus:s,statusOptions:a,onChange:l}=e,[o,c]=(0,n.useState)(t);return(0,n.useEffect)(()=>{c(t)},[t.q,t.status,t.from,t.to]),(0,n.useEffect)(()=>{let e=setTimeout(()=>{(o.q!==t.q||o.status!==t.status||o.from!==t.from||o.to!==t.to)&&l(o)},300);return()=>clearTimeout(e)},[o.q,o.status,o.from,o.to]),(0,r.jsxs)("div",{className:"space-y-2 border-b border-gray-200 bg-white p-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("div",{className:"relative flex-1",children:[(0,r.jsx)("input",{type:"text",value:o.q,onChange:e=>c(t=>({...t,q:e.target.value})),placeholder:"搜索关键词...",className:"w-full rounded border border-gray-300 px-2 py-1.5 pr-8 text-sm outline-none focus:border-blue-500"}),(0,r.jsx)("button",{type:"button",onClick:()=>l({q:"",status:"",from:"",to:""}),title:"重置筛选",className:"absolute right-1 top-1/2 -translate-y-1/2 rounded p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 disabled:opacity-30",disabled:!o.q&&!o.status&&!o.from&&!o.to,children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4",viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})]}),s?(0,r.jsxs)("select",{value:o.status,onChange:e=>c(t=>({...t,status:e.target.value})),className:"rounded border border-gray-300 px-2 py-1.5 text-sm outline-none focus:border-blue-500",children:[(0,r.jsx)("option",{value:"",children:"全部状态"}),(a||[]).map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))]}):null]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("input",{type:"date",value:o.from,onChange:e=>c(t=>({...t,from:e.target.value})),className:"rounded border border-gray-300 px-2 py-1.5 text-sm outline-none focus:border-blue-500"}),(0,r.jsx)("span",{className:"text-sm text-gray-400",children:"-"}),(0,r.jsx)("input",{type:"date",value:o.to,onChange:e=>c(t=>({...t,to:e.target.value})),className:"rounded border border-gray-300 px-2 py-1.5 text-sm outline-none focus:border-blue-500"})]})]})}},4518:function(e,t,s){"use strict";s.d(t,{m:function(){return n}});var r=s(2835);function n(e){let{filterBar:t,listPanel:s,detailPanel:n}=e;return(0,r.jsxs)("div",{className:"flex h-full",children:[(0,r.jsxs)("div",{className:"flex w-80 flex-col border-r border-gray-200 bg-white",children:[t,s]}),(0,r.jsx)("div",{className:"flex-1 overflow-auto bg-gray-50 p-6",children:n})]})}},3718:function(e,t,s){"use strict";s.d(t,{L:function(){return a}});var r=s(2835),n=s(635);function a(e){let{items:t,selectedId:s,onSelect:a,loading:l,emptyText:o="暂无数据",onLoadMore:c,loadingMore:i,exhausted:u}=e,d=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!c)return;let e=d.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&c()},{root:e.closest(".overflow-auto"),rootMargin:"200px"});return t.observe(e),()=>t.disconnect()},[c]),(0,r.jsxs)("div",{className:"flex-1 overflow-auto",children:[l?(0,r.jsx)("div",{className:"p-4 text-center text-sm text-gray-400",children:"加载中…"}):0===t.length?(0,r.jsx)("div",{className:"p-4 text-center text-sm text-gray-400",children:o}):(0,r.jsx)("ul",{className:"divide-y divide-gray-100",children:t.map(e=>(0,r.jsx)("li",{role:"button",tabIndex:0,onClick:()=>a(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&a(e.id)},className:"cursor-pointer px-3 py-2 text-sm transition-colors ".concat(s===e.id?"bg-blue-50":"hover:bg-gray-50"),children:e.content},e.id))}),c&&!l&&t.length>0&&(0,r.jsx)("div",{ref:d,className:"p-3 text-center text-xs text-gray-400",children:i?"加载更多…":u?"没有更多了":""})]})}},9036:function(e,t,s){"use strict";s.d(t,{Y:function(){return l}});var r=s(2835),n=s(635),a=s(4431);function l(e){let{pollUrl:t,intervalMs:s=5e3,onRefresh:l,getLatestTimestamp:o,label:c="新数据"}=e,[i,u]=(0,n.useState)(0),[d,x]=(0,n.useState)(!1),m=(0,n.useRef)(void 0);return((0,n.useEffect)(()=>{let e=()=>x(document.hidden);return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[]),(0,n.useEffect)(()=>{m.current=o(),u(0)},[o]),(0,n.useEffect)(()=>{if(d)return;let e=async()=>{var e;let s=m.current;if(!s)return;let r=t.includes("?")?"&":"?",n=await (0,a.rd)("".concat(t).concat(r,"since=").concat(encodeURIComponent(s))).catch(()=>null),l=null!==(e=null==n?void 0:n.count)&&void 0!==e?e:0;u(e=>Math.max(e,l))};e();let r=setInterval(e,s);return()=>clearInterval(r)},[t,s,d]),i<=0)?null:(0,r.jsxs)("button",{type:"button",onClick:()=>{u(0),l()},className:"w-full bg-blue-50 px-3 py-2 text-center text-sm text-blue-700 hover:bg-blue-100 active:bg-blue-200",children:["有 ",i," 条",c,",点击刷新"]})}},8448:function(e,t,s){"use strict";function r(e){return e?("string"==typeof e?new Date(e):e).toLocaleString("zh-CN",{hour12:!1}):""}s.d(t,{d3:function(){return r}})},4431:function(e,t,s){"use strict";s.d(t,{Ox:function(){return n},rd:function(){return l},uz:function(){return o}});var r=s(529);function n(){return r.env.HUNTER_MATE_SERVER_URL||""}let a=n();async function l(e,t){try{let s=await fetch("".concat(a).concat(e),{cache:"no-store",...t});if(!s.ok)return null;return await s.json()}catch(e){return null}}async function o(e,t){try{let s=await fetch("".concat(a).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=t?JSON.stringify(t):void 0});if(!s.ok)return null;return await s.json()}catch(e){return null}}}},function(e){e.O(0,[589,400,935,744],function(){return e(e.s=793)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bd13484c-a366-4a47-a4a7-b7c0afc3969d",e._sentryDebugIdIdentifier="sentry-dbid-bd13484c-a366-4a47-a4a7-b7c0afc3969d")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[370],{1428:function(e,t,s){Promise.resolve().then(s.bind(s,6297))},7473:function(e,t,s){"use strict";var r=s(8321);s.o(r,"useParams")&&s.d(t,{useParams:function(){return r.useParams}}),s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},6297:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return R}});var r=s(2835),n=s(635),l=s(7473),a=s(4431),i=s(7202),o=s(4518),d=s(8448);function c(e){var t,s,n,l,a;let{sessionId:i,eventCount:o,sourceUrl:c,startedAt:u,lastEventAt:x,summary:m}=e,v=[{label:"rrweb",value:null!==(t=null==m?void 0:m.rrwebCount)&&void 0!==t?t:0},{label:"network",value:null!==(s=null==m?void 0:m.networkCount)&&void 0!==s?s:0},{label:"console",value:null!==(n=null==m?void 0:m.consoleCount)&&void 0!==n?n:0},{label:"简历",value:null!==(l=null==m?void 0:m.resumeCount)&&void 0!==l?l:0},{label:"操作",value:null!==(a=null==m?void 0:m.actionCount)&&void 0!==a?a:0}].filter(e=>e.value>0);return(0,r.jsxs)("section",{className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm text-gray-500",children:"事件数"}),(0,r.jsx)("div",{className:"text-lg font-semibold",children:o})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm text-gray-500",children:"来源页面"}),c?(0,r.jsx)("a",{href:c,target:"_blank",rel:"noreferrer",className:"break-all text-sm text-blue-600 hover:underline",children:c}):(0,r.jsx)("div",{className:"text-sm text-gray-400",children:"-"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm text-gray-500",children:"开始时间"}),(0,r.jsx)("div",{className:"text-sm",children:(0,d.d3)(u)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm text-gray-500",children:"最近事件"}),(0,r.jsx)("div",{className:"text-sm",children:(0,d.d3)(x)})]})]}),v.length>0?(0,r.jsx)("div",{className:"mt-3 flex flex-wrap gap-2 border-t border-gray-100 pt-3",children:v.map(e=>(0,r.jsxs)("span",{className:"rounded bg-gray-100 px-2 py-1 text-xs text-gray-700",children:[e.label,": ",e.value]},e.label))}):null,(0,r.jsx)("div",{className:"mt-3 border-t border-gray-100 pt-3",children:(0,r.jsx)("div",{className:"font-mono text-xs text-gray-400",children:i})})]})}let u={rrweb:"rrweb",network:"network",console:"console",resume:"简历",action:"操作"},x={rrweb:"bg-purple-100 text-purple-700",network:"bg-blue-100 text-blue-700",console:"bg-yellow-100 text-yellow-700",resume:"bg-green-100 text-green-700",action:"bg-gray-100 text-gray-700"};function m(e){var t,s;let{type:n}=e,l=null!==(t=u[n])&&void 0!==t?t:n,a=null!==(s=x[n])&&void 0!==s?s:"bg-gray-100 text-gray-600";return(0,r.jsx)("span",{className:"inline-flex items-center rounded px-2 py-0.5 text-xs font-medium ".concat(a),children:l})}let v=["rrweb","network","console","resume","action"];function h(e){let{events:t,selectedEventId:s,onSelectEvent:l}=e,[a,i]=(0,n.useState)("all"),o=(0,n.useMemo)(()=>{let e=[...t].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime());return"all"===a?e:e.filter(e=>e.eventType===a)},[t,a]);return(0,r.jsxs)("section",{className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:()=>i("all"),className:"rounded px-2 py-1 text-xs ".concat("all"===a?"bg-gray-800 text-white":"border border-gray-300 text-gray-600 hover:bg-gray-50"),children:"全部"}),v.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>i(e),className:"rounded px-2 py-1 text-xs ".concat(a===e?"bg-gray-800 text-white":"border border-gray-300 text-gray-600 hover:bg-gray-50"),children:(0,r.jsx)(m,{type:e})},e))]}),(0,r.jsx)("div",{className:"max-h-96 overflow-auto",children:0===o.length?(0,r.jsx)("div",{className:"py-8 text-center text-sm text-gray-400",children:"暂无事件"}):(0,r.jsx)("ul",{className:"space-y-1",children:o.map((e,t)=>{var n;return(0,r.jsxs)("li",{role:l?"button":void 0,tabIndex:l?0:void 0,onClick:()=>null==l?void 0:l(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(null==l||l(e))},className:"flex items-start gap-3 rounded p-2 text-sm ".concat(l?"cursor-pointer hover:bg-gray-50":""," ").concat(s===e.id?"bg-blue-50":""),children:[(0,r.jsx)(m,{type:e.eventType}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate text-gray-900",children:function(e){var t,s,r,n,l,a,i;let{eventType:o,payload:d}=e;switch(o){case"rrweb":return"rrweb ".concat(null!==(t=null==d?void 0:d.type)&&void 0!==t?t:"event");case"network":return"".concat(null!==(s=null==d?void 0:d.method)&&void 0!==s?s:"GET"," ").concat(null!==(r=null==d?void 0:d.url)&&void 0!==r?r:"?");case"console":return"[".concat(null!==(l=null==d?void 0:d.level)&&void 0!==l?l:"log","] ").concat(String(null!==(a=null==d?void 0:null===(n=d.args)||void 0===n?void 0:n[0])&&void 0!==a?a:""));case"resume":return"简历提取事件";case"action":return null!==(i=null==d?void 0:d.action)&&void 0!==i?i:"操作事件";default:return o}}(e)}),(0,r.jsx)("div",{className:"text-xs text-gray-400",children:(0,d.d3)(e.createdAt)})]})]},null!==(n=e.id)&&void 0!==n?n:t)})})})]})}function g(e){let{data:t}=e;return(0,r.jsx)("pre",{className:"max-h-64 overflow-auto rounded bg-gray-50 p-3 text-xs text-gray-700",children:JSON.stringify(t,null,2)})}function f(e){var t;let{event:s}=e,n=s.payload,l=(null==n?void 0:n.type)===2?"全量快照":(null==n?void 0:n.type)===3?"增量":"类型 ".concat(null!==(t=null==n?void 0:n.type)&&void 0!==t?t:"?");return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"text-sm text-gray-500",children:["rrweb ",l," \xb7 ",s.sourceUrl?(0,r.jsx)("a",{href:s.sourceUrl,target:"_blank",rel:"noreferrer",className:"text-blue-600 hover:underline",children:s.sourceUrl}):"来源未知"]}),(0,r.jsx)("div",{className:"rounded border border-purple-100 bg-purple-50 p-3 text-sm text-purple-700",children:"rrweb-player 完整回放将在后续迭代接入,当前可查看下方原始 JSON。"}),(0,r.jsx)(g,{data:s.payload})]})}function b(e){var t,s,n,l;let{event:a}=e,i=a.payload;return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Method"}),(0,r.jsx)("div",{className:"text-sm font-medium",children:null!==(t=null==i?void 0:i.method)&&void 0!==t?t:"?"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Status"}),(0,r.jsx)("div",{className:"text-sm font-medium",children:null!==(s=null==i?void 0:i.status)&&void 0!==s?s:"?"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"MIME"}),(0,r.jsx)("div",{className:"text-sm font-medium",children:null!==(n=null==i?void 0:i.mimeType)&&void 0!==n?n:"?"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Size"}),(0,r.jsx)("div",{className:"text-sm font-medium",children:null!==(l=null==i?void 0:i.size)&&void 0!==l?l:"?"})]})]}),(null==i?void 0:i.url)?(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"URL"}),(0,r.jsx)("a",{href:i.url,target:"_blank",rel:"noreferrer",className:"break-all text-sm text-blue-600 hover:underline",children:i.url})]}):null,(0,r.jsx)(g,{data:a.payload})]})}function y(e){var t,s,n,l;let{event:a}=e,i=a.payload,o=null!==(n=({error:"text-red-600",warn:"text-yellow-600",info:"text-blue-600",debug:"text-gray-500",log:"text-gray-700"})[null!==(s=null==i?void 0:i.level)&&void 0!==s?s:"log"])&&void 0!==n?n:"text-gray-700";return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"text-sm",children:["Level: ",(0,r.jsx)("span",{className:"font-medium ".concat(o),children:null!==(l=null==i?void 0:i.level)&&void 0!==l?l:"log"})]}),(null==i?void 0:null===(t=i.args)||void 0===t?void 0:t.length)?(0,r.jsx)("div",{className:"space-y-2",children:i.args.map((e,t)=>(0,r.jsx)(g,{data:e},t))}):(0,r.jsx)(g,{data:a.payload})]})}function p(e){var t;let{event:s}=e,n=s.payload;return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("div",{className:"text-sm font-medium",children:null!==(t=null==n?void 0:n.title)&&void 0!==t?t:"简历提取事件"}),(null==n?void 0:n.source)?(0,r.jsxs)("div",{className:"text-xs text-gray-500",children:["来源: ",(0,r.jsx)("a",{href:n.source,target:"_blank",rel:"noreferrer",className:"text-blue-600 hover:underline",children:n.source})]}):null,(null==n?void 0:n.fields)?(0,r.jsx)(g,{data:n.fields}):(0,r.jsx)(g,{data:s.payload})]})}function j(e){var t;let{event:s}=e,n=s.payload;return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("div",{className:"text-sm font-medium",children:null!==(t=null==n?void 0:n.action)&&void 0!==t?t:"操作事件"}),(0,r.jsx)(g,{data:s.payload})]})}function N(e){let t,{event:s}=e,[l,a]=(0,n.useState)(!1);switch(s.eventType){case"rrweb":t=(0,r.jsx)(f,{event:s});break;case"network":t=(0,r.jsx)(b,{event:s});break;case"console":t=(0,r.jsx)(y,{event:s});break;case"resume":t=(0,r.jsx)(p,{event:s});break;case"action":t=(0,r.jsx)(j,{event:s});break;default:t=(0,r.jsx)(g,{data:s.payload})}return(0,r.jsxs)("section",{className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"事件详情"}),(0,r.jsx)("button",{type:"button",onClick:()=>a(e=>!e),className:"rounded border border-gray-300 px-3 py-1 text-sm hover:bg-gray-50",children:l?"收起原始 JSON":"查看原始 JSON"})]}),t,l?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)(g,{data:s})}):null]})}function w(e){let{sessionId:t}=e,[s,l]=(0,n.useState)("idle"),[i,o]=(0,n.useState)(null),[d,c]=(0,n.useState)("");async function u(){l("loading"),c("");try{let e=await (0,a.rd)("/api/recordings/".concat(encodeURIComponent(t),"/parse"),{method:"POST"});if(null===e){l("error"),c("解析请求失败,请稍后重试");return}o(e),l("success")}catch(e){l("error"),c(e instanceof Error?e.message:String(e))}}let x=i&&"object"==typeof i&&"entity"in i&&i.entity&&"object"==typeof i.entity&&"id"in i.entity&&"type"in i.entity?"/entity?type=".concat(encodeURIComponent(String(i.entity.type)),"&id=").concat(encodeURIComponent(String(i.entity.id))):null;return(0,r.jsxs)("section",{className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"解析"}),(0,r.jsx)("button",{type:"button",onClick:u,disabled:"loading"===s,className:"rounded bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 disabled:opacity-50",children:"loading"===s?"解析中…":"触发解析"})]}),"success"===s?(0,r.jsxs)("div",{className:"mt-3 rounded border border-green-200 bg-green-50 p-3 text-sm text-green-700",children:[(0,r.jsx)("div",{children:"解析成功 ✅"}),x?(0,r.jsx)("a",{href:x,className:"mt-1 inline-block text-blue-600 hover:underline",children:"查看解析结果 →"}):null]}):null,"error"===s?(0,r.jsxs)("div",{className:"mt-3 rounded border border-red-200 bg-red-50 p-3 text-sm text-red-700",children:[(0,r.jsx)("div",{children:"解析失败"}),d?(0,r.jsx)("div",{className:"mt-1",children:d}):null]}):null]})}function k(e){let{events:t}=e,l=(0,n.useRef)(null),[a,i]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{let e;if(!l.current||0===t.length)return;let r=!1;return async function(){let n=await Promise.all([s.e(131),s.e(671)]).then(s.bind(s,5841));await Promise.all([s.e(608),s.e(166)]).then(s.t.bind(s,166,23)),!r&&l.current&&(e=new(n.default||n)({target:l.current,props:{events:t}}),i(!0))}(),()=>{var t;r=!0,null==e||null===(t=e.$destroy)||void 0===t||t.call(e),l.current&&(l.current.innerHTML="")}},[t]),0===t.length)?(0,r.jsx)("div",{className:"rounded border border-gray-200 bg-white p-4 shadow-sm text-sm text-gray-500",children:"暂无 rrweb 回放事件"}):(0,r.jsxs)("div",{className:"rounded border border-gray-200 bg-white p-4 shadow-sm",children:[(0,r.jsx)("div",{ref:l,className:"w-full"}),a?null:(0,r.jsx)("div",{className:"text-sm text-gray-500",children:"播放器加载中…"})]})}function S(e){let{data:t}=e,s=(0,l.useSearchParams)().get("eventId"),[a,i]=(0,n.useState)(null),[o,d]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(!s||!t.events.length){i(null);return}let e=Number(s),r=t.events.find(t=>t.id===e);i(null!=r?r:null)},[s,t.events]);let u=t.events.filter(e=>"rrweb"===e.eventType).map(e=>e.payload);return(0,r.jsxs)("div",{className:"mx-auto max-w-4xl",children:[(0,r.jsx)("header",{className:"mb-6",children:(0,r.jsx)("h1",{className:"text-2xl font-bold text-gray-900",children:"录制会话"})}),(0,r.jsx)(c,{sessionId:t.sessionId,eventCount:t.eventCount,sourceUrl:t.sourceUrl,startedAt:t.startedAt,lastEventAt:t.lastEventAt,summary:t.summary}),(0,r.jsx)("div",{className:"mt-4",children:(0,r.jsx)(k,{events:u})}),(0,r.jsx)("div",{className:"mt-4",children:(0,r.jsx)(w,{sessionId:t.sessionId})}),(0,r.jsx)("div",{className:"mt-4",children:(0,r.jsx)(h,{events:t.events,selectedEventId:null==a?void 0:a.id,onSelectEvent:i})}),a?(0,r.jsx)("div",{className:"mt-4",children:(0,r.jsx)(N,{event:a})}):null,(0,r.jsxs)("section",{className:"mt-4 rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(0,r.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"原始事件 JSON"}),(0,r.jsx)("button",{type:"button",onClick:()=>d(e=>!e),className:"rounded border border-gray-300 px-3 py-1 text-sm hover:bg-gray-50",children:o?"收起":"展开"})]}),o?(0,r.jsx)("pre",{className:"max-h-96 overflow-auto rounded bg-gray-50 p-3 text-xs text-gray-700",children:JSON.stringify(t.events,null,2)}):(0,r.jsxs)("div",{className:"text-sm text-gray-500",children:["共 ",t.events.length," 条事件,点击展开查看原始 JSON"]})]})]})}var I=s(3718);function C(e){let{session:t}=e;return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-mono text-xs text-gray-500",children:t.sessionId}),(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-gray-900",children:[(0,r.jsxs)("span",{children:[t.eventCount," 事件"]}),"number"==typeof t.tabId?(0,r.jsxs)("span",{className:"rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-600",children:["tab #",t.tabId]}):null]}),t.sourceUrl?(0,r.jsx)("div",{className:"truncate text-xs text-blue-600",children:t.sourceUrl}):null,(0,r.jsx)("div",{className:"text-xs text-gray-400",children:(0,d.d3)(t.lastEventAt)})]})}function E(e){let{sessions:t,selectedId:s,onSelect:n,loading:l}=e,a=t.map(e=>({id:e.sessionId,content:(0,r.jsx)(C,{session:e})}));return(0,r.jsx)(I.L,{items:a,selectedId:s,onSelect:n,loading:l,emptyText:"暂无录制会话"})}function L(e){let t=new URLSearchParams;Object.entries(e).forEach(e=>{let[s,r]=e;r&&t.set(s,r)});let s=t.toString();return s?"?".concat(s):""}function P(){var e,t,s,d;let c=(0,l.useRouter)(),u=(0,l.usePathname)(),x=(0,l.useSearchParams)(),m=x.get("sessionId")||"",v=(0,n.useMemo)(()=>({q:x.get("q")||"",status:"",from:x.get("from")||"",to:x.get("to")||""}),[x]),[h,g]=(0,n.useState)([]),[f,b]=(0,n.useState)(null),[y,p]=(0,n.useState)(!0),[j,N]=(0,n.useState)(!1),w=(0,n.useCallback)(e=>{var t,s;let r=null!==(t=e.filters)&&void 0!==t?t:v,n=L({sessionId:null!==(s=e.sessionId)&&void 0!==s?s:m,q:r.q,from:r.from,to:r.to});c.replace("".concat(u).concat(n))},[v,m,u,c]),k=(0,n.useCallback)(e=>{(null==e?void 0:e.withLoading)&&p(!0);let t=L({q:v.q,from:v.from,to:v.to});(0,a.rd)("/api/recordings?limit=200".concat(t.replace("?","&"))).then(t=>{g(e=>{var s;return function(e,t){let s=new Map(e.map(e=>[e.sessionId,e]));return t.map(e=>{let t=s.get(e.sessionId);return t&&t.eventCount===e.eventCount&&t.lastEventAt===e.lastEventAt&&t.tabId===e.tabId?t:{...e}})}(e,null!==(s=null==t?void 0:t.sessions)&&void 0!==s?s:[])}),(null==e?void 0:e.withLoading)&&p(!1)})},[v.q,v.from,v.to]),I=(0,n.useCallback)(e=>{if(!m){b(null);return}(null==e?void 0:e.withLoading)&&N(!0),(0,a.rd)("/api/recordings/".concat(encodeURIComponent(m))).then(t=>{b(t),(null==e?void 0:e.withLoading)&&N(!1)})},[m]);(0,n.useEffect)(()=>{k({withLoading:!0})},[k]),(0,n.useEffect)(()=>{let e=setInterval(()=>k({withLoading:!1}),1e4);return()=>clearInterval(e)},[k]),(0,n.useEffect)(()=>{I({withLoading:!0})},[I]),(0,n.useEffect)(()=>{let e=setInterval(()=>I({withLoading:!1}),1e4);return()=>clearInterval(e)},[I]);let C=(0,r.jsx)(E,{sessions:h,selectedId:m,onSelect:e=>w({sessionId:e}),loading:y}),P=m?j?(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-gray-400",children:"加载中…"}):f?(0,r.jsx)(S,{data:{sessionId:f.sessionId,eventCount:f.eventCount,sourceUrl:null!==(d=null===(e=h.find(e=>e.sessionId===m))||void 0===e?void 0:e.sourceUrl)&&void 0!==d?d:null,startedAt:(null===(t=f.events[0])||void 0===t?void 0:t.createdAt)||"",lastEventAt:(null===(s=f.events[f.events.length-1])||void 0===s?void 0:s.createdAt)||"",events:f.events}}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-red-500",children:"未找到该录制会话"}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-gray-400",children:"请在左侧选择一个录制会话查看详情"});return(0,r.jsx)(o.m,{filterBar:(0,r.jsx)(i.f,{value:v,onChange:e=>w({filters:e})}),listPanel:C,detailPanel:P})}function R(){return(0,r.jsx)(n.Suspense,{fallback:(0,r.jsx)("div",{className:"p-6 text-gray-500",children:"加载中…"}),children:(0,r.jsx)(P,{})})}},7202:function(e,t,s){"use strict";s.d(t,{f:function(){return l}});var r=s(2835),n=s(635);function l(e){let{value:t,showStatus:s,statusOptions:l,onChange:a}=e,[i,o]=(0,n.useState)(t);return(0,n.useEffect)(()=>{o(t)},[t.q,t.status,t.from,t.to]),(0,n.useEffect)(()=>{let e=setTimeout(()=>{(i.q!==t.q||i.status!==t.status||i.from!==t.from||i.to!==t.to)&&a(i)},300);return()=>clearTimeout(e)},[i.q,i.status,i.from,i.to]),(0,r.jsxs)("div",{className:"space-y-2 border-b border-gray-200 bg-white p-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("div",{className:"relative flex-1",children:[(0,r.jsx)("input",{type:"text",value:i.q,onChange:e=>o(t=>({...t,q:e.target.value})),placeholder:"搜索关键词...",className:"w-full rounded border border-gray-300 px-2 py-1.5 pr-8 text-sm outline-none focus:border-blue-500"}),(0,r.jsx)("button",{type:"button",onClick:()=>a({q:"",status:"",from:"",to:""}),title:"重置筛选",className:"absolute right-1 top-1/2 -translate-y-1/2 rounded p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 disabled:opacity-30",disabled:!i.q&&!i.status&&!i.from&&!i.to,children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4",viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})]}),s?(0,r.jsxs)("select",{value:i.status,onChange:e=>o(t=>({...t,status:e.target.value})),className:"rounded border border-gray-300 px-2 py-1.5 text-sm outline-none focus:border-blue-500",children:[(0,r.jsx)("option",{value:"",children:"全部状态"}),(l||[]).map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))]}):null]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("input",{type:"date",value:i.from,onChange:e=>o(t=>({...t,from:e.target.value})),className:"rounded border border-gray-300 px-2 py-1.5 text-sm outline-none focus:border-blue-500"}),(0,r.jsx)("span",{className:"text-sm text-gray-400",children:"-"}),(0,r.jsx)("input",{type:"date",value:i.to,onChange:e=>o(t=>({...t,to:e.target.value})),className:"rounded border border-gray-300 px-2 py-1.5 text-sm outline-none focus:border-blue-500"})]})]})}},4518:function(e,t,s){"use strict";s.d(t,{m:function(){return n}});var r=s(2835);function n(e){let{filterBar:t,listPanel:s,detailPanel:n}=e;return(0,r.jsxs)("div",{className:"flex h-full",children:[(0,r.jsxs)("div",{className:"flex w-80 flex-col border-r border-gray-200 bg-white",children:[t,s]}),(0,r.jsx)("div",{className:"flex-1 overflow-auto bg-gray-50 p-6",children:n})]})}},3718:function(e,t,s){"use strict";s.d(t,{L:function(){return l}});var r=s(2835),n=s(635);function l(e){let{items:t,selectedId:s,onSelect:l,loading:a,emptyText:i="暂无数据",onLoadMore:o,loadingMore:d,exhausted:c}=e,u=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!o)return;let e=u.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&o()},{root:e.closest(".overflow-auto"),rootMargin:"200px"});return t.observe(e),()=>t.disconnect()},[o]),(0,r.jsxs)("div",{className:"flex-1 overflow-auto",children:[a?(0,r.jsx)("div",{className:"p-4 text-center text-sm text-gray-400",children:"加载中…"}):0===t.length?(0,r.jsx)("div",{className:"p-4 text-center text-sm text-gray-400",children:i}):(0,r.jsx)("ul",{className:"divide-y divide-gray-100",children:t.map(e=>(0,r.jsx)("li",{role:"button",tabIndex:0,onClick:()=>l(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&l(e.id)},className:"cursor-pointer px-3 py-2 text-sm transition-colors ".concat(s===e.id?"bg-blue-50":"hover:bg-gray-50"),children:e.content},e.id))}),o&&!a&&t.length>0&&(0,r.jsx)("div",{ref:u,className:"p-3 text-center text-xs text-gray-400",children:d?"加载更多…":c?"没有更多了":""})]})}},8448:function(e,t,s){"use strict";function r(e){return e?("string"==typeof e?new Date(e):e).toLocaleString("zh-CN",{hour12:!1}):""}s.d(t,{d3:function(){return r}})},4431:function(e,t,s){"use strict";s.d(t,{Ox:function(){return n},rd:function(){return a},uz:function(){return i}});var r=s(529);function n(){return r.env.HUNTER_MATE_SERVER_URL||""}let l=n();async function a(e,t){try{let s=await fetch("".concat(l).concat(e),{cache:"no-store",...t});if(!s.ok)return null;return await s.json()}catch(e){return null}}async function i(e,t){try{let s=await fetch("".concat(l).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=t?JSON.stringify(t):void 0});if(!s.ok)return null;return await s.json()}catch(e){return null}}}},function(e){e.O(0,[400,935,744],function(){return e(e.s=1428)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9c0183a2-f19c-402d-8974-743906f5959b",e._sentryDebugIdIdentifier="sentry-dbid-9c0183a2-f19c-402d-8974-743906f5959b")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[514],{9155:function(e,t,s){Promise.resolve().then(s.bind(s,611))},611:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return A}});var r=s(2835),n=s(635),a=s(4431),l=s(470),i=s(8983),c=s(953),o=s(8532),d=s(2857),u=s(1970),m=s(3284),h=s(5963),x=s(7557),p=s(3551);let y=["#2563eb","#16a34a","#f59e0b","#dc2626","#7c3aed","#0891b2"],f={hm:"hunter-mate",hmh:"harness 工具链",extra:"其他"},g={hm:"#2563eb",hmh:"#16a34a",extra:"#94a3b8"};function j(e){if(!Number.isFinite(e)||e<0)return"-";let t=["B","KB","MB","GB","TB"],s=e,r=0;for(;s>=1024&&r<t.length-1;)s/=1024,r++;return"".concat(s>=100||0===r?Math.round(s):s.toFixed(1)," ").concat(t[r])}function b(e){let t=new Date(e);return"".concat(String(t.getMonth()+1).padStart(2,"0"),"-").concat(String(t.getDate()).padStart(2,"0")," ").concat(String(t.getHours()).padStart(2,"0"),":").concat(String(t.getMinutes()).padStart(2,"0"))}function v(e){let t=new Date(e);return"".concat(String(t.getHours()).padStart(2,"0"),":").concat(String(t.getMinutes()).padStart(2,"0"),":").concat(String(t.getSeconds()).padStart(2,"0"))}function N(e){return e.group?e.group:e.key.startsWith("hunter-mate-h")?"hmh":e.key.startsWith("hunter-mate-")?"hm":"extra"}function w(e){return e.group?e.group:/hunter-mate-harness|chromepilot|hmx/i.test(e.cmd)||/hmx|chromepilot/i.test(e.name)?"hmh":"hm"}function k(e){let{title:t,children:s}=e;return(0,r.jsxs)("section",{className:"rounded-xl border border-gray-200 bg-white p-4",children:[(0,r.jsx)("h3",{className:"mb-3 text-sm font-medium text-gray-700",children:t}),s]})}let S=(0,n.memo)(function(e){let{items:t}=e,s=Array.from(new Set(t.flatMap(e=>e.paths.map(e=>e.key)))),n=t.map(e=>{let t={ts:b(e.ts)};for(let s of e.paths)t[s.key]=Number((s.totalBytes/1073741824).toFixed(3));return t});return(0,r.jsx)(k,{title:"磁盘占用趋势(按受监控路径,GB)",children:(0,r.jsx)(l.h,{width:"100%",height:260,children:(0,r.jsxs)(i.T,{data:n,margin:{top:4,right:12,bottom:0,left:0},children:[(0,r.jsx)(c.q,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),(0,r.jsx)(o.K,{dataKey:"ts",tick:{fontSize:11},minTickGap:40}),(0,r.jsx)(d.B,{tick:{fontSize:11},width:56}),(0,r.jsx)(u.u,{formatter:e=>["".concat(e," GB"),void 0]}),(0,r.jsx)(m.D,{}),s.map((e,t)=>(0,r.jsx)(h.uN,{type:"monotone",dataKey:e,stroke:y[t%y.length],fill:y[t%y.length],fillOpacity:.15,name:e,connectNulls:!0},e))]})})})}),B=(0,n.memo)(function(e){let{p:t,diskTotalBytes:s}=e,n=N(t),a=s>0?(t.totalBytes/s*100).toFixed(1):null;return(0,r.jsx)(k,{title:"路径构成:".concat(t.key,"(").concat(f[n],")(").concat(t.path,")— 共 ").concat(j(t.totalBytes)).concat(null!==a?" \xb7 占总磁盘 ".concat(a,"%"):""),children:(0,r.jsx)(l.h,{width:"100%",height:Math.max(120,26*t.topEntries.length+40),children:(0,r.jsxs)(x.v,{data:t.topEntries,layout:"vertical",margin:{top:0,right:16,bottom:0,left:8},children:[(0,r.jsx)(c.q,{strokeDasharray:"3 3",stroke:"#e5e7eb",horizontal:!1}),(0,r.jsx)(o.K,{type:"number",tick:{fontSize:11},tickFormatter:e=>j(e)}),(0,r.jsx)(d.B,{type:"category",dataKey:"name",tick:{fontSize:11},width:180}),(0,r.jsx)(u.u,{formatter:e=>j(Number(e))}),(0,r.jsx)(p.$Q,{dataKey:"bytes",name:"占用",fill:g[n],radius:[0,3,3,0]})]})})})}),M=(0,n.memo)(function(e){var t,s,n;let{items:a}=e,l=a[a.length-1];if(!l)return null;let i=new Map;for(let e of l.paths.filter(e=>e.exists)){let t=N(e);i.set(t,(null!==(s=i.get(t))&&void 0!==s?s:0)+e.totalBytes)}let c=Array.from(i.entries()).sort((e,t)=>t[1]-e[1]),o=null!==(n=null===(t=l.totals)||void 0===t?void 0:t.diskTotalBytes)&&void 0!==n?n:0;return(0,r.jsx)(k,{title:"磁盘分组概览(hm / harness 工具链,占总磁盘比例)",children:(0,r.jsxs)("table",{className:"w-full text-xs text-gray-600",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"border-b border-gray-100 text-left",children:[(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"分组"}),(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"占用"}),(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"占总磁盘"}),(0,r.jsx)("th",{className:"py-1 font-medium",children:"占比条"})]})}),(0,r.jsxs)("tbody",{children:[c.map(e=>{let[t,s]=e,n=o>0?s/o*100:null;return(0,r.jsxs)("tr",{className:"border-b border-gray-50",children:[(0,r.jsx)("td",{className:"py-1 pr-4",children:f[t]}),(0,r.jsx)("td",{className:"py-1 pr-4",children:j(s)}),(0,r.jsx)("td",{className:"py-1 pr-4",children:null===n?"-":"".concat(n.toFixed(1),"%")}),(0,r.jsx)("td",{className:"py-1",children:null!==n&&(0,r.jsx)("div",{className:"h-2 w-full min-w-[120px] rounded bg-gray-100",children:(0,r.jsx)("div",{className:"h-2 rounded",style:{width:"".concat(Math.min(100,n),"%"),background:g[t]}})})})]},t)}),!c.length&&(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:4,className:"py-2 text-gray-400",children:"本帧无路径数据"})})]})]})})}),P=(0,n.memo)(function(e){let{items:t,liveSamples:s}=e,n=s.length>0,a=n?s[s.length-1]:null,x=t[t.length-1],p=n?s.map(e=>{var t,s,r,n;if(e.groups)return{ts:v(e.ts),rssMBHm:Number((e.groups.hm.rssBytes/1048576).toFixed(1)),rssMBHmh:Number((e.groups.hmh.rssBytes/1048576).toFixed(1)),cpuHm:Number((null!==(t=e.groups.hm.cpuPercent)&&void 0!==t?t:0).toFixed(1)),cpuHmh:Number((null!==(s=e.groups.hmh.cpuPercent)&&void 0!==s?s:0).toFixed(1))};let a=0,l=0,i=0,c=0;for(let t of e.processes)"hmh"===w(t)?(l+=t.rssBytes,c+=null!==(r=t.cpuPercent)&&void 0!==r?r:0):(a+=t.rssBytes,i+=null!==(n=t.cpuPercent)&&void 0!==n?n:0);return{ts:v(e.ts),rssMBHm:Number((a/1048576).toFixed(1)),rssMBHmh:Number((l/1048576).toFixed(1)),cpuHm:Number(i.toFixed(1)),cpuHmh:Number(c.toFixed(1))}}):t.map(e=>{let t=0,s=0,r=0,n=0;for(let a of e.processes)"hmh"===w(a)?(s+=a.rssBytes,n+=a.cpuPercent):(t+=a.rssBytes,r+=a.cpuPercent);return{ts:b(e.ts),rssMBHm:Number((t/1048576).toFixed(1)),rssMBHmh:Number((s/1048576).toFixed(1)),cpuHm:Number(r.toFixed(1)),cpuHmh:Number(n.toFixed(1))}}),y=a?a.processes:x.processes;return(0,r.jsxs)(k,{title:n?"相关进程占用趋势(准实时 5s \xb7 按 hm / 工具链分开 \xb7 内存 MB / CPU %)":"相关进程占用趋势(按 hm / harness 工具链分开 \xb7 内存 MB / CPU %)",children:[(0,r.jsx)(l.h,{width:"100%",height:240,children:(0,r.jsxs)(i.T,{data:p,margin:{top:4,right:12,bottom:0,left:0},children:[(0,r.jsx)(c.q,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),(0,r.jsx)(o.K,{dataKey:"ts",tick:{fontSize:11},minTickGap:40}),(0,r.jsx)(d.B,{yAxisId:"mb",tick:{fontSize:11},width:52}),(0,r.jsx)(d.B,{yAxisId:"pct",orientation:"right",tick:{fontSize:11},width:44}),(0,r.jsx)(u.u,{}),(0,r.jsx)(m.D,{}),(0,r.jsx)(h.uN,{yAxisId:"mb",type:"monotone",dataKey:"rssMBHm",name:"hm 内存(MB)",stroke:g.hm,fill:g.hm,fillOpacity:.15,isAnimationActive:!1}),(0,r.jsx)(h.uN,{yAxisId:"mb",type:"monotone",dataKey:"rssMBHmh",name:"工具链内存(MB)",stroke:g.hmh,fill:g.hmh,fillOpacity:.15,isAnimationActive:!1}),(0,r.jsx)(h.uN,{yAxisId:"pct",type:"monotone",dataKey:"cpuHm",name:"hm CPU(%)",stroke:"#dc2626",fill:"#dc2626",fillOpacity:.1,isAnimationActive:!1}),(0,r.jsx)(h.uN,{yAxisId:"pct",type:"monotone",dataKey:"cpuHmh",name:"工具链 CPU(%)",stroke:"#f59e0b",fill:"#f59e0b",fillOpacity:.1,isAnimationActive:!1})]})}),(0,r.jsx)("div",{className:"mt-3 overflow-x-auto",children:(0,r.jsxs)("table",{className:"w-full text-xs text-gray-600",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"border-b border-gray-100 text-left",children:[(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"分组"}),(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"PID"}),(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"进程"}),(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"RSS"}),(0,r.jsx)("th",{className:"py-1 pr-4 font-medium",children:"CPU%"})]})}),(0,r.jsxs)("tbody",{children:[y.map(e=>(0,r.jsxs)("tr",{className:"border-b border-gray-50",children:[(0,r.jsx)("td",{className:"py-1 pr-4",children:"hmh"===w(e)?"工具链":"hm"}),(0,r.jsx)("td",{className:"py-1 pr-4",children:e.pid}),(0,r.jsx)("td",{className:"max-w-[360px] truncate py-1 pr-4",title:e.cmd,children:e.cmd||e.name}),(0,r.jsx)("td",{className:"py-1 pr-4",children:j(e.rssBytes)}),(0,r.jsx)("td",{className:"py-1 pr-4",children:null===e.cpuPercent?"—":"".concat(e.cpuPercent,"%")})]},e.pid)),!y.length&&(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:5,className:"py-2 text-gray-400",children:"本帧无匹配进程"})})]})]})})]})});function F(e){var t;let{items:s,liveSamples:n=[]}=e,a=s[s.length-1];if(!a)return null;let l=a.paths.filter(e=>e.exists),i=null!==(t=a.totals)&&void 0!==t?t:null;return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("section",{className:"rounded-xl border border-gray-200 bg-white p-4",children:[(0,r.jsx)("h3",{className:"mb-2 text-sm font-medium text-gray-700",children:"系统信息"}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-x-6 gap-y-1 text-xs text-gray-600",children:[(0,r.jsxs)("span",{children:["主机:",a.system.hostname]}),(0,r.jsxs)("span",{children:["用户:",a.system.username]}),(0,r.jsxs)("span",{children:["系统:",a.system.platform," ",a.system.osRelease,"(",a.system.arch,")"]}),(0,r.jsxs)("span",{children:["CPU:",a.system.cpuModel," \xd7 ",a.system.cpuCores," 核"]}),(0,r.jsxs)("span",{children:["内存:",j(a.system.totalMemBytes)]}),(0,r.jsxs)("span",{children:["快照:",new Date(a.ts).toLocaleString()]})]}),i&&(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap gap-x-6 gap-y-1 border-t border-gray-100 pt-2 text-xs text-gray-600",children:[(0,r.jsxs)("span",{children:["整机 CPU:",i.cpuPercent,"%"]}),(0,r.jsxs)("span",{children:["整机内存:",j(i.memUsedBytes)," / ",j(i.memTotalBytes),"(",i.memUsedPercent,"%)"]}),(0,r.jsxs)("span",{children:["整机磁盘:",j(i.diskUsedBytes)," / ",j(i.diskTotalBytes),"(",i.diskUsedPercent,"%)"]})]})]}),(0,r.jsx)(M,{items:s}),(0,r.jsx)(S,{items:s}),(0,r.jsx)(P,{items:s,liveSamples:n}),l.map(e=>{var t;return(0,r.jsx)(B,{p:e,diskTotalBytes:null!==(t=null==i?void 0:i.diskTotalBytes)&&void 0!==t?t:0},e.key)})]})}let H=[{value:24,label:"最近 1 天"},{value:72,label:"最近 3 天"},{value:168,label:"最近 7 天"}];function A(){let[e,t]=(0,n.useState)(72),[s,l]=(0,n.useState)([]),[i,c]=(0,n.useState)([]),[o,d]=(0,n.useState)(!1),[u,m]=(0,n.useState)(!0),[h,x]=(0,n.useState)(!1),[p,y]=(0,n.useState)(""),f=(0,n.useRef)(e),g=(0,n.useRef)(null),j=(0,n.useRef)(null);(0,n.useEffect)(()=>{f.current=e},[e]);let b=(0,n.useCallback)(async e=>{var t;m(!0);let s=await (0,a.rd)("/resource-usage/history?hours=".concat(e)),r=null!==(t=null==s?void 0:s.items)&&void 0!==t?t:[];l(r);let n=r[r.length-1];n&&(g.current=n.ts),m(!1)},[]);(0,n.useEffect)(()=>{b(e)},[e,b]),(0,n.useEffect)(()=>{let e,t=!1,s=e=>{if(!t&&e){if(!e.sampleIntervalMs||e.sampleIntervalMs<=0){d(!1);return}if(d(!0),e.last&&e.last.ts!==j.current){j.current=e.last.ts;let t=e.last;c(e=>{let s=[...e,t];return s.length>720?s.slice(s.length-720):s})}e.lastFullSnapshotTs&&e.lastFullSnapshotTs!==g.current&&(g.current=e.lastFullSnapshotTs,b(f.current))}};return(async()=>{var r,n,l,i;let o=await (0,a.rd)("/resource-usage/samples");if(t)return;if(null==o?void 0:null===(r=o.samples)||void 0===r?void 0:r.length){let e=o.samples.slice(-720);c(e),j.current=null!==(l=null===(n=e[e.length-1])||void 0===n?void 0:n.ts)&&void 0!==l?l:null}(0,a.uz)("/resource-usage/collect-now");let d=await (0,a.rd)("/resource-usage/live");s(d),t||(e=setInterval(()=>{(0,a.rd)("/resource-usage/live").then(s)},Math.max(null!==(i=null==d?void 0:d.sampleIntervalMs)&&void 0!==i?i:5e3,2e3)))})(),()=>{t=!0,e&&clearInterval(e)}},[b]);let v=async()=>{var e;x(!0),y("");let t=await (0,a.uz)("/resource-usage/collect-now");if(x(!1),!t){y("采集失败(查看 server 日志)");return}y((null===(e=t.report)||void 0===e?void 0:e.reported)?"已采集并上报 ".concat(t.report.reported," 条"):"已采集(本地)"),b(f.current)};return(0,r.jsx)("div",{className:"h-full overflow-auto bg-gray-50 p-6",children:(0,r.jsxs)("div",{className:"mx-auto max-w-5xl",children:[(0,r.jsxs)("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-lg font-semibold text-gray-900",children:"资源占用"}),(0,r.jsxs)("p",{className:"text-xs text-gray-500",children:["hunter-mate / hunter-mate-harness 磁盘占用、相关进程内存 CPU 与系统配置(默认保留 3 天)",o&&" \xb7 进程准实时 5s"]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("select",{value:e,onChange:e=>t(Number(e.target.value)),className:"rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700",children:H.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))}),(0,r.jsx)("button",{type:"button",onClick:v,disabled:h,className:"rounded-lg bg-blue-600 px-3 py-1.5 text-sm text-white transition-colors hover:bg-blue-700 disabled:opacity-50",children:h?"采集中…":"立即采集"})]})]}),p&&(0,r.jsx)("p",{className:"mb-3 text-xs text-gray-500",children:p}),u?(0,r.jsx)("div",{className:"py-20 text-center text-sm text-gray-400",children:"加载中…"}):0===s.length?(0,r.jsxs)("div",{className:"rounded-xl border border-dashed border-gray-300 bg-white py-20 text-center",children:[(0,r.jsx)("p",{className:"text-sm text-gray-500",children:"窗口内暂无快照"}),(0,r.jsx)("p",{className:"mt-1 text-xs text-gray-400",children:"server 每 5 分钟自动采集一帧,也可点「立即采集」"})]}):(0,r.jsx)(F,{items:s,liveSamples:i})]})})}},4431:function(e,t,s){"use strict";s.d(t,{Ox:function(){return n},rd:function(){return l},uz:function(){return i}});var r=s(529);function n(){return r.env.HUNTER_MATE_SERVER_URL||""}let a=n();async function l(e,t){try{let s=await fetch("".concat(a).concat(e),{cache:"no-store",...t});if(!s.ok)return null;return await s.json()}catch(e){return null}}async function i(e,t){try{let s=await fetch("".concat(a).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=t?JSON.stringify(t):void 0});if(!s.ok)return null;return await s.json()}catch(e){return null}}}},function(e){e.O(0,[686,400,935,744],function(){return e(e.s=9155)}),_N_E=e.O()}]);
|
package/dist/web/dist/_next/static/chunks/app/snapshots/[id]/agent-prompt/page-c89b32aa2ef509f5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cb6cb154-d81d-4ed0-8138-3b8e9189e898",e._sentryDebugIdIdentifier="sentry-dbid-cb6cb154-d81d-4ed0-8138-3b8e9189e898")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[325],{1765:function(e,n,t){Promise.resolve().then(t.bind(t,4492))},7473:function(e,n,t){"use strict";var r=t(8321);t.o(r,"useParams")&&t.d(n,{useParams:function(){return r.useParams}}),t.o(r,"usePathname")&&t.d(n,{usePathname:function(){return r.usePathname}}),t.o(r,"useRouter")&&t.d(n,{useRouter:function(){return r.useRouter}}),t.o(r,"useSearchParams")&&t.d(n,{useSearchParams:function(){return r.useSearchParams}})},4492:function(e,n,t){"use strict";t.d(n,{default:function(){return o}});var r=t(2835),a=t(635),u=t(7473),s=t(4431);function o(){let e=(0,u.useParams)().id,[n,t]=(0,a.useState)(null),[o,c]=(0,a.useState)(!1),[i,d]=(0,a.useState)(!1),[l,f]=(0,a.useState)(null);async function h(){c(!0),f(null);try{let n=await fetch("".concat((0,s.Ox)(),"/parsing/snapshots/").concat(e,"/agent-prompt"));if(!n.ok)throw Error("HTTP ".concat(n.status));let r=await n.json();t(r.prompt)}catch(e){f(e.message)}finally{c(!1)}}async function p(){n&&(await navigator.clipboard.writeText(n),d(!0),setTimeout(()=>d(!1),2e3))}return(0,r.jsxs)("div",{style:{padding:24,maxWidth:800,margin:"0 auto"},children:[(0,r.jsx)("h1",{children:"Agent 解析 Prompt"}),(0,r.jsxs)("p",{children:["Snapshot ID: ",e]}),(0,r.jsx)("button",{onClick:h,disabled:o,children:o?"加载中...":"生成 Prompt"}),l&&(0,r.jsx)("div",{style:{color:"red",marginTop:12},children:l}),n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{onClick:p,style:{marginLeft:12},children:i?"已复制 ✅":"复制到剪贴板"}),(0,r.jsx)("pre",{style:{marginTop:16,padding:16,background:"#f5f5f5",borderRadius:8,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:n})]})]})}},4431:function(e,n,t){"use strict";t.d(n,{Ox:function(){return a},rd:function(){return s},uz:function(){return o}});var r=t(529);function a(){return r.env.HUNTER_MATE_SERVER_URL||""}let u=a();async function s(e,n){try{let t=await fetch("".concat(u).concat(e),{cache:"no-store",...n});if(!t.ok)return null;return await t.json()}catch(e){return null}}async function o(e,n){try{let t=await fetch("".concat(u).concat(e),{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=n?JSON.stringify(n):void 0});if(!t.ok)return null;return await t.json()}catch(e){return null}}}},function(e){e.O(0,[400,935,744],function(){return e(e.s=1765)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="784d27a3-f896-4521-9b37-3b629877896c",e._sentryDebugIdIdentifier="sentry-dbid-784d27a3-f896-4521-9b37-3b629877896c")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[93],{5539:function(e,n,d){Promise.resolve().then(d.bind(d,8170))}},function(e){e.O(0,[170,400,935,744],function(){return e(e.s=5539)}),_N_E=e.O()}]);
|