hiwork-core 0.0.2 → 0.0.6

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/lib/client.js CHANGED
@@ -43,6 +43,7 @@ var bgLayer1 = "var(--dsw-alias-bg-layer-1, #ffffff)";
43
43
  var bgLayer2 = "var(--dsw-alias-bg-layer-2, #f1f3f5)";
44
44
  var inputFill = "var(--dsw-specific-login-input, var(--dsw-alias-bg-layer-2, #f1f3f5))";
45
45
  var interactiveHover = "var(--dsw-alias-interactive-bg-hover, rgba(15,17,21,0.06))";
46
+ var errorText = "var(--dsw-alias-state-error-primary, #ec1313)";
46
47
  var warnText = "var(--dsw-alias-state-warn-label, #dd8629)";
47
48
  var warnFill = "var(--dsw-alias-state-warn-tertiary, #fef5e7)";
48
49
  var primaryButton = {
@@ -74,8 +75,9 @@ var textInput = {
74
75
  outline: "none",
75
76
  maxWidth: 340
76
77
  };
78
+ var frameSurfaceSelector = '[class*="_frame"]:has(> [class*="_sidebarCol"])';
77
79
  var frameCss = [
78
- `[class*="_frame"] { background: var(--dsw-specific-sidebar-fill, #f9fafb); }`,
80
+ `${frameSurfaceSelector} { background: var(--dsw-specific-sidebar-fill, #f9fafb); }`,
79
81
  `html[data-dsh-shell="win32"] [class*="_centerCol"] > div > [class*="_root"] { border-top-left-radius: 16px; }`,
80
82
  `[class*="_sidebarCol"] { border-right: 0 !important; }`
81
83
  ].join("\n");
@@ -106,6 +108,46 @@ var import_dsh_client_store = require("@deepseek-ai/dsh-client-store");
106
108
  var AI_ROUTER_NS = "ai-router";
107
109
  var AI_ROUTER_SECTION_LABEL = "\u7F51\u5173\u6A21\u578B";
108
110
  var PENDING_PASSWORD_REF = "AI_ROUTER_PENDING_PASSWORD";
111
+ function normalizeLoginMode(value) {
112
+ return value === "browser" || value === "form" ? value : "both";
113
+ }
114
+ function authorizeUrlOf(value) {
115
+ const url = value?.browserLogin?.authorizeUrl;
116
+ if (typeof url !== "string" || url === "") return void 0;
117
+ try {
118
+ const protocol = new URL(url).protocol;
119
+ return protocol === "https:" || protocol === "http:" ? url : void 0;
120
+ } catch {
121
+ return void 0;
122
+ }
123
+ }
124
+ function browserLoginPendingOf(value) {
125
+ return authorizeUrlOf(value) !== void 0 || value?.browserLoginRequest !== void 0;
126
+ }
127
+ function browserLoginViewOf(value) {
128
+ const loginMode = normalizeLoginMode(value?.loginMode);
129
+ if (loginMode === "form") return { loginMode, browserLoginUrl: void 0, browserLoginPending: false };
130
+ return { loginMode, browserLoginUrl: authorizeUrlOf(value), browserLoginPending: browserLoginPendingOf(value) };
131
+ }
132
+ function openAuthorizeUrl(url) {
133
+ if (url === void 0 || url === "") return;
134
+ if (typeof window === "undefined") return;
135
+ let protocol;
136
+ try {
137
+ protocol = new URL(url).protocol;
138
+ } catch {
139
+ return;
140
+ }
141
+ if (protocol !== "https:" && protocol !== "http:") return;
142
+ window.open(url, "_blank", "noopener,noreferrer");
143
+ }
144
+ async function requestBrowserLogin(scope) {
145
+ await scope.set("browserLoginRequest", { at: (/* @__PURE__ */ new Date()).toISOString() });
146
+ }
147
+ async function clearBrowserLogin(scope) {
148
+ await scope.unset("browserLoginRequest");
149
+ await scope.unset("browserLogin");
150
+ }
109
151
  function project(value) {
110
152
  const base = {
111
153
  status: "ready",
@@ -118,7 +160,8 @@ function project(value) {
118
160
  warning: value?.lastError?.code === "KEY_DISABLED" || value?.lastError?.code === "KEY_INVALID" ? value?.lastError?.message ?? "Key \u5F53\u524D\u88AB\u7981\u7528\uFF0C\u8C03\u7528\u4F1A\u5931\u8D25" : void 0,
119
161
  budgets: value?.budgets,
120
162
  keys: value?.keys,
121
- activeKeyId: value?.keyId ?? value?.keys?.[0]?.id
163
+ activeKeyId: value?.keyId ?? value?.keys?.[0]?.id,
164
+ ...browserLoginViewOf(value)
122
165
  };
123
166
  if (value?.pendingLogin !== void 0) return { ...base, status: "logging-in" };
124
167
  if (value?.lastLogin !== void 0) {
@@ -143,7 +186,10 @@ var AiRouterCardController = class {
143
186
  warning: void 0,
144
187
  budgets: void 0,
145
188
  keys: void 0,
146
- activeKeyId: void 0
189
+ activeKeyId: void 0,
190
+ loginMode: "both",
191
+ browserLoginUrl: void 0,
192
+ browserLoginPending: false
147
193
  });
148
194
  const publish = () => {
149
195
  const snapshot = this.scope.getSnapshot();
@@ -160,7 +206,10 @@ var AiRouterCardController = class {
160
206
  submitLogin: (username, password) => this.submitLogin(username, password),
161
207
  refresh: () => this.refresh(),
162
208
  logout: () => this.logout(),
163
- selectKey: (keyId) => this.selectKey(keyId)
209
+ selectKey: (keyId) => this.selectKey(keyId),
210
+ startBrowserLogin: () => this.startBrowserLogin(),
211
+ cancelBrowserLogin: () => this.cancelBrowserLogin(),
212
+ reopenBrowserLogin: () => this.reopenBrowserLogin()
164
213
  }
165
214
  };
166
215
  }
@@ -179,6 +228,16 @@ var AiRouterCardController = class {
179
228
  async logout() {
180
229
  await this.scope.set("logoutRequest", { at: (/* @__PURE__ */ new Date()).toISOString() });
181
230
  }
231
+ async startBrowserLogin() {
232
+ await requestBrowserLogin(this.scope);
233
+ }
234
+ async cancelBrowserLogin() {
235
+ await clearBrowserLogin(this.scope);
236
+ }
237
+ /** 重新打开授权页:URL 取自最近一次投影,缺省 no-op(登录门禁另有自动打开)。 */
238
+ reopenBrowserLogin() {
239
+ openAuthorizeUrl(this.store.getSnapshot().browserLoginUrl);
240
+ }
182
241
  };
183
242
 
184
243
  // src/client/section.tsx
@@ -776,933 +835,138 @@ function AboutSection(_props) {
776
835
  ] });
777
836
  }
778
837
 
779
- // src/client/daily-items.ts
780
- var DAILY_ITEMS = [
781
- {
782
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
783
- section: "\u613F\u666F\u4F7F\u547D",
784
- title: "\u613F\u666F\uFF1A\u52A9\u529B\u5BA2\u6237\u667A\u8054\u4E07\u7269",
785
- prefix: "\u613F\u666F",
786
- main: "\u52A9\u529B\u5BA2\u6237\u667A\u8054\u4E07\u7269",
787
- paragraphs: [
788
- "\u52A9\u529B\uFF1A\u89D2\u8272\u5B9A\u4F4D\u670D\u52A1\u5546\uFF0C\u63D0\u4F9B\u9886\u5148\u7269\u8054\u79D1\u6280\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\u548C\u6DF1\u5EA6\u670D\u52A1\u3002",
789
- "\u5BA2\u6237\uFF1A\u5BA2\u6237\u5B9A\u4F4D\u4E8E\u540D\u4F18\u9152\u4F01\u548C\u98DF\u836F\u4F01\u4E1A\u53CA\u5176\u4E0A\u4E0B\u4EA7\u4E1A\u94FE\uFF0C\u89C4\u6A21\u8DB3\u591F\u5927\u3002",
790
- "\u667A\u8054\uFF1A\u79FB\u52A8\u7269\u8054\u7F51+\u5DE5\u4E1A4.0+\u7CFB\u7EDF\u5E73\u53F0",
791
- "\u4E07\u7269\uFF1A\u5382\u5BB6+\u5546\u5BB6+\u6E20\u9053+\u4EA7\u54C1+\u6D88\u8D39\u8005"
792
- ]
793
- },
794
- {
795
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
796
- section: "\u613F\u666F\u4F7F\u547D",
797
- title: "\u4F7F\u547D\uFF1A\u667A\u80FD\u5305\u88C5\u7684\u9886\u5BFC\u8005",
798
- prefix: "\u4F7F\u547D",
799
- main: "\u667A\u80FD\u5305\u88C5\u7684\u9886\u5BFC\u8005",
800
- paragraphs: [
801
- "\u667A\u80FD\u5305\u88C5\uFF1A\u4EE5\u667A\u6167 e\u76D6\u4E3A\u8D77\u70B9\uFF0C\u5F00\u521B\u7269\u8054\u7F51\u5927\u6570\u636E\u8FD0\u7EF4\u7684\u667A\u80FD\u5305\u88C5\u65B0\u65F6\u4EE3\uFF0C\u8054\u901A\u5546\u5BB6\u3001\u6E20\u9053\u548C\u6D88\u8D39\u8005\uFF0C\u8BA9\u7269\u6D41\u3001\u5546\u6D41\u3001\u6570\u636E\u6D41\u66F4\u7B80\u7EA6\u900F\u660E\u3002",
802
- "\u9886\u5BFC\u8005\uFF1A\u5BF9\u672A\u6765\u7684\u6E05\u6670\u8BA4\u77E5\uFF0C\u51B3\u5B9A\u4E86\u4F01\u4E1A\u80FD\u8D70\u591A\u8FDC\u3002\u8F6C\u578B\u8981\u6BD4\u540C\u884C\u5148\u4E00\u6B65\uFF0C\u6BD4\u8DE8\u754C\u8005\u6DF1\u8015\u4E00\u5C3A\uFF0C\u575A\u6301\u6301\u7EED\u5B66\u4E60\u548C\u8FDB\u6B65\uFF0C\u624D\u80FD\u4E0D\u843D\u4F0D\u4E8E\u8D8B\u52BF\u3002"
803
- ]
804
- },
805
- {
806
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
807
- section: "\u613F\u666F\u4F7F\u547D",
808
- title: "\u5B9A\u4F4D\uFF1A\u63D0\u4F9B\u667A\u80FD\u7269\u8054\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\u7684\u670D\u52A1\u5546",
809
- prefix: "\u5B9A\u4F4D",
810
- main: "\u63D0\u4F9B\u667A\u80FD\u7269\u8054\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\u7684\u670D\u52A1\u5546",
811
- paragraphs: [
812
- "\u6D77\u666E\u62E5\u6709\u7684\u5BA2\u6237\u662F\u56FD\u5185\u5916\u5177\u6709\u9AD8\u7F8E\u8A89\u5EA6\u548C\u54C1\u724C\u77E5\u540D\u5EA6\u7684\u9152\u4F01\u548C\u98DF\u836F\u4F01\u4E1A\u3002\u5728\u4EA7\u4E1A\u4E92\u8054\u7F51\u548C\u5DE5\u4E1A\u667A\u80FD\u5316\u65B0\u65F6\u4EE3\uFF0C\u5BA2\u6237\u5BF9\u5DF2\u6709\u5408\u4F5C\u4F19\u4F34\u6709\u4E86\u66F4\u9AD8\u6807\u51C6\u7684\u8981\u6C42\uFF0C\u5E76\u5BFB\u6C42\u4E0E\u771F\u6B63\u61C2\u5F97\u7269\u8054\u7F51\u65B0\u6280\u672F\u7684\u4F19\u4F34\u5F00\u5C55\u5408\u4F5C\u3002",
813
- "\u6D77\u666E\u5F53\u53D1\u6325\u81EA\u5DF1\u4E0E\u751F\u4FF1\u6765\u7684\u5B66\u4E60\u548C\u521B\u65B0\u4F18\u52BF\uFF0C\u5B66\u4E60\u548C\u638C\u63E1\u6700\u65B0\u7684\u79FB\u52A8\u4E92\u8054\u3001\u667A\u80FD\u5316\u548C\u7269\u8054\u79D1\u6280\u524D\u6CBF\u6280\u672F\u548C\u624B\u6BB5\uFF0C\u6574\u5408\u4F18\u8D28\u8D44\u6E90\uFF0C\u6DF1\u5EA6\u670D\u52A1\u4E8E\u62E5\u6709\u7684\u4F18\u8D28\u5BA2\u6237\uFF0C\u4E3A\u5BA2\u6237\u521B\u9020\u66F4\u5927\u7684\u4EF7\u503C\uFF0C\u5B9E\u73B0\u81EA\u6211\u66F4\u5927\u53D1\u5C55\u3002"
814
- ]
815
- },
816
- {
817
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
818
- section: "\u4EF7\u503C\u89C2",
819
- title: "\u6838\u5FC3\u4EF7\u503C\uFF1A\u4EBA\u4E3A\u4E3A\u4EBA\uFF0C\u4EF7\u503C\u5171\u521B",
820
- prefix: "\u6838\u5FC3\u4EF7\u503C",
821
- main: "\u4EBA\u4E3A\u4E3A\u4EBA\uFF0C\u4EF7\u503C\u5171\u521B",
822
- paragraphs: [
823
- "\u201C\u4EBA\u4E3A\u4E3A\u4EBA\uFF0C\u4EF7\u503C\u5171\u521B\u201D\u662F\u6BCF\u4F4D\u6D77\u666E\u4EBA\u5171\u540C\u9075\u5FAA\u7684\u6838\u5FC3\u4EF7\u503C\u51C6\u5219\u3002\u201C\u4EBA\u4E3A\u4E3A\u4EBA\uFF0C\u4EF7\u503C\u5171\u521B\u201D\u6E90\u4E8E\u4E1C\u65B9\u5723\u8D24\u7684\u9053\u5FB7\u601D\u60F3\u4E0E\u667A\u6167\uFF0C\u4E5F\u53D7\u542F\u53D1\u4E8E\u897F\u65B9\u4EF7\u503C\u521B\u9020\u7684\u5148\u8FDB\u7406\u5FF5\uFF0C\u662F\u6D77\u666E\u4F01\u4E1A\u4EF7\u503C\u89C2\u7684\u6838\u5FC3\u3002",
824
- "\u201C\u4EBA\u4E3A\u201D\u662F\u5FC3\u667A\u6210\u719F\u3001\u6709\u826F\u77E5\u3001\u4EF7\u503C\u89C2\u6B63\u5411\u7684\u5458\u5DE5\uFF0C\u8868\u73B0\u51FA\u7684\u7B26\u5408\u793E\u4F1A\u671F\u671B\u548C\u7EC4\u7EC7\u5229\u76CA\uFF0C\u79EF\u6781\u8FDB\u53D6\u7684\u5904\u4E8B\u6001\u5EA6\u548C\u4E8B\u4E1A\u89C2\uFF1B\u201C\u4E3A\u4EBA\u201D\u662F\u5177\u6709\u201C\u4EBA\u4E3A\u201D\u5FC3\u667A\u7684\u5458\u5DE5\u6240\u8868\u73B0\u51FA\u7684\u4EE5\u5927\u5C40\u4E3A\u91CD\u3001\u4EE5\u5FB7\u4E3A\u5148\uFF0C\u653E\u5F03\u77ED\u671F\u529F\u5229\u4E4B\u5FC3\uFF0C\u5F03\u79C1\u4E3A\u4F17\u7684\u541B\u5B50\u884C\u4E3A\u3002",
825
- "\u201C\u4EF7\u503C\u5171\u521B\u201D\u662F\u6D77\u666E\u4EBA\u6574\u5408\u4EBA\u4E0E\u4EBA\u3001\u4EBA\u4E0E\u4E8B\u3001\u5185\u4E0E\u5916\u548C\u5404\u5408\u4F5C\u65B9\u4F18\u52BF\u7684\u57FA\u672C\u7406\u5FF5\u4E0E\u6839\u672C\u7B56\u7565\u3002\u6D77\u666E\u662F\u6709\u673A\u751F\u6001\u5708\u5185\u7684\u6700\u5177\u6D3B\u529B\u7684\u6709\u673A\u4F53\uFF0C\u5FD7\u5728\u548C\u5404\u6709\u673A\u4F53\u548C\u8C10\u5171\u751F\uFF0C\u5728\u9633\u5149\u4E0B\uFF0C\u8301\u58EE\u6210\u957F\u3002",
826
- "\u201C\u4EBA\u4E3A\u4E3A\u4EBA\uFF0C\u4EF7\u503C\u5171\u521B\u201D\u7ECF\u5386\u4E86\u5341\u4F59\u5E74\u7684\u9A8C\u8BC1\uFF0C\u7B26\u5408\u4EBA\u7C7B\u666E\u4E16\u7684\u4EF7\u503C\u89C2\uFF0C\u4E5F\u987A\u5E94\u65F6\u4EE3\u53D1\u5C55\u7684\u8981\u6C42\uFF1B\u4ECA\u540E\uFF0C\u4ECD\u5C06\u6210\u4E3A\u6D77\u666E\u4E8B\u4E1A\u6301\u7EED\u53D1\u5C55\u7684\u7CBE\u795E\u652F\u67F1\u548C\u6D77\u666E\u4EBA\u5171\u540C\u4EAB\u6709\u7684\u6700\u6839\u672C\u7684\u4EF7\u503C\u8FFD\u6C42\uFF01"
827
- ]
828
- },
829
- {
830
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
831
- section: "\u4EF7\u503C\u89C2",
832
- title: "\u4EF7\u503C\u76EE\u6807\uFF1A\u5458\u5DE5\u3001\u5BA2\u6237\u3001\u80A1\u4E1C\u3001\u4F19\u4F34\u3001\u793E\u533A\u4E94\u6EE1\u610F",
833
- prefix: "\u4EF7\u503C\u76EE\u6807",
834
- main: "\u5458\u5DE5\u3001\u5BA2\u6237\u3001\u80A1\u4E1C\u3001\u4F19\u4F34\u3001\u793E\u533A\u4E94\u6EE1\u610F",
835
- paragraphs: [
836
- "\u5458\u5DE5\uFF1A\u5BCC\u6709\u8D23\u4EFB\u611F\u548C\u5408\u4F5C\u7CBE\u795E\uFF0C\u5584\u4E8E\u5B66\u4E60\u548C\u6562\u4E8E\u521B\u65B0\u7684\u5458\u5DE5\u662F\u6D77\u666E\u6700\u5B9D\u8D35\u7684\u8D22\u5BCC\uFF1B\u6D77\u666E\u5C06\u52AA\u529B\u5B9E\u73B0\u5458\u5DE5\u6301\u7EED\u6210\u957F\uFF0C\u4E0E\u5458\u5DE5\u5171\u4EAB\u4F01\u4E1A\u6536\u76CA\u3002",
837
- "\u5BA2\u6237\uFF1A\u4F18\u8D28\u5BA2\u6237\u662F\u6D77\u666E\u548C\u5458\u5DE5\u7684\u201C\u8863\u98DF\u7236\u6BCD\u201D\u548C\u5171\u6709\u7684\u8D85\u503C\u8D22\u5BCC\uFF0C\u5171\u540C\u81F4\u529B\u4E8E\u4E3A\u5BA2\u6237\u6301\u7EED\u521B\u9020\u4EF7\u503C\u548C\u63D0\u4F9B\u5E94\u6709\u7684\u4EF7\u503C\u8BA9\u6E21\uFF0C\u8D62\u5F97\u5BA2\u6237\u4FE1\u8D56\u3002",
838
- "\u80A1\u4E1C\uFF1A\u662F\u6D77\u666E\u4E8B\u4E1A\u53D1\u5C55\u7684\u9760\u5C71\u548C\u539F\u52A8\u529B\u3002\u6D77\u666E\u7ECF\u8425\u8005\u548C\u5458\u5DE5\u5F53\u52AA\u529B\u6269\u5C55\u4E8B\u4E1A\u7A7A\u95F4\uFF0C\u964D\u4F4E\u7ECF\u8425\u98CE\u9669\uFF0C\u5B9E\u73B0\u5408\u7406\u56DE\u62A5\uFF0C\u56DE\u62A5\u80A1\u4E1C\u7684\u4FE1\u8D56\u4E0E\u652F\u6301\u3002",
839
- "\u4F19\u4F34\uFF1A\u6D77\u666E\u89C6\u6240\u6709\u652F\u6301\u6D77\u666E\u4E8B\u4E1A\u53D1\u5C55\u7684\u5408\u4F5C\u8005\u4E3A\u4E8B\u4E1A\u4F19\u4F34\uFF0C\u5728\u5E73\u7B49\u4E92\u5229\u7684\u57FA\u7840\u4E0A\u5408\u4F5C\uFF0C\u8C26\u900A\u5730\u5411\u4F18\u79C0\u5408\u4F5C\u65B9\u5B66\u4E60\uFF0C\u5B9E\u73B0\u6301\u7EED\u53D1\u5C55\u548C\u5171\u8D62\u3002",
840
- "\u793E\u533A\uFF1A\u662F\u6D77\u666E\u751F\u5B58\u548C\u6210\u957F\u7684\u6447\u7BEE\uFF0C\u6D77\u666E\u624E\u6839\u5728\u54EA\u91CC\uFF0C\u5C31\u4EE5\u54EA\u91CC\u4E3A\u5BB6\uFF0C\u7262\u8BB0\u201C\u996E\u6C34\u601D\u6E90\u201D\uFF1B\u81EA\u89C9\u5C65\u884C\u793E\u4F1A\u8D23\u4EFB\u4E49\u52A1\uFF0C\u4E0E\u793E\u533A\u540C\u53D1\u5C55\u3001\u5171\u8F89\u714C\u3002"
841
- ]
842
- },
843
- {
844
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
845
- section: "\u4EF7\u503C\u89C2",
846
- title: "\u4EF7\u503C\u5206\u914D\uFF1A\u4EF7\u503C\u4E3A\u672C\u3001\u7EE9\u6548\u4F18\u5148\u3001\u534F\u540C\u5171\u8D62",
847
- prefix: "\u4EF7\u503C\u5206\u914D",
848
- main: "\u4EF7\u503C\u4E3A\u672C\u3001\u7EE9\u6548\u4F18\u5148\u3001\u534F\u540C\u5171\u8D62",
849
- paragraphs: [
850
- "\u6D77\u666E\u662F\u4EE5\u521B\u65B0\u4E3A\u53D1\u5C55\u6839\u672C\u7684\u4F01\u4E1A\uFF0C\u5C24\u5176\u91CD\u89C6\u5404\u7C7B\u5173\u952E\u4EBA\u624D\u5728\u4F01\u4E1A\u53D1\u5C55\u8FC7\u7A0B\u4E2D\u7684\u4F5C\u7528\u548C\u521B\u9020\u7684\u4EF7\u503C\uFF0C\u63D0\u4F9B\u53EF\u5145\u5206\u53D1\u6325\u5176\u624D\u667A\u7684\u4E8B\u4E1A\u5E73\u53F0\uFF0C\u7ED9\u4E88\u4E0E\u672C\u4EBA\u4E3A\u4F01\u4E1A\u548C\u793E\u4F1A\u521B\u9020\u4EF7\u503C\u76F8\u5339\u914D\u7684\u62A5\u916C\u3002",
851
- "\u5EFA\u7ACB\u5BA2\u89C2\u8BC4\u4EF7\u5458\u5DE5\u52B3\u52A8\u6210\u679C\u548C\u5DE5\u4F5C\u7EE9\u6548\u7684\u7EE9\u6548\u8BC4\u4EF7\u4F53\u7CFB\uFF0C\u5BF9\u5458\u5DE5\u7EE9\u6548\u548C\u6240\u521B\u9020\u4EF7\u503C\u8FDB\u884C\u5408\u7406\u8BC4\u4EF7\uFF0C\u5E76\u7ED9\u4E88\u76F8\u5BF9\u5E94\u5408\u7406\u56DE\u62A5\uFF0C\u6FC0\u52B1\u5458\u5DE5\u4E0D\u65AD\u521B\u9020\u4F18\u5F02\u7EE9\u6548\uFF0C\u5E76\u575A\u6301\u7269\u8D28\u6FC0\u52B1\u4E0E\u7CBE\u795E\u6FC0\u52B1\u5E76\u4E3E\u3002",
852
- "\u4EFB\u4F55\u4EFB\u52A1\u7684\u8FBE\u6210\u79BB\u4E0D\u5F00\u56E2\u961F\u534F\u540C\u548C\u591A\u90E8\u95E8\u7684\u652F\u6491\uFF0C\u6D77\u666E\u9F13\u52B1\u5145\u5206\u53D1\u6325\u5404\u65B9\u8D44\u6E90\u4F18\u52BF\uFF0C\u534F\u540C\u521B\u9020\u66F4\u5927\u6210\u5C31\uFF0C\u5B9E\u73B0\u5171\u8D62\uFF1B\u4E5F\u8981\u4F9D\u636E\u4EFB\u52A1\u53C2\u4E0E\u7A0B\u5EA6\u548C\u8D21\u732E\u4E0D\u540C\uFF0C\u7531\u9879\u76EE\u8D1F\u8D23\u4EBA\u4E3B\u5BFC\u5408\u7406\u5206\u914D\u3002"
853
- ]
854
- },
855
- {
856
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
857
- section: "\u4EF7\u503C\u89C2",
858
- title: "\u6838\u5FC3\u54C1\u683C\uFF1A\u4E8B\u6C42\u5353\u8D8A\u3001\u575A\u97E7\u4E0D\u62D4",
859
- prefix: "\u6838\u5FC3\u54C1\u683C",
860
- main: "\u4E8B\u6C42\u5353\u8D8A\u3001\u575A\u97E7\u4E0D\u62D4",
861
- paragraphs: [
862
- "\u201C\u4E8B\u6C42\u5353\u8D8A\u3001\u575A\u97E7\u4E0D\u62D4\u201D\u662F\u6D77\u666E\u7684\u6838\u5FC3\u54C1\u683C\uFF0C\u662F\u6D77\u666E\u4EBA\u7559\u5728\u9AA8\u5B50\u91CC\u7684\u9057\u4F20\u57FA\u56E0\uFF1B\u4EE5\u5353\u8D8A\u5B8C\u6210\u8D85\u8D8A\uFF0C\u5B9E\u73B0\u57FA\u4E1A\u957F\u9752\u662F\u6D77\u666E\u5185\u53D1\u52A8\u529B\u6E90\u6CC9\u3002",
863
- "\u65E0\u8BBA\u4F01\u4E1A\u7ECF\u8425\u6291\u6216\u4EBA\u751F\u8D77\u4F0F\uFF0C\u6210\u529F\u5F80\u5F80\u6765\u81EA\u4E8E\u5BF9\u68A6\u60F3\u7684\u4E0D\u653E\u5F03\u548C\u575A\u97E7\u8FFD\u6C42\uFF01\u6D77\u666E\u4EBA\u544A\u8BEB\u81EA\u5DF1\uFF1A\u811A\u8E0F\u575A\u5B9E\u7684\u571F\u5730\uFF0C\u9762\u5411\u68A6\u60F3\uFF0C\u575A\u97E7\u5411\u524D\uFF01"
864
- ]
865
- },
866
- {
867
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
868
- section: "\u4EF7\u503C\u89C2",
869
- title: "\u56E2\u961F\u7406\u5FF5\uFF1A\u643A\u624B\u5E76\u80A9\u3001\u653B\u575A\u514B\u96BE",
870
- prefix: "\u56E2\u961F\u7406\u5FF5",
871
- main: "\u643A\u624B\u5E76\u80A9\u3001\u653B\u575A\u514B\u96BE",
872
- paragraphs: [
873
- "\u56E2\u961F\u9700\u8981\u6709\u660E\u786E\u76EE\u6807\u548C\u5F52\u5C5E\u611F\uFF0C\u624D\u80FD\u51DD\u805A\u4F17\u4EBA\uFF0C\u540C\u5FC3\u534F\u529B\uFF0C\u5B8C\u6210\u4E2A\u4EBA\u4E0D\u80FD\u8FBE\u6210\u7684\u4EFB\u52A1\uFF0C\u6218\u80DC\u66F4\u5927\u6311\u6218\uFF0C\u5B9E\u73B0\u66F4\u9AD8\u7684\u4E8B\u4E1A\u76EE\u6807\u3002",
874
- "\u56E2\u961F\u8981\u6709\u5F52\u5C5E\u611F\uFF0C\u9700\u8981\u6838\u5FC3\u6210\u5458\u5C3D\u5230\u6559\u7EC3\u7684\u8D23\u4EFB\uFF0C\u6559\u5BFC\u6210\u5458\u5206\u5DE5\u534F\u540C\uFF0C\u4F18\u52BF\u4E92\u8865\uFF1B\u9700\u8981\u73ED\u957F\u7387\u5148\u5782\u8303\uFF0C\u51DD\u805A\u4F17\u5FC3\uFF0C\u643A\u624B\u5E76\u80A9\u3002",
875
- "\u56E2\u961F\u8981\u6709\u6218\u6597\u529B\uFF0C\u5C31\u8981\u6253\u9020\u5F7C\u6B64\u5C0A\u91CD\u3001\u76F8\u4E92\u4FE1\u4EFB\u7684\u56E2\u961F\u6C1B\u56F4\uFF0C\u98CE\u96E8\u540C\u821F\u3001\u540C\u7518\u5171\u82E6\u7684\u4FE1\u5FF5\uFF0C\u653B\u575A\u514B\u96BE\uFF0C\u6C38\u4E0D\u8A00\u9000\u7684\u6218\u6597\u4F5C\u98CE\u3002"
876
- ]
877
- },
878
- {
879
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
880
- section: "\u4EF7\u503C\u89C2",
881
- title: "\u594B\u6597\u8005\u8363\uFF1A\u4EE5\u594B\u6597\u8005\u4E3A\u672C\uFF0C\u5EFA\u65B0\u529F\u7ACB\u4F1F\u4E1A",
882
- prefix: "\u594B\u6597\u8005\u8363",
883
- main: "\u4EE5\u594B\u6597\u8005\u4E3A\u672C\uFF0C\u5EFA\u65B0\u529F\u7ACB\u4F1F\u4E1A",
884
- paragraphs: [
885
- "\u6D77\u666E\u8981\u5B9E\u73B0\u201C\u52A9\u529B\u5BA2\u6237\u667A\u8054\u4E07\u7269\u201D\u65B0\u4E8B\u4E1A\u613F\u666F\uFF0C\u5C31\u9700\u8981\u57F9\u517B\u9020\u5C31\u5927\u6279\u6709\u62B1\u8D1F\u3001\u6709\u624D\u5E72\u3001\u6562\u62C5\u5F53\u3001\u65E0\u754F\u8270\u96BE\u7684\u594B\u6597\u8005\uFF0C\u6784\u5EFA\u6FC0\u52B1\u5458\u5DE5\u52C7\u4E8E\u594B\u6597\u7684\u5206\u914D\u673A\u5236\uFF0C\u642D\u5EFA\u594B\u6597\u8005\u534F\u540C\u521B\u4E1A\u7684\u5F00\u653E\u578B\u4E8B\u4E1A\u5E73\u53F0\u3002",
886
- "\u594B\u6597\u8005\u662F\u6D77\u666E\u201C\u4EBA\u4E3A\u4E3A\u4EBA\uFF0C\u4EF7\u503C\u5171\u521B\u201D\u6709\u529B\u7684\u8DF5\u884C\u8005\uFF0C\u901A\u8FC7\u8C26\u900A\u5B66\u4E60\u548C\u4E0D\u65AD\u594B\u8FDB\uFF0C\u63D0\u5347\u8BA4\u77E5\u548C\u4E13\u4E1A\u6280\u80FD\uFF0C\u4E0D\u65AD\u6EE1\u8DB3\u5BA2\u6237\u9700\u6C42\uFF0C\u4E3A\u4F01\u4E1A\u521B\u9020\u66F4\u5927\u4EF7\u503C\uFF1B\u8FDB\u800C\u4E3A\u793E\u4F1A\u505A\u51FA\u8F83\u5927\u8D21\u732E\uFF0C\u4E3A\u5BB6\u4EBA\u5E26\u6765\u4E30\u539A\u7684\u56DE\u62A5\u3002",
887
- "\u594B\u6597\u8005\u662F\u652F\u6491\u6D77\u666E\u4E8B\u4E1A\u53D1\u5C55\u7684\u680B\u6881\uFF0C\u4ED6\u4EEC\u80A9\u8D1F\u4F7F\u547D\uFF0C\u4E3B\u52A8\u4F5C\u4E3A\uFF0C\u5C06\u4E2A\u4EBA\u52AA\u529B\u878D\u5165\u96C6\u4F53\u594B\u6597\u4E4B\u4E2D\uFF1B\u5FD7\u5B58\u9AD8\u8FDC\uFF0C\u5949\u732E\u81EA\u6211\uFF0C\u652F\u6491\u6D77\u666E\u4E8B\u4E1A\u6301\u7EED\u53D1\u5C55\u3002",
888
- "\u4E0D\u604B\u65E7\u529F\uFF0C\u5F03\u79C1\u4E3A\u4F17\uFF0C\u6301\u7EED\u65B0\u5EFA\u529F\u3001\u7ACB\u4F1F\u4E1A\uFF0C\u4E0D\u65AD\u5B9E\u73B0\u4EBA\u751F\u5927\u6211\u3002"
889
- ]
890
- },
891
- {
892
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
893
- section: "\u6D77\u666E\u7CBE\u795E",
894
- title: "\u6D77\u666E\u5BD3\u610F\uFF1AHICAP\u3001\u6D77\u4E4B\u52BF\u3001\u666E\u4E4B\u6001",
895
- prefix: "\u6D77\u666E\u5BD3\u610F",
896
- main: "HICAP\u3001\u6D77\u4E4B\u52BF\u3001\u666E\u4E4B\u6001",
897
- paragraphs: [
898
- "\u6D77\u666E\uFF0C\u4E2D\u6587\u540D\u79F0\uFF0C\u4E3A\u201CHICAP\u201D\u7684\u97F3\u8BD1\u3002\u5F7C\u6B64\u72EC\u7ACB\u6210\u610F\uFF0C\u53C8\u76F8\u5F97\u76CA\u5F70\u3002",
899
- "HICAP\u7531\u82F1\u6587\u524D\u7F00\u201CHI\u201D\u548C\u5355\u8BCD\u201CCAP\u201D\u7EC4\u5408\u800C\u6210\u3002HI\u610F\u6307\u9AD8\u54C1\u8D28\uFF0CCAP\u6709\u5E3D\u5B50\u3001\u76D6\u5B50\u3001\u5C71\u9876\u7B49\u610F\u3002HICAP\u5BD3\u610F\u81F3\u9AD8\u54C1\u8D28\u548C\u81F3\u4E0A\u5883\u754C\u3002\u6D77\u666E\u4E4B\u6D77\uFF0C\u5BD3\u5927\u6D77\u4E4B\u5BBD\u9614\uFF1B\u6D77\u666E\u4E4B\u666E\uFF0C\u610F\u666E\u901A\u5E73\u5B9E\u3002\u6D77\u666E\u2014HICAP\uFF0C\u8BE0\u91CA\u4E86\u4E2D\u897F\u5408\u74A7\u4E0E\u517C\u5BB9\u5E76\u84C4\uFF0C\u4F53\u73B0\u4E86\u9AD8\u8FDC\u7684\u4E8B\u4E1A\u65B9\u5411\uFF0C\u4E0E\u7EB3\u767E\u5DDD\u7684\u5BBD\u539A\u3002",
900
- "\u6D77\u4E4B\u52BF\uFF1A\u5927\u6D77\u6709\u7EB3\u767E\u5DDD\u7684\u5BBD\u5E7F\u80F8\u6000\uFF0C\u884D\u4F17\u751F\u7684\u535A\u5927\u5BB9\u91CF\uFF0C\u5E73\u9A87\u6D6A\u7684\u65E0\u754F\u6C14\u6982\u3002\u6D77\u666E\u53D1\u6E90\u4E8E\u9EC4\u6D77\u4E4B\u6EE8\uFF0C\u5F53\u4EFF\u6548\u5927\u6D77\u4E4B\u6C14\u52BF\uFF0C\u805A\u8D24\u624D\uFF0C\u8FCE\u6311\u6218\uFF01",
901
- "\u666E\u4E4B\u6001\uFF1A\u6D77\u5C45\u4F4E\u4F4D\uFF0C\u65B9\u7EB3\u767E\u5DDD\u4E4B\u6C34\uFF1B\u6C34\u56E0\u5176\u67D4\uFF0C\u65B9\u4EFB\u5176\u5F62\uFF0C\u5229\u4E07\u7269\u800C\u4E0D\u4E89\u3002\u6D77\u666E\u5F53\u5FAA\u9759\u6C34\u4E4B\u666E\u5B9E\uFF0C\u8C26\u900A\u5E73\u548C\uFF1B\u5F53\u6548\u5F31\u6C34\u4E4B\u80FD\uFF0C\u6267\u7740\u575A\u97E7\uFF01"
902
- ]
903
- },
904
- {
905
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
906
- section: "\u6D77\u666E\u7CBE\u795E",
907
- title: "\u6838\u5FC3\u7CBE\u795E\uFF1A\u8C26\u900A\u3001\u8BDA\u6B63\u3001\u7CBE\u8FDB",
908
- prefix: "\u6838\u5FC3\u7CBE\u795E",
909
- main: "\u8C26\u900A\u3001\u8BDA\u6B63\u3001\u7CBE\u8FDB",
910
- paragraphs: [
911
- "\u8C26\u900A\uFF1A\u59CB\u7EC8\u6000\u7740\u4E00\u9897\u7A7A\u676F\u4E4B\u5FC3\uFF0C\u52E4\u4E8E\u5B66\u4E60\uFF0C\u539A\u5FB7\u8F7D\u7269\uFF1B\u4E0D\u81EA\u6EE1\u3001\u4E0D\u81EA\u50B2\u3001\u4E0D\u8FF7\u5931\uFF0C\u4E0D\u61C8\u8FFD\u6C42\u5FC3\u4E2D\u5927\u6211\u3002",
912
- "\u8BDA\u6B63\uFF1A\u4E0D\u65AD\u8FFD\u5BFB\u5723\u8D24\u8BDA\u610F\u6B63\u5FC3\uFF0C\u5766\u8BDA\u8BAE\u4E8B\uFF0C\u8BDA\u4FE1\u4E3A\u4EBA\uFF1B\u81F4\u826F\u77E5\uFF0C\u5C3D\u5DF1\u8D23\uFF1B\u4FEE\u8EAB\u3001\u9F50\u5BB6\u3001\u6CBB\u56FD\u3001\u5229\u5929\u4E0B\u3002",
913
- "\u7CBE\u8FDB\uFF1A\u6C38\u8FDC\u4FDD\u6301\u4E8B\u4E1A\u594B\u8FDB\u4E4B\u5FC3\uFF0C\u77E5\u884C\u5408\u4E00\uFF0C\u5584\u4E8E\u62C5\u5F53\uFF1B\u660E\u4EE5\u9053\u3001\u7CBE\u4E8E\u4E1A\u3001\u8FBE\u4F7F\u547D\uFF0C\u643A\u624B\u5171\u8FDB\u7ACB\u5DF1\u8FBE\u4EBA\u3002"
914
- ]
915
- },
916
- {
917
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
918
- section: "\u6D77\u666E\u7CBE\u795E",
919
- title: "\u6D77\u666E\u4F5C\u98CE\uFF1A\u5FEB\u901F\u3001\u7CBE\u76CA\uFF08\u901F\u5EA6\u51B3\u5B9A\u80DC\u8D1F\uFF0C\u7EC6\u8282\u5F71\u54CD\u6210\u8D25\uFF01\uFF09",
920
- prefix: "\u6D77\u666E\u4F5C\u98CE",
921
- main: "\u5FEB\u901F\u3001\u7CBE\u76CA\uFF08\u901F\u5EA6\u51B3\u5B9A\u80DC\u8D1F\uFF0C\u7EC6\u8282\u5F71\u54CD\u6210\u8D25\uFF01\uFF09",
922
- paragraphs: [
923
- "\u5FEB\u901F\uFF1A\u5FEB\u901F\u53CD\u5E94\u3001\u53CA\u65F6\u51B3\u7B56\u3001\u8FC5\u901F\u884C\u52A8\u3001\u6CE8\u91CD\u6548\u7387\u3002",
924
- "\u7CBE\u76CA\uFF1A\u4E00\u4E1D\u4E0D\u82DF\u3001\u7EC6\u81F4\u5165\u5FAE\u3001\u8BA4\u771F\u6267\u7740\u3001\u7CBE\u76CA\u6C42\u7CBE\u3002"
925
- ]
926
- },
927
- {
928
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
929
- section: "\u6D77\u666E\u7CBE\u795E",
930
- title: "\u6D77\u666E\u5320\u5FC3\uFF1A\u4E3A\u540D\u724C\u6253\u9020\u738B\u51A0\uFF01",
931
- prefix: "\u6D77\u666E\u5320\u5FC3",
932
- main: "\u4E3A\u540D\u724C\u6253\u9020\u738B\u51A0\uFF01",
933
- paragraphs: [
934
- "\u4E3A\uFF1A\u6D77\u666E\u5C06\u81EA\u8EAB\u5B9A\u4F4D\u4E8E\u670D\u52A1\u8005\u7684\u89D2\u8272\uFF0C\u505A\u540D\u724C\u80CC\u540E\u6700\u4FE1\u8D56\u7684\u54C1\u724C\uFF1B",
935
- "\u540D\u724C\uFF1A\u6D77\u666E\u7684\u76EE\u6807\u5BA2\u6237\u5B9A\u4F4D\u4E8E\u5176\u4EA7\u54C1\u4F7F\u7528\u9AD8\u54C1\u8D28\u5B89\u9632\u76D6\u505A\u5305\u88C5\uFF0C\u62E5\u6709\u56FD\u5185\u3001\u5916\u8F83\u9AD8\u77E5\u540D\u5EA6\u3001\u7F8E\u8A89\u5EA6\u4E4B\u54C1\u724C\u7684\u9152\u3001\u996E\u3001\u6CB9\u3001\u8C03\u5473\u54C1\u7C7B\u4F01\u4E1A\uFF1B",
936
- "\u6253\u9020\uFF1A\u6D77\u666E\u575A\u6301\u201C\u5FEB\u901F\u3001\u7CBE\u76CA\u201D\u7684\u7ECF\u8425\u4F5C\u98CE\uFF0C\u6301\u7EED\u4E3A\u5BA2\u6237\u7814\u53D1\u548C\u5236\u9020\u9AD8\u54C1\u8D28\u7684\u74F6\u76D6\u4EA7\u54C1\uFF0C\u53CA\u65F6\u63D0\u4F9B\u9AD8\u4EF7\u503C\u7684\u670D\u52A1\uFF1B",
937
- "\u738B\u51A0\uFF1A\u6D77\u666E\u81F4\u529B\u4E8E\u521B\u9020\u9AD8\u54C1\u8D28\u7684\u74F6\u76D6\u5305\u88C5\uFF0C\u4EE5\u201C\u8D28\u91CF\u6C42\u751F\u5B58\uFF0C\u521B\u65B0\u8C0B\u53D1\u5C55\u201D\u4E3A\u8BAD\u5BFC\uFF0C\u7528\u5FC3\u4E3A\u5BA2\u6237\u6301\u7EED\u5730\u521B\u9020\u66F4\u9AD8\u4EF7\u503C\u3002"
938
- ]
939
- },
940
- {
941
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
942
- section: "\u7ECF\u8425\u7406\u5FF5",
943
- title: "\u7ECF\u8425\u5B97\u65E8\uFF1A\u52A9\u529B\u5BA2\u6237\u667A\u8054\u4E07\u7269",
944
- prefix: "\u7ECF\u8425\u5B97\u65E8",
945
- main: "\u52A9\u529B\u5BA2\u6237\u667A\u8054\u4E07\u7269",
946
- paragraphs: [
947
- "\u6D77\u666E\u5C06\u81EA\u5DF1\u7684\u5B9A\u4F4D\u4E8E\u63D0\u4F9B\u667A\u80FD\u7269\u8054\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\u548C\u8FD0\u8425\u670D\u52A1\u7684\u670D\u52A1\u5546\uFF0C\u4EE5\u89C4\u6A21\u8DB3\u591F\u5927\u7684\u540D\u4F18\u9152\u4F01\u548C\u98DF\u836F\u4F01\u4E1A\u53CA\u4E0A\u4E0B\u4EA7\u4E1A\u94FE\u4E3A\u81EA\u5DF1\u7684\u76EE\u6807\u5BA2\u6237\uFF0C\u52A9\u529B\u5BA2\u6237\u62E5\u62B1\u79FB\u52A8\u7269\u8054+\u667A\u80FD\u5316\u7CFB\u7EDF\u5E73\u53F0+\u5DE5\u4E1A4.0\uFF0C\u6DF1\u5EA6\u94FE\u63A5\u5382\u5BB6+\u5546\u5BB6+\u6E20\u9053+\u4EA7\u54C1+\u6D88\u8D39\u8005\uFF0C\u5B9E\u73B0\u4EE5\u5927\u6570\u636E\u4E3A\u4F9D\u6258\u7684\u7CBE\u51C6\u51B3\u7B56\u4E0E\u9AD8\u6548\u7ECF\u8425\u3002"
948
- ]
949
- },
950
- {
951
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
952
- section: "\u7ECF\u8425\u7406\u5FF5",
953
- title: "\u8FD0\u8425\u7406\u5FF5\uFF1A\u5BA2\u6237\u60DF\u5C0A\u3001\u4E1A\u52A1\u5F53\u5148",
954
- prefix: "\u8FD0\u8425\u7406\u5FF5",
955
- main: "\u5BA2\u6237\u60DF\u5C0A\u3001\u4E1A\u52A1\u5F53\u5148",
956
- paragraphs: [
957
- "\u4EE5\u5BA2\u6237\u4E3A\u4E2D\u5FC3\uFF0C\u5FEB\u901F\u8BC6\u522B\u548C\u6EE1\u8DB3\u5BA2\u6237\u9700\u6C42\uFF0C\u4E3A\u5BA2\u6237\u521B\u9020\u66F4\u9AD8\u4EF7\u503C\u662F\u6D77\u666E\u7ECF\u8425\u9996\u8981\uFF0C\u662F\u8FD0\u8425\u7684\u6839\u672C\u7406\u5FF5\u548C\u9996\u8981\u539F\u5219\u3002",
958
- "\u5EFA\u7ACB\u5FEB\u901F\u8BC6\u522B\u548C\u6EE1\u8DB3\u5BA2\u6237\u9700\u6C42\u7684\u7EC4\u7EC7\u548C\u6587\u5316\uFF0C\u6784\u5EFA\u8FC5\u901F\u9002\u5E94\u5E02\u573A\u548C\u4E1A\u52A1\u53D8\u5316\u7684\u7F51\u7EDC\u5316\u7EC4\u7EC7\u662F\u6D77\u666E\u7EC4\u7EC7\u6784\u5EFA\u7684\u6839\u672C\u3002",
959
- "\u4E1A\u52A1\u662F\u4F01\u4E1A\u7ECF\u8425\u7684\u9996\u8981\uFF0C\u5BA2\u6237\u9700\u6C42\u662F\u7ECF\u8425\u7684\u4E2D\u5FC3\u3002"
960
- ]
961
- },
962
- {
963
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
964
- section: "\u7ECF\u8425\u7406\u5FF5",
965
- title: "\u6838\u5FC3\u7ADE\u4E89\u529B\uFF1A\u8D44\u6E90\u6574\u5408\uFF0C\u7CFB\u7EDF\u8FD0\u8425",
966
- prefix: "\u6838\u5FC3\u7ADE\u4E89\u529B",
967
- main: "\u8D44\u6E90\u6574\u5408\uFF0C\u7CFB\u7EDF\u8FD0\u8425",
968
- paragraphs: [
969
- "\u575A\u6301\u6253\u9020\u8D44\u6E90\u6574\u5408\uFF0C\u7CFB\u7EDF\u8FD0\u8425\u7684\u6838\u5FC3\u80FD\u529B\uFF0C\u6301\u7EED\u5FEB\u901F\u6EE1\u8DB3\u5BA2\u6237\u9700\u6C42\u3002",
970
- "\u8D44\u6E90\uFF1A\u62E5\u6709\u5148\u8FDB\u79D1\u6280\u548C\u4F18\u8D28\u8D44\u6E90\u7684\u521B\u65B0\u4F01\u4E1A\u548C\u5FD7\u540C\u9053\u5408\u7684\u4F19\u4F34\u3002",
971
- "\u6574\u5408\uFF1A\u5411\u6240\u6709\u667A\u80FD\u7269\u8054\u5148\u8FDB\u79D1\u6280\u7684\u62E5\u6709\u8005\u5F00\u653E\u5408\u4F5C\uFF0C\u53D1\u5C55\u5171\u8D62\u3002",
972
- "\u7CFB\u7EDF\uFF1A\u4EE5\u667A\u6167 e\u76D6\u4E3A\u539F\u70B9\uFF0C\u5B8C\u5584\u7269\u8054\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\uFF0C\u6253\u901A\u9152\u4EA7\u4E1A\u6570\u636E\u94FE\uFF0C\u8FDE\u901A\u6D88\u8D39\u8005\uFF0C\u8FDB\u800C\u6784\u5EFA\u9152\u53CB\u751F\u6001\u5708\u3002",
973
- "\u8FD0\u8425\uFF1A\u4E3A\u5BA2\u6237\u63D0\u4F9B\u7269\u8054\u7CFB\u7EDF\u65B9\u6848\u548C\u8FD0\u8425\u670D\u52A1\uFF0C\u4E3A\u5BA2\u6237\u521B\u9020\u66F4\u5927\u4EF7\u503C\uFF0C\u4ECE\u800C\u6784\u5EFA\u9AD8\u7C98\u6027\u7684\u4E92\u60E0\u53CC\u8D62\u7684\u4F19\u4F34\u5173\u7CFB\u3002"
974
- ]
975
- },
976
- {
977
- chapter: "\u7B2C\u4E00\u7AE0 \u6838\u5FC3\u7406\u5FF5",
978
- section: "\u7ECF\u8425\u7406\u5FF5",
979
- title: "\u6D77\u666E\u4F01\u8BAD\uFF1A\u8D28\u91CF\u6C42\u751F\u5B58\uFF0C\u521B\u65B0\u8C0B\u53D1\u5C55",
980
- prefix: "\u6D77\u666E\u4F01\u8BAD",
981
- main: "\u8D28\u91CF\u6C42\u751F\u5B58\uFF0C\u521B\u65B0\u8C0B\u53D1\u5C55",
982
- paragraphs: [
983
- "\u6D77\u666E\u65F6\u523B\u4FDD\u6301\u9AD8\u5EA6\u7684\u5FE7\u60A3\u610F\u8BC6\u548C\u5371\u673A\u611F\uFF0C\u5373\u4F7F\u5728\u53D1\u5C55\u987A\u5229\u4E4B\u65F6\uFF0C\u4E5F\u8981\u610F\u8BC6\u5230\u4EFB\u4F55\u5371\u673A\u7684\u5230\u6765\u90FD\u4F1A\u5A01\u80C1\u5230\u4F01\u4E1A\u7684\u751F\u5B58\uFF0C\u4EFB\u4F55\u81EA\u6EE1\u3001\u5B89\u9038\u3001\u5962\u4F88\u3001\u9A84\u7EB5\u7684\u5FC3\u6001\u548C\u884C\u4E3A\u90FD\u662F\u6D77\u666E\u4E8B\u4E1A\u53D1\u5C55\u7684\u5927\u654C\uFF0C\u8C26\u900A\u4E3A\u4EBA\u8C0B\u4E8B\u4E1A\u3002",
984
- "\u4F18\u79C0\u7684\u4F01\u4E1A\u4E00\u5B9A\u8981\u6709\u80FD\u529B\u4E3A\u5BA2\u6237\u6301\u7EED\u63D0\u4F9B\u9AD8\u54C1\u8D28\u7684\u4EA7\u54C1\u548C\u670D\u52A1\uFF0C\u8FD9\u4E5F\u662F\u8D62\u5F97\u5BA2\u6237\u4FE1\u4EFB\u7684\u57FA\u7840\uFF0C\u662F\u4F01\u4E1A\u5B58\u5728\u7684\u6839\u672C\u3002\u6D77\u666E\u79C9\u627F\u5DEE\u5F02\u5316\u7684\u7B56\u7565\u548C\u77E5\u8BC6\u4EA7\u6743\u8D85\u524D\u6295\u5165\u4E0E\u5408\u7406\u5E03\u5C40\uFF0C\u4E3A\u5BA2\u6237\u63D0\u4F9B\u8D85\u9884\u671F\u7684\u4EA7\u54C1\u53CA\u670D\u52A1\u3002",
985
- "\u4F01\u4E1A\u521B\u65B0\u4E0D\u9650\u4E8E\u516C\u53F8\u7684\u4EA7\u54C1\u7814\u53D1\u3001\u6280\u672F\u521B\u65B0\uFF0C\u8FD8\u5305\u62EC\u7D27\u8DDF\u65F6\u4EE3\u53D1\u5C55\u8D8B\u52BF\u7684\u8BA4\u77E5\u6539\u53D8\u3001\u7406\u5FF5\u53D1\u5C55\u3001\u7EC4\u7EC7\u53D8\u9769\u3001\u5236\u5EA6\u521B\u65B0\u7B49\u591A\u9886\u57DF\u7684\u521B\u65B0\u3002",
986
- "\u6CA1\u6709\u521B\u65B0\uFF0C\u4F01\u4E1A\u5C31\u4F1A\u50F5\u6B7B\u3002\u552F\u6709\u4EE5\u5BA2\u6237\u9700\u6C42\u548C\u5E02\u573A\u8D8B\u52BF\u4E3A\u4E3B\u5BFC\uFF0C\u5EFA\u7ACB\u660E\u6670\u4F01\u4E1A\u613F\u666F\u4E3A\u6307\u5F15\u7684\u521B\u65B0\uFF0C\u4F01\u4E1A\u65B9\u80FD\u6301\u7EED\u53D1\u5C55\uFF0C\u786E\u4FDD\u57FA\u4E1A\u957F\u9752\u3002"
987
- ]
988
- },
989
- {
990
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
991
- section: "\u7ECF\u8425\u6A21\u5F0F",
992
- title: "\u5BA2\u6237\u5B9A\u4F4D\uFF1A\u6709\u54C1\u724C\u5F71\u54CD\u529B\u7684\u9152\u996E\u77E5\u540D\u4F01\u4E1A",
993
- prefix: "\u5BA2\u6237\u5B9A\u4F4D",
994
- main: "\u6709\u54C1\u724C\u5F71\u54CD\u529B\u7684\u9152\u996E\u77E5\u540D\u4F01\u4E1A",
995
- paragraphs: [
996
- "\u6D77\u666E\u7684\u5BA2\u6237\u5B9A\u4F4D\u4E8E\u62E5\u6709\u8F83\u9AD8\u77E5\u540D\u5EA6\u3001\u7F8E\u8A89\u5EA6\u4E4B\u54C1\u724C\u7684\u540D\u9152\u3001\u996E\u54C1\u3001\u98DF\u7528\u6CB9\u3001\u53E3\u670D\u6DB2\u7B49\u56FD\u5185\u5916\u77E5\u540D\u4F01\u4E1A\u3002",
997
- "\u5BA2\u6237\u4EA7\u54C1\u9700\u8981\u5177\u6709\u8F83\u9AD8\u9632\u4F2A\u529F\u80FD\u7684\u9AD8\u54C1\u8D28\u5305\u88C5\u4EA7\u54C1\uFF08\u76D6\u3001\u76D2\uFF09\u6216\u667A\u80FD\u5316\u5305\u88C5\u4EA7\u54C1\u505A\u5305\u88C5\u7684\u74F6\u88C5\u7C7B\u4EA7\u54C1\u3002",
998
- "\u5728\u4E92\u8054\u7F51+\u65F6\u4EE3\uFF0C\u6709\u524D\u77BB\u53D1\u5C55\u601D\u7EF4\u3001\u8981\u57FA\u4E8E\u4EA7\u54C1\u5B89\u5168\u8FFD\u6EAF\u548C\u4EA7\u4E1A\u7269\u8054\u53CA\u667A\u80FD\u5316\u5347\u7EA7\u89E3\u51B3\u65B9\u6848\u7684\u4F01\u4E1A\u3002"
999
- ]
1000
- },
1001
- {
1002
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1003
- section: "\u7ECF\u8425\u6A21\u5F0F",
1004
- title: "\u5E02\u573A\u5B9A\u4F4D\uFF1A\u7ACB\u8DB3\u672C\u571F\uFF0C\u8FC8\u5411\u4E16\u754C\uFF0C\u5FC3\u7CFB\u672A\u6765",
1005
- prefix: "\u5E02\u573A\u5B9A\u4F4D",
1006
- main: "\u7ACB\u8DB3\u672C\u571F\uFF0C\u8FC8\u5411\u4E16\u754C\uFF0C\u5FC3\u7CFB\u672A\u6765",
1007
- paragraphs: [
1008
- "\u672A\u67655-10\u5E74\uFF0C\u6D77\u666E\u5C06\u5168\u9762\u5B8C\u6210\u4EA7\u54C1\u5411\u667A\u6167e\u76D6\u7684\u5347\u7EA7\uFF0C\u4F01\u4E1A\u5411\u4EE5\u667A\u6167e\u76D6\uFF08\u5305\u88C5\uFF09\u4E3A\u5165\u53E3\u7684\u4EA7\u4E1A\u667A\u80FD\u7269\u8054\u79D1\u6280\u670D\u52A1\u5546\u8F6C\u53D8\uFF0C\u4EA7\u54C1\u548C\u670D\u52A1\u9664\u8986\u76D6\u73B0\u6709\u9152\u4F01\u5BA2\u6237\uFF0C\u4E3B\u52A8\u5B9E\u73B0\u4EA7\u54C1\u5411\u5E7F\u5EA6\u548C\u670D\u52A1\u5411\u6DF1\u5EA6\u7684\u5EF6\u4F38\u6269\u5C55\u3002",
1009
- "\u6D77\u666E\u5C06\u4E3B\u52A8\u501F\u52A9\u79EF\u7D2F\u7684\u4EA7\u54C1\u4F18\u52BF\u548C\u7814\u53D1\u4F18\u52BF\uFF0C\u5411\u9700\u8981\u9AD8\u54C1\u8D28e\u76D6\u5305\u88C5\u548C\u667A\u80FD\u7269\u8054\u79D1\u6280\u7684\u975E\u9152\u7C7B\u7684\u5176\u5B83\u884C\u4E1A\u7A33\u6B65\u5EF6\u4F38\u6269\u5C55\uFF0C\u505A\u5F3A\u505A\u5927\u3002",
1010
- "\u6D77\u666E\u5F53\u653E\u773C\u5168\u7403\u5E02\u573A\uFF0C\u4EE5\u5F62\u6210\u7684\u4EA7\u54C1\u5236\u9020\u4F18\u52BF\u548C\u4E92\u8054\u7F51+\u7684\u5148\u53D1\u4F18\u52BF\uFF0C\u4E3B\u52A8\u62DB\u52DF\u548C\u57F9\u517B\u56FD\u9645\u5316\u4EBA\u624D\uFF0C\u5BFB\u6C42\u5408\u4F5C\u4F19\u4F34\uFF0C\u5BFB\u6C42\u66F4\u5927\u7684\u53D1\u5C55\u7A7A\u95F4\u3002",
1011
- "\u6D77\u666E\u5F53\u4E3B\u52A8\u62E5\u62B1\u4EA7\u4E1A\u4E92\u8054\u7F51\u548C\u7269\u8054\u7F51\u53D1\u5C55\u7684\u65B0\u673A\u9047\uFF0C\u4E3B\u52A8\u7275\u624B\u667A\u80FD\u79D1\u6280\u548C\u6570\u5B57\u79D1\u6280\u53D1\u5C55\u65B0\u7684\u673A\u4F1A\uFF0C\u5BFB\u6C42\u66F4\u5927\u7684\u8DE8\u754C\u53D1\u5C55\u673A\u9047\uFF0C\u52C7\u7ACB\u6F6E\u5934\u3002"
1012
- ]
1013
- },
1014
- {
1015
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1016
- section: "\u7ECF\u8425\u6A21\u5F0F",
1017
- title: "\u4EA7\u54C1\u670D\u52A1\uFF1A\u667A\u80FD\u5305\u88C5\xD7\u667A\u8054\u79D1\u6280\xD7\u7CFB\u7EDF\u8FD0\u8425",
1018
- prefix: "\u4EA7\u54C1\u670D\u52A1",
1019
- main: "\u667A\u80FD\u5305\u88C5\xD7\u667A\u8054\u79D1\u6280\xD7\u7CFB\u7EDF\u8FD0\u8425",
1020
- paragraphs: [
1021
- "\u667A\u80FD\u5305\u88C5\uFF1A\u6D77\u666E\u4EE5\u667A\u80FD\u5305\u88C5\u7684\u9886\u5BFC\u8005\u4E3A\u4F7F\u547D\uFF0C\u5C06\u52A0\u5927\u5728\u667A\u6167e\u76D6\u7B49\u667A\u80FD\u5305\u88C5\u4EA7\u54C1\u4E0A\u7684\u7814\u53D1\u548C\u4EA7\u4E1A\u5316\u5E94\u7528\u7684\u6295\u5165\uFF0C\u63A8\u8FDB\u5728\u9700\u8981\u9AD8\u54C1\u8D28\u5B89\u5168\u9632\u62A4\u548C\u4EA7\u54C1\u4E0E\u8D28\u91CF\u8FFD\u6EAF\u6709\u8981\u6C42\u7684\u9152\u996E\u7B49\u7C7B\u4EA7\u54C1\u4E0A\u7684\u5E94\u7528\uFF0C\u5F62\u6210\u9886\u5148\u7684\u7ADE\u4E89\u4F18\u52BF\u3002",
1022
- "\u667A\u8054\u79D1\u6280\uFF1A\u4EE5\u667A\u6167e\u76D6\u7B49\u667A\u80FD\u5305\u88C5\u4E3A\u5165\u53E3\uFF0C\u4E3A\u5BA2\u6237\u63D0\u4F9B\u914D\u5957\u7684\u667A\u80FD\u7269\u8054\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\uFF0C\u52A9\u529B\u5BA2\u6237\u6784\u5EFA\u4F9B\u5E94\u94FEe\u7801\u7BA1\u63A7\u4E2D\u67A2\uFF0C\u6253\u901A\u4F9B\u5E94\u3001\u751F\u4EA7\u3001\u7269\u6D41\u3001\u9500\u552E\u3001\u7528\u6237\u7684\u4FE1\u606F\u901A\u8DEF\uFF0C\u5B9E\u73B0\u6570\u636E\u900F\u660E\u3001\u7ECF\u8425\u9AD8\u6548\u3001\u51B3\u7B56\u7CBE\u51C6\u3002",
1023
- "\u7CFB\u7EDF\u8FD0\u8425\uFF1A\u6D77\u666E\u5C06\u7D27\u8DDF\u7269\u8054\u7F51\u548C\u4EA7\u4E1A\u667A\u80FD\u5316\u7684\u53D1\u5C55\u8D8B\u52BF\uFF0C\u638C\u63E1\u5176\u6838\u5FC3\u6280\u672F\u53D1\u5C55\uFF0C\u6574\u5408\u4F18\u8D28\u7684\u793E\u4F1A\u8D44\u6E90\uFF0C\u6DF1\u5EA6\u670D\u52A1\u4E8E\u6D77\u666E\u6700\u4F18\u8D28\u7684\u6838\u5FC3\u5BA2\u6237\uFF0C\u4E3A\u5176\u63D0\u4F9B\u6700\u524D\u6CBF\u7684\u667A\u8054\u79D1\u6280\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\uFF0C\u4EE5\u53CA\u6DF1\u5EA6\u7684\u5927\u6570\u636E\u8FD0\u8425\u670D\u52A1\u3002",
1024
- "\u6D77\u666E\u901A\u8FC7\u667A\u80FD\u4EA7\u54C1\u7684\u5347\u7EA7\uFF0C\u5F00\u521B\u5305\u88C5\u884C\u4E1A\u667A\u80FD\u5316\u53D1\u5C55\u65B0\u8D8B\u52BF\uFF0C\u4E3A\u5BA2\u6237\u63D0\u4F9B\u589E\u503C\u5E94\u7528\uFF1B\u901A\u8FC7\u8F6C\u578B\u667A\u8054\u79D1\u6280\uFF0C\u4E3A\u5BA2\u6237\u63D0\u4F9B\u4E92\u8054\u65F6\u4EE3\u6240\u9700\u7684\u89E3\u51B3\u65B9\u6848\uFF0C\u63D0\u5347\u7ECF\u8425\u6548\u7387\u548C\u6548\u76CA\uFF1B\u5E76\u901A\u8FC7\u66F4\u6DF1\u5EA6\u7684\u7CFB\u7EDF\u8FD0\u8425\uFF0C\u52A9\u529B\u5BA2\u6237\u5B9E\u73B0\u7CBE\u51C6\u51B3\u7B56\uFF0C\u901A\u8FC7\u4E3A\u5BA2\u6237\u63D0\u4F9B\u6DF1\u5EA6\u7684\u4F53\u7CFB\u5316\u670D\u52A1\uFF0C\u4E3A\u5BA2\u6237\u521B\u9020\u66F4\u5927\u4EF7\u503C\u3002"
1025
- ]
1026
- },
1027
- {
1028
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1029
- section: "\u7ECF\u8425\u6218\u7565",
1030
- title: "\u963F\u7C73\u5DF4\uFF1A\u6784\u5EFA\u81EA\u6211\u8FDB\u5316\u7684\u7ECF\u8425\u4F53\u7CFB",
1031
- prefix: "\u963F\u7C73\u5DF4",
1032
- main: "\u6784\u5EFA\u81EA\u6211\u8FDB\u5316\u7684\u7ECF\u8425\u4F53\u7CFB",
1033
- paragraphs: [
1034
- "1\u3001\u57F9\u517B\u5927\u6279\u6709\u7ECF\u8425\u610F\u8BC6\u7684\u7ECF\u8425\u4EBA\u624D\u3002",
1035
- "2\u3001\u5EFA\u7ACB\u4E0E\u6536\u76CA\u6302\u94A9\u7684\u5168\u5458\u8003\u8BC4\u4F53\u7CFB\u3002",
1036
- "3\u3001\u6FC0\u52B1\u5168\u4F53\u5458\u5DE5\u5171\u540C\u53C2\u4E0E\u7ECF\u8425\u6539\u5584\u3002",
1037
- "4\u3001\u5408\u7406\u6388\u6743\uFF0C\u53D1\u6325\u9AA8\u5E72\u5458\u5DE5\u80FD\u52A8\u6027\u3002",
1038
- "5\u3001\u5B9E\u73B0\u4F01\u4E1A\u7ECF\u8425\u6301\u7EED\u6539\u5584\u6548\u76CA\u9012\u589E\u3002",
1039
- "6\u3001\u5B9E\u73B0\u5458\u5DE5\u7D20\u517B\u548C\u6536\u5165\u53EF\u6301\u7EED\u589E\u957F\u3002"
1040
- ]
1041
- },
1042
- {
1043
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1044
- section: "\u7ECF\u8425\u6218\u7565",
1045
- title: "\u8D44\u6E90\u6574\u5408\uFF1A\u5F00\u653E\u3001\u9886\u5148\u3001\u534F\u540C\u3001\u5171\u8D62",
1046
- prefix: "\u8D44\u6E90\u6574\u5408",
1047
- main: "\u5F00\u653E\u3001\u9886\u5148\u3001\u534F\u540C\u3001\u5171\u8D62",
1048
- paragraphs: [
1049
- "\u6D77\u666E\u4EE5\u5F00\u653E\u7684\u5FC3\u6001\uFF0C\u89C6\u62E5\u6709\u5148\u8FDB\u79D1\u6280\u548C\u4F18\u8D28\u8D44\u6E90\u7684\u4F01\u4E1A\u4E3A\u5408\u4F5C\u4F19\u4F34\uFF0C\u534F\u540C\u667A\u80FD\u7269\u8054\u5148\u8FDB\u79D1\u6280\u7684\u62E5\u6709\u8005\uFF0C\u771F\u8BDA\u670D\u52A1\u5BA2\u6237\uFF0C\u521B\u9020\u4EF7\u503C\uFF0C\u53D1\u5C55\u5171\u8D62\u3002"
1050
- ]
1051
- },
1052
- {
1053
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1054
- section: "\u7ECF\u8425\u6218\u7565",
1055
- title: "\u6280\u672F\u9886\u5148\uFF1A\u628A\u63E1\u8D8B\u52BF\uFF0C\u9886\u5148\u53D1\u5C55",
1056
- prefix: "\u6280\u672F\u9886\u5148",
1057
- main: "\u628A\u63E1\u8D8B\u52BF\uFF0C\u9886\u5148\u53D1\u5C55",
1058
- paragraphs: [
1059
- "\u6280\u672F\u9886\u5148\uFF0C\u662F\u6D77\u666E\u505A\u201C\u667A\u80FD\u5305\u88C5\u7684\u9886\u5BFC\u8005\u201D\u6240\u5FC5\u987B\uFF0C\u662F\u5B9E\u73B0\u201C\u52A9\u529B\u5BA2\u6237\u667A\u8054\u4E07\u7269\u201D\u638C\u63E1\u5E94\u6709\u77E5\u8BC6\u548C\u6280\u80FD\u6240\u5FC5\u987B\uFF0C\u662F\u5E02\u573A\u7ADE\u4E89\u81F4\u80DC\u7684\u6839\u672C\u3002",
1060
- "\u6280\u672F\u9886\u5148\uFF0C\u5C31\u8981\u4EE5\u5BA2\u6237\u4E3A\u4E2D\u5FC3\uFF0C\u4E86\u89E3\u5BA2\u6237\u5F53\u4E0B\u9700\u6C42\u548C\u770B\u6E05\u6F5C\u5728\u7684\u9700\u6C42\uFF1B\u8FD8\u8981\u7EB5\u89C2\u793E\u4F1A\u548C\u884C\u4E1A\u53D1\u5C55\u7684\u8D8B\u52BF\uFF0C\u628A\u63E1\u597D\u5BA2\u6237\u9700\u6C42\u53D8\u5316\u7684\u65B0\u8D8B\u52BF\u3002",
1061
- "\u6839\u636E\u5BA2\u6237\u5177\u4F53\u9700\u6C42\u548C\u53D8\u5316\u8D8B\u52BF\uFF0C\u8981\u505A\u597D\u5E94\u7528\u6280\u672F\u7684\u5F00\u53D1\uFF0C\u8FD8\u8981\u63D0\u524D\u5E03\u5C40\u6280\u672F\u7684\u8FED\u4EE3\u7814\u53D1\uFF0C\u59CB\u7EC8\u9886\u5148\u4E8E\u5BA2\u6237\u5F53\u4E0B\u7684\u9700\u6C42\uFF0C\u50A8\u5907\u597D\u8FED\u4EE3\u6210\u679C\u3002"
1062
- ]
1063
- },
1064
- {
1065
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1066
- section: "\u7ECF\u8425\u6218\u7565",
1067
- title: "\u77E5\u8BC6\u4EA7\u6743\uFF1A\u521B\u65B0\u6709\u529F\uFF0C\u5F00\u53D1\u5171\u4EAB\uFF0C\u9884\u5148\u90E8\u7F72\uFF0C\u6784\u7B51\u4F18\u52BF",
1068
- prefix: "\u77E5\u8BC6\u4EA7\u6743",
1069
- main: "\u521B\u65B0\u6709\u529F\uFF0C\u5F00\u53D1\u5171\u4EAB\uFF0C\u9884\u5148\u90E8\u7F72\uFF0C\u6784\u7B51\u4F18\u52BF",
1070
- paragraphs: [
1071
- "\u6D77\u666E\u9AD8\u5EA6\u6CE8\u91CD\u5728\u4F01\u4E1A\u53D1\u5C55\u8FC7\u7A0B\u4E2D\uFF0C\u667A\u529B\u5DE5\u4F5C\u8005\u7684\u521B\u9020\u548C\u6240\u5F62\u6210\u7684\u6210\u679C\u4FDD\u62A4\uFF0C\u5EFA\u7ACB\u4E0E\u521B\u65B0\u8005\u6210\u679C\u6709\u6548\u5171\u4EAB\u7684\u6FC0\u52B1\u673A\u5236\uFF0C\u5C0A\u91CD\u548C\u9F13\u52B1\u521B\u65B0\u3002",
1072
- "\u77E5\u8BC6\u4EA7\u6743\u4F7F\u7528\u4E0D\u53EF\u88AB\u52A8\u4E3A\u4E4B\uFF0C\u8981\u5728\u4EA7\u54C1\u8BBE\u8BA1\u6709\u65B0\u521B\u610F\u4E4B\u521D\uFF0C\u9884\u5148\u90E8\u7F72\uFF0C\u4E13\u4EBA\u8D1F\u8D23\uFF0C\u90E8\u7F72\u597D\u4E13\u5229\u4FDD\u62A4\u7B56\u7565\uFF0C\u7EF4\u62A4\u597D\u4E13\u5229\u8D4B\u4E88\u7684\u6743\u76CA\u548C\u4F18\u52BF\u3002"
1073
- ]
1074
- },
1075
- {
1076
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1077
- section: "\u7ECF\u8425\u6218\u7565",
1078
- title: "\u98CE\u9669\u7BA1\u63A7\uFF1A\u4F53\u7CFB\u9632\u8303\uFF0C\u9884\u9632\u4E3A\u4E3B",
1079
- prefix: "\u98CE\u9669\u7BA1\u63A7",
1080
- main: "\u4F53\u7CFB\u9632\u8303\uFF0C\u9884\u9632\u4E3A\u4E3B",
1081
- paragraphs: [
1082
- "\u6D77\u666E\u575A\u6301\u201C\u4F53\u7CFB\u9632\u8303\uFF0C\u9884\u9632\u4E3A\u4E3B\u201D\uFF0C\u4E3B\u52A8\u7BA1\u63A7\u7ECF\u8425\u98CE\u9669\u3002\u4F46\u662F\uFF0C\u4EFB\u4F55\u5B8C\u5584\u7684\u7BA1\u63A7\u4F53\u7CFB\u90FD\u4F1A\u6709\u6F0F\u6D1E\uFF0C\u591A\u4E48\u4F18\u79C0\u7684\u4F01\u4E1A\u90FD\u9762\u5BF9\u8FC7\u5927\u98CE\u9669\u548C\u7ECF\u5386\u8FC7\u5371\u673A\u3002\u9762\u5BF9\u5371\u673A\uFF0C\u6D77\u666E\u4EBA\u7684\u6001\u5EA6\u662F\uFF1A\u6709\u4EBA\u8D1F\u8D23\u6211\u670D\u4ECE\uFF0C\u65E0\u4EBA\u8D1F\u8D23\u6211\u62C5\u5F53\uFF01",
1083
- "\u6218\u7565\u98CE\u9669\uFF1A\u6218\u7565\u662F\u4F01\u4E1A\u6210\u8D25\u7684\u6839\u672C\uFF0C\u51B3\u5B9A\u4F01\u4E1A\u53D1\u5C55\u65B9\u5411\u6B63\u786E\u4E0E\u5426\uFF0C\u51B3\u5B9A\u4F01\u4E1A\u8D44\u6E90\u914D\u7F6E\u662F\u5426\u6709\u6548\u3002\u5236\u5B9A\u6218\u7565\uFF0C\u5C31\u5FC5\u987B\u5173\u6CE8\u793E\u4F1A\u7ECF\u6D4E\u7ED3\u6784\u3001\u653F\u7B56\u5BFC\u5411\u3001\u6D88\u8D39\u8D8B\u52BF\u3001\u884C\u4E1A\u5468\u671F\u548C\u5BA2\u6237\u9700\u6C42\u53D8\u5316\uFF0C\u79D1\u5B66\u5236\u5B9A\u4F01\u4E1A\u53D1\u5C55\u89C4\u5212\u3002",
1084
- "\u5E02\u573A\u98CE\u9669\uFF1A\u7ECF\u6D4E\u73AF\u5883\u3001\u5BA2\u6237\u7ECF\u8425\u72B6\u51B5\u3001\u5BA2\u6237\u9700\u6C42\u3001\u7ADE\u4E89\u5BF9\u624B\u7B49\u7ADE\u4E89\u56E0\u7D20\u7684\u53D8\u5316\u90FD\u5728\u5F71\u54CD\u4F01\u4E1A\u7ECF\u8425\u548C\u5BFC\u81F4\u5E02\u573A\u98CE\u9669\u7684\u4EA7\u751F\uFF0C\u6D77\u666E\u552F\u6709\u4EE5\u5BA2\u6237\u4E3A\u4E2D\u5FC3\uFF0C\u81EA\u4E3B\u521B\u65B0\u53D1\u5C55\uFF0C\u624D\u80FD\u591F\u53D6\u5F97\u7ADE\u4E89\u7684\u4F18\u52BF\uFF0C\u6700\u5927\u9650\u5EA6\u5730\u89C4\u907F\u98CE\u9669\u3002",
1085
- "\u8D22\u52A1\u98CE\u9669\uFF1A\u4E25\u8C28\u79D1\u5B66\u7684\u8D22\u52A1\u7BA1\u63A7\u548C\u670D\u52A1\u4F53\u7CFB\u662F\u4F01\u4E1A\u6709\u5E8F\u9AD8\u6548\u7ECF\u8425\u3001\u7CBE\u51C6\u6709\u6548\u51B3\u7B56\u7684\u6838\u5FC3\u6240\u5728\uFF0C\u8D22\u52A1\u7684\u6838\u5FC3\u804C\u80FD\u5728\u4E8E\u6709\u6548\u8BC4\u4F30\u6295\u8D44\u6536\u76CA\uFF0C\u5408\u7406\u7BA1\u63A7\u6295\u8D44\uFF0C\u6709\u6548\u63A7\u5236\u8D1F\u503A\u7387\uFF0C\u9632\u63A7\u91CD\u5927\u7684\u8D22\u52A1\u98CE\u9669\uFF0C\u63D0\u5347\u4F01\u4E1A\u6548\u76CA\u3002",
1086
- "\u6CD5\u5F8B\u98CE\u9669\uFF1A\u6D77\u666E\u7ECF\u8425\u9996\u5148\u8981\u77E5\u6CD5\u3001\u61C2\u6CD5\u3001\u5B88\u6CD5\u3002\u516C\u53F8\u8BBE\u4E13\u804C\u7684\u6CD5\u52A1\u7BA1\u7406\u8005\uFF0C\u53C2\u4E0E\u786E\u4FDD\u516C\u53F8\u91CD\u5927\u51B3\u7B56\u548C\u884C\u4E3A\u9075\u6CD5\u5B88\u6CD5\uFF1B\u6388\u6743\u5404\u7EA7\u7ECF\u8425\u8005\u548C\u76F8\u5173\u804C\u80FD\u90E8\u95E8\u5EFA\u7ACB\u6709\u6548\u7684\u6CD5\u5F8B\u7BA1\u63A7\u4F53\u7CFB\uFF0C\u786E\u4FDD\u516C\u53F8\u5404\u9879\u7ECF\u8425\u6D3B\u52A8\u4F9D\u6CD5\u884C\u4E8B\u3002",
1087
- "\u4EBA\u8D44\u98CE\u9669\uFF1A\u4F01\u4E1A\u4EFB\u4F55\u5DE5\u4F5C\u90FD\u501A\u91CD\u4E8E\u5408\u9002\u7684\u4EBA\u6765\u8FBE\u6210\u3002\u9009\u9519\u4EBA\u3001\u7528\u9519\u4EBA\uFF0C\u5173\u952E\u5C97\u4F4D\u4EBA\u624D\u7F3A\u5931\u6D41\u5931\u3001\u58EB\u6C14\u4F4E\u843D\u90FD\u5C06\u5F71\u54CD\u6216\u51B2\u51FB\u4F01\u4E1A\u7684\u6B63\u5E38\u7ECF\u8425\uFF0C\u751A\u81F3\u5BFC\u81F4\u7FA4\u4F53\u4E8B\u4EF6\u53D1\u751F\u3002\u57F9\u80B2\u4EBA\u3001\u5C3D\u5176\u624D\u3001\u7ECF\u8425\u4EBA\u5FC3\u5219\u662F\u7BA1\u7406\u7684\u9996\u8981\u3002",
1088
- "\u8FD0\u8425\u98CE\u9669\uFF1A\u4F01\u4E1A\u8FD0\u8425\u8D2F\u7A7F\u4E8E\u7ECF\u8425\u5168\u8FC7\u7A0B\uFF0C\u6D89\u53CA\u5230\u73AF\u5883\u548C\u8D44\u6E90\u5168\u8981\u7D20\uFF0C\u9700\u8981\u4F9D\u9760\u4F53\u7CFB\u5316\u5EFA\u8BBE\u548C\u7EC4\u7EC7\u6709\u6548\u8FD0\u884C\uFF0C\u4EE5\u786E\u4FDD\u8D28\u91CF\u3001\u5B89\u5168\u3001\u73AF\u5883\u3001\u4EBA\u5458\u3001\u7269\u8D44\u3001\u4FE1\u606F\u5F97\u4EE5\u53D7\u63A7\u548C\u6709\u5E8F\u8FD0\u884C\uFF0C\u5B9E\u73B0\u4F4E\u6210\u672C\u3001\u9AD8\u6548\u7387\u3001\u9AD8\u6548\u76CA\u3002",
1089
- "\u6D77\u666E\u8BBE\u7ACB\u201C3.17\u5371\u673A\u65E5\u201D\uFF0C\u8B66\u793A\u81EA\u5DF1\u6C38\u8FDC\u7262\u8BB0\u56E0\u81EA\u8EAB\u4EA7\u54C1\u8D28\u91CF\u4E25\u91CD\u5931\u63A7\uFF0C\u5BFC\u81F4\u5BA2\u6237\u5BF9\u5927\u6279\u4EA7\u54C1\u9000\u8D27\uFF0C\u8B66\u6212\u81EA\u5DF1\u4F01\u4E1A\u6240\u9762\u4E34\u5DE8\u5927\u7684\u7ECF\u8425\u98CE\u9669\u3002",
1090
- "\u8BBE\u7ACB\u201C6.6\u5B89\u5168\u65E5\u201D\uFF0C\u8B66\u793A\u5168\u4F53\u5458\u5DE5\u7262\u8BB0\u201C\u4EBA\u547D\u5173\u5929\u3001\u5B89\u5168\u4E3A\u5148\u201D\u7684\u8BAD\u793A\uFF0C\u5065\u5168\u843D\u5B9E\u5404\u9879\u5B89\u5168\u7BA1\u7406\u5236\u5EA6\uFF0C\u8B66\u949F\u957F\u9E23\uFF0C\u6839\u9664\u9690\u60A3\uFF0C\u5E38\u6293\u4E0D\u61C8\u3002"
1091
- ]
1092
- },
1093
- {
1094
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1095
- section: "\u4F18\u79C0\u7ECF\u8425\u8005",
1096
- title: "\u7ECF\u8425\u6977\u6A21",
1097
- prefix: "",
1098
- main: "\u7ECF\u8425\u6977\u6A21",
1099
- paragraphs: [
1100
- "\u81EA\u660E\uFF1A\u4EE5\u5FC3\u4E3A\u672C\u3001\u8BDA\u6B63\u4E3A\u4EBA\uFF1B\u594B\u8FDB\uFF1A\u8C26\u900A\u539A\u5B66\u3001\u70ED\u5FF1\u594B\u8FDB\uFF1B",
1101
- "\u656C\u5929\uFF1A\u6B63\u672C\u6C42\u6E90\u3001\u4E13\u5FC3\u505A\u4E8B\uFF1B\u7231\u4EBA\uFF1A\u4EE5\u4EBA\u4E3A\u672C\u3001\u534F\u540C\u5171\u8D62\uFF1B",
1102
- "\u62C5\u5F53\uFF1A\u5FC3\u7CFB\u5927\u6211\u3001\u5584\u4E8E\u62C5\u5F53\uFF1B\u589E\u6548\uFF1A\u805A\u7126\u7ECF\u8425\u3001\u6301\u7EED\u589E\u6548\u3002"
1103
- ]
1104
- },
1105
- {
1106
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1107
- section: "\u4F18\u79C0\u7ECF\u8425\u8005",
1108
- title: "\u7ECF\u8425\u51C6\u5219",
1109
- prefix: "",
1110
- main: "\u7ECF\u8425\u51C6\u5219",
1111
- paragraphs: [
1112
- "\u8BA4\u77E5\u6D77\u666E\u7684\u4F7F\u547D\u548C\u627F\u62C5\u7684\u8D23\u4EFB\uFF0C\u5FC3\u6000\u6B63\u5411\u4E8B\u4E1A\u89C2\u548C\u5F3A\u70C8\u8FDB\u53D6\u5FC3\uFF1B",
1113
- "\u6811\u7ACB\u660E\u6670\u76EE\u6807\uFF0C\u89C6\u5DE5\u4F5C\u4E3A\u4FEE\u884C\uFF0C\u540C\u5FC3\u4ED8\u51FA\u4E0D\u4E9A\u4E8E\u4EFB\u4F55\u4EBA\u7684\u52AA\u529B\uFF1B",
1114
- "\u5408\u7406\u5B9A\u4EF7\u624D\u662F\u516C\u53F8\u5B58\u7EED\u7684\u6839\u672C\uFF0C\u8FFD\u6C42\u9500\u552E\u6700\u5927\u5316\u548C\u8D39\u7528\u6700\u5C0F\u5316\uFF1B",
1115
- "\u4EE5\u5927\u5C40\u5229\u76CA\u4E3A\u91CD\uFF0C\u80AF\u5F03\u79C1\u4E3A\u4F17\uFF0C\u5173\u7231\u5458\u5DE5\u3001\u56E2\u961F\u534F\u540C\u643A\u624B\u5171\u8D62\uFF1B",
1116
- "\u65E0\u754F\u56F0\u96BE\uFF0C\u4ECE\u4E0D\u5931\u4FE1\u5FC3\u548C\u667A\u6167\uFF0C\u6301\u7EED\u594B\u8FDB\u521B\u65B0\uFF0C\u5B9E\u73B0\u4EBA\u751F\u5927\u6211\u3002"
1117
- ]
1118
- },
1119
- {
1120
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1121
- section: "\u7ECF\u8425\u539F\u5219",
1122
- title: "\u670D\u52A1\u89C2\uFF1A\u81F3\u8BDA\u81F3\u5FAE\uFF0C\u5BA2\u6237\u6EE1\u610F",
1123
- prefix: "\u670D\u52A1\u89C2",
1124
- main: "\u81F3\u8BDA\u81F3\u5FAE\uFF0C\u5BA2\u6237\u6EE1\u610F",
1125
- paragraphs: [
1126
- "\u4EE5\u5BA2\u6237\u4E3A\u4E2D\u5FC3\u662F\u5408\u683C\u7ECF\u8425\u8005\u9996\u8981\u670D\u52A1\u610F\u8BC6\uFF0C\u662F\u7ECF\u8425\u6D3B\u52A8\u7684\u539F\u70B9\uFF0C\u4E5F\u662F\u670D\u52A1\u7684\u8D77\u70B9\u548C\u7EC8\u70B9\uFF1B\u6240\u6709\u6D77\u666E\u4EBA\u65E0\u65F6\u3001\u65E0\u5904\u4E0D\u5728\u670D\u52A1\u4E2D\u3002",
1127
- "\u670D\u52A1\u5C31\u8981\u505A\u5230\u201C\u773C\u5230\u3001\u5FC3\u5230\u3001\u8EAB\u5230\u3001\u624B\u5230\u3001\u60C5\u5230\u3001\u53E3\u5230\u201D",
1128
- "\u81F3\u8BDA\u8D62\u5F97\u5BA2\u6237\u4FE1\u8D56\uFF0C\u81F3\u5FAE\u8D62\u5F97\u5BA2\u6237\u611F\u52A8\u3002\u670D\u52A1\u6C38\u65E0\u6B62\u5883\uFF01",
1129
- "\u6D77\u666E\u5021\u5BFC\u5EFA\u7ACB\u5185\u90E8\u5BA2\u6237\u670D\u52A1\u5173\u7CFB\uFF1A\u4E0A\u7EA7\u8981\u505A\u4E0B\u7EA7\u7684\u8D34\u5FC3\u4EBA\u548C\u670D\u52A1\u8005\uFF0C\u804C\u80FD\u90E8\u95E8\u8981\u505A\u73B0\u573A\u4E00\u7EBF\u73ED\u7EC4\u548C\u524D\u7EBF\u8425\u9500\u4EBA\u5458\u652F\u6301\u8005\u548C\u670D\u52A1\u961F\u3002"
1130
- ]
1131
- },
1132
- {
1133
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1134
- section: "\u7ECF\u8425\u539F\u5219",
1135
- title: "\u54C1\u724C\u89C2\uFF1A\u505A\u5BA2\u6237\u6700\u4FE1\u8D56\u7684\u4F19\u4F34",
1136
- prefix: "\u54C1\u724C\u89C2",
1137
- main: "\u505A\u5BA2\u6237\u6700\u4FE1\u8D56\u7684\u4F19\u4F34",
1138
- paragraphs: [
1139
- "\u6D77\u666E\u670D\u52A1\u9152\u884C\u4E1A20\u4F59\u5E74\uFF0C\u81F4\u529B\u4E8E\u4E3A\u6240\u670D\u52A1\u7684\u540D\u4F18\u9152\u4F01\u7B49\u76EE\u6807\u5BA2\u6237\u63D0\u4F9B\u6700\u4F18\u8D28\u7684\u521B\u65B0\u4EA7\u54C1\u4E0E\u4E4B\u76F8\u914D\u5957\u7684\u670D\u52A1\uFF0C\u8D62\u5F97\u4E86\u5BA2\u6237\u7684\u5E7F\u6CDB\u8D5E\u8A89\u548C\u4FE1\u4EFB\uFF0C\u6210\u4E3A\u56FD\u5185\u5927\u6570\u540D\u9152\u4F01\u7684\u6218\u7565\u5408\u4F5C\u4F19\u4F34\u6216\u4F18\u79C0\u6838\u5FC3\u4F9B\u5E94\u5546\u3002",
1140
- "\u9762\u5BF9\u4E92\u8054\u7F51\u4E0E\u4EA7\u4E1A\u7684\u878D\u5408\uFF0C\u6D77\u666E\u5C06\u8F6C\u578B\u4E3A\u5BA2\u6237\u63D0\u4F9B\u66F4\u9AD8\u8D28\u91CF\u7684\u667A\u80FD\u5305\u88C5\u4EA7\u54C1\u53CA\u914D\u5957\u7684\u7269\u8054\u7CFB\u7EDF\u89E3\u51B3\u65B9\u6848\uFF0C\u63D0\u4F9B\u914D\u5957\u7684\u8FD0\u8425\u670D\u52A1\uFF0C\u6301\u7EED\u4E3A\u5BA2\u6237\u521B\u9020\u66F4\u5927\u7684\u4EF7\u503C\uFF0C\u7ACB\u5FD7\u6210\u4E3A\u5728\u6240\u670D\u52A1\u9886\u57DF\u4E2D\u201C\u5BA2\u6237\u6700\u4FE1\u8D56\u7684\u4F19\u4F34\u201D\u3002"
1141
- ]
1142
- },
1143
- {
1144
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1145
- section: "\u7ECF\u8425\u539F\u5219",
1146
- title: "\u7ADE\u4E89\u89C2\uFF1A\u4E13\u4E1A\u3001\u9AD8\u6548\u3001\u654F\u9510\u3001\u575A\u97E7",
1147
- prefix: "\u7ADE\u4E89\u89C2",
1148
- main: "\u4E13\u4E1A\u3001\u9AD8\u6548\u3001\u654F\u9510\u3001\u575A\u97E7",
1149
- paragraphs: [
1150
- "\u7ADE\u4E89\u5C31\u8981\u6709\u5FC5\u80DC\u7684\u4FE1\u5FF5\uFF0C\u9996\u5148\u53D6\u51B3\u4E8E\u7ADE\u4E89\u56E2\u961F\u7684\u4E13\u4E1A\u7D20\u517B\u548C\u80FD\u529B\uFF0C\u4E5F\u53D6\u51B3\u4E8E\u56E2\u961F\u6210\u5458\u4E4B\u95F4\u7684\u9AD8\u6548\u534F\u540C\uFF0C\u53D6\u51B3\u4E8E\u6BD4\u5BF9\u624B\u66F4\u654F\u9510\u7684\u55C5\u89C9\u548C\u5FEB\u901F\u53CD\u5E94\u80FD\u529B\uFF0C\u66F4\u53D6\u51B3\u4E8E\u7ADE\u4E89\u8005\u4E0D\u60E7\u56F0\u96BE\u3001\u4E0D\u60E7\u5BF9\u624B\u3001\u575A\u97E7\u4E0D\u62D4\u7684\u65E0\u754F\u6C14\u6982\uFF01",
1151
- "\u6BD4\u7ADE\u4E89\u5BF9\u624B\u5FEB\u884C\u4E00\u6B65\uFF0C\u6BD4\u8DE8\u754C\u8005\u6DF1\u8015\u4E00\u5C3A\u3002"
1152
- ]
1153
- },
1154
- {
1155
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1156
- section: "\u7ECF\u8425\u539F\u5219",
1157
- title: "\u7814\u53D1\u89C2\uFF1A\u6DF1\u8C19\u5BA2\u6237\u9700\u6C42\uFF0C\u5F15\u9886\u884C\u4E1A\u8D8B\u52BF",
1158
- prefix: "\u7814\u53D1\u89C2",
1159
- main: "\u6DF1\u8C19\u5BA2\u6237\u9700\u6C42\uFF0C\u5F15\u9886\u884C\u4E1A\u8D8B\u52BF",
1160
- paragraphs: [
1161
- "\u7814\u53D1\u6E90\u4E8E\u5BA2\u6237\u9700\u6C42\uFF0C\u53EA\u6709\u6DF1\u5EA6\u4E86\u89E3\u5BA2\u6237\u9700\u6C42\u7684\u52A8\u56E0\u548C\u51C6\u786E\u89E3\u8BFB\u5BA2\u6237\u9700\u6C42\uFF0C\u786E\u4FDD\u4F01\u4E1A\u5185\u5404\u73AF\u8282\u6309\u6807\u51C6\u9AD8\u8D28\u91CF\u8F93\u51FA\uFF0C\u624D\u80FD\u6700\u7EC8\u6EE1\u8DB3\u5BA2\u6237\u9700\u6C42\u3002",
1162
- "\u4F18\u8D28\u4EA7\u54C1\u662F\u4F53\u73B0\u5BA2\u6237\u9700\u6C42\u548C\u4F01\u4E1A\u4EF7\u503C\u7684\u8F7D\u4F53\u3002\u6D77\u666E\u7814\u53D1\u4EBA\u5458\u5F53\u4EE5\u7CBE\u76CA\u6C42\u7CBE\u7684\u5DE5\u4F5C\u8D28\u91CF\uFF0C\u4ECE\u6839\u672C\u4E0A\u4FDD\u969C\u4EA7\u54C1\u8D28\u91CF\uFF0C\u4E3A\u5BA2\u6237\u521B\u9020\u51FA\u8D85\u51FA\u9884\u671F\u7684\u4EF7\u503C\u3002 \u5E02\u573A\u7ADE\u4E89\u7684\u7ED3\u679C\u548C\u5BA2\u6237\u7684\u671F\u671B\u5728\u4E8E\u4EA7\u54C1\u66F4\u9AD8\u7684\u6027\u4EF7\u6BD4\uFF0C\u4E0D\u65AD\u8FED\u4EE3\u521B\u65B0\u7684\u4EA7\u54C1\uFF0C\u6D77\u666E\u7684\u7814\u53D1\u5F53\u628A\u63E1\u5BA2\u6237\u9700\u6C42\u53D8\u5316\u8D8B\u52BF\uFF0C\u6C38\u8FDC\u8D70\u5728\u884C\u4E1A\u524D\u5934\u3002"
1163
- ]
1164
- },
1165
- {
1166
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1167
- section: "\u7ECF\u8425\u539F\u5219",
1168
- title: "\u8D28\u91CF\u89C2\uFF1A\u8D28\u91CF\u662F\u751F\u5B58\u4E4B\u672C\uFF01",
1169
- prefix: "\u8D28\u91CF\u89C2",
1170
- main: "\u8D28\u91CF\u662F\u751F\u5B58\u4E4B\u672C\uFF01",
1171
- paragraphs: [
1172
- "\u6D77\u666E\u6DF1\u77E5\u6301\u7EED\u6EE1\u8DB3\u5BA2\u6237\u63D0\u5347\u7684\u4EA7\u54C1\u8D28\u91CF\u3001\u670D\u52A1\u8D28\u91CF\u662F\u516C\u53F8\u8D56\u4EE5\u751F\u5B58\u7684\u6839\u672C\u3002\u4EE5\u4F18\u8D28\u5DE5\u4F5C\u8D28\u91CF\u4FDD\u8BC1\u53EF\u9760\u7684\u4EA7\u54C1\u8D28\u91CF\u662F\u6D77\u666E\u575A\u5B88\u7684\u627F\u8BFA\u3002",
1173
- "\u5FFD\u89C6\u8D28\u91CF\u7B49\u4E8E\u673A\u4F53\u653E\u8840\uFF01\u4EFB\u4F55\u5BF9\u8D28\u91CF\u7684\u758F\u5FFD\uFF0C\u5931\u53BB\u7684\u4E0D\u4EC5\u662F\u76F4\u63A5\u7684\u7ECF\u6D4E\u635F\u5931\uFF0C\u4E5F\u5C06\u4E27\u5931\u5BA2\u6237\u7684\u4FE1\u4EFB\u548C\u4F01\u4E1A\u7684\u4FE1\u8A89\uFF0C\u751A\u81F3\u88AB\u5BF9\u624B\u6240\u51FB\u5012\uFF01",
1174
- "\u6D77\u666E\u5C06\u575A\u6301\u8D28\u91CF\u4F18\u5148\u7684\u539F\u5219\uFF0C\u8D2F\u5F7B\u8D28\u91CF\u7B2C\u4E00\u7684\u7406\u5FF5\u3002\u575A\u6301\u201C\u9884\u9632\u4E3A\u4E3B\u3001\u8FC7\u7A0B\u63A7\u5236\u3001\u5168\u5458\u53C2\u4E0E\u3001\u6301\u7EED\u6539\u8FDB\u201D\u662F\u6D77\u666E\u8D28\u91CF\u7BA1\u7406\u7684\u57FA\u672C\u65B9\u9488\u3002"
1175
- ]
1176
- },
1177
- {
1178
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1179
- section: "\u7ECF\u8425\u539F\u5219",
1180
- title: "\u8D22\u52A1\u89C2\uFF1A\u7CBE\u7EC6\u7BA1\u63A7\uFF0C\u9AD8\u6548\u8FD0\u4F5C",
1181
- prefix: "\u8D22\u52A1\u89C2",
1182
- main: "\u7CBE\u7EC6\u7BA1\u63A7\uFF0C\u9AD8\u6548\u8FD0\u4F5C",
1183
- paragraphs: [
1184
- "\u8D22\u52A1\u5168\u9762\u53C2\u4E0E\u7ECF\u8425\u7BA1\u7406\uFF0C\u4EE5\u4EF7\u503C\u7BA1\u7406\u4E3A\u5BFC\u5411\uFF0C\u8D44\u91D1\u7BA1\u7406\u4E3A\u4E3B\u5BFC\uFF0C\u6210\u672C\u7BA1\u7406\u4E3A\u57FA\u7840\uFF0C\u53C2\u4E0E\u7ECF\u8425\u51B3\u7B56\uFF0C\u63D0\u5347\u8FD0\u8425\u6548\u7387\uFF0C\u7763\u5BFC\u516C\u53F8\u6548\u76CA\u5B9E\u73B0\u3002",
1185
- "\u6839\u636E\u4F01\u4E1A\u53D1\u5C55\u9636\u6BB5\u548C\u6218\u7565\u9009\u62E9\uFF0C\u9002\u65F6\u9009\u62E9\u7A33\u5065\u79EF\u6781\u7684\u7684\u8D22\u52A1\u7B56\u7565\uFF0C\u4FDD\u6301\u9002\u5EA6\u7684\u8D1F\u503A\u6BD4\u4F8B\u548C\u826F\u597D\u7684\u8D44\u4EA7\u7ED3\u6784\uFF0C\u517C\u987E\u7ECF\u8425\u53D1\u5C55\u548C\u8D44\u4EA7\u5B89\u5168\u3002",
1186
- "\u575A\u6301\u8D22\u52A1\u79EF\u6781\u9762\u5411\u672A\u6765\uFF0C\u9009\u62E9\u9002\u5408\u7684\u878D\u8D44\u8DEF\u5F84\uFF0C\u501F\u4EE5\u9002\u5EA6\u7684\u7684\u8D44\u91D1\u8FD0\u4F5C\uFF0C\u652F\u6301\u516C\u53F8\u4E1A\u52A1\u53D1\u5C55\u548C\u4EA7\u4E1A\u878D\u5408\uFF0C\u63A8\u8FDB\u6D77\u666E\u6218\u7565\u76EE\u6807\u7684\u5B9E\u73B0\u3002"
1187
- ]
1188
- },
1189
- {
1190
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1191
- section: "\u7ECF\u8425\u539F\u5219",
1192
- title: "\u6295\u8D44\u89C2\uFF1A\u7A33\u5065\u3001\u4E13\u4E1A\u3001\u9002\u5EA6\u3001\u9002\u65F6",
1193
- prefix: "\u6295\u8D44\u89C2",
1194
- main: "\u7A33\u5065\u3001\u4E13\u4E1A\u3001\u9002\u5EA6\u3001\u9002\u65F6",
1195
- paragraphs: [
1196
- "\u4EE5\u5BA1\u614E\u3001\u7A33\u5065\u3001\u5F00\u653E\u3001\u7406\u6027\u7684\u6001\u5EA6\u9762\u5BF9\u4F01\u4E1A\u53D1\u5C55\u7684\u673A\u4F1A\uFF0C\u6D77\u666E\u5F53\u805A\u7126\u81EA\u5DF1\u5BF9\u76EE\u6807\u5BA2\u6237\u6240\u670D\u52A1\u4E13\u4E1A\u9886\u57DF\u7684\u6838\u5FC3\u7ADE\u4E89\u529B\u7684\u63D0\u5347\u53CA\u4E1A\u52A1\u53D1\u5C55\uFF0C\u4EE5\u89C4\u8303\u3001\u79D1\u5B66\u7684\u6295\u8D44\u51B3\u7B56\u7A0B\u5E8F\u9009\u62E9\u6700\u4F73\u7684\u6295\u8D44\u65B9\u6848\uFF0C\u4EE5\u4F01\u4E1A\u53EF\u627F\u53D7\u7684\u6295\u8D44\u89C4\u6A21\uFF0C\u5728\u6070\u5F53\u65F6\u95F4\u548C\u6295\u8D44\u671F\u6309\u9879\u76EE\u89C4\u5212\u9002\u65F6\u6295\u5165\uFF0C\u53CA\u65F6\u83B7\u5F97\u9884\u671F\u56DE\u62A5\u3002"
1197
- ]
1198
- },
1199
- {
1200
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1201
- section: "\u7ECF\u8425\u539F\u5219",
1202
- title: "\u4F9B\u5E94\u89C2\uFF1A\u96C6\u5408\u4F18\u52BF\uFF0C\u5B66\u4E60\u5171\u4EAB\uFF0C\u4F18\u9009\u5171\u8D62",
1203
- prefix: "\u4F9B\u5E94\u89C2",
1204
- main: "\u96C6\u5408\u4F18\u52BF\uFF0C\u5B66\u4E60\u5171\u4EAB\uFF0C\u4F18\u9009\u5171\u8D62",
1205
- paragraphs: [
1206
- "\u73B0\u4EE3\u4F01\u4E1A\u7ADE\u4E89\u5DF2\u662F\u6240\u5728\u4F9B\u5E94\u94FE\u4E4B\u95F4\u7684\u7ADE\u4E89\uFF0C\u9700\u8981\u4F01\u4E1A\u6301\u7EED\u5173\u6CE8\u548C\u96C6\u5408\u4E0A\u4E0B\u6E38\u7684\u4F18\u8D28\u8D44\u6E90\uFF0C\u5E76\u6574\u5408\u548C\u53D1\u6325\u5176\u6574\u4F53\u4F18\u52BF\uFF0C\u63D0\u5347\u6574\u4F53\u7ADE\u4E89\u529B\u3002",
1207
- "\u9009\u62E9\u6700\u4F18\u79C0\u3001\u9002\u5B9C\u7684\u4F9B\u5E94\u5546\u5408\u4F5C\uFF0C\u4EE5\u5F00\u653E\u4E4B\u5FC3\uFF0C\u5B66\u4E60\u548C\u5438\u7EB3\u6700\u65B0\u6280\u672F\u5408\u7406\u5E94\u7528\uFF0C\u6301\u7EED\u4E3A\u5BA2\u6237\u63D0\u4F9B\u521B\u65B0\u4EA7\u54C1\u548C\u589E\u503C\u670D\u52A1\uFF0C\u5B9E\u73B0\u5BA2\u6237\u6EE1\u610F\u3002",
1208
- "\u9002\u5B9C\u3001\u4F18\u8D28\u3001\u9AD8\u6027\u4EF7\u6BD4\u662F\u4F9B\u5E94\u7684\u7ECF\u6D4E\u6807\u51C6\uFF0C\u89C4\u8303\u7684\u4F9B\u65B9\u7BA1\u7406\u4F53\u7CFB\u3001\u9AD8\u6548\u7684\u4F9B\u5E94\u4FDD\u969C\u4F53\u7CFB\u3001\u5B8C\u5584\u7684\u54C1\u8D28\u7BA1\u63A7\u4F53\u7CFB\u662F\u5B9E\u73B0\u4F9B\u5E94\u4F18\u5316\u7684\u4FDD\u8BC1\u3002"
1209
- ]
1210
- },
1211
- {
1212
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1213
- section: "\u793E\u4F1A\u8D23\u4EFB",
1214
- title: "\u4FE1\u7528\u89C2\uFF1A\u8BDA\u4FE1\u4E3A\u672C\uFF0C\u4FE1\u7528\u65E0\u4EF7",
1215
- prefix: "\u4FE1\u7528\u89C2",
1216
- main: "\u8BDA\u4FE1\u4E3A\u672C\uFF0C\u4FE1\u7528\u65E0\u4EF7",
1217
- paragraphs: [
1218
- "\u8BDA\u4FE1\u662F\u4F01\u4E1A\u4FE1\u7528\u7684\u6839\u672C\uFF0C\u4FE1\u7528\u5C31\u662F\u4EF7\u503C\uFF0C\u9700\u8981\u957F\u671F\u79EF\u7D2F\u7528\u5FC3\u5475\u62A4\u3002",
1219
- "\u6D77\u666E\u575A\u6301\u8BDA\u4FE1\u7ECF\u8425\uFF0C\u91CD\u89C6\u81EA\u8EAB\u4FE1\u7528\u7684\u7EF4\u62A4\uFF0C\u5B9E\u73B0\u5BA2\u6237\u4E0E\u4F19\u4F34\u7684\u4FE1\u4EFB\u3002\u901A\u8FC7\u4FE1\u7528\u7684\u79EF\u7D2F\u548C\u4FE1\u7528\u7B49\u7EA7\u7684\u63D0\u5347\uFF0C\u6269\u5927\u4FE1\u7528\u89C4\u6A21\u548C\u4F01\u4E1A\u8F6F\u5B9E\u529B\u3002",
1220
- "\u6CE8\u91CD\u5BF9\u5BA2\u6237\u548C\u76F8\u5173\u5408\u4F5C\u65B9\u7684\u4FE1\u7528\u8BC4\u4EF7\u4E0E\u7BA1\u7406\uFF0C\u6709\u6548\u89C4\u907F\u7ECF\u8425\u98CE\u9669\u3002"
1221
- ]
1222
- },
1223
- {
1224
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1225
- section: "\u793E\u4F1A\u8D23\u4EFB",
1226
- title: "\u7A0E\u8D4B\u89C2\uFF1A\u4F9D\u6CD5\u7ECF\u8425\uFF0C\u7B79\u5212\u7EB3\u7A0E",
1227
- prefix: "\u7A0E\u8D4B\u89C2",
1228
- main: "\u4F9D\u6CD5\u7ECF\u8425\uFF0C\u7B79\u5212\u7EB3\u7A0E",
1229
- paragraphs: [
1230
- "\u4E25\u683C\u6267\u884C\u56FD\u5BB6\u8D22\u7A0E\u6CD5\u89C4\u548C\u653F\u7B56\uFF0C\u4F9D\u6CD5\u7ECF\u8425\uFF0C\u8D21\u732E\u793E\u4F1A\uFF1B\u6309\u7167\u56FD\u5BB6\u7A0E\u6536\u653F\u7B56\u7B79\u5212\u7EB3\u7A0E\uFF0C\u4FDD\u969C\u4F01\u4E1A\u5065\u5EB7\u53D1\u5C55\u548C\u80A1\u4E1C\u7684\u5408\u6CD5\u6743\u76CA\u3002"
1231
- ]
1232
- },
1233
- {
1234
- chapter: "\u7B2C\u4E8C\u7AE0 \u7ECF\u8425\u7EB2\u8981",
1235
- section: "\u793E\u4F1A\u8D23\u4EFB",
1236
- title: "\u73AF\u4FDD\u89C2\uFF1A\u7EFF\u8272\u3001\u4F4E\u8017\u3001\u5FAA\u73AF\u3001\u9AD8\u6548",
1237
- prefix: "\u73AF\u4FDD\u89C2",
1238
- main: "\u7EFF\u8272\u3001\u4F4E\u8017\u3001\u5FAA\u73AF\u3001\u9AD8\u6548",
1239
- paragraphs: [
1240
- "\u6D77\u666E\u9AD8\u5EA6\u91CD\u89C6\u73AF\u5883\u4FDD\u62A4\uFF0C\u62D2\u7EDD\u91C7\u7528\u6709\u6C61\u67D3\u5BF9\u73AF\u5883\u6709\u7834\u574F\u6027\u7684\u5DE5\u827A\u751F\u4EA7\uFF0C\u4E5F\u4E0D\u7ED9\u5BA2\u6237\u63A8\u8350\u53EF\u80FD\u5E26\u6765\u73AF\u5883\u6C61\u67D3\u7684\u4EA7\u54C1\uFF0C\u5C65\u884C\u4F01\u4E1A\u793E\u4F1A\u8D23\u4EFB\u3002",
1241
- "\u6D77\u666E\u4E3B\u52A8\u91C7\u53D6\u5148\u8FDB\u7684\u6280\u672F\u548C\u5DE5\u827A\uFF0C\u4FC3\u8FDB\u516C\u53F8\u80FD\u6E90\u3001\u539F\u6599\u3001\u8F85\u6599\u9AD8\u6548\u7387\u5229\u7528\u548C\u5C3D\u53EF\u80FD\u5FAA\u73AF\u4F7F\u7528\uFF0C\u786E\u4FDD\u793E\u4F1A\u6548\u76CA\u548C\u7ECF\u6D4E\u6548\u76CA\u826F\u6027\u4E92\u52A8\u53D1\u5C55\u3002"
1242
- ]
1243
- },
1244
- {
1245
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1246
- section: "\u7EC4\u7EC7\u5EFA\u8BBE",
1247
- title: "\u7EC4\u7EC7\u76EE\u6807\uFF1A\u8C26\u900A\u5F00\u653E\u594B\u8FDB\u578B\u7EC4\u7EC7",
1248
- prefix: "\u7EC4\u7EC7\u76EE\u6807",
1249
- main: "\u8C26\u900A\u5F00\u653E\u594B\u8FDB\u578B\u7EC4\u7EC7",
1250
- paragraphs: [
1251
- "\u6D77\u666E\u5FD7\u5728\u6784\u5EFA\u4E00\u4E2A\u8C26\u900A\u52E4\u5B66\u3001\u5766\u8BDA\u5F00\u653E\u3001\u56E2\u7ED3\u594B\u8FDB\uFF0C\u5177\u6709\u81EA\u6211\u8FDB\u5316\u548C\u9002\u5E94\u53D8\u5316\u7684\u5B66\u4E60\u578B\u7EC4\u7EC7\uFF0C\u5145\u6EE1\u84EC\u52C3\u5411\u4E0A\u3001\u5065\u5EB7\u53D1\u5C55\u7684\u751F\u547D\u529B\u3002",
1252
- "\u7EC4\u7EC7\u5982\u540C\u4E00\u4E2A\u5F00\u653E\u751F\u547D\u4F53\uFF0C\u65E0\u8BBA\u9047\u5230\u591A\u4E48\u590D\u6742\u7684\u65F6\u5C40\uFF0C\u591A\u4E48\u5927\u7684\u56F0\u96BE\uFF0C\u7EC4\u7EC7\u90FD\u80FD\u5BA1\u65F6\u5EA6\u52BF\uFF0C\u653B\u575A\u514B\u96BE\uFF0C\u9002\u5E94\u53D8\u5316\uFF0C\u4E0D\u65AD\u5B8C\u5584\u53D1\u5C55\u3002",
1253
- "\u6D77\u666E\u4EBA\u5C06\u80F8\u6000\u5927\u5FD7\u3001\u52A1\u5B9E\u6C42\u771F\u3001\u52C7\u4E8E\u5E94\u5BF9\u6311\u6218\uFF0C\u4EE5\u5177\u6709\u8FDC\u89C1\u7684\u613F\u666F\u6307\u5F15\u6FC0\u52B1\u81EA\u5DF1\uFF0C\u6301\u7EED\u5411\u4E0A\u594B\u8FDB\uFF0C\u5171\u521B\u5B8F\u4E1A\u4F1F\u7EE9\uFF0C\u5B9E\u73B0\u4EBA\u751F\u5927\u6211\u3002"
1254
- ]
1255
- },
1256
- {
1257
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1258
- section: "\u7EC4\u7EC7\u5EFA\u8BBE",
1259
- title: "\u6784\u5EFA\u539F\u5219\uFF1A\u6241\u5E73\u9AD8\u6548\u3001\u5171\u4EAB\u5F00\u653E\uFF0C\u4EFB\u52A1\u5F15\u5BFC\u3001\u7F51\u7EDC\u534F\u540C",
1260
- prefix: "\u6784\u5EFA\u539F\u5219",
1261
- main: "\u6241\u5E73\u9AD8\u6548\u3001\u5171\u4EAB\u5F00\u653E\uFF0C\u4EFB\u52A1\u5F15\u5BFC\u3001\u7F51\u7EDC\u534F\u540C",
1262
- paragraphs: [
1263
- "\u5F53\u4ECA\u4E92\u8054\u7F51\u65F6\u4EE3\uFF0C\u4FE1\u606F\u4F20\u9012\u7684\u901F\u5EA6\u66F4\u5FEB\u3001\u8303\u56F4\u66F4\u5E7F\uFF0C\u5BA2\u6237\u9700\u6C42\u66F4\u52A0\u591A\u6837\u3001\u53D8\u5316\u5468\u671F\u66F4\u77ED\uFF1B\u5C31\u9700\u8981\u6784\u5EFA\u4EE5\u5BA2\u6237\u9700\u6C42\u53D8\u5316\u4E3A\u5F15\u5BFC\u7684\u6241\u5E73\u9AD8\u6548\u3001\u9002\u5E94\u6027\u66F4\u5F3A\uFF0C\u4FE1\u606F\u5185\u90E8\u5145\u5206\u5171\u4EAB\uFF0C\u4EA4\u6D41\u5145\u5206\u5F00\u653E\u7684\u5F39\u6027\u7EC4\u7EC7\u3002",
1264
- "\u7531\u4EA7\u54C1\u8F6C\u578B\u4E3A\u670D\u52A1\uFF0C\u5C31\u8981\u4ECE\u8BA2\u5355\u4E3B\u5BFC\u5411\u4EFB\u52A1\u5F15\u5BFC\u8F6C\u53D8\uFF0C\u4ECE\u5185\u90E8\u7684\u4EA7\u54C1\u7269\u6599\u5DE5\u827A\u53D8\u5316\u7EC4\u5408\uFF0C\u5411\u4EBA\u624D\u3001\u6280\u672F\u3001\u89E3\u51B3\u65B9\u6848\u7684\u8DE8\u754C\u7EC4\u5408\u8F6C\u53D8\uFF0C\u4ECE\u5782\u76F4\u5F0F\u89C4\u8303\u7BA1\u7406\u5411\u7F51\u7EDC\u5316\u67D4\u6027\u534F\u540C\u8F6C\u53D8\uFF0C\u4EE5\u5B9E\u73B0\u5FEB\u901F\u54CD\u5E94\u548C\u90E8\u7F72\u3002"
1265
- ]
1266
- },
1267
- {
1268
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1269
- section: "\u7EC4\u7EC7\u5EFA\u8BBE",
1270
- title: "\u7EC4\u7EC7\u5C42\u7EA7\uFF1A\u51B3\u7B56\u5C42\u3001\u6267\u884C\u5C42\u3001\u57FA\u7840\u5C42",
1271
- prefix: "\u7EC4\u7EC7\u5C42\u7EA7",
1272
- main: "\u51B3\u7B56\u5C42\u3001\u6267\u884C\u5C42\u3001\u57FA\u7840\u5C42",
1273
- paragraphs: [
1274
- "\u6D77\u666E\u662F\u4E00\u4E2A\u8DE8\u533A\u57DF\u548C\u5177\u5907\u4E3A\u5BA2\u6237\u63D0\u4F9B\u667A\u80FD\u5305\u88C5\u4EA7\u54C1\u4E0E\u914D\u5957\u667A\u8054\u79D1\u6280\u670D\u52A1\u7684\u96C6\u56E2\u5316\u4F01\u4E1A\u3002\u5728\u7EC4\u7EC7\u4F53\u7CFB\u5185\uFF0C\u56E0\u627F\u62C5\u8D23\u4EFB\u4E0D\u540C\uFF0C\u6709\u5C42\u7EA7\u4E4B\u5206\uFF1B\u4E5F\u56E0\u5206\u5DE5\u4E0D\u540C\uFF0C\u6709\u5DE5\u4F5C\u5C97\u4F4D\u4E4B\u522B\uFF1B\u56E0\u4EFB\u52A1\u4E0D\u540C\uFF0C\u6709\u89D2\u8272\u7684\u4E0D\u540C\u3002",
1275
- "\u6D77\u666E\u9700\u8981\u777F\u667A\u7684\u51B3\u7B56\u5C42\u5728\u4F01\u4E1A\u53D1\u5C55\u5C42\u9762\u5C55\u671B\u672A\u6765\uFF0C\u6839\u636E\u5BA2\u6237\u9700\u6C42\u65F6\u5C40\u53D1\u5C55\u53D8\u5316\uFF0C\u524D\u77BB\u5730\u505A\u51FA\u6218\u7565\u5C42\u9762\u7684\u6B63\u786E\u601D\u8003\u4E0E\u89C4\u5212\uFF0C\u505A\u5BF9\u7684\u4E8B\u60C5\u3002",
1276
- "\u9700\u8981\u5177\u6709\u7ECF\u8425\u667A\u6167\u548C\u6781\u5F3A\u884C\u52A8\u529B\u7684\u6267\u884C\u5C42\uFF0C\u9AD8\u6548\u5C06\u4F01\u4E1A\u89C4\u5212\u4F5C\u51FA\u660E\u6670\u7684\u8BA1\u5212\u90E8\u7F72\uFF0C\u6709\u6548\u8C03\u52A8\u4F01\u4E1A\u8D44\u6E90\uFF0C\u9AD8\u6548\u7387\u8FBE\u6210\u4EFB\u52A1\uFF0C\u5C06\u4E8B\u60C5\u4F5C\u5BF9\u3002",
1277
- "\u9700\u8981\u5927\u6279\u5177\u6709\u5408\u683C\u804C\u4E1A\u7D20\u517B\u52E4\u594B\u656C\u4E1A\u7684\u4F18\u79C0\u57FA\u5C42\u5458\u5DE5\uFF0C\u5F7C\u6B64\u7D27\u5BC6\u534F\u540C\uFF0C\u9AD8\u8D28\u91CF\u3001\u9AD8\u6548\u7387\u5730\u6309\u671F\u8FBE\u6210\u5404\u9879\u5DE5\u4F5C\u548C\u4EFB\u52A1\uFF0C\u9AD8\u6548\u505A\u597D\u6BCF\u4EF6\u4E8B\u3002",
1278
- "\u6D77\u666E\u51B3\u7B56\u8005\u6DF1\u77E5\u201C\u5C06\u5FC5\u53D1\u4E8E\u5352\u4F0D\uFF0C\u76F8\u5FC5\u8D77\u4E8E\u5DDE\u90E8\u201D\uFF0C\u8981\u6210\u4E3A\u6267\u638C\u5168\u5C40\u7684\u680B\u6881\u4E4B\u624D\uFF0C\u5FC5\u987B\u7ECF\u8FC7\u57FA\u5C42\u7684\u5386\u7EC3\uFF0C\u5F02\u5730\u548C\u591A\u5C97\u4F4D\u5168\u65B9\u4F4D\u9524\u70BC\u3002"
1279
- ]
1280
- },
1281
- {
1282
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1283
- section: "\u7EC4\u7EC7\u5EFA\u8BBE",
1284
- title: "\u7EC4\u7EC7\u6C1B\u56F4\uFF1A\u5F00\u653E\u3001\u5766\u8BDA\u3001\u6C42\u771F\u3001\u52A1\u5B9E",
1285
- prefix: "\u7EC4\u7EC7\u6C1B\u56F4",
1286
- main: "\u5F00\u653E\u3001\u5766\u8BDA\u3001\u6C42\u771F\u3001\u52A1\u5B9E",
1287
- paragraphs: [
1288
- "\u4F18\u79C0\u7684\u4F01\u4E1A\u662F\u4EE5\u4F18\u79C0\u7684\u4F01\u4E1A\u6587\u5316\u505A\u652F\u6491\uFF0C\u51DD\u805A\u4E00\u7FA4\u601D\u60F3\u5F00\u653E\uFF0C\u624D\u601D\u654F\u6377\u7684\u4EBA\uFF0C\u5766\u8BDA\u9762\u5BF9\u9047\u5230\u7684\u95EE\u9898\u3001\u56F0\u96BE\uFF0C\u7FA4\u7B56\u7FA4\u529B\uFF0C\u79EF\u6781\u5E94\u5BF9\u3002",
1289
- "\u5236\u5B9A\u5DE5\u4F5C\u8BA1\u5212\u6216\u662F\u8BA8\u8BBA\u95EE\u9898\u89E3\u51B3\u4E4B\u9053\uFF0C\u5FC5\u987B\u5177\u6709\u63A2\u660E\u771F\u76F8\u3001\u8FFD\u5BFB\u771F\u7406\u7684\u6C42\u771F\u4E4B\u5FC3\uFF0C\u8FD8\u8981\u57FA\u4E8E\u73B0\u5B9E\u73AF\u5883\u548C\u8D44\u6E90\uFF0C\u52A1\u5B9E\u5BFB\u6C42\u6700\u4F18\u65B9\u6848\u3002"
1290
- ]
1291
- },
1292
- {
1293
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1294
- section: "\u7EC4\u7EC7\u5EFA\u8BBE",
1295
- title: "\u7EC4\u7EC7\u80FD\u529B\uFF1A\u5B66\u4E60\u529B\u3001\u884C\u52A8\u529B\u3001\u8FDB\u5316\u529B",
1296
- prefix: "\u7EC4\u7EC7\u80FD\u529B",
1297
- main: "\u5B66\u4E60\u529B\u3001\u884C\u52A8\u529B\u3001\u8FDB\u5316\u529B",
1298
- paragraphs: [
1299
- "\u5B66\u4E60\u529B\uFF1A\u6301\u7EED\u5B66\u4E60\u662F\u4E2A\u4EBA\u83B7\u53D6\u77E5\u8BC6\u3001\u7EC4\u7EC7\u6539\u53D8\u8BA4\u77E5\uFF0C\u7D27\u8DDF\u65F6\u4EE3\u6B65\u4F10\u7684\u552F\u4E00\u8DEF\u5F84\uFF1B\u6253\u9020\u7EC4\u7EC7\u5B66\u4E60\u529B\u662F\u6D77\u666E\u6301\u7EED\u8FDB\u6B65\uFF0C\u9886\u5148\u53D1\u5C55\u7684\u6839\u672C\u80FD\u529B\u3002",
1300
- "\u884C\u52A8\u529B\uFF1A\u60F3\u5230\u505A\u5230\uFF0C\u60F3\u597D\u505A\u5230\u4F4D\uFF01\u51B3\u7B56\u5FC5\u987B\u843D\u5B9E\u5230\u4EBA\uFF0C\u505A\u5230\u884C\u80DC\u4E8E\u8A00\uFF0C\u6267\u884C\u5230\u4F4D\uFF01\u884C\u52A8\u529B\u662F\u7EC4\u7EC7\u80FD\u529B\u843D\u5730\u6839\u672C\uFF0C\u662F\u6BD4\u5BF9\u624B\u5FEB\u4E00\u6B65\u7684\u57FA\u7840\u80FD\u529B\u3002",
1301
- "\u8FDB\u5316\u529B\uFF1A\u73AF\u5883\u7684\u53D8\u5316\u4ECE\u4E0D\u505C\u6B47\uFF0C\u4E8B\u4E1A\u7684\u8FFD\u6C42\u6C38\u65E0\u6B62\u5883\u3002\u6D77\u666E\u552F\u6709\u5EFA\u6784\u80FD\u591F\u9002\u5E94\u53D8\u5316\u7684\u5B66\u4E60\u578B\u7EC4\u7EC7\uFF0C\u6253\u9020\u51FA\u81EA\u6211\u8FDB\u5316\u529B\uFF0C\u624D\u80FD\u505A\u5230\u9002\u8005\u751F\u5B58\u3002",
1302
- "\u5B66\u4E60\u6539\u53D8\u89C2\u5FF5\uFF0C\u89C2\u5FF5\u6539\u53D8\u884C\u52A8\uFF0C\u884C\u52A8\u6539\u53D8\u4E60\u60EF\uFF0C\u4E60\u60EF\u51B3\u5B9A\u547D\u8FD0\u3002",
1303
- "\u5B66\u4E60\u51B3\u5B9A\u8BA4\u77E5\uFF0C\u8BA4\u77E5\u51B3\u5B9A\u683C\u5C40\uFF0C\u683C\u5C40\u51B3\u5B9A\u51FA\u8DEF\uFF0C\u51FA\u8DEF\u51B3\u5B9A\u672A\u6765\u3002"
1304
- ]
1305
- },
1306
- {
1307
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1308
- section: "\u7EC4\u7EC7\u539F\u5219",
1309
- title: "\u6C9F\u901A\u539F\u5219\uFF1A\u4E3B\u52A8\u3001\u5766\u8BDA\u3001\u4FE1\u4EFB\u3001\u6709\u6548",
1310
- prefix: "\u6C9F\u901A\u539F\u5219",
1311
- main: "\u4E3B\u52A8\u3001\u5766\u8BDA\u3001\u4FE1\u4EFB\u3001\u6709\u6548",
1312
- paragraphs: [
1313
- "\u6C9F\u901A\u5728\u4E8E\u2014\u5BFB\u6C42\u5408\u4F5C\uFF0C\u8FBE\u6210\u5171\u8BC6\uFF0C\u6D88\u9664\u9694\u9602\uFF0C\u4E0A\u4E0B\u540C\u6B32\uFF0C\u89E3\u51B3\u95EE\u9898\u3002",
1314
- "\u6C9F\u901A\u987B\u7531\u4EFB\u52A1\u8D23\u4EFB\u4EBA\u6216\u95EE\u9898\u53D1\u73B0\u8005\u4E3B\u52A8\u53D1\u8D77\uFF0C\u5BF9\u6C9F\u901A\u4E8B\u9879\u548C\u5185\u5BB9\u8981\u6E05\u6670\u63CF\u8FF0\uFF0C\u4E3B\u52A8\u4EA4\u6D41\uFF1B\u8BA8\u8BBA\u7684\u95EE\u9898\u7686\u8981\u5766\u8BDA\u9762\u5BF9\uFF0C\u79EF\u6781\u5BFB\u627E\u89E3\u51B3\u65B9\u6848\u3002",
1315
- "\u6709\u6548\u7684\u6C9F\u901A\u9700\u8981\u53C2\u4E0E\u8005\u5F7C\u6B64\u4FE1\u4EFB\uFF0C\u9AD8\u6548\u6C9F\u901A\uFF0C\u79EF\u6781\u8FBE\u6210\u5171\u8BC6\uFF1B\u9762\u5BF9\u95EE\u9898\u8BA8\u8BBA\u65F6\uFF0C\u653E\u5F03\u662F\u975E\u4E89\u8FA9\uFF0C\u4E3B\u52A8\u5BFB\u627E\u95EE\u9898\u7684\u6839\u6E90\u548C\u6709\u6548\u7684\u89E3\u51B3\u65B9\u6CD5\u3002"
1316
- ]
1317
- },
1318
- {
1319
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1320
- section: "\u7EC4\u7EC7\u539F\u5219",
1321
- title: "\u51B3\u7B56\u539F\u5219\uFF1A\u5BA2\u89C2\u5145\u5206\u3001\u5F00\u653E\u6C42\u662F\u3001\u81EA\u4E3B\u62C5\u5F53",
1322
- prefix: "\u51B3\u7B56\u539F\u5219",
1323
- main: "\u5BA2\u89C2\u5145\u5206\u3001\u5F00\u653E\u6C42\u662F\u3001\u81EA\u4E3B\u62C5\u5F53",
1324
- paragraphs: [
1325
- "\u6709\u6548\u7684\u51B3\u7B56\u9700\u8981\u5EFA\u7ACB\u5728\u5BF9\u73B0\u5B9E\u6761\u4EF6\u548C\u5BA2\u89C2\u73AF\u5883\u5145\u5206\u4E86\u89E3\uFF0C\u5BF9\u4FE1\u606F\u5145\u5206\u638C\u63E1\u7684\u57FA\u7840\u4E0A\u3002\u9700\u8981\u51B3\u7B56\u53C2\u4E0E\u8005\u5F00\u653E\u81EA\u5DF1\u7684\u5FC3\u667A\uFF0C\u53D1\u6325\u96C6\u4F53\u667A\u6167\uFF0C\u5171\u540C\u63A2\u5BFB\u6700\u7B26\u5408\u5BA2\u89C2\u8981\u6C42\u7684\u6700\u4F73\u9009\u62E9\u3002\u6D77\u666E\u8BA4\u540C\u7684\u51B3\u7B56\uFF0C\u5E76\u975E\u96C6\u4F53\u6295\u7968\u8868\u51B3\u7684\u7ED3\u679C\uFF0C\u800C\u662F\u96C6\u4F17\u4EBA\u4E4B\u667A\uFF0C\u7531\u4E8B\u9879\u8D23\u4EFB\u4EBA\u81EA\u4E3B\u505A\u51FA\u8D1F\u8D23\u4EFB\u7684\u9009\u62E9\u3002"
1326
- ]
1327
- },
1328
- {
1329
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1330
- section: "\u7EC4\u7EC7\u539F\u5219",
1331
- title: "\u884C\u4E3A\u51C6\u5219\uFF1A\u521B\u65B0\u65E0\u8FC7\u3001\u518D\u9519\u6709\u8D23\u3001\u89E6\u5E95\u5FC5\u7A76",
1332
- prefix: "\u884C\u4E3A\u51C6\u5219",
1333
- main: "\u521B\u65B0\u65E0\u8FC7\u3001\u518D\u9519\u6709\u8D23\u3001\u89E6\u5E95\u5FC5\u7A76",
1334
- paragraphs: [
1335
- "\u6D77\u666E\u9F13\u52B1\u5728\u4F01\u4E1A\u7ECF\u8425\u548C\u7BA1\u7406\u8FC7\u7A0B\u4E2D\uFF0C\u5927\u80C6\u63A2\u7D22\u548C\u521B\u65B0\uFF0C\u5BF9\u4E8E\u975E\u9C81\u83BD\u5BFC\u81F4\u7684\u8FC7\u5931\uFF0C\u51E1\u662F\u53EF\u4EE5\u5438\u53D6\u6559\u8BAD\u7684\u4E0D\u4E88\u8FFD\u7A76\uFF1B\u5BF9\u521B\u65B0\u6210\u679C\u4E88\u4EE5\u5956\u52B1\u3002",
1336
- "\u6D77\u666E\u4EBA\u6709\u8FC7\u5931\uFF0C\u5F53\u601D\u8FC7\u6539\u8FC7\uFF0C\u4E0D\u518D\u91CD\u72AF\u3002\u9519\u8BEF\u6216\u5931\u8D25\u7684\u6559\u8BAD\u4E0D\u8BBA\u6765\u81EA\u4E8E\u81EA\u8EAB\u7684\u8FC7\u5931\uFF0C\u6216\u8005\u6765\u81EA\u4E8E\u4ED6\u4EBA\u7684\u6559\u8BAD\uFF0C\u90FD\u5F53\u5F15\u4EE5\u4E3A\u6212\uFF0C\u4E0D\u518D\u91CD\u72AF\u3002",
1337
- "\u6D77\u666E\u5BF9\u5458\u5DE5\u7684\u884C\u4E3A\u8BBE\u5B9A\u89E6\u72AF\u826F\u77E5\u7684\u5E95\u7EBF\uFF0C\u5305\u62EC\uFF08\u4E0D\u9650\u4E8E\uFF09\uFF1A\u4EE5\u804C\u8C0B\u79C1\u3001\u5931\u7231\u4EB2\u4EBA\u3001\u9633\u5949\u9634\u8FDD\u3001\u6311\u62E8\u662F\u975E\u3001\u7F9E\u8FB1\u4EBA\u683C\u3001\u4E34\u5371\u5378\u8D23\u3001\u5F87\u79C1\u5931\u4FE1\u3002"
1338
- ]
1339
- },
1340
- {
1341
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1342
- section: "\u9886\u5BFC\u8005",
1343
- title: "\u9886\u5BFC\u529B\uFF1A\u54C1\u683C\u9B45\u529B\u548C\u884C\u52A8\u5F71\u54CD\u529B",
1344
- prefix: "\u9886\u5BFC\u529B",
1345
- main: "\u54C1\u683C\u9B45\u529B\u548C\u884C\u52A8\u5F71\u54CD\u529B",
1346
- paragraphs: [
1347
- "\u9886\u5BFC\u529B\u662F\u7BA1\u7406\u8005\u4EE5\u81EA\u8EAB\u5177\u6709\u7684\u6210\u719F\u4EBA\u683C\u3001\u5BBD\u9614\u80F8\u6000\u3001\u4E30\u539A\u667A\u6167\uFF0C\u5728\u5E26\u9886\u4F17\u4EBA\u65F6\u6240\u4EA7\u751F\u7684\u4EBA\u683C\u9B45\u529B\u53CA\u5BF9\u56E2\u961F\u884C\u4E3A\u7684\u5F71\u54CD\u529B\u548C\u53F7\u53EC\u529B\u3002",
1348
- "\u65E0\u4E0A\u4EBA\u683C\u3001\u65E0\u91CF\u667A\u6167\u3001\u65E0\u9650\u80F8\u6000\u3001\u65E0\u754F\u52C7\u6C14\u3002\u662F\u9886\u5BFC\u8005\u65F6\u523B\u4FEE\u70BC\u7684\u4F18\u79C0\u54C1\u683C\u7684\u6838\u5FC3\u8981\u7D20\uFF0C\u4E00\u4E2A\u4EBA\u7684\u6210\u5C31\u6765\u81EA\u4E8E\u9886\u5BFC\u529B\uFF0C\u6E90\u4E8E\u54C1\u683C\u7684\u4FEE\u70BC\u63D0\u5347\u3002",
1349
- "\u9886\u5BFC\u8005\u4E0E\u7BA1\u7406\u8005\u6700\u5927\u7684\u4E0D\u540C\uFF1A\u7BA1\u7406\u8005\u7684\u5BF9\u8C61\u662F\u88AB\u7BA1\u7406\u8005\uFF0C\u4E8C\u8005\u4F9D\u9760\u804C\u52A1\u5173\u7CFB\u7684\u7EA6\u675F\uFF1B\u9886\u5BFC\u8005\u8EAB\u65C1\u662F\u8DDF\u968F\u8005\uFF0C\u4E8C\u8005\u4E3B\u8981\u901A\u8FC7\u4FE1\u4EFB\u5F7C\u6B64\u8054\u7ED3\u3002"
1350
- ]
1351
- },
1352
- {
1353
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1354
- section: "\u9886\u5BFC\u8005",
1355
- title: "\u9886\u5BFC\u65B9\u5F0F\uFF1A\u6559\u7EC3\u3001\u8D4B\u80FD",
1356
- prefix: "\u9886\u5BFC\u65B9\u5F0F",
1357
- main: "\u6559\u7EC3\u3001\u8D4B\u80FD",
1358
- paragraphs: [
1359
- "\u9886\u5BFC\u8005\u4E00\u5B9A\u6CE8\u91CD\u81EA\u8EAB\u548C\u961F\u53CB\u7684\u601D\u60F3\u542F\u8FEA\u3001\u89C2\u5FF5\u6539\u53D8\u3001\u8BA4\u77E5\u63D0\u5347\uFF0C\u660E\u786E\u76EE\u6807\u3001\u8FBE\u6210\u5171\u8BC6\uFF0C\u8FDB\u800C\u5F71\u54CD\u5176\u884C\u4E3A\uFF0C\u5173\u6CE8\u5176\u8FC7\u7A0B\uFF0C\u8FBE\u6210\u9884\u671F\u6210\u679C\u3002",
1360
- "\u6559\u7EC3\u4E0D\u662F\u8001\u5E08\uFF0C\u4E5F\u975E\u987E\u95EE\uFF0C\u8981\u542F\u53D1\u961F\u5458\u81EA\u5DF1\u53D1\u73B0\u95EE\u9898\uFF0C\u81EA\u4E3B\u601D\u7D22\uFF0C\u5BFB\u627E\u89E3\u51B3\u95EE\u9898\u7684\u65B9\u6848\uFF0C\u81EA\u4E3B\u89E3\u51B3\u95EE\u9898\uFF1B\u8FC7\u7A0B\u4E2D\uFF0C\u4E0D\u65AD\u63D0\u5347\u81EA\u8EAB\u80FD\u529B\u3002",
1361
- "\u5FC5\u8981\u65F6\uFF0C\u9886\u5BFC\u63D0\u4F9B\u5173\u952E\u8D44\u6E90\u548C\u652F\u6301\uFF0C\u8BA9\u5458\u5DE5\u6709\u673A\u4F1A\u53C2\u4E0E\u65B0\u7684\u4EFB\u52A1\uFF0C\u63A5\u6536\u65B0\u77E5\u8BC6\uFF0C\u5C06\u65B0\u5DE5\u4F5C\u5B9E\u8DF5\u7ECF\u9A8C\u4E0E\u7406\u8BBA\u76F8\u7ED3\u5408\uFF0C\u6FC0\u53D1\u5176\u81EA\u6211\u521B\u9020\u529B\u3002"
1362
- ]
1363
- },
1364
- {
1365
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1366
- section: "\u9886\u5BFC\u8005",
1367
- title: "\u9886\u5BFC\u601D\u7EF4\uFF1A\u5173\u6CE8\u74F6\u9888\uFF0C\u7CFB\u7EDF\u601D\u8003",
1368
- prefix: "\u9886\u5BFC\u601D\u7EF4",
1369
- main: "\u5173\u6CE8\u74F6\u9888\uFF0C\u7CFB\u7EDF\u601D\u8003",
1370
- paragraphs: [
1371
- "\u9886\u5BFC\u8005\u5F53\u4EE5\u4F01\u4E1A\u7684\u6218\u7565\u4E3A\u76EE\u6807\uFF0C\u6784\u5EFA\u5B8C\u5584\u7684\u7ECF\u8425\u4F53\u7CFB\uFF0C\u4EE5\u8D85\u524D\u89C6\u91CE\u548C\u5168\u5C40\u5316\u601D\u7EF4\uFF0C\u5173\u6CE8\u4F01\u4E1A\u7CFB\u7EDF\u6548\u7387\u548C\u6548\u76CA\uFF0C\u5B9E\u73B0\u4F01\u4E1A\u4EF7\u503C\u6700\u5927\u5316\u3002",
1372
- "\u9886\u5BFC\u8005\u8981\u53CA\u65F6\u5173\u6CE8\u7EC4\u7EC7\u74F6\u9888\uFF0C\u53CA\u65F6\u6E05\u9664\u4E00\u53F6\u969C\u76EE\u7684\u77ED\u89C6\u548C\u4EE5\u90E8\u95E8\u5229\u76CA\u4E3A\u4E3B\u5BFC\u7684\u89C2\u5FF5\u4E0E\u884C\u4E3A\uFF0C\u53CA\u65F6\u6D88\u9664\u5BF9\u4E8B\u4E1A\u6574\u4F53\u53D1\u5C55\u7684\u6D88\u6781\u5F71\u54CD\u3002",
1373
- "\u4E0D\u7B51\u4F53\u7CFB\uFF0C\u4F55\u6C42\u7EC6\u8282\uFF1B\u4E0D\u8C0B\u6218\u7565\uFF0C\u4F55\u64CD\u6267\u884C\uFF01"
1374
- ]
1375
- },
1376
- {
1377
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1378
- section: "\u9886\u5BFC\u8005",
1379
- title: "\u5F53\u597D\u73ED\u957F\uFF1A\u4EE5\u8EAB\u4F5C\u5219\uFF0C\u7387\u5148\u5782\u8303",
1380
- prefix: "\u5F53\u597D\u73ED\u957F",
1381
- main: "\u4EE5\u8EAB\u4F5C\u5219\uFF0C\u7387\u5148\u5782\u8303",
1382
- paragraphs: [
1383
- "\u201C\u5B9A\u76EE\u6807\u3001\u642D\u73ED\u5B50\u3001\u5EFA\u4F53\u7CFB\u3001\u5E26\u56E2\u961F\u201D\u662F\u9886\u5BFC\u8005\u7684\u6838\u5FC3\u8D23\u4EFB\u3002\u6839\u636E\u4F01\u4E1A\u53D1\u5C55\u89C4\u5212\uFF0C\u5236\u5B9A\u660E\u786E\u7684\u5E74\u5B63\u6708\u8BA1\u5212\uFF1B\u7EC4\u5EFA\u80FD\u529B\u4E92\u8865\u6218\u6597\u529B\u5F3A\u7684\u56E2\u961F\uFF0C\u786E\u7ACB\u660E\u6670\u7684\u5DE5\u4F5C\u6D41\u7A0B\u548C\u7BA1\u7406\u89C4\u8303\uFF0C\u51DD\u805A\u5927\u5BB6\u9AD8\u6548\u8FBE\u6210\u56E2\u961F\u76EE\u6807\u3002",
1384
- "\u8EAB\u4E3A\u7ECF\u8425\u56E2\u961F\u6838\u5FC3\u548C\u5404\u7EA7\u201C\u6218\u6597\u73ED\u7EC4\u201D\u7684\u73ED\u957F\uFF0C\u9700\u8EAB\u5148\u58EB\u5352\uFF0C\u4E8B\u4E8B\u4EE5\u8EAB\u4F5C\u5219\uFF0C\u4E3A\u6240\u5E26\u9886\u56E2\u961F\u6811\u7ACB\u597D\u7684\u699C\u6837\uFF0C\u6307\u5BFC\u56E2\u961F\u6210\u5458\u4E0D\u65AD\u5B66\u4E60\u548C\u63D0\u5347\uFF0C\u6253\u9020\u4E00\u652F\u56E2\u7ED3\u3001\u594B\u8FDB\u7684\u9AD8\u7EE9\u6548\u56E2\u961F\uFF0C\u81EA\u4E3B\u8FBE\u6210\u4F01\u4E1A\u7ECF\u8425\u76EE\u6807\u3002",
1385
- "\u8EAB\u5148\u8DB3\u4EE5\u7387\u4F17\uFF0C\u81EA\u5F8B\u8DB3\u4EE5\u670D\u4F17\u3002"
1386
- ]
1387
- },
1388
- {
1389
- chapter: "\u7B2C\u4E09\u7AE0 \u7EC4\u7EC7\u7EB2\u8981",
1390
- section: "\u9886\u5BFC\u8005",
1391
- title: "\u9886\u5BFC\u6977\u6A21\uFF1A\u6210\u4EBA\u8FBE\u5DF1\uFF0C\u5EFA\u529F\u7ACB\u4E1A",
1392
- prefix: "\u9886\u5BFC\u6977\u6A21",
1393
- main: "\u6210\u4EBA\u8FBE\u5DF1\uFF0C\u5EFA\u529F\u7ACB\u4E1A",
1394
- paragraphs: [
1395
- "\u4F18\u79C0\u7684\u9886\u5BFC\u8005\u9700\u8981\u5177\u5907\u5BF9\u6240\u732E\u8EAB\u4E8B\u4E1A\u8FDB\u884C\u89C4\u5212\u4E0E\u63A8\u8FDB\u7684\u80FD\u529B\uFF0C\u9700\u8981\u6709\u77E5\u4EBA\u4E4B\u667A\uFF0C\u77E5\u56E2\u961F\u5404\u6210\u5458\u4E4B\u6240\u957F\uFF0C\u4E5F\u9700\u8981\u6709\u81EA\u77E5\u4E4B\u660E\u3001\u80DC\u5DF1\u4E4B\u5FC3\uFF0C\u540C\u5FC3\u6784\u5EFA\u6027\u683C\u642D\u914D\u3001\u80FD\u529B\u4E92\u8865\u7684\u4F18\u79C0\u56E2\u961F\uFF0C\u56E2\u7ED3\u594B\u8FDB\uFF0C\u5408\u529B\u8FBE\u6210\u4F01\u4E1A\u4F7F\u547D\u3002",
1396
- "\u77E5\u5DF1\u8005\u660E\uFF0C\u77E5\u4EBA\u8005\u667A\uFF0C\u6210\u4EBA\u8FBE\u5DF1\u8005\u5F3A\u3002\u4E0A\u4E0B\u540C\u6B32\uFF0C\u65B9\u80FD\u5EFA\u529F\u7ACB\u4E1A\u3002"
1397
- ]
1398
- },
1399
- {
1400
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1401
- section: "\u4EBA\u529B\u8D44\u6E90",
1402
- title: "\u57FA\u672C\u76EE\u6807\uFF1A\u652F\u6491\u6D77\u666E\u4E8B\u4E1A\u5065\u5EB7\u53D1\u5C55",
1403
- prefix: "\u57FA\u672C\u76EE\u6807",
1404
- main: "\u652F\u6491\u6D77\u666E\u4E8B\u4E1A\u5065\u5EB7\u53D1\u5C55",
1405
- paragraphs: [
1406
- "\u4ECA\u5929\u4E92\u8054\u65F6\u4EE3\uFF0C\u4F01\u4E1A\u7ADE\u4E89\u4ECE\u6839\u672C\u4E0A\u5C31\u662F\u4F01\u4E1A\u4EBA\u624D\u7D20\u8D28\u548C\u8BA4\u77E5\u7684\u7ADE\u4E89\u3002",
1407
- "\u6D77\u666E\u7ECF\u8425\u8005\u548C\u4EBA\u529B\u8D44\u6E90\u5DE5\u4F5C\u8005\u5FC5\u987B\u5177\u6709\u524D\u77BB\u6027\u7684\u89C6\u91CE\uFF0C\u901A\u8FC7\u6784\u5EFA\u4EBA\u624D\u53D1\u5C55\u4F53\u7CFB\uFF0C\u4E3A\u5458\u5DE5\u6210\u624D\u548C\u53D1\u5C55\u63D0\u4F9B\u652F\u6301\uFF1B\u5EFA\u7ACB\u660E\u6670\u7684\u804C\u4E1A\u901A\u9053\u548C\u6FC0\u52B1\u673A\u5236\uFF0C\u9F13\u52B1\u5458\u5DE5\u81EA\u6211\u63D0\u5347\u5176\u804C\u4E1A\u7D20\u517B\u548C\u6280\u80FD\uFF0C\u5B9E\u73B0\u5458\u5DE5\u8FDB\u6B65\u6210\u957F\u3002",
1408
- "\u6D77\u666E\u89C6\u8BA4\u540C\u6D77\u666E\u53D1\u5C55\u7406\u5FF5\u3001\u5FB7\u624D\u517C\u5907\u3001\u79EF\u6781\u6709\u4E3A\u7684\u4F18\u79C0\u5458\u5DE5\u4E3A\u6D77\u666E\u4E8B\u4E1A\u7684\u9AA8\u5E72\u548C\u57F9\u517B\u7684\u9996\u9009\uFF1B\u4E3A\u4F18\u79C0\u5458\u5DE5\u63D0\u4F9B\u65BD\u5C55\u624D\u80FD\u7684\u5E73\u53F0\uFF0C\u505A\u5230\u4EBA\u5C3D\u5176\u624D\u3001\u53D1\u5C55\u6709\u4E3A\uFF0C\u5728\u4E3A\u6D77\u666E\u53D1\u5C55\u521B\u9020\u4EF7\u503C\u7684\u540C\u65F6\uFF0C\u7ED9\u4E88\u5408\u7406\u56DE\u62A5\u3002"
1409
- ]
1410
- },
1411
- {
1412
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1413
- section: "\u4EBA\u529B\u8D44\u6E90",
1414
- title: "\u804C\u4E1A\u901A\u9053\uFF1A\u591A\u5411\u53D1\u5C55\uFF0C\u660E\u6670\u89C4\u5212",
1415
- prefix: "\u804C\u4E1A\u901A\u9053",
1416
- main: "\u591A\u5411\u53D1\u5C55\uFF0C\u660E\u6670\u89C4\u5212",
1417
- paragraphs: [
1418
- "\u6D77\u666E\u4E3A\u4E86\u8BA9\u5177\u6709\u4E0D\u540C\u7279\u8D28\u7684\u5458\u5DE5\u90FD\u6709\u66F4\u597D\u7684\u4E0A\u5347\u7A7A\u95F4\u548C\u5747\u8861\u53D1\u5C55\u7684\u673A\u4F1A\uFF0C\u8BBE\u7F6E\u4E86\u4E03\u4E2A\u804C\u4E1A\u53D1\u5C55\u901A\u9053\uFF1B\u9F13\u52B1\u5458\u5DE5\u53D1\u6325\u4E2A\u4EBA\u7279\u957F\uFF0C\u901A\u8FC7\u81EA\u8EAB\u9009\u62E9\u548C\u9002\u65F6\u4F18\u5316\uFF0C\u52AA\u529B\u5B66\u4E60\u548C\u63D0\u5347\uFF0C\u83B7\u5F97\u6EE1\u610F\u7684\u804C\u4E1A\u53D1\u5C55\u3002",
1419
- "\u804C\u4E1A\u901A\u9053\u7684\u8BBE\u8BA1\u9075\u5FAA\u516C\u53F8\u53D1\u5C55\u9700\u8981\u548C\u4E2A\u4EBA\u6F5C\u80FD\uFF0C\u804C\u4E1A\u5174\u8DA3\u3001\u4E2A\u6027\u7279\u8D28\u76F8\u7ED3\u5408\uFF1B\u5728\u5458\u5DE5\u5165\u804C\u521D\u671F\uFF0C\u7531\u4E0A\u7EA7\u548C\u4EBA\u8D44\u90E8\u95E8\u6307\u5BFC\u5458\u5DE5\u5236\u5B9A\u6E05\u6670\u7684\u804C\u4E1A\u53D1\u5C55\u8DEF\u7EBF\uFF0C\u5B9A\u671F\u6C9F\u901A\u548C\u5B8C\u5584\uFF0C\u660E\u786E\u5458\u5DE5\u5404\u9636\u6BB5\u7684\u53D1\u5C55\u76EE\u6807\u3002"
1420
- ]
1421
- },
1422
- {
1423
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1424
- section: "\u4EBA\u529B\u8D44\u6E90",
1425
- title: "\u4EBA\u8D44\u8D23\u4EFB\uFF1A\u5168\u5458\u6709\u8D23\uFF0C\u9886\u5BFC\u9996\u8D23",
1426
- prefix: "\u4EBA\u8D44\u8D23\u4EFB",
1427
- main: "\u5168\u5458\u6709\u8D23\uFF0C\u9886\u5BFC\u9996\u8D23",
1428
- paragraphs: [
1429
- "\u4EBA\u529B\u8D44\u6E90\u7BA1\u7406\u662F\u6D77\u666E\u5168\u4F53\u5458\u5DE5\u5171\u540C\u7684\u8D23\u4EFB\uFF0C\u4E0D\u540C\u5C42\u7EA7\u5458\u5DE5\u4ECE\u4E0D\u540C\u89D2\u5EA6\u53D1\u6325\u4E0D\u540C\u7684\u4F5C\u7528\u3002\u6D77\u666E\u4E3A\u5458\u5DE5\u63D0\u4F9B\u4E13\u4E1A\u6307\u5BFC\uFF0C\u9886\u5BFC\u627F\u62C5\u9996\u8981\u8D23\u4EFB\u3002",
1430
- "\u5458\u5DE5\u90FD\u662F\u81EA\u5DF1\u7684\u4EBA\u529B\u8D44\u6E90\u7BA1\u7406\u5E08\uFF0C\u627F\u62C5\u81EA\u6211\u89C4\u5212\u3001\u81EA\u6211\u7BA1\u7406\u3001\u81EA\u4E3B\u5B66\u4E60\u3001\u81EA\u4E3B\u5F00\u53D1\u3001\u81EA\u6211\u63D0\u5347\u7684\u8D23\u4EFB\u3002\u81EA\u5DF1\u4E0D\u6539\u53D8\uFF0C\u8C01\u4E5F\u65E0\u6CD5\u6539\u53D8\u4F60\uFF01",
1431
- "\u9009\u4EBA\u3001\u80B2\u4EBA\uFF0C\u7528\u4EBA\u3001\u7559\u4EBA\u65B9\u9762\uFF0C\u5404\u7EA7\u9886\u5BFC\u8981\u627F\u62C5\u4E3B\u8981\u8D23\u4EFB\uFF0C\u80FD\u5426\u6709\u6548\u57F9\u517B\u4E0B\u5C5E\u6210\u957F\u548C\u5408\u7406\u914D\u7F6E\u4EBA\u529B\u8D44\u6E90\u662F\u8861\u91CF\u9886\u5BFC\u8005\u662F\u5426\u5408\u683C\u7684\u91CD\u8981\u6807\u51C6\u3002",
1432
- "\u4EBA\u8D44\u7CFB\u7EDF\u8D1F\u8D23\u6784\u5EFA\u6709\u6548\u7684\u4EBA\u529B\u8D44\u6E90\u7BA1\u7406\u4E0E\u4EBA\u624D\u53D1\u5C55\u4F53\u7CFB\uFF0C\u786E\u4FDD\u5148\u8FDB\u7684\u4EBA\u529B\u8D44\u6E90\u5DE5\u5177\u548C\u65B9\u6CD5\u5728\u6D77\u666E\u5F97\u4EE5\u9002\u7528\uFF0C\u63D0\u4F9B\u4E13\u4E1A\u9AD8\u6548\u7684\u670D\u52A1\u548C\u6307\u5BFC\u3002"
1433
- ]
1434
- },
1435
- {
1436
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1437
- section: "\u4EBA\u529B\u8D44\u6E90",
1438
- title: "\u57F9\u8BAD\u5F00\u53D1\uFF1A\u4EBA\u4EBA\u53C2\u4E0E\uFF0C\u4EBA\u4EBA\u6210\u624D",
1439
- prefix: "\u57F9\u8BAD\u5F00\u53D1",
1440
- main: "\u4EBA\u4EBA\u53C2\u4E0E\uFF0C\u4EBA\u4EBA\u6210\u624D",
1441
- paragraphs: [
1442
- "\u4E2A\u4EBA\u6F5C\u80FD\u5F00\u53D1\u6E90\u4E8E\u8BA4\u77E5\u6C34\u5E73\u7684\u63D0\u5347\u548C\u5FC3\u667A\u6A21\u5F0F\u7684\u6539\u53D8\uFF0C\u5168\u4F53\u5458\u5DE5\u7684\u8FDB\u6B65\u9700\u8981\u79C9\u627F\u201C\u8C26\u900A\u3001\u8BDA\u6B63\u3001\u7CBE\u8FDB\u201D\u7684\u7CBE\u795E\uFF0C\u878D\u5165\u6D77\u666E\u4EBA\u7684\u8840\u6DB2\u91CC\uFF1B\u6D77\u666E\u6784\u5EFA\u4E3A\u5B66\u4E60\u578B\u7EC4\u7EC7\uFF0C\u5BF9\u5458\u5DE5\u8FDB\u884C\u6709\u6548\u7684\u7D20\u8D28\u6559\u80B2\u3001\u6280\u80FD\u57F9\u8BAD\u53CA\u80FD\u529B\u5F00\u53D1\u3002",
1443
- "\u6D77\u666E\u7ED9\u4E88\u5404\u5C97\u5458\u5DE5\u5747\u7B49\u7684\u57F9\u8BAD\u6559\u80B2\u548C\u80FD\u529B\u5F00\u53D1\u673A\u4F1A\uFF0C\u4FC3\u8FDB\u5458\u5DE5\u63D0\u5347\u804C\u4E1A\u7D20\u517B\u4E0E\u5C97\u4F4D\u6280\u80FD\u4EE5\u53CA\u7BA1\u7406\u6C34\u5E73\uFF1B\u6309\u7167\u201C\u5C97\u4F4D\u9700\u6C42\u4E3A\u4E3B\uFF0C\u517C\u5177\u6F5C\u80FD\u5F00\u53D1\u201D\u7684\u539F\u5219\uFF0C\u5EFA\u7ACB\u4EBA\u529B\u8D44\u6E90\u57F9\u8BAD\u5F00\u53D1\u4F53\u7CFB\uFF0C\u57F9\u517B\u4F18\u79C0\u5458\u5DE5\uFF0C\u5B9E\u73B0\u4EBA\u4EBA\u6210\u624D\u3002",
1444
- "\u6D77\u666E\u7684\u4EBA\u624D\u57F9\u8BAD\u4F53\u7CFB\u7684\u5EFA\u7ACB\uFF0C\u6839\u636E\u804C\u4E1A\u5E8F\u5217\u3001\u5458\u5DE5\u81EA\u8EAB\u7D20\u517B\u548C\u6F5C\u8D28\u3001\u57F9\u517B\u65B9\u5411\u7684\u5DEE\u5F02\uFF0C\u91C7\u53D6\u591A\u9014\u5F84\u3001\u591A\u5F62\u5F0F\u7684\u57F9\u8BAD\u5F00\u53D1\u65B9\u5F0F\uFF1B\u66F4\u8981\u8003\u8651\u81EA\u8EAB\u57F9\u8BAD\u5E08\u961F\u4F0D\u7684\u5EFA\u8BBE\uFF0C\u8BA9\u6709\u4E13\u624D\u7684\u4F18\u79C0\u5458\u5DE5\u6709\u673A\u4F1A\u53C2\u4E0E\u548C\u5145\u5206\u53D1\u6325\u5176\u624D\u5E72\u3002"
1445
- ]
1446
- },
1447
- {
1448
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1449
- section: "\u4EBA\u624D\u57F9\u517B",
1450
- title: "\u7EE7\u4EFB\u89C4\u5212\uFF1A\u7CFB\u7EDF\u57F9\u517B\uFF0C\u62E9\u4F18\u9009\u62D4",
1451
- prefix: "\u7EE7\u4EFB\u89C4\u5212",
1452
- main: "\u7CFB\u7EDF\u57F9\u517B\uFF0C\u62E9\u4F18\u9009\u62D4",
1453
- paragraphs: [
1454
- "\u6D77\u666E\u8981\u6301\u7EED\u89C4\u6A21\u5316\u53D1\u5C55\uFF0C\u9700\u8981\u57F9\u517B\u8DB3\u591F\u7684\u540E\u5907\u4EBA\u624D\u68AF\u961F\uFF0C\u5C31\u8981\u6784\u5EFA\u9002\u5E94\u6D77\u666E\u53D1\u5C55\u8981\u6C42\u7684\u4EBA\u624D\u53D1\u5C55\u4F53\u7CFB\u548C\u660E\u6670\u7EE7\u4EFB\u8005\u89C4\u5212\u6765\u505A\u4FDD\u969C\u3002",
1455
- "\u6D77\u666E\u7684\u5404\u7EA7\u7ECF\u8425\u8005\u548C\u6838\u5FC3\u4E13\u4E1A\u5C97\u4F4D\u7686\u8981\u9009\u62D4\u5408\u9002\u7684\u7EE7\u4EFB\u4EBA\u9009\uFF0C\u4EE5\u57F9\u517B\u5408\u683C\u7684\u540E\u7EED\u63A5\u73ED\u4EBA\u4E3A\u6559\u7EC3\u9996\u8981\uFF0C\u7ED9\u4E88\u9002\u65F6\u8F85\u5BFC\u57F9\u517B\uFF0C\u953B\u70BC\u6210\u957F\u3002",
1456
- "\u516C\u53F8\u7ED9\u4E88\u7EE7\u4EFB\u8005\u5145\u5206\u7684\u5B66\u4E60\u548C\u953B\u70BC\u673A\u4F1A\uFF0C\u540C\u65F6\uFF0C\u8FD8\u8981\u5BF9\u5176\u7D20\u517B\u80FD\u529B\u7684\u8FDB\u6B65\u548C\u7EE9\u6548\u6C34\u5E73\u7ED9\u4E88\u53CA\u65F6\u8003\u8BC4\uFF0C\u5BF9\u5176\u80DC\u4EFB\u60C5\u51B5\u4F5C\u51FA\u8BC4\u4F30\u548C\u6307\u5BFC\u3002",
1457
- "\u4EE5\u201C\u624D\u8005\u5FB7\u4E4B\u8D44\uFF0C\u5FB7\u8005\u624D\u4E4B\u5E05\u201D\u4E3A\u539F\u5219\u62E9\u4F18\u9009\u62D4\uFF0C\u5339\u914D\u5408\u9002\u5C97\u4F4D\u4EFB\u7528\u3002"
1458
- ]
1459
- },
1460
- {
1461
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1462
- section: "\u4EBA\u624D\u57F9\u517B",
1463
- title: "\u4EBA\u624D\u89C2\uFF1A\u7ACB\u4E1A\u6210\u624D\uFF0C\u6709\u4E3A\u6709\u4F4D",
1464
- prefix: "\u4EBA\u624D\u89C2",
1465
- main: "\u7ACB\u4E1A\u6210\u624D\uFF0C\u6709\u4E3A\u6709\u4F4D",
1466
- paragraphs: [
1467
- "\u6D77\u666E\u8BA4\u4E3A\u5177\u6709\u57FA\u672C\u804C\u4E1A\u64CD\u5B88\u548C\u4E13\u4E1A\u7279\u957F\u3001\u80FD\u591F\u4E3A\u4F01\u4E1A\u521B\u9020\u4EF7\u503C\u7684\u5458\u5DE5\u90FD\u662F\u4EBA\u624D\uFF1B\u89C6\u9AD8\u5EA6\u8BA4\u540C\u6D77\u666E\u4EF7\u503C\u89C2\u548C\u4E8B\u4E1A\u76EE\u6807\uFF0C\u80FD\u591F\u5E26\u9886\u4F17\u4EBA\u9AD8\u6548\u8FBE\u6210\u7EC4\u7EC7\u76EE\u6807\u7684\u7ECF\u8425\u4EBA\u624D\u6216\u4E13\u4E1A\u80FD\u529B\u51FA\u4F17\uFF0C\u505A\u51FA\u521B\u65B0\u6210\u5C31\u7684\u4E13\u5BB6\u4E3A\u6D77\u666E\u680B\u6881\u3002",
1468
- "\u6D77\u666E\u91CD\u89C6\u4EBA\u624D\u57F9\u517B\u4E0E\u6210\u957F\uFF0C\u6CE8\u91CD\u4EE5\u4E8B\u4E1A\u6210\u5C31\u4EBA\u624D\uFF0C\u4EE5\u6210\u5C31\u8861\u91CF\u4EBA\u624D\u3002\u5BF9\u5FB7\u624D\u517C\u5907\u3001\u52C7\u4E8E\u5F53\u62C5\u3001\u79EF\u6781\u4F5C\u4E3A\u7684\u5458\u5DE5\u7ED9\u4E88\u91CD\u70B9\u57F9\u517B\u548C\u953B\u70BC\u6210\u957F\u7684\u673A\u4F1A\uFF0C\u5728\u4E3A\u4F01\u4E1A\u521B\u9020\u66F4\u5927\u4EF7\u503C\u7684\u8FC7\u7A0B\u4E2D\uFF0C\u7ED9\u4E88\u5408\u7406\u56DE\u62A5\u548C\u66F4\u5927\u7684\u53D1\u5C55\u7A7A\u95F4\u3002"
1469
- ]
1470
- },
1471
- {
1472
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1473
- section: "\u4EBA\u624D\u57F9\u517B",
1474
- title: "\u9009\u624D\u539F\u5219\uFF1A\u4EBA\u5C97\u5339\u914D\uFF0C\u5FB7\u624D\u517C\u987E",
1475
- prefix: "\u9009\u624D\u539F\u5219",
1476
- main: "\u4EBA\u5C97\u5339\u914D\uFF0C\u5FB7\u624D\u517C\u987E",
1477
- paragraphs: [
1478
- "\u6D77\u666E\u5BF9\u4EBA\u624D\u4E0D\u6C42\u5168\u8D23\u5907\uFF0C\u9075\u5FAA\u201C\u8D24\u8005\u5C45\u4E0A\uFF0C\u667A\u8005\u5C45\u4FA7\uFF0C\u80FD\u8005\u5C45\u4E2D\uFF0C\u5E73\u8005\u5C45\u4E0B\u201D\u7684\u539F\u5219\uFF0C\u5408\u7406\u9009\u62D4\u914D\u7F6E\u9002\u7528\u4EBA\u624D\u3002\u505A\u5230\u4EBA\u5C3D\u5176\u624D\uFF0C\u4EBA\u5C97\u5339\u914D\u3002",
1479
- "\u6D77\u666E\u5BF9\u65B0\u5F15\u8FDB\u4EBA\u624D\u5B9E\u884C\u8BD5\u7528\u5236\uFF0C\u5B9E\u4E60\u5458\u5DE5\u5B9E\u884C\u5BFC\u5E08\u5236\uFF0C\u7BA1\u7406\u8005\u9009\u62D4\u5B9E\u884C\u9009\u8058\u5236\uFF0C\u7BA1\u7406\u8005\u521D\u4EFB\u5B9E\u884C\u89C1\u4E60\u5236\u3002\u8BD5\u7528\u6216\u89C1\u4E60\u671F\u6EE1\u7686\u4E88\u4EE5\u80DC\u4EFB\u8003\u8BC4\u3002",
1480
- "\u4F18\u79C0\u7BA1\u7406\u8005\uFF0C\u8981\u5728\u9762\u5BF9\u56F0\u96BE\u548C\u8FBE\u6210\u4EFB\u52A1\u7684\u8FC7\u7A0B\u4E2D\u8003\u5BDF\uFF0C\u9009\u62D4\u8BA4\u771F\u5DE5\u4F5C\u3001\u7528\u5FC3\u505A\u4E8B\u3001\u6562\u4E8E\u62C5\u5F53\u7684\u4EBA\u3002\u6D77\u666E\u4FE1\u5949\uFF1A\u62C5\u5F53\u627F\u8F7D\u6210\u529F\uFF0C\u7528\u5FC3\u6210\u5C31\u4E0D\u51E1\uFF01",
1481
- "\u6D77\u666E\u62D2\u7EDD\u4E0D\u601D\u8FDB\u53D6\u81EA\u7518\u5E73\u5EB8\u4E4B\u5FC3\uFF0C\u4E3B\u52A8\u6DD8\u6C70\u5BF9\u6D77\u666E\u4EF7\u503C\u89C2\u6F20\u89C6\u7684\u4EBA\uFF0C\u89C6\u81EA\u4EE5\u4E3A\u662F\u89C6\u9A84\u50B2\u81EA\u6EE1\u4E3A\u8FDB\u6B65\u4E4B\u5927\u654C\uFF01\u51B3\u4E0D\u59D1\u606F\u6709\u5931\u804C\u4E1A\u64CD\u5B88\u7684\u884C\u4E3A\u3002"
1482
- ]
1483
- },
1484
- {
1485
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1486
- section: "\u5458\u5DE5\u5173\u7CFB",
1487
- title: "\u5DE5\u4F5C\u5173\u7CFB\uFF1A\u548C\u8C10\u3001\u5065\u5EB7",
1488
- prefix: "\u5DE5\u4F5C\u5173\u7CFB",
1489
- main: "\u548C\u8C10\u3001\u5065\u5EB7",
1490
- paragraphs: [
1491
- "\u548C\u8C10\u7684\u5DE5\u4F5C\u5173\u7CFB\u662F\u540C\u4E8B\u987A\u7545\u4EA4\u5F80\u3001\u6109\u5FEB\u5408\u4F5C\u7684\u524D\u63D0\u3002\u6D77\u666E\u618E\u6076\u201C\u529E\u516C\u5BA4\u653F\u6CBB\u201D\u548C\u5C71\u5934\u4E3B\u4E49\uFF0C\u81F4\u529B\u8425\u9020\u548C\u8C10\u3001\u5065\u5EB7\u7684\u5458\u5DE5\u5173\u7CFB\u548C\u7EC4\u7EC7\u6C1B\u56F4\u3002",
1492
- "\u9047\u6709\u95EE\u9898\uFF0C\u5F53\u4EE5\u201C\u541B\u5B50\u548C\u800C\u4E0D\u540C\u201D\u4E3A\u539F\u5219\uFF0C\u5766\u8BDA\u4EE5\u5F85\uFF0C\u4E0D\u63A9\u9970\u5DE5\u4F5C\u77DB\u76FE\u3001\u4E0D\u540C\u89C2\u70B9\uFF0C\u4E0D\u7EA0\u7F20\u5F7C\u6B64\u9AD8\u4E0B\u6216\u5BF9\u4E0E\u9519\uFF0C\u5BFB\u6C42\u77DB\u76FE\u6839\u6E90\u548C\u89E3\u51B3\u95EE\u9898\u3002",
1493
- "\u540C\u4E8B\u4E4B\u95F4\uFF0C\u5F53\u6452\u5F03\u65E0\u539F\u5219\u7684\u201C\u548C\u6C14\u201D\u548C\u505A\u201C\u8001\u597D\u4EBA\u201D\uFF0C\u5BF9\u5DE5\u4F5C\u4E0D\u8D1F\u8D23\u3001\u4E0D\u62C5\u5F53\uFF1B\u66F4\u4E0D\u5F97\u4EE5\u6743\u793A\u5A01\uFF0C\u6216\u4EE5\u8001\u8D44\u5386\u8BAD\u65A5\u4ED6\u4EBA\uFF0C\u7F9E\u8FB1\u6216\u7F81\u7ECA\u540C\u4E8B\u3002",
1494
- "\u6D77\u666E\u5021\u5BFC\u5149\u660E\u78CA\u843D\uFF0C\u5BF9\u4E8B\u60C5\u6709\u60F3\u6CD5\uFF0C\u5766\u7387\u8868\u8FBE\uFF1B\u5BF9\u4ED6\u4EBA\u6709\u770B\u6CD5\uFF0C\u5F53\u9762\u5584\u610F\u8868\u8FF0\uFF0C\u8FBE\u6210\u8C05\u89E3\u3002\u4E0D\u53EF\u80CC\u540E\u8BAE\u4EBA\uFF0C\u79C1\u4E0B\u8BAE\u4E8B\uFF0C\u51B3\u4E0D\u5BB9\u5FCD\u9633\u5949\u9634\u8FDD\u3002",
1495
- "\u6D77\u666E\u63A8\u884C\u5185\u90E8\u5E02\u573A\u5316\u8FD0\u884C\uFF0C\u4F46\u4E0D\u5BB9\u5FCD\u4EE5\u5C0F\u56E2\u4F53\u5229\u76CA\u4E3A\u91CD\u800C\u653E\u5F03\u5408\u7406\u5B9A\u4EF7\u89C4\u5219\u7684\u5C0F\u7B97\u8BA1\uFF1B\u4E0D\u5BB9\u5FCD\u9047\u5230\u96BE\u9898\u6216\u56F0\u96BE\uFF0C\u5C31\u63A8\u8BFF\u3001\u5378\u8D23\u7B49\u6295\u673A\u884C\u4E3A\u3002"
1496
- ]
1497
- },
1498
- {
1499
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1500
- section: "\u5458\u5DE5\u5173\u7CFB",
1501
- title: "\u5185\u90E8\u5173\u7CFB\uFF1A\u534F\u540C\u9AD8\u6548\uFF0C\u670D\u52A1\u8D4B\u80FD",
1502
- prefix: "\u5185\u90E8\u5173\u7CFB",
1503
- main: "\u534F\u540C\u9AD8\u6548\uFF0C\u670D\u52A1\u8D4B\u80FD",
1504
- paragraphs: [
1505
- "\u6D77\u666E\u4ECE\u4EA7\u54C1\u5236\u9020\u5411\u667A\u8054\u670D\u52A1\u8F6C\u53D8\uFF0C\u4E1A\u52A1\u53D1\u5C55\u4EE5\u5BA2\u6237\u9700\u6C42\u548C\u4EFB\u52A1\u4E3A\u7275\u5F15\uFF0C\u67D4\u6027\u6784\u5EFA\u9879\u76EE\u56E2\u961F\uFF0C\u4F01\u4E1A\u5E73\u53F0\u5316\u548C\u4E3A\u9879\u76EE\u56E2\u961F\u670D\u52A1\u8D4B\u80FD\u5DF2\u6210\u4E3A\u8D8B\u52BF\u3002",
1506
- "\u968F\u7740\u4FE1\u606F\u5316\u548C\u79FB\u52A8\u4E92\u8054\u53D1\u5C55\uFF0C\u4F01\u4E1A\u670D\u52A1\u8FB9\u754C\u5DF2\u4E0D\u65AD\u5411\u5BA2\u6237\u5185\u90E8\u5EF6\u4F38\uFF0C\u7BA1\u7406\u5DF2\u7ECF\u4ECE\u5206\u5DE5\u4E3A\u4E3B\u6D41\u6B65\u5165\u66F4\u6CE8\u91CD\u4F01\u4E1A\u6574\u4F53\u6548\u80FD\u548C\u5185\u90E8\u7684\u9AD8\u6548\u534F\u540C\u3002"
1507
- ]
1508
- },
1509
- {
1510
- chapter: "\u7B2C\u56DB\u7AE0 \u4EBA\u529B\u8D44\u6E90\u7EB2\u8981",
1511
- section: "\u5458\u5DE5\u5173\u7CFB",
1512
- title: "\u540C\u4E8B\u5173\u7CFB\uFF1A\u4E92\u52A9\u5173\u7231\uFF0C\u4FE1\u4EFB\u652F\u6491",
1513
- prefix: "\u540C\u4E8B\u5173\u7CFB",
1514
- main: "\u4E92\u52A9\u5173\u7231\uFF0C\u4FE1\u4EFB\u652F\u6491",
1515
- paragraphs: [
1516
- "\u6D77\u666E\u5021\u5BFC\u65B0\u8001\u5458\u5DE5\u5EFA\u7ACB\u4E92\u52A9\u5173\u7231\u7684\u5173\u7CFB\uFF0C\u4E0A\u7EA7\u505A\u4E0B\u7EA7\u7684\u670D\u52A1\u8005\u548C\u652F\u6301\u8005\uFF0C\u540C\u4E8B\u4E4B\u95F4\u4E3A\u4E8B\u4E1A\u4F19\u4F34\u548C\u7EE9\u6548\u4F19\u4F34\u7684\u5173\u7CFB\uFF0C\u5F7C\u6B64\u4FE1\u4EFB\uFF0C\u76F8\u4E92\u652F\u6491\u3002",
1517
- "\u5F7C\u6B64\u4EE5\u201C\u6211\u4EEC\u201D\u76F8\u79F0\uFF0C\u800C\u975E\u5206\u201C\u4F60\u201D\u201C\u6211\u201D\uFF1B\u5F7C\u6B64\u5305\u5BB9\uFF0C\u800C\u975E\u5305\u5E87\uFF1B\u5F7C\u6B64\u5FC3\u5B58\u5584\u610F\uFF0C\u5BBD\u539A\u4EE5\u5F85\uFF0C\u6C9F\u901A\u548C\u987A\uFF1B\u51B3\u4E0D\u62B1\u6028\uFF0C\u4E0D\u6076\u8BED\uFF0C\u4E0D\u4F24\u5BB3\u3002",
1518
- "\u9762\u5BF9\u793E\u4F1A\uFF0C\u6211\u4EEC\u90FD\u662F\u6D77\u666E\u4EBA\uFF0C\u6709\u7740\u5171\u540C\u8363\u8A89\uFF1B\u5728\u4E00\u8D77\u65F6\uFF0C\u6211\u4EEC\u5C31\u662F\u4E00\u5BB6\u4EBA\uFF0C\u4E00\u8D77\u5949\u732E\u81EA\u5DF1\u7684\u5FC3\u667A\u548C\u6C57\u6C34\uFF0C\u5171\u540C\u6253\u9020\u7F8E\u597D\u5BB6\u56ED\u548C\u5E78\u798F\u751F\u6D3B\u3002"
1519
- ]
1520
- },
1521
- {
1522
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1523
- section: "\u7BA1\u7406\u7406\u5FF5",
1524
- title: "\u7BA1\u7406\u4E4B\u672C\uFF1A\u6587\u5316\u6FC0\u52B1\u4E0E\u5236\u5EA6\u89C4\u8303\u76F8\u7ED3\u5408",
1525
- prefix: "\u7BA1\u7406\u4E4B\u672C",
1526
- main: "\u6587\u5316\u6FC0\u52B1\u4E0E\u5236\u5EA6\u89C4\u8303\u76F8\u7ED3\u5408",
1527
- paragraphs: [
1528
- "\u4F01\u4E1A\u4EE5\u6587\u5316\u6FC0\u52B1\u7EA6\u675F\u56E2\u961F\u610F\u8BC6\u4E0E\u884C\u4E3A\uFF0C\u4EE5\u5236\u5EA6\u89C4\u8303\u7EC4\u7EC7\u8D23\u4EFB\u4E0E\u6D3B\u52A8\u3002\u6587\u5316\u662F\u5236\u5EA6\u7684\u8F6F\u4F53\u73B0\uFF0C\u5236\u5EA6\u662F\u6587\u5316\u7684\u786C\u8F7D\u4F53\u3002\u6CA1\u6709\u4F18\u79C0\u5065\u5EB7\u7684\u4F01\u4E1A\u6587\u5316\uFF0C\u4F01\u4E1A\u5219\u7F3A\u5931\u7075\u9B42\u53D8\u5F97\u50F5\u786C\uFF1B\u6CA1\u6709\u5B8C\u5584\u5236\u5EA6\u4F53\u7CFB\uFF0C\u4F01\u4E1A\u7ECF\u8425\u5219\u65E0\u5E8F\u4F4E\u6548\u3002",
1529
- "\u62E5\u6709\u660E\u6670\u613F\u666F\u548C\u9AD8\u5C1A\u7CBE\u795E\u6307\u5F15\uFF0C\u6D77\u666E\u5C06\u6253\u9020\u51FA\u65E0\u6127\u65F6\u4EE3\u7684\u4F01\u4E1A\u6587\u5316\uFF0C\u6FC0\u52B1\u6D77\u666E\u4EBA\u65E0\u754F\u5411\u524D\uFF1B\u6784\u5EFA\u4E0D\u65AD\u9002\u5E94\u4E92\u8054\u7F51\u65F6\u4EE3\u53D1\u5C55\u7684\u7ECF\u8425\u7EC4\u7EC7\u548C\u7BA1\u7406\u4F53\u7CFB\uFF0C\u786E\u4FDD\u6D77\u666E\u9002\u5E94\u53D8\u5316\u7684\u5BA2\u6237\u9700\u6C42\u548C\u66F4\u5927\u89C4\u6A21\u5316\uFF0C\u5B9E\u73B0\u6301\u7EED\u5065\u5EB7\u53D1\u5C55\u3002"
1530
- ]
1531
- },
1532
- {
1533
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1534
- section: "\u7BA1\u7406\u7406\u5FF5",
1535
- title: "\u7BA1\u7406\u9996\u8D23\uFF1A\u80B2\u4EBA",
1536
- prefix: "\u7BA1\u7406\u9996\u8D23",
1537
- main: "\u80B2\u4EBA",
1538
- paragraphs: [
1539
- "\u4F01\u4E1A\u4E00\u5207\u5DE5\u4F5C\u7686\u8981\u901A\u8FC7\u4E0E\u5C97\u4F4D\u80FD\u529B\u5339\u914D\u7684\u5458\u5DE5\u8FBE\u6210\u3002\u7BA1\u7406\u8981\u4EE5\u4EBA\u4E3A\u672C\uFF0C\u900F\u8FC7\u7BA1\u7406\u8FC7\u7A0B\u7684\u70B9\u70B9\u6EF4\u6EF4\uFF0C\u63D0\u5347\u5458\u5DE5\u8BA4\u77E5\u6C34\u5E73\u3001\u5C97\u4F4D\u80DC\u4EFB\u80FD\u529B\u3001\u81EA\u4E3B\u89E3\u51B3\u95EE\u9898\u7684\u80FD\u529B\uFF0C\u953B\u70BC\u610F\u5FD7\u54C1\u683C\uFF0C\u4FC3\u8FDB\u56E2\u961F\u6218\u6597\u529B\u548C\u4F01\u4E1A\u7ECF\u8425\u6C34\u5E73\u7684\u63D0\u5347\u3002",
1540
- "\u201C\u7BA1\u7406\u65E0\u5C0F\u4E8B\uFF0C\u5904\u5904\u7686\u80B2\u4EBA\u201D\u3002\u80B2\u4EBA\u5C31\u8981\u4ECE\u6539\u53D8\u89C2\u5FF5\u3001\u5FC3\u667A\u6A21\u5F0F\u3001\u884C\u4E3A\u4E60\u60EF\u5165\u624B\uFF0C\u7ED9\u4E88\u953B\u70BC\u673A\u4F1A\uFF0C\u63D0\u5347\u5176\u89E3\u51B3\u95EE\u9898\u80FD\u529B\uFF0C\u771F\u6B63\u505A\u5230\u201C\u6388\u4E4B\u4EE5\u6E14\u201D\u3002"
1541
- ]
1542
- },
1543
- {
1544
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1545
- section: "\u7BA1\u7406\u7406\u5FF5",
1546
- title: "\u4F53\u7CFB\u5316\uFF1A\u4F53\u7CFB\u652F\u6491\uFF0C\u534F\u540C\u589E\u6548",
1547
- prefix: "\u4F53\u7CFB\u5316",
1548
- main: "\u4F53\u7CFB\u652F\u6491\uFF0C\u534F\u540C\u589E\u6548",
1549
- paragraphs: [
1550
- "\u6D77\u666E\u901A\u8FC7\u591A\u5E74\u7684\u7BA1\u7406\u5B9E\u8DF5\uFF0C\u6DF1\u523B\u4F53\u4F1A\u5230\u968F\u7740\u4F01\u4E1A\u7ECF\u8425\u89C4\u6A21\u7684\u6269\u5927\uFF0C\u4F01\u4E1A\u5FC5\u987B\u6446\u8131\u521D\u521B\u8005\u4EBA\u6CBB\u7684\u7BA1\u7406\u6A21\u5F0F\uFF0C\u5FC5\u987B\u4EE5\u5148\u8FDB\u7684\u7EC4\u7EC7\u6A21\u5F0F\u7ED3\u5408\u89C4\u8303\u7684\u7BA1\u7406\u5236\u5EA6\u548C\u5148\u8FDB\u7684\u4FE1\u606F\u5316\u5DE5\u5177\u7B49\u8D44\u6E90\u5171\u540C\u6784\u6210\u7684\u7BA1\u7406\u4F53\u7CFB\u6765\u652F\u6491\u3002",
1551
- "\u7BA1\u7406\u4F53\u7CFB\u987B\u548C\u4F01\u4E1A\u7684\u6218\u7565\u4E0E\u89C4\u6A21\u76F8\u9002\u5E94\uFF0C\u8981\u505A\u5230\u90E8\u95E8\u804C\u80FD\u6E05\u6670\u3001\u5C97\u4F4D\u804C\u8D23\u660E\u786E\uFF0C\u5236\u5EA6\u79D1\u5B66\u89C4\u8303\uFF0C\u6D41\u7A0B\u8FD0\u884C\u987A\u7545\uFF1B\u8981\u4E0E\u65F6\u4EE3\u53D1\u5C55\u548C\u5BA2\u6237\u9700\u6C42\u53D8\u5316",
1552
- "\u8D8B\u52BF\u76F8\u9002\u5E94\uFF0C\u5C06\u662F\u4E00\u4E2A\u6301\u7EED\u4ED8\u51FA\u5927\u91CF\u52AA\u529B\u4E0E\u667A\u6167\u4E0D\u65AD\u8FDB\u5316\u7684\u8FC7\u7A0B\u3002",
1553
- "\u7BA1\u7406\u4F53\u7CFB\u7684\u6301\u7EED\u5EFA\u8BBE\uFF0C\u5C06\u662F\u6D77\u666E\u4EBA\u96C6\u4F53\u667A\u6167\u78B0\u649E\u6C47\u5408\uFF0C\u4E00\u8D77\u5F00\u542F\u5FC3\u667A\u5BFB\u627E\u771F\u77E5\u5171\u540C\u6210\u957F\u7684\u8FC7\u7A0B\uFF1B\u4E5F\u5C06\u662F\u6D77\u666E\u7ECF\u8425\u8D70\u5411\u6709\u5E8F\u9AD8\u6548\u7684\u8FC7\u7A0B\u3002",
1554
- "\u6D77\u666E\u8981\u8FC8\u5411\u66F4\u5927\u6210\u529F\uFF0C\u8A93\u5C06\u4F53\u7CFB\u5EFA\u8BBE\u8FDB\u884C\u5230\u5E95\uFF01"
1555
- ]
1556
- },
1557
- {
1558
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1559
- section: "\u7BA1\u7406\u7406\u5FF5",
1560
- title: "\u4F4E\u6210\u672C\uFF1A\u66F4\u9AD8\u7684\u6548\u7387\uFF0C\u66F4\u4F4E\u7684\u6210\u672C",
1561
- prefix: "\u4F4E\u6210\u672C",
1562
- main: "\u66F4\u9AD8\u7684\u6548\u7387\uFF0C\u66F4\u4F4E\u7684\u6210\u672C",
1563
- paragraphs: [
1564
- "\u63D0\u4F9B\u6EE1\u8DB3\u5BA2\u6237\u9700\u6C42\u7684\u4EA7\u54C1\u548C\u670D\u52A1\u540C\u65F6\uFF0C\u5BFB\u6C42\u66F4\u4F4E\u7684\u6210\u672C\uFF0C\u662F\u5BA2\u6237\u4E0D\u53D8\u7684\u8981\u6C42\u548C\u5E02\u573A\u7ADE\u4E89\u6CD5\u5219\u3002\u6210\u672C\u6BD4\u540C\u884C\u66F4\u6709\u7ADE\u4E89\u529B\uFF0C\u662F\u4F01\u4E1A\u7684\u57FA\u7840\u7ADE\u4E89\u529B\uFF0C\u4E5F\u662F\u83B7\u53D6\u5E02\u573A\u548C\u8BA2\u5355\u7684\u53EF\u9760\u4FDD\u969C\uFF0C\u662F\u4F01\u4E1A\u6301\u7EED\u76C8\u5229\u548C\u751F\u5B58\u7684\u6839\u672C\u3002",
1565
- "\u4F4E\u6210\u672C\u4F9D\u9760\u4F01\u4E1A\u7684\u4F9B\u5E94\u94FE\u4F18\u52BF\u3001\u89C4\u6A21\u5316\u4F18\u52BF\u3001\u7CFB\u7EDF\u6548\u7387\u548C\u8D39\u7528\u7BA1\u63A7\uFF1B\u9700\u8981\u6D77\u666E\u5404\u7EA7\u7ECF\u8425\u8005\u4E3B\u52A8\u8282\u7EA6\u652F\u51FA\uFF0C\u675C\u7EDD\u6D6A\u8D39\uFF0C\u9AD8\u6548\u5229\u7528\u597D\u4F01\u4E1A\u8D44\u6E90\uFF1B\u9700\u8981\u6BCF\u4F4D\u5458\u5DE5\u5177\u6709\u5F3A\u70C8\u7684\u6210\u672C\u548C\u6548\u7387\u610F\u8BC6\uFF0C\u8282\u7EA6\u6BCF\u5206\u94B1\uFF0C\u6C47\u6EF4\u6210\u6CB3\u3002"
1566
- ]
1567
- },
1568
- {
1569
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1570
- section: "\u7BA1\u7406\u7406\u5FF5",
1571
- title: "\u7CBE\u76CA\u5236\u9020\uFF1A\u7CBE\u3001\u51C6\u3001\u67D4",
1572
- prefix: "\u7CBE\u76CA\u5236\u9020",
1573
- main: "\u7CBE\u3001\u51C6\u3001\u67D4",
1574
- paragraphs: [
1575
- "\u672A\u6765\u5BA2\u6237\u9700\u6C42\u66F4\u8D8B\u4E2A\u6027\u5316\uFF0C\u4EA7\u54C1\u5236\u9020\u4E0E\u670D\u52A1\u63D0\u4F9B\u66F4\u8D8B\u5F39\u6027\uFF0C\u9700\u8981\u5BF9\u5BA2\u6237\u9700\u6C42\u66F4\u51C6\u786E\u628A\u63E1\uFF0C\u5173\u6CE8\u5B9E\u73B0\u8FC7\u7A0B\u7684\u6BCF\u4E2A\u7EC6\u8282\uFF0C\u7528\u5FC3\u5B8C\u6210\u3002\u4EA7\u54C1\u8BBE\u8BA1\u548C\u5236\u9020\u8FC7\u7A0B\u7684\u201C\u7CBE\u3001\u51C6\u3001\u67D4\u201D\u5C06\u662F\u5BF9\u4EA7\u54C1\u5236\u9020\u5546\u8FD1\u5728\u773C\u524D\u7684\u8D8B\u52BF\u8981\u6C42\u3002",
1576
- "\u6D77\u666E\u5F53\u4EE5\u7CBE\u76CA\u6C42\u8FDB\u4E4B\u5FC3\uFF0C\u4E0D\u65AD\u63D0\u5347\u5BF9\u5BA2\u6237\u9700\u6C42\u7684\u51C6\u786E\u628A\u63E1\uFF0C\u7CBE\u51C6\u8F93\u51FA\u4EA7\u54C1\u8BBE\u8BA1\uFF1B\u4EE5\u4E0D\u65AD\u5B8C\u5584\u7684\u6807\u51C6\u5316\u3001\u89C4\u8303\u5316\u3001\u6A21\u5757\u5316\u3001\u4FE1\u606F\u5316\uFF0C\u63D0\u5347\u67D4\u6027\u5B9A\u5236\u7684\u89C4\u6A21\u5316\u5236\u9020\u80FD\u529B\uFF0C\u7F29\u77ED\u4EA4\u4ED8\u5468\u671F\uFF0C\u5B9E\u73B0\u51C6\u65F6\u4EA4\u4ED8\u548C\u5BA2\u6237\u6EE1\u610F\u3002"
1577
- ]
1578
- },
1579
- {
1580
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1581
- section: "\u4F18\u79C0\u7BA1\u7406\u8005",
1582
- title: "\u7BA1\u7406\u8005\u6807\u51C6\uFF1A\u51FA\u8272\u4E1A\u7EE9\u7684\u521B\u9020\u8005",
1583
- prefix: "\u7BA1\u7406\u8005\u6807\u51C6",
1584
- main: "\u51FA\u8272\u4E1A\u7EE9\u7684\u521B\u9020\u8005",
1585
- paragraphs: [
1586
- "\u53EA\u6709\u62D2\u7EDD\u5E73\u5EB8\uFF0C\u6DF1\u5165\u4E00\u7EBF\uFF0C\u4E0D\u65AD\u8FFD\u6C42\u66F4\u9AD8\u7BA1\u7406\u6210\u6548\uFF0C\u624D\u80FD\u6210\u4E3A\u4F18\u79C0\u7684\u7BA1\u7406\u8005\u3002\u7BA1\u7406\u8005\u7684\u4EF7\u503C\u5728\u4E8E\u4E3A\u4F01\u4E1A\u6240\u521B\u9020\u7684\u4EF7\u503C\u548C\u6301\u7EED\u521B\u9020\u7684\u51FA\u8272\u4E1A\u7EE9\u3002"
1587
- ]
1588
- },
1589
- {
1590
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1591
- section: "\u4F18\u79C0\u7BA1\u7406\u8005",
1592
- title: "\u7BA1\u7406\u8005\u5B88\u5219\uFF1A\u987E\u5927\u5C40\u3001\u91CD\u4FEE\u4E3A\u3001\u5230\u57FA\u5C42\u3001\u540C\u5B66\u4E60\u3001\u5171\u8FDB\u53D6",
1593
- prefix: "\u7BA1\u7406\u8005\u5B88\u5219",
1594
- main: "\u987E\u5927\u5C40\u3001\u91CD\u4FEE\u4E3A\u3001\u5230\u57FA\u5C42\u3001\u540C\u5B66\u4E60\u3001\u5171\u8FDB\u53D6",
1595
- paragraphs: [
1596
- "\u987E\u5927\u5C40\uFF1A\u575A\u6301\u516C\u53F8\u5229\u76CA\u9AD8\u4E8E\u90E8\u95E8\u4E2A\u4EBA\u5229\u76CA\uFF1B",
1597
- "\u91CD\u4FEE\u4E3A\uFF1A\u575A\u6301\u54C1\u683C\u4FEE\u70BC\u4E0E\u9053\u5FB7\u4FEE\u517B\u7684\u63D0\u5347\uFF1B",
1598
- "\u5230\u57FA\u5C42\uFF1A\u575A\u6301\u6DF1\u5165\u57FA\u5C42\u73B0\u573A\u503E\u542C\u771F\u5B9E\u58F0\u97F3\uFF1B",
1599
- "\u540C\u5B66\u4E60\uFF1A\u575A\u6301\u5171\u540C\u5B66\u4E60\u63D0\u9AD8\u56E2\u961F\u7BA1\u7406\u80FD\u529B\u3002",
1600
- "\u5171\u8FDB\u53D6\uFF1A\u575A\u6301\u5F3A\u70C8\u7684\u8FDB\u53D6\u7CBE\u795E\uFF0C\u540C\u5FC3\u594B\u8FDB\uFF1B"
1601
- ]
1602
- },
1603
- {
1604
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1605
- section: "\u4F18\u79C0\u7BA1\u7406\u8005",
1606
- title: "\u79EF\u6781\u7684\u5FC3\u6001\uFF1A\u4E0D\u63A8\u8BFF\u3001\u4E0D\u6C14\u9981\u3001\u4E0D\u59A5\u534F\u3001\u4E0D\u8BBE\u9650\u3001\u5584\u62C5\u5F53\uFF01",
1607
- prefix: "\u79EF\u6781\u7684\u5FC3\u6001",
1608
- main: "\u4E0D\u63A8\u8BFF\u3001\u4E0D\u6C14\u9981\u3001\u4E0D\u59A5\u534F\u3001\u4E0D\u8BBE\u9650\u3001\u5584\u62C5\u5F53\uFF01",
1609
- paragraphs: [
1610
- "\u6210\u529F\u6E90\u4E8E\u79EF\u6781\u7684\u5FC3\u6001\uFF0C\u6D77\u666E\u4EBA\u65F6\u523B\u65F6\u523B\u4FDD\u6301\u79EF\u6781\u7684\u5DE5\u4F5C\u6001\u5EA6\uFF0C\u78E8\u783A\u81EA\u5DF1\u201C\u4E8B\u6C42\u5353\u8D8A\uFF0C\u575A\u97E7\u4E0D\u62D4\u201D\u7684\u4F18\u79C0\u54C1\u683C\uFF0C\u6562\u4E8E\u6253\u7834\u5E38\u89C4\u3001\u7A81\u7834\u6781\u9650\u3002",
1611
- "\u4EE5\u201C\u8BA4\u771F\u505A\u4E8B\u80FD\u591F\u505A\u5BF9\uFF0C\u7528\u5FC3\u505A\u4E8B\u624D\u80FD\u505A\u597D\u201D\u81EA\u52C9\u3002",
1612
- "\u65F6\u523B\u63D0\u9192\u81EA\u5DF1\u7528\u5FC3\u505A\u597D\u6BCF\u4EF6\u4E8B\uFF1A\u505A\u4E86\u2260\u505A\u5B8C<<\u505A\u597D\u3002",
1613
- "\u9762\u5BF9\u8FC7\u9519\uFF0C\u51B3\u4E0D\u63A8\u8BFF\uFF01\u6DF1\u77E5\uFF1A\u63A8\u5378\u8D23\u4EFB\u3001\u63A9\u9970\u8FC7\u9519\uFF0C\u662F\u66F4\u5927\u7684\u9519\uFF01",
1614
- "\u9762\u5BF9\u96BE\u9898\uFF0C\u51B3\u4E0D\u6C14\u9981\uFF01\u81EA\u4FE1\uFF1A\u529E\u6CD5\u6C38\u8FDC\u6BD4\u56F0\u96BE\u591A\uFF01",
1615
- "\u9762\u5BF9\u632B\u6298\uFF0C\u51B3\u4E0D\u59A5\u534F\uFF01\u76F8\u4FE1\uFF1A\u6709\u96BE\u9898\uFF0C\u96C6\u4F17\u601D\uFF1B\u6709\u56F0\u96BE\uFF0C\u9760\u58EB\u6C14\uFF01",
1616
- "\u9762\u5BF9\u6311\u6218\uFF0C\u6C38\u4E0D\u8BBE\u9650\uFF01\u786E\u4FE1\uFF1A\u6D77\u666E\u5B57\u5178\u91CC\u6CA1\u6709\u2014\u2014\u4E0D\u53EF\u80FD\uFF01",
1617
- "\u9762\u5BF9\u98CE\u9669\uFF0C\u5584\u4E8E\u5F53\u62C5\uFF01\u660E\u786E\uFF1A\u6709\u4EBA\u8D1F\u8D23\u6211\u670D\u4ECE\uFF0C\u65E0\u4EBA\u8D1F\u8D23\u6211\u62C5\u5F53\uFF01"
1618
- ]
1619
- },
1620
- {
1621
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1622
- section: "\u89C4\u5219\u65B9\u6CD5",
1623
- title: "\u4E8C\u5143\u6CD5\uFF1A\u5BF9\u4E8B\u3001\u80B2\u4EBA",
1624
- prefix: "\u4E8C\u5143\u6CD5",
1625
- main: "\u5BF9\u4E8B\u3001\u80B2\u4EBA",
1626
- paragraphs: [
1627
- "\u5C31\u4E8B\u8BAE\u4E8B\uFF0C\u5766\u8BDA\u9762\u5BF9\u95EE\u9898\uFF0C\u5BFB\u627E\u95EE\u9898\u4EA7\u751F\u7684\u5177\u4F53\u539F\u56E0\uFF0C\u662F\u4E3A\u4E86\u6539\u8FDB\u548C\u505A\u597D\u540C\u7C7B\u4E8B\u9879\u3002\u6D77\u666E\u4EBA\u6DF1\u77E5\uFF1A\u66F4\u5927\u7684\u9519\u8BEF\uFF0C\u5C31\u662F\u63A8\u5378\u548C\u63A9\u9970\u8FC7\u9519\u3002",
1628
- "\u5C31\u9519\u67E5\u9519\uFF0C\u67E5\u6E05\u8FC7\u5931\uFF0C\u6C72\u53D6\u6559\u8BAD\uFF0C\u91CD\u5728\u80B2\u4F17\u4EBA\uFF0C\u5851\u9020\u6BCF\u4F4D\u4F18\u79C0\u5458\u5DE5\u3002\u6D77\u666E\u4EBA\u6DF1\u77E5\u5F7C\u6B64\u5766\u8BDA\uFF0C\u624D\u80FD\u534F\u540C\uFF0C\u4EE5\u8FDB\u53D6\u5FC3\u505A\u4E8B\uFF0C\u4EE5\u5E73\u548C\u5FC3\u5F85\u4EBA\u3002"
1629
- ]
1630
- },
1631
- {
1632
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1633
- section: "\u89C4\u5219\u65B9\u6CD5",
1634
- title: "\u4E09\u660E\u767D\uFF1A\u8D23\u4EFB\u660E\u6670\u3001\u76EE\u6807\u660E\u786E\u3001\u8D4F\u7F5A\u5206\u660E",
1635
- prefix: "\u4E09\u660E\u767D",
1636
- main: "\u8D23\u4EFB\u660E\u6670\u3001\u76EE\u6807\u660E\u786E\u3001\u8D4F\u7F5A\u5206\u660E",
1637
- paragraphs: [
1638
- "\u6D77\u666E\u6BCF\u4F4D\u7BA1\u7406\u8005\u4E0D\u8BBA\u5C97\u4F4D\u5DEE\u5F02\u6216\u662F\u804C\u52A1\u6709\u522B\uFF0C\u7686\u8981\u660E\u767D\u81EA\u5DF1\u4EFB\u804C\u5C97\u4F4D\u80A9\u8D1F\u7684\u804C\u8D23\u548C\u5E94\u77E5\u5E94\u4F1A\uFF0C\u505A\u5230\u5BF9\u7BA1\u7406\u4E8B\u9879\u660E\u786E\u89C4\u5219\uFF0C\u5C3D\u804C\u5C3D\u8D23\u3002\u660E\u767D\u672C\u4EBA\u62C5\u5F53\u7684\u7EE9\u6548\u76EE\u6807\u548C\u627F\u62C5\u7684\u4EFB\u52A1\uFF0C\u786E\u4FDD\u4E0D\u8FB1\u4F7F\u547D\uFF0C\u6309\u671F\u4FDD\u8D28\u8FBE\u6210\u3002\u660E\u767D\u804C\u52A1\u7BA1\u8F96\u8303\u56F4\u548C\u5236\u5EA6\u89C4\u8303\uFF0C\u5BF9\u4E0B\u5C5E\u548C\u76D1\u7BA1\u4E8B\u9879\uFF0C\u505A\u5230\u7BA1\u7406\u4E25\u660E\u3001\u8D4F\u7F5A\u5206\u660E\u3002"
1639
- ]
1640
- },
1641
- {
1642
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1643
- section: "\u89C4\u5219\u65B9\u6CD5",
1644
- title: "\u56DB\u5230\u4F4D\uFF1A\u8BA1\u5212\u5230\u4F4D\u3001\u63AA\u65BD\u5230\u4F4D\u3001\u7763\u5BFC\u5230\u4F4D\u3001\u8003\u8BC4\u5230\u4F4D",
1645
- prefix: "\u56DB\u5230\u4F4D",
1646
- main: "\u8BA1\u5212\u5230\u4F4D\u3001\u63AA\u65BD\u5230\u4F4D\u3001\u7763\u5BFC\u5230\u4F4D\u3001\u8003\u8BC4\u5230\u4F4D",
1647
- paragraphs: [
1648
- "\u8BA1\u5212\u5230\u4F4D\uFF1A\u8BA1\u5212\u662F\u4F01\u4E1A\u89C4\u5212\u548C\u8FBE\u4EA7\u4E00\u5207\u5DE5\u4F5C\u7684\u524D\u63D0\u3002\u5F53\u4EE5\u5BA2\u6237\u9700\u6C42\u4E3A\u6307\u5F15\u516C\u53F8\u6218\u7565\u548C\u53D1\u5C55\u89C4\u5212\u4EE5\u53CA\u5B9E\u65BD\u8BA1\u5212\uFF0C\u7EC6\u5316\u76EE\u6807\u3001\u8D23\u4EFB\u3001\u6B65\u9AA4\u3001\u63AA\u65BD\u3002",
1649
- "\u63AA\u65BD\u5230\u4F4D\uFF1A\u63AA\u65BD\u662F\u6839\u636E\u8BA1\u5212\u5236\u5B9A\u7684\u8D23\u4EFB\u5206\u914D\u3001\u8D44\u6E90\u914D\u7F6E\u3001\u8003\u8BC4\u6807\u51C6\uFF0C\u63AA\u65BD\u5230\u4F4D\u624D\u80FD\u4FDD\u969C\u8BA1\u5212\u7684\u53EF\u6267\u884C\uFF0C\u6309\u7167\u65E2\u5B9A\u8BA1\u5212\u4E0E\u8FDB\u5EA6\u5B8C\u6210\u5404\u9636\u6BB5\u4EFB\u52A1\u3002",
1650
- "\u7763\u5BFC\u5230\u4F4D\uFF1A\u7763\u5BFC\u5305\u62EC\u76D1\u7763\u4E0E\u6307\u5BFC\u3002\u7BA1\u7406\u8005\u5BF9\u4E0B\u5C5E\u7684\u76EE\u6807\u4E0E\u8FDB\u5EA6\u8981\u9002\u65F6\u8DDF\u8FDB\uFF0C\u5BF9\u9047\u5230\u7684\u56F0\u96BE\u7ED9\u4E88\u5E2E\u52A9\uFF0C\u51FA\u73B0\u7684\u95EE\u9898\u7ED9\u4E88\u6307\u5BFC\uFF0C\u786E\u4FDD\u5DE5\u4F5C\u5B9E\u65BD\u987A\u7545\u3002",
1651
- "\u8003\u8BC4\u5230\u4F4D\uFF1A\u8003\u8BC4\u662F\u5BF9\u5404\u5DE5\u4F5C\u5355\u5143\u8D23\u4EFB\u843D\u5B9E\u548C\u76EE\u6807\u8FBE\u6210\u7684\u91CF\u5316\u8003\u6838\uFF0C\u5BF9\u5B58\u5728\u7684\u5DEE\u8DDD\u7ED9\u4E88\u53CA\u65F6\u8BC4\u4F30\uFF0C\u8FDB\u800C\u67E5\u8BE2\u539F\u56E0\uFF0C\u63D0\u51FA\u6539\u5584\u65B9\u6848\u548C\u4FEE\u8BA2\u65B0\u8BA1\u5212\u3002"
1652
- ]
1653
- },
1654
- {
1655
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1656
- section: "\u89C4\u5219\u65B9\u6CD5",
1657
- title: "\u4E94\u539F\u5219\uFF1A\u7ECF\u8425\u4E3A\u5148\u3001\u5927\u5C40\u4E3A\u91CD\u3001\u9AD8\u6548\u6C9F\u901A\u3001\u81EA\u4E3B\u62C5\u5F53\u3001\u7ED3\u679C\u5BFC\u5411",
1658
- prefix: "\u4E94\u539F\u5219",
1659
- main: "\u7ECF\u8425\u4E3A\u5148\u3001\u5927\u5C40\u4E3A\u91CD\u3001\u9AD8\u6548\u6C9F\u901A\u3001\u81EA\u4E3B\u62C5\u5F53\u3001\u7ED3\u679C\u5BFC\u5411",
1660
- paragraphs: [
1661
- "\u7ECF\u8425\u4E3A\u5148\uFF1A\u6D77\u666E\u4EE5\u5BA2\u6237\u9700\u6C42\u4E3A\u91CD\uFF0C\u7BA1\u7406\u670D\u52A1\u4E8E\u7ECF\u8425\u548C\u4E1A\u52A1\u987A\u7545\u5F00\u5C55\u3002",
1662
- "\u5927\u5C40\u4E3A\u91CD\uFF1A\u7BA1\u7406\u662F\u4E3A\u4E86\u4F01\u4E1A\u6574\u4F53\u8FD0\u884C\u66F4\u6709\u6548\uFF0C\u800C\u975E\u672C\u4F4D\u4E3B\u4E49\u7684\u7EA6\u675F\u3002",
1663
- "\u9AD8\u6548\u6C9F\u901A\uFF1A\u9047\u5230\u95EE\u9898\u51B3\u4E0D\u63A8\u8BFF\u3001\u4E0D\u62D6\u6C93\uFF0C\u4E3B\u52A8\u9AD8\u6548\u6C9F\u901A\uFF0C\u5FEB\u901F\u89E3\u51B3\u3002",
1664
- "\u81EA\u4E3B\u62C5\u5F53\uFF1A\u804C\u8D23\u6240\u62C5\u4E8B\u9879\uFF0C\u9047\u6709\u95EE\u9898\u53EF\u4EE5\u534F\u5546\uFF0C\u6700\u7EC8\u672C\u4EBA\u81EA\u4E3B\u51B3\u5B9A\u3002",
1665
- "\u7ED3\u679C\u5BFC\u5411\uFF1A\u7BA1\u7406\u5C31\u6709\u76EE\u6807\uFF0C\u6709\u6807\u51C6\u8981\u6C42\uFF0C\u9700\u5173\u6CE8\u8FC7\u7A0B\uFF0C\u4E3A\u7ED3\u679C\u8D1F\u8D23\u3002"
1666
- ]
1667
- },
1668
- {
1669
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1670
- section: "\u89C4\u5219\u65B9\u6CD5",
1671
- title: "\u516D\u5173\u6CE8\uFF1A\u76EE\u6807\u3001\u8981\u70B9\u3001\u7ED3\u679C\u3001\u56E2\u961F\u3001\u4E92\u8865\u3001\u5FC3\u667A",
1672
- prefix: "\u516D\u5173\u6CE8",
1673
- main: "\u76EE\u6807\u3001\u8981\u70B9\u3001\u7ED3\u679C\u3001\u56E2\u961F\u3001\u4E92\u8865\u3001\u5FC3\u667A",
1674
- paragraphs: [
1675
- "\u76EE\u6807\u660E\u6670\uFF0C\u8BA1\u5212\u53EF\u884C\uFF1A\u4F01\u4E1A\u7ECF\u8425\u8981\u6839\u636E\u5BA2\u6237\u9700\u6C42\u8D8B\u52BF\u5236\u5B9A\u6E05\u6670\u7684\u53D1\u5C55\u89C4\u5212\uFF0C\u8F6C\u5316\u4E3A\u53EF\u843D\u5730\u5B9E\u65BD\u7684\u957F\u77ED\u671F\u8BA1\u5212\uFF0C\u548C\u53EF\u9075\u7167\u6267\u884C\u7684\u6570\u636E\u5316\u76EE\u6807\u3002",
1676
- "\u4E13\u6CE8\u8981\u70B9\uFF0C\u9002\u65F6\u53D6\u820D\uFF1A\u7BA1\u7406\u5C31\u5E94\u8BE5\u5206\u6E05\u8F7B\u91CD\u7F13\u6025\uFF0C\u660E\u786E\u8FC7\u7A0B\u5173\u952E\u8282\u70B9\u548C\u5F71\u54CD\u8D8B\u52BF\u7684\u5173\u952E\u8981\u7D20\uFF0C\u4E88\u4EE5\u91CD\u70B9\u5173\u6CE8\uFF0C\u4F18\u5148\u5B89\u6392\uFF0C\u6216\u662F\u9002\u65F6\u53D6\u820D\u3002",
1677
- "\u6CE8\u91CD\u7ED3\u679C\uFF0C\u5173\u6CE8\u8FC7\u7A0B\uFF1A\u7BA1\u7406\u662F\u9879\u8FFD\u6C42\u6210\u679C\u7684\u5DE5\u4F5C\uFF0C\u4EE5\u9AD8\u6548\u7387\u8FBE\u6210\u7EC4\u7EC7\u76EE\u6807\u6216\u4EFB\u52A1\u4E3A\u6807\u51C6\uFF1B\u5173\u6CE8\u8FC7\u7A0B\uFF0C\u786E\u4FDD\u8BA1\u5212\u53EF\u63A7\uFF0C\u786E\u4FDD\u83B7\u5F97\u9884\u671F\u7ED3\u679C\u3002",
1678
- "\u4FE1\u4EFB\u534F\u540C\uFF0C\u56E2\u961F\u81F4\u80DC\uFF1A\u540C\u4E8B\u4FE1\u4EFB\u662F\u6109\u5FEB\u9AD8\u6548\u5408\u4F5C\u7684\u524D\u63D0\uFF0C\u7A7A\u676F\u7684\u5FC3\u6001\u662F\u5BB9\u7EB3\u5F7C\u6B64\uFF0C\u56E2\u961F\u7D27\u5BC6\u534F\u540C\u7684\u57FA\u7840\uFF0C\u9F50\u5FC3\u534F\u529B\u5219\u662F\u56E2\u961F\u81F4\u80DC\u7684\u6839\u672C\u3002",
1679
- "\u53D1\u6325\u4F18\u52BF\uFF0C\u4E92\u8865\u5171\u8FDB\uFF1A\u9879\u76EE\u8FBE\u6210\u9700\u8981\u80FD\u529B\u4E0D\u540C\u3001\u4F18\u52BF\u4E92\u8865\u7684\u6210\u5458\u5408\u529B\u8FBE\u6210\uFF0C\u8BC6\u522B\u4F18\u52BF\u662F\u7EC4\u5EFA\u4E92\u8865\u56E2\u961F\u7684\u524D\u63D0\uFF0C\u51DD\u805A\u5F7C\u6B64\u53D1\u6325\u4F18\u52BF\u4E3A\u5173\u952E\u3002",
1680
- "\u5F00\u542F\u5FC3\u667A\uFF0C\u79EF\u6781\u6C42\u7D22\uFF1A\u4F01\u4E1A\u53D1\u5C55\uFF0C\u7BA1\u7406\u6C38\u65E0\u6B62\u5883\uFF0C\u5C31\u9700\u8981\u7BA1\u7406\u8005\u8C26\u900A\u52E4\u5B66\u3001\u5F00\u542F\u5FC3\u667A\uFF0C\u4EE5\u79EF\u6781\u5FC3\u6001\u5BFB\u6C42\u7BA1\u7406\u63D0\u5347\u548C\u601D\u8DEF\u7A81\u7834\uFF0C\u7CBE\u76CA\u6C42\u8FDB\u3002"
1681
- ]
1682
- },
1683
- {
1684
- chapter: "\u7B2C\u4E94\u7AE0 \u7BA1\u7406\u7EB2\u8981",
1685
- section: "\u89C4\u5219\u65B9\u6CD5",
1686
- title: "\u4E03\u8981\u7565\uFF1A\u7CFB\u7EDF\u3001\u8FC7\u7A0B\u3001\u89C4\u8303\u3001\u4FE1\u606F\u3001\u98CE\u9669\u3001\u5173\u7CFB\u3001\u4EF7\u503C\u94FE",
1687
- prefix: "\u4E03\u8981\u7565",
1688
- main: "\u7CFB\u7EDF\u3001\u8FC7\u7A0B\u3001\u89C4\u8303\u3001\u4FE1\u606F\u3001\u98CE\u9669\u3001\u5173\u7CFB\u3001\u4EF7\u503C\u94FE",
1689
- paragraphs: [
1690
- "\u7CFB\u7EDF\u601D\u8003\uFF1A\u4EE5\u4F01\u4E1A\u53D1\u5C55\u548C\u7ECF\u8425\u5168\u8FC7\u7A0B\u7CFB\u7EDF\u601D\u8003\u4F01\u4E1A\u7BA1\u7406\uFF0C\u7528\u5FC3\u89C4\u5212\u662F\u5404\u9879\u76EE\u5F97\u4EE5\u987A\u5229\u5B9E\u65BD\u7684\u57FA\u7840\uFF1B\u4EFB\u4F55\u53D8\u5316\uFF0C\u7EFC\u5408\u8003\u8651\uFF0C\u4EE5\u786E\u4FDD\u8FC7\u7A0B\u53EF\u63A7\u3002",
1691
- "\u8FC7\u7A0B\u7BA1\u7406\uFF1A\u660E\u6670\u7684\u8BA1\u5212\u4E5F\u9700\u8981\u5BF9\u8FC7\u7A0B\u7684\u6709\u6548\u63A7\u5236\uFF0C\u5C06\u8D44\u6E90\u914D\u7F6E\u5230\u4F4D\uFF0C\u4EFB\u52A1\u5206\u89E3\u843D\u5B9E\uFF1B\u5BF9\u8FC7\u7A0B\u53D8\u5316\u6216\u65B0\u95EE\u9898\uFF0C\u505A\u51FA\u9002\u65F6\u8C03\u6574\uFF0C\u786E\u4FDD\u8BA1\u5212\u8FBE\u6210\u3002",
1692
- "\u89C4\u8303\u7BA1\u7406\uFF1A\u4F01\u4E1A\u4E00\u5207\u7ECF\u8425\u6D3B\u52A8\u5C3D\u91CF\u89C4\u8303\u5316\uFF0C\u6709\u6807\u51C6\u53EF\u4F9D\uFF0C\u6709\u6D41\u7A0B\u53EF\u5FAA\uFF0C\u6700\u5927\u9650\u5EA6\u51CF\u5C11\u4F8B\u5916\u4E8B\u9879\u518D\u6B21\u53D1\u751F\uFF1B\u5B9E\u73B0\u4F01\u4E1A\u5185\u90E8\u534F\u4F5C\u9AD8\u6548\uFF0C\u7ECF\u8425\u6709\u5E8F\u3002",
1693
- "\u4FE1\u606F\u7BA1\u7406\uFF1A\u6B63\u786E\u51B3\u7B56\u6765\u6E90\u4E8E\u5145\u5206\u6709\u4EF7\u503C\u7684\u4FE1\u606F\uFF0C\u4F01\u4E1A\u6D3B\u52A8\u4F9D\u8D56\u4E8E\u4FE1\u606F\u4F20\u9012\u3002\u6570\u5B57\u4FE1\u606F\u5C06\u662F\u4F01\u4E1A\u6218\u7565\u8D44\u6E90\uFF0C\u641C\u96C6\u3001\u52A0\u5DE5\u3001\u4F7F\u7528\u597D\u6C38\u8FDC\u5728\u8DEF\u4E0A\u3002",
1694
- "\u5173\u7CFB\u7BA1\u7406\uFF1A\u7A33\u5B9A\u534F\u8C03\u7684\u5916\u90E8\u5173\u7CFB\u548C\u5185\u90E8\u5173\u7CFB\u662F\u6D77\u666E\u6709\u5E8F\u7ECF\u8425\u7684\u57FA\u7840\uFF0C\u6D77\u666E\u5F53\u4EE5\u8C26\u900A\u4E4B\u5FC3\uFF0C\u5F00\u653E\u7684\u80F8\u6000\u5904\u7406\u597D\u5404\u65B9\u5173\u7CFB\uFF0C\u5B9E\u73B0\u548C\u8C10\u53D1\u5C55\u5171\u8D62\u3002",
1695
- "\u98CE\u9669\u7BA1\u7406\uFF1A\u4F01\u4E1A\u5728\u5E02\u573A\u7ADE\u4E89\uFF0C\u65E0\u65F6\u4E0D\u9762\u4E34\u7740\u98CE\u9669\u3002\u591A\u6570\u98CE\u9669\u6765\u81EA\u4E8E\u5BF9\u98CE\u9669\u7684\u65E0\u77E5\uFF0C\u53D8\u5316\u7684\u65E0\u611F\uFF0C\u89C4\u5F8B\u7684\u6F20\u89C6\uFF01\u6D77\u666E\u5F53\u8B66\u949F\u957F\u9E23\uFF0C\u5982\u5C65\u8584\u51B0\uFF01",
1696
- "\u4EF7\u503C\u94FE\u7BA1\u7406\uFF1A\u4F01\u4E1A\u7ADE\u4E89\u5B9E\u529B\u6765\u81EA\u4E8E\u5BF9\u4F9B\u5E94\u94FE\u8D44\u6E90\u6574\u5408\u548C\u6574\u4F53\u4F18\u52BF\u7684\u53D1\u6325\uFF0C\u6D77\u666E\u5F53\u6253\u9020\u9002\u5E94\u5E02\u573A\u53D8\u5316\u548C\u5BA2\u6237\u9700\u6C42\u7684\u4EF7\u503C\u94FE\u4F53\u7CFB\uFF0C\u5E76\u9002\u65F6\u4F18\u5316\u3002"
1697
- ]
838
+ // src/client/daily-data.ts
839
+ var DAILY_CHANNEL = "/hiwork-daily";
840
+ var DAILY_FAILURE_TTL_MS = 5 * 6e4;
841
+ var DailyRpcError = class extends Error {
842
+ constructor(code, message) {
843
+ super(message);
844
+ this.code = code;
845
+ this.name = "DailyRpcError";
1698
846
  }
1699
- ];
1700
- function dayIndex(date = /* @__PURE__ */ new Date()) {
1701
- return Math.floor(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) / 864e5);
847
+ };
848
+ function unwrapDailyResult(value) {
849
+ if (typeof value !== "object" || value === null || !("ok" in value)) {
850
+ throw new DailyRpcError("internal", "\u6BCF\u65E5\u4E00\u53E5\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
851
+ }
852
+ const result = value;
853
+ if (result.ok === true) return result.value;
854
+ if (result.ok === false) {
855
+ const code = typeof result.error?.code === "string" ? result.error.code : "internal";
856
+ const message = typeof result.error?.message === "string" && result.error.message.trim() !== "" ? result.error.message : "\u6BCF\u65E5\u4E00\u53E5\u6682\u65F6\u65E0\u6CD5\u83B7\u53D6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5";
857
+ throw new DailyRpcError(code, message);
858
+ }
859
+ throw new DailyRpcError("internal", "\u6BCF\u65E5\u4E00\u53E5\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
860
+ }
861
+ var DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
862
+ function optionalText(value) {
863
+ return typeof value === "string" ? value.trim() : "";
864
+ }
865
+ function bodyParagraphs(value) {
866
+ if (!Array.isArray(value)) return [];
867
+ return value.filter((para) => typeof para === "string" && para.trim() !== "");
868
+ }
869
+ function parseQuoteItem(value) {
870
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
871
+ const record = value;
872
+ const id = record["id"];
873
+ if (typeof id !== "number" || !Number.isInteger(id) || id <= 0) return void 0;
874
+ const content = optionalText(record["content"]);
875
+ if (content === "") return void 0;
876
+ return {
877
+ id,
878
+ content,
879
+ subtitle: optionalText(record["subtitle"]),
880
+ title: optionalText(record["title"]),
881
+ source: optionalText(record["source"]),
882
+ body: bodyParagraphs(record["body"])
883
+ };
884
+ }
885
+ function parseTodayResponse(value) {
886
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
887
+ const record = value;
888
+ const date = record["date"];
889
+ if (typeof date !== "string" || !DATE_PATTERN.test(date)) return void 0;
890
+ const rawItem = record["item"];
891
+ if (rawItem === null) return { date, item: null };
892
+ const item = parseQuoteItem(rawItem);
893
+ return item === void 0 ? void 0 : { date, item };
1702
894
  }
1703
- function pickToday(date = /* @__PURE__ */ new Date()) {
1704
- return DAILY_ITEMS[dayIndex(date) % DAILY_ITEMS.length];
895
+ function parseRandomResponse(value) {
896
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
897
+ const record = value;
898
+ const rawItem = record["item"];
899
+ if (rawItem === null) return { item: null };
900
+ const item = parseQuoteItem(rawItem);
901
+ return item === void 0 ? void 0 : { item };
902
+ }
903
+ function localDayIndex(date = /* @__PURE__ */ new Date()) {
904
+ return Math.floor(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) / 864e5);
1705
905
  }
906
+ var DailyDataStore = class {
907
+ constructor(rpc, options = {}) {
908
+ this.rpc = rpc;
909
+ this.now = options.now ?? (() => Date.now());
910
+ this.localDay = options.localDay ?? (() => localDayIndex());
911
+ this.failureTtlMs = options.failureTtlMs ?? DAILY_FAILURE_TTL_MS;
912
+ }
913
+ entry;
914
+ failureAt;
915
+ pending;
916
+ now;
917
+ localDay;
918
+ failureTtlMs;
919
+ /** 清空缓存与防抖状态(登出 / 换账号时调用)。 */
920
+ clear() {
921
+ this.entry = void 0;
922
+ this.failureAt = void 0;
923
+ this.pending = void 0;
924
+ }
925
+ /**
926
+ * 当日条目:同一本地日内命中缓存直接返回(不发 RPC);失败防抖期内返回 null 不
927
+ * 重复打网关;并发调用合并为同一次 RPC。返回 null 即「暂无可展示内容」。
928
+ */
929
+ async getToday() {
930
+ const day = this.localDay();
931
+ if (this.entry !== void 0 && this.entry.day === day) return this.entry.view;
932
+ if (this.failureAt !== void 0 && this.now() - this.failureAt < this.failureTtlMs) return null;
933
+ if (this.pending === void 0) {
934
+ this.pending = this.fetchToday(day).finally(() => {
935
+ this.pending = void 0;
936
+ });
937
+ }
938
+ return await this.pending;
939
+ }
940
+ /**
941
+ * 换一句:排除当前条目的随机条目;**永不入缓存**(与「临时预览」语义一致),
942
+ * 失败 / 暂无随机条目返回 null(视图保持当前条目、无任何提示)。
943
+ */
944
+ async getRandom(excludeId) {
945
+ try {
946
+ const payload = excludeId === void 0 ? {} : { excludeId };
947
+ const raw = await this.rpc.call(DAILY_CHANNEL, "random", payload);
948
+ const response = parseRandomResponse(unwrapDailyResult(raw));
949
+ return response?.item ?? null;
950
+ } catch {
951
+ return null;
952
+ }
953
+ }
954
+ /** 单次 today 拉取:成功(含池空)写缓存;任何失败进入 5 分钟防抖并返回 null。 */
955
+ async fetchToday(day) {
956
+ try {
957
+ const raw = await this.rpc.call(DAILY_CHANNEL, "today", {});
958
+ const response = parseTodayResponse(unwrapDailyResult(raw));
959
+ if (response === void 0) throw new DailyRpcError("internal", "\u6BCF\u65E5\u4E00\u53E5\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
960
+ this.failureAt = void 0;
961
+ const view = response.item === null ? null : { ...response.item, date: response.date };
962
+ this.entry = { view, day };
963
+ return view;
964
+ } catch {
965
+ this.failureAt = this.now();
966
+ return null;
967
+ }
968
+ }
969
+ };
1706
970
 
1707
971
  // src/client/hero-greeting.ts
1708
972
  var HERO_GREETINGS = [
@@ -1815,16 +1079,8 @@ function findDailyCardMount(doc) {
1815
1079
  return headline;
1816
1080
  }
1817
1081
  var modalKeyHandlers = /* @__PURE__ */ new WeakMap();
1818
- function dateLabel(day) {
1819
- const d = new Date(day * 864e5);
1820
- return `${d.getUTCFullYear()}\u5E74${d.getUTCMonth() + 1}\u6708${d.getUTCDate()}\u65E5`;
1821
- }
1822
- function pickRandomItem(exclude) {
1823
- let index = Math.floor(Math.random() * DAILY_ITEMS.length);
1824
- while (DAILY_ITEMS[index] === exclude) {
1825
- index = (index + 1) % DAILY_ITEMS.length;
1826
- }
1827
- return DAILY_ITEMS[index];
1082
+ function modalHeadline(item) {
1083
+ return item.title !== "" ? item.title : item.content;
1828
1084
  }
1829
1085
  function createRefreshIcon(doc) {
1830
1086
  const svg = doc.createElementNS("http://www.w3.org/2000/svg", "svg");
@@ -1845,10 +1101,10 @@ function createRefreshIcon(doc) {
1845
1101
  }
1846
1102
  return svg;
1847
1103
  }
1848
- function buildCard(doc, item) {
1104
+ function buildCard(doc, initial, date, quotes) {
1849
1105
  const root = doc.createElement("div");
1850
1106
  root.dataset.dcuDailyCard = "";
1851
- root.dataset.day = String(dayIndex());
1107
+ root.dataset.date = date;
1852
1108
  root.tabIndex = 0;
1853
1109
  root.setAttribute("role", "button");
1854
1110
  const prefix = doc.createElement("span");
@@ -1862,31 +1118,34 @@ function buildCard(doc, item) {
1862
1118
  shuffle.setAttribute("aria-label", "\u6362\u4E00\u53E5");
1863
1119
  shuffle.append(createRefreshIcon(doc), doc.createTextNode("\u6362\u4E00\u53E5"));
1864
1120
  root.append(prefix, main, shuffle);
1865
- let current = item;
1121
+ let current = initial;
1866
1122
  const applyItem = (next) => {
1867
1123
  current = next;
1868
- prefix.textContent = next.prefix;
1869
- prefix.hidden = next.prefix === "";
1870
- main.textContent = next.main;
1871
- root.setAttribute("aria-label", `\u300A\u6D77\u666E\u53D1\u5C55\u7EB2\u9886\u300B\u4ECA\u65E5\u6761\u76EE\uFF1A${next.title}`);
1124
+ prefix.textContent = next.subtitle;
1125
+ prefix.hidden = next.subtitle === "";
1126
+ main.textContent = next.content;
1127
+ root.setAttribute("aria-label", `\u6BCF\u65E5\u4E00\u53E5\uFF1A${modalHeadline(next)}`);
1872
1128
  };
1873
- applyItem(item);
1129
+ applyItem(initial);
1874
1130
  root.addEventListener("click", (e) => {
1875
1131
  e.preventDefault();
1876
1132
  e.stopPropagation();
1877
- openDailyModal(doc, current);
1133
+ openDailyModal(doc, current, date);
1878
1134
  });
1879
1135
  root.addEventListener("keydown", (e) => {
1880
1136
  if (e.key === "Enter" || e.key === " ") {
1881
1137
  e.preventDefault();
1882
1138
  e.stopPropagation();
1883
- openDailyModal(doc, current);
1139
+ openDailyModal(doc, current, date);
1884
1140
  }
1885
1141
  });
1886
1142
  const shuffleToRandom = (e) => {
1887
1143
  e.preventDefault();
1888
1144
  e.stopPropagation();
1889
- applyItem(pickRandomItem(current));
1145
+ void quotes.getRandom(current.id).then((next) => {
1146
+ if (next !== null) applyItem(next);
1147
+ }).catch(() => {
1148
+ });
1890
1149
  };
1891
1150
  shuffle.addEventListener("click", shuffleToRandom);
1892
1151
  shuffle.addEventListener("keydown", (e) => {
@@ -1894,27 +1153,30 @@ function buildCard(doc, item) {
1894
1153
  });
1895
1154
  return root;
1896
1155
  }
1897
- function buildDailyModal(doc, item) {
1156
+ function buildDailyModal(doc, item, date) {
1898
1157
  const mask = doc.createElement("div");
1899
1158
  mask.dataset.dcuDailyModal = "";
1900
1159
  mask.setAttribute("role", "dialog");
1901
1160
  mask.setAttribute("aria-modal", "true");
1902
- mask.setAttribute("aria-label", `\u300A\u6D77\u666E\u53D1\u5C55\u7EB2\u9886\u300B\u4ECA\u65E5\u6761\u76EE\uFF1A${item.title}`);
1161
+ mask.setAttribute("aria-label", `\u6BCF\u65E5\u4E00\u53E5\uFF1A${modalHeadline(item)}`);
1903
1162
  const box = doc.createElement("div");
1904
1163
  box.dataset.dcuDailyModalBox = "";
1905
1164
  const meta = doc.createElement("div");
1906
1165
  meta.dataset.dcuDailyModalMeta = "";
1907
- const attribution = doc.createElement("span");
1908
- attribution.textContent = item.prefix === "" ? `${item.chapter} \xB7 ${item.section}` : `${item.chapter} \xB7 ${item.section} \xB7 ${item.prefix}`;
1909
- const date = doc.createElement("span");
1910
- date.textContent = dateLabel(dayIndex());
1911
- meta.append(attribution, date);
1166
+ if (item.source !== "") {
1167
+ const attribution = doc.createElement("span");
1168
+ attribution.textContent = item.source;
1169
+ meta.append(attribution);
1170
+ }
1171
+ const dateSpan = doc.createElement("span");
1172
+ dateSpan.textContent = date;
1173
+ meta.append(dateSpan);
1912
1174
  const title = doc.createElement("div");
1913
1175
  title.dataset.dcuDailyModalTitle = "";
1914
- title.textContent = item.title;
1176
+ title.textContent = modalHeadline(item);
1915
1177
  const body = doc.createElement("div");
1916
1178
  body.dataset.dcuDailyModalBody = "";
1917
- for (const para of item.paragraphs) {
1179
+ for (const para of item.body) {
1918
1180
  const p = doc.createElement("p");
1919
1181
  p.dataset.dcuDailyModalPara = "";
1920
1182
  p.textContent = para;
@@ -1925,16 +1187,18 @@ function buildDailyModal(doc, item) {
1925
1187
  close.dataset.dcuDailyModalClose = "";
1926
1188
  close.textContent = "\u77E5\u9053\u4E86";
1927
1189
  close.addEventListener("click", () => closeDailyModal(doc));
1928
- box.append(meta, title, body, close);
1190
+ box.append(meta, title);
1191
+ if (item.body.length > 0) box.append(body);
1192
+ box.append(close);
1929
1193
  mask.append(box);
1930
1194
  mask.addEventListener("click", (e) => {
1931
1195
  if (e.target === mask) closeDailyModal(doc);
1932
1196
  });
1933
1197
  return mask;
1934
1198
  }
1935
- function openDailyModal(doc, item) {
1199
+ function openDailyModal(doc, item, date) {
1936
1200
  closeDailyModal(doc);
1937
- const mask = buildDailyModal(doc, item);
1201
+ const mask = buildDailyModal(doc, item, date);
1938
1202
  const onKey = (e) => {
1939
1203
  if (e.key === "Escape") {
1940
1204
  e.preventDefault();
@@ -1956,28 +1220,33 @@ function closeDailyModal(doc) {
1956
1220
  modalKeyHandlers.delete(doc);
1957
1221
  }
1958
1222
  }
1959
- function decorateDailyCard(doc) {
1223
+ function decorateDailyCard(doc, quotes) {
1960
1224
  const headline = findDailyCardMount(doc);
1961
- if (headline === null) {
1225
+ if (headline === null || headline.parentElement === null) {
1962
1226
  removeStaleDailyCard(doc);
1963
1227
  return;
1964
1228
  }
1965
- const parent = headline.parentElement;
1966
- if (parent === null) {
1229
+ void quotes.getToday().then((view) => {
1230
+ if (view === null) {
1231
+ removeStaleDailyCard(doc);
1232
+ return;
1233
+ }
1234
+ const anchor = findDailyCardMount(doc);
1235
+ const parent = anchor?.parentElement ?? null;
1236
+ if (anchor === null || parent === null) return;
1237
+ const prev = anchor.previousElementSibling;
1238
+ if (prev !== null && prev.hasAttribute("data-dcu-daily-card") && prev.dataset.date === view.date) return;
1967
1239
  removeStaleDailyCard(doc);
1968
- return;
1969
- }
1970
- const prev = headline.previousElementSibling;
1971
- if (prev !== null && prev.hasAttribute("data-dcu-daily-card") && prev.dataset.day === String(dayIndex())) return;
1972
- removeStaleDailyCard(doc);
1973
- const card = buildCard(doc, pickToday());
1974
- parent.insertBefore(card, headline);
1240
+ const card = buildCard(doc, view, view.date, quotes);
1241
+ parent.insertBefore(card, anchor);
1242
+ }).catch(() => {
1243
+ });
1975
1244
  }
1976
1245
  function removeStaleDailyCard(doc) {
1977
1246
  closeDailyModal(doc);
1978
1247
  for (const stale of Array.from(doc.querySelectorAll("[data-dcu-daily-card]"))) stale.remove();
1979
1248
  }
1980
- function observeHeroDecorations(doc = document) {
1249
+ function observeHeroDecorations(doc, quotes) {
1981
1250
  if (doc.head === null) return () => {
1982
1251
  };
1983
1252
  ensureDailyCardStyle(doc);
@@ -1990,9 +1259,9 @@ function observeHeroDecorations(doc = document) {
1990
1259
  if (applying) return;
1991
1260
  applying = true;
1992
1261
  try {
1993
- const todayIdx = dayIndex();
1994
- if (todayIdx !== lastDailyDay) lastDailyDay = todayIdx;
1995
- decorateDailyCard(doc);
1262
+ const today = localDayIndex();
1263
+ if (today !== lastDailyDay) lastDailyDay = today;
1264
+ decorateDailyCard(doc, quotes);
1996
1265
  decorateHeroGreeting(doc);
1997
1266
  } finally {
1998
1267
  applying = false;
@@ -2006,7 +1275,7 @@ function observeHeroDecorations(doc = document) {
2006
1275
  const observer = new MutationObserver(sync);
2007
1276
  observer.observe(doc.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ["data-phase"] });
2008
1277
  const dayTimer = window.setInterval(() => {
2009
- if (dayIndex() !== lastDailyDay) sync();
1278
+ if (localDayIndex() !== lastDailyDay) sync();
2010
1279
  }, 6e4);
2011
1280
  return () => {
2012
1281
  window.clearInterval(dayTimer);
@@ -2123,6 +1392,22 @@ var linkButton = { background: "transparent", border: "none", cursor: "pointer",
2123
1392
  var errorStyle = { display: "flex", alignItems: "center", gap: 8, fontSize: 12, lineHeight: 1.5, color: "#b13f4b", background: "#fff2f3", border: "1px solid #f3d8dc", padding: "9px 11px", borderRadius: 10 };
2124
1393
  var noKeyStyle2 = { display: "flex", alignItems: "center", gap: 8, fontSize: 12, lineHeight: 1.5, color: "#996c18", background: "#fff8e9", border: "1px solid #f1e2bf", padding: "9px 11px", borderRadius: 10 };
2125
1394
  var footStyle = { margin: "2px 0 0", fontSize: 11, color: INK_CAPTION, textAlign: "center", letterSpacing: 0.1 };
1395
+ var browserHintStyle = { margin: 0, fontSize: 12, lineHeight: 1.6, color: INK_CAPTION, textAlign: "center" };
1396
+ var browserActionsStyle = { display: "flex", alignItems: "center", justifyContent: "center", gap: 18 };
1397
+ var toggleStyle = { ...linkButton, alignSelf: "center", fontSize: 12.5 };
1398
+ function describeLoginError(error) {
1399
+ if (error === void 0) return void 0;
1400
+ if (error.code === "GATEWAY_UNREACHABLE") return "\u7F51\u5173\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u6539\u7528\u8D26\u53F7\u5BC6\u7801\u767B\u5F55";
1401
+ const message = typeof error.message === "string" ? error.message.trim() : "";
1402
+ if (message !== "") return message;
1403
+ const fallback = {
1404
+ AUTH_FAILED: "\u6D4F\u89C8\u5668\u6388\u6743\u672A\u5B8C\u6210\uFF08\u6388\u6743\u7801\u5DF2\u8FC7\u671F\u3001\u6821\u9A8C\u5931\u8D25\u6216\u88AB\u53D6\u6D88\uFF09\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",
1405
+ RATE_LIMITED: "\u767B\u5F55\u5C1D\u8BD5\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",
1406
+ SESSION_EXPIRED: "\u767B\u5F55\u72B6\u6001\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",
1407
+ NO_KEY_ASSIGNED: "\u5F53\u524D\u8D26\u53F7\u5C1A\u672A\u88AB\u5206\u914D\u865A\u62DF KEY\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"
1408
+ };
1409
+ return fallback[error.code];
1410
+ }
2126
1411
  var WAVE_LAYERS = [
2127
1412
  // 每条路径首尾都回到同一高度,并以水平切线收尾,平铺时不会出现断层或急坠。
2128
1413
  { fill: "url(#dshWaveFar)", stroke: "rgba(178,207,255,.24)", duration: "54s", delay: "-17s", d: "M0 462 C100 462 180 392 280 392 C380 392 460 462 560 462 C660 462 740 532 840 532 C940 532 1020 462 1120 462 C1220 462 1300 392 1400 392 C1500 392 1560 462 1600 462 V760 H0 Z", ridge: "M0 462 C100 462 180 392 280 392 C380 392 460 462 560 462 C660 462 740 532 840 532 C940 532 1020 462 1120 462 C1220 462 1300 392 1400 392 C1500 392 1560 462 1600 462" },
@@ -2170,8 +1455,15 @@ function LoginGateModal(props) {
2170
1455
  const [password, setPassword] = (0, import_react4.useState)("");
2171
1456
  const [rememberPassword, setRememberPassword] = (0, import_react4.useState)(props.initialRememberPassword === true);
2172
1457
  const [submitError, setSubmitError] = (0, import_react4.useState)();
1458
+ const [formOpen, setFormOpen] = (0, import_react4.useState)(false);
1459
+ (0, import_react4.useEffect)(() => {
1460
+ openAuthorizeUrl(props.browserLoginUrl);
1461
+ }, [props.browserLoginUrl]);
1462
+ const showBrowserLogin = props.loginMode !== "form";
1463
+ const waiting = showBrowserLogin && props.browserLoginPending;
1464
+ const formVisible = props.loginMode === "form" || formOpen;
2173
1465
  const noKey = props.lastError?.code === "NO_KEY_ASSIGNED";
2174
- const error = props.lastError?.message ?? submitError;
1466
+ const error = describeLoginError(props.lastError) ?? submitError;
2175
1467
  const loginDisabled = props.loggingIn || username === "" || password === "";
2176
1468
  const submit = () => {
2177
1469
  if (loginDisabled) return;
@@ -2182,6 +1474,30 @@ function LoginGateModal(props) {
2182
1474
  event.preventDefault();
2183
1475
  submit();
2184
1476
  };
1477
+ const browserLogin = showBrowserLogin ? waiting ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1478
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-brand": true, type: "button", style: loginButtonDisabled, disabled: true, children: "\u7B49\u5F85\u6D4F\u89C8\u5668\u5B8C\u6210\u6388\u6743\u2026" }),
1479
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { style: browserHintStyle, children: "\u5DF2\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00\u6388\u6743\u9875\uFF0C\u5B8C\u6210\u767B\u5F55\u540E\u672C\u7A97\u53E3\u4F1A\u81EA\u52A8\u7EE7\u7EED\u3002" }),
1480
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: browserActionsStyle, children: [
1481
+ props.browserLoginUrl === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-secondary": true, "data-hiwork-core-browser-reopen": true, type: "button", style: linkButton, onClick: () => openAuthorizeUrl(props.browserLoginUrl), children: "\u91CD\u65B0\u6253\u5F00\u6388\u6743\u9875" }),
1482
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-secondary": true, "data-hiwork-core-browser-cancel": true, type: "button", style: linkButton, onClick: () => void clearBrowserLogin(props.scope), children: "\u53D6\u6D88" })
1483
+ ] })
1484
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-brand": true, "data-hiwork-core-browser-login": true, type: "button", style: props.loggingIn ? loginButtonDisabled : loginButton, disabled: props.loggingIn, onClick: () => void requestBrowserLogin(props.scope), children: "\u4F7F\u7528\u6D4F\u89C8\u5668\u767B\u5F55" }) : null;
1485
+ const form = formVisible ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("form", { onSubmit, style: { display: "flex", flexDirection: "column", gap: 14 }, children: [
1486
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: fieldStyle, children: [
1487
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: "hiwork-core-username", style: labelStyle, children: "\u7528\u6237\u540D" }),
1488
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { id: "hiwork-core-username", "data-hiwork-core-input": true, autoComplete: "username", placeholder: "\u8BF7\u8F93\u5165\u4F01\u4E1A\u8D26\u53F7", value: username, onChange: (e) => setUsername(e.target.value), style: inputStyle })
1489
+ ] }),
1490
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: fieldStyle, children: [
1491
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: "hiwork-core-password", style: labelStyle, children: "\u5BC6\u7801" }),
1492
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { id: "hiwork-core-password", "data-hiwork-core-input": true, type: "password", autoComplete: "current-password", placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801", value: password, onChange: (e) => setPassword(e.target.value), style: inputStyle })
1493
+ ] }),
1494
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: { display: "flex", alignItems: "center", gap: 8, fontSize: 12, color: INK_SECONDARY, cursor: "pointer" }, children: [
1495
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { type: "checkbox", checked: rememberPassword, onChange: (e) => setRememberPassword(e.target.checked) }),
1496
+ "\u8BB0\u4F4F\u5BC6\u7801\uFF0C\u4E0B\u6B21\u81EA\u52A8\u767B\u5F55"
1497
+ ] }),
1498
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-brand": true, type: "submit", style: loginDisabled ? loginButtonDisabled : loginButton, disabled: loginDisabled, children: props.loggingIn ? "\u767B\u5F55\u4E2D\u2026" : "\u767B \u5F55" }),
1499
+ noKey ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-secondary": true, type: "button", style: linkButton, onClick: () => void props.scope.set("refreshRequest", { at: (/* @__PURE__ */ new Date()).toISOString() }), children: "\u6211\u5DF2\u5206\u914D KEY\uFF0C\u5237\u65B0" }) : null
1500
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-secondary": true, "data-hiwork-core-form-toggle": true, type: "button", style: toggleStyle, onClick: () => setFormOpen(true), children: props.loginMode === "browser" ? "\u6D4F\u89C8\u5668\u767B\u5F55\u4E0D\u53EF\u7528\uFF1F\u4F7F\u7528\u8D26\u53F7\u5BC6\u7801\u767B\u5F55" : "\u4F7F\u7528\u8D26\u53F7\u5BC6\u7801\u767B\u5F55" });
2185
1501
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: overlayStyle, children: [
2186
1502
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(OceanWaves, {}),
2187
1503
  /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("main", { id: "hiwork-core-frame", "data-hiwork-core-frame": true, style: contentFrameStyle, children: [
@@ -2210,22 +1526,9 @@ function LoginGateModal(props) {
2210
1526
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: headlineStyle, children: "\u6D77\u666E\u4F01\u4E1A\u667A\u80FD\u529E\u516C\u5E73\u53F0" })
2211
1527
  ] }),
2212
1528
  error !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { role: "alert", style: noKey ? noKeyStyle2 : errorStyle, children: error }) : null,
2213
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("form", { onSubmit, style: { display: "flex", flexDirection: "column", gap: 14 }, children: [
2214
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: fieldStyle, children: [
2215
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: "hiwork-core-username", style: labelStyle, children: "\u7528\u6237\u540D" }),
2216
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { id: "hiwork-core-username", "data-hiwork-core-input": true, autoComplete: "username", placeholder: "\u8BF7\u8F93\u5165\u4F01\u4E1A\u8D26\u53F7", value: username, onChange: (e) => setUsername(e.target.value), style: inputStyle })
2217
- ] }),
2218
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: fieldStyle, children: [
2219
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: "hiwork-core-password", style: labelStyle, children: "\u5BC6\u7801" }),
2220
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { id: "hiwork-core-password", "data-hiwork-core-input": true, type: "password", autoComplete: "current-password", placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801", value: password, onChange: (e) => setPassword(e.target.value), style: inputStyle })
2221
- ] }),
2222
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: { display: "flex", alignItems: "center", gap: 8, fontSize: 12, color: INK_SECONDARY, cursor: "pointer" }, children: [
2223
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { type: "checkbox", checked: rememberPassword, onChange: (e) => setRememberPassword(e.target.checked) }),
2224
- "\u8BB0\u4F4F\u5BC6\u7801\uFF0C\u4E0B\u6B21\u81EA\u52A8\u767B\u5F55"
2225
- ] }),
2226
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-brand": true, type: "submit", style: loginDisabled ? loginButtonDisabled : loginButton, disabled: loginDisabled, children: props.loggingIn ? "\u767B\u5F55\u4E2D\u2026" : "\u767B \u5F55" }),
2227
- noKey ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-secondary": true, type: "button", style: linkButton, onClick: () => void props.scope.set("refreshRequest", { at: (/* @__PURE__ */ new Date()).toISOString() }), children: "\u6211\u5DF2\u5206\u914D KEY\uFF0C\u5237\u65B0" }) : null
2228
- ] }),
1529
+ browserLogin,
1530
+ form,
1531
+ showBrowserLogin && formVisible ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { "data-hiwork-core-secondary": true, "data-hiwork-core-form-collapse": true, type: "button", style: toggleStyle, onClick: () => setFormOpen(false), children: "\u6536\u8D77\u8D26\u53F7\u5BC6\u7801\u767B\u5F55" }) : null,
2229
1532
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: footStyle, children: "\u4F01\u4E1A\u7EDF\u4E00\u8EAB\u4EFD\u8BA4\u8BC1 \xB7 LDAP" })
2230
1533
  ] })
2231
1534
  ] })
@@ -2252,6 +1555,7 @@ function mountLoginGate(scope, storeCredential) {
2252
1555
  unmount();
2253
1556
  return;
2254
1557
  }
1558
+ const value = snapshot.status === "ready" ? snapshot.value : void 0;
2255
1559
  if (root === void 0) {
2256
1560
  gateContainer = document.createElement("div");
2257
1561
  gateContainer.dataset.hiworkCoreGate = "true";
@@ -2260,7 +1564,7 @@ function mountLoginGate(scope, storeCredential) {
2260
1564
  root = (0, import_client.createRoot)(gateContainer);
2261
1565
  if (appRoot !== null) appRoot.inert = true;
2262
1566
  }
2263
- root.render(/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(LoginGateModal, { scope, storeCredential, lastError: snapshot.status === "ready" ? snapshot.value?.lastError : void 0, loggingIn: snapshot.status === "ready" && snapshot.value?.pendingLogin !== void 0, initialUsername: snapshot.status === "ready" ? snapshot.value?.username : void 0, initialRememberPassword: snapshot.status === "ready" && snapshot.value?.rememberPassword === true }));
1567
+ root.render(/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(LoginGateModal, { scope, storeCredential, lastError: value?.lastError, loggingIn: value?.pendingLogin !== void 0, initialUsername: value?.username, initialRememberPassword: value?.rememberPassword === true, ...browserLoginViewOf(value) }));
2264
1568
  };
2265
1569
  render();
2266
1570
  const dispose = scope.subscribe(() => render());
@@ -2270,6 +1574,665 @@ function mountLoginGate(scope, storeCredential) {
2270
1574
  };
2271
1575
  }
2272
1576
 
1577
+ // src/client/usage-section.tsx
1578
+ var import_react5 = require("react");
1579
+
1580
+ // src/client/usage-data.ts
1581
+ var USAGE_CHANNEL = "/hiwork-usage";
1582
+ var USAGE_CACHE_TTL_MS = 5 * 6e4;
1583
+ var USAGE_TREND_RANGE = "30d";
1584
+ var USAGE_TODAY_RANGE = "today";
1585
+ var USAGE_MONTH_RANGE = "mtd";
1586
+ var USAGE_MONTH_RANGE_UNSUPPORTED = "\u5F53\u524D\u7F51\u5173\u7248\u672C\u6682\u4E0D\u652F\u6301\u672C\u6708\u7EDF\u8BA1\uFF0C\u672C\u6708\u82B1\u8D39\u4E0E\u8BF7\u6C42\u6570\u4E0D\u53EF\u7528";
1587
+ var USAGE_STALE_TEXT = "\u6570\u636E\u53EF\u80FD\u4E0D\u662F\u6700\u65B0";
1588
+ var USAGE_UNAVAILABLE_TEXT = "\u7528\u91CF\u6570\u636E\u6682\u4E0D\u53EF\u7528";
1589
+ var USAGE_LOADING_TEXT = "\u6B63\u5728\u52A0\u8F7D\u7528\u91CF\u6570\u636E\u2026";
1590
+ var USAGE_EMPTY_TEXT = "\u6682\u65E0\u7528\u91CF\u8BB0\u5F55";
1591
+ var USAGE_NO_RECHARGE_TEXT = "\u6682\u65E0\u5145\u503C\u8BB0\u5F55";
1592
+ var USAGE_MISSING_TEXT = "\u2014";
1593
+ var EMPTY_USAGE_DATA = {
1594
+ summary: void 0,
1595
+ summaryMonth: void 0,
1596
+ trends: void 0,
1597
+ modelTrends: void 0,
1598
+ recharges: void 0,
1599
+ keys: void 0,
1600
+ key: void 0
1601
+ };
1602
+ var UsageRpcError = class extends Error {
1603
+ constructor(code, message) {
1604
+ super(message);
1605
+ this.code = code;
1606
+ this.name = "UsageRpcError";
1607
+ }
1608
+ };
1609
+ function unwrapUsageResult(value) {
1610
+ if (typeof value !== "object" || value === null || !("ok" in value)) {
1611
+ throw new UsageRpcError("internal", "\u7528\u91CF\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
1612
+ }
1613
+ const result = value;
1614
+ if (result.ok === true) return result.value;
1615
+ if (result.ok === false) {
1616
+ const code = typeof result.error?.code === "string" ? result.error.code : "internal";
1617
+ const message = typeof result.error?.message === "string" && result.error.message.trim() !== "" ? result.error.message : "\u7528\u91CF\u6570\u636E\u6682\u65F6\u65E0\u6CD5\u83B7\u53D6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5";
1618
+ throw new UsageRpcError(code, message);
1619
+ }
1620
+ throw new UsageRpcError("internal", "\u7528\u91CF\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
1621
+ }
1622
+ function usageErrorOf(error) {
1623
+ if (error instanceof UsageRpcError) return { code: error.code, message: error.message };
1624
+ return { code: "internal", message: "\u7528\u91CF\u6570\u636E\u6682\u65F6\u65E0\u6CD5\u83B7\u53D6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5" };
1625
+ }
1626
+ function usageCacheKey(keyId, range) {
1627
+ return `${keyId ?? ""}\0${range}`;
1628
+ }
1629
+ function usageEndpointPlans(input) {
1630
+ const keyId = input.keyId;
1631
+ const keyPayload = keyId === void 0 ? {} : { keyId };
1632
+ return [
1633
+ { endpoint: "summary", field: "summary", payload: { ...keyPayload, range: USAGE_TODAY_RANGE } },
1634
+ { endpoint: "summary", field: "summaryMonth", payload: { ...keyPayload, range: USAGE_MONTH_RANGE } },
1635
+ { endpoint: "trends", field: "trends", payload: { ...keyPayload, range: input.range } },
1636
+ { endpoint: "model-trends", field: "modelTrends", payload: { ...keyPayload, range: input.range } },
1637
+ { endpoint: "recharges", field: "recharges", payload: { ...keyPayload } },
1638
+ { endpoint: "keys", field: "keys", payload: {} },
1639
+ { endpoint: "key", field: "key", payload: { ...keyPayload } }
1640
+ ];
1641
+ }
1642
+ function isMonthRangeSupported(value) {
1643
+ if (typeof value !== "object" || value === null) return false;
1644
+ return value.range === USAGE_MONTH_RANGE;
1645
+ }
1646
+ var UsageDataStore = class {
1647
+ constructor(rpc, options = {}) {
1648
+ this.rpc = rpc;
1649
+ this.now = options.now ?? (() => Date.now());
1650
+ this.ttlMs = options.ttlMs ?? USAGE_CACHE_TTL_MS;
1651
+ }
1652
+ entries = /* @__PURE__ */ new Map();
1653
+ now;
1654
+ ttlMs;
1655
+ /** 当前缓存条目数(测试断言用)。 */
1656
+ get size() {
1657
+ return this.entries.size;
1658
+ }
1659
+ /** 清空缓存(例如登出、切换账号)。 */
1660
+ clear() {
1661
+ this.entries.clear();
1662
+ }
1663
+ async load(input = {}) {
1664
+ const range = input.range ?? USAGE_TREND_RANGE;
1665
+ const cacheKey = usageCacheKey(input.keyId, range);
1666
+ const now = this.now();
1667
+ const previous = this.entries.get(cacheKey);
1668
+ if (input.force !== true && previous !== void 0 && now - previous.fetchedAt < this.ttlMs) {
1669
+ return {
1670
+ data: previous.data,
1671
+ stale: previous.stale,
1672
+ unavailable: false,
1673
+ error: void 0,
1674
+ fetchedAt: previous.fetchedAt,
1675
+ cached: true
1676
+ };
1677
+ }
1678
+ const plans = usageEndpointPlans({ keyId: input.keyId, range });
1679
+ const settled = (await Promise.all(plans.map(async (plan) => {
1680
+ try {
1681
+ const raw = await this.rpc.call(USAGE_CHANNEL, plan.endpoint, plan.payload, input.signal);
1682
+ return { plan, ok: true, value: unwrapUsageResult(raw) };
1683
+ } catch (error) {
1684
+ return { plan, ok: false, error: usageErrorOf(error) };
1685
+ }
1686
+ }))).map(withMonthRangeGuard);
1687
+ const failures = settled.filter((entry) => !entry.ok);
1688
+ if (failures.length === settled.length) {
1689
+ this.entries.delete(cacheKey);
1690
+ return {
1691
+ data: EMPTY_USAGE_DATA,
1692
+ stale: true,
1693
+ unavailable: true,
1694
+ error: failures[0]?.error,
1695
+ fetchedAt: void 0,
1696
+ cached: false
1697
+ };
1698
+ }
1699
+ const data = { ...previous?.data ?? EMPTY_USAGE_DATA };
1700
+ for (const entry of settled) {
1701
+ if (entry.ok) assignField(data, entry.plan.field, entry.value);
1702
+ }
1703
+ const result = { data, fetchedAt: now, stale: failures.length > 0 };
1704
+ this.entries.set(cacheKey, result);
1705
+ return {
1706
+ data,
1707
+ stale: result.stale,
1708
+ unavailable: false,
1709
+ error: failures[0]?.error,
1710
+ fetchedAt: now,
1711
+ cached: false
1712
+ };
1713
+ }
1714
+ };
1715
+ function withMonthRangeGuard(entry) {
1716
+ if (entry.plan.field !== "summaryMonth" || !entry.ok) return entry;
1717
+ const value = entry.value;
1718
+ if (isMonthRangeSupported(value)) return entry;
1719
+ return {
1720
+ plan: entry.plan,
1721
+ ok: false,
1722
+ error: { code: "RANGE_UNSUPPORTED", message: USAGE_MONTH_RANGE_UNSUPPORTED }
1723
+ };
1724
+ }
1725
+ function assignField(data, field, value) {
1726
+ switch (field) {
1727
+ case "summary":
1728
+ data.summary = value;
1729
+ return;
1730
+ case "summaryMonth":
1731
+ data.summaryMonth = value;
1732
+ return;
1733
+ case "trends":
1734
+ data.trends = value;
1735
+ return;
1736
+ case "modelTrends":
1737
+ data.modelTrends = value;
1738
+ return;
1739
+ case "recharges":
1740
+ data.recharges = value;
1741
+ return;
1742
+ case "keys":
1743
+ data.keys = value;
1744
+ return;
1745
+ case "key":
1746
+ data.key = value;
1747
+ return;
1748
+ }
1749
+ }
1750
+ function formatYuan(value) {
1751
+ if (value === void 0 || value === null || !Number.isFinite(value)) return USAGE_MISSING_TEXT;
1752
+ return `\xA5${value.toLocaleString("zh-CN", { maximumFractionDigits: 4 })}`;
1753
+ }
1754
+ function sum(values) {
1755
+ return values.reduce((total, value) => total + value, 0);
1756
+ }
1757
+ function todayCostOf(summary) {
1758
+ if (summary === void 0 || !Array.isArray(summary.items)) return void 0;
1759
+ return sum(summary.items.map((item) => numberOrZero(item.total_cost)));
1760
+ }
1761
+ function periodDate(period) {
1762
+ const parsed = new Date(period);
1763
+ return Number.isNaN(parsed.getTime()) ? void 0 : parsed;
1764
+ }
1765
+ function monthToDateOf(summary) {
1766
+ if (summary === void 0 || !Array.isArray(summary.items) || !isMonthRangeSupported(summary)) return void 0;
1767
+ return {
1768
+ cost: sum(summary.items.map((item) => numberOrZero(item.total_cost))),
1769
+ requests: sum(summary.items.map((item) => numberOrZero(item.request_count)))
1770
+ };
1771
+ }
1772
+ function remainingBudgetOf(key) {
1773
+ if (key === void 0 || !Array.isArray(key.budgets)) return void 0;
1774
+ const values = key.budgets.map((budget) => budget.remaining_budget).filter((value) => typeof value === "number" && Number.isFinite(value));
1775
+ if (values.length === 0) return void 0;
1776
+ return sum(values);
1777
+ }
1778
+ function modelDistributionOf(modelTrends) {
1779
+ if (modelTrends === void 0 || !Array.isArray(modelTrends.trends)) return [];
1780
+ const byModel = /* @__PURE__ */ new Map();
1781
+ for (const point of modelTrends.trends) {
1782
+ const breakdown = point.breakdown;
1783
+ if (!Array.isArray(breakdown)) continue;
1784
+ for (const entry of breakdown) {
1785
+ const name = typeof entry.name === "string" && entry.name !== "" ? entry.name : "\u672A\u77E5\u6A21\u578B";
1786
+ const row = byModel.get(name) ?? { model: name, totalCost: 0, requestCount: 0, totalTokens: 0 };
1787
+ row.totalCost += numberOrZero(entry.total_cost);
1788
+ row.requestCount += numberOrZero(entry.request_count);
1789
+ row.totalTokens += numberOrZero(entry.total_tokens);
1790
+ byModel.set(name, row);
1791
+ }
1792
+ }
1793
+ return [...byModel.values()].sort((left, right) => right.totalCost - left.totalCost || left.model.localeCompare(right.model));
1794
+ }
1795
+ function trendPointsOf(trends) {
1796
+ if (trends === void 0 || !Array.isArray(trends.trends)) return [];
1797
+ return [...trends.trends].filter((point) => periodDate(point.period) !== void 0).sort((left, right) => (periodDate(left.period)?.getTime() ?? 0) - (periodDate(right.period)?.getTime() ?? 0));
1798
+ }
1799
+ function rechargesOf(recharges) {
1800
+ if (recharges === void 0 || !Array.isArray(recharges)) return [];
1801
+ return [...recharges].sort((left, right) => {
1802
+ const leftTime = new Date(left.created_at).getTime();
1803
+ const rightTime = new Date(right.created_at).getTime();
1804
+ if (Number.isNaN(leftTime) || Number.isNaN(rightTime)) return 0;
1805
+ return rightTime - leftTime;
1806
+ });
1807
+ }
1808
+ function numberOrZero(value) {
1809
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
1810
+ }
1811
+
1812
+ // src/client/usage-section.tsx
1813
+ var import_jsx_runtime6 = require("react/jsx-runtime");
1814
+ var sectionStyle3 = { display: "flex", flexDirection: "column", gap: 20 };
1815
+ var headerStyle = { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 12, flexWrap: "wrap" };
1816
+ var titleStyle2 = { margin: 0, fontSize: 18, fontWeight: 600, color: textPrimary };
1817
+ var headerActionsStyle = { display: "flex", alignItems: "center", gap: 8 };
1818
+ var selectStyle = {
1819
+ boxSizing: "border-box",
1820
+ maxWidth: 260,
1821
+ height: 30,
1822
+ padding: "0 8px",
1823
+ border: `1px solid ${borderL2}`,
1824
+ borderRadius: 8,
1825
+ background: bgLayer2,
1826
+ color: textPrimary,
1827
+ font: "inherit",
1828
+ fontSize: 12
1829
+ };
1830
+ var bannerStyle = {
1831
+ display: "flex",
1832
+ alignItems: "center",
1833
+ gap: 8,
1834
+ padding: "8px 10px",
1835
+ borderRadius: 8,
1836
+ fontSize: 12,
1837
+ lineHeight: "18px",
1838
+ color: warnText,
1839
+ background: warnFill
1840
+ };
1841
+ var errorBannerStyle = { ...bannerStyle, color: errorText };
1842
+ var gridStyle = { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(150px, 1fr))", gap: 10 };
1843
+ var cardStyle2 = {
1844
+ display: "flex",
1845
+ flexDirection: "column",
1846
+ gap: 6,
1847
+ padding: "12px 14px",
1848
+ border: `1px solid ${borderL2}`,
1849
+ borderRadius: 10,
1850
+ background: bgLayer2
1851
+ };
1852
+ var cardLabelStyle = { fontSize: 12, color: textSecondary };
1853
+ var cardValueStyle = { fontSize: 20, fontWeight: 600, color: textPrimary, lineHeight: "26px" };
1854
+ var blockStyle = { display: "flex", flexDirection: "column", gap: 10 };
1855
+ var blockTitleStyle = { margin: 0, fontSize: 14, fontWeight: 600, color: textSecondary };
1856
+ var noteStyle = { margin: 0, fontSize: 12, lineHeight: "18px", color: textTertiary };
1857
+ var emptyStyle = { margin: 0, fontSize: 12, color: textTertiary };
1858
+ var listStyle = { display: "flex", flexDirection: "column", gap: 8, margin: 0, padding: 0, listStyle: "none" };
1859
+ var listRowStyle = { display: "flex", alignItems: "center", gap: 10, fontSize: 12 };
1860
+ var listNameStyle = { flex: "0 0 40%", minWidth: 0, color: textPrimary, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" };
1861
+ var listBarTrackStyle = { flex: 1, height: 6, borderRadius: 3, background: bgLayer2, overflow: "hidden" };
1862
+ var listBarFillStyle = (pct) => ({ height: "100%", width: `${pct}%`, background: brandAccent, borderRadius: 3 });
1863
+ var listValueStyle = { flex: "0 0 auto", color: textSecondary, fontVariantNumeric: "tabular-nums" };
1864
+ var chartStyle = { display: "flex", alignItems: "flex-end", gap: 2, height: 72, padding: "0 0 2px", borderBottom: `1px solid ${borderL2}` };
1865
+ var barStyle = (pct) => ({
1866
+ flex: 1,
1867
+ minWidth: 2,
1868
+ height: `${pct}%`,
1869
+ minHeight: 2,
1870
+ background: pct > 0 ? brandAccent : borderL2,
1871
+ borderRadius: "2px 2px 0 0"
1872
+ });
1873
+ var tableStyle = { width: "100%", borderCollapse: "collapse", fontSize: 12, color: textPrimary };
1874
+ var thStyle = { textAlign: "left", padding: "6px 8px", borderBottom: `1px solid ${borderL2}`, color: textSecondary, fontWeight: 500 };
1875
+ var tdStyle = { padding: "6px 8px", borderBottom: `1px solid ${borderL2}`, color: textSecondary };
1876
+ var amountStyle = { ...tdStyle, color: textPrimary, fontVariantNumeric: "tabular-nums" };
1877
+ var footStyle2 = { margin: 0, fontSize: 11, lineHeight: "16px", color: textCaption };
1878
+ var RECHARGE_LIMIT = 10;
1879
+ function keyLabel2(key) {
1880
+ const base = key.key_masked ?? key.employee_name ?? `${key.id.slice(0, 8)}\u2026`;
1881
+ const team = key.team_name !== void 0 && key.team_name !== "" ? `\uFF08${key.team_name}\uFF09` : "";
1882
+ const disabled = key.enabled === false ? " \xB7 \u5DF2\u7981\u7528" : "";
1883
+ return `${base}${team}${disabled}`;
1884
+ }
1885
+ function rechargeTypeLabel(type) {
1886
+ if (type === "manual") return "\u624B\u52A8\u5145\u503C";
1887
+ if (type === "auto_rule") return "\u81EA\u52A8\u5145\u503C";
1888
+ return type === "" ? USAGE_MISSING_TEXT : type;
1889
+ }
1890
+ function rechargeTime(createdAt) {
1891
+ const date = new Date(createdAt);
1892
+ if (Number.isNaN(date.getTime())) return USAGE_MISSING_TEXT;
1893
+ return date.toLocaleString("zh-CN", { hour12: false });
1894
+ }
1895
+ function KpiCard({ label, value }) {
1896
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: cardStyle2, "data-hiwork-usage-kpi": label, children: [
1897
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: cardLabelStyle, children: label }),
1898
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: cardValueStyle, children: value })
1899
+ ] });
1900
+ }
1901
+ function RatioRow({ name, value, pct }) {
1902
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("li", { style: listRowStyle, children: [
1903
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listNameStyle, title: name, children: name }),
1904
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listBarTrackStyle, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listBarFillStyle(pct) }) }),
1905
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listValueStyle, children: value })
1906
+ ] });
1907
+ }
1908
+ function UsageSection(props) {
1909
+ const card = props.useAiRouterCard((snapshot) => snapshot);
1910
+ const [selectedKeyId, setSelectedKeyId] = (0, import_react5.useState)(void 0);
1911
+ const [result, setResult] = (0, import_react5.useState)(void 0);
1912
+ const [loading, setLoading] = (0, import_react5.useState)(true);
1913
+ const alive = (0, import_react5.useRef)(true);
1914
+ const ticket = (0, import_react5.useRef)(0);
1915
+ const settingsKeyId = card.activeKeyId;
1916
+ const requestKeyId = selectedKeyId ?? settingsKeyId;
1917
+ const displayKeyId = requestKeyId ?? result?.data.keys?.[0]?.id;
1918
+ const loader = props.usage;
1919
+ const load = (0, import_react5.useCallback)(async (force) => {
1920
+ const current = ticket.current + 1;
1921
+ ticket.current = current;
1922
+ setLoading(true);
1923
+ const next = await loader.load({
1924
+ ...requestKeyId === void 0 ? {} : { keyId: requestKeyId },
1925
+ range: USAGE_TREND_RANGE,
1926
+ force
1927
+ });
1928
+ if (!alive.current || current !== ticket.current) return;
1929
+ setResult(next);
1930
+ setLoading(false);
1931
+ }, [loader, requestKeyId]);
1932
+ (0, import_react5.useEffect)(() => {
1933
+ alive.current = true;
1934
+ return () => {
1935
+ alive.current = false;
1936
+ };
1937
+ }, []);
1938
+ (0, import_react5.useEffect)(() => {
1939
+ void load(false);
1940
+ }, [load]);
1941
+ const data = result?.data;
1942
+ const todayCost = todayCostOf(data?.summary);
1943
+ const monthToDate = monthToDateOf(data?.summaryMonth);
1944
+ const remaining = remainingBudgetOf(data?.key);
1945
+ const distribution = modelDistributionOf(data?.modelTrends);
1946
+ const points = trendPointsOf(data?.trends);
1947
+ const recharges = rechargesOf(data?.recharges);
1948
+ const keys = data?.keys ?? [];
1949
+ const maxCost = points.reduce((max, point) => Math.max(max, point.total_cost), 0);
1950
+ const maxModelCost = distribution.reduce((max, row) => Math.max(max, row.totalCost), 0);
1951
+ const header = /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("header", { style: headerStyle, children: [
1952
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h2", { style: titleStyle2, children: "\u7528\u91CF\u4E0E\u6210\u672C" }),
1953
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: headerActionsStyle, children: [
1954
+ keys.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1955
+ "select",
1956
+ {
1957
+ style: selectStyle,
1958
+ "aria-label": "\u9009\u62E9 Key",
1959
+ "data-hiwork-usage-key-selector": "",
1960
+ value: displayKeyId ?? "",
1961
+ onChange: (event) => {
1962
+ setSelectedKeyId(event.target.value);
1963
+ },
1964
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("option", { value: key.id, children: keyLabel2(key) }, key.id))
1965
+ }
1966
+ ) : null,
1967
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1968
+ "button",
1969
+ {
1970
+ type: "button",
1971
+ style: secondaryButton,
1972
+ "data-hiwork-usage-refresh": "",
1973
+ disabled: loading,
1974
+ onClick: () => {
1975
+ void load(true);
1976
+ },
1977
+ children: "\u5237\u65B0"
1978
+ }
1979
+ )
1980
+ ] })
1981
+ ] });
1982
+ if (result !== void 0 && result.unavailable) {
1983
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { "aria-label": "\u7528\u91CF\u4E0E\u6210\u672C", style: sectionStyle3, "data-hiwork-usage-state": "unavailable", children: [
1984
+ header,
1985
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: errorBannerStyle, "data-hiwork-usage-unavailable": "", children: [
1986
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: USAGE_UNAVAILABLE_TEXT }),
1987
+ result.error === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: result.error.message })
1988
+ ] }),
1989
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { style: footStyle2, children: "\u7528\u91CF\u6570\u636E\u6765\u81EA\u7F51\u5173\u8D26\u5355\uFF0C\u7F51\u7EDC\u6062\u590D\u540E\u70B9\u300C\u5237\u65B0\u300D\u91CD\u8BD5\u3002" })
1990
+ ] });
1991
+ }
1992
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { "aria-label": "\u7528\u91CF\u4E0E\u6210\u672C", style: sectionStyle3, "data-hiwork-usage-state": loading ? "loading" : "ready", children: [
1993
+ header,
1994
+ result?.stale === true ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: bannerStyle, "data-hiwork-usage-stale": "", children: [
1995
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: USAGE_STALE_TEXT }),
1996
+ result.error === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { "data-hiwork-usage-stale-reason": "", children: result.error.message })
1997
+ ] }) : null,
1998
+ result === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { style: noteStyle, "data-hiwork-usage-loading": "", children: USAGE_LOADING_TEXT }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1999
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: gridStyle, "data-hiwork-usage-kpis": "", children: [
2000
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(KpiCard, { label: "\u4ECA\u65E5\u82B1\u8D39", value: formatYuan(todayCost) }),
2001
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(KpiCard, { label: "\u672C\u6708\u82B1\u8D39", value: formatYuan(monthToDate?.cost) }),
2002
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2003
+ KpiCard,
2004
+ {
2005
+ label: "\u672C\u6708\u8BF7\u6C42\u6570",
2006
+ value: monthToDate === void 0 ? USAGE_MISSING_TEXT : monthToDate.requests.toLocaleString("zh-CN")
2007
+ }
2008
+ ),
2009
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(KpiCard, { label: "\u5269\u4F59\u9884\u7B97", value: formatYuan(remaining) })
2010
+ ] }),
2011
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { style: blockStyle, "data-hiwork-usage-models": "", children: [
2012
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { style: blockTitleStyle, children: "\u6309\u6A21\u578B\u5206\u5E03" }),
2013
+ distribution.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { style: emptyStyle, children: USAGE_EMPTY_TEXT }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ul", { style: listStyle, children: distribution.map((row) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2014
+ RatioRow,
2015
+ {
2016
+ name: row.model,
2017
+ value: `${formatYuan(row.totalCost)} \xB7 ${row.requestCount.toLocaleString("zh-CN")} \u6B21`,
2018
+ pct: maxModelCost > 0 ? row.totalCost / maxModelCost * 100 : 0
2019
+ },
2020
+ row.model
2021
+ )) })
2022
+ ] }),
2023
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { style: blockStyle, "data-hiwork-usage-trends": "", children: [
2024
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { style: blockTitleStyle, children: "\u8FD1 30 \u5929\u8D8B\u52BF" }),
2025
+ points.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { style: emptyStyle, children: USAGE_EMPTY_TEXT }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
2026
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { style: chartStyle, children: points.map((point) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2027
+ "span",
2028
+ {
2029
+ style: barStyle(maxCost > 0 ? point.total_cost / maxCost * 100 : 0),
2030
+ "data-hiwork-usage-bar": point.period,
2031
+ title: `${point.period} \xB7 ${formatYuan(point.total_cost)} \xB7 ${point.request_count.toLocaleString("zh-CN")} \u6B21`
2032
+ },
2033
+ point.period
2034
+ )) }),
2035
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("p", { style: noteStyle, children: [
2036
+ "\u5408\u8BA1 ",
2037
+ formatYuan(points.reduce((total, point) => total + point.total_cost, 0)),
2038
+ " \xB7 ",
2039
+ points.reduce((total, point) => total + point.request_count, 0).toLocaleString("zh-CN"),
2040
+ " \u6B21\u8BF7\u6C42"
2041
+ ] })
2042
+ ] })
2043
+ ] }),
2044
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { style: blockStyle, "data-hiwork-usage-recharges": "", children: [
2045
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { style: blockTitleStyle, children: "\u5145\u503C\u53F0\u8D26" }),
2046
+ recharges.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { style: emptyStyle, children: USAGE_NO_RECHARGE_TEXT }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
2047
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("table", { style: tableStyle, children: [
2048
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("tr", { children: [
2049
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u65F6\u95F4" }),
2050
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u6A21\u578B" }),
2051
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u91D1\u989D" }),
2052
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u7C7B\u578B" }),
2053
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u5907\u6CE8" })
2054
+ ] }) }),
2055
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("tbody", { children: recharges.slice(0, RECHARGE_LIMIT).map((row) => /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("tr", { children: [
2056
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: rechargeTime(row.created_at) }),
2057
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: row.model_name === "" ? USAGE_MISSING_TEXT : row.model_name }),
2058
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: amountStyle, children: formatYuan(row.amount) }),
2059
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: rechargeTypeLabel(row.type) }),
2060
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: row.note === "" ? USAGE_MISSING_TEXT : row.note })
2061
+ ] }, row.id)) })
2062
+ ] }),
2063
+ recharges.length > RECHARGE_LIMIT ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("p", { style: noteStyle, children: [
2064
+ "\u4EC5\u663E\u793A\u6700\u8FD1 ",
2065
+ RECHARGE_LIMIT,
2066
+ " \u6761\uFF0C\u5171 ",
2067
+ recharges.length,
2068
+ " \u6761\u3002"
2069
+ ] }) : null
2070
+ ] })
2071
+ ] }),
2072
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { style: footStyle2, children: "\u6570\u636E\u6765\u81EA\u7F51\u5173\u6743\u5A01\u8D26\u5355\uFF1B\u91D1\u989D\u5355\u4F4D\u4E3A\u4EBA\u6C11\u5E01\uFF08\xA5\uFF09\u3002" })
2073
+ ] })
2074
+ ] });
2075
+ }
2076
+
2077
+ // src/client/session-cost.tsx
2078
+ var import_react6 = require("react");
2079
+ var import_jsx_runtime7 = require("react/jsx-runtime");
2080
+ var SESSION_COST_ENDPOINT = "estimate";
2081
+ var SESSION_COST_CACHE_TTL_MS = 5 * 6e4;
2082
+ var SESSION_COST_HINT = "\u6309\u7F51\u5173\u4EF7\u683C\u4F30\u7B97\uFF0C\u4EC5\u4F9B\u53C2\u8003\uFF1B\u4EE5\u300C\u7528\u91CF\u4E0E\u6210\u672C\u300D\u4E2D\u7684\u6743\u5A01\u8D26\u5355\u4E3A\u51C6";
2083
+ var SESSION_COST_ESTIMATED_SUFFIX = "\uFF08\u4F30\u7B97\uFF09";
2084
+ function nonNegativeInteger(value) {
2085
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
2086
+ }
2087
+ function sessionCostMatchOf(data) {
2088
+ if (typeof data !== "object" || data === null) return null;
2089
+ const turn = nonNegativeInteger(data.turn);
2090
+ if (turn === void 0) return null;
2091
+ const usage = data.tokenUsage;
2092
+ if (typeof usage !== "object" || usage === null) return null;
2093
+ const input = nonNegativeInteger(usage.uncachedInputTokens);
2094
+ const output = nonNegativeInteger(usage.outputTokens);
2095
+ if (input === void 0 || output === void 0) return null;
2096
+ const routes = usage.routes;
2097
+ if (!Array.isArray(routes) || routes.length === 0) return null;
2098
+ const pairs = [];
2099
+ const seen = /* @__PURE__ */ new Set();
2100
+ for (const entry of routes) {
2101
+ if (typeof entry !== "object" || entry === null) return null;
2102
+ const { provider, model } = entry;
2103
+ if (typeof provider !== "string" || provider === "" || typeof model !== "string" || model === "") return null;
2104
+ const key = `${provider}\0${model}`;
2105
+ if (seen.has(key)) continue;
2106
+ seen.add(key);
2107
+ pairs.push({ route: provider, model });
2108
+ }
2109
+ if (pairs.length === 0) return null;
2110
+ const cacheRead = nonNegativeInteger(usage.cacheReadTokens);
2111
+ const cacheWrite = nonNegativeInteger(usage.cacheWriteTokens);
2112
+ if (input === 0 && output === 0 && (cacheRead ?? 0) === 0 && (cacheWrite ?? 0) === 0) return null;
2113
+ const first = pairs[0];
2114
+ if (first === void 0) return null;
2115
+ const at = rfc3339Of(data.time);
2116
+ const item = {
2117
+ route: first.route,
2118
+ model: first.model,
2119
+ input_tokens: input,
2120
+ output_tokens: output,
2121
+ // 桶缺失表示「并非每次尝试都上报了该桶」——原样省略,绝不猜 0。
2122
+ ...cacheRead === void 0 ? {} : { cache_read_tokens: cacheRead },
2123
+ ...cacheWrite === void 0 ? {} : { cache_write_tokens: cacheWrite },
2124
+ ...at === void 0 ? {} : { at }
2125
+ };
2126
+ const ambiguous = pairs.length > 1 || cacheRead === void 0 || cacheWrite === void 0;
2127
+ return { items: [item], turn, ambiguous };
2128
+ }
2129
+ function rfc3339Of(time) {
2130
+ if (typeof time !== "number" || !Number.isFinite(time) || time <= 0) return void 0;
2131
+ const date = new Date(time);
2132
+ return Number.isNaN(date.getTime()) ? void 0 : date.toISOString();
2133
+ }
2134
+ function selectSessionCost(owner) {
2135
+ return sessionCostMatchOf(owner.turn.data.get("turn-tail"));
2136
+ }
2137
+ function sessionCostKey(sessionId, match) {
2138
+ return `${sessionId}\0${match.turn}\0${JSON.stringify(match.items)}`;
2139
+ }
2140
+ function normalizeSessionCost(value) {
2141
+ if (typeof value !== "object" || value === null) return void 0;
2142
+ const record = value;
2143
+ if (record.priced !== true) return void 0;
2144
+ const cost = record.cost;
2145
+ if (typeof cost !== "number" || !Number.isFinite(cost) || cost < 0) return void 0;
2146
+ return { cost, channelResolved: record.channelResolved === true };
2147
+ }
2148
+ var SessionCostStore = class {
2149
+ constructor(rpc, options = {}) {
2150
+ this.rpc = rpc;
2151
+ this.now = options.now ?? (() => Date.now());
2152
+ this.ttlMs = options.ttlMs ?? SESSION_COST_CACHE_TTL_MS;
2153
+ }
2154
+ entries = /* @__PURE__ */ new Map();
2155
+ pending = /* @__PURE__ */ new Map();
2156
+ now;
2157
+ ttlMs;
2158
+ /** 当前缓存条目数(测试断言用)。 */
2159
+ get size() {
2160
+ return this.entries.size;
2161
+ }
2162
+ /** 清空缓存(登出 / 切换账号)。 */
2163
+ clear() {
2164
+ this.entries.clear();
2165
+ }
2166
+ async estimate(input) {
2167
+ const key = sessionCostKey(input.sessionId, { turn: input.turn, items: [...input.items] });
2168
+ const cached = this.entries.get(key);
2169
+ if (cached !== void 0 && this.now() - cached.fetchedAt < this.ttlMs) return cached.result;
2170
+ const inflight = this.pending.get(key);
2171
+ if (inflight !== void 0) return await inflight;
2172
+ const task = this.request(key, input);
2173
+ this.pending.set(key, task);
2174
+ try {
2175
+ return await task;
2176
+ } finally {
2177
+ this.pending.delete(key);
2178
+ }
2179
+ }
2180
+ async request(key, input) {
2181
+ try {
2182
+ const raw = await this.rpc.call(USAGE_CHANNEL, SESSION_COST_ENDPOINT, { items: input.items }, input.signal);
2183
+ const result = normalizeSessionCost(unwrapUsageResult(raw));
2184
+ if (result !== void 0) this.entries.set(key, { result, fetchedAt: this.now() });
2185
+ return result;
2186
+ } catch {
2187
+ return void 0;
2188
+ }
2189
+ }
2190
+ };
2191
+ var costStyle = {
2192
+ color: textTertiary,
2193
+ fontSize: 12,
2194
+ lineHeight: "18px",
2195
+ whiteSpace: "nowrap",
2196
+ cursor: "default"
2197
+ };
2198
+ function SessionCost({ matched, sessionId, store }) {
2199
+ const key = sessionCostKey(sessionId, matched);
2200
+ const [result, setResult] = (0, import_react6.useState)(void 0);
2201
+ (0, import_react6.useEffect)(() => {
2202
+ let disposed = false;
2203
+ const controller = new AbortController();
2204
+ void store.estimate({ sessionId, turn: matched.turn, items: matched.items, signal: controller.signal }).then((value) => {
2205
+ if (!disposed) setResult(value);
2206
+ }).catch(() => {
2207
+ if (!disposed) setResult(void 0);
2208
+ });
2209
+ return () => {
2210
+ disposed = true;
2211
+ controller.abort();
2212
+ };
2213
+ }, [store, key]);
2214
+ if (result === void 0) return null;
2215
+ const estimated = !result.channelResolved || matched.ambiguous;
2216
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { style: costStyle, "data-hiwork-session-cost": estimated ? "estimated" : "exact", title: SESSION_COST_HINT, children: `\u2248 ${formatYuan(result.cost)}${estimated ? SESSION_COST_ESTIMATED_SUFFIX : ""}` });
2217
+ }
2218
+
2219
+ // src/client/account-cache.ts
2220
+ function accountIdentityOf(state) {
2221
+ return `${state.username ?? ""}\0${state.activeKeyId ?? ""}`;
2222
+ }
2223
+ function observeAccountChange(source, onChange) {
2224
+ let identity = accountIdentityOf(source.getSnapshot());
2225
+ const unsubscribe = source.subscribe(() => {
2226
+ const next = accountIdentityOf(source.getSnapshot());
2227
+ if (next === identity) return;
2228
+ identity = next;
2229
+ onChange();
2230
+ });
2231
+ return () => {
2232
+ unsubscribe();
2233
+ };
2234
+ }
2235
+
2273
2236
  // src/client/feature-registry.ts
2274
2237
  var DEFAULT_FEATURE_ORDER = 1e3;
2275
2238
  function compareFeatures(left, right) {
@@ -2338,7 +2301,7 @@ function createFeatureRegistry() {
2338
2301
  }
2339
2302
 
2340
2303
  // src/client/feature-center.ts
2341
- var import_react5 = require("react");
2304
+ var import_react7 = require("react");
2342
2305
  var import_client2 = require("react-dom/client");
2343
2306
  var SIDEBAR_SELECTOR = '[data-pane="sidebar"], [class*="sidebarCol"]';
2344
2307
  var CONVERSATION_SELECTOR = '[data-pane="conversation"], [class*="centerCol"]';
@@ -2352,6 +2315,8 @@ var MENU_ATTRIBUTE = "data-hiwork-feature-menu";
2352
2315
  var MENU_ITEM_ATTRIBUTE = "data-hiwork-feature-menu-item";
2353
2316
  var MENU_ICON_ATTRIBUTE = "data-hiwork-feature-menu-icon";
2354
2317
  var MENU_LABEL_ATTRIBUTE = "data-hiwork-feature-menu-label";
2318
+ var TOOLTIP_ATTRIBUTE = "data-hiwork-feature-tooltip";
2319
+ var TOOLTIP_VISIBLE_ATTRIBUTE = "data-hiwork-feature-tooltip-visible";
2355
2320
  var NATIVE_HIDDEN_ATTRIBUTE = "data-hiwork-native-new-session";
2356
2321
  var FEATURE_ROOT_ATTRIBUTE = "data-hiwork-feature-root";
2357
2322
  var OWNER_ATTRIBUTE = "data-hiwork-owner";
@@ -2359,6 +2324,8 @@ var ACTIVE_PAGE_ATTRIBUTE = "data-hiwork-active-page";
2359
2324
  var NATIVE_MENU_ITEM_ID = "__native_new_session__";
2360
2325
  var DEFAULT_NEW_SESSION_LABEL = "\u65B0\u4F1A\u8BDD";
2361
2326
  var STYLE_ELEMENT_ID = "hiwork-feature-center-styles";
2327
+ var TOOLTIP_DELAY_MS = 500;
2328
+ var TOOLTIP_GAP_PX = 8;
2362
2329
  var DEFAULT_NEW_SESSION_ICON = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M8 3.4v9.2M3.4 8h9.2" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/></svg>';
2363
2330
  var DEFAULT_FEATURE_ICON = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect x="2.75" y="2.75" width="10.5" height="10.5" rx="3" stroke="currentColor" stroke-width="1.5"/><circle cx="8" cy="8" r="1.4" fill="currentColor"/></svg>';
2364
2331
  var SESSION_ROW_SELECTOR = [
@@ -2382,12 +2349,18 @@ var featureCenterCss = [
2382
2349
  `[class*="sidebarCol"] [class*="collapsed"] [${MENU_LABEL_ATTRIBUTE}] { display: none; }`,
2383
2350
  `[class*="sidebarCol"] [class*="collapsed"] [${MENU_ITEM_ATTRIBUTE}] { justify-content: center; padding: 8px 0; }`,
2384
2351
  `[class*="sidebarCol"] [class*="collapsed"] [${MENU_ICON_ATTRIBUTE}], [class*="sidebarCol"] [class*="collapsed"] [${MENU_ICON_ATTRIBUTE}] > svg { width: 18px; height: 18px; }`,
2352
+ // 折叠态提示气泡:几何与配色逐项对齐框架 `ui-primitives` 的 `Tooltip.module.css`
2353
+ // (黑底白字、3px 7px 内边距、8px 圆角、13/20 字号、150ms 淡入、最大半屏宽)。
2354
+ `[${TOOLTIP_ATTRIBUTE}] { position: fixed; z-index: 100; display: none; width: max-content; max-width: 50vw; padding: 3px 7px; border-radius: 8px; background: var(--dsw-alias-tooltip-bg, #2c2c2e); color: var(--dsw-static-neutral-bluish-00, #fff); font-size: 13px; line-height: 20px; white-space: pre-line; overflow-wrap: break-word; pointer-events: none; transform: translateY(-50%); }`,
2355
+ `[${TOOLTIP_ATTRIBUTE}][${TOOLTIP_VISIBLE_ATTRIBUTE}="true"] { display: block; animation: hiwork-feature-tooltip-in 150ms var(--ds-ease-in-out, ease); }`,
2356
+ `@keyframes hiwork-feature-tooltip-in { from { opacity: 0; } }`,
2357
+ `@media (prefers-reduced-motion: reduce) { [${TOOLTIP_ATTRIBUTE}][${TOOLTIP_VISIBLE_ATTRIBUTE}="true"] { animation: none; } }`,
2385
2358
  // 与原生会话根同一背景(`background: var(--dsw-alias-bg-base)`);不显式上色的话
2386
2359
  // takeover 区会透出框架灰底,和侧栏同色而不是原生页面的白色/深色。
2387
2360
  `[${FEATURE_ROOT_ATTRIBUTE}] { display: flex; flex-direction: column; flex: 1; min-width: 0; min-height: 0; overflow: hidden; background: var(--dsw-alias-bg-base, #fff); }`,
2388
2361
  `html[${ACTIVE_PAGE_ATTRIBUTE}] [data-pane="conversation"] > *:not([${FEATURE_ROOT_ATTRIBUTE}]), html[${ACTIVE_PAGE_ATTRIBUTE}] [class*="centerCol"] > *:not([${FEATURE_ROOT_ATTRIBUTE}]) { display: none !important; }`
2389
2362
  ].join("\n");
2390
- var FeatureErrorBoundary = class extends import_react5.Component {
2363
+ var FeatureErrorBoundary = class extends import_react7.Component {
2391
2364
  state = { failed: false };
2392
2365
  static getDerivedStateFromError() {
2393
2366
  return { failed: true };
@@ -2418,6 +2391,12 @@ function nativeNewSessionButton(root) {
2418
2391
  function conversationContainer() {
2419
2392
  return document.querySelector(CONVERSATION_SELECTOR) ?? void 0;
2420
2393
  }
2394
+ function isCollapsedRail(item) {
2395
+ const host = item.closest('[class*="collapsed"]');
2396
+ if (host === null) return false;
2397
+ const column = item.closest(SIDEBAR_SELECTOR);
2398
+ return column === null || column.contains(host);
2399
+ }
2421
2400
  function mountFeatureCenter(options) {
2422
2401
  const { registry } = options;
2423
2402
  const interval = options.retryIntervalMs ?? 200;
@@ -2428,7 +2407,7 @@ function mountFeatureCenter(options) {
2428
2407
  return { dispose: () => void 0, openNativeHome: () => void 0 };
2429
2408
  }
2430
2409
  const isActiveOwner = () => activeOwner === owner;
2431
- for (const stale of Array.from(document.querySelectorAll(`[${MENU_ATTRIBUTE}], [${FEATURE_ROOT_ATTRIBUTE}], #${STYLE_ELEMENT_ID}`))) {
2410
+ for (const stale of Array.from(document.querySelectorAll(`[${MENU_ATTRIBUTE}], [${FEATURE_ROOT_ATTRIBUTE}], [${TOOLTIP_ATTRIBUTE}], #${STYLE_ELEMENT_ID}`))) {
2432
2411
  stale.remove();
2433
2412
  }
2434
2413
  for (const hidden of Array.from(document.querySelectorAll(`[${NATIVE_HIDDEN_ATTRIBUTE}]`))) {
@@ -2449,6 +2428,58 @@ function mountFeatureCenter(options) {
2449
2428
  let retryTimer;
2450
2429
  let retries = 0;
2451
2430
  let disposed = false;
2431
+ let tooltipElement;
2432
+ let tooltipTimer;
2433
+ let tooltipItem;
2434
+ const hideTooltip = () => {
2435
+ if (tooltipTimer !== void 0) {
2436
+ clearTimeout(tooltipTimer);
2437
+ tooltipTimer = void 0;
2438
+ }
2439
+ tooltipItem = void 0;
2440
+ tooltipElement?.removeAttribute(TOOLTIP_VISIBLE_ATTRIBUTE);
2441
+ };
2442
+ const ensureTooltip = () => {
2443
+ let element = tooltipElement;
2444
+ if (element === void 0) {
2445
+ element = document.createElement("div");
2446
+ element.setAttribute(TOOLTIP_ATTRIBUTE, "");
2447
+ element.setAttribute(OWNER_ATTRIBUTE, owner);
2448
+ element.setAttribute("role", "tooltip");
2449
+ document.body.appendChild(element);
2450
+ tooltipElement = element;
2451
+ }
2452
+ return element;
2453
+ };
2454
+ const placeTooltip = (item, element) => {
2455
+ const rect = item.getBoundingClientRect();
2456
+ const width = element.offsetWidth;
2457
+ const overflowRight = rect.right + TOOLTIP_GAP_PX + width > window.innerWidth;
2458
+ const left = overflowRight ? rect.left - TOOLTIP_GAP_PX - width : rect.right + TOOLTIP_GAP_PX;
2459
+ element.style.left = `${Math.max(0, left)}px`;
2460
+ element.style.top = `${rect.top + rect.height / 2}px`;
2461
+ };
2462
+ const showTooltip = (item, label) => {
2463
+ const element = ensureTooltip();
2464
+ element.textContent = label;
2465
+ element.setAttribute(TOOLTIP_VISIBLE_ATTRIBUTE, "true");
2466
+ tooltipItem = item;
2467
+ placeTooltip(item, element);
2468
+ };
2469
+ const bindTooltip = (item, label) => {
2470
+ item.addEventListener("pointerenter", () => {
2471
+ hideTooltip();
2472
+ tooltipTimer = setTimeout(() => {
2473
+ tooltipTimer = void 0;
2474
+ if (disposed || !item.isConnected || !isCollapsedRail(item)) return;
2475
+ showTooltip(item, label);
2476
+ }, TOOLTIP_DELAY_MS);
2477
+ });
2478
+ item.addEventListener("pointerleave", () => {
2479
+ if (tooltipItem === item || tooltipTimer !== void 0) hideTooltip();
2480
+ });
2481
+ };
2482
+ document.addEventListener("scroll", hideTooltip, true);
2452
2483
  const clearTakeover = () => {
2453
2484
  const reactRoot = root;
2454
2485
  root = void 0;
@@ -2494,6 +2525,7 @@ function mountFeatureCenter(options) {
2494
2525
  if (!(target instanceof Element)) return;
2495
2526
  const item = target.closest(`[${MENU_ITEM_ATTRIBUTE}]`);
2496
2527
  if (item === null || !(menuElement?.contains(item) ?? false)) return;
2528
+ hideTooltip();
2497
2529
  const id = item.getAttribute(MENU_ITEM_ATTRIBUTE);
2498
2530
  if (id === null) return;
2499
2531
  if (id === NATIVE_MENU_ITEM_ID) {
@@ -2507,7 +2539,8 @@ function mountFeatureCenter(options) {
2507
2539
  item.type = "button";
2508
2540
  item.setAttribute(MENU_ITEM_ATTRIBUTE, id);
2509
2541
  if (active) item.setAttribute("data-hiwork-feature-active", "true");
2510
- item.title = label;
2542
+ item.setAttribute("aria-label", label);
2543
+ bindTooltip(item, label);
2511
2544
  const iconSpan = document.createElement("span");
2512
2545
  iconSpan.setAttribute(MENU_ICON_ATTRIBUTE, "");
2513
2546
  iconSpan.innerHTML = icon;
@@ -2538,6 +2571,7 @@ function mountFeatureCenter(options) {
2538
2571
  ].join("|");
2539
2572
  if (signature === menuSignature) return;
2540
2573
  menuSignature = signature;
2574
+ hideTooltip();
2541
2575
  const items = [];
2542
2576
  if (native !== void 0) items.push(createMenuItem(NATIVE_MENU_ITEM_ID, newSessionLabel, nativeIcon(native), false));
2543
2577
  for (const item of features) {
@@ -2607,7 +2641,7 @@ function mountFeatureCenter(options) {
2607
2641
  const reactRoot = (0, import_client2.createRoot)(element);
2608
2642
  root = reactRoot;
2609
2643
  try {
2610
- reactRoot.render((0, import_react5.createElement)(FeatureErrorBoundary, { onError: onRenderError }, target.render(renderContext)));
2644
+ reactRoot.render((0, import_react7.createElement)(FeatureErrorBoundary, { onError: onRenderError }, target.render(renderContext)));
2611
2645
  } catch (error) {
2612
2646
  onRenderError(error);
2613
2647
  }
@@ -2675,6 +2709,11 @@ function mountFeatureCenter(options) {
2675
2709
  unsubscribeRegistry();
2676
2710
  unsubscribeLocale?.();
2677
2711
  document.removeEventListener("click", onDocumentClickCapture, true);
2712
+ document.removeEventListener("scroll", hideTooltip, true);
2713
+ hideTooltip();
2714
+ const tooltip = tooltipElement;
2715
+ tooltipElement = void 0;
2716
+ if (tooltip !== void 0 && tooltip.getAttribute(OWNER_ATTRIBUTE) === owner) tooltip.remove();
2678
2717
  clearTakeover();
2679
2718
  const element = menuElement;
2680
2719
  menuElement = void 0;
@@ -2699,7 +2738,7 @@ function mountFeatureCenter(options) {
2699
2738
  var HIWORK_FEATURE_CENTER_SERVICE = "hiworkFeatureCenter";
2700
2739
 
2701
2740
  // src/client/index.ts
2702
- var inject = ["slots", "locale", "remote", "remote.credentials", "settingsScope"];
2741
+ var inject = ["slots", "locale", "remote", "remote.credentials", "settingsScope", "connection"];
2703
2742
  var INTERACTION_STYLE_ID = "hiwork-core-interaction-styles";
2704
2743
  function injectInteractionStyles() {
2705
2744
  if (typeof document === "undefined") return;
@@ -2730,6 +2769,27 @@ function apply(ctx) {
2730
2769
  order: Number.MAX_SAFE_INTEGER,
2731
2770
  label: () => "\u5173\u4E8E"
2732
2771
  }, AboutSection));
2772
+ const connection = ctx.get("connection");
2773
+ if (connection === void 0) throw new Error("connection service unavailable");
2774
+ const usage = new UsageDataStore(connection.rpc);
2775
+ const sessionCost = new SessionCostStore(connection.rpc);
2776
+ const dailyQuotes = new DailyDataStore(connection.rpc);
2777
+ ctx.slots.inject("settings.section", () => ctx.slots.register({
2778
+ name: "settings.section",
2779
+ id: "hiwork-usage",
2780
+ order: 2,
2781
+ label: () => "\u7528\u91CF\u4E0E\u6210\u672C",
2782
+ inject: () => ({ hooks: controller.inject().hooks, usage })
2783
+ }, UsageSection));
2784
+ ctx.slots.inject("conversation.chat.turnTail", () => ctx.slots.register({
2785
+ name: "conversation.chat.turnTail",
2786
+ select: selectSessionCost,
2787
+ inject: () => ({ store: sessionCost })
2788
+ }, SessionCost));
2789
+ ctx.effect(() => observeAccountChange(controller.inject().hooks.aiRouterCard, () => {
2790
+ usage.clear();
2791
+ sessionCost.clear();
2792
+ }), "hiwork-core: \u7528\u91CF\u7F13\u5B58\u968F\u8D26\u53F7 / Key \u53D8\u5316\u6E05\u7A7A");
2733
2793
  ctx.effect(() => observeAboutNavIcon(), "hiwork-core: about nav icon");
2734
2794
  ctx.slots.inject("sidebar.brand.mark", () => ctx.slots.register({
2735
2795
  name: "sidebar.brand.mark",
@@ -2745,7 +2805,7 @@ function apply(ctx) {
2745
2805
  inject: () => controller.inject()
2746
2806
  }, UserBadge));
2747
2807
  ctx.effect(() => mountLoginGate(scope, storeCredential), "hiwork-core: login gate");
2748
- ctx.effect(() => observeHeroDecorations(), "hiwork-core: hero decorations");
2808
+ ctx.effect(() => observeHeroDecorations(document, dailyQuotes), "hiwork-core: hero decorations");
2749
2809
  installFeatureCenter(ctx);
2750
2810
  }
2751
2811
  function installFeatureCenter(ctx) {