qiushang 1 dia atrás
pai
commit
83eb87e89d

BIN
bin/cert/dlp.exe


BIN
bin/cert/dlp_x86.exe


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 	"name": "XYCaptureVideo",
-	"version": "2.1.0.0",
+	"version": "2.1.0.1",
 	"author": "苏州星优办公软件有限公司",
 	"description": "An electron-vue project",
 	"license": "captureVideo",

+ 28 - 4
src/renderer/components/header.vue

@@ -126,10 +126,20 @@
 		</el-dialog>
 		
 		<!-- 软件设置 -->
-		<el-dialog title="软件设置" :visible.sync="settingModal" width="400px">
+		<el-dialog title="软件设置" custom-class="setting-dialog" :visible.sync="settingModal" width="400px">
 			<div>
 				<el-divider content-position="left">
-					账号登录
+					账号登录-B站会员
+					<el-popover placement="bottom" popper-class="popper-open" trigger="hover" content="必须安装Firefox浏览器,且登录账号才显示的视频请在Firefox浏览器中先登录">
+						<i class="el-icon-info" slot="reference" style="margin-left: 10px; color: #F56C6C;"></i>
+					</el-popover>
+				</el-divider>
+				<el-row style="text-align: center;">
+					读取Firefox浏览器中账号:
+					<el-switch v-model="isFire"></el-switch>
+				</el-row>
+				<el-divider content-position="left">
+					账号登录-软件内置
 					<el-popover placement="bottom" popper-class="popper-open" trigger="hover" content="账号登录完成后请关闭浏览器使用">
 						<i class="el-icon-info" slot="reference" style="margin-left: 10px; color: #F56C6C;"></i>
 					</el-popover>
@@ -140,13 +150,13 @@
 					<el-button size="mini" @click="toLogin('xiaohongshu')" :loading="xiaohongshuLoading">小红书</el-button>
 					<el-button size="mini" @click="toLogin('weibo')" :loading="weiboLoading">微博</el-button>
 				</el-row>
-				<el-divider content-position="left">代理设置
+				<el-divider content-position="left">微博代理设置
 					<el-popover placement="bottom" popper-class="popper-open" trigger="hover" content="默认设置,可为空,需要设置请咨询客服">
 						<i class="el-icon-info" slot="reference" style="margin-left: 10px; color: #F56C6C;"></i>
 					</el-popover>
 				</el-divider>
 				<el-row>
-					<div style="padding-bottom: 10px;">启用代理:<el-switch v-model="isAgent" active-value="1" inactive-value="-1"></el-switch></div>
+					<div style="padding-bottom: 10px; text-align: center;">启用代理:<el-switch v-model="isAgent" active-value="1" inactive-value="-1"></el-switch></div>
 					<el-input placeholder="可为空,不会设置请咨询客服" v-model="weiboAgent" clearable size="small"></el-input>
 				</el-row>
 				<el-divider content-position="left">清理缓存</el-divider>
@@ -289,6 +299,7 @@
 				noticeValue: {},
 				noticeModel: false,
 				
+				isFire: false,
 				isAgent: '1',
 				weiboAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
 			}
@@ -309,6 +320,9 @@
 			if(this.$utils.getStorage('isAgent')){
 				this.isAgent = this.$utils.getStorage('isAgent');
 			}
+			if(this.$utils.getStorage('isFire')){
+				this.isFire = this.$utils.getStorage('isFire');
+			}
 			
 			window.addEventListener('message', e => {
 				if (e.origin === 'https://www.xingyousoft.com') {
@@ -483,6 +497,7 @@
 				this.$utils.setStorage('isRemember', true);
 				this.$utils.setStorage('weiboAgent', this.weiboAgent);
 				this.$utils.setStorage('isAgent', this.isAgent);
+				this.$utils.setStorage('isFire', this.isFire);
 				ipcRenderer.send('boot', this.boot);
 				setTimeout(() => {
 					this.saveLoading = false;
@@ -858,6 +873,15 @@
 		color: #f8f8f8 !important;
 	}
 	
+	.setting-dialog{
+		.el-dialog__body{
+			padding: 10px 20px;
+		}
+		.el-divider--horizontal{
+			margin: 20px 0;
+		}
+	}
+	
 	.member-dialog{
 		.el-dialog__header{
 			padding: 0;

+ 22 - 6
src/renderer/components/home.vue

@@ -11,7 +11,7 @@
 							<div style="text-align: center;">
 								<p class="c-titles">星优-在线视频下载助手</p>
 								<div style="padding-top: 8px; font-weight: 600;">
-									支持
+									支持以下平台:
 									<img src="../assets/image/douyin.png" class="soft-icon" title="抖音" />
 									<img src="../assets/image/weibo.png" class="soft-icon" title="微博" />
 									<img src="../assets/image/kuaishou.png" class="soft-icon" title="快手" />
@@ -21,7 +21,7 @@
 									<img src="../assets/image/cctv.png" class="soft-icon" title="cctv" />
 									<img src="../assets/image/56.png" class="soft-icon" title="56视频" />
 									<img src="../assets/image/acfun.png" class="soft-icon" title="acfun" />
-									等多个平台,<span style="color: #F56C6C;">(不支持win7及win7以下系统)</span>
+									<span style="color: #F56C6C; font-size: 12px;">(不支持win7及以下系统)</span>
 									
 									<el-popover placement="bottom" popper-class="popper-open" trigger="hover" content="会员/付费/版权视频不支持下载">
 										<i class="el-icon-info" slot="reference" style="margin-right: 10px; color: #F56C6C;"></i>
@@ -264,7 +264,7 @@
 						</div>
 						<div class="handle-item">
 							<label class="handle-label">文件名称:</label>
-							<el-input type="text" size="small" placeholder="请输入文字水印内容" style="width:220px;" v-model="bVideoInfo.title"></el-input>
+							<el-input type="text" size="small" placeholder="请输入文件名称" style="width:220px;" v-model="bVideoInfo.title"></el-input>
 						</div>
 						<div class="handle-item">
 							<label class="handle-label">文件类型:</label>
@@ -501,6 +501,15 @@
 					return 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36';
 				}
 			},
+			// b站会员
+			initSetting(){
+				let isFire = this.$utils.getStorage('isFire');
+				if(isFire){
+					return ['--cookies-from-browser', 'firefox'];
+				}else{
+					return [];
+				}
+			},
 			checkAuthority(){
 				let authority = this.$refs.headerRef.authority;
 				this.$refs.imgRef.authority = authority;
@@ -629,6 +638,7 @@
 				let newPath = this.downloadDir + separator + pjson.softInfo.softName + separator + 'b站合并文件';
 				let videoTitle = 'b站视频.' + item.ext; //'%(title).50s['+item.format_id+'].%(ext)s';
 				let audioTitle = 'b站音频.' + audioItem.ext; //'%(title).50s['+audioItem.format_id+'].%(ext)s';
+				let cookieSet = this.initSetting();
 				let params = [
 					'--no-playlist',
 					'-f',
@@ -636,6 +646,7 @@
 					'--force-overwrites',
 					'-o',
 					newPath + separator + videoTitle,
+					...cookieSet,
 					this.downloadUrl
 				];
 				item.status = '2';
@@ -656,7 +667,7 @@
 					item.status = '3';
 					item.loading = false;
 					this.$forceUpdate();
-					
+					let cookieSet = this.initSetting();
 					 // 视频下载成功,开始下载音频文件
 					let params = [
 						'--no-playlist',
@@ -665,6 +676,7 @@
 						'--force-overwrites',
 						'-o',
 						newPath + separator + audioTitle,
+						...cookieSet,
 						this.downloadUrl
 					];
 					audioItem.status = '2';
@@ -833,10 +845,12 @@
 							"Referer:https://weibo.com/"
 						];
 					}
+					let cookieSet = this.initSetting();
 					let params = [
 						'--no-playlist',
 						'--dump-json',
 						...userAgent,
+						...cookieSet,
 						formatUrl
 					];
 					electronApi.spawnExec(['dlp.exe', ...params]).then(res => {
@@ -999,6 +1013,7 @@
 								"Referer:https://weibo.com/"
 							];
 						}
+						let cookieSet = this.initSetting();
 						let params = [
 							'--no-playlist',
 							...userAgent,
@@ -1007,6 +1022,7 @@
 							'--force-overwrites',
 							'-o',
 							newPath + separator + '%(title).50s['+item.format_id+'].%(ext)s',
+							...cookieSet,
 							this.downloadUrl
 						];
 						item.status = '2';
@@ -1509,9 +1525,9 @@
 				}else if(e.toString().indexOf('operation not permitted') > -1){
 					str = '权限受限,请以管理员权限运行软件!-5';
 				}else if(e.toString().indexOf('browser has disconnected') > -1){
-					str = '内置浏览器已关闭!-6';
+					str = '浏览器已关闭!-6';
 				}else if(e.toString().indexOf('Failed to launch the browser') > -1){
-					str = '请先关闭内置浏览器!-7';
+					str = '浏览器启动失败,请查看设置是否正确或重启电脑后重试!-7';
 				}else{
 					str = e.toString();
 					//console.log(e);