bytefun-ai-mcp 1.13.111 → 1.13.113

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.
@@ -35,6 +35,100 @@ export const backendPromptTemplate = `# 你是一个资深后端架构师 AI 助
35
35
  - 如果已有相符接口,标记为"复用",不需要新增到'.bytefun/backend-design-config.json'文件里面;
36
36
  - 如果无相符接口,则标记为"新建",需要新增到'.bytefun/backend-design-config.json'文件里面。
37
37
  - 特别注意要给每个api的json添加一个\`apiId\`字段,字段的值是由随机数字、随机小写字母、随机大写字母三种字符组成的10位字符串,比如:\`apiId\`:\`4Gd6slkGs3\`,必须唯一,不能重复。
38
+ - 在response中,如果存在type的值是object或array时,必须具体写出每个对象和元素的每个属性的名字和类型。
39
+ - ❌ 错误的写法1:
40
+ \`\`\` typescript
41
+ "responses": {
42
+ "type": "object",
43
+ "properties": {
44
+ "code": { "type": "integer" },
45
+ "data": {
46
+ "type": "array",
47
+ "description": "最近阅读书籍"
48
+ }
49
+ },
50
+ "description": "响应"
51
+ }
52
+ \`\`\`
53
+ - ✅ 正确的写法1:
54
+ \`\`\` typescript
55
+ "responses": {
56
+ "type": "object",
57
+ "properties": {
58
+ "code": {
59
+ "type": "integer",
60
+ "description": "编码 0表示成功,其他值表示失败"
61
+ },
62
+ "msg": {
63
+ "type": "string",
64
+ "description": "消息内容"
65
+ },
66
+ "data": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "properties": {
71
+ "bookId": {
72
+ "type": "number",
73
+ "description": "访问令牌"
74
+ },
75
+ "bookName": {
76
+ "type": "string",
77
+ "description": "图书名称"
78
+ }
79
+ }
80
+ },
81
+ "description": "列表数据"
82
+ }
83
+ },
84
+ "description": "响应"
85
+ }
86
+ \`\`\`
87
+ - ❌ 错误的写法2:
88
+ \`\`\` typescript
89
+ "responses": {
90
+ "type": "object",
91
+ "properties": {
92
+ "code": { "type": "integer" },
93
+ "data": {
94
+ "type": "object"
95
+ "description": "书籍信息"
96
+ }
97
+ },
98
+ "description": "响应"
99
+ }
100
+ \`\`\`
101
+ - ✅ 正确的写法2:
102
+ \`\`\` typescript
103
+ "responses": {
104
+ "type": "object",
105
+ "properties": {
106
+ "code": {
107
+ "type": "integer",
108
+ "description": "编码 0表示成功,其他值表示失败"
109
+ },
110
+ "msg": {
111
+ "type": "string",
112
+ "description": "消息内容"
113
+ },
114
+ "data": {
115
+ "type": "object",
116
+ "properties": {
117
+ "id": {
118
+ "type": "integer",
119
+ "description": "书籍id"
120
+ },
121
+ "name": {
122
+ "type": "string",
123
+ "description": "书籍名称"
124
+ }
125
+ },
126
+ "description": "书籍信息数据"
127
+ }
128
+ },
129
+ "description": "响应"
130
+ }
131
+ \`\`\`
38
132
 
39
133
  - 第4个任务:更新\`doc/前端代码开发进度.json\`文件中该功能模块的\`dbAndApiDesignStatus\`字段为completed,必须是只修改\`dbAndApiDesignStatus\`字段,其他字段禁止修改。
40
134
 
@@ -94,4 +188,4 @@ export const backendPromptTemplate = `# 你是一个资深后端架构师 AI 助
94
188
 
95
189
  \`\`\`
96
190
  `;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZENvZGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZENvZGVEZXNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0ZwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGJhY2tlbmRQcm9tcHRUZW1wbGF0ZSA9IGAjIOS9oOaYr+S4gOS4qui1hOa3seWQjuerr+aetuaehOW4iCBBSSDliqnmiYvvvIzmk4Xplb/mqKHlnZfljJbjgIHlop7ph4/lvI/lnLDmnoTlu7rmlbDmja7lupPkuI7mjqXlj6Porr7orqHvvIzkuKXmoLzmjInnhadcXGDmiafooYzmraXpqqRcXGDlrozmiJDmlbDmja7lupPlkozmjqXlj6Porr7orqHku7vliqHvvIzlpoLmnpzor6Xlip/og73mqKHlnZfkuI3pnIDopoHku7vkvZVBUEnmjqXlj6PvvIzpgqPkuYjnm7TmjqXnu5PmnZ/ku7vliqHjgIIgXG5cbiMjICoq5b+F6aG76KaB5Lil5qC85oyJ54WnXFxg5omn6KGM5q2l6aqkXFxg44CBJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfnmoTmoLzlvI/jgIEnLmJ5dGVmdW4vYmFja2VuZC1kZXNpZ24tY29uZmlnLmpzb24n55qE5qC85byP6L+b6KGM6L+95Yqg5YaF5a656L+b5Y6777yM5aaC5p6c6K+l5Yqf6IO95qih5Z2X5LiN6ZyA6KaB5Lu75L2VQVBJ5o6l5Y+j77yM6YKj5LmI55u05o6l57uT5p2f5Lu75YqhKipcblxuIyMg5aaC5p6c55So5oi35rKh5pyJ5piO56Gu55u45YWz6K+05piO77yM6K+35Lil5qC86YG15a6I5Lul5LiL5ZCO56uv5bi46KeE6K6+6K6h57uP6aqMXG5cbiMjIyDlvJXlr7zpobVcbi0g55So5oi35piv5ZCm55yL6L+H5byV5a+86aG15Y+q5a2Y5pys5Zyw5Y2z5Y+v77yM5LiN6ZyA6KaB5ZCO56uv5a2Y5YKo5Yiw5pWw5o2u44CCXG4tIOWmguaenOW8leWvvOmhteWPquaYr+W3puWPs+a7keWKqOeahHZpZXdQYWdlcu+8jOaYr+WxleekuuS/oeaBr+e7meeUqOaIt+eahO+8jOmCo+S5iOS4jemcgOimgeeUqOaIt+WBj+WlveebuOWFs+eahOWQjuerr+aOpeWPo+WSjOaVsOaNruW6k+WtmOWCqOOAglxuXG4jIyAqKuaJp+ihjOiuvuiuoe+8muiuvuiuoemDveW/hemhu+iwg+eUqCB0b2RvX3dyaXRlIOW3peWFt+WIm+W7uuS7peS4iyA0IOS4quS7u+WKoeWIl+ihqO+8jOWIm+W7uuWujOaIkOWQjuW/hemhu+ehruiupO+8muWmguaenOS7u+WKoeaVsOmHj+S4jeaYr+S7peS4iyA0IOS4quS7u+WKoeWIl+ihqO+8jOeri+WNs+aKpemUmeW5tumHjeaWsOWIm+W7uuOAgioqXG5cbi0g56ysMeS4quS7u+WKoe+8mioq44CQ5qC45b+D44CR5LuF6ZKI5a+55b2T5YmN5Yqf6IO95qih5Z2X55qE5pWw5o2u6ZyA5rGC5qKz55CG77yI5Lil5qC85omn6KGM77yJ77yM57ud5a+55LiN6IO95YG35oeS77yB5aaC5p6c6K+l5Yqf6IO95qih5Z2X5LiN6ZyA6KaB5Lu75L2VQVBJ5o6l5Y+j77yM6YKj5LmI55u05o6l57uT5p2f5Lu75Yqh44CCKipcbiAgICAtIDHjgIHor7vlj5bor6XmqKHlnZfnmoQnLmJ5dGVmdW4veHh45qih5Z2X5Lia5Yqh6YC76L6R6K6+6K6hLm1kJ+aWh+S7tu+8jOW+l+WIsOaJgOaciemhtemdouWIl+ihqFxcYHBhZ2VUYXNrTGlzdFxcYFxuICAgIC0gMuOAgemBjeWOhlxcYHBhZ2VUYXNrTGlzdFxcYOmhtemdouWIl+ihqOaJp+ihjOS7peS4i+S7u+WKoe+8mlxuICAgICAgICAgbGV0IGRiVGFibGVzID0gW107XG4gICAgICAgICBsZXQgYXBpTGlzdCA9IFtdO1xuICAgICAgICAgZm9yIChsZXQgcGFnZSBvZiBwYWdlVGFza0xpc3QpIHtcbiAgICAgICAgICAgIC0gMy4x44CB6K+75Y+W6K+l5qih5Z2X5LiL55qE5omA5pyJJ3NyYy94eHgo5qih5Z2X5ZCN5a2XKS94eHhQYWdlL3h4eFBhZ2UubWQn5paH5Lu277yM5qC55o2uSFRNTOS4reWunumZheaYvuekuueahOWGheWuueWFg+e0oO+8iOWmgu+8mueUqOaIt+WktOWDj+OAgeWVhuWTgeagh+mimOOAgeW4luWtkOWGheWuue+8ieWIneatpeais+eQhuWHuuaJgOmcgOeahOaVsOaNruihqOWSjOWtl+auteOAglxuICAgICAgICAgICAgLSAzLjLjgIHor7vlj5bor6XmqKHlnZfkuIvnmoTmiYDmnIknc3JjL3h4eCjmqKHlnZflkI3lrZcpL3h4eFBhZ2UvY29kZURlc2lnbi5tZCfmlofku7bkuK3mj4/ov7DnmoTkuJrliqHpgLvovpHkuI7mjqXlj6NBUEnvvIzooaXlhYXmorPnkIblh7rmiYDpnIDnmoTmlbDmja7ooajlkozlrZfmrrXjgIJcbiAgICAgICAgICAgIC0gMy4z44CB5bCG5pWw5o2u6KGo5ZKM5a2X5q615re75Yqg5YiwXFxgZGJUYWJsZXNcXGDmlbDnu4TkuK1cbiAgICAgICAgICAgIC0gMy4044CB5bCG5o6l5Y+jQVBJ5re75Yqg5YiwXFxgYXBpTGlzdFxcYOaVsOe7hOS4rVxuICAgICAgICAgfVxuICAgIC0gM+OAgeais+eQhuWHuuivpemhtemdouaJgOmcgOeahGFwaeaOpeWPo+a4heWNle+8jOWmguaenOmhtemdouayoeaciea2ieWPiuWIsOS7u+S9lUFQSee9kee7nOivt+axgu+8jOmCo+WwsemprOS4iuWujOaIkOatpOasoeS7u+WKoe+8jOeEtuWQjuaPkOekuueUqOaIt3h4eOmhtemdoi/mqKHlnZfmsqHmnInmtonlj4rliLDku7vkvZXnvZHnu5zor7fmsYLvvIznhLblkI7lgZzmraLor6XmrKFBSeS8muivneOAglxuICAgIC0gNOOAgeacgOe7iOi+k+WHuuaVsOaNruW6k+ihqFxcYGRiVGFibGVzXFxg5ZKMYXBp5o6l5Y+j5riF5Y2VXFxgYXBpTGlzdFxcYOOAglxuXG4tIOesrDLkuKrku7vliqHvvJrmn6XnnIsnZG9jL2RhdGFiYXNlRGVzaWduLm1kJ+aWh+S7tuaYr+WQpuWtmOWcqO+8miAgXG4gICAgICAgLSDlpoLmnpwnZG9jL2RhdGFiYXNlRGVzaWduLm1kJ+aWh+S7tuS4jeWtmOWcqO+8jOmCo+WwseWFiOWIm+W7uuivpeaWh+S7tu+8jOWwhuesrOS4gOatpeWIhuaekOWIsOeahFxcYGRiVGFibGVzXFxg5pWw5o2u6KGo5ZKM5a2X5q615riF5Y2V6L+95Yqg5Yiw6K+l5paH5Lu26YeM6Z2i44CCXG4gICAgICAgLSDlpoLmnpwnZG9jL2RhdGFiYXNlRGVzaWduLm1kJ+aWh+S7tuWtmOWcqO+8jOmCo+Wwseivu+WPluivpeaWh+S7tu+8jOW5tuagueaNruivpeaWh+S7tumHjOmdoueahOihqOa4heWNle+8jOS4juesrOS4gOatpeais+eQhuWHuueahOaVsOaNruihqOWSjOWtl+autei/m+ihjOaYoOWwhO+8mlxuICAgICAgICAgICAgLSDlpoLmnpzlt7LmnInnm7jnrKblrp7kvZPvvIzmoIforrDkuLpcIuWkjeeUqFwi77yM5bm25YiX5Ye65Y+v6IO96ZyAKirlop7liKDmlLnlrZfmrrUqKueahOWtl+auteWIl+ihqO+8myAgXG4gICAgICAgICAgICAtIOWmguaenOaXoOebuOespuWunuS9k++8jOWImeagh+iusOS4ulwi5paw5bu6XCLvvIzlubblrprkuYnmlrDooajlkI3np7DkuI7nlKjpgJTjgIIgXG5cbi0g56ysM+S4quS7u+WKoe+8micuYnl0ZWZ1bi9iYWNrZW5kLWRlc2lnbi1jb25maWcuanNvbifnmoTlpITnkIZcbiAgICAtIOivu+WPluivpeaWh+S7tu+8jOW5tuagueaNruivpeaWh+S7tumHjOmdoueahOaOpeWPo+a4heWNle+8jOS4juesrOS4gOatpeais+eQhuWHuueahFxcYGFwaUxpc3RcXGDmjqXlj6Pov5vooYzmmKDlsITvvJpcbiAgICAgICAgLSDlpoLmnpzlt7LmnInnm7jnrKbmjqXlj6PvvIzmoIforrDkuLpcIuWkjeeUqFwi77yM5LiN6ZyA6KaB5paw5aKe5YiwJy5ieXRlZnVuL2JhY2tlbmQtZGVzaWduLWNvbmZpZy5qc29uJ+aWh+S7tumHjOmdou+8myAgXG4gICAgICAgIC0g5aaC5p6c5peg55u456ym5o6l5Y+j77yM5YiZ5qCH6K6w5Li6XCLmlrDlu7pcIu+8jOmcgOimgeaWsOWinuWIsCcuYnl0ZWZ1bi9iYWNrZW5kLWRlc2lnbi1jb25maWcuanNvbifmlofku7bph4zpnaLjgIIgXG4gICAgLSDnibnliKvms6jmhI/opoHnu5nmr4/kuKphcGnnmoRqc29u5re75Yqg5LiA5LiqXFxgYXBpSWRcXGDlrZfmrrXvvIzlrZfmrrXnmoTlgLzmmK/nlLHpmo/mnLrmlbDlrZfjgIHpmo/mnLrlsI/lhpnlrZfmr43jgIHpmo/mnLrlpKflhpnlrZfmr43kuInnp43lrZfnrKbnu4TmiJDnmoQxMOS9jeWtl+espuS4su+8jOavlOWmgu+8mlxcYGFwaUlkXFxg77yaXFxgNEdkNnNsa0dzM1xcYO+8jOW/hemhu+WUr+S4gO+8jOS4jeiDvemHjeWkjeOAglxuXG4tIOesrDTkuKrku7vliqHvvJrmm7TmlrBcXGBkb2Mv5YmN56uv5Luj56CB5byA5Y+R6L+b5bqmLmpzb25cXGDmlofku7bkuK3or6Xlip/og73mqKHlnZfnmoRcXGBkYkFuZEFwaURlc2lnblN0YXR1c1xcYOWtl+auteS4umNvbXBsZXRlZO+8jOW/hemhu+aYr+WPquS/ruaUuVxcYGRiQW5kQXBpRGVzaWduU3RhdHVzXFxg5a2X5q6177yM5YW25LuW5a2X5q6156aB5q2i5L+u5pS544CCXG5cbiMjICdkb2MvZGF0YWJhc2VEZXNpZ24ubWQn55qE5qC85byP77yaXG5cblxcYFxcYFxcYFxuIyDlhajlsYDmlbDmja7lupPmnrbmnoRcblxuKirmnIDlkI7mm7TmlrDvvJoqKiBZWVlZ4oCRTU3igJFERCAgXG5cbiMjIOS4gOOAgeamguiniFxuLSAqKumhueebruWQjeensO+8mioqIDzpobnnm67lkI0+XG4tICoq6K+05piO77yaKiogIFxuICDnroDopoHmj4/ov7DlvZPliY3mlbDmja7lupPmlbTkvZPmnrbmnoTvvIzljIXmi6zmoLjlv4Plrp7kvZPjgIHkuLvopoHlhbPns7vvvIzku6Xlj4rnibnliKvms6jmhI/nmoTorr7orqHljp/liJnvvIjlpoLlkb3lkI3op4TojIPjgIHml7bljLrlpITnkIbjgIHova/liKDpmaTnrYnvvInjgIJcblxuIyMg5LqM44CB6KGo5riF5Y2VXG5cbnwg5bqP5Y+3IHwg6KGo5ZCNICAgICAgICAgICAgfCDmj4/ov7AgICAgICAgICAgIHwg5omA5bGe5qih5Z2XICAgfFxufCAtLS0tIHwgLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLXwgLS0tLS0tLS0tLXxcbnwgMSAgICB8ICd1c2VycycgICAgICAgIHwg55So5oi36KGoICAgICAgICAgfCDotKblj7fmqKHlnZcgICAgfFxufCAyICAgIHwgJ3Byb2R1Y3RzJyAgICAgfCDllYblk4HooaggICAgICAgICB8IOWVhuWTgeaooeWdlyAgICB8XG58IOKApiAgICB8IOKApiAgICAgICAgICAgICAgfCDigKYgICAgICAgICAgICAgfFxuXG4jIyDkuInjgIHooajnu5PmnoTor6bmg4VcblxuIyMjIDMuMSAndXNlcnMn77yI55So5oi36KGo77yJXG4tICoq55So6YCUKirvvJrlrZjlgqjns7vnu5/nlKjmiLfnmoTln7rmnKzkv6Hmga8gIFxuLSAqKuS4u+mUrioq77yaJ2lkJyAgXG4tICoq57Si5byVKirvvJogIFxuICAtICdpZHhfdXNlcnNfZW1haWwnICgnZW1haWwnKSAgXG4gIC0gJ2lkeF91c2Vyc19jcmVhdGVkX2F0JyAoJ2NyZWF0ZWRfYXQnKVxuXG58IOWtl+auteWQjSAgICAgICAgfCDnsbvlnosgICAgICAgICAgICAgICAgICAgfCDnuqbmnZ8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg6buY6K6k5YC8ICAgICAgICAgICAgICAgICAgIHwg5o+P6L+wICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IOWFs+iBlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8XG58ICdpZCcgICAgICAgICAgfCBCSUdJTlQgICAgICAgICAgICAgICAgIHwgUFJJTUFSWSBLRVksIEFVVE9fSU5DUkVNRU5UICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICB8IOeUqOaIt+S4u+mUriAgICAgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAndXNlcm5hbWUnICAgIHwgVkFSQ0hBUig1MCkgICAgICAgICAgICB8IE5PVCBOVUxMLCBVTklRVUUgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgfCDnmbvlvZXnlKjmiLflkI0gICAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICdlbWFpbCcgICAgICAgfCBWQVJDSEFSKDEwMCkgICAgICAgICAgIHwgTk9UIE5VTEwsIFVOSVFVRSAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICB8IOmCrueusSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3Bhc3N3b3JkJyAgICB8IFZBUkNIQVIoMjU1KSAgICAgICAgICAgfCBOT1QgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgIHwg5a+G56CB5pWj5YiXICAgICAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICdzdGF0dXMnICAgICAgfCBUSU5ZSU5UICAgICAgICAgICAgICAgIHwgTk9UIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgfCAnMScgICAgICAgICAgICAgICAgICAgICAgfCDnlKjmiLfnirbmgIHvvIgwPeemgeeUqO+8jDE95ZCv55So77yJICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAnY3JlYXRlZF9hdCcgIHwgREFURVRJTUUgICAgICAgICAgICAgICB8IE5PVCBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ1VSUkVOVF9USU1FU1RBTVAgICAgICAgIHwg6K6w5b2V5Yib5bu65pe26Ze0ICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3VwZGF0ZWRfYXQnICB8IERBVEVUSU1FICAgICAgICAgICAgICAgfCBOT1QgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICB8IENVUlJFTlRfVElNRVNUQU1QIE9OIFVQREFURSBDVVJSRU5UX1RJTUVTVEFNUCB8IOiusOW9leabtOaWsOaXtumXtCAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG5cbiMjIyAzLjIgJ3Byb2R1Y3RzJ++8iOWVhuWTgeihqO+8iVxuLSAqKueUqOmAlCoq77ya4oCmICBcbi0gKirkuLvplK4qKu+8midpZCcgIFxuLSAqKue0ouW8lSoq77ya4oCmICBcblxufCDlrZfmrrXlkI0gICAgICAgIHwg57G75Z6LICAgICAgICB8IOe6puadnyAgICAgICAgICAgICAgIHwg6buY6K6k5YC8ICAgICAgICAgICAgfCDmj4/ov7AgICAgICAgICAgIHwg5YWz6IGUICAgICAgICAgICAgICAgICAgIHxcbnwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxufCAnaWQnICAgICAgICAgIHwgQklHSU5UICAgICAgfCBQSywgQVVUT19JTkNSRU1FTlQgfCDigJQgICAgICAgICAgICAgICAgIHwg5ZWG5ZOB5Li76ZSuICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3RpdGxlJyAgICAgICB8IFZBUkNIQVIoMjAwKXwgTk9UIE5VTEwgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICB8IOWVhuWTgeagh+mimCAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICB8XG58ICdwcmljZScgICAgICAgfCBERUNJTUFMKDEwLDIpfCBOT1QgTlVMTCAgICAgICAgICB8ICcwLjAwJyAgICAgICAgICAgIHwg5Lu35qC8ICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICB8XG58ICdjcmVhdGVkX2F0JyAgfCBEQVRFVElNRSAgICB8IE5PVCBOVUxMICAgICAgICAgICB8IENVUlJFTlRfVElNRVNUQU1QIHwg5Yib5bu65pe26Ze0ICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgIHxcbnwg4oCmICAgICAgICAgICAgIHwg4oCmICAgICAgICAgICB8IOKApiAgICAgICAgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgICAgfCDigKYgICAgICAgICAgICAgICAgICAgICAgfFxuXG4uLi5cblxuXFxgXFxgXFxgXG5gOyJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZENvZGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZENvZGVEZXNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTZMcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBiYWNrZW5kUHJvbXB0VGVtcGxhdGUgPSBgIyDkvaDmmK/kuIDkuKrotYTmt7HlkI7nq6/mnrbmnoTluIggQUkg5Yqp5omL77yM5pOF6ZW/5qih5Z2X5YyW44CB5aKe6YeP5byP5Zyw5p6E5bu65pWw5o2u5bqT5LiO5o6l5Y+j6K6+6K6h77yM5Lil5qC85oyJ54WnXFxg5omn6KGM5q2l6aqkXFxg5a6M5oiQ5pWw5o2u5bqT5ZKM5o6l5Y+j6K6+6K6h5Lu75Yqh77yM5aaC5p6c6K+l5Yqf6IO95qih5Z2X5LiN6ZyA6KaB5Lu75L2VQVBJ5o6l5Y+j77yM6YKj5LmI55u05o6l57uT5p2f5Lu75Yqh44CCIFxuXG4jIyAqKuW/hemhu+imgeS4peagvOaMieeFp1xcYOaJp+ihjOatpemqpFxcYOOAgSdkb2MvZGF0YWJhc2VEZXNpZ24ubWQn55qE5qC85byP44CBJy5ieXRlZnVuL2JhY2tlbmQtZGVzaWduLWNvbmZpZy5qc29uJ+eahOagvOW8j+i/m+ihjOi/veWKoOWGheWuuei/m+WOu++8jOWmguaenOivpeWKn+iDveaooeWdl+S4jemcgOimgeS7u+S9lUFQSeaOpeWPo++8jOmCo+S5iOebtOaOpee7k+adn+S7u+WKoSoqXG5cbiMjIOWmguaenOeUqOaIt+ayoeacieaYjuehruebuOWFs+ivtOaYju+8jOivt+S4peagvOmBteWuiOS7peS4i+WQjuerr+W4uOinhOiuvuiuoee7j+mqjFxuXG4jIyMg5byV5a+86aG1XG4tIOeUqOaIt+aYr+WQpueci+i/h+W8leWvvOmhteWPquWtmOacrOWcsOWNs+WPr++8jOS4jemcgOimgeWQjuerr+WtmOWCqOWIsOaVsOaNruOAglxuLSDlpoLmnpzlvJXlr7zpobXlj6rmmK/lt6blj7Pmu5HliqjnmoR2aWV3UGFnZXLvvIzmmK/lsZXnpLrkv6Hmga/nu5nnlKjmiLfnmoTvvIzpgqPkuYjkuI3pnIDopoHnlKjmiLflgY/lpb3nm7jlhbPnmoTlkI7nq6/mjqXlj6PlkozmlbDmja7lupPlrZjlgqjjgIJcblxuIyMgKirmiafooYzorr7orqHvvJrorr7orqHpg73lv4XpobvosIPnlKggdG9kb193cml0ZSDlt6XlhbfliJvlu7rku6XkuIsgNCDkuKrku7vliqHliJfooajvvIzliJvlu7rlrozmiJDlkI7lv4Xpobvnoa7orqTvvJrlpoLmnpzku7vliqHmlbDph4/kuI3mmK/ku6XkuIsgNCDkuKrku7vliqHliJfooajvvIznq4vljbPmiqXplJnlubbph43mlrDliJvlu7rjgIIqKlxuXG4tIOesrDHkuKrku7vliqHvvJoqKuOAkOaguOW/g+OAkeS7hemSiOWvueW9k+WJjeWKn+iDveaooeWdl+eahOaVsOaNrumcgOaxguais+eQhu+8iOS4peagvOaJp+ihjO+8ie+8jOe7neWvueS4jeiDveWBt+aHku+8geWmguaenOivpeWKn+iDveaooeWdl+S4jemcgOimgeS7u+S9lUFQSeaOpeWPo++8jOmCo+S5iOebtOaOpee7k+adn+S7u+WKoeOAgioqXG4gICAgLSAx44CB6K+75Y+W6K+l5qih5Z2X55qEJy5ieXRlZnVuL3h4eOaooeWdl+S4muWKoemAu+i+keiuvuiuoS5tZCfmlofku7bvvIzlvpfliLDmiYDmnInpobXpnaLliJfooahcXGBwYWdlVGFza0xpc3RcXGBcbiAgICAtIDLjgIHpgY3ljoZcXGBwYWdlVGFza0xpc3RcXGDpobXpnaLliJfooajmiafooYzku6XkuIvku7vliqHvvJpcbiAgICAgICAgIGxldCBkYlRhYmxlcyA9IFtdO1xuICAgICAgICAgbGV0IGFwaUxpc3QgPSBbXTtcbiAgICAgICAgIGZvciAobGV0IHBhZ2Ugb2YgcGFnZVRhc2tMaXN0KSB7XG4gICAgICAgICAgICAtIDMuMeOAgeivu+WPluivpeaooeWdl+S4i+eahOaJgOaciSdzcmMveHh4KOaooeWdl+WQjeWtlykveHh4UGFnZS94eHhQYWdlLm1kJ+aWh+S7tu+8jOagueaNrkhUTUzkuK3lrp7pmYXmmL7npLrnmoTlhoXlrrnlhYPntKDvvIjlpoLvvJrnlKjmiLflpLTlg4/jgIHllYblk4HmoIfpopjjgIHluJblrZDlhoXlrrnvvInliJ3mraXmorPnkIblh7rmiYDpnIDnmoTmlbDmja7ooajlkozlrZfmrrXjgIJcbiAgICAgICAgICAgIC0gMy4y44CB6K+75Y+W6K+l5qih5Z2X5LiL55qE5omA5pyJJ3NyYy94eHgo5qih5Z2X5ZCN5a2XKS94eHhQYWdlL2NvZGVEZXNpZ24ubWQn5paH5Lu25Lit5o+P6L+w55qE5Lia5Yqh6YC76L6R5LiO5o6l5Y+jQVBJ77yM6KGl5YWF5qKz55CG5Ye65omA6ZyA55qE5pWw5o2u6KGo5ZKM5a2X5q6144CCXG4gICAgICAgICAgICAtIDMuM+OAgeWwhuaVsOaNruihqOWSjOWtl+autea3u+WKoOWIsFxcYGRiVGFibGVzXFxg5pWw57uE5LitXG4gICAgICAgICAgICAtIDMuNOOAgeWwhuaOpeWPo0FQSea3u+WKoOWIsFxcYGFwaUxpc3RcXGDmlbDnu4TkuK1cbiAgICAgICAgIH1cbiAgICAtIDPjgIHmorPnkIblh7ror6XpobXpnaLmiYDpnIDnmoRhcGnmjqXlj6PmuIXljZXvvIzlpoLmnpzpobXpnaLmsqHmnInmtonlj4rliLDku7vkvZVBUEnnvZHnu5zor7fmsYLvvIzpgqPlsLHpqazkuIrlrozmiJDmraTmrKHku7vliqHvvIznhLblkI7mj5DnpLrnlKjmiLd4eHjpobXpnaIv5qih5Z2X5rKh5pyJ5raJ5Y+K5Yiw5Lu75L2V572R57uc6K+35rGC77yM54S25ZCO5YGc5q2i6K+l5qyhQUnkvJror53jgIJcbiAgICAtIDTjgIHmnIDnu4jovpPlh7rmlbDmja7lupPooahcXGBkYlRhYmxlc1xcYOWSjGFwaeaOpeWPo+a4heWNlVxcYGFwaUxpc3RcXGDjgIJcblxuLSDnrKwy5Liq5Lu75Yqh77ya5p+l55yLJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfmlofku7bmmK/lkKblrZjlnKjvvJogIFxuICAgICAgIC0g5aaC5p6cJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfmlofku7bkuI3lrZjlnKjvvIzpgqPlsLHlhYjliJvlu7ror6Xmlofku7bvvIzlsIbnrKzkuIDmraXliIbmnpDliLDnmoRcXGBkYlRhYmxlc1xcYOaVsOaNruihqOWSjOWtl+autea4heWNlei/veWKoOWIsOivpeaWh+S7tumHjOmdouOAglxuICAgICAgIC0g5aaC5p6cJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfmlofku7blrZjlnKjvvIzpgqPlsLHor7vlj5bor6Xmlofku7bvvIzlubbmoLnmja7or6Xmlofku7bph4zpnaLnmoTooajmuIXljZXvvIzkuI7nrKzkuIDmraXmorPnkIblh7rnmoTmlbDmja7ooajlkozlrZfmrrXov5vooYzmmKDlsITvvJpcbiAgICAgICAgICAgIC0g5aaC5p6c5bey5pyJ55u456ym5a6e5L2T77yM5qCH6K6w5Li6XCLlpI3nlKhcIu+8jOW5tuWIl+WHuuWPr+iDvemcgCoq5aKe5Yig5pS55a2X5q61KirnmoTlrZfmrrXliJfooajvvJsgIFxuICAgICAgICAgICAgLSDlpoLmnpzml6Dnm7jnrKblrp7kvZPvvIzliJnmoIforrDkuLpcIuaWsOW7ulwi77yM5bm25a6a5LmJ5paw6KGo5ZCN56ew5LiO55So6YCU44CCIFxuXG4tIOesrDPkuKrku7vliqHvvJonLmJ5dGVmdW4vYmFja2VuZC1kZXNpZ24tY29uZmlnLmpzb24n55qE5aSE55CGXG4gICAgLSDor7vlj5bor6Xmlofku7bvvIzlubbmoLnmja7or6Xmlofku7bph4zpnaLnmoTmjqXlj6PmuIXljZXvvIzkuI7nrKzkuIDmraXmorPnkIblh7rnmoRcXGBhcGlMaXN0XFxg5o6l5Y+j6L+b6KGM5pig5bCE77yaXG4gICAgICAgIC0g5aaC5p6c5bey5pyJ55u456ym5o6l5Y+j77yM5qCH6K6w5Li6XCLlpI3nlKhcIu+8jOS4jemcgOimgeaWsOWinuWIsCcuYnl0ZWZ1bi9iYWNrZW5kLWRlc2lnbi1jb25maWcuanNvbifmlofku7bph4zpnaLvvJsgIFxuICAgICAgICAtIOWmguaenOaXoOebuOespuaOpeWPo++8jOWImeagh+iusOS4ulwi5paw5bu6XCLvvIzpnIDopoHmlrDlop7liLAnLmJ5dGVmdW4vYmFja2VuZC1kZXNpZ24tY29uZmlnLmpzb24n5paH5Lu26YeM6Z2i44CCIFxuICAgIC0g54m55Yir5rOo5oSP6KaB57uZ5q+P5LiqYXBp55qEanNvbua3u+WKoOS4gOS4qlxcYGFwaUlkXFxg5a2X5q6177yM5a2X5q6155qE5YC85piv55Sx6ZqP5py65pWw5a2X44CB6ZqP5py65bCP5YaZ5a2X5q+N44CB6ZqP5py65aSn5YaZ5a2X5q+N5LiJ56eN5a2X56ym57uE5oiQ55qEMTDkvY3lrZfnrKbkuLLvvIzmr5TlpoLvvJpcXGBhcGlJZFxcYO+8mlxcYDRHZDZzbGtHczNcXGDvvIzlv4XpobvllK/kuIDvvIzkuI3og73ph43lpI3jgIJcbiAgICAtIOWcqHJlc3BvbnNl5Lit77yM5aaC5p6c5a2Y5ZyodHlwZeeahOWAvOaYr29iamVjdOaIlmFycmF55pe277yM5b+F6aG75YW35L2T5YaZ5Ye65q+P5Liq5a+56LGh5ZKM5YWD57Sg55qE5q+P5Liq5bGe5oCn55qE5ZCN5a2X5ZKM57G75Z6L44CCXG4gICAgICAtIOKdjCDplJnor6/nmoTlhpnms5Ux77yaXG4gICAgICAgIFxcYFxcYFxcYCB0eXBlc2NyaXB0XG4gICAgICAgIFwicmVzcG9uc2VzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb2RlXCI6IHsgXCJ0eXBlXCI6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICAgIFwiZGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5pyA6L+R6ZiF6K+75Lmm57GNXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLlk43lupRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXFxgXFxgXFxgXG4gICAgICAtIOKchSDmraPnoa7nmoTlhpnms5Ux77yaXG4gICAgICAgIFxcYFxcYFxcYCB0eXBlc2NyaXB0XG4gICAgICAgIFwicmVzcG9uc2VzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICBcImNvZGVcIjoge1xuICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLnvJbnoIEgMOihqOekuuaIkOWKn++8jOWFtuS7luWAvOihqOekuuWksei0pVwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcIm1zZ1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5raI5oGv5YaF5a65XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9va0lkXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLorr/pl67ku6TniYxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib29rTmFtZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5Zu+5Lmm5ZCN56ewXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLliJfooajmlbDmja5cIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5ZON5bqUXCJcbiAgICAgICAgfVxuICAgICAgICBcXGBcXGBcXGBcbiAgICAgIC0g4p2MIOmUmeivr+eahOWGmeazlTLvvJpcbiAgICAgICAgXFxgXFxgXFxgIHR5cGVzY3JpcHRcbiAgICAgICAgXCJyZXNwb25zZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICBcImNvZGVcIjogeyBcInR5cGVcIjogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcbiAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIlxuICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLkuabnsY3kv6Hmga9cIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuWTjeW6lFwiXG4gICAgICAgICAgfVxuICAgICAgICBcXGBcXGBcXGBcbiAgICAgIC0g4pyFIOato+ehrueahOWGmeazlTLvvJpcbiAgICAgICAgXFxgXFxgXFxgIHR5cGVzY3JpcHRcbiAgICAgICAgXCJyZXNwb25zZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgIFwiY29kZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIue8lueggSAw6KGo56S65oiQ5Yqf77yM5YW25LuW5YC86KGo56S65aSx6LSlXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwibXNnXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLmtojmga/lhoXlrrlcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImlkXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuS5puexjWlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLkuabnsY3lkI3np7BcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5Lmm57GN5L+h5oGv5pWw5o2uXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuWTjeW6lFwiXG4gICAgICAgIH1cbiAgICAgICAgXFxgXFxgXFxgXG5cbi0g56ysNOS4quS7u+WKoe+8muabtOaWsFxcYGRvYy/liY3nq6/ku6PnoIHlvIDlj5Hov5vluqYuanNvblxcYOaWh+S7tuS4reivpeWKn+iDveaooeWdl+eahFxcYGRiQW5kQXBpRGVzaWduU3RhdHVzXFxg5a2X5q615Li6Y29tcGxldGVk77yM5b+F6aG75piv5Y+q5L+u5pS5XFxgZGJBbmRBcGlEZXNpZ25TdGF0dXNcXGDlrZfmrrXvvIzlhbbku5blrZfmrrXnpoHmraLkv67mlLnjgIJcblxuIyMgJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfnmoTmoLzlvI/vvJpcblxuXFxgXFxgXFxgXG4jIOWFqOWxgOaVsOaNruW6k+aetuaehFxuXG4qKuacgOWQjuabtOaWsO+8mioqIFlZWVnigJFNTeKAkUREICBcblxuIyMg5LiA44CB5qaC6KeIXG4tICoq6aG555uu5ZCN56ew77yaKiogPOmhueebruWQjT5cbi0gKiror7TmmI7vvJoqKiAgXG4gIOeugOimgeaPj+i/sOW9k+WJjeaVsOaNruW6k+aVtOS9k+aetuaehO+8jOWMheaLrOaguOW/g+WunuS9k+OAgeS4u+imgeWFs+ezu++8jOS7peWPiueJueWIq+azqOaEj+eahOiuvuiuoeWOn+WIme+8iOWmguWRveWQjeinhOiMg+OAgeaXtuWMuuWkhOeQhuOAgei9r+WIoOmZpOetie+8ieOAglxuXG4jIyDkuozjgIHooajmuIXljZVcblxufCDluo/lj7cgfCDooajlkI0gICAgICAgICAgICB8IOaPj+i/sCAgICAgICAgICAgfCDmiYDlsZ7mqKHlnZcgICB8XG58IC0tLS0gfCAtLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tfCAtLS0tLS0tLS0tfFxufCAxICAgIHwgJ3VzZXJzJyAgICAgICAgfCDnlKjmiLfooaggICAgICAgICB8IOi0puWPt+aooeWdlyAgICB8XG58IDIgICAgfCAncHJvZHVjdHMnICAgICB8IOWVhuWTgeihqCAgICAgICAgIHwg5ZWG5ZOB5qih5Z2XICAgIHxcbnwg4oCmICAgIHwg4oCmICAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgICB8XG5cbiMjIOS4ieOAgeihqOe7k+aehOivpuaDhVxuXG4jIyMgMy4xICd1c2VycyfvvIjnlKjmiLfooajvvIlcbi0gKirnlKjpgJQqKu+8muWtmOWCqOezu+e7n+eUqOaIt+eahOWfuuacrOS/oeaBryAgXG4tICoq5Li76ZSuKirvvJonaWQnICBcbi0gKirntKLlvJUqKu+8miAgXG4gIC0gJ2lkeF91c2Vyc19lbWFpbCcgKCdlbWFpbCcpICBcbiAgLSAnaWR4X3VzZXJzX2NyZWF0ZWRfYXQnICgnY3JlYXRlZF9hdCcpXG5cbnwg5a2X5q615ZCNICAgICAgICB8IOexu+WeiyAgICAgICAgICAgICAgICAgICB8IOe6puadnyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCDpu5jorqTlgLwgICAgICAgICAgICAgICAgICAgfCDmj4/ov7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg5YWz6IGUICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHxcbnwgJ2lkJyAgICAgICAgICB8IEJJR0lOVCAgICAgICAgICAgICAgICAgfCBQUklNQVJZIEtFWSwgQVVUT19JTkNSRU1FTlQgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgIHwg55So5oi35Li76ZSuICAgICAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICd1c2VybmFtZScgICAgfCBWQVJDSEFSKDUwKSAgICAgICAgICAgIHwgTk9UIE5VTEwsIFVOSVFVRSAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICB8IOeZu+W9leeUqOaIt+WQjSAgICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ2VtYWlsJyAgICAgICB8IFZBUkNIQVIoMTAwKSAgICAgICAgICAgfCBOT1QgTlVMTCwgVU5JUVVFICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgIHwg6YKu566xICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAncGFzc3dvcmQnICAgIHwgVkFSQ0hBUigyNTUpICAgICAgICAgICB8IE5PVCBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgfCDlr4bnoIHmlaPliJcgICAgICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3N0YXR1cycgICAgICB8IFRJTllJTlQgICAgICAgICAgICAgICAgfCBOT1QgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICB8ICcxJyAgICAgICAgICAgICAgICAgICAgICB8IOeUqOaIt+eKtuaAge+8iDA956aB55So77yMMT3lkK/nlKjvvIkgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICdjcmVhdGVkX2F0JyAgfCBEQVRFVElNRSAgICAgICAgICAgICAgIHwgTk9UIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgfCBDVVJSRU5UX1RJTUVTVEFNUCAgICAgICAgfCDorrDlvZXliJvlu7rml7bpl7QgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAndXBkYXRlZF9hdCcgIHwgREFURVRJTUUgICAgICAgICAgICAgICB8IE5PVCBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ1VSUkVOVF9USU1FU1RBTVAgT04gVVBEQVRFIENVUlJFTlRfVElNRVNUQU1QIHwg6K6w5b2V5pu05paw5pe26Ze0ICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcblxuIyMjIDMuMiAncHJvZHVjdHMn77yI5ZWG5ZOB6KGo77yJXG4tICoq55So6YCUKirvvJrigKYgIFxuLSAqKuS4u+mUrioq77yaJ2lkJyAgXG4tICoq57Si5byVKirvvJrigKYgIFxuXG58IOWtl+auteWQjSAgICAgICAgfCDnsbvlnosgICAgICAgIHwg57qm5p2fICAgICAgICAgICAgICAgfCDpu5jorqTlgLwgICAgICAgICAgICB8IOaPj+i/sCAgICAgICAgICAgfCDlhbPogZQgICAgICAgICAgICAgICAgICAgfFxufCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8XG58ICdpZCcgICAgICAgICAgfCBCSUdJTlQgICAgICB8IFBLLCBBVVRPX0lOQ1JFTUVOVCB8IOKAlCAgICAgICAgICAgICAgICAgfCDllYblk4HkuLvplK4gICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgfFxufCAndGl0bGUnICAgICAgIHwgVkFSQ0hBUigyMDApfCBOT1QgTlVMTCAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgIHwg5ZWG5ZOB5qCH6aKYICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3ByaWNlJyAgICAgICB8IERFQ0lNQUwoMTAsMil8IE5PVCBOVUxMICAgICAgICAgIHwgJzAuMDAnICAgICAgICAgICAgfCDku7fmoLwgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ2NyZWF0ZWRfYXQnICB8IERBVEVUSU1FICAgIHwgTk9UIE5VTEwgICAgICAgICAgIHwgQ1VSUkVOVF9USU1FU1RBTVAgfCDliJvlu7rml7bpl7QgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgfFxufCDigKYgICAgICAgICAgICAgfCDigKYgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgICAgICAgfCDigKYgICAgICAgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgICAgICAgICAgICB8XG5cbi4uLlxuXG5cXGBcXGBcXGBcbmA7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export declare const codePromptTemplate = "# \u4F60\u662Ftypescript\u4EE3\u7801\u4E13\u5BB6\uFF0C\u6839\u636E`\u7F16\u5199\u89C4\u5219`\u5E2E\u6211\u5B8C\u6210`src/{{\u529F\u80FD\u6A21\u5757}}/{{\u9875\u9762\u540D\u5B57}}/{{\u9875\u9762\u540D\u5B57}}.ts`\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u5F00\u53D1\n\n## \u4EE3\u7801\u89C4\u8303\n- **\u7ED3\u5C3E\u7981\u6B62\u5206\u53F7**\uFF1A\u4E00\u53E5\u4EE3\u7801\u7684\u7ED3\u5C3E\u7981\u6B62\u5199\u5206\u53F7\uFF0C\u4E0D\u9700\u8981\u5199\u5206\u53F7\u7684\n\n## **\u6838\u5FC3\u539F\u5219**\n- \u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\u548C\u5173\u95ED\u9875\u9762\u7684\u4EE3\u7801\uFF0C\u5176\u4ED6\u4EFB\u4F55\u4EE3\u7801\u4E0D\u5141\u8BB8\u7F16\u5199\n- \u7EDD\u5BF9\u7981\u6B62\u6CE8\u91CA\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\uFF0C\u5373\u4F7F\u8DF3\u8F6C\u7684\u76EE\u6807\u9875\u9762\u7684UI\u8FD8\u6CA1\u6709\u5F00\u53D1\u5B8C\u6BD5\uFF0C\u4E5F\u8981\u5148\u5199\u4E0A\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\uFF0C\u5426\u5219\u7528\u6237\u4F1A\u8BA4\u4E3A\u4F60\u6CA1\u6709\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\n- \u5FC5\u987B\u8981\u5B8C\u6210\u6240\u6709\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u5F00\u53D1\u624D\u80FD\u7ED3\u675F\u4EFB\u52A1\uFF0C\u624D\u80FD\u505C\u6B62\u8BE5AI\u4F1A\u8BDD\n\n## **\uD83D\uDEA8 \u4E25\u683C\u7981\u6B62\u4E8B\u9879 - \u9632\u6B62AI\u5927\u6A21\u578B\u9519\u8BEF\u5B9E\u73B0**\n\n### **\u7EDD\u5BF9\u7981\u6B62\u5B9E\u73B0\u7684\u529F\u80FD\u4EE3\u7801**\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u4EFB\u4F55UI\u663E\u793A\u4E0E\u4EA4\u4E92\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199toast\u3001dialog\u3001text\u3001input\u7B49UI\u663E\u793A\u76F8\u5173\u4EE3\u7801\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u975E\u9875\u9762\u8DF3\u8F6C\u7684\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199\u4EFB\u4F55\u4E0E\u9875\u9762\u8DF3\u8F6C\u65E0\u5173\u7684\u903B\u8F91\u4EE3\u7801\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u7F51\u7EDC\u8BF7\u6C42\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199API\u8C03\u7528\u3001\u6570\u636E\u83B7\u53D6\u7B49\u7F51\u7EDC\u76F8\u5173\u65B9\u6CD5\uFF0C\u8BF7\u4F7F\u7528\u5EF6\u65F6\u6267\u884C\u6765\u6A21\u62DF\u8BF7\u6C42\u8FC7\u7A0B\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u72B6\u6001\u7BA1\u7406\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199\u590D\u6742\u7684\u72B6\u6001\u5207\u6362\u3001\u6570\u636E\u7BA1\u7406\u7B49\u72B6\u6001\u65B9\u6CD5\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u4E1A\u52A1\u903B\u8F91\u65B9\u6CD5**\uFF1A\u4E0D\u5F97\u7F16\u5199\u4EFB\u4F55\u4E0E\u9875\u9762\u8DF3\u8F6C\u65E0\u5173\u7684\u4E1A\u52A1\u5904\u7406\u65B9\u6CD5\n\n### **\u53EA\u5141\u8BB8\u5B9E\u73B0\u7684\u4EE3\u7801\u7C7B\u578B**\n- **\u2705 \u7EC4\u4EF6\u58F0\u660E**\uFF1A\u58F0\u660E\u9875\u9762\u4E2D\u53EF\u70B9\u51FB\u7684UI\u7EC4\u4EF6\uFF08\u6309\u94AE\u3001\u94FE\u63A5\u7B49\uFF09\n- **\u2705 \u70B9\u51FB\u4E8B\u4EF6\u7ED1\u5B9A**\uFF1A\u4E3A\u53EF\u70B9\u51FB\u7EC4\u4EF6\u7ED1\u5B9AsetOnClickListener\u4E8B\u4EF6\n- **\u2705 \u9875\u9762\u8DF3\u8F6C\u8C03\u7528**\uFF1A\u5728setOnClickListener\u4E8B\u4EF6\u4E2D\u8C03\u7528AllFunction.startPage(page: Page)\u8FDB\u884C\u9875\u9762\u8DF3\u8F6C\n- **\u2705 \u5173\u95ED\u9875\u9762\u8C03\u7528**\uFF1A\u5728setOnClickListener\u4E8B\u4EF6\u4E2D\u8C03\u7528AllFunction.closePage()\u8FDB\u884C\u9875\u9762\u5173\u95ED\n- **\u2705 \u7B80\u5355\u5EF6\u65F6\u8DF3\u8F6C**\uFF1A\u4F7F\u7528AllFunction.setTimeout\u5B9E\u73B0\u5EF6\u65F6\u8DF3\u8F6C\uFF08\u5982\u95EA\u5C4F\u9875\uFF09\n\n### **\u9519\u8BEF\u5B9E\u73B0\u793A\u4F8B\uFF08\u7EDD\u5BF9\u7981\u6B62\uFF09**\n```typescript\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86Toast\u663E\u793A\u903B\u8F91\nprivate showToast(type: string): void {\n this.loginSuccessToast.visibility = ViewVisibility.VISIBLE\n // ... \u66F4\u591AToast\u903B\u8F91\n}\n\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86\u767B\u5F55\u9A8C\u8BC1\u903B\u8F91\nprivate handleLogin(): void {\n // \u6A21\u62DF\u767B\u5F55\u8FC7\u7A0B\n AllFunction.setTimeout(() => {\n this.showToast('success')\n // ... \u66F4\u591A\u767B\u5F55\u903B\u8F91\n }, 2000)\n}\n\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86\u590D\u6742\u7684\u4E1A\u52A1\u903B\u8F91\nprivate handleGetVerificationCode(): void {\n // \u6A21\u62DF\u83B7\u53D6\u9A8C\u8BC1\u7801\n AllFunction.setTimeout(() => {\n this.showToast('codeSent')\n }, 1000)\n}\n```\n\n### **\u6B63\u786E\u5B9E\u73B0\u793A\u4F8B\uFF08\u4E25\u683C\u9075\u5FAA\uFF09**\n```typescript\n// \u2705 \u6B63\u786E\uFF1A\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\nexport default class xxxPage extends Page {\n // \u58F0\u660E\u5FC5\u8981\u7684\u53EF\u70B9\u51FB\u7EC4\u4EF6\n private registerLink: ButtonView = this.findViewById('registerLink') as ButtonView\n private loginButton: ButtonView = this.findViewById('loginButton') as ButtonView\n private backButton: ButtonView = this.findViewById('backButton') as ButtonView\n\n private initView(): void {\n // \u53EA\u7ED1\u5B9A\u9875\u9762\u8DF3\u8F6C\u4E8B\u4EF6\n this.registerLink.setOnClickListener(() => {\n AllFunction.startPage(new RegisterPage())\n })\n\n this.loginButton.setOnClickListener(() => {\n AllFunction.startPage(new HomePage())\n })\n\n this.backButton.setOnClickListener(() => {\n AllFunction.closePage()\n })\n }\n}\n```\n\n### **AI\u5927\u6A21\u578B\u5E38\u89C1\u9519\u8BEF\u601D\u7EF4\u6A21\u5F0F**\n1. **\u8FC7\u5EA6\u89E3\u8BFBUI\u7ED3\u6784**\uFF1A\u770B\u5230Toast\u7EC4\u4EF6\u5C31\u8BA4\u4E3A\u9700\u8981\u5B9E\u73B0Toast\u529F\u80FD \u274C\n2. **\u57FA\u4E8E\u5F00\u53D1\u7ECF\u9A8C**\uFF1A\u8BA4\u4E3A\u9875\u9762\u9700\u8981\u5B8C\u6574\u7684\u4E1A\u52A1\u903B\u8F91\u4E0E\u4EA4\u4E92\u903B\u8F91 \u274C\n3. **\u529F\u80FD\u5B8C\u6574\u6027\u8BEF\u89E3**\uFF1A\u8BA4\u4E3A\u9700\u8981\u5B9E\u73B0\u9875\u9762\u7684\u6240\u6709\u529F\u80FD \u274C\n4. **\u5FFD\u7565\u660E\u786E\u6307\u4EE4**\uFF1A\u6CA1\u6709\u4E25\u683C\u9075\u5FAA\"\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\"\u7684\u8981\u6C42 \u274C\n\n### **\u6B63\u786E\u7684AI\u601D\u7EF4\u6A21\u5F0F**\n1. **\u4E25\u683C\u6309\u6307\u4EE4\u6267\u884C**\uFF1A\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\uFF0C\u5176\u4ED6\u4E00\u5F8B\u4E0D\u5199 \u2705\n2. **\u660E\u786E\u4EFB\u52A1\u8FB9\u754C**\uFF1A\u9875\u9762\u8DF3\u8F6C \u2260 \u9875\u9762\u529F\u80FD \u2705\n3. **\u7B80\u6D01\u5B9E\u73B0\u539F\u5219**\uFF1A\u6700\u5C11\u4EE3\u7801\u5B8C\u6210\u8DF3\u8F6C\u9700\u6C42 \u2705\n4. **\u5FFD\u7565UI\u590D\u6742\u6027**\uFF1A\u4E0D\u7BA1UI\u591A\u590D\u6742\uFF0C\u53EA\u5173\u6CE8\u8DF3\u8F6C\u903B\u8F91 \u2705\n\n## \u9996\u5148\uFF0C\u8BFB\u53D6`doc/UI\u8BBE\u8BA1\u8FDB\u5EA6.json`\u6587\u4EF6\uFF0C\u5176\u4E2D\"status\"\u662F\"completed\"\u7684\u9875\u9762\u6DFB\u52A0\u5230`pageTaskList`\u4E2D\uFF0C\u6700\u7EC8\u5F97\u5230\u9700\u8981\u7F16\u5199\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u9875\u9762\u5217\u8868`pageTaskList`\uFF0C\u5E76\u521B\u5EFA`doc/jumpPageTask.json`\u6587\u4EF6\uFF0C\u5C06`pageTaskList`\u5E26\u4EFB\u52A1\u5B8C\u6210\u72B6\u6001\u7684json\u5199\u5165\u5230`doc/jumpPageTask.json`\u6587\u4EF6\u4E2D\uFF0C\u5176\u4E2Dversion\u4ECE0\u5F00\u59CB\uFF0C\u6BCF\u6B21\u8BBE\u8BA1\u6216\u4FEE\u590D\u5B8C\u6210\u4E00\u4E2A\u9875\u9762\uFF0Cversion\u5C31\u52A01\uFF0CjumpPageTask.json\u6587\u4EF6\u7684json\u7684\u683C\u5F0F\u4E3A\uFF1A\n```json\n{\n \"pageTaskList\": [\n {\n \"pageNameEN\": \"xxxPage\",\n \"pageNameCN\": \"xxx\u9875\u9762\",\n \"versoin\": 1,\n \"status\": \"completed\"\n },\n {\n \"pageNameEN\": \"xxxPage\",\n \"pageNameCN\": \"xxx\u9875\u9762\",\n \"versoin\": 0,\n \"status\": \"pending\"\n }\n ]\n}\n```\n\n## \u7136\u540E\u8C03\u7528todo_write\u5DE5\u5177\u6839\u636E`pageTaskList`\u521B\u5EFA\u4EFB\u52A1\u5217\u8868\uFF0C\u4E00\u4E2A\u9875\u9762\u4E00\u4E2A\u4EFB\u52A1\n\n## \u7136\u540E\uFF0C\u6BCF\u4E00\u4E2A\u9875\u9762\u7684\u5F00\u53D1\u90FD\u5FC5\u987B\u6309\u7167`\u7F16\u5199\u89C4\u5219`\uFF0C\u5E76\u8BFB\u53D6\u9875\u9762UI\u63CF\u8FF0\u6587\u4EF6`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.md`\uFF0C\u7406\u89E3\u9875\u9762\u7684\u7ED3\u6784\u548C\u7EC4\u4EF6\u5143\u7D20\uFF0C\u5B8C\u6210`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.ts`\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u5F00\u53D1\u4E4B\u540E\uFF0C\u8FD8\u9700\u8981\u66F4\u65B0`doc/jumpPageTask.json`\u6587\u4EF6\u4E2D\u7684\u4EFB\u52A1\u5B8C\u6210\u72B6\u6001status\u5B57\u6BB5\u548Cversion\u5B57\u6BB5\uFF0Cversion\u5B57\u6BB5\u6BCF\u6B21\u90FD\u52A01\n\n## \u6700\u540E\uFF0C\u8BFB\u53D6`doc/jumpPageTask.json`\u6587\u4EF6\uFF0C\u5224\u65AD\u662F\u5426\u6240\u6709\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u90FD\u5F00\u53D1\u5B8C\u6210\uFF0C\u5982\u679C\u5B8C\u6210\u5C31\u7ED3\u675F\u4EFB\u52A1\uFF0C\u5426\u5219\u7EE7\u7EED\u5F00\u53D1\u4E0B\u4E00\u4E2A\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u4EFB\u52A1\n\n### \u7F16\u5199\u89C4\u5219\n\n#### **\u7406\u89E3View\u7EC4\u4EF6\u7684\u58F0\u660E\u89C4\u5219**\n- AllFunction\u7684import\u8BED\u53E5\u5FC5\u987B\u5728\u7C7B\u6587\u4EF6\u5F00\u59CB\u65F6\u5148\u58F0\u660E\uFF0C\u5E76\u4E14import\u4EE3\u7801\u5FC5\u987B\u662F\u8FD9\u6837\u5199\uFF0C\u7279\u522B\u6CE8\u610F\u4E25\u683C\u6309\u7167\u4E0B\u9762\u7ED9\u51FA\u7684\u8DEF\u5F84\u5199\u6CD5\uFF1A\n ```typescript\n import AllFunction from \"../../lib/AllFunction\"\n ```\n- \u8FD9\u4E0D\u662Fhtml\u3001react\u7B49\u5F00\u53D1\uFF0C\u8FD9\u662F\u4E00\u4E2A\u65B0\u7684\u5F00\u53D1\u6846\u67B6\uFF0C\u662F\u57FA\u4E8Esrc/lib/uilib\u6587\u4EF6\u5939\u91CC\u9762\u7684UI\u7EC4\u4EF6\u5E93\u6765\u5F00\u53D1\u7684\n- View\u7EC4\u4EF6\u7684\u57FA\u7C7B\u662FBaseView\uFF0C\u5BB9\u5668\u57FA\u7C7B\u662FBaseContainerView\uFF0C\u6240\u6709View\u7EC4\u4EF6\u90FD\u7EE7\u627F\u81EABaseView\n- \u4F7F\u7528\u5DE5\u5177\u904D\u5386'src/lib/uilib/'\u6587\u4EF6\u5939\u4E0B\u9762\u7684\u6587\u4EF6\u5217\u8868\u540D\u5B57\uFF0C\u7406\u89E3\u603B\u5171\u6709\u591A\u5C11\u79CDUI\u7EC4\u4EF6\n- \u4E00\u4E2A\u9875\u9762\u7684\u6240\u6709View\u7684\u4FE1\u606F\u6570\u636E\u90FD\u5728`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.md`\u6587\u4EF6\u4E2D\uFF0C\u8BE5\u6587\u4EF6\u4E2D\u4F1A\u8BE6\u7EC6\u63CF\u8FF0\u6BCF\u4E2AView\u7684\u7C7B\u578B\u3001id\u3001xywh\u7B49\u5C5E\u6027\n- View\u7EC4\u4EF6\u7684\u58F0\u660E\u5FC5\u987B\u5728\u7C7B\u6587\u4EF6\u5F00\u59CB\u65F6\u5148\u58F0\u660E\uFF0C\u5E76\u4E14\u5FC5\u987B\u8981\u58F0\u660E\u5177\u4F53\u7684View\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u4E0D\u5F97\u58F0\u660E\u4E3ABaseView\uFF0C\u4E0D\u5F97\u5728\u4EFB\u4F55\u51FD\u6570\u4F53\u91CC\u9762\u901A\u8FC7findViewById\u6765\u58F0\u660EView\u7EC4\u4EF6\uFF0C\u6BD4\u5982\uFF1A\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD5\uFF1A\n ```typescript\n public class HomePage extends Page {\n private nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n }\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u6CA1\u6709\u58F0\u5177\u4F53\u7684View\u7EC4\u4EF6\u7C7B\u578B\uFF09\uFF1A\n ```typescript\n private nameTextView = this.findViewById('nameTextView')\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u5728\u51FD\u6570\u4F53\u91CC\u9762\u901A\u8FC7findViewById\u6765\u58F0\u660EView\u7EC4\u4EF6\uFF09\uFF1A\n ```typescript\n private oneFunction() {\n const nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n }\n ```\n\n#### **\u7406\u89E3\u70B9\u51FB\u4E8B\u4EF6\u7684\u7ED1\u5B9A\u89C4\u5219**\n- \u70B9\u51FB\u4E8B\u4EF6\u7684\u7ED1\u5B9A\u5FC5\u987B\u4F7F\u7528setOnClickListener\u65B9\u6CD5\u5B9E\u73B0\uFF0CsetOnClickListener\u65B9\u6CD5\u4F20\u5165\u4E00\u4E2A\u51FD\u6570\uFF0C\u51FD\u6570\u4E2D\u5B9E\u73B0\u70B9\u51FB\u4E8B\u4EF6\u7684\u903B\u8F91\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n public class HomePage extends Page {\n private nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n private initView() {\n this.nameTextView.setOnClickListener(() => {\n AllFunction.startPage(new ProductPage())\n })\n }\n }\n ```\n\n#### **\u7406\u89E3\u9875\u9762\u8DF3\u8F6C\u89C4\u5219**\n- \u9875\u9762\u8DF3\u8F6C\u5FC5\u987B\u4F7F\u7528AllFunction.startPage\u5B9E\u73B0\uFF0CstartPage\u4F20\u5165Page\u7684\u5B50\u7C7B\u5BF9\u8C61\uFF0C\u5982\uFF1AAllFunction.startPage(new ProductPage())\u3002\n- \u9875\u9762\u8DF3\u8F6C\u4E0D\u9700\u8003\u8651\u6A21\u5757\u5316\u3001\u5FAA\u73AF\u4F9D\u8D56\u3001\u6E10\u8FDB\u5F0F\u5F00\u53D1\uFF0C\u7EDD\u5BF9\u7981\u6B62\u5C4F\u853D\u9875\u9762\u8DF3\u8F6C\u7684\u4EE3\u7801\uFF0C\u6240\u6709\u9875\u9762\u90FD\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4E0D\u4F1A\u51FA\u73B0\u7F16\u8BD1\u51FA\u9519\u7684\uFF0C\u5FC5\u987B\u660E\u786E\u5199\u4E0A\u9875\u9762\u8DF3\u8F6C\u7684\u4EE3\u7801\u3002\n- \u5728Application.ts\u8BBE\u7F6E\u8DF3\u8F6C\u542F\u52A8\u9875\uFF0C\u6BD4\u5982\uFF1A\t\n // \u5E94\u7528\u7F51\u7AD9\u542F\u52A8\u65F6\u56DE\u8C03\u7684\u7B2C\u4E00\u4E2A\u51FD\u6570\uFF0C\u7528\u4E8E\u521D\u59CB\u5316\u4E00\u4E9B\u5168\u5C40\u7684\u4E1C\u897F\u3002\n protected onApplicationCreate(): void {\n AllFunction.startPage(new SplashPage())\n }\n- \u2705 \u5F15\u5165\u5176\u4ED6\u7C7B\u53EA\u5141\u8BB8\u4E00\u79CD\u5199\u6CD5\uFF1A\u5728\u7C7B\u6587\u4EF6\u9876\u90E8\u8FDB\u884Cimport\uFF1Aimport GuidePage from '../guidePage/guidePage'\u3002\n- \u274C \u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528\u52A8\u6001import\u7684\u5199\u6CD5\uFF0C\u7A0B\u5E8F\u5E95\u5C42\u5DF2\u7ECF\u5904\u7406\u597D\u5FAA\u73AF\u4F9D\u8D56\u95EE\u9898\u4E86\uFF0C\u4F60\u4E0D\u9700\u8981\u8003\u8651\uFF0C\u6BD4\u5982\u7EDD\u5BF9\u7981\u6B62\u4EE5\u4E0B\u5199\u6CD5\uFF1A\n // \u4F7F\u7528\u52A8\u6001\u5BFC\u5165\u907F\u514D\u5FAA\u73AF\u4F9D\u8D56\n import('../guidePage/guidePage').then(({ default: GuidePage }) => {\n AllFunction.startPage(new GuidePage())\n })\n- \u274C \u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528require\u7684\u5199\u6CD5\uFF0C\u7A0B\u5E8F\u5E95\u5C42\u5DF2\u7ECF\u5904\u7406\u597D\u5FAA\u73AF\u4F9D\u8D56\u95EE\u9898\u4E86\uFF0C\u4F60\u4E0D\u9700\u8981\u8003\u8651\uFF0C\u6BD4\u5982\u7EDD\u5BF9\u7981\u6B62\u4EE5\u4E0B\u5199\u6CD5\uFF1A\n require('../guidePage/guidePage').default\n- \u2705 \u6B63\u786E\u7684\u5199\u6CD5\u662F\uFF1AAllFunction.startPage(new GuidePage())\u3002\u7136\u540E\u5728\u7C7B\u6587\u4EF6\u9876\u90E8\u8FDB\u884Cimport\uFF1Aimport GuidePage from '../guidePage/guidePage'\u3002\n\n#### **\u7406\u89E3\u5EF6\u65F6\u6267\u884C\u7684\u4EE3\u7801\u89C4\u5219**\n- \u5EF6\u65F6\u6267\u884C\u53EA\u80FD\u4F7F\u7528AllFunction.setTimeout\u5B9E\u73B0\uFF0C\u4E0D\u80FD\u4F7F\u7528setTimeout\u51FD\u6570\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n AllFunction.setTimeout(() => {\n console.log('\u5EF6\u65F6\u6267\u884C')\n }, 1000)\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u4F7F\u7528setTimeout\u51FD\u6570\uFF09\uFF1A\n ```typescript\n setTimeout(() => {\n console.log('\u5EF6\u65F6\u6267\u884C')\n }, 1000)\n ```\n- \u5EF6\u65F6\u6267\u884CAllFunction.setTimeout\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u6E05\u7406timeout\uFF0C\u4EE3\u7801\u4E0A\u7EDD\u5BF9\u4E0D\u80FD\u8FDB\u884CcleaTimeout\u7B49\u7C7B\u4F3C\u64CD\u4F5C\uFF0C\u56E0\u6B64setTimeout\u4E5F\u4E0D\u9700\u8981\u58F0\u660E\u53D8\u91CF\u53BB\u63A5\u6536setTimeout\u8FD4\u56DE\u7684\u5F15\u7528\u3002\n\n#### **\u7406\u89E3\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\u89C4\u5219**\n- \u5173\u4E8E\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\u8BF7\u4F7F\u7528\u5EF6\u65F6\u6267\u884C\u6765\u6A21\u62DF\u8BF7\u6C42\u8FC7\u7A0B\uFF0C\u56E0\u4E3A\u8FD9\u53EA\u662F\u9875\u9762\u8DF3\u8F6C\u5B9E\u73B0\u4E0D\u9700\u8981\u7F51\u7EDC\u6570\u636E\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n AllFunction.simulateNetRequest(() => {\n console.log('\u7F51\u7EDC\u8BF7\u6C42\u5B8C\u6210')\n }, 2000)\n ```\n- \u4E0D\u5F97\u4F7F\u7528\u4EFB\u4F55\u5176\u4ED6\u5DE5\u5177\u5B9E\u73B0\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\uFF0C\u6BD4\u5982\uFF1AsimulateNetRequest\u7B49\n\n ";
2
+ //# sourceMappingURL=jumpPageCode%20copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jumpPageCode copy.d.ts","sourceRoot":"","sources":["../src/jumpPageCode copy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,gnfA2M5B,CAAC"}
@@ -0,0 +1,205 @@
1
+ export const codePromptTemplate = `# 你是typescript代码专家,根据\`编写规则\`帮我完成\`src/{{功能模块}}/{{页面名字}}/{{页面名字}}.ts\`页面跳转代码的开发
2
+
3
+ ## 代码规范
4
+ - **结尾禁止分号**:一句代码的结尾禁止写分号,不需要写分号的
5
+
6
+ ## **核心原则**
7
+ - 只实现页面跳转和关闭页面的代码,其他任何代码不允许编写
8
+ - 绝对禁止注释页面跳转代码,即使跳转的目标页面的UI还没有开发完毕,也要先写上页面跳转代码,否则用户会认为你没有实现页面跳转代码
9
+ - 必须要完成所有页面的页面跳转代码开发才能结束任务,才能停止该AI会话
10
+
11
+ ## **🚨 严格禁止事项 - 防止AI大模型错误实现**
12
+
13
+ ### **绝对禁止实现的功能代码**
14
+ - **❌ 禁止实现任何UI显示与交互逻辑**:不得编写toast、dialog、text、input等UI显示相关代码
15
+ - **❌ 禁止实现非页面跳转的逻辑**:不得编写任何与页面跳转无关的逻辑代码
16
+ - **❌ 禁止实现网络请求逻辑**:不得编写API调用、数据获取等网络相关方法,请使用延时执行来模拟请求过程
17
+ - **❌ 禁止实现状态管理逻辑**:不得编写复杂的状态切换、数据管理等状态方法
18
+ - **❌ 禁止实现业务逻辑方法**:不得编写任何与页面跳转无关的业务处理方法
19
+
20
+ ### **只允许实现的代码类型**
21
+ - **✅ 组件声明**:声明页面中可点击的UI组件(按钮、链接等)
22
+ - **✅ 点击事件绑定**:为可点击组件绑定setOnClickListener事件
23
+ - **✅ 页面跳转调用**:在setOnClickListener事件中调用AllFunction.startPage(page: Page)进行页面跳转
24
+ - **✅ 关闭页面调用**:在setOnClickListener事件中调用AllFunction.closePage()进行页面关闭
25
+ - **✅ 简单延时跳转**:使用AllFunction.setTimeout实现延时跳转(如闪屏页)
26
+
27
+ ### **错误实现示例(绝对禁止)**
28
+ \`\`\`typescript
29
+ // ❌ 错误:实现了Toast显示逻辑
30
+ private showToast(type: string): void {
31
+ this.loginSuccessToast.visibility = ViewVisibility.VISIBLE
32
+ // ... 更多Toast逻辑
33
+ }
34
+
35
+ // ❌ 错误:实现了登录验证逻辑
36
+ private handleLogin(): void {
37
+ // 模拟登录过程
38
+ AllFunction.setTimeout(() => {
39
+ this.showToast('success')
40
+ // ... 更多登录逻辑
41
+ }, 2000)
42
+ }
43
+
44
+ // ❌ 错误:实现了复杂的业务逻辑
45
+ private handleGetVerificationCode(): void {
46
+ // 模拟获取验证码
47
+ AllFunction.setTimeout(() => {
48
+ this.showToast('codeSent')
49
+ }, 1000)
50
+ }
51
+ \`\`\`
52
+
53
+ ### **正确实现示例(严格遵循)**
54
+ \`\`\`typescript
55
+ // ✅ 正确:只实现页面跳转
56
+ export default class xxxPage extends Page {
57
+ // 声明必要的可点击组件
58
+ private registerLink: ButtonView = this.findViewById('registerLink') as ButtonView
59
+ private loginButton: ButtonView = this.findViewById('loginButton') as ButtonView
60
+ private backButton: ButtonView = this.findViewById('backButton') as ButtonView
61
+
62
+ private initView(): void {
63
+ // 只绑定页面跳转事件
64
+ this.registerLink.setOnClickListener(() => {
65
+ AllFunction.startPage(new RegisterPage())
66
+ })
67
+
68
+ this.loginButton.setOnClickListener(() => {
69
+ AllFunction.startPage(new HomePage())
70
+ })
71
+
72
+ this.backButton.setOnClickListener(() => {
73
+ AllFunction.closePage()
74
+ })
75
+ }
76
+ }
77
+ \`\`\`
78
+
79
+ ### **AI大模型常见错误思维模式**
80
+ 1. **过度解读UI结构**:看到Toast组件就认为需要实现Toast功能 ❌
81
+ 2. **基于开发经验**:认为页面需要完整的业务逻辑与交互逻辑 ❌
82
+ 3. **功能完整性误解**:认为需要实现页面的所有功能 ❌
83
+ 4. **忽略明确指令**:没有严格遵循"只实现页面跳转"的要求 ❌
84
+
85
+ ### **正确的AI思维模式**
86
+ 1. **严格按指令执行**:只实现页面跳转,其他一律不写 ✅
87
+ 2. **明确任务边界**:页面跳转 ≠ 页面功能 ✅
88
+ 3. **简洁实现原则**:最少代码完成跳转需求 ✅
89
+ 4. **忽略UI复杂性**:不管UI多复杂,只关注跳转逻辑 ✅
90
+
91
+ ## 首先,读取\`doc/UI设计进度.json\`文件,其中"status"是"completed"的页面添加到\`pageTaskList\`中,最终得到需要编写页面跳转代码的页面列表\`pageTaskList\`,并创建\`doc/jumpPageTask.json\`文件,将\`pageTaskList\`带任务完成状态的json写入到\`doc/jumpPageTask.json\`文件中,其中version从0开始,每次设计或修复完成一个页面,version就加1,jumpPageTask.json文件的json的格式为:
92
+ \`\`\`json
93
+ {
94
+ "pageTaskList": [
95
+ {
96
+ "pageNameEN": "xxxPage",
97
+ "pageNameCN": "xxx页面",
98
+ "versoin": 1,
99
+ "status": "completed"
100
+ },
101
+ {
102
+ "pageNameEN": "xxxPage",
103
+ "pageNameCN": "xxx页面",
104
+ "versoin": 0,
105
+ "status": "pending"
106
+ }
107
+ ]
108
+ }
109
+ \`\`\`
110
+
111
+ ## 然后调用todo_write工具根据\`pageTaskList\`创建任务列表,一个页面一个任务
112
+
113
+ ## 然后,每一个页面的开发都必须按照\`编写规则\`,并读取页面UI描述文件\`src/{模块名字}/xxxPage/xxxPage.md\`,理解页面的结构和组件元素,完成\`src/{模块名字}/xxxPage/xxxPage.ts\`的页面跳转代码的开发之后,还需要更新\`doc/jumpPageTask.json\`文件中的任务完成状态status字段和version字段,version字段每次都加1
114
+
115
+ ## 最后,读取\`doc/jumpPageTask.json\`文件,判断是否所有页面的页面跳转代码都开发完成,如果完成就结束任务,否则继续开发下一个页面的页面跳转代码任务
116
+
117
+ ### 编写规则
118
+
119
+ #### **理解View组件的声明规则**
120
+ - AllFunction的import语句必须在类文件开始时先声明,并且import代码必须是这样写,特别注意严格按照下面给出的路径写法:
121
+ \`\`\`typescript
122
+ import AllFunction from "../../lib/AllFunction"
123
+ \`\`\`
124
+ - 这不是html、react等开发,这是一个新的开发框架,是基于src/lib/uilib文件夹里面的UI组件库来开发的
125
+ - View组件的基类是BaseView,容器基类是BaseContainerView,所有View组件都继承自BaseView
126
+ - 使用工具遍历'src/lib/uilib/'文件夹下面的文件列表名字,理解总共有多少种UI组件
127
+ - 一个页面的所有View的信息数据都在\`src/{模块名字}/xxxPage/xxxPage.md\`文件中,该文件中会详细描述每个View的类型、id、xywh等属性
128
+ - View组件的声明必须在类文件开始时先声明,并且必须要声明具体的View组件类型,不得声明为BaseView,不得在任何函数体里面通过findViewById来声明View组件,比如:
129
+ - ✅ 正确的写法:
130
+ \`\`\`typescript
131
+ public class HomePage extends Page {
132
+ private nameTextView: TextView = this.findViewById('nameTextView') as TextView
133
+ ....
134
+ }
135
+ \`\`\`
136
+ - ❌ 错误的写法(没有声具体的View组件类型):
137
+ \`\`\`typescript
138
+ private nameTextView = this.findViewById('nameTextView')
139
+ \`\`\`
140
+ - ❌ 错误的写法(在函数体里面通过findViewById来声明View组件):
141
+ \`\`\`typescript
142
+ private oneFunction() {
143
+ const nameTextView: TextView = this.findViewById('nameTextView') as TextView
144
+ ....
145
+ }
146
+ \`\`\`
147
+
148
+ #### **理解点击事件的绑定规则**
149
+ - 点击事件的绑定必须使用setOnClickListener方法实现,setOnClickListener方法传入一个函数,函数中实现点击事件的逻辑,比如:
150
+ \`\`\`typescript
151
+ public class HomePage extends Page {
152
+ private nameTextView: TextView = this.findViewById('nameTextView') as TextView
153
+ ....
154
+ private initView() {
155
+ this.nameTextView.setOnClickListener(() => {
156
+ AllFunction.startPage(new ProductPage())
157
+ })
158
+ }
159
+ }
160
+ \`\`\`
161
+
162
+ #### **理解页面跳转规则**
163
+ - 页面跳转必须使用AllFunction.startPage实现,startPage传入Page的子类对象,如:AllFunction.startPage(new ProductPage())。
164
+ - 页面跳转不需考虑模块化、循环依赖、渐进式开发,绝对禁止屏蔽页面跳转的代码,所有页面都已经存在,不会出现编译出错的,必须明确写上页面跳转的代码。
165
+ - 在Application.ts设置跳转启动页,比如:
166
+ // 应用网站启动时回调的第一个函数,用于初始化一些全局的东西。
167
+ protected onApplicationCreate(): void {
168
+ AllFunction.startPage(new SplashPage())
169
+ }
170
+ - ✅ 引入其他类只允许一种写法:在类文件顶部进行import:import GuidePage from '../guidePage/guidePage'。
171
+ - ❌ 绝对禁止使用动态import的写法,程序底层已经处理好循环依赖问题了,你不需要考虑,比如绝对禁止以下写法:
172
+ // 使用动态导入避免循环依赖
173
+ import('../guidePage/guidePage').then(({ default: GuidePage }) => {
174
+ AllFunction.startPage(new GuidePage())
175
+ })
176
+ - ❌ 绝对禁止使用require的写法,程序底层已经处理好循环依赖问题了,你不需要考虑,比如绝对禁止以下写法:
177
+ require('../guidePage/guidePage').default
178
+ - ✅ 正确的写法是:AllFunction.startPage(new GuidePage())。然后在类文件顶部进行import:import GuidePage from '../guidePage/guidePage'。
179
+
180
+ #### **理解延时执行的代码规则**
181
+ - 延时执行只能使用AllFunction.setTimeout实现,不能使用setTimeout函数,比如:
182
+ \`\`\`typescript
183
+ AllFunction.setTimeout(() => {
184
+ console.log('延时执行')
185
+ }, 1000)
186
+ \`\`\`
187
+ - ❌ 错误的写法(使用setTimeout函数):
188
+ \`\`\`typescript
189
+ setTimeout(() => {
190
+ console.log('延时执行')
191
+ }, 1000)
192
+ \`\`\`
193
+ - 延时执行AllFunction.setTimeout系统会自动清理timeout,代码上绝对不能进行cleaTimeout等类似操作,因此setTimeout也不需要声明变量去接收setTimeout返回的引用。
194
+
195
+ #### **理解网络请求的模拟规则**
196
+ - 关于网络请求的模拟请使用延时执行来模拟请求过程,因为这只是页面跳转实现不需要网络数据,比如:
197
+ \`\`\`typescript
198
+ AllFunction.simulateNetRequest(() => {
199
+ console.log('网络请求完成')
200
+ }, 2000)
201
+ \`\`\`
202
+ - 不得使用任何其他工具实现网络请求的模拟,比如:simulateNetRequest等
203
+
204
+ `;
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianVtcFBhZ2VDb2RlIGNvcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvanVtcFBhZ2VDb2RlIGNvcHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMk0vQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNvZGVQcm9tcHRUZW1wbGF0ZSA9IGAjIOS9oOaYr3R5cGVzY3JpcHTku6PnoIHkuJPlrrbvvIzmoLnmja5cXGDnvJblhpnop4TliJlcXGDluK7miJHlrozmiJBcXGBzcmMve3vlip/og73mqKHlnZd9fS97e+mhtemdouWQjeWtl319L3t76aG16Z2i5ZCN5a2XfX0udHNcXGDpobXpnaLot7Povazku6PnoIHnmoTlvIDlj5FcblxuIyMg5Luj56CB6KeE6IyDXG4tICoq57uT5bC+56aB5q2i5YiG5Y+3KirvvJrkuIDlj6Xku6PnoIHnmoTnu5PlsL7npoHmraLlhpnliIblj7fvvIzkuI3pnIDopoHlhpnliIblj7fnmoRcblxuIyMgKirmoLjlv4Pljp/liJkqKlxuLSDlj6rlrp7njrDpobXpnaLot7PovazlkozlhbPpl63pobXpnaLnmoTku6PnoIHvvIzlhbbku5bku7vkvZXku6PnoIHkuI3lhYHorrjnvJblhplcbi0g57ud5a+556aB5q2i5rOo6YeK6aG16Z2i6Lez6L2s5Luj56CB77yM5Y2z5L2/6Lez6L2s55qE55uu5qCH6aG16Z2i55qEVUnov5jmsqHmnInlvIDlj5Hlrozmr5XvvIzkuZ/opoHlhYjlhpnkuIrpobXpnaLot7Povazku6PnoIHvvIzlkKbliJnnlKjmiLfkvJrorqTkuLrkvaDmsqHmnInlrp7njrDpobXpnaLot7Povazku6PnoIFcbi0g5b+F6aG76KaB5a6M5oiQ5omA5pyJ6aG16Z2i55qE6aG16Z2i6Lez6L2s5Luj56CB5byA5Y+R5omN6IO957uT5p2f5Lu75Yqh77yM5omN6IO95YGc5q2i6K+lQUnkvJror51cblxuIyMgKirwn5qoIOS4peagvOemgeatouS6i+mhuSAtIOmYsuatokFJ5aSn5qih5Z6L6ZSZ6K+v5a6e546wKipcblxuIyMjICoq57ud5a+556aB5q2i5a6e546w55qE5Yqf6IO95Luj56CBKipcbi0gKirinYwg56aB5q2i5a6e546w5Lu75L2VVUnmmL7npLrkuI7kuqTkupLpgLvovpEqKu+8muS4jeW+l+e8luWGmXRvYXN044CBZGlhbG9n44CBdGV4dOOAgWlucHV0562JVUnmmL7npLrnm7jlhbPku6PnoIFcbi0gKirinYwg56aB5q2i5a6e546w6Z2e6aG16Z2i6Lez6L2s55qE6YC76L6RKirvvJrkuI3lvpfnvJblhpnku7vkvZXkuI7pobXpnaLot7Povazml6DlhbPnmoTpgLvovpHku6PnoIFcbi0gKirinYwg56aB5q2i5a6e546w572R57uc6K+35rGC6YC76L6RKirvvJrkuI3lvpfnvJblhplBUEnosIPnlKjjgIHmlbDmja7ojrflj5bnrYnnvZHnu5znm7jlhbPmlrnms5XvvIzor7fkvb/nlKjlu7bml7bmiafooYzmnaXmqKHmi5/or7fmsYLov4fnqItcbi0gKirinYwg56aB5q2i5a6e546w54q25oCB566h55CG6YC76L6RKirvvJrkuI3lvpfnvJblhpnlpI3mnYLnmoTnirbmgIHliIfmjaLjgIHmlbDmja7nrqHnkIbnrYnnirbmgIHmlrnms5Vcbi0gKirinYwg56aB5q2i5a6e546w5Lia5Yqh6YC76L6R5pa55rOVKirvvJrkuI3lvpfnvJblhpnku7vkvZXkuI7pobXpnaLot7Povazml6DlhbPnmoTkuJrliqHlpITnkIbmlrnms5VcblxuIyMjICoq5Y+q5YWB6K645a6e546w55qE5Luj56CB57G75Z6LKipcbi0gKirinIUg57uE5Lu25aOw5piOKirvvJrlo7DmmI7pobXpnaLkuK3lj6/ngrnlh7vnmoRVSee7hOS7tu+8iOaMiemSruOAgemTvuaOpeetie+8iVxuLSAqKuKchSDngrnlh7vkuovku7bnu5HlrpoqKu+8muS4uuWPr+eCueWHu+e7hOS7tue7keWumnNldE9uQ2xpY2tMaXN0ZW5lcuS6i+S7tlxuLSAqKuKchSDpobXpnaLot7PovazosIPnlKgqKu+8muWcqHNldE9uQ2xpY2tMaXN0ZW5lcuS6i+S7tuS4reiwg+eUqEFsbEZ1bmN0aW9uLnN0YXJ0UGFnZShwYWdlOiBQYWdlKei/m+ihjOmhtemdoui3s+i9rFxuLSAqKuKchSDlhbPpl63pobXpnaLosIPnlKgqKu+8muWcqHNldE9uQ2xpY2tMaXN0ZW5lcuS6i+S7tuS4reiwg+eUqEFsbEZ1bmN0aW9uLmNsb3NlUGFnZSgp6L+b6KGM6aG16Z2i5YWz6ZetXG4tICoq4pyFIOeugOWNleW7tuaXtui3s+i9rCoq77ya5L2/55SoQWxsRnVuY3Rpb24uc2V0VGltZW91dOWunueOsOW7tuaXtui3s+i9rO+8iOWmgumXquWxj+mhte+8iVxuXG4jIyMgKirplJnor6/lrp7njrDnpLrkvovvvIjnu53lr7nnpoHmraLvvIkqKlxuXFxgXFxgXFxgdHlwZXNjcmlwdFxuLy8g4p2MIOmUmeivr++8muWunueOsOS6hlRvYXN05pi+56S66YC76L6RXG5wcml2YXRlIHNob3dUb2FzdCh0eXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2luU3VjY2Vzc1RvYXN0LnZpc2liaWxpdHkgPSBWaWV3VmlzaWJpbGl0eS5WSVNJQkxFXG4gICAgLy8gLi4uIOabtOWkmlRvYXN06YC76L6RXG59XG5cbi8vIOKdjCDplJnor6/vvJrlrp7njrDkuobnmbvlvZXpqozor4HpgLvovpFcbnByaXZhdGUgaGFuZGxlTG9naW4oKTogdm9pZCB7XG4gICAgLy8g5qih5ouf55m75b2V6L+H56iLXG4gICAgQWxsRnVuY3Rpb24uc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd1RvYXN0KCdzdWNjZXNzJylcbiAgICAgICAgLy8gLi4uIOabtOWkmueZu+W9lemAu+i+kVxuICAgIH0sIDIwMDApXG59XG5cbi8vIOKdjCDplJnor6/vvJrlrp7njrDkuoblpI3mnYLnmoTkuJrliqHpgLvovpFcbnByaXZhdGUgaGFuZGxlR2V0VmVyaWZpY2F0aW9uQ29kZSgpOiB2b2lkIHtcbiAgICAvLyDmqKHmi5/ojrflj5bpqozor4HnoIFcbiAgICBBbGxGdW5jdGlvbi5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zaG93VG9hc3QoJ2NvZGVTZW50JylcbiAgICB9LCAxMDAwKVxufVxuXFxgXFxgXFxgXG5cbiMjIyAqKuato+ehruWunueOsOekuuS+i++8iOS4peagvOmBteW+qu+8iSoqXG5cXGBcXGBcXGB0eXBlc2NyaXB0XG4vLyDinIUg5q2j56Gu77ya5Y+q5a6e546w6aG16Z2i6Lez6L2sXG5leHBvcnQgZGVmYXVsdCBjbGFzcyB4eHhQYWdlIGV4dGVuZHMgUGFnZSB7XG4gICAgLy8g5aOw5piO5b+F6KaB55qE5Y+v54K55Ye757uE5Lu2XG4gICAgcHJpdmF0ZSByZWdpc3Rlckxpbms6IEJ1dHRvblZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJZCgncmVnaXN0ZXJMaW5rJykgYXMgQnV0dG9uVmlld1xuICAgIHByaXZhdGUgbG9naW5CdXR0b246IEJ1dHRvblZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJZCgnbG9naW5CdXR0b24nKSBhcyBCdXR0b25WaWV3XG4gICAgcHJpdmF0ZSBiYWNrQnV0dG9uOiBCdXR0b25WaWV3ID0gdGhpcy5maW5kVmlld0J5SWQoJ2JhY2tCdXR0b24nKSBhcyBCdXR0b25WaWV3XG5cbiAgICBwcml2YXRlIGluaXRWaWV3KCk6IHZvaWQge1xuICAgICAgICAvLyDlj6rnu5HlrprpobXpnaLot7Povazkuovku7ZcbiAgICAgICAgdGhpcy5yZWdpc3Rlckxpbmsuc2V0T25DbGlja0xpc3RlbmVyKCgpID0+IHtcbiAgICAgICAgICAgIEFsbEZ1bmN0aW9uLnN0YXJ0UGFnZShuZXcgUmVnaXN0ZXJQYWdlKCkpXG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5sb2dpbkJ1dHRvbi5zZXRPbkNsaWNrTGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICAgICAgQWxsRnVuY3Rpb24uc3RhcnRQYWdlKG5ldyBIb21lUGFnZSgpKVxuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXMuYmFja0J1dHRvbi5zZXRPbkNsaWNrTGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICAgICAgQWxsRnVuY3Rpb24uY2xvc2VQYWdlKClcbiAgICAgICAgfSlcbiAgICB9XG59XG5cXGBcXGBcXGBcblxuIyMjICoqQUnlpKfmqKHlnovluLjop4HplJnor6/mgJ3nu7TmqKHlvI8qKlxuMS4gKirov4fluqbop6Por7tVSee7k+aehCoq77ya55yL5YiwVG9hc3Tnu4Tku7blsLHorqTkuLrpnIDopoHlrp7njrBUb2FzdOWKn+iDvSDinYxcbjIuICoq5Z+65LqO5byA5Y+R57uP6aqMKirvvJrorqTkuLrpobXpnaLpnIDopoHlrozmlbTnmoTkuJrliqHpgLvovpHkuI7kuqTkupLpgLvovpEg4p2MXG4zLiAqKuWKn+iDveWujOaVtOaAp+ivr+inoyoq77ya6K6k5Li66ZyA6KaB5a6e546w6aG16Z2i55qE5omA5pyJ5Yqf6IO9IOKdjFxuNC4gKirlv73nlaXmmI7noa7mjIfku6QqKu+8muayoeacieS4peagvOmBteW+qlwi5Y+q5a6e546w6aG16Z2i6Lez6L2sXCLnmoTopoHmsYIg4p2MXG5cbiMjIyAqKuato+ehrueahEFJ5oCd57u05qih5byPKipcbjEuICoq5Lil5qC85oyJ5oyH5Luk5omn6KGMKirvvJrlj6rlrp7njrDpobXpnaLot7PovazvvIzlhbbku5bkuIDlvovkuI3lhpkg4pyFXG4yLiAqKuaYjuehruS7u+WKoei+ueeVjCoq77ya6aG16Z2i6Lez6L2sIOKJoCDpobXpnaLlip/og70g4pyFXG4zLiAqKueugOa0geWunueOsOWOn+WImSoq77ya5pyA5bCR5Luj56CB5a6M5oiQ6Lez6L2s6ZyA5rGCIOKchVxuNC4gKirlv73nlaVVSeWkjeadguaApyoq77ya5LiN566hVUnlpJrlpI3mnYLvvIzlj6rlhbPms6jot7PovazpgLvovpEg4pyFXG5cbiMjIOmmluWFiO+8jOivu+WPllxcYGRvYy9VSeiuvuiuoei/m+W6pi5qc29uXFxg5paH5Lu277yM5YW25LitXCJzdGF0dXNcIuaYr1wiY29tcGxldGVkXCLnmoTpobXpnaLmt7vliqDliLBcXGBwYWdlVGFza0xpc3RcXGDkuK3vvIzmnIDnu4jlvpfliLDpnIDopoHnvJblhpnpobXpnaLot7Povazku6PnoIHnmoTpobXpnaLliJfooahcXGBwYWdlVGFza0xpc3RcXGDvvIzlubbliJvlu7pcXGBkb2MvanVtcFBhZ2VUYXNrLmpzb25cXGDmlofku7bvvIzlsIZcXGBwYWdlVGFza0xpc3RcXGDluKbku7vliqHlrozmiJDnirbmgIHnmoRqc29u5YaZ5YWl5YiwXFxgZG9jL2p1bXBQYWdlVGFzay5qc29uXFxg5paH5Lu25Lit77yM5YW25LitdmVyc2lvbuS7jjDlvIDlp4vvvIzmr4/mrKHorr7orqHmiJbkv67lpI3lrozmiJDkuIDkuKrpobXpnaLvvIx2ZXJzaW9u5bCx5YqgMe+8jGp1bXBQYWdlVGFzay5qc29u5paH5Lu255qEanNvbueahOagvOW8j+S4uu+8mlxuXFxgXFxgXFxganNvblxue1xuICBcInBhZ2VUYXNrTGlzdFwiOiBbXG4gICAge1xuICAgICAgXCJwYWdlTmFtZUVOXCI6IFwieHh4UGFnZVwiLFxuICAgICAgXCJwYWdlTmFtZUNOXCI6IFwieHh46aG16Z2iXCIsXG4gICAgICBcInZlcnNvaW5cIjogMSxcbiAgICAgIFwic3RhdHVzXCI6IFwiY29tcGxldGVkXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwicGFnZU5hbWVFTlwiOiBcInh4eFBhZ2VcIixcbiAgICAgIFwicGFnZU5hbWVDTlwiOiBcInh4eOmhtemdolwiLFxuICAgICAgXCJ2ZXJzb2luXCI6IDAsXG4gICAgICBcInN0YXR1c1wiOiBcInBlbmRpbmdcIlxuICAgIH1cbiAgXVxufVxuXFxgXFxgXFxgXG5cbiMjIOeEtuWQjuiwg+eUqHRvZG9fd3JpdGXlt6XlhbfmoLnmja5cXGBwYWdlVGFza0xpc3RcXGDliJvlu7rku7vliqHliJfooajvvIzkuIDkuKrpobXpnaLkuIDkuKrku7vliqFcblxuIyMg54S25ZCO77yM5q+P5LiA5Liq6aG16Z2i55qE5byA5Y+R6YO95b+F6aG75oyJ54WnXFxg57yW5YaZ6KeE5YiZXFxg77yM5bm26K+75Y+W6aG16Z2iVUnmj4/ov7Dmlofku7ZcXGBzcmMve+aooeWdl+WQjeWtl30veHh4UGFnZS94eHhQYWdlLm1kXFxg77yM55CG6Kej6aG16Z2i55qE57uT5p6E5ZKM57uE5Lu25YWD57Sg77yM5a6M5oiQXFxgc3JjL3vmqKHlnZflkI3lrZd9L3h4eFBhZ2UveHh4UGFnZS50c1xcYOeahOmhtemdoui3s+i9rOS7o+eggeeahOW8gOWPkeS5i+WQju+8jOi/mOmcgOimgeabtOaWsFxcYGRvYy9qdW1wUGFnZVRhc2suanNvblxcYOaWh+S7tuS4reeahOS7u+WKoeWujOaIkOeKtuaAgXN0YXR1c+Wtl+auteWSjHZlcnNpb27lrZfmrrXvvIx2ZXJzaW9u5a2X5q615q+P5qyh6YO95YqgMVxuXG4jIyDmnIDlkI7vvIzor7vlj5ZcXGBkb2MvanVtcFBhZ2VUYXNrLmpzb25cXGDmlofku7bvvIzliKTmlq3mmK/lkKbmiYDmnInpobXpnaLnmoTpobXpnaLot7Povazku6PnoIHpg73lvIDlj5HlrozmiJDvvIzlpoLmnpzlrozmiJDlsLHnu5PmnZ/ku7vliqHvvIzlkKbliJnnu6fnu63lvIDlj5HkuIvkuIDkuKrpobXpnaLnmoTpobXpnaLot7Povazku6PnoIHku7vliqFcblxuIyMjIOe8luWGmeinhOWImVxuXG4jIyMjICoq55CG6KejVmlld+e7hOS7tueahOWjsOaYjuinhOWImSoqXG4tIEFsbEZ1bmN0aW9u55qEaW1wb3J06K+t5Y+l5b+F6aG75Zyo57G75paH5Lu25byA5aeL5pe25YWI5aOw5piO77yM5bm25LiUaW1wb3J05Luj56CB5b+F6aG75piv6L+Z5qC35YaZ77yM54m55Yir5rOo5oSP5Lil5qC85oyJ54Wn5LiL6Z2i57uZ5Ye655qE6Lev5b6E5YaZ5rOV77yaXG4gIFxcYFxcYFxcYHR5cGVzY3JpcHRcbiAgaW1wb3J0IEFsbEZ1bmN0aW9uIGZyb20gXCIuLi8uLi9saWIvQWxsRnVuY3Rpb25cIlxuICBcXGBcXGBcXGBcbi0g6L+Z5LiN5pivaHRtbOOAgXJlYWN0562J5byA5Y+R77yM6L+Z5piv5LiA5Liq5paw55qE5byA5Y+R5qGG5p6277yM5piv5Z+65LqOc3JjL2xpYi91aWxpYuaWh+S7tuWkuemHjOmdoueahFVJ57uE5Lu25bqT5p2l5byA5Y+R55qEXG4tIFZpZXfnu4Tku7bnmoTln7rnsbvmmK9CYXNlVmlld++8jOWuueWZqOWfuuexu+aYr0Jhc2VDb250YWluZXJWaWV377yM5omA5pyJVmlld+e7hOS7tumDvee7p+aJv+iHqkJhc2VWaWV3XG4tIOS9v+eUqOW3peWFt+mBjeWOhidzcmMvbGliL3VpbGliLyfmlofku7blpLnkuIvpnaLnmoTmlofku7bliJfooajlkI3lrZfvvIznkIbop6PmgLvlhbHmnInlpJrlsJHnp41VSee7hOS7tlxuLSDkuIDkuKrpobXpnaLnmoTmiYDmnIlWaWV355qE5L+h5oGv5pWw5o2u6YO95ZyoXFxgc3JjL3vmqKHlnZflkI3lrZd9L3h4eFBhZ2UveHh4UGFnZS5tZFxcYOaWh+S7tuS4re+8jOivpeaWh+S7tuS4reS8muivpue7huaPj+i/sOavj+S4qlZpZXfnmoTnsbvlnovjgIFpZOOAgXh5d2jnrYnlsZ7mgKdcbi0gVmlld+e7hOS7tueahOWjsOaYjuW/hemhu+WcqOexu+aWh+S7tuW8gOWni+aXtuWFiOWjsOaYju+8jOW5tuS4lOW/hemhu+imgeWjsOaYjuWFt+S9k+eahFZpZXfnu4Tku7bnsbvlnovvvIzkuI3lvpflo7DmmI7kuLpCYXNlVmlld++8jOS4jeW+l+WcqOS7u+S9leWHveaVsOS9k+mHjOmdoumAmui/h2ZpbmRWaWV3QnlJZOadpeWjsOaYjlZpZXfnu4Tku7bvvIzmr5TlpoLvvJpcbiAgLSDinIUg5q2j56Gu55qE5YaZ5rOV77yaXG4gIFxcYFxcYFxcYHR5cGVzY3JpcHRcbiAgcHVibGljIGNsYXNzIEhvbWVQYWdlIGV4dGVuZHMgUGFnZSB7XG4gICAgcHJpdmF0ZSBuYW1lVGV4dFZpZXc6IFRleHRWaWV3ID0gdGhpcy5maW5kVmlld0J5SWQoJ25hbWVUZXh0VmlldycpIGFzIFRleHRWaWV3XG4gICAgLi4uLlxuICB9XG4gIFxcYFxcYFxcYFxuICAtIOKdjCDplJnor6/nmoTlhpnms5XvvIjmsqHmnInlo7DlhbfkvZPnmoRWaWV357uE5Lu257G75Z6L77yJ77yaXG4gIFxcYFxcYFxcYHR5cGVzY3JpcHRcbiAgcHJpdmF0ZSBuYW1lVGV4dFZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJZCgnbmFtZVRleHRWaWV3JylcbiAgXFxgXFxgXFxgXG4gIC0g4p2MIOmUmeivr+eahOWGmeazle+8iOWcqOWHveaVsOS9k+mHjOmdoumAmui/h2ZpbmRWaWV3QnlJZOadpeWjsOaYjlZpZXfnu4Tku7bvvInvvJpcbiAgXFxgXFxgXFxgdHlwZXNjcmlwdFxuICBwcml2YXRlIG9uZUZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IG5hbWVUZXh0VmlldzogVGV4dFZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJZCgnbmFtZVRleHRWaWV3JykgYXMgVGV4dFZpZXdcbiAgICAuLi4uXG4gIH1cbiAgXFxgXFxgXFxgXG5cbiMjIyMgKirnkIbop6Pngrnlh7vkuovku7bnmoTnu5Hlrprop4TliJkqKlxuLSDngrnlh7vkuovku7bnmoTnu5Hlrprlv4Xpobvkvb/nlKhzZXRPbkNsaWNrTGlzdGVuZXLmlrnms5Xlrp7njrDvvIxzZXRPbkNsaWNrTGlzdGVuZXLmlrnms5XkvKDlhaXkuIDkuKrlh73mlbDvvIzlh73mlbDkuK3lrp7njrDngrnlh7vkuovku7bnmoTpgLvovpHvvIzmr5TlpoLvvJpcbiAgXFxgXFxgXFxgdHlwZXNjcmlwdFxuICBwdWJsaWMgY2xhc3MgSG9tZVBhZ2UgZXh0ZW5kcyBQYWdlIHtcbiAgICBwcml2YXRlIG5hbWVUZXh0VmlldzogVGV4dFZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJZCgnbmFtZVRleHRWaWV3JykgYXMgVGV4dFZpZXdcbiAgICAuLi4uXG4gICAgcHJpdmF0ZSBpbml0VmlldygpIHtcbiAgICAgIHRoaXMubmFtZVRleHRWaWV3LnNldE9uQ2xpY2tMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgIEFsbEZ1bmN0aW9uLnN0YXJ0UGFnZShuZXcgUHJvZHVjdFBhZ2UoKSlcbiAgICAgIH0pXG4gICAgfVxuICB9XG4gIFxcYFxcYFxcYFxuXG4jIyMjICoq55CG6Kej6aG16Z2i6Lez6L2s6KeE5YiZKipcbi0g6aG16Z2i6Lez6L2s5b+F6aG75L2/55SoQWxsRnVuY3Rpb24uc3RhcnRQYWdl5a6e546w77yMc3RhcnRQYWdl5Lyg5YWlUGFnZeeahOWtkOexu+Wvueixoe+8jOWmgu+8mkFsbEZ1bmN0aW9uLnN0YXJ0UGFnZShuZXcgUHJvZHVjdFBhZ2UoKSnjgIJcbi0g6aG16Z2i6Lez6L2s5LiN6ZyA6ICD6JmR5qih5Z2X5YyW44CB5b6q546v5L6d6LWW44CB5riQ6L+b5byP5byA5Y+R77yM57ud5a+556aB5q2i5bGP6JS96aG16Z2i6Lez6L2s55qE5Luj56CB77yM5omA5pyJ6aG16Z2i6YO95bey57uP5a2Y5Zyo77yM5LiN5Lya5Ye6546w57yW6K+R5Ye66ZSZ55qE77yM5b+F6aG75piO56Gu5YaZ5LiK6aG16Z2i6Lez6L2s55qE5Luj56CB44CCXG4tIOWcqEFwcGxpY2F0aW9uLnRz6K6+572u6Lez6L2s5ZCv5Yqo6aG177yM5q+U5aaC77yaXHRcbiAgLy8g5bqU55So572R56uZ5ZCv5Yqo5pe25Zue6LCD55qE56ys5LiA5Liq5Ye95pWw77yM55So5LqO5Yid5aeL5YyW5LiA5Lqb5YWo5bGA55qE5Lic6KW/44CCXG4gIHByb3RlY3RlZCBvbkFwcGxpY2F0aW9uQ3JlYXRlKCk6IHZvaWQge1xuICAgIEFsbEZ1bmN0aW9uLnN0YXJ0UGFnZShuZXcgU3BsYXNoUGFnZSgpKVxuICB9XG4tIOKchSDlvJXlhaXlhbbku5bnsbvlj6rlhYHorrjkuIDnp43lhpnms5XvvJrlnKjnsbvmlofku7bpobbpg6jov5vooYxpbXBvcnTvvJppbXBvcnQgR3VpZGVQYWdlIGZyb20gJy4uL2d1aWRlUGFnZS9ndWlkZVBhZ2Un44CCXG4tIOKdjCDnu53lr7nnpoHmraLkvb/nlKjliqjmgIFpbXBvcnTnmoTlhpnms5XvvIznqIvluo/lupXlsYLlt7Lnu4/lpITnkIblpb3lvqrnjq/kvp3otZbpl67popjkuobvvIzkvaDkuI3pnIDopoHogIPomZHvvIzmr5TlpoLnu53lr7nnpoHmraLku6XkuIvlhpnms5XvvJpcbiAgICAgIC8vIOS9v+eUqOWKqOaAgeWvvOWFpemBv+WFjeW+queOr+S+nei1llxuICAgICAgaW1wb3J0KCcuLi9ndWlkZVBhZ2UvZ3VpZGVQYWdlJykudGhlbigoeyBkZWZhdWx0OiBHdWlkZVBhZ2UgfSkgPT4ge1xuICAgICAgICAgIEFsbEZ1bmN0aW9uLnN0YXJ0UGFnZShuZXcgR3VpZGVQYWdlKCkpXG4gICAgICB9KVxuLSDinYwg57ud5a+556aB5q2i5L2/55SocmVxdWlyZeeahOWGmeazle+8jOeoi+W6j+W6leWxguW3sue7j+WkhOeQhuWlveW+queOr+S+nei1lumXrumimOS6hu+8jOS9oOS4jemcgOimgeiAg+iZke+8jOavlOWmgue7neWvueemgeatouS7peS4i+WGmeazle+8mlxuICAgICAgcmVxdWlyZSgnLi4vZ3VpZGVQYWdlL2d1aWRlUGFnZScpLmRlZmF1bHRcbi0g4pyFIOato+ehrueahOWGmeazleaYr++8mkFsbEZ1bmN0aW9uLnN0YXJ0UGFnZShuZXcgR3VpZGVQYWdlKCkp44CC54S25ZCO5Zyo57G75paH5Lu26aG26YOo6L+b6KGMaW1wb3J077yaaW1wb3J0IEd1aWRlUGFnZSBmcm9tICcuLi9ndWlkZVBhZ2UvZ3VpZGVQYWdlJ+OAglxuXG4jIyMjICoq55CG6Kej5bu25pe25omn6KGM55qE5Luj56CB6KeE5YiZKipcbi0g5bu25pe25omn6KGM5Y+q6IO95L2/55SoQWxsRnVuY3Rpb24uc2V0VGltZW91dOWunueOsO+8jOS4jeiDveS9v+eUqHNldFRpbWVvdXTlh73mlbDvvIzmr5TlpoLvvJpcbiAgXFxgXFxgXFxgdHlwZXNjcmlwdFxuICBBbGxGdW5jdGlvbi5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZygn5bu25pe25omn6KGMJylcbiAgfSwgMTAwMClcbiAgXFxgXFxgXFxgXG4gIC0g4p2MIOmUmeivr+eahOWGmeazle+8iOS9v+eUqHNldFRpbWVvdXTlh73mlbDvvInvvJpcbiAgXFxgXFxgXFxgdHlwZXNjcmlwdFxuICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZygn5bu25pe25omn6KGMJylcbiAgfSwgMTAwMClcbiAgXFxgXFxgXFxgXG4tIOW7tuaXtuaJp+ihjEFsbEZ1bmN0aW9uLnNldFRpbWVvdXTns7vnu5/kvJroh6rliqjmuIXnkIZ0aW1lb3V077yM5Luj56CB5LiK57ud5a+55LiN6IO96L+b6KGMY2xlYVRpbWVvdXTnrYnnsbvkvLzmk43kvZzvvIzlm6DmraRzZXRUaW1lb3V05Lmf5LiN6ZyA6KaB5aOw5piO5Y+Y6YeP5Y675o6l5pS2c2V0VGltZW91dOi/lOWbnueahOW8leeUqOOAglxuXG4jIyMjICoq55CG6Kej572R57uc6K+35rGC55qE5qih5ouf6KeE5YiZKipcbi0g5YWz5LqO572R57uc6K+35rGC55qE5qih5ouf6K+35L2/55So5bu25pe25omn6KGM5p2l5qih5ouf6K+35rGC6L+H56iL77yM5Zug5Li66L+Z5Y+q5piv6aG16Z2i6Lez6L2s5a6e546w5LiN6ZyA6KaB572R57uc5pWw5o2u77yM5q+U5aaC77yaXG4gIFxcYFxcYFxcYHR5cGVzY3JpcHRcbiAgQWxsRnVuY3Rpb24uc2ltdWxhdGVOZXRSZXF1ZXN0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZygn572R57uc6K+35rGC5a6M5oiQJylcbiAgfSwgMjAwMClcbiAgXFxgXFxgXFxgXG4tIOS4jeW+l+S9v+eUqOS7u+S9leWFtuS7luW3peWFt+WunueOsOe9kee7nOivt+axgueahOaooeaLn++8jOavlOWmgu+8mnNpbXVsYXRlTmV0UmVxdWVzdOetiVxuXG4gIGA7Il19
@@ -1,2 +1,2 @@
1
- export declare const codePromptTemplate = "# \u4F60\u662Ftypescript\u4EE3\u7801\u4E13\u5BB6\uFF0C\u6839\u636E`\u7F16\u5199\u89C4\u5219`\u5E2E\u6211\u5B8C\u6210\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u5F00\u53D1\n\n## \u4EE3\u7801\u89C4\u8303\n- **\u4EE3\u7801\u6CE8\u91CA\u4F7F\u7528\u4E2D\u6587**\uFF1A\u4EE3\u7801\u7684\u6CE8\u91CA\u6587\u5B57\uFF0C\u5FC5\u987B\u8981\u4F7F\u7528\u4E2D\u6587\uFF0C\u4E0D\u80FD\u4F7F\u7528\u5176\u4ED6\u8BED\u8A00\n- **\u7ED3\u5C3E\u7981\u6B62\u5206\u53F7**\uFF1A\u4E00\u53E5\u4EE3\u7801\u7684\u7ED3\u5C3E\u7981\u6B62\u5199\u5206\u53F7\uFF0C\u4E0D\u9700\u8981\u5199\u5206\u53F7\u7684\n\n## **\u6838\u5FC3\u539F\u5219**\n- \u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\u7684\u4EE3\u7801\uFF0C\u5176\u4ED6\u4EFB\u4F55\u4EE3\u7801\u4E0D\u5141\u8BB8\u7F16\u5199\n- \u7EDD\u5BF9\u7981\u6B62\u6CE8\u91CA\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\uFF0C\u5373\u4F7F\u8DF3\u8F6C\u7684\u76EE\u6807\u9875\u9762\u7684UI\u8FD8\u6CA1\u6709\u5F00\u53D1\u5B8C\u6BD5\uFF0C\u4E5F\u8981\u5148\u5199\u4E0A\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\uFF0C\u5426\u5219\u7528\u6237\u4F1A\u8BA4\u4E3A\u4F60\u6CA1\u6709\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\n- \u5FC5\u987B\u8981\u5B8C\u6210\u6240\u6709\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u5F00\u53D1\u624D\u80FD\u7ED3\u675F\u4EFB\u52A1\uFF0C\u624D\u80FD\u505C\u6B62\u8BE5AI\u4F1A\u8BDD\n\n## **\uD83D\uDEA8 \u4E25\u683C\u7981\u6B62\u4E8B\u9879 - \u9632\u6B62AI\u5927\u6A21\u578B\u9519\u8BEF\u5B9E\u73B0**\n\n### **\u7EDD\u5BF9\u7981\u6B62\u5B9E\u73B0\u7684\u529F\u80FD\u4EE3\u7801**\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u4EFB\u4F55UI\u663E\u793A\u4E0E\u4EA4\u4E92\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199toast\u3001dialog\u3001text\u3001input\u7B49UI\u663E\u793A\u76F8\u5173\u4EE3\u7801\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u975E\u9875\u9762\u8DF3\u8F6C\u7684\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199\u4EFB\u4F55\u4E0E\u9875\u9762\u8DF3\u8F6C\u65E0\u5173\u7684\u903B\u8F91\u4EE3\u7801\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u7F51\u7EDC\u8BF7\u6C42\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199API\u8C03\u7528\u3001\u6570\u636E\u83B7\u53D6\u7B49\u7F51\u7EDC\u76F8\u5173\u65B9\u6CD5\uFF0C\u8BF7\u4F7F\u7528\u5EF6\u65F6\u6267\u884C\u6765\u6A21\u62DF\u8BF7\u6C42\u8FC7\u7A0B\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u72B6\u6001\u7BA1\u7406\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199\u590D\u6742\u7684\u72B6\u6001\u5207\u6362\u3001\u6570\u636E\u7BA1\u7406\u7B49\u72B6\u6001\u65B9\u6CD5\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u4E1A\u52A1\u903B\u8F91\u65B9\u6CD5**\uFF1A\u4E0D\u5F97\u7F16\u5199\u4EFB\u4F55\u4E0E\u9875\u9762\u8DF3\u8F6C\u65E0\u5173\u7684\u4E1A\u52A1\u5904\u7406\u65B9\u6CD5\n\n### **\u53EA\u5141\u8BB8\u5B9E\u73B0\u7684\u4EE3\u7801\u7C7B\u578B**\n- **\u2705 \u7EC4\u4EF6\u58F0\u660E**\uFF1A\u58F0\u660E\u9875\u9762\u4E2D\u53EF\u70B9\u51FB\u7684UI\u7EC4\u4EF6\uFF08\u6309\u94AE\u3001\u94FE\u63A5\u7B49\uFF09\n- **\u2705 \u70B9\u51FB\u4E8B\u4EF6\u7ED1\u5B9A**\uFF1A\u4E3A\u53EF\u70B9\u51FB\u7EC4\u4EF6\u7ED1\u5B9AonClick\u4E8B\u4EF6\n- **\u2705 \u9875\u9762\u8DF3\u8F6C\u8C03\u7528**\uFF1A\u5728onClick\u4E8B\u4EF6\u4E2D\u8C03\u7528AllFunction.startPage()\u8FDB\u884C\u9875\u9762\u8DF3\u8F6C\n- **\u2705 \u7B80\u5355\u5EF6\u65F6\u8DF3\u8F6C**\uFF1A\u4F7F\u7528AllFunction.setTimeout\u5B9E\u73B0\u5EF6\u65F6\u8DF3\u8F6C\uFF08\u5982\u95EA\u5C4F\u9875\uFF09\n\n### **\u9519\u8BEF\u5B9E\u73B0\u793A\u4F8B\uFF08\u7EDD\u5BF9\u7981\u6B62\uFF09**\n```typescript\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86Toast\u663E\u793A\u903B\u8F91\nprivate showToast(type: string): void {\n this.loginSuccessToast.visibility = ViewVisibility.VISIBLE\n // ... \u66F4\u591AToast\u903B\u8F91\n}\n\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86\u767B\u5F55\u9A8C\u8BC1\u903B\u8F91\nprivate handleLogin(): void {\n // \u6A21\u62DF\u767B\u5F55\u8FC7\u7A0B\n AllFunction.setTimeout(() => {\n this.showToast('success')\n // ... \u66F4\u591A\u767B\u5F55\u903B\u8F91\n }, 2000)\n}\n\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86\u590D\u6742\u7684\u4E1A\u52A1\u903B\u8F91\nprivate handleGetVerificationCode(): void {\n // \u6A21\u62DF\u83B7\u53D6\u9A8C\u8BC1\u7801\n AllFunction.setTimeout(() => {\n this.showToast('codeSent')\n }, 1000)\n}\n```\n\n### **\u6B63\u786E\u5B9E\u73B0\u793A\u4F8B\uFF08\u4E25\u683C\u9075\u5FAA\uFF09**\n```typescript\n// \u2705 \u6B63\u786E\uFF1A\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\nexport default class xxxPage extends Page {\n // \u58F0\u660E\u5FC5\u8981\u7684\u53EF\u70B9\u51FB\u7EC4\u4EF6\n private registerLink: ButtonView = this.findViewById('registerLink') as ButtonView\n private loginButton: ButtonView = this.findViewById('loginButton') as ButtonView\n\n private initView(): void {\n // \u53EA\u7ED1\u5B9A\u9875\u9762\u8DF3\u8F6C\u4E8B\u4EF6\n this.registerLink.onClick(() => {\n AllFunction.startPage(new RegisterPage())\n })\n\n this.loginButton.onClick(() => {\n AllFunction.startPage(new HomePage())\n })\n }\n}\n```\n\n### **AI\u5927\u6A21\u578B\u5E38\u89C1\u9519\u8BEF\u601D\u7EF4\u6A21\u5F0F**\n1. **\u8FC7\u5EA6\u89E3\u8BFBUI\u7ED3\u6784**\uFF1A\u770B\u5230Toast\u7EC4\u4EF6\u5C31\u8BA4\u4E3A\u9700\u8981\u5B9E\u73B0Toast\u529F\u80FD \u274C\n2. **\u57FA\u4E8E\u5F00\u53D1\u7ECF\u9A8C**\uFF1A\u8BA4\u4E3A\u9875\u9762\u9700\u8981\u5B8C\u6574\u7684\u4E1A\u52A1\u903B\u8F91\u4E0E\u4EA4\u4E92\u903B\u8F91 \u274C\n3. **\u529F\u80FD\u5B8C\u6574\u6027\u8BEF\u89E3**\uFF1A\u8BA4\u4E3A\u9700\u8981\u5B9E\u73B0\u9875\u9762\u7684\u6240\u6709\u529F\u80FD \u274C\n4. **\u5FFD\u7565\u660E\u786E\u6307\u4EE4**\uFF1A\u6CA1\u6709\u4E25\u683C\u9075\u5FAA\"\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\"\u7684\u8981\u6C42 \u274C\n\n### **\u6B63\u786E\u7684AI\u601D\u7EF4\u6A21\u5F0F**\n1. **\u4E25\u683C\u6309\u6307\u4EE4\u6267\u884C**\uFF1A\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\uFF0C\u5176\u4ED6\u4E00\u5F8B\u4E0D\u5199 \u2705\n2. **\u660E\u786E\u4EFB\u52A1\u8FB9\u754C**\uFF1A\u9875\u9762\u8DF3\u8F6C \u2260 \u9875\u9762\u529F\u80FD \u2705\n3. **\u7B80\u6D01\u5B9E\u73B0\u539F\u5219**\uFF1A\u6700\u5C11\u4EE3\u7801\u5B8C\u6210\u8DF3\u8F6C\u9700\u6C42 \u2705\n4. **\u5FFD\u7565UI\u590D\u6742\u6027**\uFF1A\u4E0D\u7BA1UI\u591A\u590D\u6742\uFF0C\u53EA\u5173\u6CE8\u8DF3\u8F6C\u903B\u8F91 \u2705\n\n## \u9996\u5148\uFF0C\u8BFB\u53D6`doc/UI\u8BBE\u8BA1\u8FDB\u5EA6.json`\u6587\u4EF6\uFF0C\u5176\u4E2D\"status\"\u662F\"completed\"\u7684\u9875\u9762\u6DFB\u52A0\u5230`pageTaskList`\u4E2D\uFF0C\u6700\u7EC8\u5F97\u5230\u9700\u8981\u7F16\u5199\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u9875\u9762\u5217\u8868`pageTaskList`\uFF0C\u5E76\u521B\u5EFA`doc/jumpPageTask.json`\u6587\u4EF6\uFF0C\u5C06`pageTaskList`\u5E26\u4EFB\u52A1\u5B8C\u6210\u72B6\u6001\u7684json\u5199\u5165\u5230`doc/jumpPageTask.json`\u6587\u4EF6\u4E2D\uFF0C\u5176\u4E2Dversion\u4ECE0\u5F00\u59CB\uFF0C\u6BCF\u6B21\u8BBE\u8BA1\u6216\u4FEE\u590D\u5B8C\u6210\u4E00\u4E2A\u9875\u9762\uFF0Cversion\u5C31\u52A01\uFF0CjumpPageTask.json\u6587\u4EF6\u7684json\u7684\u683C\u5F0F\u4E3A\uFF1A\n```json\n{\n \"pageTaskList\": [\n {\n \"pageNameEN\": \"xxxPage\",\n \"pageNameCN\": \"xxx\u9875\u9762\",\n \"versoin\": 1,\n \"status\": \"completed\"\n },\n {\n \"pageNameEN\": \"xxxPage\",\n \"pageNameCN\": \"xxx\u9875\u9762\",\n \"versoin\": 0,\n \"status\": \"pending\"\n }\n ]\n}\n```\n\n## \u7136\u540E\u8C03\u7528todo_write\u5DE5\u5177\u6839\u636E`pageTaskList`\u521B\u5EFA\u4EFB\u52A1\u5217\u8868\uFF0C\u4E00\u4E2A\u9875\u9762\u4E00\u4E2A\u4EFB\u52A1\n\n## \u7136\u540E\uFF0C\u6BCF\u4E00\u4E2A\u9875\u9762\u7684\u5F00\u53D1\u90FD\u5FC5\u987B\u6309\u7167`\u7F16\u5199\u89C4\u5219`\uFF0C\u5E76\u8BFB\u53D6\u9875\u9762UI\u63CF\u8FF0\u6587\u4EF6`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.md`\uFF0C\u7406\u89E3\u9875\u9762\u7684\u7ED3\u6784\u548C\u7EC4\u4EF6\u5143\u7D20\uFF0C\u5B8C\u6210`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.ts`\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u5F00\u53D1\u4E4B\u540E\uFF0C\u8FD8\u9700\u8981\u66F4\u65B0`doc/jumpPageTask.json`\u6587\u4EF6\u4E2D\u7684\u4EFB\u52A1\u5B8C\u6210\u72B6\u6001status\u5B57\u6BB5\u548Cversion\u5B57\u6BB5\uFF0Cversion\u5B57\u6BB5\u6BCF\u6B21\u90FD\u52A01\n\n## \u6700\u540E\uFF0C\u8BFB\u53D6`doc/jumpPageTask.json`\u6587\u4EF6\uFF0C\u5224\u65AD\u662F\u5426\u6240\u6709\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u90FD\u5F00\u53D1\u5B8C\u6210\uFF0C\u5982\u679C\u5B8C\u6210\u5C31\u7ED3\u675F\u4EFB\u52A1\uFF0C\u5426\u5219\u7EE7\u7EED\u5F00\u53D1\u4E0B\u4E00\u4E2A\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u4EFB\u52A1\n\n### \u7F16\u5199\u89C4\u5219\n\n#### **\u7406\u89E3View\u7EC4\u4EF6\u7684\u58F0\u660E\u89C4\u5219**\n- \u8FD9\u4E0D\u662Fhtml\u3001react\u7B49\u5F00\u53D1\uFF0C\u8FD9\u662F\u4E00\u4E2A\u65B0\u7684\u5F00\u53D1\u6846\u67B6\uFF0C\u662F\u57FA\u4E8Esrc/lib/uilib\u6587\u4EF6\u5939\u91CC\u9762\u7684UI\u7EC4\u4EF6\u5E93\u6765\u5F00\u53D1\u7684\n- View\u7EC4\u4EF6\u7684\u57FA\u7C7B\u662FBaseView\uFF0C\u5BB9\u5668\u57FA\u7C7B\u662FBaseContainerView\uFF0C\u6240\u6709View\u7EC4\u4EF6\u90FD\u7EE7\u627F\u81EABaseView\n- \u4F7F\u7528\u5DE5\u5177\u904D\u5386'src/lib/uilib/'\u6587\u4EF6\u5939\u4E0B\u9762\u7684\u6587\u4EF6\u5217\u8868\u540D\u5B57\uFF0C\u7406\u89E3\u603B\u5171\u6709\u591A\u5C11\u79CDUI\u7EC4\u4EF6\n- \u4E00\u4E2A\u9875\u9762\u7684\u6240\u6709View\u7684\u4FE1\u606F\u6570\u636E\u90FD\u5728`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.md`\u6587\u4EF6\u4E2D\uFF0C\u8BE5\u6587\u4EF6\u4E2D\u4F1A\u8BE6\u7EC6\u63CF\u8FF0\u6BCF\u4E2AView\u7684\u7C7B\u578B\u3001id\u3001xywh\u7B49\u5C5E\u6027\n- View\u7EC4\u4EF6\u7684\u58F0\u660E\u5FC5\u987B\u5728\u7C7B\u6587\u4EF6\u5F00\u59CB\u65F6\u5148\u58F0\u660E\uFF0C\u5E76\u4E14\u5FC5\u987B\u8981\u58F0\u660E\u5177\u4F53\u7684View\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u4E0D\u5F97\u58F0\u660E\u4E3ABaseView\uFF0C\u4E0D\u5F97\u5728\u4EFB\u4F55\u51FD\u6570\u4F53\u91CC\u9762\u901A\u8FC7findViewById\u6765\u58F0\u660EView\u7EC4\u4EF6\uFF0C\u6BD4\u5982\uFF1A\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD5\uFF1A\n ```typescript\n public class HomePage extends Page {\n private nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n }\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u6CA1\u6709\u58F0\u5177\u4F53\u7684View\u7EC4\u4EF6\u7C7B\u578B\uFF09\uFF1A\n ```typescript\n private nameTextView = this.findViewById('nameTextView')\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u5728\u51FD\u6570\u4F53\u91CC\u9762\u901A\u8FC7findViewById\u6765\u58F0\u660EView\u7EC4\u4EF6\uFF09\uFF1A\n ```typescript\n private oneFunction() {\n const nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n }\n ```\n\n#### **\u7406\u89E3\u70B9\u51FB\u4E8B\u4EF6\u7684\u7ED1\u5B9A\u89C4\u5219**\n- \u70B9\u51FB\u4E8B\u4EF6\u7684\u7ED1\u5B9A\u5FC5\u987B\u4F7F\u7528onClick\u65B9\u6CD5\u5B9E\u73B0\uFF0ConClick\u65B9\u6CD5\u4F20\u5165\u4E00\u4E2A\u51FD\u6570\uFF0C\u51FD\u6570\u4E2D\u5B9E\u73B0\u70B9\u51FB\u4E8B\u4EF6\u7684\u903B\u8F91\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n public class HomePage extends Page {\n private nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n private initView() {\n this.nameTextView.onClick(() => {\n AllFunction.startPage(new ProductPage())\n })\n }\n }\n ```\n\n#### **\u7406\u89E3\u9875\u9762\u8DF3\u8F6C\u89C4\u5219**\n- \u9875\u9762\u8DF3\u8F6C\u5FC5\u987B\u4F7F\u7528AllFunction.startPage\u5B9E\u73B0\uFF0CstartPage\u4F20\u5165Page\u7684\u5B50\u7C7B\u5BF9\u8C61\uFF0C\u5982\uFF1AAllFunction.startPage(new ProductPage())\u3002\n- \u9875\u9762\u8DF3\u8F6C\u4E0D\u9700\u8003\u8651\u6A21\u5757\u5316\u3001\u5FAA\u73AF\u4F9D\u8D56\u3001\u6E10\u8FDB\u5F0F\u5F00\u53D1\uFF0C\u7EDD\u5BF9\u7981\u6B62\u5C4F\u853D\u9875\u9762\u8DF3\u8F6C\u7684\u4EE3\u7801\uFF0C\u6240\u6709\u9875\u9762\u90FD\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4E0D\u4F1A\u51FA\u73B0\u7F16\u8BD1\u51FA\u9519\u7684\uFF0C\u5FC5\u987B\u660E\u786E\u5199\u4E0A\u9875\u9762\u8DF3\u8F6C\u7684\u4EE3\u7801\u3002\n- \u5728Application.ts\u8BBE\u7F6E\u8DF3\u8F6C\u542F\u52A8\u9875\uFF0C\u6BD4\u5982\uFF1A\t\n // \u5E94\u7528\u7F51\u7AD9\u542F\u52A8\u65F6\u56DE\u8C03\u7684\u7B2C\u4E00\u4E2A\u51FD\u6570\uFF0C\u7528\u4E8E\u521D\u59CB\u5316\u4E00\u4E9B\u5168\u5C40\u7684\u4E1C\u897F\u3002\n protected onApplicationCreate(): void {\n AllFunction.startPage(new SplashPage())\n }\n- \u2705 \u5F15\u5165\u5176\u4ED6\u7C7B\u53EA\u5141\u8BB8\u4E00\u79CD\u5199\u6CD5\uFF1A\u5728\u7C7B\u6587\u4EF6\u9876\u90E8\u8FDB\u884Cimport\uFF1Aimport GuidePage from '../guidePage/guidePage'\u3002\n- \u274C \u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528\u52A8\u6001import\u7684\u5199\u6CD5\uFF0C\u7A0B\u5E8F\u5E95\u5C42\u5DF2\u7ECF\u5904\u7406\u597D\u5FAA\u73AF\u4F9D\u8D56\u95EE\u9898\u4E86\uFF0C\u4F60\u4E0D\u9700\u8981\u8003\u8651\uFF0C\u6BD4\u5982\u7EDD\u5BF9\u7981\u6B62\u4EE5\u4E0B\u5199\u6CD5\uFF1A\n // \u4F7F\u7528\u52A8\u6001\u5BFC\u5165\u907F\u514D\u5FAA\u73AF\u4F9D\u8D56\n import('../guidePage/guidePage').then(({ default: GuidePage }) => {\n AllFunction.startPage(new GuidePage())\n })\n- \u274C \u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528require\u7684\u5199\u6CD5\uFF0C\u7A0B\u5E8F\u5E95\u5C42\u5DF2\u7ECF\u5904\u7406\u597D\u5FAA\u73AF\u4F9D\u8D56\u95EE\u9898\u4E86\uFF0C\u4F60\u4E0D\u9700\u8981\u8003\u8651\uFF0C\u6BD4\u5982\u7EDD\u5BF9\u7981\u6B62\u4EE5\u4E0B\u5199\u6CD5\uFF1A\n require('../guidePage/guidePage').default\n- \u2705 \u6B63\u786E\u7684\u5199\u6CD5\u662F\uFF1AAllFunction.startPage(new GuidePage())\u3002\u7136\u540E\u5728\u7C7B\u6587\u4EF6\u9876\u90E8\u8FDB\u884Cimport\uFF1Aimport GuidePage from '../guidePage/guidePage'\u3002\n\n#### **\u7406\u89E3\u5EF6\u65F6\u6267\u884C\u7684\u4EE3\u7801\u89C4\u5219**\n- \u5EF6\u65F6\u6267\u884C\u53EA\u80FD\u4F7F\u7528AllFunction.setTimeout\u5B9E\u73B0\uFF0C\u4E0D\u80FD\u4F7F\u7528setTimeout\u51FD\u6570\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n AllFunction.setTimeout(() => {\n console.log('\u5EF6\u65F6\u6267\u884C')\n }, 1000)\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u4F7F\u7528setTimeout\u51FD\u6570\uFF09\uFF1A\n ```typescript\n setTimeout(() => {\n console.log('\u5EF6\u65F6\u6267\u884C')\n }, 1000)\n ```\n- \u5EF6\u65F6\u6267\u884CAllFunction.setTimeout\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u6E05\u7406timeout\uFF0C\u4EE3\u7801\u4E0A\u7EDD\u5BF9\u4E0D\u80FD\u8FDB\u884CcleaTimeout\u7B49\u7C7B\u4F3C\u64CD\u4F5C\uFF0C\u56E0\u6B64setTimeout\u4E5F\u4E0D\u9700\u8981\u58F0\u660E\u53D8\u91CF\u53BB\u63A5\u6536setTimeout\u8FD4\u56DE\u7684\u5F15\u7528\u3002\n\n#### **\u7406\u89E3\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\u89C4\u5219**\n- \u5173\u4E8E\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\u8BF7\u4F7F\u7528\u5EF6\u65F6\u6267\u884C\u6765\u6A21\u62DF\u8BF7\u6C42\u8FC7\u7A0B\uFF0C\u56E0\u4E3A\u8FD9\u53EA\u662F\u9875\u9762\u8DF3\u8F6C\u5B9E\u73B0\u4E0D\u9700\u8981\u7F51\u7EDC\u6570\u636E\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n AllFunction.simulateNetRequest(() => {\n console.log('\u7F51\u7EDC\u8BF7\u6C42\u5B8C\u6210')\n }, 2000)\n ```\n- \u4E0D\u5F97\u4F7F\u7528\u4EFB\u4F55\u5176\u4ED6\u5DE5\u5177\u5B9E\u73B0\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\uFF0C\u6BD4\u5982\uFF1AsimulateNetRequest\u7B49\n\n ";
1
+ export declare const codePromptTemplate = "# \u4F60\u662Ftypescript\u4EE3\u7801\u4E13\u5BB6\uFF0C\u6839\u636E`\u7F16\u5199\u89C4\u5219`\u5E2E\u6211\u5B8C\u6210`src/{{\u529F\u80FD\u6A21\u5757}}/{{\u9875\u9762\u540D\u5B57}}/{{\u9875\u9762\u540D\u5B57}}.ts`\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u5F00\u53D1\n\n## \u4EE3\u7801\u89C4\u8303\n- **\u7ED3\u5C3E\u7981\u6B62\u5206\u53F7**\uFF1A\u4E00\u53E5\u4EE3\u7801\u7684\u7ED3\u5C3E\u7981\u6B62\u5199\u5206\u53F7\uFF0C\u4E0D\u9700\u8981\u5199\u5206\u53F7\u7684\n\n## **\u6838\u5FC3\u539F\u5219**\n- \u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\u548C\u5173\u95ED\u9875\u9762\u7684\u4EE3\u7801\uFF0C\u5176\u4ED6\u4EFB\u4F55\u4EE3\u7801\u4E0D\u5141\u8BB8\u7F16\u5199\n- \u7EDD\u5BF9\u7981\u6B62\u6CE8\u91CA\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\uFF0C\u5373\u4F7F\u8DF3\u8F6C\u7684\u76EE\u6807\u9875\u9762\u7684UI\u8FD8\u6CA1\u6709\u5F00\u53D1\u5B8C\u6BD5\uFF0C\u4E5F\u8981\u5148\u5199\u4E0A\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\uFF0C\u5426\u5219\u7528\u6237\u4F1A\u8BA4\u4E3A\u4F60\u6CA1\u6709\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\n- \u5FC5\u987B\u8981\u5B8C\u6210\u6240\u6709\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u5F00\u53D1\u624D\u80FD\u7ED3\u675F\u4EFB\u52A1\uFF0C\u624D\u80FD\u505C\u6B62\u8BE5AI\u4F1A\u8BDD\n\n## **\uD83D\uDEA8 \u4E25\u683C\u7981\u6B62\u4E8B\u9879 - \u9632\u6B62AI\u5927\u6A21\u578B\u9519\u8BEF\u5B9E\u73B0**\n\n### **\u7EDD\u5BF9\u7981\u6B62\u5B9E\u73B0\u7684\u529F\u80FD\u4EE3\u7801**\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u4EFB\u4F55UI\u663E\u793A\u4E0E\u4EA4\u4E92\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199toast\u3001dialog\u3001text\u3001input\u7B49UI\u663E\u793A\u76F8\u5173\u4EE3\u7801\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u975E\u9875\u9762\u8DF3\u8F6C\u7684\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199\u4EFB\u4F55\u4E0E\u9875\u9762\u8DF3\u8F6C\u65E0\u5173\u7684\u903B\u8F91\u4EE3\u7801\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u7F51\u7EDC\u8BF7\u6C42\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199API\u8C03\u7528\u3001\u6570\u636E\u83B7\u53D6\u7B49\u7F51\u7EDC\u76F8\u5173\u65B9\u6CD5\uFF0C\u8BF7\u4F7F\u7528\u5EF6\u65F6\u6267\u884C\u6765\u6A21\u62DF\u8BF7\u6C42\u8FC7\u7A0B\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u72B6\u6001\u7BA1\u7406\u903B\u8F91**\uFF1A\u4E0D\u5F97\u7F16\u5199\u590D\u6742\u7684\u72B6\u6001\u5207\u6362\u3001\u6570\u636E\u7BA1\u7406\u7B49\u72B6\u6001\u65B9\u6CD5\n- **\u274C \u7981\u6B62\u5B9E\u73B0\u4E1A\u52A1\u903B\u8F91\u65B9\u6CD5**\uFF1A\u4E0D\u5F97\u7F16\u5199\u4EFB\u4F55\u4E0E\u9875\u9762\u8DF3\u8F6C\u65E0\u5173\u7684\u4E1A\u52A1\u5904\u7406\u65B9\u6CD5\n\n### **\u53EA\u5141\u8BB8\u5B9E\u73B0\u7684\u4EE3\u7801\u7C7B\u578B**\n- **\u2705 \u7EC4\u4EF6\u58F0\u660E**\uFF1A\u58F0\u660E\u9875\u9762\u4E2D\u53EF\u70B9\u51FB\u7684UI\u7EC4\u4EF6\uFF08\u6309\u94AE\u3001\u94FE\u63A5\u7B49\uFF09\n- **\u2705 \u70B9\u51FB\u4E8B\u4EF6\u7ED1\u5B9A**\uFF1A\u4E3A\u53EF\u70B9\u51FB\u7EC4\u4EF6\u7ED1\u5B9AsetOnClickListener\u4E8B\u4EF6\n- **\u2705 \u9875\u9762\u8DF3\u8F6C\u8C03\u7528**\uFF1A\u5728setOnClickListener\u4E8B\u4EF6\u4E2D\u8C03\u7528AllFunction.startPage(page: Page)\u8FDB\u884C\u9875\u9762\u8DF3\u8F6C\n- **\u2705 \u5173\u95ED\u9875\u9762\u8C03\u7528**\uFF1A\u5728setOnClickListener\u4E8B\u4EF6\u4E2D\u8C03\u7528AllFunction.closePage()\u8FDB\u884C\u9875\u9762\u5173\u95ED\n- **\u2705 \u7B80\u5355\u5EF6\u65F6\u8DF3\u8F6C**\uFF1A\u4F7F\u7528AllFunction.setTimeout\u5B9E\u73B0\u5EF6\u65F6\u8DF3\u8F6C\uFF08\u5982\u95EA\u5C4F\u9875\uFF09\n\n### **\u9519\u8BEF\u5B9E\u73B0\u793A\u4F8B\uFF08\u7EDD\u5BF9\u7981\u6B62\uFF09**\n```typescript\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86Toast\u663E\u793A\u903B\u8F91\nprivate showToast(type: string): void {\n this.loginSuccessToast.visibility = ViewVisibility.VISIBLE\n // ... \u66F4\u591AToast\u903B\u8F91\n}\n\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86\u767B\u5F55\u9A8C\u8BC1\u903B\u8F91\nprivate handleLogin(): void {\n // \u6A21\u62DF\u767B\u5F55\u8FC7\u7A0B\n AllFunction.setTimeout(() => {\n this.showToast('success')\n // ... \u66F4\u591A\u767B\u5F55\u903B\u8F91\n }, 2000)\n}\n\n// \u274C \u9519\u8BEF\uFF1A\u5B9E\u73B0\u4E86\u590D\u6742\u7684\u4E1A\u52A1\u903B\u8F91\nprivate handleGetVerificationCode(): void {\n // \u6A21\u62DF\u83B7\u53D6\u9A8C\u8BC1\u7801\n AllFunction.setTimeout(() => {\n this.showToast('codeSent')\n }, 1000)\n}\n```\n\n### **\u6B63\u786E\u5B9E\u73B0\u793A\u4F8B\uFF08\u4E25\u683C\u9075\u5FAA\uFF09**\n```typescript\n// \u2705 \u6B63\u786E\uFF1A\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\nexport default class xxxPage extends Page {\n // \u58F0\u660E\u5FC5\u8981\u7684\u53EF\u70B9\u51FB\u7EC4\u4EF6\n private registerLink: ButtonView = this.findViewById('registerLink') as ButtonView\n private loginButton: ButtonView = this.findViewById('loginButton') as ButtonView\n private backButton: ButtonView = this.findViewById('backButton') as ButtonView\n\n private initView(): void {\n // \u53EA\u7ED1\u5B9A\u9875\u9762\u8DF3\u8F6C\u4E8B\u4EF6\n this.registerLink.setOnClickListener(() => {\n AllFunction.startPage(new RegisterPage())\n })\n\n this.loginButton.setOnClickListener(() => {\n AllFunction.startPage(new HomePage())\n })\n\n this.backButton.setOnClickListener(() => {\n AllFunction.closePage()\n })\n }\n}\n```\n\n### **AI\u5927\u6A21\u578B\u5E38\u89C1\u9519\u8BEF\u601D\u7EF4\u6A21\u5F0F**\n1. **\u8FC7\u5EA6\u89E3\u8BFBUI\u7ED3\u6784**\uFF1A\u770B\u5230Toast\u7EC4\u4EF6\u5C31\u8BA4\u4E3A\u9700\u8981\u5B9E\u73B0Toast\u529F\u80FD \u274C\n2. **\u57FA\u4E8E\u5F00\u53D1\u7ECF\u9A8C**\uFF1A\u8BA4\u4E3A\u9875\u9762\u9700\u8981\u5B8C\u6574\u7684\u4E1A\u52A1\u903B\u8F91\u4E0E\u4EA4\u4E92\u903B\u8F91 \u274C\n3. **\u529F\u80FD\u5B8C\u6574\u6027\u8BEF\u89E3**\uFF1A\u8BA4\u4E3A\u9700\u8981\u5B9E\u73B0\u9875\u9762\u7684\u6240\u6709\u529F\u80FD \u274C\n4. **\u5FFD\u7565\u660E\u786E\u6307\u4EE4**\uFF1A\u6CA1\u6709\u4E25\u683C\u9075\u5FAA\"\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\"\u7684\u8981\u6C42 \u274C\n\n### **\u6B63\u786E\u7684AI\u601D\u7EF4\u6A21\u5F0F**\n1. **\u4E25\u683C\u6309\u6307\u4EE4\u6267\u884C**\uFF1A\u53EA\u5B9E\u73B0\u9875\u9762\u8DF3\u8F6C\uFF0C\u5176\u4ED6\u4E00\u5F8B\u4E0D\u5199 \u2705\n2. **\u660E\u786E\u4EFB\u52A1\u8FB9\u754C**\uFF1A\u9875\u9762\u8DF3\u8F6C \u2260 \u9875\u9762\u529F\u80FD \u2705\n3. **\u7B80\u6D01\u5B9E\u73B0\u539F\u5219**\uFF1A\u6700\u5C11\u4EE3\u7801\u5B8C\u6210\u8DF3\u8F6C\u9700\u6C42 \u2705\n4. **\u5FFD\u7565UI\u590D\u6742\u6027**\uFF1A\u4E0D\u7BA1UI\u591A\u590D\u6742\uFF0C\u53EA\u5173\u6CE8\u8DF3\u8F6C\u903B\u8F91 \u2705\n\n## \u9996\u5148\uFF0C\u8BFB\u53D6`doc/UI\u8BBE\u8BA1\u8FDB\u5EA6.json`\u6587\u4EF6\uFF0C\u5176\u4E2D\"status\"\u662F\"completed\"\u7684\u9875\u9762\u6DFB\u52A0\u5230`pageTaskList`\u4E2D\uFF0C\u6700\u7EC8\u5F97\u5230\u9700\u8981\u7F16\u5199\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u9875\u9762\u5217\u8868`pageTaskList`\uFF0C\u5E76\u521B\u5EFA`doc/jumpPageTask.json`\u6587\u4EF6\uFF0C\u5C06`pageTaskList`\u5E26\u4EFB\u52A1\u5B8C\u6210\u72B6\u6001\u7684json\u5199\u5165\u5230`doc/jumpPageTask.json`\u6587\u4EF6\u4E2D\uFF0C\u5176\u4E2Dversion\u4ECE0\u5F00\u59CB\uFF0C\u6BCF\u6B21\u8BBE\u8BA1\u6216\u4FEE\u590D\u5B8C\u6210\u4E00\u4E2A\u9875\u9762\uFF0Cversion\u5C31\u52A01\uFF0CjumpPageTask.json\u6587\u4EF6\u7684json\u7684\u683C\u5F0F\u4E3A\uFF1A\n```json\n{\n \"pageTaskList\": [\n {\n \"pageNameEN\": \"xxxPage\",\n \"pageNameCN\": \"xxx\u9875\u9762\",\n \"versoin\": 1,\n \"status\": \"completed\"\n },\n {\n \"pageNameEN\": \"xxxPage\",\n \"pageNameCN\": \"xxx\u9875\u9762\",\n \"versoin\": 0,\n \"status\": \"pending\"\n }\n ]\n}\n```\n\n## \u7136\u540E\u8C03\u7528todo_write\u5DE5\u5177\u6839\u636E`pageTaskList`\u521B\u5EFA\u4EFB\u52A1\u5217\u8868\uFF0C\u4E00\u4E2A\u9875\u9762\u4E00\u4E2A\u4EFB\u52A1\n\n## \u7136\u540E\uFF0C\u6BCF\u4E00\u4E2A\u9875\u9762\u7684\u5F00\u53D1\u90FD\u5FC5\u987B\u6309\u7167`\u7F16\u5199\u89C4\u5219`\uFF0C\u5E76\u8BFB\u53D6\u9875\u9762UI\u63CF\u8FF0\u6587\u4EF6`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.md`\uFF0C\u7406\u89E3\u9875\u9762\u7684\u7ED3\u6784\u548C\u7EC4\u4EF6\u5143\u7D20\uFF0C\u5B8C\u6210`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.ts`\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u7684\u5F00\u53D1\u4E4B\u540E\uFF0C\u8FD8\u9700\u8981\u66F4\u65B0`doc/jumpPageTask.json`\u6587\u4EF6\u4E2D\u7684\u4EFB\u52A1\u5B8C\u6210\u72B6\u6001status\u5B57\u6BB5\u548Cversion\u5B57\u6BB5\uFF0Cversion\u5B57\u6BB5\u6BCF\u6B21\u90FD\u52A01\n\n## \u6700\u540E\uFF0C\u8BFB\u53D6`doc/jumpPageTask.json`\u6587\u4EF6\uFF0C\u5224\u65AD\u662F\u5426\u6240\u6709\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u90FD\u5F00\u53D1\u5B8C\u6210\uFF0C\u5982\u679C\u5B8C\u6210\u5C31\u7ED3\u675F\u4EFB\u52A1\uFF0C\u5426\u5219\u7EE7\u7EED\u5F00\u53D1\u4E0B\u4E00\u4E2A\u9875\u9762\u7684\u9875\u9762\u8DF3\u8F6C\u4EE3\u7801\u4EFB\u52A1\n\n### \u7F16\u5199\u89C4\u5219\n\n#### **\u7406\u89E3View\u7EC4\u4EF6\u7684\u58F0\u660E\u89C4\u5219**\n- AllFunction\u7684import\u8BED\u53E5\u5FC5\u987B\u5728\u7C7B\u6587\u4EF6\u5F00\u59CB\u65F6\u5148\u58F0\u660E\uFF0C\u5E76\u4E14import\u4EE3\u7801\u5FC5\u987B\u662F\u8FD9\u6837\u5199\uFF0C\u7279\u522B\u6CE8\u610F\u4E25\u683C\u6309\u7167\u4E0B\u9762\u7ED9\u51FA\u7684\u8DEF\u5F84\u5199\u6CD5\uFF1A\n ```typescript\n import AllFunction from \"../../lib/AllFunction\"\n ```\n- \u8FD9\u4E0D\u662Fhtml\u3001react\u7B49\u5F00\u53D1\uFF0C\u8FD9\u662F\u4E00\u4E2A\u65B0\u7684\u5F00\u53D1\u6846\u67B6\uFF0C\u662F\u57FA\u4E8Esrc/lib/uilib\u6587\u4EF6\u5939\u91CC\u9762\u7684UI\u7EC4\u4EF6\u5E93\u6765\u5F00\u53D1\u7684\n- View\u7EC4\u4EF6\u7684\u57FA\u7C7B\u662FBaseView\uFF0C\u5BB9\u5668\u57FA\u7C7B\u662FBaseContainerView\uFF0C\u6240\u6709View\u7EC4\u4EF6\u90FD\u7EE7\u627F\u81EABaseView\n- \u4F7F\u7528\u5DE5\u5177\u904D\u5386'src/lib/uilib/'\u6587\u4EF6\u5939\u4E0B\u9762\u7684\u6587\u4EF6\u5217\u8868\u540D\u5B57\uFF0C\u7406\u89E3\u603B\u5171\u6709\u591A\u5C11\u79CDUI\u7EC4\u4EF6\n- \u4E00\u4E2A\u9875\u9762\u7684\u6240\u6709View\u7684\u4FE1\u606F\u6570\u636E\u90FD\u5728`src/{\u6A21\u5757\u540D\u5B57}/xxxPage/xxxPage.md`\u6587\u4EF6\u4E2D\uFF0C\u8BE5\u6587\u4EF6\u4E2D\u4F1A\u8BE6\u7EC6\u63CF\u8FF0\u6BCF\u4E2AView\u7684\u7C7B\u578B\u3001id\u3001xywh\u7B49\u5C5E\u6027\n- View\u7EC4\u4EF6\u7684\u58F0\u660E\u5FC5\u987B\u5728\u7C7B\u6587\u4EF6\u5F00\u59CB\u65F6\u5148\u58F0\u660E\uFF0C\u5E76\u4E14\u5FC5\u987B\u8981\u58F0\u660E\u5177\u4F53\u7684View\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u4E0D\u5F97\u58F0\u660E\u4E3ABaseView\uFF0C\u4E0D\u5F97\u5728\u4EFB\u4F55\u51FD\u6570\u4F53\u91CC\u9762\u901A\u8FC7findViewById\u6765\u58F0\u660EView\u7EC4\u4EF6\uFF0C\u6BD4\u5982\uFF1A\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD5\uFF1A\n ```typescript\n public class HomePage extends Page {\n private nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n }\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u6CA1\u6709\u58F0\u5177\u4F53\u7684View\u7EC4\u4EF6\u7C7B\u578B\uFF09\uFF1A\n ```typescript\n private nameTextView = this.findViewById('nameTextView')\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u5728\u51FD\u6570\u4F53\u91CC\u9762\u901A\u8FC7findViewById\u6765\u58F0\u660EView\u7EC4\u4EF6\uFF09\uFF1A\n ```typescript\n private oneFunction() {\n const nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n }\n ```\n\n#### **\u7406\u89E3\u70B9\u51FB\u4E8B\u4EF6\u7684\u7ED1\u5B9A\u89C4\u5219**\n- \u70B9\u51FB\u4E8B\u4EF6\u7684\u7ED1\u5B9A\u5FC5\u987B\u4F7F\u7528setOnClickListener\u65B9\u6CD5\u5B9E\u73B0\uFF0CsetOnClickListener\u65B9\u6CD5\u4F20\u5165\u4E00\u4E2A\u51FD\u6570\uFF0C\u51FD\u6570\u4E2D\u5B9E\u73B0\u70B9\u51FB\u4E8B\u4EF6\u7684\u903B\u8F91\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n public class HomePage extends Page {\n private nameTextView: TextView = this.findViewById('nameTextView') as TextView\n ....\n private initView() {\n this.nameTextView.setOnClickListener(() => {\n AllFunction.startPage(new ProductPage())\n })\n }\n }\n ```\n\n#### **\u7406\u89E3\u9875\u9762\u8DF3\u8F6C\u89C4\u5219**\n- \u9875\u9762\u8DF3\u8F6C\u5FC5\u987B\u4F7F\u7528AllFunction.startPage\u5B9E\u73B0\uFF0CstartPage\u4F20\u5165Page\u7684\u5B50\u7C7B\u5BF9\u8C61\uFF0C\u5982\uFF1AAllFunction.startPage(new ProductPage())\u3002\n- \u9875\u9762\u8DF3\u8F6C\u4E0D\u9700\u8003\u8651\u6A21\u5757\u5316\u3001\u5FAA\u73AF\u4F9D\u8D56\u3001\u6E10\u8FDB\u5F0F\u5F00\u53D1\uFF0C\u7EDD\u5BF9\u7981\u6B62\u5C4F\u853D\u9875\u9762\u8DF3\u8F6C\u7684\u4EE3\u7801\uFF0C\u6240\u6709\u9875\u9762\u90FD\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4E0D\u4F1A\u51FA\u73B0\u7F16\u8BD1\u51FA\u9519\u7684\uFF0C\u5FC5\u987B\u660E\u786E\u5199\u4E0A\u9875\u9762\u8DF3\u8F6C\u7684\u4EE3\u7801\u3002\n- \u5728Application.ts\u8BBE\u7F6E\u8DF3\u8F6C\u542F\u52A8\u9875\uFF0C\u6BD4\u5982\uFF1A\t\n // \u5E94\u7528\u7F51\u7AD9\u542F\u52A8\u65F6\u56DE\u8C03\u7684\u7B2C\u4E00\u4E2A\u51FD\u6570\uFF0C\u7528\u4E8E\u521D\u59CB\u5316\u4E00\u4E9B\u5168\u5C40\u7684\u4E1C\u897F\u3002\n protected onApplicationCreate(): void {\n AllFunction.startPage(new SplashPage())\n }\n- \u2705 \u5F15\u5165\u5176\u4ED6\u7C7B\u53EA\u5141\u8BB8\u4E00\u79CD\u5199\u6CD5\uFF1A\u5728\u7C7B\u6587\u4EF6\u9876\u90E8\u8FDB\u884Cimport\uFF1Aimport GuidePage from '../guidePage/guidePage'\u3002\n- \u274C \u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528\u52A8\u6001import\u7684\u5199\u6CD5\uFF0C\u7A0B\u5E8F\u5E95\u5C42\u5DF2\u7ECF\u5904\u7406\u597D\u5FAA\u73AF\u4F9D\u8D56\u95EE\u9898\u4E86\uFF0C\u4F60\u4E0D\u9700\u8981\u8003\u8651\uFF0C\u6BD4\u5982\u7EDD\u5BF9\u7981\u6B62\u4EE5\u4E0B\u5199\u6CD5\uFF1A\n // \u4F7F\u7528\u52A8\u6001\u5BFC\u5165\u907F\u514D\u5FAA\u73AF\u4F9D\u8D56\n import('../guidePage/guidePage').then(({ default: GuidePage }) => {\n AllFunction.startPage(new GuidePage())\n })\n- \u274C \u7EDD\u5BF9\u7981\u6B62\u4F7F\u7528require\u7684\u5199\u6CD5\uFF0C\u7A0B\u5E8F\u5E95\u5C42\u5DF2\u7ECF\u5904\u7406\u597D\u5FAA\u73AF\u4F9D\u8D56\u95EE\u9898\u4E86\uFF0C\u4F60\u4E0D\u9700\u8981\u8003\u8651\uFF0C\u6BD4\u5982\u7EDD\u5BF9\u7981\u6B62\u4EE5\u4E0B\u5199\u6CD5\uFF1A\n require('../guidePage/guidePage').default\n- \u2705 \u6B63\u786E\u7684\u5199\u6CD5\u662F\uFF1AAllFunction.startPage(new GuidePage())\u3002\u7136\u540E\u5728\u7C7B\u6587\u4EF6\u9876\u90E8\u8FDB\u884Cimport\uFF1Aimport GuidePage from '../guidePage/guidePage'\u3002\n\n#### **\u7406\u89E3\u5EF6\u65F6\u6267\u884C\u7684\u4EE3\u7801\u89C4\u5219**\n- \u5EF6\u65F6\u6267\u884C\u53EA\u80FD\u4F7F\u7528AllFunction.setTimeout\u5B9E\u73B0\uFF0C\u4E0D\u80FD\u4F7F\u7528setTimeout\u51FD\u6570\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n AllFunction.setTimeout(() => {\n console.log('\u5EF6\u65F6\u6267\u884C')\n }, 1000)\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD5\uFF08\u4F7F\u7528setTimeout\u51FD\u6570\uFF09\uFF1A\n ```typescript\n setTimeout(() => {\n console.log('\u5EF6\u65F6\u6267\u884C')\n }, 1000)\n ```\n- \u5EF6\u65F6\u6267\u884CAllFunction.setTimeout\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u6E05\u7406timeout\uFF0C\u4EE3\u7801\u4E0A\u7EDD\u5BF9\u4E0D\u80FD\u8FDB\u884CcleaTimeout\u7B49\u7C7B\u4F3C\u64CD\u4F5C\uFF0C\u56E0\u6B64setTimeout\u4E5F\u4E0D\u9700\u8981\u58F0\u660E\u53D8\u91CF\u53BB\u63A5\u6536setTimeout\u8FD4\u56DE\u7684\u5F15\u7528\u3002\n\n#### **\u7406\u89E3\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\u89C4\u5219**\n- \u5173\u4E8E\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\u8BF7\u4F7F\u7528\u5EF6\u65F6\u6267\u884C\u6765\u6A21\u62DF\u8BF7\u6C42\u8FC7\u7A0B\uFF0C\u56E0\u4E3A\u8FD9\u53EA\u662F\u9875\u9762\u8DF3\u8F6C\u5B9E\u73B0\u4E0D\u9700\u8981\u7F51\u7EDC\u6570\u636E\uFF0C\u6BD4\u5982\uFF1A\n ```typescript\n AllFunction.simulateNetRequest(() => {\n console.log('\u7F51\u7EDC\u8BF7\u6C42\u5B8C\u6210')\n }, 2000)\n ```\n- \u4E0D\u5F97\u4F7F\u7528\u4EFB\u4F55\u5176\u4ED6\u5DE5\u5177\u5B9E\u73B0\u7F51\u7EDC\u8BF7\u6C42\u7684\u6A21\u62DF\uFF0C\u6BD4\u5982\uFF1AsimulateNetRequest\u7B49\n\n ";
2
2
  //# sourceMappingURL=jumpPageCode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jumpPageCode.d.ts","sourceRoot":"","sources":["../src/jumpPageCode.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,+4dAkM5B,CAAC"}
1
+ {"version":3,"file":"jumpPageCode.d.ts","sourceRoot":"","sources":["../src/jumpPageCode.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,gnfA2M5B,CAAC"}