Star Chart Search Enhancer
Chrome MV3 extension for the Xingtu creator market page.
Development
npm install
npm test
npm run build
Load The Extension
- Run
npm run build - Open
chrome://extensions - Enable developer mode
- Choose
Load unpacked - Select the
dist/directory
Current Scope
- Adds two after-search-rate columns to the Xingtu market list
- Adds a popup-based Logto auth entry
- Hydrates the current page immediately
- Provides plugin-owned filter, sort, and CSV export controls
- Gates the market tools until auth is available
- Triggers full-scan flow only when filter, sort, or export is used
Auth Configuration
The Logto integration is wired with placeholder values in src/shared/auth-config.ts.
Replace these before real sign-in testing:
logtoEndpointappIdapiResource- Any extra scopes beyond
openid,profile, andoffline_access
The popup dev panel is controlled by enableDevAuthPanel.
Popup Behavior
- Load the unpacked extension from
dist/ - Click the extension icon
- Confirm the popup shows
登录 Logtowhen unauthenticated - After real Logto config is added, use the popup to sign in and sign out
Protected API Mock Test
- Set
enableDevAuthPaneltotrueinsrc/shared/auth-config.ts - Run
npm run mock:protected-api - Run
npm run build - Reload the unpacked extension from
dist/ - Open the popup and log in
- Click
测试受保护接口 - Confirm the popup shows JSON containing
"source": "mock-protected-api"and"message": "authorized"
Batch Submit Mock Test
- Run
npm run mock:protected-api - Run
npm run build - Reload the unpacked extension from
dist/ - Open
https://xingtu.cn/ad/creator/market - Choose an export range in the plugin toolbar
- Click
提交批次 - Enter a batch name in the browser prompt
- Confirm the toolbar shows
批次提交成功 - Confirm the mock batch response accepts the payload and reports the submitted
batchId
Market Auth Gate
When the market page is opened without a valid auth state, the content script renders
请先登录插件 and does not boot the filter, sort, or export toolbar.
Manual Verification
- Load the unpacked extension from
dist/ - Open
https://xingtu.cn/ad/creator/market - Confirm the page shows the auth gate until login is available
- After authentication is wired, confirm the two new columns appear
- Confirm current-page rows move through loading and then render values or failure states
- Apply a threshold filter and confirm the list hides unmatched rows
- Apply a sort and confirm row order changes
- Export CSV and confirm the file includes plugin status and after-search-rate fields
Description
Languages
TypeScript
98.2%
JavaScript
1.7%