Pure moves only — zero behavior change, template untouched:
- types.ts (447), utils.ts (51), data/{auth,navigation,practice,mentor,
home,supervisor,icons}.ts, styles/app.css (4690, still global non-scoped
via <style src>)
- App.vue 9006 → 3559 lines; 98 moved declarations verbatim except
export/import syntax
- Built CSS hash identical to pre-refactor (byte-equal styles); reactive
state, computed, watchers, lifecycle and templates all stay in App.vue
- Component-level split deferred to phase two after 2026-07-10 Alpha
19 lines
1.1 KiB
TypeScript
19 lines
1.1 KiB
TypeScript
import type { MentorMapActionKey } from '../types';
|
|
import { mapIconPath } from '../utils';
|
|
|
|
export const mentorImageSrc = `${import.meta.env.BASE_URL}mentor.png`;
|
|
|
|
export const mentorQuickChips = [
|
|
{ label: '催费话术', query: '物业费催缴怎么开口' },
|
|
{ label: '投诉应对', query: '业主投诉时第一句话怎么说' },
|
|
{ label: '收费标准', query: '物业费收费标准怎么向业主解释' },
|
|
{ label: '上门带什么', query: '生活顾问上门处理问题需要带什么' }
|
|
];
|
|
|
|
export const mentorMapActions: Array<{ key: MentorMapActionKey; label: string; desc: string; tone: 'blue' | 'green' | 'orange' | 'red'; icon: string }> = [
|
|
{ key: 'ask', label: '问', desc: '查SOP / 求助话术', tone: 'blue', icon: mapIconPath('ask') },
|
|
{ key: 'practice', label: '练', desc: '场景模拟 / 错题重练', tone: 'green', icon: mapIconPath('practice') },
|
|
{ key: 'learn', label: '学', desc: '岗前课程 / 每日小训', tone: 'orange', icon: mapIconPath('learn') },
|
|
{ key: 'submit', label: '报', desc: '上报案例 / 拍照记录', tone: 'red', icon: mapIconPath('report') }
|
|
];
|