qiushang 11 月之前
父节点
当前提交
6e7907d4de

二进制
build/icons/256x256.png


二进制
build/icons/icon.icns


二进制
build/icons/icon.ico


二进制
build/icons/icon1.ico


二进制
nsis/logo.ico


二进制
nsis/skin/icon.ico


+ 8 - 8
package.json

@@ -1,18 +1,18 @@
 {
-	"name": "XYPinyin",
-	"version": "1.4.0.0",
+	"name": "XYCapture",
+	"version": "2.0.0.0",
 	"author": "苏州星优办公软件有限公司",
 	"description": "An electron-vue project",
-	"license": "pinyin",
+	"license": "capture",
 	"main": "./dist/electron/main.js",
 	"softInfo": {
 		"description": "这里是软件描述文档",
-		"downloadName": "XYPinyin",
-		"softMid": "Lfk5KXGSo9wC",
-		"softName": "图片助手",
+		"downloadName": "XYCapture",
+		"softMid": "Ds8JqlRmiiGR",
+		"softName": "星优图片下载器",
 		"copyright": "苏州星优办公软件有限公司",
-		"popupAdvId": "8",
-		"linkId": "15",
+		"popupAdvId": "30",
+		"linkId": "31",
 		"upgradeLog": "1、修复了部分BUG</br>",
 		"downloadPrefix": "https://xy.xingyousoft.com/soft",
 		"statisticsUrl": "https://www.xingyousoft.com/api/index/user_log"

+ 1 - 1
src/index.ejs

@@ -2,7 +2,7 @@
 <html>
   <head>
     <meta charset="utf-8">
-    <title>图片助手</title>
+    <title>星优图片下载器</title>
     <% if (htmlWebpackPlugin.options.nodeModules) { %>
       <!-- Add `node_modules/` to global paths so `require` works properly in development -->
       <script>

二进制
src/renderer/assets/image/icon.png


二进制
src/renderer/assets/image/m-alibaba.png


二进制
src/renderer/assets/image/m-chicun.png


二进制
src/renderer/assets/image/m-chrome.png


二进制
src/renderer/assets/image/m-download.png


二进制
src/renderer/assets/image/m-edit.png


二进制
src/renderer/assets/image/m-geshi.png


二进制
src/renderer/assets/image/m-jd.png


二进制
src/renderer/assets/image/m-shuiyin.png


二进制
src/renderer/assets/image/m-taobao.png


二进制
src/renderer/assets/image/m-tmall.png


二进制
src/renderer/assets/image/m-yasuo.png


+ 2 - 2
src/renderer/components/header.vue

@@ -77,7 +77,7 @@
 				</div>
 				<div class="font-12" style="padding: 20px; margin-bottom: 10px;">
 					<div style="text-align: center; margin-bottom: 10px;">
-						<p style="font-size: 16px;font-weight: 600;color: #f73131;">非VIP每个图片类型仅下载前5张,图片处理图片有官方水印</p>
+						<p style="font-size: 16px;font-weight: 600;color: #f73131;">非VIP每个图片类型仅下载前5张,图片处理导出图片有官方水印</p>
 						<p style="font-size: 14px; font-weight: 600; margin-top: 15px;">开通会员即享以下权益</p>
 					</div>
 					<el-row :gutter="20" class="micon-list">
@@ -278,7 +278,7 @@
 			toLogin(type){
 				let url = '';
 				if(type == 'alibaba'){
-					url = 'https://login.taobao.com/?redirect_url=https%3A%2F%2Flogin.1688.com%2Fmember%2Fjump.htm%3Ftarget%3Dhttps%253A%252F%252Flogin.1688.com%252Fmember%252FmarketSigninJump.htm%253FDone%253Dhttps%25253A%25252F%25252Fp4psearch.1688.com%25252Fhamlet.html%25253Fscene%25253D6%252526cosite%25253Dbaidujj_pz%252526location%25253Dre%252526trackid%25253D885662561117990122602&style=tao_custom&from=1688web';
+					url = 'https://www.1688.com';
 				}else if(type == 'jd'){
 					url = 'https://passport.jd.com/new/login.aspx';
 				}else if(type == 'tb'){

+ 55 - 37
src/renderer/components/home.vue

@@ -11,20 +11,38 @@
 					
 					<el-menu :default-openeds="['a', 'b']" :default-active="menuIndex" @select="setMenuIndex" active-text-color="#409EFF" background-color="#333744" text-color="#fff" style="margin-top: 10px;">
 						<el-submenu index="a">
-							<template slot="title"><i class="el-icon-picture"></i>图片下载</template>
-							<el-menu-item index="1">阿里巴巴</el-menu-item>
-							<el-menu-item index="2">京东</el-menu-item>
-							<el-menu-item index="3">天猫</el-menu-item>
-							<el-menu-item index="4">淘宝</el-menu-item>
-							<el-menu-item index="10">其他网址</el-menu-item>
+							<template slot="title"><img src="../assets/image/m-download.png" class="m-image"/>图片下载</template>
+							<el-menu-item index="1">
+								<img src="../assets/image/m-alibaba.png" class="m-image"/><span slot="title">阿里巴巴</span>
+							</el-menu-item>
+							<el-menu-item index="2">
+								<img src="../assets/image/m-jd.png" class="m-image"/><span slot="title">京东</span>
+							</el-menu-item>
+							<el-menu-item index="3">
+								<img src="../assets/image/m-tmall.png" class="m-image"/><span slot="title">天猫</span>
+							</el-menu-item>
+							<el-menu-item index="4">
+								<img src="../assets/image/m-taobao.png" class="m-image"/><span slot="title">淘宝</span>
+							</el-menu-item>
+							<el-menu-item index="10">
+								<img src="../assets/image/m-chrome.png" class="m-image"/><span slot="title">其他网址</span>
+							</el-menu-item>
 						</el-submenu>
 						
 						<el-submenu index="b">
-							<template slot="title"><i class="el-icon-picture-outline-round"></i>图片处理</template>
-							<el-menu-item index="2-1">格式转换</el-menu-item>
-							<el-menu-item index="2-2">图片压缩</el-menu-item>
-							<el-menu-item index="2-3">修改尺寸</el-menu-item>
-							<el-menu-item index="2-5">添加水印</el-menu-item>
+							<template slot="title"><img src="../assets/image/m-edit.png" class="m-image"/>图片处理</template>
+							<el-menu-item index="2-1">
+								<img src="../assets/image/m-geshi.png" class="m-image"/><span slot="title">格式转换</span>
+							</el-menu-item>
+							<el-menu-item index="2-2">
+								<img src="../assets/image/m-yasuo.png" class="m-image"/><span slot="title">图片压缩</span>
+							</el-menu-item>
+							<el-menu-item index="2-3">
+								<img src="../assets/image/m-chicun.png" class="m-image"/><span slot="title">修改尺寸</span>
+							</el-menu-item>
+							<el-menu-item index="2-5">
+								<img src="../assets/image/m-shuiyin.png" class="m-image"/><span slot="title">添加水印</span>
+							</el-menu-item>
 						</el-submenu>
 					</el-menu>
 				</el-aside>
@@ -572,10 +590,10 @@
 			
 			// 10-普通网址下载
 			async normalDownload(urlInfo){
-				let authority = this.$refs.headerRef.authority.isAuthority;
 				let task = await new Promise((resolve,reject) =>{
 					(async () => {
 						try{
+							let authority = this.$refs.headerRef.authority.isAuthority;
 							let number = 0;
 							urlInfo.status = '2';
 							urlInfo.num = 0;
@@ -696,6 +714,7 @@
 				let task = await new Promise((resolve,reject) =>{
 					(async () => {
 						try{
+							let authority = this.$refs.headerRef.authority.isAuthority;
 							urlInfo.status = '2';
 							urlInfo.num = 0;
 							const browser = await puppeteer.launch({
@@ -739,7 +758,7 @@
 								}, start);
 								if(start > num || start > 200){ // 防止页面过长,滚动200次自动停止
 									clearInterval(scrollInt);
-									await this.alibabaScanImg(browser, page, urlInfo);
+									await this.alibabaScanImg(browser, page, urlInfo, authority);
 									this.loading = false;
 									urlInfo.status = '4';
 									resolve(true);
@@ -759,10 +778,10 @@
 			
 			// 京东下载
 			async jdDownload(urlInfo){
-				let authority = this.$refs.headerRef.authority.isAuthority;
 				let task = await new Promise((resolve,reject) =>{
 					(async () => {
 						try{
+							let authority = this.$refs.headerRef.authority.isAuthority;
 							urlInfo.status = '2';
 							urlInfo.num = 0;
 							const jdBrowser = await puppeteer.launch({
@@ -1002,7 +1021,7 @@
 			//淘宝\天猫下载
 			async tbDownload(urlInfo){
 				let task = null;
-				if(this.tbStatus == 1){  // 未检测登录状态,开始检测
+				if(this.tbStatus == 1 || this.tbStatus == 3){  // 未检测登录状态/或提示未登录状态,开始检测
 					await this.checkLogin().then((data) => {
 						if(data == 2){ // 已经登录,处理下载
 							task = this.tbScanImg(urlInfo);
@@ -1019,11 +1038,6 @@
 					});
 				}else if(this.tbStatus == 2){ // 已经登录
 					task = this.tbScanImg(urlInfo);
-				}else if(this.tbStatus == 3){ // 未登录
-					task = 'notLogin';
-					this.$notify.error({
-						title: '请先登录淘宝/天猫账号后使用!'
-					});
 				}
 				
 				return task;
@@ -1031,10 +1045,10 @@
 			
 			// 淘宝天猫扫描下载图片
 			async tbScanImg(urlInfo){
-				let authority = this.$refs.headerRef.authority.isAuthority;
 				let task = await new Promise((resolve,reject) =>{
 					(async () => {
 						try{
+							let authority = this.$refs.headerRef.authority.isAuthority;
 							urlInfo.status = '2';
 							urlInfo.num = 0;
 							const tbBrowser = await puppeteer.launch({
@@ -1079,7 +1093,7 @@
 									clearInterval(scrollInt);
 									
 									//detailImg:详情图;skuImg:sku图片;commentImg: 评论图;video: 视频
-									const imgInfo = await page.evaluate(() => {
+									const imgInfo = await page.evaluate((authority, execNum) => {
 										let outObj = {
 											mainImg: [],
 											detailImg: [],
@@ -1102,7 +1116,7 @@
 											if(result){
 												mainImgUrl = mainImgUrl.replace(result[0], '.'+result[1]); 
 											}
-											if(!authority && i < this.execNum){
+											if(!authority && i < execNum){
 												outObj.mainImg.push(mainImgUrl);
 											}
 											if(authority){
@@ -1120,7 +1134,7 @@
 											if(result){
 												skuImgUrl = skuImgUrl.replace(result[0], '.'+result[1]); 
 											}
-											if(!authority && i < this.execNum){
+											if(!authority && i < execNum){
 												outObj.skuImg.push(skuImgUrl);
 											}
 											if(authority){
@@ -1135,7 +1149,7 @@
 											if(result){
 												detailImgUrl = detailImgUrl.replace(result[0], '.'+result[1]); 
 											}
-											if(!authority && i < this.execNum){
+											if(!authority && i < execNum){
 												outObj.detailImg.push(detailImgUrl);
 											}
 											if(authority){
@@ -1149,7 +1163,7 @@
 										}
 										for(let i=0; i< arr4.length; i++){ 
 											if(arr4[i].src.indexOf('/avatar/sns/user/flag/sns_logo') == -1){ //过滤淘宝用户头像
-												if(!authority && i < this.execNum){
+												if(!authority && i < execNum){
 													outObj.commentImg.push(arr4[i].src);
 												}
 												if(authority){
@@ -1161,7 +1175,7 @@
 										let arr5 = document.querySelectorAll('video.lib-video');
 										for(let i=0; i< arr5.length; i++){
 											if(outObj.video.indexOf(arr5[i].src) == -1){
-												if(!authority && i < this.execNum){
+												if(!authority && i < execNum){
 													outObj.video.push(arr5[i].src);
 												}
 												if(authority){
@@ -1170,7 +1184,7 @@
 											}
 										}
 										return outObj;
-									});
+									}, authority, this.execNum);
 									
 									// 主图下载
 									for(let j = 0; j < imgInfo.mainImg.length; j++){
@@ -1285,10 +1299,9 @@
 			},
 			
 			// 阿里巴巴 - 扫描并下载图片
-			async alibabaScanImg(browser, page, urlInfo){
-				let authority = this.$refs.headerRef.authority.isAuthority;
+			async alibabaScanImg(browser, page, urlInfo, authority){
 				//detailImg:详情图;skuImg:sku图片;commentImg: 评论图;video: 视频
-				const imgInfo = await page.evaluate(() => {
+				const imgInfo = await page.evaluate((authority, execNum) => {
 					let outObj = {
 						mainImg: [],
 						detailImg: [],
@@ -1300,7 +1313,7 @@
 					//主图
 					let arr1 = document.querySelectorAll('img.detail-gallery-img');
 					for(let i=0; i< arr1.length; i++){
-						if(!authority && i < this.execNum){
+						if(!authority && i < execNum){
 							outObj.mainImg.push(arr1[i].src);
 						}
 						if(authority){
@@ -1311,7 +1324,7 @@
 					let arr2 = document.querySelectorAll('.prop-img');
 					for(let i=0; i< arr2.length; i++){
 						let src = window.getComputedStyle(arr2[i]).backgroundImage.replace(/url\(["']?(.+?)["']?\)/i, '$1');
-						if(!authority && i < this.execNum){
+						if(!authority && i < execNum){
 							outObj.skuImg.push(src);
 						}
 						if(authority){
@@ -1321,7 +1334,7 @@
 					//详情图片 
 					let arr3 = document.querySelectorAll('img.desc-img-loaded');
 					for(let i=0; i< arr3.length; i++){
-						if(!authority && i < this.execNum){
+						if(!authority && i < execNum){
 							outObj.detailImg.push(arr3[i].src);
 						}
 						if(authority){
@@ -1331,7 +1344,7 @@
 					//评论图片 -- 需要点击切换
 					// let arr4 = document.querySelectorAll('img.image-box');
 					// for(let i=0; i< arr4.length; i++){
-					// 	if(!authority && i < this.execNum){
+					// 	if(!authority && i < execNum){
 					// 		outObj.commentImg.push(arr4[i].src);
 					// 	}
 					// 	if(authority){
@@ -1342,7 +1355,7 @@
 					let arr5 = document.querySelectorAll('video.lib-video');
 					for(let i=0; i< arr5.length; i++){
 						if(outObj.video.indexOf(arr5[i].src) == -1){
-							if(!authority && i < this.execNum){
+							if(!authority && i < execNum){
 								outObj.video.push(arr5[i].src);
 							}
 							if(authority){
@@ -1351,7 +1364,7 @@
 						}
 					}
 					return outObj;
-				});
+				}, authority, this.execNum);
 				
 				// 主图下载
 				for(let j = 0; j < imgInfo.mainImg.length; j++){
@@ -1765,4 +1778,9 @@
 	h3{
 		margin: 0;
 	}
+	
+	.m-image{
+		width: 20px;
+		margin-right: 5px;
+	}
 </style>

+ 0 - 10
src/renderer/components/img.vue

@@ -461,16 +461,6 @@ export default {
 			}
 		];
 		this.defaultFont = 'c:\\windows\\fonts\\simkai.ttf';
-
-        // 打开浏览器
-		const links = document.querySelectorAll('a[href]');
-		links.forEach(link => {
-			link.addEventListener('click', e => {
-				const url = link.getAttribute('href');
-				e.preventDefault();
-				electronApi.call('openExternal', [url]);
-			});
-		});
     },
     methods: {
 		// 检查是否授权登录-是否是会员状态

二进制
static/icon.ico