PageSourceSearch

https://zhenchengoffer.com/assets/DocsCenterPage-B8BKSJ5c.js

js zhenchengoffer.com collected 2026-10-02 01:53:55 UTC 23,828 bytes, 323 lines download raw bytes

1import{r as l,j as a}from"./react-BGHvZxdX.js";import{q as E,S as C,E as S,F as h,T as z,W as j,X as p,b as A,c0 as k,fx as R,ck as P,I as F,B as $,bR as B,s as u,fy as O,ag as q,d as D,O as W}from"./workbench-shared-DT5eicUP.js";import{c as M,b as V,a as H,d as L,f as _,p as g,e as w,g as K,i as G,h as X}from"./announcementDisplay-DtuUTxz3.js";import J from"./TermsOfServicePage-DhYGFrTX.js";import Q from"./PrivacyPolicyPage-qzWK7pky.js";import{R as U}from"./RichTextEditor-slhb2TYT.js";import{l as Y,m as Z,a as aa,n as ta,o as ea}from"./WorkbenchApp-CJyShsB2.js";import"./LegalDocument-CbrjkbT-.js";import{a as na,c as ca}from"./index-hkmirror2.js";import"./index-CCjgVym0.js";/* empty css              */function oa(t){return G(g(t),X)}function ra(t){const n=_(g(t.title)),c=w(t.title);return n?`${n} · ${c}`:c}function T(){const[t,n]=l.useState([]),[c,x]=l.useState(!0),[i,m]=l.useState(null),o=l.useRef(null);l.useEffect(()=>{let e=!1;return(async()=>{x(!0);try{const s=await E("/api/announcements",{skipAuth:!0}),b=await s.json();!e&&s.ok&&Array.isArray(b)?n([...b].sort((d,f)=>M({title:d.title,date:d.date},{title:f.title,date:f.date}))):e||n([])}catch{e||n([])}finally{e||x(!1)}})(),()=>{e=!0}},[]),l.useEffect(()=>{if(!t.length){m(null);return}m(e=>e!=null&&t.some(s=>s.id===e)?e:t[0].id)},[t]);const r=l.useMemo(()=>t.find(e=>e.id===i)??null,[t,i]),I=l.useMemo(()=>r?V(H(L(r.content))):[],[r]);return l.useEffect(()=>{o.current&&(o.current.scrollTop=0)},[i]),c?a.jsx("div",{className:"ann-changelog",children:a.jsx("div",{className:"ann-changelog__loading",children:a.jsx(C,{})})}):t.length?a.jsx("div",{className:"ann-changelog",children:a.jsxs("div",{className:"ann-changelog__layout",children:[a.jsxs("aside",{className:"ann-changelog__catalog","aria-label":"版本目录",children:[a.jsxs("div",{className:"ann-changelog__catalog-head",children:[a.jsx("h2",{className:"ann-changelog__catalog-title",children:"更新目录"}),a.jsx("p",{className:"ann-changelog__catalog-hint",children:"版本号格式:v主.次.修订.热修"})]}),a.jsx("div",{className:"ann-changelog__catalog-scroll",children:a.jsx("ul",{className:"ann-changelog__catalog-list",children:t.map(e=>{const s=e.id===i,b=_(g(e.title))??e.date,d=w(e.title),f=oa(e.title);return a.jsx("li",{className:"ann-changelog__catalog-item",children:a.jsxs("button",{type:"button",className:`ann-changelog__catalog-btn${s?" is-active":""}`,"aria-current":s?"true":void 0,onClick:()=>m(e.id),children:[a.jsxs("span",{className:"ann-changelog__catalog-main",children:[a.jsx("span",{className:"ann-changelog__catalog-version",children:b}),d?a.jsx("span",{className:"ann-changelog__catalog-summary",title:d,children:d}):null,a.jsx("span",{className:"ann-changelog__catalog-date",children:K(e.date)})]}),a.jsx("span",{className:`ann-changelog__catalog-current${f?"":" is-placeholder"}`,"aria-hidden":f?void 0:!0,children:"当前版本"})]})},e.id)})})})]}),a.jsx("main",{ref:o,className:"ann-changelog__detail","aria-live":"polite",children:r?a.jsxs(a.Fragment,{children:[a.jsx("h2",{className:"ann-changelog__detail-title",children:ra(r)}),a.jsxs("ul",{className:"ann-changelog__detail-meta",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"发布日期:"}),a.jsx("time",{dateTime:r.date,children:r.date})]}),g(r.title)?a.jsxs("li",{children:[a.jsx("strong",{children:"发布版本:"}),_(g(r.title))]}):null,a.jsxs("li",{children:[a.jsx("strong",{children:"更新类型:"}),r.type]})]}),a.jsx("hr",{className:"ann-changelog__detail-divider"}),a.jsx("h3",{className:"ann-changelog__detail-section-title",children:"该版本主要更新如下:"}),a.jsx("ul",{className:"ann-changelog__detail-list",children:I.map(e=>a.jsx("li",{children:e},e))})]}):a.jsx("div",{className:"ann-changelog__detail-empty",children:"请选择左侧版本查看详情"})})]})}):a.jsx("div",{className:"ann-changelog",children:a.jsx("div",{className:"ann-changelog__loading",children:a.jsx(S,{description:"暂无版本公告"})})})}const{Title:y,Paragraph:la}=z,sa="[email protected]",ia="zhenchengoffer",da=[{value:"bug",label:"技术与功能异常 (Bug)"},{value:"feature",label:"产品建议与功能需求"},{value:"account",label:"账号、权限与套餐"},{value:"business",label:"商务合作洽谈"},{value:"other",label:"其他问题"}];function v({value:t,label:n}){const c=async()=>{try{await navigator.clipboard.writeText(t),u.success("已复制到剪贴板")}catch{u.error("复制失败,请手动选择复制")}};return a.jsxs("div",{className:"contact-copy-field",children:[n&&a.jsx("div",{className:"contact-copy-field__label",children:n}),a.jsxs("div",{className:"contact-copy-field__row",children:[a.jsx("span",{className:"contact-copy-field__value",children:t}),a.jsx("button",{type:"button",className:"contact-copy-field__btn",onClick:c,"aria-label":"复制",children:a.jsx(O,{})})]})]})}function ha(){const[t]=h.useForm(),n=async c=>{console.log("Feedback submitted:",c),u.success("工单已提交,我们会尽快处理。"),t.resetFields()};return a.jsxs("div",{className:"contact-page",children:[a.jsx("style",{children:`
2                .contact-page {
3                    max-width: 1040px;
4                    margin: 0 auto;
5                    padding: 4px 0 40px;
6                }
7                .contact-channel-card {
8                    height: 100%;
9                    background: #ffffff;
10                    border-radius: 20px;
11                    border: 1px solid rgba(0, 0, 0, 0.06);
12                    box-shadow: 0 4px 20px -8px rgba(0, 0, 0, 0.08);
13                    padding: 28px 28px 24px;
14                    display: flex;
15                    flex-direction: column;
16                }
17                .contact-channel-card__head {
18                    display: flex;
19                    gap: 14px;
20                    align-items: center;
21                    flex-shrink: 0;
22                }
23                .contact-channel-card__icon {
24                    width: 48px;
25                    height: 48px;
26                    border-radius: 14px;
27                    display: flex;
28                    align-items: center;
29                    justify-content: center;
30                    flex-shrink: 0;
31                    font-size: 22px;
32                }
33                .contact-channel-card__icon--mail {
34                    background: #f3e8ff;
35                    color: #7c3aed;
36                }
37                .contact-channel-card__icon--wechat {
38                    background: #ecfdf5;
39                    color: #07c160;
40                }
41                .contact-channel-card__title {
42                    font-size: 17px;
43                    font-weight: 700;
44                    color: #1d1d1f;
45                    margin: 0;
46                    line-height: 1.3;
47                }
48                .contact-channel-card__desc {
49                    font-size: 13px;
50                    color: #86868b;
51                    line-height: 1.6;
52                    margin: 0;
53                    min-height: calc(13px * 1.6 * 2);
54                }
55                .contact-channel-card__badge {
56                    margin-left: auto;
57                    flex-shrink: 0;
58                    padding: 4px 10px;
59                    border-radius: 999px;
60                    background: #ecfdf5;
61                    border: 1px solid rgba(7, 193, 96, 0.2);
62                    font-size: 12px;
63                    font-weight: 600;
64                    color: #059669;
65                }
66                .contact-channel-card__body {
67                    flex: 1;
68                    display: flex;
69                    flex-direction: column;
70                    justify-content: flex-start;
71                    gap: 12px;
72                    padding: 20px 0 0;
73                    min-height: 0;
74                }
75                .contact-channel-card__footer {
76                    display: flex;
77                    align-items: center;
78                    justify-content: flex-start;
79                    gap: 12px;
80                    margin-top: auto;
81                    padding-top: 16px;
82                    border-top: 1px solid rgba(0, 0, 0, 0.05);
83                    font-size: 12px;
84                    color: #86868b;
85                    flex-wrap: wrap;
86                    flex-shrink: 0;
87                }
88                .contact-channel-card__footer-item {
89                    display: inline-flex;
90                    align-items: center;
91                    gap: 6px;
92                }
93                .contact-copy-field {
94                    margin-top: 0;
95                }
96                .contact-copy-field__label {
97                    font-size: 12px;
98                    color: #86868b;
99                    margin-bottom: 6px;
100                }
101                .contact-copy-field__row {
102                    display: flex;
103                    align-items: center;
104                    gap: 8px;
105                    padding: 10px 12px;
106                    background: #ffffff;
107                    border-radius: 12px;
108                    border: 1px solid rgba(0, 0, 0, 0.08);
109                }
110                .contact-copy-field__value {
111                    flex: 1;
112                    min-width: 0;
113                    font-size: 14px;
114                    font-weight: 600;
115                    color: #1d1d1f;
116                    word-break: break-all;
117                }
118                .contact-copy-field__btn {
119                    flex-shrink: 0;
120                    width: 32px;
121                    height: 32px;
122                    border: none;
123                    border-radius: 8px;
124                    background: #ffffff;
125                    color: #86868b;
126                    cursor: pointer;
127                    display: flex;
128                    align-items: center;
129                    justify-content: center;
130                    transition: all 0.15s ease;
131                    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
132                }
133                .contact-copy-field__btn:hover {
134                    color: #1d1d1f;
135                    background: #fafafa;
136                }
137                .contact-qr-card {
138                    height: 100%;
139                    background: #ffffff;
140                    border-radius: 20px;
141                    border: 1px solid rgba(0, 0, 0, 0.06);
142                    box-shadow: 0 4px 20px -8px rgba(0, 0, 0, 0.08);
143                    padding: 0;
144                    overflow: hidden;
145                    display: flex;
146                    min-height: 220px;
147                }
148                .contact-qr-card img {
149                    width: 100%;
150                    height: 100%;
151                    flex: 1;
152                    display: block;
153                    object-fit: cover;
154                    object-position: center;
155                }
156                .contact-ticket-card {
157                    background: #ffffff;
158                    border-radius: 20px;
159                    border: 1px solid rgba(0, 0, 0, 0.06);
160                    box-shadow: 0 4px 20px -8px rgba(0, 0, 0, 0.08);
161                    padding: 32px 36px 36px;
162                }
163                .contact-ticket-card__head {
164                    margin-bottom: 28px;
165                }
166                .contact-ticket-form .ant-form-item-label > label {
167                    color: #1d1d1f !important;
168                    font-weight: 600;
169                    font-size: 13px;
170                }
171                .contact-ticket-form .ant-select-selector,
172                .contact-ticket-form .ant-input {
173                    border-radius: 12px !important;
174                    border-color: rgba(0, 0, 0, 0.08) !important;
175                    background: #ffffff !important;
176                    box-shadow: none !important;
177                }
178                .contact-ticket-form .ant-select-selector:hover,
179                .contact-ticket-form .ant-input:hover {
180                    border-color: rgba(0, 0, 0, 0.14) !important;
181                }
182                .contact-ticket-form .ant-select-focused .ant-select-selector,
183                .contact-ticket-form .ant-input:focus {
184                    border-color: rgba(0, 0, 0, 0.22) !important;
185                    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04) !important;
186                }
187                .contact-ticket-form .ant-form-item {
188                    margin-bottom: 20px;
189                }
190                @media (max-width: 768px) {
191                    .contact-ticket-card {
192                        padding: 24px 20px 28px;
193                    }
194                    .contact-qr-card {
195                        min-height: 280px;
196                    }
197                }
198
199                /* 黑夜:联系我们 */
200                html[data-zc-theme="dark"] .contact-page .ant-typography,
201                html[data-zc-theme="dark"] .contact-channel-card__title,
202                html[data-zc-theme="dark"] .contact-channel-card__desc,
203                html[data-zc-theme="dark"] .contact-channel-card__footer,
204                html[data-zc-theme="dark"] .contact-copy-field__label,
205                html[data-zc-theme="dark"] .contact-copy-field__value {
206                    color: #ffffff !important;
207                }
208                html[data-zc-theme="dark"] .contact-channel-card,
209                html[data-zc-theme="dark"] .contact-qr-card,
210                html[data-zc-theme="dark"] .contact-ticket-card {
211                    background: #000000 !important;
212                    border-color: rgba(255, 255, 255, 0.12) !important;
213                    box-shadow: none !important;
214                    color: #ffffff !important;
215                }
216                html[data-zc-theme="dark"] .contact-channel-card__footer {
217                    border-top-color: rgba(255, 255, 255, 0.1) !important;
218                }
219                html[data-zc-theme="dark"] .contact-copy-field__row,
220                html[data-zc-theme="dark"] .contact-copy-field__btn {
221                    background: #0a0a0a !important;
222                    border-color: rgba(255, 255, 255, 0.14) !important;
223                    color: #ffffff !important;
224                    box-shadow: none !important;
225                }
226                html[data-zc-theme="dark"] .contact-copy-field__btn:hover {
227                    background: #141414 !important;
228                    color: #ffffff !important;
229                }
230                html[data-zc-theme="dark"] .contact-channel-card__icon--mail {
231                    background: #1c1c1e !important;
232                    color: #c4b5fd !important;
233                }
234                html[data-zc-theme="dark"] .contact-channel-card__icon--wechat {
235                    background: #1c1c1e !important;
236                    color: #34c759 !important;
237                }
238                html[data-zc-theme="dark"] .contact-channel-card__badge {
239                    background: #0a0a0a !important;
240                    border-color: rgba(52, 199, 89, 0.35) !important;
241                }
242                html[data-zc-theme="dark"] .contact-ticket-form .ant-form-item-label > label {
243                    color: #ffffff !important;
244                }
245                html[data-zc-theme="dark"] .contact-ticket-form .ant-select-selector,
246                html[data-zc-theme="dark"] .contact-ticket-form .ant-input {
247                    background: #0a0a0a !important;
248                    border-color: rgba(255, 255, 255, 0.14) !important;
249                    color: #ffffff !important;
250                }
251                html[data-zc-theme="dark"] .contact-ticket-form .ant-select-selection-item,
252                html[data-zc-theme="dark"] .contact-ticket-form .ant-select-selection-
252placeholder {
253                    color: #ffffff !important;
254                }
255            `}),a.jsx(y,{level:4,style:{marginBottom:24,textAlign:"center",fontSize:28,fontWeight:700,letterSpacing:"-0.02em",lineHeight:1.25,color:"#1d1d1f"},children:"联系我们"}),a.jsxs(j,{gutter:[20,20],style:{marginBottom:28},align:"stretch",children:[a.jsx(p,{xs:24,md:12,lg:8,children:a.jsxs("div",{className:"contact-channel-card",children:[a.jsxs("div",{className:"contact-channel-card__head",children:[a.jsx("div",{className:"contact-channel-card__icon contact-channel-card__icon--mail",children:a.jsx(A,{})}),a.jsx("div",{children:a.jsx("h3",{className:"contact-channel-card__title",children:"商务洽谈与支持邮箱"})})]}),a.jsxs("div",{className:"contact-channel-card__body",children:[a.jsx("p",{className:"contact-channel-card__desc",children:"适用于产品咨询、大型企业合作洽谈、账号定制与权限异常等问题。"}),a.jsx(v,{value:sa})]}),a.jsx("div",{className:"contact-channel-card__footer",children:a.jsxs("span",{className:"contact-channel-card__footer-item",children:[a.jsx(k,{}),"工作日优先处理 · 12 小时内回复"]})})]})}),a.jsx(p,{xs:24,md:12,lg:8,children:a.jsxs("div",{className:"contact-channel-card",children:[a.jsxs("div",{className:"contact-channel-card__head",children:[a.jsx("div",{className:"contact-channel-card__icon contact-channel-card__icon--wechat",children:a.jsx(R,{})}),a.jsx("div",{style:{flex:1,minWidth:0},children:a.jsx("h3",{className:"contact-channel-card__title",children:"微信专属客服"})})]}),a.jsxs("div",{className:"contact-channel-card__body",children:[a.jsx("p",{className:"contact-channel-card__desc",children:"扫码或搜索添加微信,获取即时答疑、使用指导及最新优惠。"}),a.jsx(v,{value:ia})]}),a.jsx("div",{className:"contact-channel-card__footer",children:a.jsxs("span",{className:"contact-channel-card__footer-item",children:[a.jsx(k,{}),"服务时间:工作日 9:00 – 18:00"]})})]})}),a.jsx(p,{xs:24,md:24,lg:8,children:a.jsx("div",{className:"contact-qr-card",children:a.jsx("img",{src:"/wechat-qr.png",alt:"微信客服二维码"})})})]}),a.jsxs("div",{className:"contact-ticket-card",children:[a.jsxs("div",{className:"contact-ticket-card__head",children:[a.jsx(y,{level:4,style:{margin:"0 0 8px",fontSize:18,fontWeight:700,color:"#1d1d1f"},children:"提交在线服务工单"}),a.jsx(la,{style:{margin:0,fontSize:13,color:"#86868b",lineHeight:1.65,maxWidth:520},children:"请尽可能详细描述遇到的场景与复现步骤,方便我们的技术工程师快速定位解决。"})]}),a.jsxs(h,{form:t,layout:"vertical",className:"contact-ticket-form",onFinish:n,size:"large",requiredMark:!0,initialValues:{category:"bug"},children:[a.jsxs(j,{gutter:24,children:[a.jsx(p,{xs:24,md:10,children:a.jsx(h.Item,{name:"category",label:"问题分类",rules:[{required:!0,message:"请选择问题分类"}],children:a.jsx(P,{options:da})})}),a.jsx(p,{xs:24,md:14,children:a.jsx(h.Item,{name:"subject",label:"工单主题",rules:[{required:!0,message:"请输入工单主题"}],children:a.jsx(F,{placeholder:"请简要概括您遇到的问题或建议(如:导出 PDF 格式错乱)"})})})]}),a.jsx(h.Item,{name:"content",label:"详细说明与复现步骤",rules:[{required:!0,message:"请输入详细内容"}],children:a.jsx(U,{variant:"apple",minHeight:260,placeholder:"请描述问题场景、操作步骤、期望结果与实际表现,如有截图链接可一并附上"})}),a.jsx(h.Item,{style:{marginBottom:0,marginTop:8},children:a.jsx($,{type:"primary",htmlType:"submit",icon:a.jsx(B,{}),style:{borderRadius:12,height:44,paddingInline:32,fontSize:14,fontWeight:600,background:"#1d1d1f",border:"none"},children:"提交工单"})})]})]})]})}const{Title:N}=z,ma={terms:a.jsx(J,{}),privacy:a.jsx(Q,{})},fa={terms:a.jsx(W,{}),privacy:a.jsx(D,{})},pa={contact:a.jsx(ha,{}),announcements:a.jsx(T,{})};function wa(){const t=na(),{tab:n}=ca(),c=Y(n?`/docs/${n}`:"/docs");l.useEffect(()=>{(!n||!Z(n))&&t(aa(c),{replace:!0})},[n,c,t]);const x=o=>{t(`/docs/${o}`)},i=ta.map(o=>({key:o.key,label:a.jsxs("span",{className:"docs-legal-tabs__label",children:[fa[o.key],o.label]}),children:ma[o.key]})),m=c==="announcements";return a.jsxs("div",{className:`page-container${m?" page-container--announcements":""}`,style:{position:"relative",paddingTop:16,minHeight:"100%",maxWidth:1480,margin:"0 auto",overflow:"hidden"},children:[a.jsx("style",{children:`
256                .page-container--announcements {
257                    /* 双卡用固定视口高度,页面本身不要跟着正文变高 */
258                    overflow: hidden !important;
259                    width: 100%;
260                    box-sizing: border-box;
261                }
262                /* 禁止外层 content-area 出滚动条:否则滚动条显隐会整页变çª
262„ */
263                .zc-workbench-shell .content-area:has(.page-container--announcements) {
264                    overflow: hidden !important;
265                }
266                .docs-legal-shell {
267                    padding: 0 12px 40px;
268                }
269                .docs-legal-shell--announcements {
270                    padding-bottom: 8px;
271                }
272                .docs-legal-shell--announcements .docs-section-title {
273                    margin-bottom: 12px !important;
274                }
275                .docs-section-title {
276                    letter-spacing: -0.02em;
277                    margin-bottom: 16px !important;
278                    text-align: center;
279                    color: #1d1d1f !important;
280                    font-size: 28px !important;
281                    font-weight: 700 !important;
282                    line-height: 1.25 !important;
283                }
284                .docs-legal-tabs .ant-tabs-nav {
285                    margin-bottom: 20px !important;
286                }
287                .docs-legal-tabs .ant-tabs-nav::before {
288                    border-bottom-color: rgba(15, 23, 42, 0.08) !important;
289                }
290                .docs-legal-tabs .ant-tabs-tab {
291                    padding: 12px 4px !important;
292                    font-size: 16px;
293                    color: #64748b;
294                }
295                .docs-legal-tabs .ant-tabs-tab-active .ant-tabs-tab-btn {
296                    color: #1d1d1f !important;
297                    font-weight: 700;
298                }
299                .docs-legal-tabs .ant-tabs-ink-bar {
300                    background: #1d1d1f !important;
301                    height: 3px !important;
302                }
303                .docs-legal-tabs__label {
304                    display: inline-flex;
305                    align-items: center;
306                    gap: 8px;
307                }
308                html[data-zc-theme="dark"] .docs-section-title {
309                    color: #ffffff !important;
310                }
311                html[data-zc-theme="dark"] .docs-legal-tabs .ant-tabs-nav::before {
312                    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
313                }
314                html[data-zc-theme="dark"] .docs-legal-tabs .ant-tabs-tab {
315                    color: rgba(255, 255, 255, 0.65) !important;
316                }
317                html[data-zc-theme="dark"] .docs-legal-tabs .ant-tabs-tab-active .ant-tabs-tab-btn {
318                    color: #ffffff !important;
319                }
320                html[data-zc-theme="dark"] .docs-legal-tabs .ant-tabs-ink-bar {
321                    background: #ffffff !important;
322                }
323            `}),a.jsx("div",{style:{position:"relative",zIndex:1},children:ea(c)?c==="announcements"?a.jsxs("div",{className:"docs-legal-shell docs-legal-shell--announcements",children:[a.jsx(N,{level:4,className:"docs-section-title",children:"版本公告"}),a.jsx(T,{})]}):a.jsx("div",{style:{padding:"0 32px 32px"},children:pa[c]}):a.jsxs("div",{className:"docs-legal-shell",children:[a.jsx(N,{level:4,className:"docs-section-title",children:"协议与政策"}),a.jsx(q,{className:"docs-legal-tabs",activeKey:c,onChange:x,items:i,size:"large",centered:!0})]})})]})}export{wa as default};

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