diff --git a/POP3Client/POP3/oh-package.json5 b/POP3Client/POP3/oh-package.json5 index 82144198ef2f812a5b0b6295992aa34dbda0339b..683b7b06cbe1bb1f570458a066d39e75ca87b850 100644 --- a/POP3Client/POP3/oh-package.json5 +++ b/POP3Client/POP3/oh-package.json5 @@ -1,28 +1,29 @@ { - "types": '', + "types": "", "keywords": [ - 'POP3 Protocol', - 'receive mail', + "POP3 Protocol", + "receive mail", "OpenHarmony", "HarmonyOS" ], + "author": "ohos_tpc", "ohos": { "org": "opensource" }, - "name": "@ohos/node_pop3", - "version": "1.0.0", "description": "pop3 command support for node. Supports Promise and stream.", "main": "index.ts", "type": "module", "repository": "http://gitee.com/PriLibrary/commons-net/tree/master/POP3Client", + "version": "1.0.0", "tags": [ "Network", "Tool" ], - "author": "ohos_tpc", - "license": "MIT", "dependencies": {}, + "license": "MIT", + "devDependencies": {}, + "name": "@ohos/node_pop3", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" \u0026\u0026 exit 1" } } diff --git a/POP3Client/POP3/src/main/ets/Command.ts b/POP3Client/POP3/src/main/ets/Command.ts index 4d4be0dc1c7b10b44186cfac3e0ff6c5c7638c0b..cbef7104a6878f8ce5951996729ca8cd98c95759 100644 --- a/POP3Client/POP3/src/main/ets/Command.ts +++ b/POP3Client/POP3/src/main/ets/Command.ts @@ -4,6 +4,7 @@ import Pop3Connection from '../ets/Connection'; import { listify, stream2String } from '../ets/helper'; import to, { to } from './await-to-js'; +const BASE_COUNT = 1 /** * @typedef {number} Integer @@ -69,7 +70,11 @@ class Pop3Command extends Pop3Connection { this._socket = undefined; } } + let startTime1 = new Date().getTime(); await super.connect(); + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("connect averageTime : " + averageTime1 + "us") await super.command('USER', this.user); const [info] = await super.command('PASS', this.password); this._PASSInfo = info; diff --git a/POP3Client/POP3/src/main/ets/Connection.ts b/POP3Client/POP3/src/main/ets/Connection.ts index 25b179d312ec13252bcae65522ec5059fe5bd923..7939278887ab0364e9229ea9ab9d65cb89067178 100644 --- a/POP3Client/POP3/src/main/ets/Connection.ts +++ b/POP3Client/POP3/src/main/ets/Connection.ts @@ -16,6 +16,7 @@ import { TERMINATOR_BUFFER, TERMINATOR_BUFFER_ARRAY } from './constant.js'; +const BASE_COUNT = 1 class Pop3Connection extends EventEmitter { @@ -279,6 +280,7 @@ class Pop3Connection extends EventEmitter { * @returns {Promise<[string, Readable]>} */ async command(...args) { + let startTime1 = new Date().getTime(); this._command = args.join(' '); if (!this._socket) { throw new Pop3Error('no-socket'); @@ -313,12 +315,18 @@ class Pop3Connection extends EventEmitter { if ('getCipherSuite' in this._socket) { let tempSocket = this._socket as socket.TLSSocket; tempSocket.send(`${this._command}${CRLF}`) + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("command averageTime : " + averageTime1 + "us") } else { let tempSocket = this._socket as socket.TCPSocket; tempSocket.send({ data: `${this._command}${CRLF}`, encoding: 'utf8' }) + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("command averageTime : " + averageTime1 + "us") } }); } diff --git a/POP3Client/build-profile.json5 b/POP3Client/build-profile.json5 index 1961b191120b9a0d11d7f12398daf03d42718c8c..841bc52f905b482a439660a61edf8498a0df525d 100644 --- a/POP3Client/build-profile.json5 +++ b/POP3Client/build-profile.json5 @@ -1,6 +1,5 @@ { "app": { - "signingConfigs": [], "compileSdkVersion": 9, "compatibleSdkVersion": 9, "products": [ diff --git a/POP3Client/entry/oh-package.json5 b/POP3Client/entry/oh-package.json5 index 6b44f32ad8897ee044dcae6b2d5ade2bc9879f32..89c1df68b87db3631e14cc5522cded0520b9ad6d 100644 --- a/POP3Client/entry/oh-package.json5 +++ b/POP3Client/entry/oh-package.json5 @@ -1,12 +1,12 @@ { + "license": "", + "devDependencies": {}, + "author": "", "name": "entry", - "version": "1.0.0", "description": "Please describe the basic information.", "main": "", - "author": "", - "license": "", + "version": "1.0.0", "dependencies": { "@ohos/node_pop3": "file:../POP3" } } - diff --git a/POP3Client/entry/src/main/ets/pages/AutoLoginCommandPage.ets b/POP3Client/entry/src/main/ets/pages/AutoLoginCommandPage.ets index 509fbe7ea826fb86de80a6506eb48c3e181154e6..f6f59696cb1b8aace5c8714eb4d211847837d29a 100644 --- a/POP3Client/entry/src/main/ets/pages/AutoLoginCommandPage.ets +++ b/POP3Client/entry/src/main/ets/pages/AutoLoginCommandPage.ets @@ -3,6 +3,8 @@ import router from '@ohos.router' import Pop3Command from '@ohos/node_pop3' import MsgBean from '../MsgBean' +const BASE_COUNT = 1 + @Entry @Component struct AutoLoginCommandPage { @@ -13,6 +15,8 @@ struct AutoLoginCommandPage { @State selectMsgNum: number = -1 @State isListShow: boolean = false @State msgList: Array = [] + @State topLine: string = '' + controller: TextInputController = new TextInputController() async aboutToDisappear() { if (this.client) { @@ -62,15 +66,15 @@ struct AutoLoginCommandPage { this.sendSTAT() }) .margin({ top: 10 }) - Button('LAST命令(pop3暂无该指令,原库运行结果同样报错)') - .margin(20) - .height(50) - .backgroundColor(Color.Blue) - .fontColor(Color.White) - .onClick(() => { - this.sendLAST() - }) - .margin({ top: 10 }) + // Button('LAST命令(pop3暂无该指令,原库运行结果同样报错)') + // .margin(20) + // .height(50) + // .backgroundColor(Color.Blue) + // .fontColor(Color.White) + // .onClick(() => { + // this.sendLAST() + // }) + // .margin({ top: 10 }) Button('NOOP命令') .margin(20) @@ -101,6 +105,20 @@ struct AutoLoginCommandPage { this.sendLIST() }) .margin({ top: 10 }) + + TextInput({ text: this.topLine, placeholder: '输入TOP行数', controller: this.controller }) + .placeholderColor(Color.Grey) + .placeholderFont({ size: 14, weight: 400 }) + .caretColor(Color.Blue) + .width(600) + .height(40) + .margin(20) + .fontSize(14) + .fontColor(Color.Black) + .onChange((value: string) => { + this.topLine = value + }) + Button('TOP命令') .margin(20) .height(50) @@ -220,7 +238,11 @@ struct AutoLoginCommandPage { ctx.selectMsgNum = -1; try { if (ctx.client) { + let startTime1 = new Date().getTime(); let result = await ctx.client.STAT() + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("STAT averageTime : " + averageTime1 + "us") this.showToast('获取到STAT命令的结果', 'sendSTAT') if (result && result.toString() && result.toString().length > 0) { let arr = result.toString().split(' ') @@ -252,7 +274,11 @@ struct AutoLoginCommandPage { ctx.selectMsgNum = -1; try { if (ctx.client) { + let startTime1 = new Date().getTime(); let result = await ctx.client.LIST() + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("LIST averageTime : " + averageTime1 + "us") this.showToast(`获取到LIST命令的结果:${result}`, 'sendLIST') if (result && result.toString() && result.toString().length > 0) { let arr = result.toString().split(',') @@ -289,7 +315,11 @@ struct AutoLoginCommandPage { ctx.selectMsgNum = -1; try { if (ctx.client) { + let startTime1 = new Date().getTime(); let result = await ctx.client.NOOP() + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("NOOP averageTime : " + averageTime1 + "us") this.showToast('获取到NOOP命令的结果', 'sendNOOP') ctx.listData.push(`获取到NOOP命令的结果:${'\r\n'}${JSON.stringify(result)}`) } else { @@ -312,8 +342,11 @@ struct AutoLoginCommandPage { return } if (ctx.client) { - let result = await ctx.client.TOP(ctx.selectMsgNum + '') - + let startTime1 = new Date().getTime(); + let result = await ctx.client.TOP(ctx.selectMsgNum + '', parseInt(this.topLine)) + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("TOP averageTime : " + averageTime1 + "us") ctx.showToast('获取到TOP命令的结果', 'sendTOP') ctx.listData.push(`获取到TOP命令的结果:${'\r\n'}${result}`) } else { @@ -337,8 +370,11 @@ struct AutoLoginCommandPage { return } if (ctx.client) { + let startTime1 = new Date().getTime(); let result = await ctx.client.UIDL(ctx.selectMsgNum + '') - + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("UIDL averageTime : " + averageTime1 + "us") ctx.showToast('获取到UIDL命令的结果', 'sendUIDL') ctx.listData.push(`获取到UIDL命令的结果:${'\r\n'}${result}`) } else { @@ -360,8 +396,11 @@ struct AutoLoginCommandPage { ctx.selectMsgNum = -1; try { if (ctx.client) { + let startTime1 = new Date().getTime(); let result = await ctx.client.LAST() - + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("LAST averageTime : " + averageTime1 + "us") ctx.showToast('获取到LAST命令的结果', 'sendLAST') ctx.listData.push(`获取到LAST命令的结果:${'\r\n'}${result}`) } else { @@ -384,7 +423,11 @@ struct AutoLoginCommandPage { return } if (ctx.client) { + let startTime1 = new Date().getTime(); let result = await ctx.client.DELE(ctx.selectMsgNum + '') + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("DELE averageTime : " + averageTime1 + "us") ctx.showToast('获取到DELE命令的结果', 'sendDELE') ctx.listData.push(`获取到DELE命令的结果:${'\r\n'}${result}`) } else { @@ -411,7 +454,11 @@ struct AutoLoginCommandPage { let delResult = ctx.client.DELE(ctx.selectMsgNum + '') ctx.showToast('获取到RSETE命令的结果', 'sendRSET') ctx.listData.push(`发送DELE命令删除的结果:${'\r\n'}${delResult}`) + let startTime1 = new Date().getTime(); let result = await ctx.client.RSET() // 用于撤销DELE命令 所以不需要等DELE命令返回 + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("RSET averageTime : " + averageTime1 + "us") ctx.showToast('获取到RSETE命令的结果', 'sendRSET') ctx.listData.push(`发送RSET命令取消删除操作的结果:${'\r\n'}${result}`) } else { @@ -435,14 +482,17 @@ struct AutoLoginCommandPage { return } if (ctx.client) { - + let startTime1 = new Date().getTime(); let result = await ctx.client.RETR(ctx.selectMsgNum + '') + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("RETR averageTime : " + averageTime1 + "us") ctx.showToast('获取到RETR命令的结果', 'sendRETR') ctx.listData.push(`获取到RETR命令的结果,结果长度为:${'\r\n'}${result.toString().length}${'\r\n'}}`) if (result.toString().length > 1000) { ctx.listData.push(`由于RETR命令的结果太长text无法完全显示,取最后1000字节显示:${'\r\n'}${result.toString() .substring(result.toString().length - 1000, result.toString().length)}`) - }else { + } else { ctx.listData.push(`ETR命令的结果显示:${'\r\n'}${result.toString()}`) } @@ -466,8 +516,11 @@ struct AutoLoginCommandPage { try { if (ctx.client) { + let startTime1 = new Date().getTime(); const [quitInfo] = await ctx.client.QUIT(); - + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("QUIT averageTime : " + averageTime1 + "us") ctx.showToast('获取到QUIT命令的结果', 'sendQUIT') ctx.listData.push(`获取到QUIT命令的结果:${'\r\n'}${quitInfo}`) diff --git a/POP3Client/oh-package.json5 b/POP3Client/oh-package.json5 index d7426d835089313ac5e6766e1bae15ac83baad39..9425349767c568e0fd8edeecff0b62b249710280 100644 --- a/POP3Client/oh-package.json5 +++ b/POP3Client/oh-package.json5 @@ -1,13 +1,12 @@ { - "name": "pop3client", - "version": "1.0.0", - "description": "Please describe the basic information.", - "main": "", - "author": "", "license": "", - "dependencies": { - }, "devDependencies": { "@ohos/hypium": "1.0.6" - } + }, + "author": "", + "name": "pop3client", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} } diff --git a/SMTPClient/SMTP/oh-package.json5 b/SMTPClient/SMTP/oh-package.json5 index b60c6f45c0613842964cf6728bb0637808025983..cb0c5311261b98b28eee19fa8f9b2507761beca6 100644 --- a/SMTPClient/SMTP/oh-package.json5 +++ b/SMTPClient/SMTP/oh-package.json5 @@ -1,28 +1,29 @@ { - "name": "@ohos/emailjs", - "version": "1.0.0", - "type": "module", "types": "", - "description": "send text/html emails and attachments (files, streams and strings) from node.js to any smtp server", - "main": "index.ets", - "author": "ohos_tpc", - "ohos": { - "org": "opensource" - }, - "repository": "http://gitee.com/PriLibrary/commons-net/tree/master/SMTPClient", - "license": "MIT", - "dependencies": {}, "keywords": [ "SMTP Protocol", "send email", "OpenHarmony", "HarmonyOS" ], + "author": "ohos_tpc", + "description": "send text/html emails and attachments (files, streams and strings) from node.js to any smtp server", + "ohos": { + "org": "opensource" + }, + "main": "index.ets", + "type": "module", + "repository": "http://gitee.com/PriLibrary/commons-net/tree/master/SMTPClient", + "version": "1.0.0", + "dependencies": {}, "tags": [ "Network", "Tool" ], + "license": "MIT", + "devDependencies": {}, + "name": "@ohos/emailjs", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" \u0026\u0026 exit 1" } } diff --git a/SMTPClient/SMTP/src/main/ets/client.ts b/SMTPClient/SMTP/src/main/ets/client.ts index 0fcdc3580cb69a6e9175cce8a3634b327554bcd1..55163980c32f5318f58929ed5c3a217fb6a67bb9 100644 --- a/SMTPClient/SMTP/src/main/ets/client.ts +++ b/SMTPClient/SMTP/src/main/ets/client.ts @@ -4,6 +4,7 @@ import type { MessageAttachment, MessageHeaders } from './message.js'; import { Message } from './message.js'; import type { SMTPConnectionOptions } from './connection.js'; import { SMTPConnection, SMTPState } from './connection.js'; +const BASE_COUNT = 1 export type MessageCallback = ( @@ -95,7 +96,11 @@ export class SMTPClient { */ public sendAsync(msg: T) { return new Promise((resolve, reject) => { + let startTime1 = new Date().getTime(); this.send(msg, (err, message) => { + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("send averageTime : " + averageTime1 + "us") if (err != null) { reject(err); } else { diff --git a/SMTPClient/build-profile.json5 b/SMTPClient/build-profile.json5 index 5db84128e803bb6220efab3fe694c087a335988e..efdcc4ad8e4f77abb19b60f30de1dada292f0c37 100644 --- a/SMTPClient/build-profile.json5 +++ b/SMTPClient/build-profile.json5 @@ -1,6 +1,5 @@ { "app": { - "signingConfigs": [], "compileSdkVersion": 9, "compatibleSdkVersion": 9, "products": [ diff --git a/SMTPClient/entry/oh-package.json5 b/SMTPClient/entry/oh-package.json5 index 1454b35cbcf0906daf50410fb6ec79108b58e80f..2306c04dfc0ed8d36a07e11c10b4e8aa5d9ac2b1 100644 --- a/SMTPClient/entry/oh-package.json5 +++ b/SMTPClient/entry/oh-package.json5 @@ -1,12 +1,12 @@ { + "license": "", + "devDependencies": {}, + "author": "", "name": "entry", - "version": "1.0.0", "description": "Please describe the basic information.", "main": "", - "author": "", - "license": "", + "version": "1.0.0", "dependencies": { "@ohos/emailjs": "file:../SMTP" } } - diff --git a/SMTPClient/entry/src/main/ets/pages/LoginPage.ets b/SMTPClient/entry/src/main/ets/pages/LoginPage.ets index 15d57a0bab94b265bf9ebc32473a5b7c88f19d46..695eb041459bbd6fb1e9f0bd22184c67ad939a80 100644 --- a/SMTPClient/entry/src/main/ets/pages/LoginPage.ets +++ b/SMTPClient/entry/src/main/ets/pages/LoginPage.ets @@ -2,6 +2,7 @@ import { AUTH_METHODS, SMTPClient } from '@ohos/emailjs' import promptAction from '@ohos.promptAction' import router from '@ohos.router' import socket from '@ohos.net.socket' +const BASE_COUNT = 1 @CustomDialog struct CustomDialogDiy { @@ -307,7 +308,7 @@ struct LoginPage { } // @ts-ignore option.secureOptions.ca[1] = ca1; - + let startTime1 = new Date().getTime(); client = new SMTPClient({ user: this.account + this.mailType, password: this.password, @@ -318,7 +319,11 @@ struct LoginPage { ssl: option, tls: undefined }); + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("new SMTPClient averageTime : " + averageTime1 + "us") } else { + let startTime1 = new Date().getTime(); client = new SMTPClient({ user: this.account + this.mailType, password: this.password, @@ -329,6 +334,9 @@ struct LoginPage { ssl: false, tls: undefined }); + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("new SMTPClient averageTime : " + averageTime1 + "us") } globalThis.client = client } diff --git a/SMTPClient/entry/src/main/ets/pages/SendMailPage.ets b/SMTPClient/entry/src/main/ets/pages/SendMailPage.ets index aa51096e04e6eee8a6e9f9329f4369d4ed837817..6c362f411cc95b67f0452b0bc556f2fdabb72f88 100644 --- a/SMTPClient/entry/src/main/ets/pages/SendMailPage.ets +++ b/SMTPClient/entry/src/main/ets/pages/SendMailPage.ets @@ -2,6 +2,7 @@ import promptAction from '@ohos.promptAction' import router from '@ohos.router' import { Message, MessageAttachment, MessageHeaders } from '@ohos/emailjs' import fs from '@ohos.file.fs'; +const BASE_COUNT = 1 @Entry @@ -353,7 +354,11 @@ struct SendMailPage { subject: this.subject, attachment: this.attachment } + let startTime1 = new Date().getTime(); const message = await globalThis.client.sendAsync(msg) + let endTime1 = new Date().getTime(); + let averageTime1 = ((endTime1 - startTime1) * 1000) / BASE_COUNT; + console.log("sendAsync averageTime : " + averageTime1 + "us") this.showToast('邮件发送成功', 'sendmail-smtp') if (globalThis.client.isQuitAfterSendDone()) { globalThis.client.close(true); diff --git a/SMTPClient/oh-package.json5 b/SMTPClient/oh-package.json5 index c3481cc2178d773dd0dd63ed87cb32d9d333818c..59dba00a4717bf4ed3474f89407efaeca9b74814 100644 --- a/SMTPClient/oh-package.json5 +++ b/SMTPClient/oh-package.json5 @@ -1,13 +1,12 @@ { - "name": "smtpclient", - "version": "1.0.0", - "description": "Please describe the basic information.", - "main": "", - "author": "", "license": "", - "dependencies": { - }, "devDependencies": { "@ohos/hypium": "1.0.6" - } + }, + "author": "", + "name": "smtpclient", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} }