Skip to content
ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ATRI: Automated Task Repetition Instrument

้ซ˜ๆ€ง่ƒฝๆ™บๆ…งๆ ‘ๅˆท้ข˜ๅŠฉๆ‰‹

ไธ€ไธชๅŸบไบŽ Chrome Manifest V3 ็š„ๆ™บๆ…งๆ ‘ๅนณๅฐ่‡ชๅŠจๅˆท้ข˜ๆต่งˆๅ™จๆ‰ฉๅฑ•๏ผŒ้‡‡็”จๆจกๅ—ๅŒ–ๆžถๆž„่ฎพ่ฎก๏ผŒๆ”ฏๆŒๆ™บ่ƒฝ็ญ”้ข˜ใ€้”™้ข˜ๆžšไธพใ€้ข˜ๅบ“็ฎก็†็ญ‰ๅŠŸ่ƒฝใ€‚


โœจ ๆ ธๅฟƒ็‰นๆ€ง

๐ŸŽฏ ๆ™บ่ƒฝ็ญ”้ข˜็ณป็ปŸ

  • ่‡ชๅŠจ็ญ”้ข˜๏ผšๆ™บ่ƒฝ่ฏ†ๅˆซ้ข˜ๅž‹๏ผˆๅ•้€‰/ๅคš้€‰/ๅˆคๆ–ญ๏ผ‰๏ผŒ่‡ชๅŠจๅกซๅ†™็ญ”ๆกˆ
  • ้ข˜ๅบ“่ฎฐๅฟ†๏ผšๅŸบไบŽ examId ่‡ชๅŠจไฟๅญ˜ๅ’ŒๅŠ ่ฝฝๅކๅฒ็ญ”ๆกˆ
  • ้”™้ข˜ๆžšไธพ๏ผšๅคš้€‰้ข˜็ญ”้”™ๆ—ถ่‡ชๅŠจ่ฟ›่กŒ็ป„ๅˆๆžšไธพ๏ผˆn้€‰โ†’n-1้€‰โ†’...โ†’2้€‰๏ผ‰
  • ่ฟ›ๅบฆ่ฟฝ่ธช๏ผšๅฎžๆ—ถๆ˜พ็คบ็ญ”้ข˜่ฟ›ๅบฆๅ’Œๆžšไธพ็Šถๆ€

๐Ÿ”„ ๅ…จๆต็จ‹่‡ชๅŠจๅŒ–

  • ๅคš้กต้ขๆ”ฏๆŒ๏ผš
    • mastery ้กต้ข๏ผš่‡ชๅŠจๆŸฅๆ‰พๆœชๅฎŒๆˆ้ข˜็›ฎ
    • pointOfMastery ้กต้ข๏ผšๆฃ€ๆต‹ๅฎŒๆˆๅบฆ๏ผŒ่‡ชๅŠจ่ฟ”ๅ›ž
    • exam ้กต้ข๏ผšๅ‚ๆ•ฐๆๅ–ไธŽ่‡ชๅŠจ็ญ”้ข˜
    • examAnalysis ้กต้ข๏ผš็ญ”ๆกˆๆ›ดๆ–ฐไธŽ้”™้ข˜ๅค„็†
  • ๆ™บ่ƒฝๅฏผ่ˆช๏ผš100% ๅฎŒๆˆๅŽ่‡ชๅŠจ่ฟ”ๅ›ž๏ผŒ็ปง็ปญไธ‹ไธ€้ข˜็›ฎ
  • ๆ–ญ็บฟ้‡่ฟž๏ผš้กต้ขๅˆทๆ–ฐๅŽ่‡ชๅŠจๆขๅค็Šถๆ€

๐Ÿ› ๏ธ ็”จๆˆท็•Œ้ข

  • ๆ‚ฌๆตฎๆŽงๅˆถ้ขๆฟ๏ผšๅฏๆ‹–ๆ‹ฝ็š„ๆตฎๅŠจ็ช—ๅฃ๏ผŒๅฎžๆ—ถๆ˜พ็คบ็Šถๆ€
  • ไธ€้”ฎๆ“ไฝœ๏ผšๅฏๅŠจ/ๅœๆญขใ€ๆธ…็ฉบ้ข˜ๅบ“ใ€ๆŸฅ็œ‹ๅฝ“ๅ‰็Šถๆ€
  • ้€š็Ÿฅ็ณป็ปŸ๏ผšๅฝฉ่‰ฒ้€š็Ÿฅๆ็คบ๏ผˆๆˆๅŠŸ/่ญฆๅ‘Š/้”™่ฏฏ๏ผ‰
  • ๆทฑ่‰ฒๆจกๅผ้€‚้…๏ผšๆ”ฏๆŒๆ™บๆ…งๆ ‘ๅนณๅฐๆทฑ่‰ฒๆจกๅผ

๐Ÿ“ ้กน็›ฎ็ป“ๆž„

ZhiHuiShu/
โ”œโ”€โ”€ manifest.json              # Manifest V3 ้…็ฝฎๆ–‡ไปถ
โ”œโ”€โ”€ background/                # ๅŽๅฐๆœๅŠก
โ”‚   โ””โ”€โ”€ background.js         # Service Worker๏ผŒ้ข˜ๅบ“ๅญ˜ๅ‚จ็ฎก็†
โ”œโ”€โ”€ content/                   # ๅ†…ๅฎน่„šๆœฌ๏ผˆๆจกๅ—ๅŒ–ๆžถๆž„๏ผ‰
โ”‚   โ”œโ”€โ”€ content-main.js       # ไธปๅ…ฅๅฃ๏ผŒ้กต้ข็›‘ๅฌไธŽ่ทฏ็”ฑ
โ”‚   โ”œโ”€โ”€ utils.js              # ๅทฅๅ…ทๅ‡ฝๆ•ฐ๏ผˆ้กต้ข็ฑปๅž‹ๅˆคๆ–ญ็ญ‰๏ผ‰
โ”‚   โ”œโ”€โ”€ interceptor.js        # ็ฝ‘็ปœ่ฏทๆฑ‚ๆ‹ฆๆˆชๅ™จ
โ”‚   โ”œโ”€โ”€ page-interceptor.js   # ้กต้ขๆ•ฐๆฎๆ‹ฆๆˆชไธŽ่งฃๆž
โ”‚   โ”œโ”€โ”€ page-handlers.js      # ้กต้ขๅค„็†ๅ™จ๏ผˆmastery/pointOfMastery๏ผ‰
โ”‚   โ”œโ”€โ”€ auto-answer.js        # ่‡ชๅŠจ็ญ”้ข˜ๆ ธๅฟƒ้€ป่พ‘
โ”‚   โ””โ”€โ”€ ui.js                 # ็”จๆˆท็•Œ้ข็ป„ไปถ
โ”œโ”€โ”€ popup/                     # ๅผนๅ‡บ้กต้ข
โ”‚   โ”œโ”€โ”€ popup.html
โ”‚   โ”œโ”€โ”€ popup.css
โ”‚   โ””โ”€โ”€ popup.js
โ”œโ”€โ”€ icons/                     # ๅ›พๆ ‡่ต„ๆบ
โ””โ”€โ”€ data/                      # ๆ•ฐๆฎๅญ˜ๅ‚จ็›ฎๅฝ•

๐Ÿš€ ๅฎ‰่ฃ…ไธŽไฝฟ็”จ

ๅฎ‰่ฃ…ๆ–นๆณ•

  1. ไธ‹่ฝฝๆˆ–ๅ…‹้š†ๆœฌ้กน็›ฎ

    git clone https://github.com/zjuatri/ZhiHuiShu.git
  2. ๆ‰“ๅผ€ Chrome/Edge ๆต่งˆๅ™จ

  3. ่ฎฟ้—ฎๆ‰ฉๅฑ•็ฎก็†้กต้ข๏ผš

    • Chrome: chrome://extensions/
    • Edge: edge://extensions/
  4. ๅผ€ๅฏๅณไธŠ่ง’็š„ "ๅผ€ๅ‘่€…ๆจกๅผ"

  5. ็‚นๅ‡ป "ๅŠ ่ฝฝๅทฒ่งฃๅŽ‹็š„ๆ‰ฉๅฑ•็จ‹ๅบ"

  6. ้€‰ๆ‹ฉ้กน็›ฎๆ น็›ฎๅฝ•๏ผˆๅŒ…ๅซ manifest.json ็š„ๆ–‡ไปถๅคน๏ผ‰

ไฝฟ็”จๆŒ‡ๅ—

  1. ่ฎฟ้—ฎๆ™บๆ…งๆ ‘ๅนณๅฐ

    • ๆ”ฏๆŒๅŸŸๅ๏ผš
      • studywisdomh5.zhihuishu.com
      • fusioncourseh5.zhihuishu.com
  2. ๅฏๅŠจ่‡ชๅŠจๅˆท้ข˜

    • ๅœจโ€œๆŽŒๆกๅบฆโ€้กต้ข็‚นๅ‡ปๆ‚ฌๆตฎ็ช—ไธญ็š„ "๐Ÿš€ ๅผ€ๅง‹่‡ชๅŠจๅˆท้ข˜" ๆŒ‰้’ฎ
    • ๅฆ‚ๆžœๆœชๆ˜พ็คบ่ฏฅๆŒ‰้’ฎๅˆทๆ–ฐ้กต้ขๅณๅฏ
    • ๅผ€ๅฏ่ฏฅๆ’ไปถ่ฟ›ๅ…ฅๆ™บๆ…งๆ ‘่ฏพ็จ‹้กต้ขๅฏ่ƒฝ่งฆๅ‘่ญฆๅ‘Š๏ผŒๅ…ณ้—ญๆ’ไปถ๏ผŒๆ‰“ๅผ€โ€œๆŽŒๆกๅบฆโ€้กต้ข๏ผŒๅˆทๆ–ฐๅณๅฏๆญฃๅธธไฝฟ็”จ
  3. ๆŸฅ็œ‹่ฟ›ๅบฆ

    • ๆ‚ฌๆตฎ็ช—ๅฎžๆ—ถๆ˜พ็คบๅฝ“ๅ‰็Šถๆ€๏ผš
      • ็ฉบ้—ฒไธญ / ่‡ชๅŠจ็ญ”้ข˜ไธญ
      • ๅฝ“ๅ‰็ญ”ๆกˆใ€ๆžšไธพ่ฟ›ๅบฆ
      • ็ญ”้ข˜ๅบๅท
  4. ๆธ…็ฉบ้ข˜ๅบ“

    • ็‚นๅ‡ป "๐Ÿ—‘๏ธ ๆธ…็ฉบๆ‰€ๆœ‰้ข˜ๅบ“" ๆŒ‰้’ฎ
    • ็กฎ่ฎคๅŽๆธ…้™คๆ‰€ๆœ‰ๅทฒไฟๅญ˜็š„็ญ”ๆกˆๆ•ฐๆฎ

๐Ÿ”ง ๆŠ€ๆœฏๆžถๆž„

ๆ ธๅฟƒๆŠ€ๆœฏๆ ˆ

  • Manifest V3๏ผšChrome ๆ‰ฉๅฑ•ๆœ€ๆ–ฐๆ ‡ๅ‡†
  • Vanilla JavaScript๏ผšๆ— ๆก†ๆžถไพ่ต–๏ผŒ้ซ˜ๆ€ง่ƒฝ
  • Chrome Storage API๏ผšๆŒไน…ๅŒ–้ข˜ๅบ“ๆ•ฐๆฎ
  • Fetch/XHR Interception๏ผš็ฝ‘็ปœ่ฏทๆฑ‚ๆ‹ฆๆˆช

ๆจกๅ—ๅŒ–่ฎพ่ฎก

1. content-main.js - ไธปๆŽงๅˆถๅ™จ

  • ้กต้ข็ฑปๅž‹่ฏ†ๅˆซไธŽ่ทฏ็”ฑ
  • URL ๅ˜ๅŒ–็›‘ๅฌ๏ผˆMutationObserver + popstate๏ผ‰
  • ๆจกๅ—็”Ÿๅ‘ฝๅ‘จๆœŸ็ฎก็†

2. utils.js - ๅทฅๅ…ทๅบ“

  • isPageType(): ้กต้ข็ฑปๅž‹ๅˆคๆ–ญ
  • extractExamParams(): ่€ƒ่ฏ•ๅ‚ๆ•ฐๆๅ–
  • showNotification(): ้€š็Ÿฅๆ˜พ็คบ

3. interceptor.js - ็ฝ‘็ปœๆ‹ฆๆˆช

  • Fetch/XHR ่ฏทๆฑ‚ๆ‹ฆๆˆช
  • ้ข˜็›ฎๆ•ฐๆฎๆๅ–๏ผˆgetQuestions API๏ผ‰
  • ็ญ”ๆกˆๆ•ฐๆฎๆๅ–๏ผˆgetUserAnswers API๏ผ‰

4. page-handlers.js - ้กต้ขๅค„็†

  • findAndClickNextUncompleted(): ๆŸฅๆ‰พๆœชๅฎŒๆˆ้ข˜็›ฎ๏ผˆmastery๏ผ‰
  • handlePointOfMasteryPage(): ๅค„็†่ฟ›ๅบฆๆฃ€ๆต‹๏ผˆpointOfMastery๏ผ‰
  • getNextEnumerationAnswer(): ้”™้ข˜ๆžšไธพ็ฎ—ๆณ•

5. auto-answer.js - ็ญ”้ข˜ๅผ•ๆ“Ž

  • startAutoAnswer(): ่‡ชๅŠจ็ญ”้ข˜ๆต็จ‹ๆŽงๅˆถ
  • fillAnswerOnly(): ็ญ”ๆกˆๅกซๅ†™๏ผˆๆ”ฏๆŒๅ•้€‰/ๅคš้€‰/ๅˆคๆ–ญ๏ผ‰
  • ๅผ‚ๆญฅ้กบๅบ็‚นๅ‡ป๏ผˆ้˜ฒๆญขไบ‹ไปถๅ†ฒ็ช๏ผ‰
  • ็ญ”ๆกˆ้ชŒ่ฏไธŽ้”™่ฏฏๅค„็†

6. ui.js - ็•Œ้ข็ป„ไปถ

  • ๆ‚ฌๆตฎ็ช—ๅˆ›ๅปบไธŽๆ‹–ๆ‹ฝ
  • ็Šถๆ€ๆ˜พ็คบๆ›ดๆ–ฐ
  • ๆŒ‰้’ฎไบ‹ไปถ็ป‘ๅฎš

7. background.js - ๅŽๅฐๆœๅŠก

  • ้ข˜ๅบ“ๆ•ฐๆฎๅญ˜ๅ‚จ๏ผˆๅŸบไบŽ examId๏ผ‰
  • ่ทจ้กต้ข็Šถๆ€ๅŒๆญฅ
  • ๆถˆๆฏ้€šไฟกๅค„็†

๐Ÿ“Š ๅทฅไฝœๆต็จ‹

ๅฎŒๆ•ด็ญ”้ข˜ๆต็จ‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  1. mastery ้กต้ข                                            โ”‚
โ”‚     - ๆŸฅๆ‰พๆœชๅฎŒๆˆ้ข˜็›ฎ๏ผˆcustom-content div๏ผ‰                   โ”‚
โ”‚     - ็‚นๅ‡ปๆŒ‰้’ฎ่ฟ›ๅ…ฅ pointOfMastery                            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  2. pointOfMastery ้กต้ข                                     โ”‚
โ”‚     - ๆฃ€ๆต‹่ฟ›ๅบฆ๏ผˆcharts-label-rate๏ผ‰                          โ”‚
โ”‚     - 100%: ็‚นๅ‡ป่ฟ”ๅ›ž mastery๏ผŒ็ปง็ปญไธ‹ไธ€้ข˜                     โ”‚
โ”‚     - <100%: ็‚นๅ‡ปๆŸฅ็œ‹ๅˆ†ๆžๆŒ‰้’ฎ่ฟ›ๅ…ฅ examAnalysis               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  3. examAnalysis ้กต้ข                                       โ”‚
โ”‚     - ๆ‹ฆๆˆช getUserAnswers API ่Žทๅ–็ญ”ๆกˆๆ•ฐๆฎ                   โ”‚
โ”‚     - ๆ›ดๆ–ฐ้ข˜ๅบ“๏ผˆๆญฃ็กฎ็ญ”ๆกˆๆˆ–้”™้ข˜ๆžšไธพ๏ผ‰                          โ”‚
โ”‚     - ๅˆทๆ–ฐ้กต้ข้‡ๆ–ฐ่ฟ›ๅ…ฅ exam                                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  4. exam ้กต้ข                                               โ”‚
โ”‚     - ๆ‹ฆๆˆช getQuestions API ่Žทๅ–้ข˜็›ฎ                         โ”‚
โ”‚     - ๆๅ– examId ไปŽ้ข˜ๅบ“ๅŠ ่ฝฝ็ญ”ๆกˆ                             โ”‚
โ”‚     - ่‡ชๅŠจๅกซๅ†™็ญ”ๆกˆๅนถๆไบค                                      โ”‚
โ”‚     - ็ญ‰ๅพ…่ทณ่ฝฌๅˆฐ examAnalysis                                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ†“
                 ๅพช็Žฏ็›ด่‡ณ 100%

้”™้ข˜ๆžšไธพ็ญ–็•ฅ

ๅคš้€‰้ข˜็ญ”้”™ๆ—ถ่‡ชๅŠจ่ฟ›่กŒ็ป„ๅˆๆžšไธพ๏ผš

// ็คบไพ‹๏ผš5 ไธช้€‰้กน็š„ๅคš้€‰้ข˜
ๅˆๅง‹็ญ”ๆกˆ: [1, 2, 3, 4, 5]  // ๅ…จ้€‰
็ฌฌ 1 ๆฌก: [1, 2, 3, 4]      // C(5,4) = 5 ็ง็ป„ๅˆ
็ฌฌ 2 ๆฌก: [1, 2, 3]         // C(5,3) = 10 ็ง็ป„ๅˆ
็ฌฌ 3 ๆฌก: [1, 2]            // C(5,2) = 10 ็ง็ป„ๅˆ
...
็›ดๅˆฐๆ‰พๅˆฐๆญฃ็กฎ็ญ”ๆกˆ

๐ŸŽจ ็•Œ้ข่ฏดๆ˜Ž

ๆ‚ฌๆตฎๆŽงๅˆถ้ขๆฟ

  • ๆ ‡้ข˜ๆ ๏ผšๆ˜พ็คบ "ATRI ๅˆท้ข˜ๅŠฉๆ‰‹" + ๅฝ“ๅ‰็Šถๆ€ๆŒ‡็คบ็ฏ
  • ็Šถๆ€ๆ˜พ็คบ๏ผš
    • ๐Ÿ”ด ็ฉบ้—ฒไธญ / ๐ŸŸข ่‡ชๅŠจ็ญ”้ข˜ไธญ
    • ๅฝ“ๅ‰็ญ”ๆกˆๆ•ฐ็ป„
    • ็ญ”้ข˜ๅบๅท
  • ๆ“ไฝœๆŒ‰้’ฎ๏ผš
    • ๐Ÿš€ ๅผ€ๅง‹่‡ชๅŠจๅˆท้ข˜๏ผˆ็ปฟ่‰ฒๆธๅ˜๏ผ‰
    • โธ๏ธ ๅœๆญข่‡ชๅŠจๅˆท้ข˜๏ผˆๆฉ™่‰ฒๆธๅ˜๏ผ‰
    • ๐Ÿ—‘๏ธ ๆธ…็ฉบๆ‰€ๆœ‰้ข˜ๅบ“๏ผˆ็บข่‰ฒๆธๅ˜๏ผ‰

้€š็Ÿฅๆ็คบ

  • ๆˆๅŠŸ้€š็Ÿฅ๏ผˆ็ปฟ่‰ฒ๏ผ‰๏ผš็ญ”้ข˜ๅฎŒๆˆใ€้ข˜ๅบ“ๆธ…็ฉบ็ญ‰
  • ่ญฆๅ‘Š้€š็Ÿฅ๏ผˆๆฉ™่‰ฒ๏ผ‰๏ผš้กต้ขๆฃ€ๆต‹ใ€็Šถๆ€ๆ้†’็ญ‰
  • ้”™่ฏฏ้€š็Ÿฅ๏ผˆ็บข่‰ฒ๏ผ‰๏ผšๅ…ƒ็ด ๆœชๆ‰พๅˆฐใ€ๆ“ไฝœๅคฑ่ดฅ็ญ‰

้ข˜็›ฎๆ•ฐๆฎ็ป“ๆž„

{
  questionId: "123456",           // ้ข˜็›ฎID
  questionType: 1 | 2 | 14,       // 1=ๅ•้€‰, 2=ๅคš้€‰, 14=ๅˆคๆ–ญ
  optionList: [...],              // ้€‰้กนๅˆ—่กจ
  // ...
}

็ญ”ๆกˆๆ•ฐๆฎ็ป“ๆž„

{
  examId: "exam_123",             // ่€ƒ่ฏ•ID๏ผˆ้ข˜ๅบ“้”ฎ๏ผ‰
  answerList: [
    {
      questionId: "123456",
      answer: [1, 2, 3]           // ็ปŸไธ€ๆ•ฐ็ป„ๆ ผๅผ
    }
  ]
}

๐Ÿ› ่ฐƒ่ฏ•ไธŽๆ—ฅๅฟ—

ๆ—ฅๅฟ—็ณป็ปŸ

ๆ‰€ๆœ‰ๅ…ณ้”ฎๆ“ไฝœ้ƒฝๆœ‰่ฏฆ็ป†ๆ—ฅๅฟ—่พ“ๅ‡บ๏ผˆF12 ๆŽงๅˆถๅฐๆŸฅ็œ‹๏ผ‰๏ผš

  • ๐Ÿ” ๆŸฅๆ‰พๆ“ไฝœ
  • โœ… ๆˆๅŠŸๆ“ไฝœ
  • โŒ ๅคฑ่ดฅ/้”™่ฏฏ
  • ๐Ÿ“Š ๆ•ฐๆฎ็ปŸ่ฎก
  • ๐Ÿ”„ ๆต็จ‹็Šถๆ€
  • โš ๏ธ ่ญฆๅ‘Šๆ็คบ

๐Ÿ” ๆ•ฐๆฎๅญ˜ๅ‚จ

Chrome Storage Local

{
  "exam_123": {                   // ้”ฎ๏ผšexamId
    "123456": [1, 2],             // ๅ€ผ๏ผšquestionId -> answer
    "123457": [1],
    // ...
  },
  "exam_456": { ... }
}

ๆ•ฐๆฎๆธ…้™ค

  • ๆ‰‹ๅŠจๆธ…้™ค๏ผš็‚นๅ‡ปๆ‚ฌๆตฎ็ช— "ๆธ…็ฉบๆ‰€ๆœ‰้ข˜ๅบ“" ๆŒ‰้’ฎ
  • ็ผ–็จ‹ๆธ…้™ค๏ผšchrome.storage.local.clear()

๐Ÿ“„ ่ฎธๅฏ่ฏ

MIT License


๐Ÿ‘จโ€๐Ÿ’ป ไฝœ่€…

zjuatri - GitHub


โš ๏ธ ๅ…่ดฃๅฃฐๆ˜Ž

ๆœฌ้กน็›ฎไป…ไพ›ๅญฆไน ไบคๆตไฝฟ็”จ๏ผŒ่ฏทๅ‹ฟ็”จไบŽไปปไฝ•ๅ•†ไธš็”จ้€”ๆˆ–่ฟๅๅนณๅฐ่ง„ๅˆ™็š„่กŒไธบใ€‚ไฝฟ็”จๆœฌๅทฅๅ…ทๆ‰€ไบง็”Ÿ็š„ไปปไฝ•ๅŽๆžœ็”ฑไฝฟ็”จ่€…่‡ช่กŒๆ‰ฟๆ‹…ใ€‚


๐Ÿ™ ่‡ด่ฐข

ๆ„Ÿ่ฐขๆ‰€ๆœ‰ไธบๆœฌ้กน็›ฎๆไพ›ๅปบ่ฎฎๅ’Œๅ้ฆˆ็š„็”จๆˆท๏ผ

ๅฆ‚ๆœ‰้—ฎ้ข˜ๆˆ–ๅปบ่ฎฎ๏ผŒๆฌข่ฟŽๆไบค Issue ๆˆ– Pull Requestใ€‚

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages