1.electron应用版本更新添加releaseNotes(更新日志)的源码N种方法
2.软件å¼åå·¥å
·
3.è£è6ä¸åªäºè½¯ä»¶å¯ä»¥å¸è½½
4.酷派手机里的proxyhandler可以删除吗?
electron应用版本更新添加releaseNotes(更新日志)的N种方法
前言
目前electron应用一般是使用electron-builder进行打包,使用electron-updater进行版本更新,源码客户端检测到新版本后一般会弹窗提示用户有新版本+展示更新日志,源码这就需要我们打包的源码c 自助机源码时候将版本更新日志(releaseNotes)添加到latest.yml或latest-mac.yml文件中,然后客户端检测到新版本后就能够获取到该更新日志并展示给用户。源码通过分析electron-builder源码,源码hp源码组件总结出几种添加releaseNotes的源码方法。
version:?源码1.0.0files:-?url:?electron-start_setup_1.0.0.exesha:?+yJuqcWDdhWGLvuLiJFjFKM+uQfihiQ8FHE7RoyyFjOiFZeGugE7UPlceDHfm9qyQOYmUvuEzjq/u3zw==size:?path:?electron-start_setup_1.0.0.exesha:?+yJuqcWDdhWGLvuLiJFjFKM+uQfihiQ8FHE7RoyyFjOiFZeGugE7UPlceDHfm9qyQOYmUvuEzjq/u3zw==releaseNotes:?"修复断网时离开会议失败的问题\r\n修复会议中受开关麦影响听不到的问题\r\n新增动态转发功能\r\n修复Bug,优化UI"releaseDate:?源码'--T::.Z'适用范围项目使用Electron-builder打包
provider为generic
//package.json{ "build":?{ "publish":?[{ "provider":?"generic","url":?"xxxxxx"}]}}方法一:在package.json文件build节点下添加releaseNotes信息示例:
//package.json{ "build":?{ "releaseInfo":{ "releaseNotes":"修复断网时离开会议失败的问题\r\n修复会议中受开关麦影响听不到的问题\r\n新增动态转发功能\r\n修复Bug,优化UI"}}}方法二:在package.json文件build节点下添加releaseNotesFiles信息(推荐使用)示例:
//package.json{ "build":?源码{ "releaseInfo":{ "releaseNotesFile":"release-1.0.0.md"}}}releaseNotesFile字段指定更新日志文件为release-1.0.0.md,其内容如下:
修复断网时离开会议失败的源码问题修复会议中受开关麦影响听不到的问题新增动态转发功能修复Bug,优化UI使用这种方法添加releaseNotes,源码可自定义更新日志文件名称,源码flink实时源码如每发布一个版本就添加一个更新日志文件(release-1.0.0.md,源码release-1.0.1.md...),源码便于以后查看每一个版本更新日志。ue源码面试
方法三:在打包输出目录下创建文件release-notes.md如指定了输出目录为build,则在build目录下创建名称为release-notes.md的文件。
可取的源码分析模式文件名为:
release-notes.md
release-notes-(mac|windows|linux).md
.....
方法四:直接修改打包生成的latest.yml或latest-mac.yml,添加releaseNotes字段(不建议使用)客户端实现使用electron-updater检查更新获取更新日志,弹窗提示用户有新版本
const?{ ?autoUpdater?}?=?require('electron-updater')//检测到新版本时触发autoUpdater.on('update-available',?function?(info)?{ //获取更新日志var?releaseNotes=info.releaseNotes//弹窗提示用户const?dialogOpts?=?{ type:?'info',buttons:?['立即下载','稍后'],title:?'版本更新',textWidth:?,message:?'发现新版本'+info.version+"("+(info.files[0].size//).toFixed(2)+"MB)"+"\r\n\r\n"+releaseNotes,cancelId:?1}dialog.showMessageBox(dialogOpts).then((returnValue)?=>?{ if?(returnValue.response?===0)?{ ?autoUpdater.downloadUpdate();}})});实现效果如下:
macOS系统Windows系统相关源码分析electron-builder打包时获取releaseNotes对应的代码文件为packages/app-builder-lib/src/publish/updateInfoBuilder.ts,具体代码如下:
async?function?getReleaseInfo(packager:?PlatformPackager<any>)?{ const?releaseInfo:?ReleaseInfo?=?{ ?...(packager.platformSpecificBuildOptions.releaseInfo?||?packager.config.releaseInfo)?}if?(releaseInfo.releaseNotes?==?null)?{ const?releaseNotesFile?=?await?packager.getResource(releaseInfo.releaseNotesFile,`release-notes-${ packager.platform.buildConfigurationKey}.md`,`release-notes-${ packager.platform.name}.md`,`release-notes-${ packager.platform.nodeName}.md`,"release-notes.md")const?releaseNotes?=?releaseNotesFile?==?null?null?:?await?readFile(releaseNotesFile,?"utf-8")//?to?avoid?undefined?in?the?file,?check?for?nullif?(releaseNotes?!=?null)?{ releaseInfo.releaseNotes?=?releaseNotes}}delete?releaseInfo.releaseNotesFilereturn?releaseInfo}优先从releaseInfo.releaseNotes字段中取值(方法一)
如果releaseInfo.releaseNotes未定义,则从releaseInfo.releaseNotesFile取值(方法二)
如果releaseInfo.releaseNotesFile未定义,则从资源目录下的指定文件(如release-notes.md)中取值(方法三)
参考资源/post/
软件å¼åå·¥å ·
.Netå¼åå·¥å ·å
æ´ä½ä¸è½½ï¼ /browse.aspx/Public/NetToolSet
1. Snippet Compiler: /dotnet/SnippetCompiler
2. Source Analysis: /sourceanalysis
3. GhostDoc: /Sandcastle
5. NUnit: /products/reflector
8. Regex Tester: /dotnet/SnippetCompiler/
Microsoft Source Analysis for C#
Microsoft Source Analysis for C#æ¯ä¸æ¬¾C#ï¼ä¸æ¯æVB.NETï¼ä»£ç è§èæ£æ¥å·¥å ·ï¼å身æ¯å¾®è½¯å é¨ä»£ç è§èæ£æ¥å代ç æ ¼å¼å¼ºå¶å·¥å ·StyleCopï¼ç®çæ¯å¸®å©é¡¹ç®å¢éæ§è¡ä¸ç³»å常ç¨çæºä»£ç æ ¼å¼è§èï¼å®ä¼æ ¹æ®é¢å®ä¹çC#代ç æ ¼å¼çæä½³å®è·µè¿è¡æ£æ¥ï¼ä¸FxCopä¸åçæ¯å®ç´æ¥å¯¹æºä»£ç è¿è¡æ£æ¥ï¼ä¸å¹¶ä¸æä¾çµæ´»çè§å设置ï¼å¼ºå¶å¼åè 使ç¨ç¸åçä¹ æ¯è¿è¡C#代ç çç¼åã
å®æ¹ä¸»é¡µï¼/sourceanalysis
GhostDoc
GhostDocæ¯Visual Studioçä¸ä¸ªå è´¹æ件ï¼å¯ä»¥å¸®å©å¼åè çææ¯è¾å®æ´è§èçXMLæ ¼å¼ä»£ç 注éï¼å¦æä½ ç代ç éµå¾ªå¾®è½¯ç±»åºå¼å人å设计è§è ï¼ç±å®èªå¨äº§çç注é就已ç»å®å ¨å¯ä»¥å¾å¥½å°è¡¨è¾¾å¼åè å建çæ¹æ³æè å±æ§çæå¾ï¼æ éæå·¥åè¿è¡ä¿®æ¹ãæäºè¿äºæ åçXML注éï¼æ们å¯ä»¥ä½¿ç¨å¾®è½¯çææ¡£å·¥å ·Sandcastleçæä¸ä¸çº§å«ç帮å©ææ¡£ãå¦æ们æè¿æ ·ä¸æ®µä»£ç ï¼
public bool Add(string item)
{
//......
}
public void AppendHtmlText(IHtmlProvider htmlProvider)
{
//......
}
使ç¨GhostDocçæç注éå¦ä¸ï¼
/// <summary>
/// Adds the specified item.
/// </summary>
/// <param name="item">The item.</param>
/// <returns></returns>
public bool Add(string item)
{
//......
}
/// <summary>
/// Appends the HTML text.
/// </summary>
/// <param name="htmlProvider">The HTML provider.</param>
public void AppendHtmlText(IHtmlProvider htmlProvider)
{
//......
}
å®æ¹ä¸»é¡µï¼/Sandcastle
Nunit
NUnit æ¯ä¸º .NET æ¡æ¶çæçå¼æ¾æºä»£ç åå æµè¯æ¡æ¶ãNUnit ä½¿ä½ å¯ä»¥ç¨ä½ å欢çè¯è¨ç¼åæµè¯ï¼ä»èæµè¯åºç¨ç¨åºçç¹å®åè½ãå½ä½ é¦æ¬¡ç¼å代ç æ¶ï¼åå æµè¯æ¯ä¸ç§æµè¯ä»£ç åè½çå¾å¥½æ¹æ³ï¼å®è¿æä¾äºä¸ç§å¯¹åºç¨ç¨åºè¿è¡åå½æµè¯çæ¹æ³ãNUnit åºç¨ç¨åºæä¾äºä¸ä¸ªç¨äºç¼ååå æµè¯çæ¡æ¶ï¼ä»¥åä¸ä¸ªè¿è¡è¿äºæµè¯åæ¥çç»æçå¾å½¢çé¢ã
å®æ¹ä¸»é¡µï¼/products/reflector
The Regulator
The Regulatorè½å¤ä½¿çæåæµè¯æ£å表达å¼åå¾å¾å®¹æï¼å®å è®¸ä½ è¾å ¥ä¸ä¸ªæ£å表达å¼ä»¥åä¸äºéå¯¹å ¶è¿è¡è¯¥è¡¨è¾¾å¼çè¾å ¥ãè¿æ ·ï¼å¨åºç¨ç¨åºä¸å®ç°è¯¥æ£å表达å¼ä¹åï¼ä½ 便å¯ä»¥äºè§£å®å°äº§çä»ä¹ææ以åå®å°è¿ååªäºç§ç±»çå¹é 项ãå¦å¤å®è¿æä¾äºæ£å表达å¼åºç®¡çåè½ï¼å¨çº¿æ´æ°æ£å表达å¼åºï¼å¯ä»¥å¨RegexLib.comä¸æç´¢éè¦çæ£å表达å¼.
å®æ¹ä¸»é¡µï¼_itravel_w3.apk æ éåæ å¯å
SohuNewsClient.apk æçæ°é» å¯å
Taobao.apk ææºæ·å® å¯å
Weibo.apk å¾®åå¯å
å ¶ä»å¯å é¤çä¾å¦
/system/media/Pre-loaded/Picturesé»è®¤çå¾ç
/system/themes/ ä¸é¢æä¸ä¸ªä¸»é¢ï¼å¦æä¸æ¯ç¨å为æ¡é¢ï¼å¯ä»¥å é¤ä¸¤ä¸ªï¼çä¸é»è®¤çé£ä¸ªä¸»é¢ï¼è¿æä¸ä¸ªiconså ï¼æ¯ä¸ä¸ªå¾æ æ©å±å ï¼
æåºç¨ç主é¢ä¸ä¸å å«çiconså¦æå¨è¿éæç´¢å¼å°ï¼å°±ä¼å¯ç¨è¿ä¸ªiconï¼åºæ¬ä¸æ¯æå¾æ çåºè²å»¶å±åºæ¥ï¼æ¹ä¾¿åç§ä¸»é¢çåªè£ï¼å¦æä¸ç¨å为æ¡é¢å¯ä»¥å é¤
/cust/Samples ä¸é¢æMusicåWallpaperå¯å
酷派手机里的proxyhandler可以删除吗?
是跟代理有关,最好不要删。以下程序可以供你参考:
CmccDMClient.apk CMCC增强售后服务 ?
CountLapseTime.apk 功耗相关 如果不用省电精灵,可以一同删除
DocumentsUI.apk 选择文档界面 不可删
DownloadProviderUi.apk 下载界面 不可删
Email.apk 电子邮件 可删
EmergencyData.apk 备份数据用 如果不用华为备份可删
Exchange2.apk exchange邮箱 可删
FaceLock.apk 人脸解锁 可删
Galaxy4.apk 动态壁纸 可删
GameBox.apk 游戏中心 可删
GoogleTTS.apk google text to speech 建议不删
HoloSpiralWallpaper.apk 动态壁纸 可删
HTMLViewer.apk HTML源码查看器 建议不删
HuaweiPayService.apk 华为支付 可删
Huawei_Swype_for_Huawei.apk 滑动输入 可删
HwAllBackup_CMCC.apk 华为备份 如果用钛备份不用这个,可删
HwAppObserver.apk 第三方主题? 可删
HwBigData.apk 华为大数据? 可删
HwBluetoothImport.apk 蓝牙导入导出联系人 不可删
HwCAService.apk 诺亚CA(日志) 可删
HwDeskClock.apk 闹钟 看着办
广东发布餐饮服务业疫情防控指引 禁止接待大规模聚餐活动
官方通报网传抢中药事件 :村民误认为收割完毕遂进场捡拾
在險道中起舞:《自畫像》畫人、畫事、畫歷史
中捷兇嫌父母現身 5度鞠躬道歉「沒把小孩教好」
巴黎奧運/好友戴資穎奧運最後一舞 依瑟儂PO文發聲
日本垃圾分類繁 指定袋非一刀切