hiwork-core 0.0.3 → 0.0.7

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.
Files changed (37) hide show
  1. package/README.md +13 -7
  2. package/cordis.patch.yml +21 -0
  3. package/lib/ai-router-client.js +258 -2
  4. package/lib/browser-login.js +241 -0
  5. package/lib/client-policy.js +82 -0
  6. package/lib/client.js +997 -1006
  7. package/lib/daily-rpc.js +161 -0
  8. package/lib/default-model.js +39 -0
  9. package/lib/index.js +1160 -73
  10. package/lib/orchestration.js +45 -75
  11. package/lib/provision-session.js +85 -0
  12. package/lib/provision.js +74 -24
  13. package/lib/types/ai-router-client.d.ts +255 -3
  14. package/lib/types/browser-login.d.ts +99 -0
  15. package/lib/types/client/account-cache.d.ts +46 -0
  16. package/lib/types/client/controller.d.ts +68 -0
  17. package/lib/types/client/daily-card.d.ts +29 -20
  18. package/lib/types/client/daily-data.d.ts +116 -0
  19. package/lib/types/client/hero-greeting.d.ts +13 -4
  20. package/lib/types/client/index.d.ts +1 -1
  21. package/lib/types/client/login-gate.d.ts +9 -0
  22. package/lib/types/client/session-cost.d.ts +119 -0
  23. package/lib/types/client/styles.d.ts +22 -4
  24. package/lib/types/client/types.d.ts +1 -1
  25. package/lib/types/client/usage-data.d.ts +276 -0
  26. package/lib/types/client/usage-section.d.ts +18 -0
  27. package/lib/types/client-policy.d.ts +51 -0
  28. package/lib/types/daily-rpc.d.ts +110 -0
  29. package/lib/types/default-model.d.ts +37 -0
  30. package/lib/types/index.d.ts +113 -0
  31. package/lib/types/orchestration.d.ts +28 -55
  32. package/lib/types/provision-session.d.ts +106 -0
  33. package/lib/types/provision.d.ts +48 -9
  34. package/lib/types/types.d.ts +12 -1
  35. package/lib/types/usage-rpc.d.ts +196 -0
  36. package/lib/usage-rpc.js +386 -0
  37. package/package.json +20 -16
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,13 +75,15 @@ 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");
82
84
  var hostHideCss = [
83
85
  `header [class*="sessionLogButton"] { display: none !important; }`,
86
+ `header [class*="moreButton"] { display: none !important; }`,
84
87
  `[class*="settingsArea"] [aria-haspopup="dialog"] { display: none !important; }`
85
88
  ].join("\n");
86
89
  var brandCss = [
@@ -106,6 +109,46 @@ var import_dsh_client_store = require("@deepseek-ai/dsh-client-store");
106
109
  var AI_ROUTER_NS = "ai-router";
107
110
  var AI_ROUTER_SECTION_LABEL = "\u7F51\u5173\u6A21\u578B";
108
111
  var PENDING_PASSWORD_REF = "AI_ROUTER_PENDING_PASSWORD";
112
+ function normalizeLoginMode(value) {
113
+ return value === "browser" || value === "form" ? value : "both";
114
+ }
115
+ function authorizeUrlOf(value) {
116
+ const url = value?.browserLogin?.authorizeUrl;
117
+ if (typeof url !== "string" || url === "") return void 0;
118
+ try {
119
+ const protocol = new URL(url).protocol;
120
+ return protocol === "https:" || protocol === "http:" ? url : void 0;
121
+ } catch {
122
+ return void 0;
123
+ }
124
+ }
125
+ function browserLoginPendingOf(value) {
126
+ return authorizeUrlOf(value) !== void 0 || value?.browserLoginRequest !== void 0;
127
+ }
128
+ function browserLoginViewOf(value) {
129
+ const loginMode = normalizeLoginMode(value?.loginMode);
130
+ if (loginMode === "form") return { loginMode, browserLoginUrl: void 0, browserLoginPending: false };
131
+ return { loginMode, browserLoginUrl: authorizeUrlOf(value), browserLoginPending: browserLoginPendingOf(value) };
132
+ }
133
+ function openAuthorizeUrl(url) {
134
+ if (url === void 0 || url === "") return;
135
+ if (typeof window === "undefined") return;
136
+ let protocol;
137
+ try {
138
+ protocol = new URL(url).protocol;
139
+ } catch {
140
+ return;
141
+ }
142
+ if (protocol !== "https:" && protocol !== "http:") return;
143
+ window.open(url, "_blank", "noopener,noreferrer");
144
+ }
145
+ async function requestBrowserLogin(scope) {
146
+ await scope.set("browserLoginRequest", { at: (/* @__PURE__ */ new Date()).toISOString() });
147
+ }
148
+ async function clearBrowserLogin(scope) {
149
+ await scope.unset("browserLoginRequest");
150
+ await scope.unset("browserLogin");
151
+ }
109
152
  function project(value) {
110
153
  const base = {
111
154
  status: "ready",
@@ -118,7 +161,8 @@ function project(value) {
118
161
  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
162
  budgets: value?.budgets,
120
163
  keys: value?.keys,
121
- activeKeyId: value?.keyId ?? value?.keys?.[0]?.id
164
+ activeKeyId: value?.keyId ?? value?.keys?.[0]?.id,
165
+ ...browserLoginViewOf(value)
122
166
  };
123
167
  if (value?.pendingLogin !== void 0) return { ...base, status: "logging-in" };
124
168
  if (value?.lastLogin !== void 0) {
@@ -143,7 +187,10 @@ var AiRouterCardController = class {
143
187
  warning: void 0,
144
188
  budgets: void 0,
145
189
  keys: void 0,
146
- activeKeyId: void 0
190
+ activeKeyId: void 0,
191
+ loginMode: "both",
192
+ browserLoginUrl: void 0,
193
+ browserLoginPending: false
147
194
  });
148
195
  const publish = () => {
149
196
  const snapshot = this.scope.getSnapshot();
@@ -160,7 +207,10 @@ var AiRouterCardController = class {
160
207
  submitLogin: (username, password) => this.submitLogin(username, password),
161
208
  refresh: () => this.refresh(),
162
209
  logout: () => this.logout(),
163
- selectKey: (keyId) => this.selectKey(keyId)
210
+ selectKey: (keyId) => this.selectKey(keyId),
211
+ startBrowserLogin: () => this.startBrowserLogin(),
212
+ cancelBrowserLogin: () => this.cancelBrowserLogin(),
213
+ reopenBrowserLogin: () => this.reopenBrowserLogin()
164
214
  }
165
215
  };
166
216
  }
@@ -179,6 +229,16 @@ var AiRouterCardController = class {
179
229
  async logout() {
180
230
  await this.scope.set("logoutRequest", { at: (/* @__PURE__ */ new Date()).toISOString() });
181
231
  }
232
+ async startBrowserLogin() {
233
+ await requestBrowserLogin(this.scope);
234
+ }
235
+ async cancelBrowserLogin() {
236
+ await clearBrowserLogin(this.scope);
237
+ }
238
+ /** 重新打开授权页:URL 取自最近一次投影,缺省 no-op(登录门禁另有自动打开)。 */
239
+ reopenBrowserLogin() {
240
+ openAuthorizeUrl(this.store.getSnapshot().browserLoginUrl);
241
+ }
182
242
  };
183
243
 
184
244
  // src/client/section.tsx
@@ -776,933 +836,138 @@ function AboutSection(_props) {
776
836
  ] });
777
837
  }
778
838
 
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
- ]
839
+ // src/client/daily-data.ts
840
+ var DAILY_CHANNEL = "/hiwork-daily";
841
+ var DAILY_FAILURE_TTL_MS = 5 * 6e4;
842
+ var DailyRpcError = class extends Error {
843
+ constructor(code, message) {
844
+ super(message);
845
+ this.code = code;
846
+ this.name = "DailyRpcError";
1698
847
  }
1699
- ];
1700
- function dayIndex(date = /* @__PURE__ */ new Date()) {
1701
- return Math.floor(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) / 864e5);
848
+ };
849
+ function unwrapDailyResult(value) {
850
+ if (typeof value !== "object" || value === null || !("ok" in value)) {
851
+ throw new DailyRpcError("internal", "\u6BCF\u65E5\u4E00\u53E5\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
852
+ }
853
+ const result = value;
854
+ if (result.ok === true) return result.value;
855
+ if (result.ok === false) {
856
+ const code = typeof result.error?.code === "string" ? result.error.code : "internal";
857
+ 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";
858
+ throw new DailyRpcError(code, message);
859
+ }
860
+ throw new DailyRpcError("internal", "\u6BCF\u65E5\u4E00\u53E5\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
1702
861
  }
1703
- function pickToday(date = /* @__PURE__ */ new Date()) {
1704
- return DAILY_ITEMS[dayIndex(date) % DAILY_ITEMS.length];
862
+ var DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
863
+ function optionalText(value) {
864
+ return typeof value === "string" ? value.trim() : "";
1705
865
  }
866
+ function bodyParagraphs(value) {
867
+ if (!Array.isArray(value)) return [];
868
+ return value.filter((para) => typeof para === "string" && para.trim() !== "");
869
+ }
870
+ function parseQuoteItem(value) {
871
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
872
+ const record = value;
873
+ const id = record["id"];
874
+ if (typeof id !== "number" || !Number.isInteger(id) || id <= 0) return void 0;
875
+ const content = optionalText(record["content"]);
876
+ if (content === "") return void 0;
877
+ return {
878
+ id,
879
+ content,
880
+ subtitle: optionalText(record["subtitle"]),
881
+ title: optionalText(record["title"]),
882
+ source: optionalText(record["source"]),
883
+ body: bodyParagraphs(record["body"])
884
+ };
885
+ }
886
+ function parseTodayResponse(value) {
887
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
888
+ const record = value;
889
+ const date = record["date"];
890
+ if (typeof date !== "string" || !DATE_PATTERN.test(date)) return void 0;
891
+ const rawItem = record["item"];
892
+ if (rawItem === null) return { date, item: null };
893
+ const item = parseQuoteItem(rawItem);
894
+ return item === void 0 ? void 0 : { date, item };
895
+ }
896
+ function parseRandomResponse(value) {
897
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
898
+ const record = value;
899
+ const rawItem = record["item"];
900
+ if (rawItem === null) return { item: null };
901
+ const item = parseQuoteItem(rawItem);
902
+ return item === void 0 ? void 0 : { item };
903
+ }
904
+ function localDayIndex(date = /* @__PURE__ */ new Date()) {
905
+ return Math.floor(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) / 864e5);
906
+ }
907
+ var DailyDataStore = class {
908
+ constructor(rpc, options = {}) {
909
+ this.rpc = rpc;
910
+ this.now = options.now ?? (() => Date.now());
911
+ this.localDay = options.localDay ?? (() => localDayIndex());
912
+ this.failureTtlMs = options.failureTtlMs ?? DAILY_FAILURE_TTL_MS;
913
+ }
914
+ entry;
915
+ failureAt;
916
+ pending;
917
+ now;
918
+ localDay;
919
+ failureTtlMs;
920
+ /** 清空缓存与防抖状态(登出 / 换账号时调用)。 */
921
+ clear() {
922
+ this.entry = void 0;
923
+ this.failureAt = void 0;
924
+ this.pending = void 0;
925
+ }
926
+ /**
927
+ * 当日条目:同一本地日内命中缓存直接返回(不发 RPC);失败防抖期内返回 null 不
928
+ * 重复打网关;并发调用合并为同一次 RPC。返回 null 即「暂无可展示内容」。
929
+ */
930
+ async getToday() {
931
+ const day = this.localDay();
932
+ if (this.entry !== void 0 && this.entry.day === day) return this.entry.view;
933
+ if (this.failureAt !== void 0 && this.now() - this.failureAt < this.failureTtlMs) return null;
934
+ if (this.pending === void 0) {
935
+ this.pending = this.fetchToday(day).finally(() => {
936
+ this.pending = void 0;
937
+ });
938
+ }
939
+ return await this.pending;
940
+ }
941
+ /**
942
+ * 换一句:排除当前条目的随机条目;**永不入缓存**(与「临时预览」语义一致),
943
+ * 失败 / 暂无随机条目返回 null(视图保持当前条目、无任何提示)。
944
+ */
945
+ async getRandom(excludeId) {
946
+ try {
947
+ const payload = excludeId === void 0 ? {} : { excludeId };
948
+ const raw = await this.rpc.call(DAILY_CHANNEL, "random", payload);
949
+ const response = parseRandomResponse(unwrapDailyResult(raw));
950
+ return response?.item ?? null;
951
+ } catch {
952
+ return null;
953
+ }
954
+ }
955
+ /** 单次 today 拉取:成功(含池空)写缓存;任何失败进入 5 分钟防抖并返回 null。 */
956
+ async fetchToday(day) {
957
+ try {
958
+ const raw = await this.rpc.call(DAILY_CHANNEL, "today", {});
959
+ const response = parseTodayResponse(unwrapDailyResult(raw));
960
+ if (response === void 0) throw new DailyRpcError("internal", "\u6BCF\u65E5\u4E00\u53E5\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
961
+ this.failureAt = void 0;
962
+ const view = response.item === null ? null : { ...response.item, date: response.date };
963
+ this.entry = { view, day };
964
+ return view;
965
+ } catch {
966
+ this.failureAt = this.now();
967
+ return null;
968
+ }
969
+ }
970
+ };
1706
971
 
1707
972
  // src/client/hero-greeting.ts
1708
973
  var HERO_GREETINGS = [
@@ -1723,7 +988,7 @@ var HERO_STYLE = `
1723
988
  [class*="_fishHitbox"],
1724
989
  [class*="_previewBadge"]{display:none}
1725
990
  [class*="_headline"]:not([class*="_headlineText"]){display:flex;justify-content:center;align-items:center;column-gap:0}
1726
- [class*="_headlineText"]{font-size:0}
991
+ [class*="_headlineText"],[class*="_titleGroup"]>span:not([class]){font-size:0}
1727
992
  [data-hiwork-hero-greeting]{font-size:26px;line-height:32px;font-weight:500}
1728
993
  `;
1729
994
  function ensureHeroStyle(doc = document) {
@@ -1742,20 +1007,26 @@ function pickHeroGreeting() {
1742
1007
  lastGreetingIndex = index;
1743
1008
  return HERO_GREETINGS[index];
1744
1009
  }
1010
+ function resolveHeroGreetingAnchor(root = document) {
1011
+ const hero = root.querySelector('[data-phase="hero"]');
1012
+ if (hero === null) return null;
1013
+ const legacy = hero.querySelector('[class$="_headlineText"]');
1014
+ if (legacy !== null) return legacy;
1015
+ return hero.querySelector('[class$="_titleGroup"]');
1016
+ }
1745
1017
  function decorateHeroGreeting(doc) {
1746
- const hero = doc.querySelector('[data-phase="hero"]');
1747
- const text = hero?.querySelector('[class$="_headlineText"]') ?? null;
1748
- if (hero === null || text === null) {
1018
+ const anchor = resolveHeroGreetingAnchor(doc);
1019
+ if (anchor === null) {
1749
1020
  removeStaleHeroGreeting(doc);
1750
1021
  return;
1751
1022
  }
1752
- const next = text.nextElementSibling;
1023
+ const next = anchor.nextElementSibling;
1753
1024
  if (next !== null && next.hasAttribute("data-hiwork-hero-greeting")) return;
1754
1025
  removeStaleHeroGreeting(doc);
1755
1026
  const span = doc.createElement("span");
1756
1027
  span.dataset.hiworkHeroGreeting = "";
1757
1028
  span.textContent = `${HERO_GREETING_PREFIX}${pickHeroGreeting()}`;
1758
- text.after(span);
1029
+ anchor.after(span);
1759
1030
  }
1760
1031
  function removeStaleHeroGreeting(doc) {
1761
1032
  for (const stale of Array.from(doc.querySelectorAll("[data-hiwork-hero-greeting]"))) stale.remove();
@@ -1815,16 +1086,8 @@ function findDailyCardMount(doc) {
1815
1086
  return headline;
1816
1087
  }
1817
1088
  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];
1089
+ function modalHeadline(item) {
1090
+ return item.title !== "" ? item.title : item.content;
1828
1091
  }
1829
1092
  function createRefreshIcon(doc) {
1830
1093
  const svg = doc.createElementNS("http://www.w3.org/2000/svg", "svg");
@@ -1845,10 +1108,10 @@ function createRefreshIcon(doc) {
1845
1108
  }
1846
1109
  return svg;
1847
1110
  }
1848
- function buildCard(doc, item) {
1111
+ function buildCard(doc, initial, date, quotes) {
1849
1112
  const root = doc.createElement("div");
1850
1113
  root.dataset.dcuDailyCard = "";
1851
- root.dataset.day = String(dayIndex());
1114
+ root.dataset.date = date;
1852
1115
  root.tabIndex = 0;
1853
1116
  root.setAttribute("role", "button");
1854
1117
  const prefix = doc.createElement("span");
@@ -1862,31 +1125,34 @@ function buildCard(doc, item) {
1862
1125
  shuffle.setAttribute("aria-label", "\u6362\u4E00\u53E5");
1863
1126
  shuffle.append(createRefreshIcon(doc), doc.createTextNode("\u6362\u4E00\u53E5"));
1864
1127
  root.append(prefix, main, shuffle);
1865
- let current = item;
1128
+ let current = initial;
1866
1129
  const applyItem = (next) => {
1867
1130
  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}`);
1131
+ prefix.textContent = next.subtitle;
1132
+ prefix.hidden = next.subtitle === "";
1133
+ main.textContent = next.content;
1134
+ root.setAttribute("aria-label", `\u6BCF\u65E5\u4E00\u53E5\uFF1A${modalHeadline(next)}`);
1872
1135
  };
1873
- applyItem(item);
1136
+ applyItem(initial);
1874
1137
  root.addEventListener("click", (e) => {
1875
1138
  e.preventDefault();
1876
1139
  e.stopPropagation();
1877
- openDailyModal(doc, current);
1140
+ openDailyModal(doc, current, date);
1878
1141
  });
1879
1142
  root.addEventListener("keydown", (e) => {
1880
1143
  if (e.key === "Enter" || e.key === " ") {
1881
1144
  e.preventDefault();
1882
1145
  e.stopPropagation();
1883
- openDailyModal(doc, current);
1146
+ openDailyModal(doc, current, date);
1884
1147
  }
1885
1148
  });
1886
1149
  const shuffleToRandom = (e) => {
1887
1150
  e.preventDefault();
1888
1151
  e.stopPropagation();
1889
- applyItem(pickRandomItem(current));
1152
+ void quotes.getRandom(current.id).then((next) => {
1153
+ if (next !== null) applyItem(next);
1154
+ }).catch(() => {
1155
+ });
1890
1156
  };
1891
1157
  shuffle.addEventListener("click", shuffleToRandom);
1892
1158
  shuffle.addEventListener("keydown", (e) => {
@@ -1894,27 +1160,30 @@ function buildCard(doc, item) {
1894
1160
  });
1895
1161
  return root;
1896
1162
  }
1897
- function buildDailyModal(doc, item) {
1163
+ function buildDailyModal(doc, item, date) {
1898
1164
  const mask = doc.createElement("div");
1899
1165
  mask.dataset.dcuDailyModal = "";
1900
1166
  mask.setAttribute("role", "dialog");
1901
1167
  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}`);
1168
+ mask.setAttribute("aria-label", `\u6BCF\u65E5\u4E00\u53E5\uFF1A${modalHeadline(item)}`);
1903
1169
  const box = doc.createElement("div");
1904
1170
  box.dataset.dcuDailyModalBox = "";
1905
1171
  const meta = doc.createElement("div");
1906
1172
  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);
1173
+ if (item.source !== "") {
1174
+ const attribution = doc.createElement("span");
1175
+ attribution.textContent = item.source;
1176
+ meta.append(attribution);
1177
+ }
1178
+ const dateSpan = doc.createElement("span");
1179
+ dateSpan.textContent = date;
1180
+ meta.append(dateSpan);
1912
1181
  const title = doc.createElement("div");
1913
1182
  title.dataset.dcuDailyModalTitle = "";
1914
- title.textContent = item.title;
1183
+ title.textContent = modalHeadline(item);
1915
1184
  const body = doc.createElement("div");
1916
1185
  body.dataset.dcuDailyModalBody = "";
1917
- for (const para of item.paragraphs) {
1186
+ for (const para of item.body) {
1918
1187
  const p = doc.createElement("p");
1919
1188
  p.dataset.dcuDailyModalPara = "";
1920
1189
  p.textContent = para;
@@ -1925,16 +1194,18 @@ function buildDailyModal(doc, item) {
1925
1194
  close.dataset.dcuDailyModalClose = "";
1926
1195
  close.textContent = "\u77E5\u9053\u4E86";
1927
1196
  close.addEventListener("click", () => closeDailyModal(doc));
1928
- box.append(meta, title, body, close);
1197
+ box.append(meta, title);
1198
+ if (item.body.length > 0) box.append(body);
1199
+ box.append(close);
1929
1200
  mask.append(box);
1930
1201
  mask.addEventListener("click", (e) => {
1931
1202
  if (e.target === mask) closeDailyModal(doc);
1932
1203
  });
1933
1204
  return mask;
1934
1205
  }
1935
- function openDailyModal(doc, item) {
1206
+ function openDailyModal(doc, item, date) {
1936
1207
  closeDailyModal(doc);
1937
- const mask = buildDailyModal(doc, item);
1208
+ const mask = buildDailyModal(doc, item, date);
1938
1209
  const onKey = (e) => {
1939
1210
  if (e.key === "Escape") {
1940
1211
  e.preventDefault();
@@ -1956,28 +1227,33 @@ function closeDailyModal(doc) {
1956
1227
  modalKeyHandlers.delete(doc);
1957
1228
  }
1958
1229
  }
1959
- function decorateDailyCard(doc) {
1230
+ function decorateDailyCard(doc, quotes) {
1960
1231
  const headline = findDailyCardMount(doc);
1961
- if (headline === null) {
1232
+ if (headline === null || headline.parentElement === null) {
1962
1233
  removeStaleDailyCard(doc);
1963
1234
  return;
1964
1235
  }
1965
- const parent = headline.parentElement;
1966
- if (parent === null) {
1236
+ void quotes.getToday().then((view) => {
1237
+ if (view === null) {
1238
+ removeStaleDailyCard(doc);
1239
+ return;
1240
+ }
1241
+ const anchor = findDailyCardMount(doc);
1242
+ const parent = anchor?.parentElement ?? null;
1243
+ if (anchor === null || parent === null) return;
1244
+ const prev = anchor.previousElementSibling;
1245
+ if (prev !== null && prev.hasAttribute("data-dcu-daily-card") && prev.dataset.date === view.date) return;
1967
1246
  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);
1247
+ const card = buildCard(doc, view, view.date, quotes);
1248
+ parent.insertBefore(card, anchor);
1249
+ }).catch(() => {
1250
+ });
1975
1251
  }
1976
1252
  function removeStaleDailyCard(doc) {
1977
1253
  closeDailyModal(doc);
1978
1254
  for (const stale of Array.from(doc.querySelectorAll("[data-dcu-daily-card]"))) stale.remove();
1979
1255
  }
1980
- function observeHeroDecorations(doc = document) {
1256
+ function observeHeroDecorations(doc, quotes) {
1981
1257
  if (doc.head === null) return () => {
1982
1258
  };
1983
1259
  ensureDailyCardStyle(doc);
@@ -1990,9 +1266,9 @@ function observeHeroDecorations(doc = document) {
1990
1266
  if (applying) return;
1991
1267
  applying = true;
1992
1268
  try {
1993
- const todayIdx = dayIndex();
1994
- if (todayIdx !== lastDailyDay) lastDailyDay = todayIdx;
1995
- decorateDailyCard(doc);
1269
+ const today = localDayIndex();
1270
+ if (today !== lastDailyDay) lastDailyDay = today;
1271
+ decorateDailyCard(doc, quotes);
1996
1272
  decorateHeroGreeting(doc);
1997
1273
  } finally {
1998
1274
  applying = false;
@@ -2006,7 +1282,7 @@ function observeHeroDecorations(doc = document) {
2006
1282
  const observer = new MutationObserver(sync);
2007
1283
  observer.observe(doc.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ["data-phase"] });
2008
1284
  const dayTimer = window.setInterval(() => {
2009
- if (dayIndex() !== lastDailyDay) sync();
1285
+ if (localDayIndex() !== lastDailyDay) sync();
2010
1286
  }, 6e4);
2011
1287
  return () => {
2012
1288
  window.clearInterval(dayTimer);
@@ -2123,6 +1399,22 @@ var linkButton = { background: "transparent", border: "none", cursor: "pointer",
2123
1399
  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
1400
  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
1401
  var footStyle = { margin: "2px 0 0", fontSize: 11, color: INK_CAPTION, textAlign: "center", letterSpacing: 0.1 };
1402
+ var browserHintStyle = { margin: 0, fontSize: 12, lineHeight: 1.6, color: INK_CAPTION, textAlign: "center" };
1403
+ var browserActionsStyle = { display: "flex", alignItems: "center", justifyContent: "center", gap: 18 };
1404
+ var toggleStyle = { ...linkButton, alignSelf: "center", fontSize: 12.5 };
1405
+ function describeLoginError(error) {
1406
+ if (error === void 0) return void 0;
1407
+ 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";
1408
+ const message = typeof error.message === "string" ? error.message.trim() : "";
1409
+ if (message !== "") return message;
1410
+ const fallback = {
1411
+ 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",
1412
+ RATE_LIMITED: "\u767B\u5F55\u5C1D\u8BD5\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",
1413
+ SESSION_EXPIRED: "\u767B\u5F55\u72B6\u6001\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",
1414
+ NO_KEY_ASSIGNED: "\u5F53\u524D\u8D26\u53F7\u5C1A\u672A\u88AB\u5206\u914D\u865A\u62DF KEY\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"
1415
+ };
1416
+ return fallback[error.code];
1417
+ }
2126
1418
  var WAVE_LAYERS = [
2127
1419
  // 每条路径首尾都回到同一高度,并以水平切线收尾,平铺时不会出现断层或急坠。
2128
1420
  { 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 +1462,15 @@ function LoginGateModal(props) {
2170
1462
  const [password, setPassword] = (0, import_react4.useState)("");
2171
1463
  const [rememberPassword, setRememberPassword] = (0, import_react4.useState)(props.initialRememberPassword === true);
2172
1464
  const [submitError, setSubmitError] = (0, import_react4.useState)();
1465
+ const [formOpen, setFormOpen] = (0, import_react4.useState)(false);
1466
+ (0, import_react4.useEffect)(() => {
1467
+ openAuthorizeUrl(props.browserLoginUrl);
1468
+ }, [props.browserLoginUrl]);
1469
+ const showBrowserLogin = props.loginMode !== "form";
1470
+ const waiting = showBrowserLogin && props.browserLoginPending;
1471
+ const formVisible = props.loginMode === "form" || formOpen;
2173
1472
  const noKey = props.lastError?.code === "NO_KEY_ASSIGNED";
2174
- const error = props.lastError?.message ?? submitError;
1473
+ const error = describeLoginError(props.lastError) ?? submitError;
2175
1474
  const loginDisabled = props.loggingIn || username === "" || password === "";
2176
1475
  const submit = () => {
2177
1476
  if (loginDisabled) return;
@@ -2182,6 +1481,30 @@ function LoginGateModal(props) {
2182
1481
  event.preventDefault();
2183
1482
  submit();
2184
1483
  };
1484
+ const browserLogin = showBrowserLogin ? waiting ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1485
+ /* @__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" }),
1486
+ /* @__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" }),
1487
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: browserActionsStyle, children: [
1488
+ 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" }),
1489
+ /* @__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" })
1490
+ ] })
1491
+ ] }) : /* @__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;
1492
+ const form = formVisible ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("form", { onSubmit, style: { display: "flex", flexDirection: "column", gap: 14 }, children: [
1493
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: fieldStyle, children: [
1494
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: "hiwork-core-username", style: labelStyle, children: "\u7528\u6237\u540D" }),
1495
+ /* @__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 })
1496
+ ] }),
1497
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: fieldStyle, children: [
1498
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("label", { htmlFor: "hiwork-core-password", style: labelStyle, children: "\u5BC6\u7801" }),
1499
+ /* @__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 })
1500
+ ] }),
1501
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: { display: "flex", alignItems: "center", gap: 8, fontSize: 12, color: INK_SECONDARY, cursor: "pointer" }, children: [
1502
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { type: "checkbox", checked: rememberPassword, onChange: (e) => setRememberPassword(e.target.checked) }),
1503
+ "\u8BB0\u4F4F\u5BC6\u7801\uFF0C\u4E0B\u6B21\u81EA\u52A8\u767B\u5F55"
1504
+ ] }),
1505
+ /* @__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" }),
1506
+ 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
1507
+ ] }) : /* @__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
1508
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: overlayStyle, children: [
2186
1509
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(OceanWaves, {}),
2187
1510
  /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("main", { id: "hiwork-core-frame", "data-hiwork-core-frame": true, style: contentFrameStyle, children: [
@@ -2210,22 +1533,9 @@ function LoginGateModal(props) {
2210
1533
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: headlineStyle, children: "\u6D77\u666E\u4F01\u4E1A\u667A\u80FD\u529E\u516C\u5E73\u53F0" })
2211
1534
  ] }),
2212
1535
  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
- ] }),
1536
+ browserLogin,
1537
+ form,
1538
+ 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
1539
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: footStyle, children: "\u4F01\u4E1A\u7EDF\u4E00\u8EAB\u4EFD\u8BA4\u8BC1 \xB7 LDAP" })
2230
1540
  ] })
2231
1541
  ] })
@@ -2252,6 +1562,7 @@ function mountLoginGate(scope, storeCredential) {
2252
1562
  unmount();
2253
1563
  return;
2254
1564
  }
1565
+ const value = snapshot.status === "ready" ? snapshot.value : void 0;
2255
1566
  if (root === void 0) {
2256
1567
  gateContainer = document.createElement("div");
2257
1568
  gateContainer.dataset.hiworkCoreGate = "true";
@@ -2260,7 +1571,7 @@ function mountLoginGate(scope, storeCredential) {
2260
1571
  root = (0, import_client.createRoot)(gateContainer);
2261
1572
  if (appRoot !== null) appRoot.inert = true;
2262
1573
  }
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 }));
1574
+ 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
1575
  };
2265
1576
  render();
2266
1577
  const dispose = scope.subscribe(() => render());
@@ -2270,6 +1581,665 @@ function mountLoginGate(scope, storeCredential) {
2270
1581
  };
2271
1582
  }
2272
1583
 
1584
+ // src/client/usage-section.tsx
1585
+ var import_react5 = require("react");
1586
+
1587
+ // src/client/usage-data.ts
1588
+ var USAGE_CHANNEL = "/hiwork-usage";
1589
+ var USAGE_CACHE_TTL_MS = 5 * 6e4;
1590
+ var USAGE_TREND_RANGE = "30d";
1591
+ var USAGE_TODAY_RANGE = "today";
1592
+ var USAGE_MONTH_RANGE = "mtd";
1593
+ 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";
1594
+ var USAGE_STALE_TEXT = "\u6570\u636E\u53EF\u80FD\u4E0D\u662F\u6700\u65B0";
1595
+ var USAGE_UNAVAILABLE_TEXT = "\u7528\u91CF\u6570\u636E\u6682\u4E0D\u53EF\u7528";
1596
+ var USAGE_LOADING_TEXT = "\u6B63\u5728\u52A0\u8F7D\u7528\u91CF\u6570\u636E\u2026";
1597
+ var USAGE_EMPTY_TEXT = "\u6682\u65E0\u7528\u91CF\u8BB0\u5F55";
1598
+ var USAGE_NO_RECHARGE_TEXT = "\u6682\u65E0\u5145\u503C\u8BB0\u5F55";
1599
+ var USAGE_MISSING_TEXT = "\u2014";
1600
+ var EMPTY_USAGE_DATA = {
1601
+ summary: void 0,
1602
+ summaryMonth: void 0,
1603
+ trends: void 0,
1604
+ modelTrends: void 0,
1605
+ recharges: void 0,
1606
+ keys: void 0,
1607
+ key: void 0
1608
+ };
1609
+ var UsageRpcError = class extends Error {
1610
+ constructor(code, message) {
1611
+ super(message);
1612
+ this.code = code;
1613
+ this.name = "UsageRpcError";
1614
+ }
1615
+ };
1616
+ function unwrapUsageResult(value) {
1617
+ if (typeof value !== "object" || value === null || !("ok" in value)) {
1618
+ throw new UsageRpcError("internal", "\u7528\u91CF\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
1619
+ }
1620
+ const result = value;
1621
+ if (result.ok === true) return result.value;
1622
+ if (result.ok === false) {
1623
+ const code = typeof result.error?.code === "string" ? result.error.code : "internal";
1624
+ 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";
1625
+ throw new UsageRpcError(code, message);
1626
+ }
1627
+ throw new UsageRpcError("internal", "\u7528\u91CF\u4E3B\u673A\u8FD4\u56DE\u4E86\u65E0\u6548\u54CD\u5E94\u3002");
1628
+ }
1629
+ function usageErrorOf(error) {
1630
+ if (error instanceof UsageRpcError) return { code: error.code, message: error.message };
1631
+ return { code: "internal", message: "\u7528\u91CF\u6570\u636E\u6682\u65F6\u65E0\u6CD5\u83B7\u53D6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5" };
1632
+ }
1633
+ function usageCacheKey(keyId, range) {
1634
+ return `${keyId ?? ""}\0${range}`;
1635
+ }
1636
+ function usageEndpointPlans(input) {
1637
+ const keyId = input.keyId;
1638
+ const keyPayload = keyId === void 0 ? {} : { keyId };
1639
+ return [
1640
+ { endpoint: "summary", field: "summary", payload: { ...keyPayload, range: USAGE_TODAY_RANGE } },
1641
+ { endpoint: "summary", field: "summaryMonth", payload: { ...keyPayload, range: USAGE_MONTH_RANGE } },
1642
+ { endpoint: "trends", field: "trends", payload: { ...keyPayload, range: input.range } },
1643
+ { endpoint: "model-trends", field: "modelTrends", payload: { ...keyPayload, range: input.range } },
1644
+ { endpoint: "recharges", field: "recharges", payload: { ...keyPayload } },
1645
+ { endpoint: "keys", field: "keys", payload: {} },
1646
+ { endpoint: "key", field: "key", payload: { ...keyPayload } }
1647
+ ];
1648
+ }
1649
+ function isMonthRangeSupported(value) {
1650
+ if (typeof value !== "object" || value === null) return false;
1651
+ return value.range === USAGE_MONTH_RANGE;
1652
+ }
1653
+ var UsageDataStore = class {
1654
+ constructor(rpc, options = {}) {
1655
+ this.rpc = rpc;
1656
+ this.now = options.now ?? (() => Date.now());
1657
+ this.ttlMs = options.ttlMs ?? USAGE_CACHE_TTL_MS;
1658
+ }
1659
+ entries = /* @__PURE__ */ new Map();
1660
+ now;
1661
+ ttlMs;
1662
+ /** 当前缓存条目数(测试断言用)。 */
1663
+ get size() {
1664
+ return this.entries.size;
1665
+ }
1666
+ /** 清空缓存(例如登出、切换账号)。 */
1667
+ clear() {
1668
+ this.entries.clear();
1669
+ }
1670
+ async load(input = {}) {
1671
+ const range = input.range ?? USAGE_TREND_RANGE;
1672
+ const cacheKey = usageCacheKey(input.keyId, range);
1673
+ const now = this.now();
1674
+ const previous = this.entries.get(cacheKey);
1675
+ if (input.force !== true && previous !== void 0 && now - previous.fetchedAt < this.ttlMs) {
1676
+ return {
1677
+ data: previous.data,
1678
+ stale: previous.stale,
1679
+ unavailable: false,
1680
+ error: void 0,
1681
+ fetchedAt: previous.fetchedAt,
1682
+ cached: true
1683
+ };
1684
+ }
1685
+ const plans = usageEndpointPlans({ keyId: input.keyId, range });
1686
+ const settled = (await Promise.all(plans.map(async (plan) => {
1687
+ try {
1688
+ const raw = await this.rpc.call(USAGE_CHANNEL, plan.endpoint, plan.payload, input.signal);
1689
+ return { plan, ok: true, value: unwrapUsageResult(raw) };
1690
+ } catch (error) {
1691
+ return { plan, ok: false, error: usageErrorOf(error) };
1692
+ }
1693
+ }))).map(withMonthRangeGuard);
1694
+ const failures = settled.filter((entry) => !entry.ok);
1695
+ if (failures.length === settled.length) {
1696
+ this.entries.delete(cacheKey);
1697
+ return {
1698
+ data: EMPTY_USAGE_DATA,
1699
+ stale: true,
1700
+ unavailable: true,
1701
+ error: failures[0]?.error,
1702
+ fetchedAt: void 0,
1703
+ cached: false
1704
+ };
1705
+ }
1706
+ const data = { ...previous?.data ?? EMPTY_USAGE_DATA };
1707
+ for (const entry of settled) {
1708
+ if (entry.ok) assignField(data, entry.plan.field, entry.value);
1709
+ }
1710
+ const result = { data, fetchedAt: now, stale: failures.length > 0 };
1711
+ this.entries.set(cacheKey, result);
1712
+ return {
1713
+ data,
1714
+ stale: result.stale,
1715
+ unavailable: false,
1716
+ error: failures[0]?.error,
1717
+ fetchedAt: now,
1718
+ cached: false
1719
+ };
1720
+ }
1721
+ };
1722
+ function withMonthRangeGuard(entry) {
1723
+ if (entry.plan.field !== "summaryMonth" || !entry.ok) return entry;
1724
+ const value = entry.value;
1725
+ if (isMonthRangeSupported(value)) return entry;
1726
+ return {
1727
+ plan: entry.plan,
1728
+ ok: false,
1729
+ error: { code: "RANGE_UNSUPPORTED", message: USAGE_MONTH_RANGE_UNSUPPORTED }
1730
+ };
1731
+ }
1732
+ function assignField(data, field, value) {
1733
+ switch (field) {
1734
+ case "summary":
1735
+ data.summary = value;
1736
+ return;
1737
+ case "summaryMonth":
1738
+ data.summaryMonth = value;
1739
+ return;
1740
+ case "trends":
1741
+ data.trends = value;
1742
+ return;
1743
+ case "modelTrends":
1744
+ data.modelTrends = value;
1745
+ return;
1746
+ case "recharges":
1747
+ data.recharges = value;
1748
+ return;
1749
+ case "keys":
1750
+ data.keys = value;
1751
+ return;
1752
+ case "key":
1753
+ data.key = value;
1754
+ return;
1755
+ }
1756
+ }
1757
+ function formatYuan(value) {
1758
+ if (value === void 0 || value === null || !Number.isFinite(value)) return USAGE_MISSING_TEXT;
1759
+ return `\xA5${value.toLocaleString("zh-CN", { maximumFractionDigits: 4 })}`;
1760
+ }
1761
+ function sum(values) {
1762
+ return values.reduce((total, value) => total + value, 0);
1763
+ }
1764
+ function todayCostOf(summary) {
1765
+ if (summary === void 0 || !Array.isArray(summary.items)) return void 0;
1766
+ return sum(summary.items.map((item) => numberOrZero(item.total_cost)));
1767
+ }
1768
+ function periodDate(period) {
1769
+ const parsed = new Date(period);
1770
+ return Number.isNaN(parsed.getTime()) ? void 0 : parsed;
1771
+ }
1772
+ function monthToDateOf(summary) {
1773
+ if (summary === void 0 || !Array.isArray(summary.items) || !isMonthRangeSupported(summary)) return void 0;
1774
+ return {
1775
+ cost: sum(summary.items.map((item) => numberOrZero(item.total_cost))),
1776
+ requests: sum(summary.items.map((item) => numberOrZero(item.request_count)))
1777
+ };
1778
+ }
1779
+ function remainingBudgetOf(key) {
1780
+ if (key === void 0 || !Array.isArray(key.budgets)) return void 0;
1781
+ const values = key.budgets.map((budget) => budget.remaining_budget).filter((value) => typeof value === "number" && Number.isFinite(value));
1782
+ if (values.length === 0) return void 0;
1783
+ return sum(values);
1784
+ }
1785
+ function modelDistributionOf(modelTrends) {
1786
+ if (modelTrends === void 0 || !Array.isArray(modelTrends.trends)) return [];
1787
+ const byModel = /* @__PURE__ */ new Map();
1788
+ for (const point of modelTrends.trends) {
1789
+ const breakdown = point.breakdown;
1790
+ if (!Array.isArray(breakdown)) continue;
1791
+ for (const entry of breakdown) {
1792
+ const name = typeof entry.name === "string" && entry.name !== "" ? entry.name : "\u672A\u77E5\u6A21\u578B";
1793
+ const row = byModel.get(name) ?? { model: name, totalCost: 0, requestCount: 0, totalTokens: 0 };
1794
+ row.totalCost += numberOrZero(entry.total_cost);
1795
+ row.requestCount += numberOrZero(entry.request_count);
1796
+ row.totalTokens += numberOrZero(entry.total_tokens);
1797
+ byModel.set(name, row);
1798
+ }
1799
+ }
1800
+ return [...byModel.values()].sort((left, right) => right.totalCost - left.totalCost || left.model.localeCompare(right.model));
1801
+ }
1802
+ function trendPointsOf(trends) {
1803
+ if (trends === void 0 || !Array.isArray(trends.trends)) return [];
1804
+ return [...trends.trends].filter((point) => periodDate(point.period) !== void 0).sort((left, right) => (periodDate(left.period)?.getTime() ?? 0) - (periodDate(right.period)?.getTime() ?? 0));
1805
+ }
1806
+ function rechargesOf(recharges) {
1807
+ if (recharges === void 0 || !Array.isArray(recharges)) return [];
1808
+ return [...recharges].sort((left, right) => {
1809
+ const leftTime = new Date(left.created_at).getTime();
1810
+ const rightTime = new Date(right.created_at).getTime();
1811
+ if (Number.isNaN(leftTime) || Number.isNaN(rightTime)) return 0;
1812
+ return rightTime - leftTime;
1813
+ });
1814
+ }
1815
+ function numberOrZero(value) {
1816
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
1817
+ }
1818
+
1819
+ // src/client/usage-section.tsx
1820
+ var import_jsx_runtime6 = require("react/jsx-runtime");
1821
+ var sectionStyle3 = { display: "flex", flexDirection: "column", gap: 20 };
1822
+ var headerStyle = { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 12, flexWrap: "wrap" };
1823
+ var titleStyle2 = { margin: 0, fontSize: 18, fontWeight: 600, color: textPrimary };
1824
+ var headerActionsStyle = { display: "flex", alignItems: "center", gap: 8 };
1825
+ var selectStyle = {
1826
+ boxSizing: "border-box",
1827
+ maxWidth: 260,
1828
+ height: 30,
1829
+ padding: "0 8px",
1830
+ border: `1px solid ${borderL2}`,
1831
+ borderRadius: 8,
1832
+ background: bgLayer2,
1833
+ color: textPrimary,
1834
+ font: "inherit",
1835
+ fontSize: 12
1836
+ };
1837
+ var bannerStyle = {
1838
+ display: "flex",
1839
+ alignItems: "center",
1840
+ gap: 8,
1841
+ padding: "8px 10px",
1842
+ borderRadius: 8,
1843
+ fontSize: 12,
1844
+ lineHeight: "18px",
1845
+ color: warnText,
1846
+ background: warnFill
1847
+ };
1848
+ var errorBannerStyle = { ...bannerStyle, color: errorText };
1849
+ var gridStyle = { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(150px, 1fr))", gap: 10 };
1850
+ var cardStyle2 = {
1851
+ display: "flex",
1852
+ flexDirection: "column",
1853
+ gap: 6,
1854
+ padding: "12px 14px",
1855
+ border: `1px solid ${borderL2}`,
1856
+ borderRadius: 10,
1857
+ background: bgLayer2
1858
+ };
1859
+ var cardLabelStyle = { fontSize: 12, color: textSecondary };
1860
+ var cardValueStyle = { fontSize: 20, fontWeight: 600, color: textPrimary, lineHeight: "26px" };
1861
+ var blockStyle = { display: "flex", flexDirection: "column", gap: 10 };
1862
+ var blockTitleStyle = { margin: 0, fontSize: 14, fontWeight: 600, color: textSecondary };
1863
+ var noteStyle = { margin: 0, fontSize: 12, lineHeight: "18px", color: textTertiary };
1864
+ var emptyStyle = { margin: 0, fontSize: 12, color: textTertiary };
1865
+ var listStyle = { display: "flex", flexDirection: "column", gap: 8, margin: 0, padding: 0, listStyle: "none" };
1866
+ var listRowStyle = { display: "flex", alignItems: "center", gap: 10, fontSize: 12 };
1867
+ var listNameStyle = { flex: "0 0 40%", minWidth: 0, color: textPrimary, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" };
1868
+ var listBarTrackStyle = { flex: 1, height: 6, borderRadius: 3, background: bgLayer2, overflow: "hidden" };
1869
+ var listBarFillStyle = (pct) => ({ height: "100%", width: `${pct}%`, background: brandAccent, borderRadius: 3 });
1870
+ var listValueStyle = { flex: "0 0 auto", color: textSecondary, fontVariantNumeric: "tabular-nums" };
1871
+ var chartStyle = { display: "flex", alignItems: "flex-end", gap: 2, height: 72, padding: "0 0 2px", borderBottom: `1px solid ${borderL2}` };
1872
+ var barStyle = (pct) => ({
1873
+ flex: 1,
1874
+ minWidth: 2,
1875
+ height: `${pct}%`,
1876
+ minHeight: 2,
1877
+ background: pct > 0 ? brandAccent : borderL2,
1878
+ borderRadius: "2px 2px 0 0"
1879
+ });
1880
+ var tableStyle = { width: "100%", borderCollapse: "collapse", fontSize: 12, color: textPrimary };
1881
+ var thStyle = { textAlign: "left", padding: "6px 8px", borderBottom: `1px solid ${borderL2}`, color: textSecondary, fontWeight: 500 };
1882
+ var tdStyle = { padding: "6px 8px", borderBottom: `1px solid ${borderL2}`, color: textSecondary };
1883
+ var amountStyle = { ...tdStyle, color: textPrimary, fontVariantNumeric: "tabular-nums" };
1884
+ var footStyle2 = { margin: 0, fontSize: 11, lineHeight: "16px", color: textCaption };
1885
+ var RECHARGE_LIMIT = 10;
1886
+ function keyLabel2(key) {
1887
+ const base = key.key_masked ?? key.employee_name ?? `${key.id.slice(0, 8)}\u2026`;
1888
+ const team = key.team_name !== void 0 && key.team_name !== "" ? `\uFF08${key.team_name}\uFF09` : "";
1889
+ const disabled = key.enabled === false ? " \xB7 \u5DF2\u7981\u7528" : "";
1890
+ return `${base}${team}${disabled}`;
1891
+ }
1892
+ function rechargeTypeLabel(type) {
1893
+ if (type === "manual") return "\u624B\u52A8\u5145\u503C";
1894
+ if (type === "auto_rule") return "\u81EA\u52A8\u5145\u503C";
1895
+ return type === "" ? USAGE_MISSING_TEXT : type;
1896
+ }
1897
+ function rechargeTime(createdAt) {
1898
+ const date = new Date(createdAt);
1899
+ if (Number.isNaN(date.getTime())) return USAGE_MISSING_TEXT;
1900
+ return date.toLocaleString("zh-CN", { hour12: false });
1901
+ }
1902
+ function KpiCard({ label, value }) {
1903
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: cardStyle2, "data-hiwork-usage-kpi": label, children: [
1904
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: cardLabelStyle, children: label }),
1905
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: cardValueStyle, children: value })
1906
+ ] });
1907
+ }
1908
+ function RatioRow({ name, value, pct }) {
1909
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("li", { style: listRowStyle, children: [
1910
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listNameStyle, title: name, children: name }),
1911
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listBarTrackStyle, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listBarFillStyle(pct) }) }),
1912
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: listValueStyle, children: value })
1913
+ ] });
1914
+ }
1915
+ function UsageSection(props) {
1916
+ const card = props.useAiRouterCard((snapshot) => snapshot);
1917
+ const [selectedKeyId, setSelectedKeyId] = (0, import_react5.useState)(void 0);
1918
+ const [result, setResult] = (0, import_react5.useState)(void 0);
1919
+ const [loading, setLoading] = (0, import_react5.useState)(true);
1920
+ const alive = (0, import_react5.useRef)(true);
1921
+ const ticket = (0, import_react5.useRef)(0);
1922
+ const settingsKeyId = card.activeKeyId;
1923
+ const requestKeyId = selectedKeyId ?? settingsKeyId;
1924
+ const displayKeyId = requestKeyId ?? result?.data.keys?.[0]?.id;
1925
+ const loader = props.usage;
1926
+ const load = (0, import_react5.useCallback)(async (force) => {
1927
+ const current = ticket.current + 1;
1928
+ ticket.current = current;
1929
+ setLoading(true);
1930
+ const next = await loader.load({
1931
+ ...requestKeyId === void 0 ? {} : { keyId: requestKeyId },
1932
+ range: USAGE_TREND_RANGE,
1933
+ force
1934
+ });
1935
+ if (!alive.current || current !== ticket.current) return;
1936
+ setResult(next);
1937
+ setLoading(false);
1938
+ }, [loader, requestKeyId]);
1939
+ (0, import_react5.useEffect)(() => {
1940
+ alive.current = true;
1941
+ return () => {
1942
+ alive.current = false;
1943
+ };
1944
+ }, []);
1945
+ (0, import_react5.useEffect)(() => {
1946
+ void load(false);
1947
+ }, [load]);
1948
+ const data = result?.data;
1949
+ const todayCost = todayCostOf(data?.summary);
1950
+ const monthToDate = monthToDateOf(data?.summaryMonth);
1951
+ const remaining = remainingBudgetOf(data?.key);
1952
+ const distribution = modelDistributionOf(data?.modelTrends);
1953
+ const points = trendPointsOf(data?.trends);
1954
+ const recharges = rechargesOf(data?.recharges);
1955
+ const keys = data?.keys ?? [];
1956
+ const maxCost = points.reduce((max, point) => Math.max(max, point.total_cost), 0);
1957
+ const maxModelCost = distribution.reduce((max, row) => Math.max(max, row.totalCost), 0);
1958
+ const header = /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("header", { style: headerStyle, children: [
1959
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h2", { style: titleStyle2, children: "\u7528\u91CF\u4E0E\u6210\u672C" }),
1960
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: headerActionsStyle, children: [
1961
+ keys.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1962
+ "select",
1963
+ {
1964
+ style: selectStyle,
1965
+ "aria-label": "\u9009\u62E9 Key",
1966
+ "data-hiwork-usage-key-selector": "",
1967
+ value: displayKeyId ?? "",
1968
+ onChange: (event) => {
1969
+ setSelectedKeyId(event.target.value);
1970
+ },
1971
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("option", { value: key.id, children: keyLabel2(key) }, key.id))
1972
+ }
1973
+ ) : null,
1974
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1975
+ "button",
1976
+ {
1977
+ type: "button",
1978
+ style: secondaryButton,
1979
+ "data-hiwork-usage-refresh": "",
1980
+ disabled: loading,
1981
+ onClick: () => {
1982
+ void load(true);
1983
+ },
1984
+ children: "\u5237\u65B0"
1985
+ }
1986
+ )
1987
+ ] })
1988
+ ] });
1989
+ if (result !== void 0 && result.unavailable) {
1990
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { "aria-label": "\u7528\u91CF\u4E0E\u6210\u672C", style: sectionStyle3, "data-hiwork-usage-state": "unavailable", children: [
1991
+ header,
1992
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: errorBannerStyle, "data-hiwork-usage-unavailable": "", children: [
1993
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: USAGE_UNAVAILABLE_TEXT }),
1994
+ result.error === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: result.error.message })
1995
+ ] }),
1996
+ /* @__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" })
1997
+ ] });
1998
+ }
1999
+ 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: [
2000
+ header,
2001
+ result?.stale === true ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: bannerStyle, "data-hiwork-usage-stale": "", children: [
2002
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: USAGE_STALE_TEXT }),
2003
+ result.error === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { "data-hiwork-usage-stale-reason": "", children: result.error.message })
2004
+ ] }) : null,
2005
+ 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: [
2006
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { style: gridStyle, "data-hiwork-usage-kpis": "", children: [
2007
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(KpiCard, { label: "\u4ECA\u65E5\u82B1\u8D39", value: formatYuan(todayCost) }),
2008
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(KpiCard, { label: "\u672C\u6708\u82B1\u8D39", value: formatYuan(monthToDate?.cost) }),
2009
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2010
+ KpiCard,
2011
+ {
2012
+ label: "\u672C\u6708\u8BF7\u6C42\u6570",
2013
+ value: monthToDate === void 0 ? USAGE_MISSING_TEXT : monthToDate.requests.toLocaleString("zh-CN")
2014
+ }
2015
+ ),
2016
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(KpiCard, { label: "\u5269\u4F59\u9884\u7B97", value: formatYuan(remaining) })
2017
+ ] }),
2018
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { style: blockStyle, "data-hiwork-usage-models": "", children: [
2019
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { style: blockTitleStyle, children: "\u6309\u6A21\u578B\u5206\u5E03" }),
2020
+ 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)(
2021
+ RatioRow,
2022
+ {
2023
+ name: row.model,
2024
+ value: `${formatYuan(row.totalCost)} \xB7 ${row.requestCount.toLocaleString("zh-CN")} \u6B21`,
2025
+ pct: maxModelCost > 0 ? row.totalCost / maxModelCost * 100 : 0
2026
+ },
2027
+ row.model
2028
+ )) })
2029
+ ] }),
2030
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { style: blockStyle, "data-hiwork-usage-trends": "", children: [
2031
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { style: blockTitleStyle, children: "\u8FD1 30 \u5929\u8D8B\u52BF" }),
2032
+ 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: [
2033
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { style: chartStyle, children: points.map((point) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2034
+ "span",
2035
+ {
2036
+ style: barStyle(maxCost > 0 ? point.total_cost / maxCost * 100 : 0),
2037
+ "data-hiwork-usage-bar": point.period,
2038
+ title: `${point.period} \xB7 ${formatYuan(point.total_cost)} \xB7 ${point.request_count.toLocaleString("zh-CN")} \u6B21`
2039
+ },
2040
+ point.period
2041
+ )) }),
2042
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("p", { style: noteStyle, children: [
2043
+ "\u5408\u8BA1 ",
2044
+ formatYuan(points.reduce((total, point) => total + point.total_cost, 0)),
2045
+ " \xB7 ",
2046
+ points.reduce((total, point) => total + point.request_count, 0).toLocaleString("zh-CN"),
2047
+ " \u6B21\u8BF7\u6C42"
2048
+ ] })
2049
+ ] })
2050
+ ] }),
2051
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("section", { style: blockStyle, "data-hiwork-usage-recharges": "", children: [
2052
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { style: blockTitleStyle, children: "\u5145\u503C\u53F0\u8D26" }),
2053
+ 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: [
2054
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("table", { style: tableStyle, children: [
2055
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("tr", { children: [
2056
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u65F6\u95F4" }),
2057
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u6A21\u578B" }),
2058
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u91D1\u989D" }),
2059
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u7C7B\u578B" }),
2060
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("th", { style: thStyle, children: "\u5907\u6CE8" })
2061
+ ] }) }),
2062
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("tbody", { children: recharges.slice(0, RECHARGE_LIMIT).map((row) => /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("tr", { children: [
2063
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: rechargeTime(row.created_at) }),
2064
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: row.model_name === "" ? USAGE_MISSING_TEXT : row.model_name }),
2065
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: amountStyle, children: formatYuan(row.amount) }),
2066
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: rechargeTypeLabel(row.type) }),
2067
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("td", { style: tdStyle, children: row.note === "" ? USAGE_MISSING_TEXT : row.note })
2068
+ ] }, row.id)) })
2069
+ ] }),
2070
+ recharges.length > RECHARGE_LIMIT ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("p", { style: noteStyle, children: [
2071
+ "\u4EC5\u663E\u793A\u6700\u8FD1 ",
2072
+ RECHARGE_LIMIT,
2073
+ " \u6761\uFF0C\u5171 ",
2074
+ recharges.length,
2075
+ " \u6761\u3002"
2076
+ ] }) : null
2077
+ ] })
2078
+ ] }),
2079
+ /* @__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" })
2080
+ ] })
2081
+ ] });
2082
+ }
2083
+
2084
+ // src/client/session-cost.tsx
2085
+ var import_react6 = require("react");
2086
+ var import_jsx_runtime7 = require("react/jsx-runtime");
2087
+ var SESSION_COST_ENDPOINT = "estimate";
2088
+ var SESSION_COST_CACHE_TTL_MS = 5 * 6e4;
2089
+ 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";
2090
+ var SESSION_COST_ESTIMATED_SUFFIX = "\uFF08\u4F30\u7B97\uFF09";
2091
+ function nonNegativeInteger(value) {
2092
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
2093
+ }
2094
+ function sessionCostMatchOf(data) {
2095
+ if (typeof data !== "object" || data === null) return null;
2096
+ const turn = nonNegativeInteger(data.turn);
2097
+ if (turn === void 0) return null;
2098
+ const usage = data.tokenUsage;
2099
+ if (typeof usage !== "object" || usage === null) return null;
2100
+ const input = nonNegativeInteger(usage.uncachedInputTokens);
2101
+ const output = nonNegativeInteger(usage.outputTokens);
2102
+ if (input === void 0 || output === void 0) return null;
2103
+ const routes = usage.routes;
2104
+ if (!Array.isArray(routes) || routes.length === 0) return null;
2105
+ const pairs = [];
2106
+ const seen = /* @__PURE__ */ new Set();
2107
+ for (const entry of routes) {
2108
+ if (typeof entry !== "object" || entry === null) return null;
2109
+ const { provider, model } = entry;
2110
+ if (typeof provider !== "string" || provider === "" || typeof model !== "string" || model === "") return null;
2111
+ const key = `${provider}\0${model}`;
2112
+ if (seen.has(key)) continue;
2113
+ seen.add(key);
2114
+ pairs.push({ route: provider, model });
2115
+ }
2116
+ if (pairs.length === 0) return null;
2117
+ const cacheRead = nonNegativeInteger(usage.cacheReadTokens);
2118
+ const cacheWrite = nonNegativeInteger(usage.cacheWriteTokens);
2119
+ if (input === 0 && output === 0 && (cacheRead ?? 0) === 0 && (cacheWrite ?? 0) === 0) return null;
2120
+ const first = pairs[0];
2121
+ if (first === void 0) return null;
2122
+ const at = rfc3339Of(data.time);
2123
+ const item = {
2124
+ route: first.route,
2125
+ model: first.model,
2126
+ input_tokens: input,
2127
+ output_tokens: output,
2128
+ // 桶缺失表示「并非每次尝试都上报了该桶」——原样省略,绝不猜 0。
2129
+ ...cacheRead === void 0 ? {} : { cache_read_tokens: cacheRead },
2130
+ ...cacheWrite === void 0 ? {} : { cache_write_tokens: cacheWrite },
2131
+ ...at === void 0 ? {} : { at }
2132
+ };
2133
+ const ambiguous = pairs.length > 1 || cacheRead === void 0 || cacheWrite === void 0;
2134
+ return { items: [item], turn, ambiguous };
2135
+ }
2136
+ function rfc3339Of(time) {
2137
+ if (typeof time !== "number" || !Number.isFinite(time) || time <= 0) return void 0;
2138
+ const date = new Date(time);
2139
+ return Number.isNaN(date.getTime()) ? void 0 : date.toISOString();
2140
+ }
2141
+ function selectSessionCost(owner) {
2142
+ return sessionCostMatchOf(owner.turn.data.get("turn-tail"));
2143
+ }
2144
+ function sessionCostKey(sessionId, match) {
2145
+ return `${sessionId}\0${match.turn}\0${JSON.stringify(match.items)}`;
2146
+ }
2147
+ function normalizeSessionCost(value) {
2148
+ if (typeof value !== "object" || value === null) return void 0;
2149
+ const record = value;
2150
+ if (record.priced !== true) return void 0;
2151
+ const cost = record.cost;
2152
+ if (typeof cost !== "number" || !Number.isFinite(cost) || cost < 0) return void 0;
2153
+ return { cost, channelResolved: record.channelResolved === true };
2154
+ }
2155
+ var SessionCostStore = class {
2156
+ constructor(rpc, options = {}) {
2157
+ this.rpc = rpc;
2158
+ this.now = options.now ?? (() => Date.now());
2159
+ this.ttlMs = options.ttlMs ?? SESSION_COST_CACHE_TTL_MS;
2160
+ }
2161
+ entries = /* @__PURE__ */ new Map();
2162
+ pending = /* @__PURE__ */ new Map();
2163
+ now;
2164
+ ttlMs;
2165
+ /** 当前缓存条目数(测试断言用)。 */
2166
+ get size() {
2167
+ return this.entries.size;
2168
+ }
2169
+ /** 清空缓存(登出 / 切换账号)。 */
2170
+ clear() {
2171
+ this.entries.clear();
2172
+ }
2173
+ async estimate(input) {
2174
+ const key = sessionCostKey(input.sessionId, { turn: input.turn, items: [...input.items] });
2175
+ const cached = this.entries.get(key);
2176
+ if (cached !== void 0 && this.now() - cached.fetchedAt < this.ttlMs) return cached.result;
2177
+ const inflight = this.pending.get(key);
2178
+ if (inflight !== void 0) return await inflight;
2179
+ const task = this.request(key, input);
2180
+ this.pending.set(key, task);
2181
+ try {
2182
+ return await task;
2183
+ } finally {
2184
+ this.pending.delete(key);
2185
+ }
2186
+ }
2187
+ async request(key, input) {
2188
+ try {
2189
+ const raw = await this.rpc.call(USAGE_CHANNEL, SESSION_COST_ENDPOINT, { items: input.items }, input.signal);
2190
+ const result = normalizeSessionCost(unwrapUsageResult(raw));
2191
+ if (result !== void 0) this.entries.set(key, { result, fetchedAt: this.now() });
2192
+ return result;
2193
+ } catch {
2194
+ return void 0;
2195
+ }
2196
+ }
2197
+ };
2198
+ var costStyle = {
2199
+ color: textTertiary,
2200
+ fontSize: 12,
2201
+ lineHeight: "18px",
2202
+ whiteSpace: "nowrap",
2203
+ cursor: "default"
2204
+ };
2205
+ function SessionCost({ matched, sessionId, store }) {
2206
+ const key = sessionCostKey(sessionId, matched);
2207
+ const [result, setResult] = (0, import_react6.useState)(void 0);
2208
+ (0, import_react6.useEffect)(() => {
2209
+ let disposed = false;
2210
+ const controller = new AbortController();
2211
+ void store.estimate({ sessionId, turn: matched.turn, items: matched.items, signal: controller.signal }).then((value) => {
2212
+ if (!disposed) setResult(value);
2213
+ }).catch(() => {
2214
+ if (!disposed) setResult(void 0);
2215
+ });
2216
+ return () => {
2217
+ disposed = true;
2218
+ controller.abort();
2219
+ };
2220
+ }, [store, key]);
2221
+ if (result === void 0) return null;
2222
+ const estimated = !result.channelResolved || matched.ambiguous;
2223
+ 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 : ""}` });
2224
+ }
2225
+
2226
+ // src/client/account-cache.ts
2227
+ function accountIdentityOf(state) {
2228
+ return `${state.username ?? ""}\0${state.activeKeyId ?? ""}`;
2229
+ }
2230
+ function observeAccountChange(source, onChange) {
2231
+ let identity = accountIdentityOf(source.getSnapshot());
2232
+ const unsubscribe = source.subscribe(() => {
2233
+ const next = accountIdentityOf(source.getSnapshot());
2234
+ if (next === identity) return;
2235
+ identity = next;
2236
+ onChange();
2237
+ });
2238
+ return () => {
2239
+ unsubscribe();
2240
+ };
2241
+ }
2242
+
2273
2243
  // src/client/feature-registry.ts
2274
2244
  var DEFAULT_FEATURE_ORDER = 1e3;
2275
2245
  function compareFeatures(left, right) {
@@ -2338,7 +2308,7 @@ function createFeatureRegistry() {
2338
2308
  }
2339
2309
 
2340
2310
  // src/client/feature-center.ts
2341
- var import_react5 = require("react");
2311
+ var import_react7 = require("react");
2342
2312
  var import_client2 = require("react-dom/client");
2343
2313
  var SIDEBAR_SELECTOR = '[data-pane="sidebar"], [class*="sidebarCol"]';
2344
2314
  var CONVERSATION_SELECTOR = '[data-pane="conversation"], [class*="centerCol"]';
@@ -2397,7 +2367,7 @@ var featureCenterCss = [
2397
2367
  `[${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); }`,
2398
2368
  `html[${ACTIVE_PAGE_ATTRIBUTE}] [data-pane="conversation"] > *:not([${FEATURE_ROOT_ATTRIBUTE}]), html[${ACTIVE_PAGE_ATTRIBUTE}] [class*="centerCol"] > *:not([${FEATURE_ROOT_ATTRIBUTE}]) { display: none !important; }`
2399
2369
  ].join("\n");
2400
- var FeatureErrorBoundary = class extends import_react5.Component {
2370
+ var FeatureErrorBoundary = class extends import_react7.Component {
2401
2371
  state = { failed: false };
2402
2372
  static getDerivedStateFromError() {
2403
2373
  return { failed: true };
@@ -2678,7 +2648,7 @@ function mountFeatureCenter(options) {
2678
2648
  const reactRoot = (0, import_client2.createRoot)(element);
2679
2649
  root = reactRoot;
2680
2650
  try {
2681
- reactRoot.render((0, import_react5.createElement)(FeatureErrorBoundary, { onError: onRenderError }, target.render(renderContext)));
2651
+ reactRoot.render((0, import_react7.createElement)(FeatureErrorBoundary, { onError: onRenderError }, target.render(renderContext)));
2682
2652
  } catch (error) {
2683
2653
  onRenderError(error);
2684
2654
  }
@@ -2775,7 +2745,7 @@ function mountFeatureCenter(options) {
2775
2745
  var HIWORK_FEATURE_CENTER_SERVICE = "hiworkFeatureCenter";
2776
2746
 
2777
2747
  // src/client/index.ts
2778
- var inject = ["slots", "locale", "remote", "remote.credentials", "settingsScope"];
2748
+ var inject = ["slots", "locale", "remote", "remote.credentials", "settingsScope", "connection"];
2779
2749
  var INTERACTION_STYLE_ID = "hiwork-core-interaction-styles";
2780
2750
  function injectInteractionStyles() {
2781
2751
  if (typeof document === "undefined") return;
@@ -2806,6 +2776,27 @@ function apply(ctx) {
2806
2776
  order: Number.MAX_SAFE_INTEGER,
2807
2777
  label: () => "\u5173\u4E8E"
2808
2778
  }, AboutSection));
2779
+ const connection = ctx.get("connection");
2780
+ if (connection === void 0) throw new Error("connection service unavailable");
2781
+ const usage = new UsageDataStore(connection.rpc);
2782
+ const sessionCost = new SessionCostStore(connection.rpc);
2783
+ const dailyQuotes = new DailyDataStore(connection.rpc);
2784
+ ctx.slots.inject("settings.section", () => ctx.slots.register({
2785
+ name: "settings.section",
2786
+ id: "hiwork-usage",
2787
+ order: 2,
2788
+ label: () => "\u7528\u91CF\u4E0E\u6210\u672C",
2789
+ inject: () => ({ hooks: controller.inject().hooks, usage })
2790
+ }, UsageSection));
2791
+ ctx.slots.inject("conversation.chat.turnTail", () => ctx.slots.register({
2792
+ name: "conversation.chat.turnTail",
2793
+ select: selectSessionCost,
2794
+ inject: () => ({ store: sessionCost })
2795
+ }, SessionCost));
2796
+ ctx.effect(() => observeAccountChange(controller.inject().hooks.aiRouterCard, () => {
2797
+ usage.clear();
2798
+ sessionCost.clear();
2799
+ }), "hiwork-core: \u7528\u91CF\u7F13\u5B58\u968F\u8D26\u53F7 / Key \u53D8\u5316\u6E05\u7A7A");
2809
2800
  ctx.effect(() => observeAboutNavIcon(), "hiwork-core: about nav icon");
2810
2801
  ctx.slots.inject("sidebar.brand.mark", () => ctx.slots.register({
2811
2802
  name: "sidebar.brand.mark",
@@ -2821,7 +2812,7 @@ function apply(ctx) {
2821
2812
  inject: () => controller.inject()
2822
2813
  }, UserBadge));
2823
2814
  ctx.effect(() => mountLoginGate(scope, storeCredential), "hiwork-core: login gate");
2824
- ctx.effect(() => observeHeroDecorations(), "hiwork-core: hero decorations");
2815
+ ctx.effect(() => observeHeroDecorations(document, dailyQuotes), "hiwork-core: hero decorations");
2825
2816
  installFeatureCenter(ctx);
2826
2817
  }
2827
2818
  function installFeatureCenter(ctx) {