303303 :current-value =" addressSettings.proxySniff"
304304 @select =" (value) => addressSettings.proxySniff = value"
305305 />
306+ <a-button
307+ type =" outline"
308+ @click =" resetProxySniff"
309+ :loading =" addressSaving.proxySniffReset"
310+ size =" medium"
311+ >
312+ <template #icon >
313+ <icon-refresh />
314+ </template >
315+ 重置
316+ </a-button >
306317 <a-button
307318 type =" primary"
308319 @click =" saveAddress('proxySniff')"
@@ -760,7 +771,7 @@ const addressSettings = reactive({
760771 proxyAccessEnabled: false ,
761772 proxyPlay: ' ' ,
762773 proxyPlayEnabled: false ,
763- proxySniff: ' ' ,
774+ proxySniff: ' http://localhost:57573/sniffer ' ,
764775 proxySniffEnabled: false
765776})
766777
@@ -770,7 +781,8 @@ const addressSaving = reactive({
770781 liveConfigReset: false ,
771782 proxyAccess: false ,
772783 proxyPlay: false ,
773- proxySniff: false
784+ proxySniff: false ,
785+ proxySniffReset: false
774786})
775787
776788const addressTesting = reactive ({
@@ -992,6 +1004,41 @@ const resetLiveConfig = async () => {
9921004 }
9931005}
9941006
1007+ // 重置代理嗅探接口
1008+ const resetProxySniff = async () => {
1009+ addressSaving .proxySniffReset = true
1010+ try {
1011+ // 重置为默认值
1012+ addressSettings .proxySniff = ' http://localhost:57573/sniffer'
1013+ addressSettings .proxySniffEnabled = false
1014+
1015+ // 保存到本地存储
1016+ const savedAddresses = JSON .parse (localStorage .getItem (' addressSettings' ) || ' {}' )
1017+ savedAddresses .proxySniff = addressSettings .proxySniff
1018+ savedAddresses .proxySniffEnabled = addressSettings .proxySniffEnabled
1019+ localStorage .setItem (' addressSettings' , JSON .stringify (savedAddresses))
1020+
1021+ addressStatus .proxySniff = {
1022+ type: ' success' ,
1023+ message: ' 代理嗅探接口已重置为默认地址'
1024+ }
1025+ Message .success (' 代理嗅探接口重置成功' )
1026+ } catch (error) {
1027+ console .error (' 重置代理嗅探接口失败:' , error)
1028+ addressStatus .proxySniff = {
1029+ type: ' error' ,
1030+ message: ' 重置失败:' + (error .message || ' 未知错误' )
1031+ }
1032+ Message .error (' 重置失败:' + (error .message || ' 未知错误' ))
1033+ } finally {
1034+ addressSaving .proxySniffReset = false
1035+ // 8秒后清除状态消息
1036+ setTimeout (() => {
1037+ addressStatus .proxySniff = null
1038+ }, 8000 )
1039+ }
1040+ }
1041+
9951042// 获取配置键名
9961043const getConfigKey = (configType ) => {
9971044 const keyMap = {
@@ -1064,6 +1111,51 @@ const handlePlayerSelect = (playerType) => {
10641111 Message .success (` 已切换到 ${ getCurrentPlayerName ()} ` )
10651112}
10661113
1114+ // 重置所有设置到默认状态
1115+ const resetAllSettings = () => {
1116+ // 重置地址设置
1117+ Object .assign (addressSettings, {
1118+ vodConfig: ' ' ,
1119+ liveConfig: ' ' ,
1120+ proxyAccess: ' ' ,
1121+ proxyAccessEnabled: false ,
1122+ proxyPlay: ' ' ,
1123+ proxyPlayEnabled: false ,
1124+ proxySniff: ' http://localhost:57573/sniffer' ,
1125+ proxySniffEnabled: false
1126+ })
1127+
1128+ // 重置其他设置
1129+ Object .assign (settings, {
1130+ datasourceDisplay: true ,
1131+ windowPreview: true ,
1132+ playerType: ' ijk' ,
1133+ adFilter: true ,
1134+ ijkCache: false ,
1135+ autoLive: false ,
1136+ secureDns: false ,
1137+ cspBypass: true ,
1138+ referrerPolicy: ' no-referrer'
1139+ })
1140+
1141+ // 清除本地存储
1142+ localStorage .removeItem (' addressSettings' )
1143+ localStorage .removeItem (' appSettings' )
1144+
1145+ // 重置CSP配置
1146+ try {
1147+ saveCSPConfig ({
1148+ enabled: true ,
1149+ referrerPolicy: ' no-referrer'
1150+ })
1151+ setGlobalReferrerPolicy (' no-referrer' )
1152+ } catch (error) {
1153+ console .error (' Failed to reset CSP config:' , error)
1154+ }
1155+
1156+ Message .success (' 所有设置已重置为默认状态' )
1157+ }
1158+
10671159// 处理设置项点击
10681160const handleSettingClick = (settingKey ) => {
10691161 console .log (' Setting clicked:' , settingKey)
@@ -1093,6 +1185,9 @@ const handleSettingClick = (settingKey) => {
10931185 case ' referrer-policy' :
10941186 handleReferrerPolicySelect ()
10951187 break
1188+ case ' reset' :
1189+ resetAllSettings ()
1190+ break
10961191 default :
10971192 Message .info (` 点击了设置项:${ settingKey} ` )
10981193 break
@@ -1108,6 +1203,10 @@ const loadConfig = async () => {
11081203 try {
11091204 const parsed = JSON .parse (savedAddresses)
11101205 Object .assign (addressSettings, parsed)
1206+ // 确保代理嗅探接口有默认值
1207+ if (! addressSettings .proxySniff ) {
1208+ addressSettings .proxySniff = ' http://localhost:57573/sniffer'
1209+ }
11111210 } catch (error) {
11121211 console .error (' Failed to load address settings:' , error)
11131212 }
0 commit comments