|
40 | 40 | <language-switcher />
|
41 | 41 | </div>
|
42 | 42 |
|
43 |
| - <div class="set-item"> |
| 43 | + <div class="set-item" v-if="isElectron"> |
44 | 44 | <div>
|
45 | 45 | <div class="set-item-title">{{ t('settings.basic.font') }}</div>
|
46 | 46 | <div class="set-item-content">{{ t('settings.basic.fontDesc') }}</div>
|
|
103 | 103 | </div>
|
104 | 104 | </div>
|
105 | 105 | <div class="flex items-center gap-2">
|
106 |
| - <span class="text-sm text-gray-400">{{ setData.animationSpeed }}x</span> |
107 |
| - <div class="w-60"> |
108 |
| - <n-slider |
| 106 | + <span class="text-sm text-gray-400" v-if="!isMobile">{{ setData.animationSpeed }}x</span> |
| 107 | + <div> |
| 108 | + <template v-if="!isMobile"><n-slider |
109 | 109 | v-model:value="setData.animationSpeed"
|
110 | 110 | :min="0.1"
|
111 | 111 | :max="3"
|
|
117 | 117 | }"
|
118 | 118 | :disabled="setData.noAnimate"
|
119 | 119 | class="w-40"
|
120 |
| - /> |
| 120 | + /></template> |
| 121 | + <template v-else> |
| 122 | + <n-input-number |
| 123 | + v-model:value="setData.animationSpeed" |
| 124 | + :min="0.1" |
| 125 | + :max="3" |
| 126 | + :step="0.1" |
| 127 | + :placeholder="t('settings.basic.animationSpeedPlaceholder')" |
| 128 | + :disabled="setData.noAnimate" |
| 129 | + button-placement="both" |
| 130 | + style="width: 100px" |
| 131 | + /> |
| 132 | + </template> |
121 | 133 | </div>
|
122 | 134 | </div>
|
123 | 135 | </div>
|
|
128 | 140 | <div id="playback" ref="playbackRef" class="settings-section">
|
129 | 141 | <div class="settings-section-title">{{ t('settings.sections.playback') }}</div>
|
130 | 142 | <div class="settings-section-content">
|
131 |
| - <div class="set-item"> |
132 |
| - <div> |
133 |
| - <div class="set-item-title">{{ t('settings.playback.quality') }}</div> |
134 |
| - <div class="set-item-content">{{ t('settings.playback.qualityDesc') }}</div> |
| 143 | + <div> |
| 144 | + <div class="set-item"> |
| 145 | + <div> |
| 146 | + <div class="set-item-title">{{ t('settings.playback.quality') }}</div> |
| 147 | + <div class="set-item-content"> |
| 148 | + {{ t('settings.playback.qualityDesc') }} |
| 149 | + </div> |
| 150 | + </div> |
| 151 | + <n-select |
| 152 | + v-model:value="setData.musicQuality" |
| 153 | + :options="[ |
| 154 | + { label: t('settings.playback.qualityOptions.standard'), value: 'standard' }, |
| 155 | + { label: t('settings.playback.qualityOptions.higher'), value: 'higher' }, |
| 156 | + { label: t('settings.playback.qualityOptions.exhigh'), value: 'exhigh' }, |
| 157 | + { label: t('settings.playback.qualityOptions.lossless'), value: 'lossless' }, |
| 158 | + { label: t('settings.playback.qualityOptions.hires'), value: 'hires' }, |
| 159 | + { label: t('settings.playback.qualityOptions.jyeffect'), value: 'jyeffect' }, |
| 160 | + { label: t('settings.playback.qualityOptions.sky'), value: 'sky' }, |
| 161 | + { label: t('settings.playback.qualityOptions.dolby'), value: 'dolby' }, |
| 162 | + { label: t('settings.playback.qualityOptions.jymaster'), value: 'jymaster' } |
| 163 | + ]" |
| 164 | + style="width: 160px" |
| 165 | + /> |
| 166 | + </div> |
| 167 | + <!-- 网易云 QQ 音乐 酷我 酷狗 会员购买链接 --> |
| 168 | + <div class="p-2 bg-light-100 dark:bg-dark-100 rounded-lg mt-2"> |
| 169 | + <div>大家还是需要支持正版,本软件只做开源探讨</div> |
| 170 | + <div class="mt-2">各大音乐会员购买链接</div> |
| 171 | + <div class="flex gap-5 flex-wrap"> |
| 172 | + <a class="text-green-400 hover:text-green-500" href="https://music.163.com/store/vip" target="_blank">网易云音乐会员</a> |
| 173 | + <a class="text-green-400 hover:text-green-500" href="https://y.qq.com/portal/vipportal/" target="_blank">QQ音乐会员</a> |
| 174 | + <a class="text-green-400 hover:text-green-500" href="https://vip.kugou.com/" target="_blank">酷狗音乐会员</a> |
| 175 | + <a class="text-green-400 hover:text-green-500" href="https://vip1.kuwo.cn/" target="_blank">酷我音乐会员</a> |
| 176 | + </div> |
135 | 177 | </div>
|
136 |
| - <n-select |
137 |
| - v-model:value="setData.musicQuality" |
138 |
| - :options="[ |
139 |
| - { label: t('settings.playback.qualityOptions.standard'), value: 'standard' }, |
140 |
| - { label: t('settings.playback.qualityOptions.higher'), value: 'higher' }, |
141 |
| - { label: t('settings.playback.qualityOptions.exhigh'), value: 'exhigh' }, |
142 |
| - { label: t('settings.playback.qualityOptions.lossless'), value: 'lossless' }, |
143 |
| - { label: t('settings.playback.qualityOptions.hires'), value: 'hires' }, |
144 |
| - { label: t('settings.playback.qualityOptions.jyeffect'), value: 'jyeffect' }, |
145 |
| - { label: t('settings.playback.qualityOptions.sky'), value: 'sky' }, |
146 |
| - { label: t('settings.playback.qualityOptions.dolby'), value: 'dolby' }, |
147 |
| - { label: t('settings.playback.qualityOptions.jymaster'), value: 'jymaster' } |
148 |
| - ]" |
149 |
| - style="width: 160px" |
150 |
| - /> |
151 | 178 | </div>
|
152 |
| - |
153 | 179 | <div class="set-item" v-if="isElectron">
|
154 | 180 | <div>
|
155 | 181 | <div class="set-item-title">{{ t('settings.playback.musicSources') }}</div>
|
|
418 | 444 |
|
419 | 445 | <!-- 捐赠支持 -->
|
420 | 446 | <div id="donation" ref="donationRef" class="settings-section">
|
421 |
| - <div class="settings-section-title">{{ t('settings.sections.donation') }}</div> |
| 447 | + <div class="settings-section-title">{{ t('settings.sectio ns.donation') }}</div> |
422 | 448 | <div class="settings-section-content">
|
423 | 449 | <div class="set-item">
|
424 | 450 | <div>
|
@@ -499,7 +525,7 @@ import config from '../../../../package.json';
|
499 | 525 | // 所有平台默认值
|
500 | 526 | const ALL_PLATFORMS: Platform[] = ['migu', 'kugou', 'pyncmd', 'bilibili', 'kuwo'];
|
501 | 527 |
|
502 |
| -const platform = window.electron.ipcRenderer.sendSync('get-platform'); |
| 528 | +const platform = window.electron ? window.electron.ipcRenderer.sendSync('get-platform') : 'web'; |
503 | 529 |
|
504 | 530 | const settingsStore = useSettingsStore();
|
505 | 531 | const userStore = useUserStore();
|
|
0 commit comments