@mlikiowa/nanaeo 1.0.1703057813356 → 1.0.1704029441834
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/2022/08/04/NewBlog/index.html +1 -1
- package/2022/08/13/GaussWave/index.html +1 -1
- package/2023/12/30/2024/index.html +1 -0
- package/about/index.html +1 -1
- package/archives/2022/08/index.html +1 -1
- package/archives/2022/index.html +1 -1
- package/archives/2023/12/index.html +1 -0
- package/archives/2023/index.html +1 -0
- package/archives/index.html +1 -1
- package/atom.xml +23 -1
- package/categories/DevLog/index.html +1 -1
- package/categories/SiteLog/index.html +1 -1
- package/categories/index.html +1 -1
- package/category/devlog/atom.xml +23 -1
- package/category/devlog/feed.json +11 -0
- package/category/devlog/rss.xml +24 -2
- package/content.json +1 -1
- package/feed.json +11 -0
- package/friends/index.html +1 -1
- package/index.html +1 -1
- package/maps/volantis-sw.js.map +1 -1
- package/package.json +1 -1
- package/rss.xml +24 -2
- package/tag/devlog/atom.xml +23 -1
- package/tag/devlog/feed.json +11 -0
- package/tag/devlog/rss.xml +24 -2
- package/tag/gauss/atom.xml +23 -1
- package/tag/gauss/feed.json +11 -0
- package/tag/gauss/rss.xml +24 -2
- package/tags/DevLog/index.html +1 -1
- package/tags/Gauss/index.html +1 -1
- package/tags/Hexo/index.html +1 -1
- package/tags/HexoThemes/index.html +1 -1
- package/tags/SiteLog/index.html +1 -1
- package/tags/index.html +1 -1
- package/volantis-sw.js +1 -1
package/maps/volantis-sw.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["volantis-sw.js"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","_typeof","String","Symbol","toPrimitive","call","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","isArray","_arrayLikeToArray","iterator","constructor","prototype","_toArray","_arrayWithHoles","_nonIterableRest","minLen","n","toString","slice","name","from","test","len","arr2","iter","_regeneratorRuntime","hasOwnProperty","a","c","asyncIterator","u","toStringTag","define","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","prefix","cacheSuffixVersion","CACHE_NAME","PreCachlist","NPMMirror","NPMPackage","NPMPackageVersion","debug","handleFetch","_ref","_callee","event","url","_context","request","NetworkOnly","CacheFirst","CacheAlways","_x","cdn","gh","jsdelivr","fastly","gcore","testingcf","test1","combine","npm","unpkg","eleme","cdnjs","baomitu","bootcdn","bytedance","sustech","cdn_match_list","_console","console","color","black","red","green","yellow","blue","magenta","cyan","white","add","fi","_ref3","first","other","concat","createlog","util","fun","log","_len","_key2","creategroup","groupCollapsed","_len2","_key3","colorUtils","bold","str","colorHash","wait","warn","ready","createChalk","_len3","_key5","strArr","firstToUpperCase","createChalkBg","_len4","_key6","createChalkGroup","_len5","_key7","chalk","group","end","groupEnd","bg","toLowerCase","replace","L","toUpperCase","logger","generate_uuid","Math","random","db","read","config","caches","open","cache","match","Request","encodeURIComponent","res","text","write","put","Response","compareVersion","b","v1","split","v2","max","num1","parseInt","num2","mirrors","getLocalVersion","_ref4","_callee2","_context2","t0","mirror_time","setNewestVersion","_ref5","_callee4","_context4","fetch","FetchEngine","json","_ref6","_callee3","_context3","version","t1","t2","t3","_x2","stack","setInterval","_callee5","_context5","setTimeout","_callee6","_context6","installFunction","_ref9","_callee8","_context8","_ref10","_callee7","index","_context7","response","_x3","addEventListener","_ref11","_callee9","_context9","skipWaiting","waitUntil","_x4","_ref12","_callee10","_context10","all","map","includes","clients","claim","_x5","_ref13","_callee11","_context11","respondWith","_x6","_ref14","_callee12","_context12","URL","pathname","_x7","_ref15","_callee13","_context13","resp","CacheRuntime","_x8","_ref16","_callee14","_context14","_x9","matchCache","_ref17","_callee15","_context15","_x10","_x11","_CacheRuntime","_callee18","_context18","matchCDN","protocol","clone","_ref18","_callee16","req","nav","_ref19","saveData","effectiveType","urls","urlObj","pathType","pathTestRes","_key8","_i","_cdn_match_list","item","_type","_key9","_url","ext","contentType","_context16","navigator","connection","mozConnection","webkitConnection","RegExp","location","origin","fullPath","exec","getContentType","arrayBuffer","buffer","headers","_x12","endsWith","list","indexOf","progress","_x13","_progress","_callee19","_context19","status","createPromiseAny","any","promises","errs","AggregateError","fetchAny","reqs","controller","AbortController","signal","abort","fetchParallel","abortEvent","Event","eventTarget","EventTarget","_ref20","_callee17","tagged","_context17","dispatchEvent","_x14"],"mappings":"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","file":"../volantis-sw.js","sourcesContent":["// 全站打包上传 npm,sw 并发请求 cdn\nconst prefix = 'volantis-nanaeo';\nconst cacheSuffixVersion = '00000030-::cacheSuffixVersion::';\nconst CACHE_NAME = prefix + '-v' + cacheSuffixVersion;\nconst PreCachlist = [\n \"/css/style.css\",\n \"/js/app.js\",\n \"/js/search/hexo.js\",\n];\nlet NPMMirror = true;\nconst NPMPackage = \"@mlikiowa/nanaeo\";\nlet NPMPackageVersion = \"1.0.1703042341521\";\nlet debug = true;\n// location.hostname == 'localhost' && (debug = true) && (NPMMirror = false);\nconst handleFetch = async (event) => {\n const url = event.request.url;\n if (/nocache/.test(url)) {\n return NetworkOnly(event)\n } else if (/@latest/.test(url)) {\n return CacheFirst(event)\n } else if (/cdnjs\\.cloudflare\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/music\\.126\\.net/.test(url)) {\n return CacheAlways(event)\n } else if (/qqmusic\\.qq\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/jsdelivr\\.net/.test(url)) {\n return CacheAlways(event)\n } else if (/npm\\.elemecdn\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/unpkg\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/.*\\.(?:png|jpg|jpeg|svg|gif|webp|ico|eot|ttf|woff|woff2|mp3)$/.test(url)) {\n return CacheAlways(event)\n } else if (/.*\\.(css|js)$/.test(url)) {\n return CacheAlways(event)\n } else {\n return CacheFirst(event)\n }\n}\nconst cdn = {\n gh: {\n jsdelivr: 'https://cdn.jsdelivr.net/gh',\n fastly: 'https://fastly.jsdelivr.net/gh',\n gcore: 'https://gcore.jsdelivr.net/gh',\n testingcf: 'https://testingcf.jsdelivr.net/gh',\n test1: 'https://test1.jsdelivr.net/gh',\n },\n combine: {\n jsdelivr: 'https://cdn.jsdelivr.net/combine',\n fastly: 'https://fastly.jsdelivr.net/combine',\n gcore: 'https://gcore.jsdelivr.net/combine',\n testingcf: 'https://testingcf.jsdelivr.net/combine',\n test1: 'https://test1.jsdelivr.net/combine',\n },\n npm: {\n jsdelivr: 'https://cdn.jsdelivr.net/npm',\n fastly: 'https://fastly.jsdelivr.net/npm',\n gcore: 'https://gcore.jsdelivr.net/npm',\n testingcf: 'https://testingcf.jsdelivr.net/npm',\n test1: 'https://test1.jsdelivr.net/npm',\n unpkg: 'https://unpkg.com',\n eleme: 'https://npm.elemecdn.com',\n },\n cdnjs: {\n cdnjs: 'https://cdnjs.cloudflare.com/ajax/libs',\n baomitu: 'https://lib.baomitu.com',\n bootcdn: 'https://cdn.bootcdn.net/ajax/libs',\n bytedance: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M',\n sustech: 'https://mirrors.sustech.edu.cn/cdnjs/ajax/libs',\n }\n}\nconst cdn_match_list = []\nfor (const type in cdn) {\n for (const key in cdn[type]) {\n cdn_match_list.push({ type: type, key: cdn[type][key] })\n }\n}\nconst _console = console;\nconst color = {\n black: '#000000',\n red: '#FF0000',\n green: '#008000',\n yellow: '#FFFF00',\n blue: '#0000FF',\n magenta: '#FF00FF',\n cyan: '#00FFFF',\n white: '#FFFFFF',\n};\nconst add = (...arr) => {\n let fi = [\n []\n ];\n for (let key = 0; key < arr.length; key++) {\n const [first, ...other] = arr[key];\n fi[0] += first;\n fi = fi.concat(other);\n }\n return fi;\n};\nconst createlog = (util) => (...args) => {\n // const fun = _console[util] ? _console[util] : _console.log;\n const fun = util == \"error\" ? _console[util] : _console.log;\n fun.apply(void 0, args);\n};\nconst creategroup = (util) => (...args) => {\n const fun = _console.groupCollapsed;\n fun.apply(void 0, args);\n};\nconst colorUtils = {\n bold: (str) => {\n if (typeof str === 'string' || typeof str === 'number') {\n return `${str};font-weight: bold;`;\n }\n for (let key = 1; key < str.length; key++) {\n str[key] += `;font-weight: bold;`;\n }\n return str;\n }\n};\nconst colorHash = {\n log: 'black',\n wait: 'cyan',\n error: 'red',\n warn: 'yellow',\n ready: 'green',\n info: 'blue',\n event: 'magenta',\n};\nconst createChalk = (name) => (...str) => {\n if (typeof str[0] === 'object') {\n createlog(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), ...str));\n return;\n }\n let strArr = str;\n if (typeof str === 'string' || typeof str === 'number') {\n strArr = colorUtils[colorHash[name]](str);\n }\n createlog(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), strArr));\n};\nconst createChalkBg = (name) => (...str) => {\n if (typeof str[0] === 'object') {\n createlog(name)(...add(colorUtils.bold(colorUtils[`bg${firstToUpperCase(colorHash[name])}`](`[${firstToUpperCase(name)}] `)), ...str));\n return;\n }\n let strArr = str;\n if (typeof str === 'string' || typeof str === 'number') {\n strArr = colorUtils[colorHash[name]](str);\n }\n createlog(name)(...add(colorUtils.bold(colorUtils[`bg${firstToUpperCase(colorHash[name])}`](`[${firstToUpperCase(name)}] `)), strArr));\n};\nconst createChalkGroup = (name) => (...str) => {\n if (typeof str[0] === 'object') {\n creategroup(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), ...str));\n return;\n }\n let strArr = str;\n if (typeof str === 'string' || typeof str === 'number') {\n strArr = colorUtils[colorHash[name]](str);\n }\n creategroup(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), strArr));\n};\nconst chalk = {\n group: {\n end: _console.groupEnd\n },\n bg: {}\n};\nObject.keys(colorHash).forEach(key => {\n chalk[key] = createChalk(key);\n chalk.group[key] = createChalkGroup(key);\n chalk.bg[key] = createChalkBg(key);\n});\nconst firstToUpperCase = (str) => str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());\nObject.keys(color).forEach(key => {\n colorUtils[key] = (str) => {\n if (typeof str === 'string' || typeof str === 'number') {\n return [`%c${str}`, `color:${color[key]}`];\n }\n for (let i = 1; i < str.length; i++) {\n str[i] += `;color:${color[key]}`;\n }\n return str;\n };\n colorUtils[`bg${firstToUpperCase(key)}`] = (str) => {\n if (typeof str === 'string' || typeof str === 'number') {\n return [`%c${str}`, `padding: 2px 4px; border-radius: 3px; color: ${key === 'white' ? '#000' : '#fff'}; font-weight: bold; background:${color[key]};`];\n }\n for (let i = 1; i < str.length; i++) {\n str[i] += `;padding: 2px 4px; border-radius: 3px; font-weight: bold; background:${color[key]};`;\n }\n return str;\n };\n});\nself.logger = {\n add,\n ...chalk,\n ...colorUtils,\n};\n\nif (!debug) {\n logger = {\n log: () => { },\n wait: () => { },\n error: () => { },\n warn: () => { },\n ready: () => { },\n info: () => { },\n event: () => { },\n group: {\n log: () => { },\n wait: () => { },\n error: () => { },\n warn: () => { },\n ready: () => { },\n info: () => { },\n event: () => { },\n end: () => { },\n },\n bg: {\n log: () => { },\n wait: () => { },\n error: () => { },\n warn: () => { },\n ready: () => { },\n info: () => { },\n event: () => { },\n }\n };\n console.log = () => { };\n}\n\nconst generate_uuid = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\nself.db = {\n read: (key, config) => {\n if (!config) { config = { type: \"text\" } }\n return new Promise((resolve, reject) => {\n caches.open(CACHE_NAME).then(cache => {\n cache.match(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`)).then(function (res) {\n if (!res) resolve(null)\n res.text().then(text => resolve(text))\n }).catch(() => {\n resolve(null)\n })\n })\n })\n },\n write: (key, value) => {\n return new Promise((resolve, reject) => {\n caches.open(CACHE_NAME).then(function (cache) {\n cache.put(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`), new Response(value));\n resolve()\n }).catch(() => {\n reject()\n })\n })\n }\n}\nconst compareVersion = (a, b) => {\n let v1 = a.split('.');\n let v2 = b.split('.');\n const len = Math.max(v1.length, v2.length);\n while (v1.length < len) {\n v1.push('0');\n }\n while (v2.length < len) {\n v2.push('0');\n }\n for (let i = 0; i < len; i++) {\n const num1 = parseInt(v1[i]);\n const num2 = parseInt(v2[i]);\n if (num1 > num2) {\n return a;\n } else if (num1 < num2) {\n return b;\n }\n }\n return a;\n}\n\nconst mirrors = [\n `https://registry.npmjs.org/${NPMPackage}/latest`,\n `https://registry.npmmirror.com/${NPMPackage}/latest`,\n `https://mirrors.cloud.tencent.com/npm/${NPMPackage}/latest`\n]\nconst getLocalVersion = async () => {\n NPMPackageVersion = await db.read('blog_version') || NPMPackageVersion\n logger.bg.info(`Local Version: ${NPMPackage}@${NPMPackageVersion}`)\n}\nlet mirror_time = 0;\nconst setNewestVersion = async () => {\n if (!NPMMirror) {\n return\n }\n let f = null;\n if (!(mirror_time % (mirrors.length + 1))) {\n f = FetchEngine(mirrors);\n } else {\n f = fetch(mirrors[(mirror_time % (mirrors.length + 1)) - 1]);\n }\n mirror_time++;\n return f\n .then(res => res.json())\n .then(async res => {\n if (!res.version) throw ('No Version Found!')\n NPMPackageVersion = compareVersion(res.version, await db.read('blog_version') || NPMPackageVersion)\n logger.bg.ready(`${NPMPackage}@${NPMPackageVersion}`)\n await db.write('blog_version', NPMPackageVersion)\n })\n .catch(error => {\n logger.error('[Set Newest Version] ' + (error.stack || error))\n })\n}\nsetInterval(async () => {\n await setNewestVersion()\n}, 60 * 1000);\nsetTimeout(async () => {\n await setNewestVersion()\n}, 5000)\nconst installFunction = async () => {\n await getLocalVersion();\n return caches.open(CACHE_NAME + \"-precache\")\n .then(async function (cache) {\n if (!await db.read('uuid')) {\n await db.write('uuid', generate_uuid())\n }\n if (PreCachlist.length) {\n logger.group.event(`Precaching ${PreCachlist.length} files.`);\n let index = 0;\n PreCachlist.forEach(function (url) {\n cache.match(new Request(url)).then(function (response) {\n if (response) {\n logger.ready(`Precaching ${url}`);\n } else {\n logger.wait(`Precaching ${url}`);\n cache.add(new Request(url));\n }\n index++;\n if (index === PreCachlist.length) {\n logger.ready(`Precached ${PreCachlist.length} files.`);\n logger.group.end();\n }\n })\n })\n }\n }).catch((error) => {\n logger.error('[install] ' + (error.stack || error));\n })\n}\nself.addEventListener('install', async function (event) {\n logger.bg.event(\"service worker install event listening\");\n try {\n self.skipWaiting();\n event.waitUntil(installFunction());\n logger.bg.ready('service worker install sucess!');\n } catch (error) {\n logger.error('[install] ' + (error.stack || error));\n }\n});\nself.addEventListener('activate', async event => {\n logger.bg.event(\"service worker activate event listening\");\n try {\n event.waitUntil(\n caches.keys().then((keys) => {\n return Promise.all(keys.map((key) => {\n if (!key.includes(cacheSuffixVersion)) {\n caches.delete(key);\n logger.bg.ready('Deleted Outdated Cache: ' + key);\n }\n }));\n }).catch((error) => {\n logger.error('[activate] ' + (error.stack || error));\n })\n );\n await self.clients.claim()\n logger.bg.ready('service worker activate sucess!');\n } catch (error) {\n logger.error('[activate] ' + (error.stack || error));\n }\n})\nself.addEventListener('fetch', async event => {\n event.respondWith(\n handleFetch(event).catch((error) => {\n logger.error('[fetch] ' + event.request.url + '\\n[error] ' + (error.stack || error));\n })\n )\n});\n\n\nconst NetworkOnly = async (event) => {\n logger.group.info('NetworkOnly: ' + new URL(event.request.url).pathname);\n logger.wait('service worker fetch: ' + event.request.url)\n logger.group.end();\n return fetch(event.request)\n}\nconst CacheFirst = async (event) => {\n return caches.match(event.request).then(function (resp) {\n logger.group.info('CacheFirst: ' + new URL(event.request.url).pathname);\n logger.wait('service worker fetch: ' + event.request.url)\n if (resp) {\n logger.group.ready(`Cache Hit`);\n console.log(resp)\n logger.group.end();\n logger.group.end();\n event.waitUntil(CacheRuntime(event.request))\n return resp;\n } else {\n logger.warn(`Cache Miss`);\n logger.group.end();\n return CacheRuntime(event.request)\n }\n })\n}\nconst CacheAlways = async (event) => {\n return caches.match(event.request).then(function (resp) {\n logger.group.info('CacheAlways: ' + new URL(event.request.url).pathname);\n logger.wait('service worker fetch: ' + event.request.url)\n if (resp) {\n logger.group.ready(`Cache Hit`);\n console.log(resp)\n logger.group.end();\n logger.group.end();\n return resp;\n } else {\n logger.warn(`Cache Miss`);\n logger.group.end();\n return CacheRuntime(event.request)\n }\n })\n}\n\nconst matchCache = async (event) => {\n return caches.match(event.request).then(function (resp) {\n logger.group.info('service worker fetch: ' + event.request.url)\n if (resp) {\n logger.group.ready(`Cache Hit`);\n console.log(resp)\n logger.group.end();\n logger.group.end();\n return resp;\n } else {\n logger.warn(`Cache Miss`);\n logger.group.end();\n return CacheRuntime(event.request)\n }\n })\n}\nasync function CacheRuntime(request) {\n const url = new URL(request.url);\n let response = await matchCDN(request);\n if (!response) {\n response = await fetch(request).catch(() => null)\n }\n logger.group.event(`Cache Runtime ${url.pathname}`);\n logger.wait(`Caching url: ${request.url}`);\n console.log(response);\n\n if (request.method === \"GET\" && (url.protocol == \"https:\")) {\n const cache = await caches.open(CACHE_NAME + \"-runtime\");\n cache.put(request, response.clone()).catch(error => {\n logger.error('[Cache Runtime] ' + (error.stack || error));\n if (error.name === 'QuotaExceededError') {\n caches.delete(CACHE_NAME + \"-runtime\");\n logger.ready(\"deleted cache\")\n }\n })\n logger.ready(`Cached url: ${request.url}`);\n } else {\n logger.warn(`Not Cached url: ${request.url}`);\n }\n logger.group.end();\n return response;\n}\n\nconst matchCDN = async (req) => {\n const nav = navigator\n const { saveData, effectiveType } = nav.connection || nav.mozConnection || nav.webkitConnection || {}\n if (saveData || /2g/.test(effectiveType)) {\n logger.warn(\"Slow Network: Transparent Proxy\");\n return fetch(req);\n }\n const urls = []\n let urlObj = new URL(req.url)\n let pathType = urlObj.pathname.split('/')[1]\n let pathTestRes = \"\";\n\n if (NPMMirror && new RegExp(location.origin).test(req.url)) {\n logger.group.ready(`Match NPM Mirror: ` + req.url);\n for (const key in cdn.npm) {\n let url = cdn.npm[key] + \"/\" + NPMPackage + \"@\" + NPMPackageVersion + req.url.replace(location.origin, '')\n url = fullPath(fullPath(url))\n console.log(url);\n urls.push(url)\n }\n logger.group.end()\n }\n if (!urls.length) {\n for (const item of cdn_match_list) {\n if (new RegExp(item.key).test(req.url)) {\n pathType = item.type\n pathTestRes = new RegExp(item.key).exec(req.url)[0]\n break;\n }\n }\n for (const type in cdn) {\n if (type === pathType) {\n logger.group.ready(`Match CDN ${pathType}: ` + req.url);\n for (const key in cdn[type]) {\n const url = cdn[type][key] + req.url.replace(pathTestRes, '')\n console.log(url);\n urls.push(url)\n }\n logger.group.end()\n }\n }\n }\n\n let res;\n if (urls.length)\n res = FetchEngine(urls)\n else\n res = fetch(req)\n if (res && NPMMirror && new RegExp(location.origin).test(req.url)) {\n const ext = fullPath(fullPath(req.url)).split('.').pop()\n const contentType = getContentType(ext)\n res = res\n .then(res => res.arrayBuffer())\n .then(buffer => new Response(buffer, {\n headers: {\n \"Content-Type\": contentType\n }\n }))\n .catch(() => null)\n }\n return res\n}\n\nconst fullPath = (url) => {\n url = url.split('?')[0].split('#')[0]\n if (url.endsWith('/')) {\n url += 'index.html'\n } else {\n const list = url.split('/')\n const last = list[list.length - 1]\n if (last.indexOf('.') === -1) {\n url += '.html'\n }\n }\n return url\n}\nasync function progress(res) {\n return new Response(await res.arrayBuffer(), {\n status: res.status,\n headers: res.headers\n })\n}\n\nfunction createPromiseAny() {\n Promise.any = function (promises) {\n return new Promise((resolve, reject) => {\n promises = Array.isArray(promises) ? promises : []\n let len = promises.length\n let errs = []\n if (len === 0) return reject(new AggregateError('All promises were rejected'))\n promises.forEach((p) => {\n if (p instanceof Promise) {\n p.then(\n (res) => resolve(res),\n (err) => {\n len--\n errs.push(err)\n if (len === 0) reject(new AggregateError(errs))\n }\n )\n } else {\n reject(p)\n }\n })\n })\n }\n}\n\nfunction fetchAny(reqs) {\n const controller = new AbortController()\n\n return reqs.map(req => {\n return new Promise((resolve, reject) => {\n fetch(req, {\n signal: controller.signal\n })\n .then(progress)\n .then(res => {\n controller.abort()\n if (res.status !== 200)\n reject(null)\n else\n resolve(res)\n })\n .catch(() => reject(null))\n })\n })\n}\n\nfunction fetchParallel(reqs) {\n const abortEvent = new Event(\"abortOtherInstance\")\n const eventTarget = new EventTarget();\n\n return reqs.map(async req => {\n const controller = new AbortController();\n let tagged = false;\n eventTarget.addEventListener(abortEvent.type, () => {\n if (!tagged) controller.abort();\n })\n return new Promise((resolve, reject) => {\n fetch(req, {\n signal: controller.signal,\n }).then(res => {\n tagged = true;\n eventTarget.dispatchEvent(abortEvent)\n if (res.status !== 200)\n reject(null)\n else\n resolve(res)\n }).catch(() => reject(null))\n })\n });\n}\n\nconst FetchEngine = (reqs) => {\n if (!Promise.any) createPromiseAny();\n return Promise.any(fetchParallel(reqs)).then(res => res)\n .catch((e) => {\n if (e == \"AggregateError: All promises were rejected\") {\n return Promise.any(fetchAny(reqs))\n .then((res) => res)\n .catch(() => null);\n }\n return null;\n });\n};\n\nconst getContentType = (ext) => {\n switch (ext) {\n case 'js':\n return 'text/javascript'\n case 'html':\n return 'text/html'\n case 'css':\n return 'text/css'\n case 'json':\n return 'application/json'\n case 'webp':\n return 'image/webp'\n case 'jpg':\n return 'image/jpg'\n case 'jpeg':\n return 'image/jpeg'\n case 'png':\n return 'image/png'\n case 'gif':\n return 'image/gif'\n case 'xml':\n return 'text/xml'\n case 'xsl':\n return 'text/xml'\n case 'webmanifest':\n return 'text/webmanifest'\n case 'map':\n return 'application/json'\n case 'bcmap':\n return 'image/vnd.wap.wbmp'\n case 'wbmp':\n return 'image/vnd.wap.wbmp'\n case 'bmp':\n return 'image/bmp'\n case 'ico':\n return 'image/vnd.microsoft.icon'\n case 'tiff':\n return 'image/tiff'\n case 'tif':\n return 'image/tiff'\n case 'svg':\n return 'image/svg+xml'\n case 'svgz':\n return 'image/svg+xml'\n case 'woff':\n return 'application/font-woff'\n case 'woff2':\n return 'application/font-woff2'\n case 'ttf':\n return 'application/font-ttf'\n case 'otf':\n return 'application/font-otf'\n case 'eot':\n return 'application/vnd.ms-fontobject'\n case 'zip':\n return 'application/zip'\n case 'tar':\n return 'application/x-tar'\n case 'gz':\n return 'application/gzip'\n case 'bz2':\n return 'application/x-bzip2'\n case 'rar':\n return 'application/x-rar-compressed'\n case '7z':\n return 'application/x-7z-compressed'\n case 'doc':\n return 'application/msword'\n case 'docx':\n return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n case 'xls':\n return 'application/vnd.ms-excel'\n case 'xlsx':\n return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n case 'ppt':\n return 'application/vnd.ms-powerpoint'\n case 'pptx':\n return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n case 'pdf':\n return 'application/pdf'\n case 'txt':\n return 'text/plain'\n case 'rtf':\n return 'application/rtf'\n case 'mp3':\n return 'audio/mpeg'\n case 'wav':\n return 'audio/x-wav'\n case 'ogg':\n return 'audio/ogg'\n case 'mp4':\n return 'video/mp4'\n case 'm4v':\n return 'video/x-m4v'\n case 'mov':\n return 'video/quicktime'\n case 'avi':\n return 'video/x-msvideo'\n case 'wmv':\n return 'video/x-ms-wmv'\n case 'flv':\n return 'video/x-flv'\n case 'swf':\n return 'application/x-shockwave-flash'\n case 'mpg':\n return 'video/mpeg'\n case 'mpeg':\n return 'video/mpeg'\n case 'mpe':\n return 'video/mpeg'\n case 'mpv':\n return 'video/mpeg'\n case 'm2v':\n return 'video/mpeg'\n case 'm4a':\n return 'audio/mp4'\n case 'aac':\n return 'audio/aac'\n case 'm3u':\n return 'audio/x-mpegurl'\n case 'm3u8':\n return 'application/vnd.apple.mpegurl'\n case 'pls':\n return 'audio/x-scpls'\n case 'cue':\n return 'application/x-cue'\n case 'wma':\n return 'audio/x-ms-wma'\n case 'flac':\n return 'audio/flac'\n case 'aif':\n return 'audio/x-aiff'\n case 'aiff':\n return 'audio/x-aiff'\n case 'aifc':\n return 'audio/x-aiff'\n case 'au':\n return 'audio/basic'\n case 'snd':\n return 'audio/basic'\n case 'mid':\n return 'audio/midi'\n case 'midi':\n return 'audio/midi'\n case 'kar':\n return 'audio/midi'\n default:\n return 'text/plain'\n }\n}\n\n"]}
|
1
|
+
{"version":3,"sources":["volantis-sw.js"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","_typeof","String","Symbol","toPrimitive","call","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","isArray","_arrayLikeToArray","iterator","constructor","prototype","_toArray","_arrayWithHoles","_nonIterableRest","minLen","n","toString","slice","name","from","test","len","arr2","iter","_regeneratorRuntime","hasOwnProperty","a","c","asyncIterator","u","toStringTag","define","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","prefix","cacheSuffixVersion","CACHE_NAME","PreCachlist","NPMMirror","NPMPackage","NPMPackageVersion","debug","handleFetch","_ref","_callee","event","url","_context","request","NetworkOnly","CacheFirst","CacheAlways","_x","cdn","gh","jsdelivr","fastly","gcore","testingcf","test1","combine","npm","unpkg","eleme","cdnjs","baomitu","bootcdn","bytedance","sustech","cdn_match_list","_console","console","color","black","red","green","yellow","blue","magenta","cyan","white","add","fi","_ref3","first","other","concat","createlog","util","fun","log","_len","_key2","creategroup","groupCollapsed","_len2","_key3","colorUtils","bold","str","colorHash","wait","warn","ready","createChalk","_len3","_key5","strArr","firstToUpperCase","createChalkBg","_len4","_key6","createChalkGroup","_len5","_key7","chalk","group","end","groupEnd","bg","toLowerCase","replace","L","toUpperCase","logger","generate_uuid","Math","random","db","read","config","caches","open","cache","match","Request","encodeURIComponent","res","text","write","put","Response","compareVersion","b","v1","split","v2","max","num1","parseInt","num2","mirrors","getLocalVersion","_ref4","_callee2","_context2","t0","mirror_time","setNewestVersion","_ref5","_callee4","_context4","fetch","FetchEngine","json","_ref6","_callee3","_context3","version","t1","t2","t3","_x2","stack","setInterval","_callee5","_context5","setTimeout","_callee6","_context6","installFunction","_ref9","_callee8","_context8","_ref10","_callee7","index","_context7","response","_x3","addEventListener","_ref11","_callee9","_context9","skipWaiting","waitUntil","_x4","_ref12","_callee10","_context10","all","map","includes","clients","claim","_x5","_ref13","_callee11","_context11","respondWith","_x6","_ref14","_callee12","_context12","URL","pathname","_x7","_ref15","_callee13","_context13","resp","CacheRuntime","_x8","_ref16","_callee14","_context14","_x9","matchCache","_ref17","_callee15","_context15","_x10","_x11","_CacheRuntime","_callee18","_context18","matchCDN","protocol","clone","_ref18","_callee16","req","nav","_ref19","saveData","effectiveType","urls","urlObj","pathType","pathTestRes","_key8","_i","_cdn_match_list","item","_type","_key9","_url","ext","contentType","_context16","navigator","connection","mozConnection","webkitConnection","RegExp","location","origin","fullPath","exec","getContentType","arrayBuffer","buffer","headers","_x12","endsWith","list","indexOf","progress","_x13","_progress","_callee19","_context19","status","createPromiseAny","any","promises","errs","AggregateError","fetchAny","reqs","controller","AbortController","signal","abort","fetchParallel","abortEvent","Event","eventTarget","EventTarget","_ref20","_callee17","tagged","_context17","dispatchEvent","_x14"],"mappings":"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","file":"../volantis-sw.js","sourcesContent":["// 全站打包上传 npm,sw 并发请求 cdn\nconst prefix = 'volantis-nanaeo';\nconst cacheSuffixVersion = '00000031-::cacheSuffixVersion::';\nconst CACHE_NAME = prefix + '-v' + cacheSuffixVersion;\nconst PreCachlist = [\n \"/css/style.css\",\n \"/js/app.js\",\n \"/js/search/hexo.js\",\n];\nlet NPMMirror = true;\nconst NPMPackage = \"@mlikiowa/nanaeo\";\nlet NPMPackageVersion = \"1.0.1703057813356\";\nlet debug = true;\n// location.hostname == 'localhost' && (debug = true) && (NPMMirror = false);\nconst handleFetch = async (event) => {\n const url = event.request.url;\n if (/nocache/.test(url)) {\n return NetworkOnly(event)\n } else if (/@latest/.test(url)) {\n return CacheFirst(event)\n } else if (/cdnjs\\.cloudflare\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/music\\.126\\.net/.test(url)) {\n return CacheAlways(event)\n } else if (/qqmusic\\.qq\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/jsdelivr\\.net/.test(url)) {\n return CacheAlways(event)\n } else if (/npm\\.elemecdn\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/unpkg\\.com/.test(url)) {\n return CacheAlways(event)\n } else if (/.*\\.(?:png|jpg|jpeg|svg|gif|webp|ico|eot|ttf|woff|woff2|mp3)$/.test(url)) {\n return CacheAlways(event)\n } else if (/.*\\.(css|js)$/.test(url)) {\n return CacheAlways(event)\n } else {\n return CacheFirst(event)\n }\n}\nconst cdn = {\n gh: {\n jsdelivr: 'https://cdn.jsdelivr.net/gh',\n fastly: 'https://fastly.jsdelivr.net/gh',\n gcore: 'https://gcore.jsdelivr.net/gh',\n testingcf: 'https://testingcf.jsdelivr.net/gh',\n test1: 'https://test1.jsdelivr.net/gh',\n },\n combine: {\n jsdelivr: 'https://cdn.jsdelivr.net/combine',\n fastly: 'https://fastly.jsdelivr.net/combine',\n gcore: 'https://gcore.jsdelivr.net/combine',\n testingcf: 'https://testingcf.jsdelivr.net/combine',\n test1: 'https://test1.jsdelivr.net/combine',\n },\n npm: {\n jsdelivr: 'https://cdn.jsdelivr.net/npm',\n fastly: 'https://fastly.jsdelivr.net/npm',\n gcore: 'https://gcore.jsdelivr.net/npm',\n testingcf: 'https://testingcf.jsdelivr.net/npm',\n test1: 'https://test1.jsdelivr.net/npm',\n unpkg: 'https://unpkg.com',\n eleme: 'https://npm.elemecdn.com',\n },\n cdnjs: {\n cdnjs: 'https://cdnjs.cloudflare.com/ajax/libs',\n baomitu: 'https://lib.baomitu.com',\n bootcdn: 'https://cdn.bootcdn.net/ajax/libs',\n bytedance: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M',\n sustech: 'https://mirrors.sustech.edu.cn/cdnjs/ajax/libs',\n }\n}\nconst cdn_match_list = []\nfor (const type in cdn) {\n for (const key in cdn[type]) {\n cdn_match_list.push({ type: type, key: cdn[type][key] })\n }\n}\nconst _console = console;\nconst color = {\n black: '#000000',\n red: '#FF0000',\n green: '#008000',\n yellow: '#FFFF00',\n blue: '#0000FF',\n magenta: '#FF00FF',\n cyan: '#00FFFF',\n white: '#FFFFFF',\n};\nconst add = (...arr) => {\n let fi = [\n []\n ];\n for (let key = 0; key < arr.length; key++) {\n const [first, ...other] = arr[key];\n fi[0] += first;\n fi = fi.concat(other);\n }\n return fi;\n};\nconst createlog = (util) => (...args) => {\n // const fun = _console[util] ? _console[util] : _console.log;\n const fun = util == \"error\" ? _console[util] : _console.log;\n fun.apply(void 0, args);\n};\nconst creategroup = (util) => (...args) => {\n const fun = _console.groupCollapsed;\n fun.apply(void 0, args);\n};\nconst colorUtils = {\n bold: (str) => {\n if (typeof str === 'string' || typeof str === 'number') {\n return `${str};font-weight: bold;`;\n }\n for (let key = 1; key < str.length; key++) {\n str[key] += `;font-weight: bold;`;\n }\n return str;\n }\n};\nconst colorHash = {\n log: 'black',\n wait: 'cyan',\n error: 'red',\n warn: 'yellow',\n ready: 'green',\n info: 'blue',\n event: 'magenta',\n};\nconst createChalk = (name) => (...str) => {\n if (typeof str[0] === 'object') {\n createlog(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), ...str));\n return;\n }\n let strArr = str;\n if (typeof str === 'string' || typeof str === 'number') {\n strArr = colorUtils[colorHash[name]](str);\n }\n createlog(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), strArr));\n};\nconst createChalkBg = (name) => (...str) => {\n if (typeof str[0] === 'object') {\n createlog(name)(...add(colorUtils.bold(colorUtils[`bg${firstToUpperCase(colorHash[name])}`](`[${firstToUpperCase(name)}] `)), ...str));\n return;\n }\n let strArr = str;\n if (typeof str === 'string' || typeof str === 'number') {\n strArr = colorUtils[colorHash[name]](str);\n }\n createlog(name)(...add(colorUtils.bold(colorUtils[`bg${firstToUpperCase(colorHash[name])}`](`[${firstToUpperCase(name)}] `)), strArr));\n};\nconst createChalkGroup = (name) => (...str) => {\n if (typeof str[0] === 'object') {\n creategroup(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), ...str));\n return;\n }\n let strArr = str;\n if (typeof str === 'string' || typeof str === 'number') {\n strArr = colorUtils[colorHash[name]](str);\n }\n creategroup(name)(...add(colorUtils.bold(colorUtils[colorHash[name]](`[${firstToUpperCase(name)}] `)), strArr));\n};\nconst chalk = {\n group: {\n end: _console.groupEnd\n },\n bg: {}\n};\nObject.keys(colorHash).forEach(key => {\n chalk[key] = createChalk(key);\n chalk.group[key] = createChalkGroup(key);\n chalk.bg[key] = createChalkBg(key);\n});\nconst firstToUpperCase = (str) => str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());\nObject.keys(color).forEach(key => {\n colorUtils[key] = (str) => {\n if (typeof str === 'string' || typeof str === 'number') {\n return [`%c${str}`, `color:${color[key]}`];\n }\n for (let i = 1; i < str.length; i++) {\n str[i] += `;color:${color[key]}`;\n }\n return str;\n };\n colorUtils[`bg${firstToUpperCase(key)}`] = (str) => {\n if (typeof str === 'string' || typeof str === 'number') {\n return [`%c${str}`, `padding: 2px 4px; border-radius: 3px; color: ${key === 'white' ? '#000' : '#fff'}; font-weight: bold; background:${color[key]};`];\n }\n for (let i = 1; i < str.length; i++) {\n str[i] += `;padding: 2px 4px; border-radius: 3px; font-weight: bold; background:${color[key]};`;\n }\n return str;\n };\n});\nself.logger = {\n add,\n ...chalk,\n ...colorUtils,\n};\n\nif (!debug) {\n logger = {\n log: () => { },\n wait: () => { },\n error: () => { },\n warn: () => { },\n ready: () => { },\n info: () => { },\n event: () => { },\n group: {\n log: () => { },\n wait: () => { },\n error: () => { },\n warn: () => { },\n ready: () => { },\n info: () => { },\n event: () => { },\n end: () => { },\n },\n bg: {\n log: () => { },\n wait: () => { },\n error: () => { },\n warn: () => { },\n ready: () => { },\n info: () => { },\n event: () => { },\n }\n };\n console.log = () => { };\n}\n\nconst generate_uuid = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\nself.db = {\n read: (key, config) => {\n if (!config) { config = { type: \"text\" } }\n return new Promise((resolve, reject) => {\n caches.open(CACHE_NAME).then(cache => {\n cache.match(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`)).then(function (res) {\n if (!res) resolve(null)\n res.text().then(text => resolve(text))\n }).catch(() => {\n resolve(null)\n })\n })\n })\n },\n write: (key, value) => {\n return new Promise((resolve, reject) => {\n caches.open(CACHE_NAME).then(function (cache) {\n cache.put(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`), new Response(value));\n resolve()\n }).catch(() => {\n reject()\n })\n })\n }\n}\nconst compareVersion = (a, b) => {\n let v1 = a.split('.');\n let v2 = b.split('.');\n const len = Math.max(v1.length, v2.length);\n while (v1.length < len) {\n v1.push('0');\n }\n while (v2.length < len) {\n v2.push('0');\n }\n for (let i = 0; i < len; i++) {\n const num1 = parseInt(v1[i]);\n const num2 = parseInt(v2[i]);\n if (num1 > num2) {\n return a;\n } else if (num1 < num2) {\n return b;\n }\n }\n return a;\n}\n\nconst mirrors = [\n `https://registry.npmjs.org/${NPMPackage}/latest`,\n `https://registry.npmmirror.com/${NPMPackage}/latest`,\n `https://mirrors.cloud.tencent.com/npm/${NPMPackage}/latest`\n]\nconst getLocalVersion = async () => {\n NPMPackageVersion = await db.read('blog_version') || NPMPackageVersion\n logger.bg.info(`Local Version: ${NPMPackage}@${NPMPackageVersion}`)\n}\nlet mirror_time = 0;\nconst setNewestVersion = async () => {\n if (!NPMMirror) {\n return\n }\n let f = null;\n if (!(mirror_time % (mirrors.length + 1))) {\n f = FetchEngine(mirrors);\n } else {\n f = fetch(mirrors[(mirror_time % (mirrors.length + 1)) - 1]);\n }\n mirror_time++;\n return f\n .then(res => res.json())\n .then(async res => {\n if (!res.version) throw ('No Version Found!')\n NPMPackageVersion = compareVersion(res.version, await db.read('blog_version') || NPMPackageVersion)\n logger.bg.ready(`${NPMPackage}@${NPMPackageVersion}`)\n await db.write('blog_version', NPMPackageVersion)\n })\n .catch(error => {\n logger.error('[Set Newest Version] ' + (error.stack || error))\n })\n}\nsetInterval(async () => {\n await setNewestVersion()\n}, 60 * 1000);\nsetTimeout(async () => {\n await setNewestVersion()\n}, 5000)\nconst installFunction = async () => {\n await getLocalVersion();\n return caches.open(CACHE_NAME + \"-precache\")\n .then(async function (cache) {\n if (!await db.read('uuid')) {\n await db.write('uuid', generate_uuid())\n }\n if (PreCachlist.length) {\n logger.group.event(`Precaching ${PreCachlist.length} files.`);\n let index = 0;\n PreCachlist.forEach(function (url) {\n cache.match(new Request(url)).then(function (response) {\n if (response) {\n logger.ready(`Precaching ${url}`);\n } else {\n logger.wait(`Precaching ${url}`);\n cache.add(new Request(url));\n }\n index++;\n if (index === PreCachlist.length) {\n logger.ready(`Precached ${PreCachlist.length} files.`);\n logger.group.end();\n }\n })\n })\n }\n }).catch((error) => {\n logger.error('[install] ' + (error.stack || error));\n })\n}\nself.addEventListener('install', async function (event) {\n logger.bg.event(\"service worker install event listening\");\n try {\n self.skipWaiting();\n event.waitUntil(installFunction());\n logger.bg.ready('service worker install sucess!');\n } catch (error) {\n logger.error('[install] ' + (error.stack || error));\n }\n});\nself.addEventListener('activate', async event => {\n logger.bg.event(\"service worker activate event listening\");\n try {\n event.waitUntil(\n caches.keys().then((keys) => {\n return Promise.all(keys.map((key) => {\n if (!key.includes(cacheSuffixVersion)) {\n caches.delete(key);\n logger.bg.ready('Deleted Outdated Cache: ' + key);\n }\n }));\n }).catch((error) => {\n logger.error('[activate] ' + (error.stack || error));\n })\n );\n await self.clients.claim()\n logger.bg.ready('service worker activate sucess!');\n } catch (error) {\n logger.error('[activate] ' + (error.stack || error));\n }\n})\nself.addEventListener('fetch', async event => {\n event.respondWith(\n handleFetch(event).catch((error) => {\n logger.error('[fetch] ' + event.request.url + '\\n[error] ' + (error.stack || error));\n })\n )\n});\n\n\nconst NetworkOnly = async (event) => {\n logger.group.info('NetworkOnly: ' + new URL(event.request.url).pathname);\n logger.wait('service worker fetch: ' + event.request.url)\n logger.group.end();\n return fetch(event.request)\n}\nconst CacheFirst = async (event) => {\n return caches.match(event.request).then(function (resp) {\n logger.group.info('CacheFirst: ' + new URL(event.request.url).pathname);\n logger.wait('service worker fetch: ' + event.request.url)\n if (resp) {\n logger.group.ready(`Cache Hit`);\n console.log(resp)\n logger.group.end();\n logger.group.end();\n event.waitUntil(CacheRuntime(event.request))\n return resp;\n } else {\n logger.warn(`Cache Miss`);\n logger.group.end();\n return CacheRuntime(event.request)\n }\n })\n}\nconst CacheAlways = async (event) => {\n return caches.match(event.request).then(function (resp) {\n logger.group.info('CacheAlways: ' + new URL(event.request.url).pathname);\n logger.wait('service worker fetch: ' + event.request.url)\n if (resp) {\n logger.group.ready(`Cache Hit`);\n console.log(resp)\n logger.group.end();\n logger.group.end();\n return resp;\n } else {\n logger.warn(`Cache Miss`);\n logger.group.end();\n return CacheRuntime(event.request)\n }\n })\n}\n\nconst matchCache = async (event) => {\n return caches.match(event.request).then(function (resp) {\n logger.group.info('service worker fetch: ' + event.request.url)\n if (resp) {\n logger.group.ready(`Cache Hit`);\n console.log(resp)\n logger.group.end();\n logger.group.end();\n return resp;\n } else {\n logger.warn(`Cache Miss`);\n logger.group.end();\n return CacheRuntime(event.request)\n }\n })\n}\nasync function CacheRuntime(request) {\n const url = new URL(request.url);\n let response = await matchCDN(request);\n if (!response) {\n response = await fetch(request).catch(() => null)\n }\n logger.group.event(`Cache Runtime ${url.pathname}`);\n logger.wait(`Caching url: ${request.url}`);\n console.log(response);\n\n if (request.method === \"GET\" && (url.protocol == \"https:\")) {\n const cache = await caches.open(CACHE_NAME + \"-runtime\");\n cache.put(request, response.clone()).catch(error => {\n logger.error('[Cache Runtime] ' + (error.stack || error));\n if (error.name === 'QuotaExceededError') {\n caches.delete(CACHE_NAME + \"-runtime\");\n logger.ready(\"deleted cache\")\n }\n })\n logger.ready(`Cached url: ${request.url}`);\n } else {\n logger.warn(`Not Cached url: ${request.url}`);\n }\n logger.group.end();\n return response;\n}\n\nconst matchCDN = async (req) => {\n const nav = navigator\n const { saveData, effectiveType } = nav.connection || nav.mozConnection || nav.webkitConnection || {}\n if (saveData || /2g/.test(effectiveType)) {\n logger.warn(\"Slow Network: Transparent Proxy\");\n return fetch(req);\n }\n const urls = []\n let urlObj = new URL(req.url)\n let pathType = urlObj.pathname.split('/')[1]\n let pathTestRes = \"\";\n\n if (NPMMirror && new RegExp(location.origin).test(req.url)) {\n logger.group.ready(`Match NPM Mirror: ` + req.url);\n for (const key in cdn.npm) {\n let url = cdn.npm[key] + \"/\" + NPMPackage + \"@\" + NPMPackageVersion + req.url.replace(location.origin, '')\n url = fullPath(fullPath(url))\n console.log(url);\n urls.push(url)\n }\n logger.group.end()\n }\n if (!urls.length) {\n for (const item of cdn_match_list) {\n if (new RegExp(item.key).test(req.url)) {\n pathType = item.type\n pathTestRes = new RegExp(item.key).exec(req.url)[0]\n break;\n }\n }\n for (const type in cdn) {\n if (type === pathType) {\n logger.group.ready(`Match CDN ${pathType}: ` + req.url);\n for (const key in cdn[type]) {\n const url = cdn[type][key] + req.url.replace(pathTestRes, '')\n console.log(url);\n urls.push(url)\n }\n logger.group.end()\n }\n }\n }\n\n let res;\n if (urls.length)\n res = FetchEngine(urls)\n else\n res = fetch(req)\n if (res && NPMMirror && new RegExp(location.origin).test(req.url)) {\n const ext = fullPath(fullPath(req.url)).split('.').pop()\n const contentType = getContentType(ext)\n res = res\n .then(res => res.arrayBuffer())\n .then(buffer => new Response(buffer, {\n headers: {\n \"Content-Type\": contentType\n }\n }))\n .catch(() => null)\n }\n return res\n}\n\nconst fullPath = (url) => {\n url = url.split('?')[0].split('#')[0]\n if (url.endsWith('/')) {\n url += 'index.html'\n } else {\n const list = url.split('/')\n const last = list[list.length - 1]\n if (last.indexOf('.') === -1) {\n url += '.html'\n }\n }\n return url\n}\nasync function progress(res) {\n return new Response(await res.arrayBuffer(), {\n status: res.status,\n headers: res.headers\n })\n}\n\nfunction createPromiseAny() {\n Promise.any = function (promises) {\n return new Promise((resolve, reject) => {\n promises = Array.isArray(promises) ? promises : []\n let len = promises.length\n let errs = []\n if (len === 0) return reject(new AggregateError('All promises were rejected'))\n promises.forEach((p) => {\n if (p instanceof Promise) {\n p.then(\n (res) => resolve(res),\n (err) => {\n len--\n errs.push(err)\n if (len === 0) reject(new AggregateError(errs))\n }\n )\n } else {\n reject(p)\n }\n })\n })\n }\n}\n\nfunction fetchAny(reqs) {\n const controller = new AbortController()\n\n return reqs.map(req => {\n return new Promise((resolve, reject) => {\n fetch(req, {\n signal: controller.signal\n })\n .then(progress)\n .then(res => {\n controller.abort()\n if (res.status !== 200)\n reject(null)\n else\n resolve(res)\n })\n .catch(() => reject(null))\n })\n })\n}\n\nfunction fetchParallel(reqs) {\n const abortEvent = new Event(\"abortOtherInstance\")\n const eventTarget = new EventTarget();\n\n return reqs.map(async req => {\n const controller = new AbortController();\n let tagged = false;\n eventTarget.addEventListener(abortEvent.type, () => {\n if (!tagged) controller.abort();\n })\n return new Promise((resolve, reject) => {\n fetch(req, {\n signal: controller.signal,\n }).then(res => {\n tagged = true;\n eventTarget.dispatchEvent(abortEvent)\n if (res.status !== 200)\n reject(null)\n else\n resolve(res)\n }).catch(() => reject(null))\n })\n });\n}\n\nconst FetchEngine = (reqs) => {\n if (!Promise.any) createPromiseAny();\n return Promise.any(fetchParallel(reqs)).then(res => res)\n .catch((e) => {\n if (e == \"AggregateError: All promises were rejected\") {\n return Promise.any(fetchAny(reqs))\n .then((res) => res)\n .catch(() => null);\n }\n return null;\n });\n};\n\nconst getContentType = (ext) => {\n switch (ext) {\n case 'js':\n return 'text/javascript'\n case 'html':\n return 'text/html'\n case 'css':\n return 'text/css'\n case 'json':\n return 'application/json'\n case 'webp':\n return 'image/webp'\n case 'jpg':\n return 'image/jpg'\n case 'jpeg':\n return 'image/jpeg'\n case 'png':\n return 'image/png'\n case 'gif':\n return 'image/gif'\n case 'xml':\n return 'text/xml'\n case 'xsl':\n return 'text/xml'\n case 'webmanifest':\n return 'text/webmanifest'\n case 'map':\n return 'application/json'\n case 'bcmap':\n return 'image/vnd.wap.wbmp'\n case 'wbmp':\n return 'image/vnd.wap.wbmp'\n case 'bmp':\n return 'image/bmp'\n case 'ico':\n return 'image/vnd.microsoft.icon'\n case 'tiff':\n return 'image/tiff'\n case 'tif':\n return 'image/tiff'\n case 'svg':\n return 'image/svg+xml'\n case 'svgz':\n return 'image/svg+xml'\n case 'woff':\n return 'application/font-woff'\n case 'woff2':\n return 'application/font-woff2'\n case 'ttf':\n return 'application/font-ttf'\n case 'otf':\n return 'application/font-otf'\n case 'eot':\n return 'application/vnd.ms-fontobject'\n case 'zip':\n return 'application/zip'\n case 'tar':\n return 'application/x-tar'\n case 'gz':\n return 'application/gzip'\n case 'bz2':\n return 'application/x-bzip2'\n case 'rar':\n return 'application/x-rar-compressed'\n case '7z':\n return 'application/x-7z-compressed'\n case 'doc':\n return 'application/msword'\n case 'docx':\n return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n case 'xls':\n return 'application/vnd.ms-excel'\n case 'xlsx':\n return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n case 'ppt':\n return 'application/vnd.ms-powerpoint'\n case 'pptx':\n return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n case 'pdf':\n return 'application/pdf'\n case 'txt':\n return 'text/plain'\n case 'rtf':\n return 'application/rtf'\n case 'mp3':\n return 'audio/mpeg'\n case 'wav':\n return 'audio/x-wav'\n case 'ogg':\n return 'audio/ogg'\n case 'mp4':\n return 'video/mp4'\n case 'm4v':\n return 'video/x-m4v'\n case 'mov':\n return 'video/quicktime'\n case 'avi':\n return 'video/x-msvideo'\n case 'wmv':\n return 'video/x-ms-wmv'\n case 'flv':\n return 'video/x-flv'\n case 'swf':\n return 'application/x-shockwave-flash'\n case 'mpg':\n return 'video/mpeg'\n case 'mpeg':\n return 'video/mpeg'\n case 'mpe':\n return 'video/mpeg'\n case 'mpv':\n return 'video/mpeg'\n case 'm2v':\n return 'video/mpeg'\n case 'm4a':\n return 'audio/mp4'\n case 'aac':\n return 'audio/aac'\n case 'm3u':\n return 'audio/x-mpegurl'\n case 'm3u8':\n return 'application/vnd.apple.mpegurl'\n case 'pls':\n return 'audio/x-scpls'\n case 'cue':\n return 'application/x-cue'\n case 'wma':\n return 'audio/x-ms-wma'\n case 'flac':\n return 'audio/flac'\n case 'aif':\n return 'audio/x-aiff'\n case 'aiff':\n return 'audio/x-aiff'\n case 'aifc':\n return 'audio/x-aiff'\n case 'au':\n return 'audio/basic'\n case 'snd':\n return 'audio/basic'\n case 'mid':\n return 'audio/midi'\n case 'midi':\n return 'audio/midi'\n case 'kar':\n return 'audio/midi'\n default:\n return 'text/plain'\n }\n}\n\n"]}
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"@mlikiowa/nanaeo","description":"Volantis nanaeo","version":"1.0.
|
1
|
+
{"name":"@mlikiowa/nanaeo","description":"Volantis nanaeo","version":"1.0.1704029441834","license":"MIT","repository":{"type":"git","url":"git+https://github.com/MliKiowa/nanaeo.git"},"author":"Volantis Community","keywords":["Volantis","Community","static"],"main":"LICENSE"}
|
package/rss.xml
CHANGED
@@ -5,13 +5,35 @@
|
|
5
5
|
<link>https://nanaeo.cn</link>
|
6
6
|
<description>It is a little blog~</description>
|
7
7
|
<language>zh-CN,en,default</language>
|
8
|
-
<pubDate>Sat,
|
9
|
-
<lastBuildDate>Sat,
|
8
|
+
<pubDate>Sat, 30 Dec 2023 16:00:00 +0000</pubDate>
|
9
|
+
<lastBuildDate>Sat, 30 Dec 2023 16:00:00 +0000</lastBuildDate>
|
10
10
|
<category>DevLog</category>
|
11
11
|
<category>Gauss</category>
|
12
12
|
<category>SiteLog</category>
|
13
13
|
<category>HexoThemes</category>
|
14
14
|
<category>Hexo</category>
|
15
|
+
<item>
|
16
|
+
<guid isPermalink="true">https://nanaeo.cn/2023/12/30/2024/</guid>
|
17
|
+
<title>我与我所做的事</title>
|
18
|
+
<link>https://nanaeo.cn/2023/12/30/2024/</link>
|
19
|
+
<category>DevLog</category>
|
20
|
+
<category>Gauss</category>
|
21
|
+
<pubDate>Sat, 30 Dec 2023 16:00:00 +0000</pubDate>
|
22
|
+
<description><![CDATA[ <div class="story post-story"><h2 id="近况"><a href="#近况" class="headerlink" title="近况"></a>近况</h2><p>很久没更新博客了,我觉得回来水一篇,大家也不用考虑我会跑路了,博客域名续了10年,别问钱哪里来的,问就是免费报销的。<br>说回来,很久没写文了不是别的原因,就是因为没米赚没什么回报,而且说仅仅为了写文干什么没有动力,如果为了赚流量为什么不恰烂钱<br>所以说不如鸽了躺在床上,但是最近在写项目,顺便空闲时间给博客直接改造升级一波,然后顺手也写了篇博文总结下最近。</p>
|
23
|
+
</div><div class="story post-story"><h2 id="对于整个站点的优化"><a href="#对于整个站点的优化" class="headerlink" title="对于整个站点的优化"></a>对于整个站点的优化</h2><p>内部:<br>我对原来的sw.js切换成了官方的Service-Worker.js 然后官方的缓存策略还是很给力的,同时换了张4K背景图格式为WEBP,由原来的vercel拉去githubpage镜像资源改为了vercel也同步生成。<br>同时对老掉牙的Volantis版本升级到了5.8.x版本</p>
|
24
|
+
<p>外部:对英语字体换成了仿苏芙比字体,可以看到非常Cute,这个字体大家偷的时候注意下,不要用于商用,是仿的游戏人物手写,而且我是在b站up那里偷来的,很遗憾不支持中文哦。</p>
|
25
|
+
<p>虽然修改很少,但是Volantis爆改这样的配色这样的字体,你绝对没见过第二家。</p>
|
26
|
+
</div><div class="story post-story"><h2 id="开源项目-NuCat"><a href="#开源项目-NuCat" class="headerlink" title="开源项目 NuCat"></a>开源项目 NuCat</h2><p>刚刚不是说最近在做项目吗,诺?下面就是 最近把我老腰要了的项目</p>
|
27
|
+
</div><div class="story post-story"><h2 id="一切的源头"><a href="#一切的源头" class="headerlink" title="一切的源头"></a>一切的源头</h2><p>正在上网的我收到了WinRar让我付费还是看广告的两难选项,我肯定是一个都不会选的,那么眼下我只能找其它免费的压缩软件了,由7zip bandzip很多优秀的产品,但是有没有想过bandzip也是付费的,7zip的界面过于复古,那么对于我这种既要又要的人,能不能有一个 开源 免费 可以换皮肤 支持多语言 又不那么臃肿的压缩软件呢,也许但是仍未被我发现,但是有没有可能我可以写,在这种原因驱动下我开始了NuCat压缩软件的开发。</p>
|
28
|
+
</div><div class="story post-story"><h2 id="工具与环境"><a href="#工具与环境" class="headerlink" title="工具与环境"></a>工具与环境</h2><p>这个很好选,按照习惯我直接选择 CMAKE+MSVC+VSCODE ,虽然是单平台开发,但是CMAKE可以很方便设置依赖 设置参数 同时可读性高,MSVC则是比较优秀的CPP编译器,VSCODE和VS开发CPP都还行,但是VS有时候容易抽风。</p>
|
29
|
+
</div><div class="story post-story"><h2 id="食材的选材"><a href="#食材的选材" class="headerlink" title="食材的选材"></a>食材的选材</h2><p>数据交换和数据储存肯定是Json格式,而对于界面和我的需求相呼应的选项肯定不是QT ,WIN UI 2&#x2F;3 等等,这类不符合我像一天一老婆的习惯,而且本身我UI不是特别擅长,如果我有位朋友会写WEB,灵感不就来了吗,基于各种原因Webview来展示界面就是最佳选项,cpp上在win32可用webview有很多,但cef electron等等库都与我的小而美冲突,要小小的才可爱,于是我们可以敲定webview2作为核心技术,但是在开发中对com等等不太熟悉吧,根据onebot我们得出一切皆可one,那么肯定来说webview2作为可选引擎来进行封装的库是有的,可以切换浏览器内核,接口操作上比webview2提供的api好用,果然在我们的寻找中找到webview&#x2F;webview这个项目,我将这个项目作为我们的webview,然后我们还剩一个问题就是说解压压缩怎么办,涉及算法而且各种格式兼容过于麻烦摆在我的选择只有两条,调用7zip的命令行或者sdk,但是调7zip命令行需要按照7zip,使用sdk又如webview2一样接口难以操作,我找到bit7z库提供了对7zip的动态库操作,这样我们就找到了我们所有需要的库。</p>
|
30
|
+
</div><div class="story post-story"><h2 id="编码的选择"><a href="#编码的选择" class="headerlink" title="编码的选择"></a>编码的选择</h2><p>一切都很规范 bit7z yyjson webview&#x2F;webview都是支持utf8,但是存在一个问题我是针对WinX64进行开发,采用UTF16或者ANSI调用才能正常调用接口,所以我们大部分采用UTF8,少部分WIN API进行UTF8转UTF16操作,按照规范执行<br>内码:UTF8<br>外码:UTF16</p>
|
31
|
+
</div><div class="story post-story"><h2 id="开发体验"><a href="#开发体验" class="headerlink" title="开发体验"></a>开发体验</h2><p>1.很久没有再次开发过WIN32 窗口程序了,上次是N年前了,我已经很久没开发过了,本次可以说我是傻瓜,因为WEBVIEW的com技术我没弄过,弄懂这个到放弃我直接换库了,还有就是无边框窗口保留阴影和窗口随意移动花费了很多时间,无边框会在上方有6px白边问题 主要是因为我想保留窗口阴影同时让他无边框,但是这样会存在6px非客户区 ,解决方法就是放弃阴影,然后用dwm api再绘出来,当然还有其它方案,比如自己用gdi绘阴影,但是确实只能说麻烦。<br>2.找罪受就来写这个,查资料没给我送走,webview&#x2F;webview虽然说好于webview2体验,但是说它屏蔽大量操作,resize webview都做不到,没办法,我只能爆改他的代码了,体验非常的差</p>
|
32
|
+
</div><div class="story post-story"><h2 id="总结一下"><a href="#总结一下" class="headerlink" title="总结一下"></a>总结一下</h2><p>没事不要瞎折腾,对于写这Nucat压缩软件这是就像赛博顶真一样,绕了路,WIN11 预览版内置压缩软件 WIN10正式版都是能解压ZIP RAR等常见的格式,所以说为什么这么麻烦,大家静静等待就行,或者说不嫌弃7Zip丑,还是可以用用7zip的。</p>
|
33
|
+
</div><div class="story post-story"><h2 id="至-x2F-2024"><a href="#至-x2F-2024" class="headerlink" title="至&#x2F;2024"></a>至&#x2F;2024</h2><p>收回上面的话,至此讲点别的吧,马上将要到来2024,回想起来觉得什么也没有干,从前的雄心破碎在着畸形的互联网,不知道什么在推动着我对这份行业和对这专业的热爱,也许是从前一句论坛上的坚持下去亦或者是n年前贴友的相互激励,在这个流量与互联网畸形的时代,我仍然坚持着少刷短视频 多创造一些属于自己的东西,抛开阴霾,让我们忘记掉2023一切的劳累与不如意 ,带着期望来到2024,我们的路依然漫漫</p>
|
34
|
+
|
35
|
+
</div> ]]></description>
|
36
|
+
</item>
|
15
37
|
<item>
|
16
38
|
<guid isPermalink="true">https://nanaeo.cn/2022/08/13/GaussWave/</guid>
|
17
39
|
<title>高斯滤波</title>
|
package/tag/devlog/atom.xml
CHANGED
@@ -3,12 +3,34 @@
|
|
3
3
|
<id>https://nanaeo.cn</id>
|
4
4
|
<title>Village • Posts by "devlog" tag</title>
|
5
5
|
<link href="https://nanaeo.cn" />
|
6
|
-
<updated>
|
6
|
+
<updated>2023-12-30T16:00:00.000Z</updated>
|
7
7
|
<category term="DevLog" />
|
8
8
|
<category term="Gauss" />
|
9
9
|
<category term="SiteLog" />
|
10
10
|
<category term="HexoThemes" />
|
11
11
|
<category term="Hexo" />
|
12
|
+
<entry>
|
13
|
+
<id>https://nanaeo.cn/2023/12/30/2024/</id>
|
14
|
+
<title>我与我所做的事</title>
|
15
|
+
<link rel="alternate" href="https://nanaeo.cn/2023/12/30/2024/"/>
|
16
|
+
<content type="html"><div class="story post-story"><h2 id="近况"><a href="#近况" class="headerlink" title="近况"></a>近况</h2><p>很久没更新博客了,我觉得回来水一篇,大家也不用考虑我会跑路了,博客域名续了10年,别问钱哪里来的,问就是免费报销的。<br>说回来,很久没写文了不是别的原因,就是因为没米赚没什么回报,而且说仅仅为了写文干什么没有动力,如果为了赚流量为什么不恰烂钱<br>所以说不如鸽了躺在床上,但是最近在写项目,顺便空闲时间给博客直接改造升级一波,然后顺手也写了篇博文总结下最近。</p>
|
17
|
+
</div><div class="story post-story"><h2 id="对于整个站点的优化"><a href="#对于整个站点的优化" class="headerlink" title="对于整个站点的优化"></a>对于整个站点的优化</h2><p>内部:<br>我对原来的sw.js切换成了官方的Service-Worker.js 然后官方的缓存策略还是很给力的,同时换了张4K背景图格式为WEBP,由原来的vercel拉去githubpage镜像资源改为了vercel也同步生成。<br>同时对老掉牙的Volantis版本升级到了5.8.x版本</p>
|
18
|
+
<p>外部:对英语字体换成了仿苏芙比字体,可以看到非常Cute,这个字体大家偷的时候注意下,不要用于商用,是仿的游戏人物手写,而且我是在b站up那里偷来的,很遗憾不支持中文哦。</p>
|
19
|
+
<p>虽然修改很少,但是Volantis爆改这样的配色这样的字体,你绝对没见过第二家。</p>
|
20
|
+
</div><div class="story post-story"><h2 id="开源项目-NuCat"><a href="#开源项目-NuCat" class="headerlink" title="开源项目 NuCat"></a>开源项目 NuCat</h2><p>刚刚不是说最近在做项目吗,诺?下面就是 最近把我老腰要了的项目</p>
|
21
|
+
</div><div class="story post-story"><h2 id="一切的源头"><a href="#一切的源头" class="headerlink" title="一切的源头"></a>一切的源头</h2><p>正在上网的我收到了WinRar让我付费还是看广告的两难选项,我肯定是一个都不会选的,那么眼下我只能找其它免费的压缩软件了,由7zip bandzip很多优秀的产品,但是有没有想过bandzip也是付费的,7zip的界面过于复古,那么对于我这种既要又要的人,能不能有一个 开源 免费 可以换皮肤 支持多语言 又不那么臃肿的压缩软件呢,也许但是仍未被我发现,但是有没有可能我可以写,在这种原因驱动下我开始了NuCat压缩软件的开发。</p>
|
22
|
+
</div><div class="story post-story"><h2 id="工具与环境"><a href="#工具与环境" class="headerlink" title="工具与环境"></a>工具与环境</h2><p>这个很好选,按照习惯我直接选择 CMAKE+MSVC+VSCODE ,虽然是单平台开发,但是CMAKE可以很方便设置依赖 设置参数 同时可读性高,MSVC则是比较优秀的CPP编译器,VSCODE和VS开发CPP都还行,但是VS有时候容易抽风。</p>
|
23
|
+
</div><div class="story post-story"><h2 id="食材的选材"><a href="#食材的选材" class="headerlink" title="食材的选材"></a>食材的选材</h2><p>数据交换和数据储存肯定是Json格式,而对于界面和我的需求相呼应的选项肯定不是QT ,WIN UI 2&#x2F;3 等等,这类不符合我像一天一老婆的习惯,而且本身我UI不是特别擅长,如果我有位朋友会写WEB,灵感不就来了吗,基于各种原因Webview来展示界面就是最佳选项,cpp上在win32可用webview有很多,但cef electron等等库都与我的小而美冲突,要小小的才可爱,于是我们可以敲定webview2作为核心技术,但是在开发中对com等等不太熟悉吧,根据onebot我们得出一切皆可one,那么肯定来说webview2作为可选引擎来进行封装的库是有的,可以切换浏览器内核,接口操作上比webview2提供的api好用,果然在我们的寻找中找到webview&#x2F;webview这个项目,我将这个项目作为我们的webview,然后我们还剩一个问题就是说解压压缩怎么办,涉及算法而且各种格式兼容过于麻烦摆在我的选择只有两条,调用7zip的命令行或者sdk,但是调7zip命令行需要按照7zip,使用sdk又如webview2一样接口难以操作,我找到bit7z库提供了对7zip的动态库操作,这样我们就找到了我们所有需要的库。</p>
|
24
|
+
</div><div class="story post-story"><h2 id="编码的选择"><a href="#编码的选择" class="headerlink" title="编码的选择"></a>编码的选择</h2><p>一切都很规范 bit7z yyjson webview&#x2F;webview都是支持utf8,但是存在一个问题我是针对WinX64进行开发,采用UTF16或者ANSI调用才能正常调用接口,所以我们大部分采用UTF8,少部分WIN API进行UTF8转UTF16操作,按照规范执行<br>内码:UTF8<br>外码:UTF16</p>
|
25
|
+
</div><div class="story post-story"><h2 id="开发体验"><a href="#开发体验" class="headerlink" title="开发体验"></a>开发体验</h2><p>1.很久没有再次开发过WIN32 窗口程序了,上次是N年前了,我已经很久没开发过了,本次可以说我是傻瓜,因为WEBVIEW的com技术我没弄过,弄懂这个到放弃我直接换库了,还有就是无边框窗口保留阴影和窗口随意移动花费了很多时间,无边框会在上方有6px白边问题 主要是因为我想保留窗口阴影同时让他无边框,但是这样会存在6px非客户区 ,解决方法就是放弃阴影,然后用dwm api再绘出来,当然还有其它方案,比如自己用gdi绘阴影,但是确实只能说麻烦。<br>2.找罪受就来写这个,查资料没给我送走,webview&#x2F;webview虽然说好于webview2体验,但是说它屏蔽大量操作,resize webview都做不到,没办法,我只能爆改他的代码了,体验非常的差</p>
|
26
|
+
</div><div class="story post-story"><h2 id="总结一下"><a href="#总结一下" class="headerlink" title="总结一下"></a>总结一下</h2><p>没事不要瞎折腾,对于写这Nucat压缩软件这是就像赛博顶真一样,绕了路,WIN11 预览版内置压缩软件 WIN10正式版都是能解压ZIP RAR等常见的格式,所以说为什么这么麻烦,大家静静等待就行,或者说不嫌弃7Zip丑,还是可以用用7zip的。</p>
|
27
|
+
</div><div class="story post-story"><h2 id="至-x2F-2024"><a href="#至-x2F-2024" class="headerlink" title="至&#x2F;2024"></a>至&#x2F;2024</h2><p>收回上面的话,至此讲点别的吧,马上将要到来2024,回想起来觉得什么也没有干,从前的雄心破碎在着畸形的互联网,不知道什么在推动着我对这份行业和对这专业的热爱,也许是从前一句论坛上的坚持下去亦或者是n年前贴友的相互激励,在这个流量与互联网畸形的时代,我仍然坚持着少刷短视频 多创造一些属于自己的东西,抛开阴霾,让我们忘记掉2023一切的劳累与不如意 ,带着期望来到2024,我们的路依然漫漫</p>
|
28
|
+
|
29
|
+
</div></content>
|
30
|
+
<category term="DevLog" />
|
31
|
+
<category term="Gauss" />
|
32
|
+
<updated>2023-12-30T16:00:00.000Z</updated>
|
33
|
+
</entry>
|
12
34
|
<entry>
|
13
35
|
<id>https://nanaeo.cn/2022/08/13/GaussWave/</id>
|
14
36
|
<title>高斯滤波</title>
|
package/tag/devlog/feed.json
CHANGED
@@ -4,6 +4,17 @@
|
|
4
4
|
"description": "It is a little blog~",
|
5
5
|
"home_page_url": "https://nanaeo.cn",
|
6
6
|
"items": [
|
7
|
+
{
|
8
|
+
"id": "https://nanaeo.cn/2023/12/30/2024/",
|
9
|
+
"url": "https://nanaeo.cn/2023/12/30/2024/",
|
10
|
+
"title": "我与我所做的事",
|
11
|
+
"date_published": "2023-12-30T16:00:00.000Z",
|
12
|
+
"content_html": "<div class=\"story post-story\"><h2 id=\"近况\"><a href=\"#近况\" class=\"headerlink\" title=\"近况\"></a>近况</h2><p>很久没更新博客了,我觉得回来水一篇,大家也不用考虑我会跑路了,博客域名续了10年,别问钱哪里来的,问就是免费报销的。<br>说回来,很久没写文了不是别的原因,就是因为没米赚没什么回报,而且说仅仅为了写文干什么没有动力,如果为了赚流量为什么不恰烂钱<br>所以说不如鸽了躺在床上,但是最近在写项目,顺便空闲时间给博客直接改造升级一波,然后顺手也写了篇博文总结下最近。</p>\n</div><div class=\"story post-story\"><h2 id=\"对于整个站点的优化\"><a href=\"#对于整个站点的优化\" class=\"headerlink\" title=\"对于整个站点的优化\"></a>对于整个站点的优化</h2><p>内部:<br>我对原来的sw.js切换成了官方的Service-Worker.js 然后官方的缓存策略还是很给力的,同时换了张4K背景图格式为WEBP,由原来的vercel拉去githubpage镜像资源改为了vercel也同步生成。<br>同时对老掉牙的Volantis版本升级到了5.8.x版本</p>\n<p>外部:对英语字体换成了仿苏芙比字体,可以看到非常Cute,这个字体大家偷的时候注意下,不要用于商用,是仿的游戏人物手写,而且我是在b站up那里偷来的,很遗憾不支持中文哦。</p>\n<p>虽然修改很少,但是Volantis爆改这样的配色这样的字体,你绝对没见过第二家。</p>\n</div><div class=\"story post-story\"><h2 id=\"开源项目-NuCat\"><a href=\"#开源项目-NuCat\" class=\"headerlink\" title=\"开源项目 NuCat\"></a>开源项目 NuCat</h2><p>刚刚不是说最近在做项目吗,诺?下面就是 最近把我老腰要了的项目</p>\n</div><div class=\"story post-story\"><h2 id=\"一切的源头\"><a href=\"#一切的源头\" class=\"headerlink\" title=\"一切的源头\"></a>一切的源头</h2><p>正在上网的我收到了WinRar让我付费还是看广告的两难选项,我肯定是一个都不会选的,那么眼下我只能找其它免费的压缩软件了,由7zip bandzip很多优秀的产品,但是有没有想过bandzip也是付费的,7zip的界面过于复古,那么对于我这种既要又要的人,能不能有一个 开源 免费 可以换皮肤 支持多语言 又不那么臃肿的压缩软件呢,也许但是仍未被我发现,但是有没有可能我可以写,在这种原因驱动下我开始了NuCat压缩软件的开发。</p>\n</div><div class=\"story post-story\"><h2 id=\"工具与环境\"><a href=\"#工具与环境\" class=\"headerlink\" title=\"工具与环境\"></a>工具与环境</h2><p>这个很好选,按照习惯我直接选择 CMAKE+MSVC+VSCODE ,虽然是单平台开发,但是CMAKE可以很方便设置依赖 设置参数 同时可读性高,MSVC则是比较优秀的CPP编译器,VSCODE和VS开发CPP都还行,但是VS有时候容易抽风。</p>\n</div><div class=\"story post-story\"><h2 id=\"食材的选材\"><a href=\"#食材的选材\" class=\"headerlink\" title=\"食材的选材\"></a>食材的选材</h2><p>数据交换和数据储存肯定是Json格式,而对于界面和我的需求相呼应的选项肯定不是QT ,WIN UI 2/3 等等,这类不符合我像一天一老婆的习惯,而且本身我UI不是特别擅长,如果我有位朋友会写WEB,灵感不就来了吗,基于各种原因Webview来展示界面就是最佳选项,cpp上在win32可用webview有很多,但cef electron等等库都与我的小而美冲突,要小小的才可爱,于是我们可以敲定webview2作为核心技术,但是在开发中对com等等不太熟悉吧,根据onebot我们得出一切皆可one,那么肯定来说webview2作为可选引擎来进行封装的库是有的,可以切换浏览器内核,接口操作上比webview2提供的api好用,果然在我们的寻找中找到webview/webview这个项目,我将这个项目作为我们的webview,然后我们还剩一个问题就是说解压压缩怎么办,涉及算法而且各种格式兼容过于麻烦摆在我的选择只有两条,调用7zip的命令行或者sdk,但是调7zip命令行需要按照7zip,使用sdk又如webview2一样接口难以操作,我找到bit7z库提供了对7zip的动态库操作,这样我们就找到了我们所有需要的库。</p>\n</div><div class=\"story post-story\"><h2 id=\"编码的选择\"><a href=\"#编码的选择\" class=\"headerlink\" title=\"编码的选择\"></a>编码的选择</h2><p>一切都很规范 bit7z yyjson webview/webview都是支持utf8,但是存在一个问题我是针对WinX64进行开发,采用UTF16或者ANSI调用才能正常调用接口,所以我们大部分采用UTF8,少部分WIN API进行UTF8转UTF16操作,按照规范执行<br>内码:UTF8<br>外码:UTF16</p>\n</div><div class=\"story post-story\"><h2 id=\"开发体验\"><a href=\"#开发体验\" class=\"headerlink\" title=\"开发体验\"></a>开发体验</h2><p>1.很久没有再次开发过WIN32 窗口程序了,上次是N年前了,我已经很久没开发过了,本次可以说我是傻瓜,因为WEBVIEW的com技术我没弄过,弄懂这个到放弃我直接换库了,还有就是无边框窗口保留阴影和窗口随意移动花费了很多时间,无边框会在上方有6px白边问题 主要是因为我想保留窗口阴影同时让他无边框,但是这样会存在6px非客户区 ,解决方法就是放弃阴影,然后用dwm api再绘出来,当然还有其它方案,比如自己用gdi绘阴影,但是确实只能说麻烦。<br>2.找罪受就来写这个,查资料没给我送走,webview/webview虽然说好于webview2体验,但是说它屏蔽大量操作,resize webview都做不到,没办法,我只能爆改他的代码了,体验非常的差</p>\n</div><div class=\"story post-story\"><h2 id=\"总结一下\"><a href=\"#总结一下\" class=\"headerlink\" title=\"总结一下\"></a>总结一下</h2><p>没事不要瞎折腾,对于写这Nucat压缩软件这是就像赛博顶真一样,绕了路,WIN11 预览版内置压缩软件 WIN10正式版都是能解压ZIP RAR等常见的格式,所以说为什么这么麻烦,大家静静等待就行,或者说不嫌弃7Zip丑,还是可以用用7zip的。</p>\n</div><div class=\"story post-story\"><h2 id=\"至-x2F-2024\"><a href=\"#至-x2F-2024\" class=\"headerlink\" title=\"至/2024\"></a>至/2024</h2><p>收回上面的话,至此讲点别的吧,马上将要到来2024,回想起来觉得什么也没有干,从前的雄心破碎在着畸形的互联网,不知道什么在推动着我对这份行业和对这专业的热爱,也许是从前一句论坛上的坚持下去亦或者是n年前贴友的相互激励,在这个流量与互联网畸形的时代,我仍然坚持着少刷短视频 多创造一些属于自己的东西,抛开阴霾,让我们忘记掉2023一切的劳累与不如意 ,带着期望来到2024,我们的路依然漫漫</p>\n\n</div>",
|
13
|
+
"tags": [
|
14
|
+
"DevLog",
|
15
|
+
"Gauss"
|
16
|
+
]
|
17
|
+
},
|
7
18
|
{
|
8
19
|
"id": "https://nanaeo.cn/2022/08/13/GaussWave/",
|
9
20
|
"url": "https://nanaeo.cn/2022/08/13/GaussWave/",
|
package/tag/devlog/rss.xml
CHANGED
@@ -5,13 +5,35 @@
|
|
5
5
|
<link>https://nanaeo.cn</link>
|
6
6
|
<description>It is a little blog~</description>
|
7
7
|
<language>zh-CN,en,default</language>
|
8
|
-
<pubDate>Sat,
|
9
|
-
<lastBuildDate>Sat,
|
8
|
+
<pubDate>Sat, 30 Dec 2023 16:00:00 +0000</pubDate>
|
9
|
+
<lastBuildDate>Sat, 30 Dec 2023 16:00:00 +0000</lastBuildDate>
|
10
10
|
<category>DevLog</category>
|
11
11
|
<category>Gauss</category>
|
12
12
|
<category>SiteLog</category>
|
13
13
|
<category>HexoThemes</category>
|
14
14
|
<category>Hexo</category>
|
15
|
+
<item>
|
16
|
+
<guid isPermalink="true">https://nanaeo.cn/2023/12/30/2024/</guid>
|
17
|
+
<title>我与我所做的事</title>
|
18
|
+
<link>https://nanaeo.cn/2023/12/30/2024/</link>
|
19
|
+
<category>DevLog</category>
|
20
|
+
<category>Gauss</category>
|
21
|
+
<pubDate>Sat, 30 Dec 2023 16:00:00 +0000</pubDate>
|
22
|
+
<description><![CDATA[ <div class="story post-story"><h2 id="近况"><a href="#近况" class="headerlink" title="近况"></a>近况</h2><p>很久没更新博客了,我觉得回来水一篇,大家也不用考虑我会跑路了,博客域名续了10年,别问钱哪里来的,问就是免费报销的。<br>说回来,很久没写文了不是别的原因,就是因为没米赚没什么回报,而且说仅仅为了写文干什么没有动力,如果为了赚流量为什么不恰烂钱<br>所以说不如鸽了躺在床上,但是最近在写项目,顺便空闲时间给博客直接改造升级一波,然后顺手也写了篇博文总结下最近。</p>
|
23
|
+
</div><div class="story post-story"><h2 id="对于整个站点的优化"><a href="#对于整个站点的优化" class="headerlink" title="对于整个站点的优化"></a>对于整个站点的优化</h2><p>内部:<br>我对原来的sw.js切换成了官方的Service-Worker.js 然后官方的缓存策略还是很给力的,同时换了张4K背景图格式为WEBP,由原来的vercel拉去githubpage镜像资源改为了vercel也同步生成。<br>同时对老掉牙的Volantis版本升级到了5.8.x版本</p>
|
24
|
+
<p>外部:对英语字体换成了仿苏芙比字体,可以看到非常Cute,这个字体大家偷的时候注意下,不要用于商用,是仿的游戏人物手写,而且我是在b站up那里偷来的,很遗憾不支持中文哦。</p>
|
25
|
+
<p>虽然修改很少,但是Volantis爆改这样的配色这样的字体,你绝对没见过第二家。</p>
|
26
|
+
</div><div class="story post-story"><h2 id="开源项目-NuCat"><a href="#开源项目-NuCat" class="headerlink" title="开源项目 NuCat"></a>开源项目 NuCat</h2><p>刚刚不是说最近在做项目吗,诺?下面就是 最近把我老腰要了的项目</p>
|
27
|
+
</div><div class="story post-story"><h2 id="一切的源头"><a href="#一切的源头" class="headerlink" title="一切的源头"></a>一切的源头</h2><p>正在上网的我收到了WinRar让我付费还是看广告的两难选项,我肯定是一个都不会选的,那么眼下我只能找其它免费的压缩软件了,由7zip bandzip很多优秀的产品,但是有没有想过bandzip也是付费的,7zip的界面过于复古,那么对于我这种既要又要的人,能不能有一个 开源 免费 可以换皮肤 支持多语言 又不那么臃肿的压缩软件呢,也许但是仍未被我发现,但是有没有可能我可以写,在这种原因驱动下我开始了NuCat压缩软件的开发。</p>
|
28
|
+
</div><div class="story post-story"><h2 id="工具与环境"><a href="#工具与环境" class="headerlink" title="工具与环境"></a>工具与环境</h2><p>这个很好选,按照习惯我直接选择 CMAKE+MSVC+VSCODE ,虽然是单平台开发,但是CMAKE可以很方便设置依赖 设置参数 同时可读性高,MSVC则是比较优秀的CPP编译器,VSCODE和VS开发CPP都还行,但是VS有时候容易抽风。</p>
|
29
|
+
</div><div class="story post-story"><h2 id="食材的选材"><a href="#食材的选材" class="headerlink" title="食材的选材"></a>食材的选材</h2><p>数据交换和数据储存肯定是Json格式,而对于界面和我的需求相呼应的选项肯定不是QT ,WIN UI 2&#x2F;3 等等,这类不符合我像一天一老婆的习惯,而且本身我UI不是特别擅长,如果我有位朋友会写WEB,灵感不就来了吗,基于各种原因Webview来展示界面就是最佳选项,cpp上在win32可用webview有很多,但cef electron等等库都与我的小而美冲突,要小小的才可爱,于是我们可以敲定webview2作为核心技术,但是在开发中对com等等不太熟悉吧,根据onebot我们得出一切皆可one,那么肯定来说webview2作为可选引擎来进行封装的库是有的,可以切换浏览器内核,接口操作上比webview2提供的api好用,果然在我们的寻找中找到webview&#x2F;webview这个项目,我将这个项目作为我们的webview,然后我们还剩一个问题就是说解压压缩怎么办,涉及算法而且各种格式兼容过于麻烦摆在我的选择只有两条,调用7zip的命令行或者sdk,但是调7zip命令行需要按照7zip,使用sdk又如webview2一样接口难以操作,我找到bit7z库提供了对7zip的动态库操作,这样我们就找到了我们所有需要的库。</p>
|
30
|
+
</div><div class="story post-story"><h2 id="编码的选择"><a href="#编码的选择" class="headerlink" title="编码的选择"></a>编码的选择</h2><p>一切都很规范 bit7z yyjson webview&#x2F;webview都是支持utf8,但是存在一个问题我是针对WinX64进行开发,采用UTF16或者ANSI调用才能正常调用接口,所以我们大部分采用UTF8,少部分WIN API进行UTF8转UTF16操作,按照规范执行<br>内码:UTF8<br>外码:UTF16</p>
|
31
|
+
</div><div class="story post-story"><h2 id="开发体验"><a href="#开发体验" class="headerlink" title="开发体验"></a>开发体验</h2><p>1.很久没有再次开发过WIN32 窗口程序了,上次是N年前了,我已经很久没开发过了,本次可以说我是傻瓜,因为WEBVIEW的com技术我没弄过,弄懂这个到放弃我直接换库了,还有就是无边框窗口保留阴影和窗口随意移动花费了很多时间,无边框会在上方有6px白边问题 主要是因为我想保留窗口阴影同时让他无边框,但是这样会存在6px非客户区 ,解决方法就是放弃阴影,然后用dwm api再绘出来,当然还有其它方案,比如自己用gdi绘阴影,但是确实只能说麻烦。<br>2.找罪受就来写这个,查资料没给我送走,webview&#x2F;webview虽然说好于webview2体验,但是说它屏蔽大量操作,resize webview都做不到,没办法,我只能爆改他的代码了,体验非常的差</p>
|
32
|
+
</div><div class="story post-story"><h2 id="总结一下"><a href="#总结一下" class="headerlink" title="总结一下"></a>总结一下</h2><p>没事不要瞎折腾,对于写这Nucat压缩软件这是就像赛博顶真一样,绕了路,WIN11 预览版内置压缩软件 WIN10正式版都是能解压ZIP RAR等常见的格式,所以说为什么这么麻烦,大家静静等待就行,或者说不嫌弃7Zip丑,还是可以用用7zip的。</p>
|
33
|
+
</div><div class="story post-story"><h2 id="至-x2F-2024"><a href="#至-x2F-2024" class="headerlink" title="至&#x2F;2024"></a>至&#x2F;2024</h2><p>收回上面的话,至此讲点别的吧,马上将要到来2024,回想起来觉得什么也没有干,从前的雄心破碎在着畸形的互联网,不知道什么在推动着我对这份行业和对这专业的热爱,也许是从前一句论坛上的坚持下去亦或者是n年前贴友的相互激励,在这个流量与互联网畸形的时代,我仍然坚持着少刷短视频 多创造一些属于自己的东西,抛开阴霾,让我们忘记掉2023一切的劳累与不如意 ,带着期望来到2024,我们的路依然漫漫</p>
|
34
|
+
|
35
|
+
</div> ]]></description>
|
36
|
+
</item>
|
15
37
|
<item>
|
16
38
|
<guid isPermalink="true">https://nanaeo.cn/2022/08/13/GaussWave/</guid>
|
17
39
|
<title>高斯滤波</title>
|
package/tag/gauss/atom.xml
CHANGED
@@ -3,12 +3,34 @@
|
|
3
3
|
<id>https://nanaeo.cn</id>
|
4
4
|
<title>Village • Posts by "gauss" tag</title>
|
5
5
|
<link href="https://nanaeo.cn" />
|
6
|
-
<updated>
|
6
|
+
<updated>2023-12-30T16:00:00.000Z</updated>
|
7
7
|
<category term="DevLog" />
|
8
8
|
<category term="Gauss" />
|
9
9
|
<category term="SiteLog" />
|
10
10
|
<category term="HexoThemes" />
|
11
11
|
<category term="Hexo" />
|
12
|
+
<entry>
|
13
|
+
<id>https://nanaeo.cn/2023/12/30/2024/</id>
|
14
|
+
<title>我与我所做的事</title>
|
15
|
+
<link rel="alternate" href="https://nanaeo.cn/2023/12/30/2024/"/>
|
16
|
+
<content type="html"><div class="story post-story"><h2 id="近况"><a href="#近况" class="headerlink" title="近况"></a>近况</h2><p>很久没更新博客了,我觉得回来水一篇,大家也不用考虑我会跑路了,博客域名续了10年,别问钱哪里来的,问就是免费报销的。<br>说回来,很久没写文了不是别的原因,就是因为没米赚没什么回报,而且说仅仅为了写文干什么没有动力,如果为了赚流量为什么不恰烂钱<br>所以说不如鸽了躺在床上,但是最近在写项目,顺便空闲时间给博客直接改造升级一波,然后顺手也写了篇博文总结下最近。</p>
|
17
|
+
</div><div class="story post-story"><h2 id="对于整个站点的优化"><a href="#对于整个站点的优化" class="headerlink" title="对于整个站点的优化"></a>对于整个站点的优化</h2><p>内部:<br>我对原来的sw.js切换成了官方的Service-Worker.js 然后官方的缓存策略还是很给力的,同时换了张4K背景图格式为WEBP,由原来的vercel拉去githubpage镜像资源改为了vercel也同步生成。<br>同时对老掉牙的Volantis版本升级到了5.8.x版本</p>
|
18
|
+
<p>外部:对英语字体换成了仿苏芙比字体,可以看到非常Cute,这个字体大家偷的时候注意下,不要用于商用,是仿的游戏人物手写,而且我是在b站up那里偷来的,很遗憾不支持中文哦。</p>
|
19
|
+
<p>虽然修改很少,但是Volantis爆改这样的配色这样的字体,你绝对没见过第二家。</p>
|
20
|
+
</div><div class="story post-story"><h2 id="开源项目-NuCat"><a href="#开源项目-NuCat" class="headerlink" title="开源项目 NuCat"></a>开源项目 NuCat</h2><p>刚刚不是说最近在做项目吗,诺?下面就是 最近把我老腰要了的项目</p>
|
21
|
+
</div><div class="story post-story"><h2 id="一切的源头"><a href="#一切的源头" class="headerlink" title="一切的源头"></a>一切的源头</h2><p>正在上网的我收到了WinRar让我付费还是看广告的两难选项,我肯定是一个都不会选的,那么眼下我只能找其它免费的压缩软件了,由7zip bandzip很多优秀的产品,但是有没有想过bandzip也是付费的,7zip的界面过于复古,那么对于我这种既要又要的人,能不能有一个 开源 免费 可以换皮肤 支持多语言 又不那么臃肿的压缩软件呢,也许但是仍未被我发现,但是有没有可能我可以写,在这种原因驱动下我开始了NuCat压缩软件的开发。</p>
|
22
|
+
</div><div class="story post-story"><h2 id="工具与环境"><a href="#工具与环境" class="headerlink" title="工具与环境"></a>工具与环境</h2><p>这个很好选,按照习惯我直接选择 CMAKE+MSVC+VSCODE ,虽然是单平台开发,但是CMAKE可以很方便设置依赖 设置参数 同时可读性高,MSVC则是比较优秀的CPP编译器,VSCODE和VS开发CPP都还行,但是VS有时候容易抽风。</p>
|
23
|
+
</div><div class="story post-story"><h2 id="食材的选材"><a href="#食材的选材" class="headerlink" title="食材的选材"></a>食材的选材</h2><p>数据交换和数据储存肯定是Json格式,而对于界面和我的需求相呼应的选项肯定不是QT ,WIN UI 2&#x2F;3 等等,这类不符合我像一天一老婆的习惯,而且本身我UI不是特别擅长,如果我有位朋友会写WEB,灵感不就来了吗,基于各种原因Webview来展示界面就是最佳选项,cpp上在win32可用webview有很多,但cef electron等等库都与我的小而美冲突,要小小的才可爱,于是我们可以敲定webview2作为核心技术,但是在开发中对com等等不太熟悉吧,根据onebot我们得出一切皆可one,那么肯定来说webview2作为可选引擎来进行封装的库是有的,可以切换浏览器内核,接口操作上比webview2提供的api好用,果然在我们的寻找中找到webview&#x2F;webview这个项目,我将这个项目作为我们的webview,然后我们还剩一个问题就是说解压压缩怎么办,涉及算法而且各种格式兼容过于麻烦摆在我的选择只有两条,调用7zip的命令行或者sdk,但是调7zip命令行需要按照7zip,使用sdk又如webview2一样接口难以操作,我找到bit7z库提供了对7zip的动态库操作,这样我们就找到了我们所有需要的库。</p>
|
24
|
+
</div><div class="story post-story"><h2 id="编码的选择"><a href="#编码的选择" class="headerlink" title="编码的选择"></a>编码的选择</h2><p>一切都很规范 bit7z yyjson webview&#x2F;webview都是支持utf8,但是存在一个问题我是针对WinX64进行开发,采用UTF16或者ANSI调用才能正常调用接口,所以我们大部分采用UTF8,少部分WIN API进行UTF8转UTF16操作,按照规范执行<br>内码:UTF8<br>外码:UTF16</p>
|
25
|
+
</div><div class="story post-story"><h2 id="开发体验"><a href="#开发体验" class="headerlink" title="开发体验"></a>开发体验</h2><p>1.很久没有再次开发过WIN32 窗口程序了,上次是N年前了,我已经很久没开发过了,本次可以说我是傻瓜,因为WEBVIEW的com技术我没弄过,弄懂这个到放弃我直接换库了,还有就是无边框窗口保留阴影和窗口随意移动花费了很多时间,无边框会在上方有6px白边问题 主要是因为我想保留窗口阴影同时让他无边框,但是这样会存在6px非客户区 ,解决方法就是放弃阴影,然后用dwm api再绘出来,当然还有其它方案,比如自己用gdi绘阴影,但是确实只能说麻烦。<br>2.找罪受就来写这个,查资料没给我送走,webview&#x2F;webview虽然说好于webview2体验,但是说它屏蔽大量操作,resize webview都做不到,没办法,我只能爆改他的代码了,体验非常的差</p>
|
26
|
+
</div><div class="story post-story"><h2 id="总结一下"><a href="#总结一下" class="headerlink" title="总结一下"></a>总结一下</h2><p>没事不要瞎折腾,对于写这Nucat压缩软件这是就像赛博顶真一样,绕了路,WIN11 预览版内置压缩软件 WIN10正式版都是能解压ZIP RAR等常见的格式,所以说为什么这么麻烦,大家静静等待就行,或者说不嫌弃7Zip丑,还是可以用用7zip的。</p>
|
27
|
+
</div><div class="story post-story"><h2 id="至-x2F-2024"><a href="#至-x2F-2024" class="headerlink" title="至&#x2F;2024"></a>至&#x2F;2024</h2><p>收回上面的话,至此讲点别的吧,马上将要到来2024,回想起来觉得什么也没有干,从前的雄心破碎在着畸形的互联网,不知道什么在推动着我对这份行业和对这专业的热爱,也许是从前一句论坛上的坚持下去亦或者是n年前贴友的相互激励,在这个流量与互联网畸形的时代,我仍然坚持着少刷短视频 多创造一些属于自己的东西,抛开阴霾,让我们忘记掉2023一切的劳累与不如意 ,带着期望来到2024,我们的路依然漫漫</p>
|
28
|
+
|
29
|
+
</div></content>
|
30
|
+
<category term="DevLog" />
|
31
|
+
<category term="Gauss" />
|
32
|
+
<updated>2023-12-30T16:00:00.000Z</updated>
|
33
|
+
</entry>
|
12
34
|
<entry>
|
13
35
|
<id>https://nanaeo.cn/2022/08/13/GaussWave/</id>
|
14
36
|
<title>高斯滤波</title>
|