├── .gitignore ├── README.md ├── docs ├── .vuepress │ ├── config.js │ ├── enhanceApp.js │ ├── nav.js │ ├── public │ │ ├── css-js │ │ │ ├── 114031-rating-stars.json │ │ │ ├── 115858-404-page-not-found.json │ │ │ ├── 116943-confetti-3colorsjson.json │ │ │ ├── 119608-404-ufo-error-page.json │ │ │ ├── 119776-table-fan-404-error.json │ │ │ └── heti.min.css │ │ ├── img │ │ │ └── logo.png │ │ ├── mp3 │ │ │ └── 夜的第七章.mp3 │ │ └── robots.txt │ ├── sidebar.js │ ├── theme │ │ ├── components │ │ │ ├── CarbonAds.vue │ │ │ ├── data.json │ │ │ └── lottie.vue │ │ ├── index.js │ │ ├── layouts │ │ │ ├── 404.vue │ │ │ └── Layout.vue │ │ └── styles │ │ │ └── index.styl │ └── vuepress-plugin-jsonld │ │ ├── JSONLD.vue │ │ ├── enhanceAppFile.js │ │ └── index.js ├── README.md ├── figure │ ├── EvanYou │ │ ├── image │ │ │ ├── 110112_54273780_1887527.jpeg │ │ │ ├── 112615_52946026_1887527.jpeg │ │ │ ├── 7459409-04c820e55f2325fd.jpg │ │ │ ├── 7459409-04de3ab4fa9b8616.jpg │ │ │ ├── 7459409-0ce6d34600048663.jpg │ │ │ ├── 7459409-1f4ded40bd47b544.jpg │ │ │ ├── 7459409-9f61fd4e6fd4057e.jpg │ │ │ ├── 7459409-edcf920f26cd21f3.jpg │ │ │ └── yyx.png │ │ ├── 尤雨溪 — IT界华人的骄傲.md │ │ └── 尤雨溪谈Vue.js :缔造自由与真我.md │ └── sidebar.js ├── guide │ ├── LangGraph │ │ └── LangGraph学习笔记.md │ ├── Markdown │ │ ├── Markdown常用语法及图标.md │ │ └── image │ │ │ ├── -736929286@qq.svg │ │ │ └── 1655035590688.png │ ├── OpenAi │ │ ├── image │ │ │ ├── 668104-20230330112125444-1763954579-1728373616155.png │ │ │ ├── 668104-20230330112125444-1763954579.png │ │ │ ├── 668104-20230330112126749-1847613867-1728373616148.png │ │ │ ├── 668104-20230330112126749-1847613867.png │ │ │ ├── 668104-20230330112128116-28825994-1728373616144.png │ │ │ ├── 668104-20230330112128116-28825994.png │ │ │ ├── 668104-20230330112129314-282606999-1728373616141.png │ │ │ ├── 668104-20230330112129314-282606999.png │ │ │ ├── 668104-20230330112130344-1613106099-1728373616137.png │ │ │ ├── 668104-20230330112130344-1613106099.png │ │ │ ├── 668104-20230330112131128-159716041-1728373616132.png │ │ │ ├── 668104-20230330112131128-159716041.png │ │ │ ├── 668104-20230330112132092-1982776146-1728373616128.png │ │ │ ├── 668104-20230330112132092-1982776146.png │ │ │ ├── 668104-20230330112132873-883846957-1728373616126.png │ │ │ ├── 668104-20230330112132873-883846957.png │ │ │ ├── 668104-20230330112133573-87791564-1728373616123.png │ │ │ ├── 668104-20230330112133573-87791564.png │ │ │ ├── 668104-20230330112134049-825799611-1728373616118.png │ │ │ ├── 668104-20230330112134049-825799611.png │ │ │ ├── 668104-20230330112134470-1734533120-1728373616116.png │ │ │ └── 668104-20230330112134470-1734533120.png │ │ └── 如何打造自己的ChatGPT,AzureAPI转换OpenAI.md │ ├── PostgreSQL │ │ ├── PostgreSQL构建cube扩展镜像.md │ │ ├── Ubuntu安装PostgreSQL及常用命令.md │ │ └── image │ │ │ ├── 225044l3a8rezjd83og2ry.png │ │ │ └── 225045tb86k3nnv0l0nlkj.png │ ├── README.md │ ├── centos │ │ ├── centos设置软件自启动.md │ │ └── image │ │ │ ├── 818973-20171213132912738-1132742812.png │ │ │ ├── 903643-20210907170942718-2048344186.png │ │ │ ├── 903643-20210907171153590-185840304.png │ │ │ ├── 903643-20210907171604510-417519941.png │ │ │ ├── copycode-1647865851017.gif │ │ │ └── copycode.gif │ ├── common │ │ ├── image │ │ │ ├── image-20230804000140821.png │ │ │ ├── image-20230804000430265.png │ │ │ ├── image-20230804000609150.png │ │ │ └── image-20230804000946053.png │ │ └── 使用阿里云企业邮箱搭建免费域名邮箱.md │ ├── docker │ │ ├── Docker Buildx构建多平台镜像.md │ │ ├── docker下载和发布镜像及常用命令.md │ │ ├── docker介绍.md │ │ └── image │ │ │ ├── v2-0f6ede7f0b920b5d0d5571c937a04838_1440w.jpg │ │ │ ├── v2-672b29e2d53d2ab044269b026c6bc473_1440w.jpg │ │ │ ├── v2-907214eadd65987e84a0751c08143f91_1440w.jpg │ │ │ ├── v2-b4479c6cf341429bb3e3b0cc5472816d_1440w.jpg │ │ │ ├── v2-c20cb49c88034e73e09059668b8cecfb_1440w.jpg │ │ │ ├── v2-dac570abcf7e1776cc266a60c4b19e5e_1440w.jpg │ │ │ ├── v2-f16577a98471b4c4b5b1af1036882caa_1440w.jpg │ │ │ └── v2-f698870a2becd150a5376942be7368de_1440w.jpg │ ├── github │ │ ├── image │ │ │ ├── 1666334360623.png │ │ │ ├── 1666334433576.png │ │ │ ├── 1666334657447.png │ │ │ ├── 1666334671306.png │ │ │ ├── 1666334761379.png │ │ │ ├── Sourcetree-icon-blue.svg │ │ │ ├── Visual_Studio_2017_Logo.svg │ │ │ ├── Visual_Studio_Code_1.18_icon.svg │ │ │ ├── clone.png │ │ │ ├── compare-and-pull.png │ │ │ ├── copy-to-clipboard.png │ │ │ ├── download.svg │ │ │ ├── fork.png │ │ │ ├── git-status.png │ │ │ ├── gk-icon.png │ │ │ ├── join-slack-team.png │ │ │ ├── open-source.svg │ │ │ ├── submit-pull-request.png │ │ │ ├── v2-b30d45fc5b841a9159cf53eb2a99bcd6_b.jpg │ │ │ └── v2-b30d45fc5b841a9159cf53eb2a99bcd6_b.webp │ │ ├── 为你的GitHub个人资料构建出色的自述文件.md │ │ └── 第一次参与开源.md │ ├── image │ │ ├── -13142090238-07c160.svg │ │ ├── -15625057119-07c160.svg │ │ ├── -736929286@qq.svg │ │ ├── -790002517@qq.svg │ │ ├── -zzylife-07c160.svg │ │ ├── -时不待我-07c160.svg │ │ ├── 12830151-ea53cf686936f666.png │ │ ├── 7f17530e0db64335b8cad83d7210d9b1.png │ │ ├── clip_image002.jpg │ │ ├── clip_image004.jpg │ │ ├── code.gif │ │ ├── docker.svg │ │ ├── git.png │ │ ├── image-20220211171338237.png │ │ ├── javascript.png │ │ ├── mysql.png │ │ ├── nginx.svg │ │ ├── python.png │ │ ├── spring.svg │ │ ├── visiky.svg │ │ └── vue.png │ ├── nginx │ │ ├── image │ │ │ └── p33690.png │ │ ├── nginx代理配置.md │ │ └── nginx安装证书.md │ ├── npm │ │ ├── image │ │ │ ├── 3354595-101cfa708e3273af.png │ │ │ ├── 3354595-fadb5e1b41f755a2.png │ │ │ └── image-20211210153336128.png │ │ └── 通俗易懂地教你发布自己的npm.md │ ├── pi4B │ │ ├── image │ │ │ ├── 20191121143608821.png │ │ │ ├── 20191121143732184.png │ │ │ ├── image-20211128215056808.png │ │ │ ├── image-20211128215522949.png │ │ │ ├── image-20211128215618490.png │ │ │ ├── image-20211128215726155.png │ │ │ └── v2-f6793d48561bd448d0d456b47f2fb76c_1440w.png │ │ ├── 使用docker启动mongodb.md │ │ ├── 使用docker启动nacos.md │ │ ├── 域名使用DDNS动态解析.md │ │ ├── 树莓派安装ubuntu系统.md │ │ └── 树莓派搭建SVN服务器.md │ ├── plugInUnit │ │ ├── CSS3实现转盘抽奖.md │ │ ├── Excel导出插件.md │ │ ├── driverjs插件实现新手交互引导.md │ │ ├── form-generator的uniapp解析器.md │ │ ├── image │ │ │ ├── 1647936341742.png │ │ │ ├── 1647936365378.png │ │ │ ├── 1647936426257.png │ │ │ ├── 1658803652654.png │ │ │ ├── 1659941817834.png │ │ │ ├── 1663256481823.png │ │ │ ├── 352797-20180706101048813-1241756148.png │ │ │ ├── 3840312-5ef55482aacbc85e.png │ │ │ ├── 421cfc9ec76b7d3522368c1d912a7c64.jpeg │ │ │ ├── 7f17530e0db64335b8cad83d7210d9b1.png │ │ │ ├── default-1660399248923.png │ │ │ └── trumen-fast-1660399000420.gif │ │ ├── vue使用svg动画插件.md │ │ ├── vue滚动动画插件.md │ │ ├── 全屏切换组件.md │ │ ├── 剪贴板复制插件.md │ │ ├── 图片懒加载插件.md │ │ ├── 支持RESTfulAPI的开源快速搜索引擎.md │ │ ├── 点击图片大图预览插件.md │ │ ├── 谷歌免费开源图片压缩插件.md │ │ └── 软著源代码材料生成器.md │ ├── python │ │ ├── PostgreSQL版人脸检索.md │ │ ├── image │ │ │ ├── 1661250001952.png │ │ │ ├── 36f0e3f0-13cb-11e7-8258-4d0c9ce1e419.gif │ │ │ ├── 42c65360-025d-11e7-94ea-b12f28cb34b4.png │ │ │ ├── 45e049b6-025d-11e7-89cc-8a71cf89e713.png │ │ │ ├── 6874772322f617.png │ │ │ ├── 696d6167654d6f6772322f6175746.png │ │ │ ├── 7f2d79dc-025d-11e7-8728-d8924596f8fa.png │ │ │ ├── 80638760-025d-11e7-80a2-1d2779f7ccab.png │ │ │ ├── image-20220118220825296.png │ │ │ ├── image-20220118221758603.png │ │ │ └── v2-ff17989f449787b02fc11c7eddf854a1_1440w.jpg │ │ ├── 人脸识别.md │ │ ├── 人脸识别配套HTTP服务.md │ │ └── 人脸识别配套vue界面.md │ ├── react │ │ └── ant组件开发常见问题.md │ ├── redis │ │ └── 狂神说Redis笔记.md │ ├── router │ │ ├── image │ │ │ ├── image-20220117103235782.png │ │ │ ├── image-20220117104109292.png │ │ │ ├── image-20220117105252711.png │ │ │ ├── image-20220117105444296.png │ │ │ └── image-20220117105626420.png │ │ └── 华硕路由器搭建科学上网.md │ ├── sidebar.js │ ├── springboot │ │ ├── SpringSecurity免密登陆.md │ │ ├── image │ │ │ ├── 07201044-a8e02c010ca54216b4de01f388218286.png │ │ │ ├── 07201112-488851f9ebde49ea8c5242ebab7af35c.png │ │ │ ├── 07201200-d5e3f7f7a41040efa68ce180a34b1f54.png │ │ │ ├── 07201223-3c6c9863900644019ff3f7121f81e0cd.png │ │ │ ├── 07201312-a04d51ed72654ed58212d379d029abec-1656650933387.png │ │ │ ├── 07201312-a04d51ed72654ed58212d379d029abec.png │ │ │ ├── 1553090-20210716180423941-410981108.png │ │ │ ├── 1553090-20210716180443350-555162297.png │ │ │ ├── 1553090-20210716180518925-1295720547.png │ │ │ ├── 1553090-20210716180654663-299288087.png │ │ │ ├── 1553090-20210716180857504-1314093478.png │ │ │ ├── 1553090-20210716180916949-923019642.png │ │ │ ├── 1553090-20210716180957014-939406299.png │ │ │ ├── 1553090-20210716181137955-1647442279.png │ │ │ ├── 1553090-20210716181205153-1173360511.png │ │ │ ├── 1553090-20210716181226965-1155472237.png │ │ │ ├── 1553090-20210716181233598-1669955477.png │ │ │ ├── 1553090-20210716181253696-560608095.png │ │ │ ├── 1553090-20210716181313618-1904052289.png │ │ │ ├── 1553090-20210716181505045-547157598.png │ │ │ ├── 1553090-20210716181532850-435463714.png │ │ │ ├── 1553090-20210716181552284-385505345.png │ │ │ ├── 1553090-20210716181605166-56896017.png │ │ │ ├── 1553090-20210716181650911-1611856646.png │ │ │ ├── 1553090-20210716181707294-1792536254.png │ │ │ ├── 1553090-20210716181721678-2125868658.png │ │ │ ├── 1553090-20210716181734738-765126076.png │ │ │ ├── 1553090-20210716181815680-1532294441.png │ │ │ ├── 1642503401735.png │ │ │ ├── 1642503511131.png │ │ │ ├── 1642503654122.png │ │ │ ├── 1642503693766.png │ │ │ ├── 1656586100638.png │ │ │ ├── 1656778490529.png │ │ │ ├── 1656778670646.png │ │ │ ├── 1656778926076.png │ │ │ ├── 1656778959760.png │ │ │ ├── 1659884341441.png │ │ │ ├── 1659884381806.png │ │ │ ├── 1878959-20220428115058896-1850785789.png │ │ │ ├── 1878959-20220428115325822-1279509209.png │ │ │ ├── 1878959-20220428115331672-138602197.png │ │ │ ├── 1878959-20220428115336479-1925819062.png │ │ │ ├── 1878959-20220518155108014-354006981.png │ │ │ ├── 1878959-20220606154010616-441746640.png │ │ │ ├── 1878959-20220606154128396-1261659117.png │ │ │ ├── 26099337-b4b7f843177ef415.png │ │ │ ├── jar_image.png │ │ │ └── p33514.png │ │ ├── java语言将jar打包苹果可执行文件.md │ │ ├── springboot使用aspose把excel转换pdf.md │ │ ├── springboot使用aspose把pdf转换word.md │ │ ├── springboot使用aspose把ppt转换pdf.md │ │ ├── springboot使用aspose把word转换pdf.md │ │ ├── springboot常见工具类.md │ │ ├── springboot常见配置类.md │ │ ├── word上传解析成Html.md │ │ ├── 个人总结破解aspose系列产品方法.md │ │ ├── 使用Swing开发Java GUI程序.md │ │ ├── 使用exe4j将Java程序打包为可执行文件.md │ │ ├── 使用自定义注解和AOP方式限制相同IP接口访问次数.md │ │ └── 在SpringBoot上启用HTTPS.md │ ├── svn │ │ ├── svn常见命令.md │ │ └── 项目一览表.md │ ├── uniapp │ │ ├── image │ │ │ └── 1715742478708.png │ │ ├── uniapp升级怎么整包更新或者wgt热更新.md │ │ ├── uniapp怎么上传附件.md │ │ ├── uniapp怎么制作并一键切换主题.md │ │ ├── uniapp怎么进行代码混淆.md │ │ ├── uniapp权限弹窗提示.md │ │ ├── uniapp腾讯cos桶Put方法直传.md │ │ ├── uniapp踩坑记录.md │ │ └── 微信小程序代码怎么一键转uniapp.md │ ├── vscode │ │ ├── image │ │ │ ├── 20191011155949742.png │ │ │ ├── 202102252148227.png │ │ │ ├── AutoRenameTag.gif │ │ │ ├── Imagepreview.gif │ │ │ ├── Searchnode_modules.gif │ │ │ ├── file-jump.gif │ │ │ ├── image-20211206200539844.png │ │ │ ├── image-20230420082555231.png │ │ │ ├── image-20230420082646367.png │ │ │ ├── image-20230420082748625.png │ │ │ ├── image-20230420082819347.png │ │ │ ├── image-20230420082835527.png │ │ │ ├── image-20230420082933557.png │ │ │ ├── image-20230420083203617.png │ │ │ ├── image-20230420083205954.png │ │ │ ├── image-20230420083341669.png │ │ │ └── koroFileHeader.gif │ │ └── vscode插件集锦.md │ ├── vue │ │ ├── image │ │ │ ├── 1389839-20180502095431754-1395324051.png │ │ │ ├── 1389839-20180502101905053-1587213309.png │ │ │ ├── 1389839-20180502102033938-355932808.png │ │ │ ├── 1389839-20180502103007605-2060283530.png │ │ │ ├── 1389839-20180502105647212-951832148.png │ │ │ ├── 1389839-20180502110820591-729403423.png │ │ │ ├── 1389839-20180502111032446-387761987.png │ │ │ ├── 1389839-20180502111357259-2114714639.png │ │ │ ├── 1389839-20180502113321132-349982802.png │ │ │ ├── 1389839-20180502142008708-2115134288.png │ │ │ ├── 1389839-20180502142849902-1215833912.png │ │ │ ├── 1389839-20180502143025451-278154874.png │ │ │ ├── 1389839-20180502143616764-422558518.png │ │ │ ├── 1389839-20180502143858422-657772304.png │ │ │ ├── 1389839-20180502145725788-417218840.png │ │ │ ├── 1389839-20180502154051438-241129537.png │ │ │ ├── 1389839-20180502155017265-917246996.png │ │ │ ├── 1389839-20180502155344047-907805750.png │ │ │ ├── 1389839-20180502161138527-27379110.png │ │ │ ├── 1389839-20180502161406105-1245163302.png │ │ │ ├── 1389839-20180502161513162-1567386320.png │ │ │ ├── 1389839-20180502161644203-1713880727.png │ │ │ ├── 20200428164548349.png │ │ │ ├── 20200428164701864.png │ │ │ ├── 20200428165142410.png │ │ │ ├── 20200428165721774.png │ │ │ ├── 20200428170246899.png │ │ │ ├── 202004281703394.png │ │ │ ├── 20200428170605433.png │ │ │ ├── 20200428170815823.png │ │ │ ├── 20200428171225659.png │ │ │ ├── 20200524110603969.png │ │ │ ├── 20200524112733750.png │ │ │ ├── 20200524113756139.png │ │ │ ├── 20200524115755487.png │ │ │ ├── 20200815191941397.png │ │ │ ├── 20201110104754906.png │ │ │ ├── 9487719-37852d7e52a95f8a.png │ │ │ ├── 9487719-bcddb4ac905f055a.png │ │ │ ├── 9487719-d9eb2035e204d817.png │ │ │ ├── cli-new-project.png │ │ │ ├── cli-select-features.png │ │ │ └── image-20211226181551884.png │ │ ├── imgs │ │ │ ├── MVVM.png │ │ │ ├── VUE-logo.png │ │ │ ├── components.png │ │ │ ├── diff.png │ │ │ ├── jjs.png │ │ │ ├── ku.jpg │ │ │ ├── mvc.jpg │ │ │ ├── props-events.png │ │ │ ├── vue-data-reactive.png │ │ │ ├── vue自定义指令笔记.md │ │ │ ├── web-spa.png │ │ │ ├── web-traditional.png │ │ │ ├── webpack-1.png │ │ │ ├── webpack-module.jpg │ │ │ └── 框架和库.png │ │ ├── node-sass安装报错.md │ │ ├── vue-router笔记.md │ │ ├── vue.md │ │ ├── vue2集成百度编辑器.md │ │ ├── vue动画笔记.md │ │ ├── vue如何自动处理静态资源上传至对象存储.md │ │ ├── 如何搭建一个Vue脚手架项目.md │ │ └── 跨域及解决方法.md │ ├── vuepress │ │ ├── image │ │ │ ├── 1648529313733.png │ │ │ ├── 1648529343519.png │ │ │ ├── 20201019171352.png │ │ │ ├── default.svg │ │ │ ├── image-20211128220835968.png │ │ │ ├── image-20211128220932943.png │ │ │ ├── image-20211128220958836.png │ │ │ ├── image-20211128221053339.png │ │ │ ├── image-20211128221056256.png │ │ │ ├── image-20211128221118634.png │ │ │ ├── leancloud-1.ed55a501.jpeg │ │ │ ├── leancloud-2.d26cacd1.jpeg │ │ │ ├── leancloud-3.f30a9772.png │ │ │ ├── vercel-1.3ada188f.png │ │ │ ├── vercel-2.35cde26e.png │ │ │ ├── vercel-3.600bb9ee.png │ │ │ ├── vercel-4.3f804e6d.png │ │ │ ├── vercel-5.e46d16f7.png │ │ │ ├── vercel-6.6a902d66.png │ │ │ ├── vercel-7.34313f48.png │ │ │ ├── vuepress-plugin-meting-1642183885090.svg │ │ │ ├── vuepress-plugin-meting-1642183885274.svg │ │ │ ├── vuepress-plugin-meting-1642183885275.svg │ │ │ ├── vuepress-plugin-meting-1642183885669.svg │ │ │ └── vuepress-plugin-meting.svg │ │ ├── vuepress密码验证插件.md │ │ ├── vuepress常见问题.md │ │ ├── vuepress评论插件.md │ │ ├── vuepress集成全文搜索插件.md │ │ ├── vuepress音乐插件.md │ │ └── 十分钟使用vuepress搭建博客中心.md │ └── weChat │ │ ├── image │ │ ├── 1641989757821.png │ │ ├── 1641989806449.png │ │ ├── 1641989877738.png │ │ ├── 1641989921593.png │ │ ├── 1641989999508.png │ │ ├── 1641990066915.png │ │ ├── 1641990172090.png │ │ ├── 1641990287512.png │ │ ├── 1641990401768.png │ │ └── 1641996427368.png │ │ ├── 小程序制作滚动动画的顶部导航栏.md │ │ ├── 微信小程序开发资源汇总.md │ │ └── 旧版云托管发布指南.md └── note │ ├── sidebar.js │ └── 提问的智慧.md ├── image ├── image-20230118234352571.png ├── image-20230118234417495.png └── mobile.png ├── netlify.toml ├── package-lock.json ├── package.json ├── scripts ├── change-modules.js └── new_node_modules │ ├── @vuepress │ ├── core │ │ └── lib │ │ │ └── node │ │ │ └── webpack │ │ │ └── createBaseConfig.js │ ├── plugin-active-header-links │ │ └── clientRootMixin.js │ └── theme-default │ │ ├── components │ │ └── Home.vue │ │ └── layouts │ │ └── Layout.vue │ ├── vuepress-plugin-autometa │ └── index.js │ └── vuepress-plugin-fulltext-search │ └── components │ └── SearchBox.vue └── vercel.json /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /.svn 3 | /.temp 4 | /dist 5 | /.vscode 6 | /docs/.vuepress/public/google7446a3fd56da7405.html 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | logo 4 | 5 |

6 | 7 |

8 | Downloads 9 | Version 10 | License 11 | VuePress channel on Discord 12 |

13 | 14 | 15 | 16 | 17 | ## 特点 18 | 19 | 使用vuepress制作的[个人博客静态站点](https://blog.webarcx.com) 20 | 21 | image-20230118234352571 22 | 23 | mobile 24 | 25 | ### 拥有以下特点 26 | 27 | **:gift_heart:** **VuePress** 会将**Markdown**语言文件生成预渲染好的 HTML,具有非常好的加载性能和搜索引擎优化(SEO) 28 | 29 | **:gift_heart:** **Markdown**既可以在本地预览编辑,并且vuepress可以直接进行网页编译渲染,不需要操作代码,专注于写作 30 | 31 | **:gift_heart:** 增加image-webpack-loader插件让build时能压缩图片,原来dist55MB,压缩后33MB 32 | 33 | **:gift_heart:** 非常好的自适应网页(包括PC,移动端,平板) 34 | 35 | 36 | 37 | 总而言之,vuepress最大的优点则是**不需要维护代码**,在本地写Markdown编译就是一个网页 38 | 39 | ### 集成了 40 | 41 | **:gift_heart:** 静态全站搜索插件 **:gift_heart:** MD图表支持插件 **:gift_heart:** 音乐播放器插件 42 | 43 | **:gift_heart:** 饿了么UI库 **:gift_heart:** primevue组件库 **:gift_heart:** 霞鹜文楷字体 44 | 45 | **:gift_heart:** vue-lottie动画库 46 | 47 | ### 修复了 48 | 49 | **:gift_heart:** vuepress的中文URL路径错误问题 50 | 51 | **:gift_heart:** 中文URL锚点无法跳转问题 52 | 53 | **:gift_heart:** 滑动页面左侧导航栏未进行跟随问题 54 | 55 | **:gift_heart:** 全文搜索插件移动端适配问题 56 | 57 | **:gift_heart:** 音乐插件图片报错 58 | 59 | 本地音源没有自动注入vuepress的base基础路径 60 | 61 | API报错导致无法正确加载等问题 62 | 63 | 64 | 65 | ## 运行&打包 66 | 67 | 首要 68 | 69 | ```bash 70 | npm i 71 | ``` 72 | 73 | 运行 74 | 75 | ```bash 76 | npm run dev 77 | ``` 78 | 79 | 打包 80 | 81 | ```bash 82 | npm run build 83 | ``` 84 | 85 | 86 | 87 | ## 使用组件 88 | 89 | [vuepress-plugin-fulltext-search](https://github.com/leo-buneev/vuepress-plugin-fulltext-search) 静态的全文搜索插件 90 | 91 | [vuepress-plugin-mermaidjs](https://github.com/eFrane/vuepress-plugin-mermaidjs) mermaid.js 图表的 Vuepress 插件 用以支持md语法中的图表 92 | 93 | [vuepress-plugin-meting](https://github.com/moefyit/vuepress-plugin-meting) 播放器插件 94 | 95 | [element-ui](https://element.eleme.cn/#/zh-CN/component/installation) UI组件库 96 | 97 | [image-webpack-loader](https://github.com/tcoopman/image-webpack-loader) webpack打包图像压缩插件 98 | 99 | [webmasterish](https://github.com/webmasterish)/[vuepress-plugin-autometa](https://github.com/webmasterish/vuepress-plugin-autometa) meta优化插件 100 | 101 | [vuepress-plugin-sitemap](https://github.com/ekoeryanto/vuepress-plugin-sitemap) 站点地图生成器插件 102 | 103 | ## 使用相关文档请参见 104 | 105 | https://vuepress.vuejs.org/. 106 | 107 | 108 | 109 | ## License 110 | 111 | [MIT](https://github.com/vuejs/vuepress/blob/master/LICENSE) 112 | -------------------------------------------------------------------------------- /docs/.vuepress/enhanceApp.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: zzy 790002517@qq.com 3 | * @Date: 2022-01-21 01:31:22 4 | * @LastEditors: 时不待我 790002517@qq.com 5 | * @LastEditTime: 2022-09-18 18:27:28 6 | */ 7 | import { Notification, Button } from 'element-ui'; 8 | 9 | import 'element-ui/lib/theme-chalk/index.css'; 10 | 11 | export default ({ 12 | Vue 13 | }) => { 14 | //按需引入 15 | Vue.use(Button); 16 | Vue.prototype.$notify = Notification; 17 | 18 | } -------------------------------------------------------------------------------- /docs/.vuepress/nav.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | text: "首页", 4 | link: "/", 5 | }, 6 | { 7 | text: "博客", 8 | link: "/guide/", 9 | }, 10 | { 11 | text: "个人随笔", 12 | link: "/note/提问的智慧.md", 13 | }, 14 | { 15 | text: "封面人物", 16 | link: "/figure/EvanYou/尤雨溪 — IT界华人的骄傲.md", 17 | }, 18 | { 19 | text: "我的项目", 20 | items: [ 21 | { 22 | text: "项目预览室", 23 | items: [ 24 | { 25 | text: "网弧官网", 26 | link: "https://www.webedc.com/", 27 | }, 28 | { 29 | text: "软件著作权生成方案", 30 | link: "https://www.webarcx.com/", 31 | }, 32 | ], 33 | }, 34 | 35 | ], 36 | }, 37 | { 38 | text: "工具箱", 39 | items: [ 40 | { 41 | text: "官方文档", 42 | items: [ 43 | { 44 | text: "Vue", 45 | link: "https://cn.vuejs.org/", 46 | }, 47 | { 48 | text: "VuePress", 49 | link: "https://vuepress.vuejs.org/zh/", 50 | }, 51 | ], 52 | }, 53 | { 54 | text: "在线编辑", 55 | items: [ 56 | { 57 | text: "图片压缩", 58 | link: "https://squoosh.app/", 59 | }, 60 | { 61 | text: "辅助工具", 62 | link: "https://www.dute.org/", 63 | }, 64 | ], 65 | }, 66 | { 67 | text: "在线服务", 68 | items: [ 69 | { 70 | text: "阿里云", 71 | link: "https://www.aliyun.com/", 72 | }, 73 | { 74 | text: "腾讯云", 75 | link: "https://cloud.tencent.com/", 76 | }, 77 | ], 78 | }, 79 | { 80 | text: "博客指南", 81 | items: [ 82 | { 83 | text: "掘金", 84 | link: "https://juejin.im/", 85 | }, 86 | { 87 | text: "CSDN", 88 | link: "https://blog.csdn.net/", 89 | }, 90 | ], 91 | }, 92 | ], 93 | }, 94 | { 95 | text: "GitHub", 96 | link: "https://github.com/zzy-life", 97 | }, 98 | ]; 99 | -------------------------------------------------------------------------------- /docs/.vuepress/public/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/.vuepress/public/img/logo.png -------------------------------------------------------------------------------- /docs/.vuepress/public/mp3/夜的第七章.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/.vuepress/public/mp3/夜的第七章.mp3 -------------------------------------------------------------------------------- /docs/.vuepress/public/robots.txt: -------------------------------------------------------------------------------- 1 | Sitemap: https://blog.webarcx.com/sitemap.xml 2 | 3 | User-agent: * -------------------------------------------------------------------------------- /docs/.vuepress/sidebar.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '/guide/': require('../guide/sidebar.js'), 3 | '/note/': require('../note/sidebar.js'), 4 | '/figure/': require('../figure/sidebar.js'), 5 | } -------------------------------------------------------------------------------- /docs/.vuepress/theme/components/CarbonAds.vue: -------------------------------------------------------------------------------- 1 | 62 | 63 | -------------------------------------------------------------------------------- /docs/.vuepress/theme/components/data.json: -------------------------------------------------------------------------------- 1 | { 2 | "data":[ 3 | { 4 | "imgsrc":"https://img.alicdn.com/i4/2360794809/O1CN01qMNiqc1lOZQbI36zE_!!0-item_pic.jpg_200x200_.webp", 5 | "imghttp":"https://s.click.taobao.com/t?e=m%3D2%26s%3Dkkpw4054SRBw4vFB6t2Z2ueEDrYVVa64Dne87AjQPk9yINtkUhsv0I504YrKtVzaBj2BsLX67aXT55gQuM1UO1baRCDBD2JfD37nEXsqCf95dtc5%2F48lzQJSiRtHsiFoFBoMXOGuG5DkaqczTKGnOsUxmcnfLeimY6FI54a0DvCVQ33WkESZhSkp6Iy2FlQ2IYULNg46oBA%3D&union_lens=lensId%3AOPT%401655283935%40212b4deb_095a_181669c679b_e17c%4001", 6 | "text":"白象方便面火鸡面超辣小龙虾干拌面速食泡面袋装整箱拌面官方旗舰.", 7 | "w":100 8 | }, 9 | { 10 | "imgsrc":"https://img.alicdn.com/i1/3885826257/O1CN017ylTzU1w5ktiXMFlG_!!0-item_pic.jpg", 11 | "imghttp":"https://s.click.taobao.com/t?e=m%3D2%26s%3DWlJ4hfAlyihw4vFB6t2Z2ueEDrYVVa64Dne87AjQPk9yINtkUhsv0I504YrKtVzaBj2BsLX67aXT55gQuM1UO1baRCDBD2JfD37nEXsqCf95dtc5%2F48lzQJSiRtHsiFoFBoMXOGuG5DkaqczTKGnOkR3XXGtWV7xtl8GKerqwNyuSZQPolx2TWPacA1%2FIGU6IYULNg46oBA%3D&union_lens=lensId%3AOPT%401655283935%40212b4deb_095a_181669c67b2_e181%4001", 12 | "text":"换季洗 羽绒服风衣任洗4件顺丰上门消毒洗衣服务免费取送蜗窝酱.", 13 | "w":80 14 | }, 15 | { 16 | "imgsrc":"https://img.alicdn.com/i2/2145487409/O1CN01QCkR4S24bNBeCh9Zu_!!0-item_pic.jpg", 17 | "imghttp":"https://s.click.taobao.com/t?e=m%3D2%26s%3Dk64Q6H5n3w9w4vFB6t2Z2ueEDrYVVa64Dne87AjQPk9yINtkUhsv0I504YrKtVzaBj2BsLX67aXT55gQuM1UO1baRCDBD2JfD37nEXsqCf95dtc5%2F48lzQJSiRtHsiFoFBoMXOGuG5DkaqczTKGnOsuF0dBIN7ffY6FI54a0DvD0OQE3%2FHKGBiDGtz%2BEblYJIYULNg46oBA%3D&union_lens=lensId%3AOPT%401655283935%40212b4deb_095a_181669c67b5_e182%4001", 18 | "text":"Vue.js设计与实现.", 19 | "w":80 20 | }, { 21 | "imgsrc":"https://img.alicdn.com/i2/27492463/O1CN01mefjF91U46EBdVYQ3_!!0-item_pic.jpg_200x200_.webp", 22 | "imghttp":"https://s.click.taobao.com/t?e=m%3D2%26s%3DqnmW99sCxwdw4vFB6t2Z2ueEDrYVVa64juWlisr3dOdyINtkUhsv0I504YrKtVzaBj2BsLX67aXT55gQuM1UO1baRCDBD2JfD37nEXsqCf95dtc5%2F48lzQJSiRtHsiFoFBoMXOGuG5DkaqczTKGnOs5tms5W%2F8x%2BhR3KFeBUX%2FYu%2FroIzwXEmXEqY%2Bakgpmw&union_lens=lensId%3AOPT%401655283935%40212b4deb_095a_181669c67ba_e183%4001", 23 | "text":"全套web前端基础视频教程.", 24 | "w":80 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /docs/.vuepress/theme/components/lottie.vue: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /docs/.vuepress/theme/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extend: '@vuepress/theme-default' 3 | } -------------------------------------------------------------------------------- /docs/.vuepress/theme/layouts/404.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /docs/.vuepress/theme/layouts/Layout.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | 18 | 30 | -------------------------------------------------------------------------------- /docs/.vuepress/theme/styles/index.styl: -------------------------------------------------------------------------------- 1 | h1,h2,h3,h4,h5,h6,p{ 2 | /* Screen version */ 3 | font-family: "LXGW WenKai Screen", sans-serif !important; 4 | } -------------------------------------------------------------------------------- /docs/.vuepress/vuepress-plugin-jsonld/JSONLD.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 29 | -------------------------------------------------------------------------------- /docs/.vuepress/vuepress-plugin-jsonld/enhanceAppFile.js: -------------------------------------------------------------------------------- 1 | import JSONLD from './JSONLD.vue' 2 | 3 | export default ({ Vue, options }) => { 4 | Vue.component('JSONLD', JSONLD) 5 | } 6 | -------------------------------------------------------------------------------- /docs/.vuepress/vuepress-plugin-jsonld/index.js: -------------------------------------------------------------------------------- 1 | const { path } = require('@vuepress/shared-utils') 2 | 3 | module.exports = options => ({ 4 | name: 'vuepress-plugin-jsonld', 5 | enhanceAppFiles () { 6 | return [path.resolve(__dirname, 'enhanceAppFile.js')] 7 | }, 8 | globalUIComponents: ['JSONLD'] 9 | }) 10 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | home: true 3 | heroImage: /img/logo.png 4 | actionText: 开始 5 | heroText: zzy-Blog 6 | meta: 7 | - name: description 8 | content: 张志宇(zhangzhiyu)的博客网站 9 | - name: keywords 10 | content: 时不待我,张志宇,zhangzhiyu,webrarcx.com 11 | tagline: null 12 | actionLink: /guide/ 13 | lang: zh-CN 14 | comment: true 15 | kinesis: true 16 | --- 17 | 18 | ::: slot footer 19 | MIT Licensed | Copyright © [网络弧线](https://www.webedc.com) 2021-present You 20 | ::: 21 | 22 | 23 | 43 | 44 | 79 | 91 | -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/110112_54273780_1887527.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/110112_54273780_1887527.jpeg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/112615_52946026_1887527.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/112615_52946026_1887527.jpeg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/7459409-04c820e55f2325fd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/7459409-04c820e55f2325fd.jpg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/7459409-04de3ab4fa9b8616.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/7459409-04de3ab4fa9b8616.jpg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/7459409-0ce6d34600048663.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/7459409-0ce6d34600048663.jpg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/7459409-1f4ded40bd47b544.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/7459409-1f4ded40bd47b544.jpg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/7459409-9f61fd4e6fd4057e.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/7459409-9f61fd4e6fd4057e.jpg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/7459409-edcf920f26cd21f3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/7459409-edcf920f26cd21f3.jpg -------------------------------------------------------------------------------- /docs/figure/EvanYou/image/yyx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/figure/EvanYou/image/yyx.png -------------------------------------------------------------------------------- /docs/figure/sidebar.js: -------------------------------------------------------------------------------- 1 | module.exports = [{ 2 | title: '尤雨溪', 3 | collapsable: true, 4 | children: [ 5 | './EvanYou/尤雨溪 — IT界华人的骄傲.md', 6 | './EvanYou/尤雨溪谈Vue.js :缔造自由与真我.md', 7 | { title: "vue.js纪录片", path: "https://mp.weixin.qq.com/s?t=pages/video_detail_new&scene=22&vid=wxv_2318081807377956865&__biz=Mzg2Mjc0OTM3MQ==&mid=2247483682&idx=1&sn=5645a600dcbae740f68e7ec2d6562508&vidsn=#wechat_redirect" }, ] 8 | }, ] -------------------------------------------------------------------------------- /docs/guide/Markdown/image/-736929286@qq.svg: -------------------------------------------------------------------------------- 1 | 736929286@qq.com736929286@qq.com -------------------------------------------------------------------------------- /docs/guide/Markdown/image/1655035590688.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/Markdown/image/1655035590688.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112125444-1763954579-1728373616155.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112125444-1763954579-1728373616155.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112125444-1763954579.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112125444-1763954579.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112126749-1847613867-1728373616148.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112126749-1847613867-1728373616148.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112126749-1847613867.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112126749-1847613867.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112128116-28825994-1728373616144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112128116-28825994-1728373616144.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112128116-28825994.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112128116-28825994.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112129314-282606999-1728373616141.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112129314-282606999-1728373616141.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112129314-282606999.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112129314-282606999.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112130344-1613106099-1728373616137.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112130344-1613106099-1728373616137.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112130344-1613106099.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112130344-1613106099.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112131128-159716041-1728373616132.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112131128-159716041-1728373616132.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112131128-159716041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112131128-159716041.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112132092-1982776146-1728373616128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112132092-1982776146-1728373616128.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112132092-1982776146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112132092-1982776146.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112132873-883846957-1728373616126.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112132873-883846957-1728373616126.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112132873-883846957.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112132873-883846957.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112133573-87791564-1728373616123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112133573-87791564-1728373616123.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112133573-87791564.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112133573-87791564.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112134049-825799611-1728373616118.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112134049-825799611-1728373616118.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112134049-825799611.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112134049-825799611.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112134470-1734533120-1728373616116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112134470-1734533120-1728373616116.png -------------------------------------------------------------------------------- /docs/guide/OpenAi/image/668104-20230330112134470-1734533120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/OpenAi/image/668104-20230330112134470-1734533120.png -------------------------------------------------------------------------------- /docs/guide/PostgreSQL/image/225044l3a8rezjd83og2ry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/PostgreSQL/image/225044l3a8rezjd83og2ry.png -------------------------------------------------------------------------------- /docs/guide/PostgreSQL/image/225045tb86k3nnv0l0nlkj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/PostgreSQL/image/225045tb86k3nnv0l0nlkj.png -------------------------------------------------------------------------------- /docs/guide/README.md: -------------------------------------------------------------------------------- 1 | 2 | # 介绍 3 | 4 | 5 | 6 | ### 关于博主 7 | 8 | 2015年高二入伍,2017年退役,2019年入学。全栈 Web 软件工程师,软件设计师,魂学爱好者,曾参加**湖南省Web技能竞赛**获二等奖,**中国高校计算机大赛——微信小程序应用开发赛**获全国三等奖,华中赛区一等奖。 9 | 10 | GIF 11 | 12 | 获得2020-2021年度**国家奖学金**。 13 | 14 | 获得三项软件著作权。 15 | 16 | 拥有最高日活量30000+,注册用户7000+的小程序项目开发经验,可以独立开发小型项目。 17 | 18 |
19 | 20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | 30 | **语言和工具:** 31 | 32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
42 | 43 |
44 | 45 | 46 | 📊 **我把时间花在:** 47 | 48 | 49 | [![Top Langs](https://vercel.webarcx.com/api/top-langs/?username=zzy-life&layout=compact)](https://github.com/anuraghazra/github-readme-stats) 50 | 51 |
52 | 53 | 📈 **我的github统计:** 54 | 55 | [![Anurag's GitHub stats](https://vercel.webarcx.com/api?username=zzy-life&show_icons=true)](https://github.com/anuraghazra/github-readme-stats) 56 | 57 | 58 | 59 | ### 关于博客 60 | 61 | 62 | 63 | #### 博客使用技术 64 | 65 | > 服务器:树莓派4B 66 | > 67 | > 前端:VuePress构建 68 | > 69 | > 文档书写:Typora 70 | > 71 | > 前端部署:Nginx代理 72 | 73 | 我的树莓派服务器: 74 | 75 | ![img](image/image-20220211171338237.png) 76 | 77 | 78 | 79 | ### 联系博主 80 | 81 | 82 | > 邮件: [![Mail](image/-790002517@qq.svg)](mailto:790002517@qq.com) 83 | > 84 | 85 | > GitHub:[![GitHub](image/-zzylife-07c160.svg)](https://github.com/zzy-life) 86 | > 87 | 88 | > 微信公众号: [网络弧线]( weixin://qr/gh_34bd692a9835 ) 89 | > 90 | 91 | ### 92 | 93 | 94 | ### 内容来源 95 | 96 | 部分来源网络,如有侵权请联系作者 97 | 98 | 站内所有内容遵循GPL协议 99 | 100 | ![img](image/12830151-ea53cf686936f666.png) 101 | 102 | -------------------------------------------------------------------------------- /docs/guide/centos/image/818973-20171213132912738-1132742812.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/centos/image/818973-20171213132912738-1132742812.png -------------------------------------------------------------------------------- /docs/guide/centos/image/903643-20210907170942718-2048344186.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/centos/image/903643-20210907170942718-2048344186.png -------------------------------------------------------------------------------- /docs/guide/centos/image/903643-20210907171153590-185840304.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/centos/image/903643-20210907171153590-185840304.png -------------------------------------------------------------------------------- /docs/guide/centos/image/903643-20210907171604510-417519941.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/centos/image/903643-20210907171604510-417519941.png -------------------------------------------------------------------------------- /docs/guide/centos/image/copycode-1647865851017.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/centos/image/copycode-1647865851017.gif -------------------------------------------------------------------------------- /docs/guide/centos/image/copycode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/centos/image/copycode.gif -------------------------------------------------------------------------------- /docs/guide/common/image/image-20230804000140821.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/common/image/image-20230804000140821.png -------------------------------------------------------------------------------- /docs/guide/common/image/image-20230804000430265.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/common/image/image-20230804000430265.png -------------------------------------------------------------------------------- /docs/guide/common/image/image-20230804000609150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/common/image/image-20230804000609150.png -------------------------------------------------------------------------------- /docs/guide/common/image/image-20230804000946053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/common/image/image-20230804000946053.png -------------------------------------------------------------------------------- /docs/guide/common/使用阿里云企业邮箱搭建免费域名邮箱.md: -------------------------------------------------------------------------------- 1 | # 使用阿里云企业邮箱搭建免费域名邮箱 2 | 3 | > 使用阿里云企业邮箱搭建免费域名邮箱 4 | 5 | 6 | 7 | 使用域名邮箱有以下好处: 8 | 9 | 1. 专业形象:使用域名邮箱可以展示您的企业或个人品牌,让邮件收件人对您的信任感增加。与免费邮箱相比,域名邮箱更能显示您的专业性和正式性。 10 | 2. 定制化:您可以根据自己的需求选择合适的域名,并在此域名下创建多个邮箱账户,方便管理和组织邮件。 11 | 3. 安全性:域名邮箱通常具备更高的安全性,提供防垃圾邮件和病毒扫描功能,保护您的电子邮件免受恶意攻击。 12 | 4. 留存价值:域名邮箱随着您的域名的保有,可以长期使用,不会因为更换邮箱服务而失去联系人和历史邮件。 13 | 5. 个性化推广:您可以在域名邮箱中添加个性化的签名、公司LOGO等信息,以及设置自动回复功能,用于商务推广和客户沟通。 14 | 15 | 16 | 17 | 这篇文章将讲述怎么利用阿里云免费企业邮箱搭建属于自己的域名邮箱 18 | 19 | 20 | 21 | > 如果您已是阿里云会员,直接登录即可。如果您还不是阿里云会员,请先注册成为阿里云会员,注册成功后便可使用会员信息登录 22 | 23 | 24 | 25 | ## 必要条件 26 | 27 | 拥有一个域名 28 | 29 | 30 | 31 | 32 | 33 | ## 登录阿里云会员 34 | 35 | 进入【[企业邮箱免费版](https://ourl.co/alimail)】页面,输入【**邮箱域名**】>点击【**立即购买**】(如下图所示); 36 | 37 | - 账号容量空间:5G 38 | - 输入邮箱绑定域名(如:没有域名就新注册一个) 39 | - 免费版默认50账号 40 | - 选择购买时长,(直接选五年就行)点击立即购买即可(免费的) 41 | 42 | ![image-20230804000140821](image/image-20230804000140821.png) 43 | 44 | 45 | 46 | ## 进入云解析DNS 47 | 48 | 点击[域名](https://dns.console.aliyun.com/?spm=5176.12818093.ProductAndResource--ali--widget-product-recent.dre0.3be916d01Qu63i#/dns/domainList)对应的**解析设置** 49 | 50 | 然后依次点击**新手引导**,邮箱解析,选择**阿里邮箱**直接**确定** 51 | 52 | ![image-20230804000430265](image/image-20230804000430265.png) 53 | 54 | ## 进入企业邮箱 55 | 56 | [进入](https://alimail.console.aliyun.com/?spm=5176.12818093.ProductAndResource--ali--widget-product-recent.dre2.3be916d01Qu63i#eyJ2YWx1ZSI6InByb2R1Y3RMaXN0In0=)后点击表格中邮箱的右边的**管理**查看解析是否已经生效 57 | 58 | ![image-20230804000609150](image/image-20230804000609150.png) 59 | 60 | 1. 点击**重置密码**,进行管理员密码重置操作 61 | 2. 重置后,点击 **邮箱访问地址** 右侧**登录** 62 | 3. 账号为管理员账号,密码为刚重置的密码 63 | 64 | 65 | 66 | ## 邮箱用户配置 67 | 68 | 点击[组织与用户](https://qiye.aliyun.com/admin/#/account-email),**员工账号管理**,**新建账号** 69 | 70 | ![image-20230804000946053](image/image-20230804000946053.png) 71 | 72 | 然后进行密码设置等一系列操作,就完成了域名邮箱的配置 73 | 74 | 75 | 76 | 以后我就可以使用zzy@webarcx.com 进行邮件收发了 77 | 78 | 79 | 80 | ## 常见问题 81 | 82 | ### 发送给QQ邮箱,Gmail邮箱显示垃圾邮件无法发送 83 | 84 | 可能是DNS尚未扩散的原因,建议等上半天一天再试 -------------------------------------------------------------------------------- /docs/guide/docker/Docker Buildx构建多平台镜像.md: -------------------------------------------------------------------------------- 1 | # Docker Buildx构建多平台镜像 2 | 3 | > 使用Docker Buildx构建多平台镜像 4 | 5 | 推荐使用 Ubuntu 系统 6 | 7 | Centos系统可能有问题 8 | 9 | ## 安装qemu-user-static 10 | 11 | > qemu-user-static 用来模拟多平台环境,它依赖于binfmt-support,所以这两者都要安装。 12 | 13 | ```shell 14 | sudo apt install -y qemu-user-static binfmt-support 15 | ``` 16 | 17 | ### 通知Docker使用qemu 18 | 19 | ```shell 20 | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 21 | ``` 22 | 23 | ### 创建Buildx构建容器 24 | 25 | ```shell 26 | #创建构建容器 27 | docker buildx create --name mybuilder 28 | #buildx使用构建容器 29 | docker buildx use mybuilder 30 | #初始化构建容器 31 | docker buildx inspect --bootstrap 32 | ``` 33 | 34 | ## 构建指定架构镜像 35 | 36 | 构建并导出到本地Docker images中 37 | 38 | ```shell 39 | docker buildx build -t 镜像仓库地址/镜像名:TAG --platform linux/arm64 . --load 40 | ``` 41 | 42 | ## 常见问题 43 | 44 | 建议把docker的内存( memory )和交换区提高,否则镜像过大可能构建失败 45 | 46 | -------------------------------------------------------------------------------- /docs/guide/docker/docker下载和发布镜像及常用命令.md: -------------------------------------------------------------------------------- 1 | # docker下载和发布镜像及常用命令 2 | 3 | > docker下载和发布镜像及常用命令 4 | 5 | Docker 支持以下的 64 位 CentOS 版本: 6 | 7 | - CentOS 7 8 | - CentOS 8 9 | - 更高版本... 10 | 11 | ## 使用官方安装脚本自动安装 12 | 13 | 安装命令如下: 14 | 15 | ```bash 16 | curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 17 | ``` 18 | 19 | 也可以使用国内 daocloud 一键安装命令: 20 | 21 | ```bash 22 | curl -sSL https://get.daocloud.io/docker | sh 23 | ``` 24 | 25 | 检测是否安装成功: 26 | 27 | docker version 28 | 29 | ## 启动docker 30 | 31 | ```bash 32 | systemctl start docker 33 | ``` 34 | 35 | ## springboot项目打包 36 | 37 | ### 打成jar包 38 | 39 | ### 制作Dockerfile 40 | 41 | ```bash 42 | # 使用 AdoptOpenJDK 作为基础镜像 43 | # https://hub.docker.com/r/adoptopenjdk/openjdk8 44 | # https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds 45 | FROM java:8 46 | # 将 jar 放入容器内 47 | COPY workflow-admin.jar /workflow-admin.jar 48 | # 启动服务 49 | CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/workflow-admin.jar"] 50 | ``` 51 | 52 | ## 查看镜像 53 | 54 | ```bash 55 | docker images 56 | ``` 57 | 58 | 59 | 60 | ## 制作镜像 61 | 62 | 将jar包和dockerfile传送到服务器同一文件夹内 63 | 64 | 输入: 65 | 66 | workflow-admin是镜像名 67 | 68 | ```bash 69 | docker build -t workflow-admin . 70 | ``` 71 | 72 | 制作完成后通过**docker images**命令查看我们制作的镜像 73 | 74 | ## 删除镜像 75 | 76 | ```bash 77 | docker rmi -f workflow-admin:latest 78 | ``` 79 | 80 | workflow-admin镜像名 81 | 82 | latest 镜像TAG 83 | 84 | > 注意镜像依赖,如果有镜像2根据镜像1生成的,则需要先删除镜像2 85 | 86 | ## 运行镜像 87 | 88 | ```bash 89 | docker run -d -p 8080:8085 springbootdemo4docker 90 | -d参数是让容器后台运行 91 | -p 是做端口映射,此时将服务器中的8080端口映射到容器中的8085(项目中端口配置的是8085)端口 92 | springbootdemo4docker 镜像名 93 | ``` 94 | ## 删除缓存 95 | 96 | ```bash 97 | docker system prune --volumes 98 | ``` 99 | 100 | ## 将镜像导出到本地 101 | 102 | ```shell 103 | docker save -o 要保存的文件名 要保存的镜像 104 | ``` 105 | 106 | 栗子 107 | 108 | ```shell 109 | docker save -o d://docker/images/fastdfs.tar zl/fastdfs 110 | ``` 111 | 112 | ## 将本地镜像压缩包导入 113 | 114 | ```shell 115 | docker load --input 文件 116 | ``` 117 | 118 | ## 查看容器 119 | 120 | ```shell 121 | docker ps 122 | ``` 123 | 124 | ## 关闭容器 125 | 126 | ```shell 127 | docker stop id 128 | ``` 129 | 130 | ## 关闭未运行的容器 131 | 132 | ```shell 133 | docker rm $(docker ps -a -q) 134 | ``` 135 | 136 | ## 进入容器 137 | 138 | ```shell 139 | docker exec -it id /bin/bash 140 | ``` 141 | 142 | ## 查看容器列表 143 | 144 | ```shell 145 | docker ps -n5 146 | ``` 147 | 148 | ## 删除容器 149 | 150 | ```shell 151 | docker rm id 152 | ``` 153 | 154 | 155 | 156 | -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-0f6ede7f0b920b5d0d5571c937a04838_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-0f6ede7f0b920b5d0d5571c937a04838_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-672b29e2d53d2ab044269b026c6bc473_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-672b29e2d53d2ab044269b026c6bc473_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-907214eadd65987e84a0751c08143f91_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-907214eadd65987e84a0751c08143f91_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-b4479c6cf341429bb3e3b0cc5472816d_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-b4479c6cf341429bb3e3b0cc5472816d_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-c20cb49c88034e73e09059668b8cecfb_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-c20cb49c88034e73e09059668b8cecfb_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-dac570abcf7e1776cc266a60c4b19e5e_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-dac570abcf7e1776cc266a60c4b19e5e_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-f16577a98471b4c4b5b1af1036882caa_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-f16577a98471b4c4b5b1af1036882caa_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/docker/image/v2-f698870a2becd150a5376942be7368de_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/docker/image/v2-f698870a2becd150a5376942be7368de_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/github/image/1666334360623.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/1666334360623.png -------------------------------------------------------------------------------- /docs/guide/github/image/1666334433576.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/1666334433576.png -------------------------------------------------------------------------------- /docs/guide/github/image/1666334657447.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/1666334657447.png -------------------------------------------------------------------------------- /docs/guide/github/image/1666334671306.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/1666334671306.png -------------------------------------------------------------------------------- /docs/guide/github/image/1666334761379.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/1666334761379.png -------------------------------------------------------------------------------- /docs/guide/github/image/Sourcetree-icon-blue.svg: -------------------------------------------------------------------------------- 1 | Sourcetree-icon-blue -------------------------------------------------------------------------------- /docs/guide/github/image/Visual_Studio_2017_Logo.svg: -------------------------------------------------------------------------------- 1 | 2 | icon-BrandVisualStudioIDE 3 | Created using Figma 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/guide/github/image/Visual_Studio_Code_1.18_icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | image/svg+xml 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/guide/github/image/clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/clone.png -------------------------------------------------------------------------------- /docs/guide/github/image/compare-and-pull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/compare-and-pull.png -------------------------------------------------------------------------------- /docs/guide/github/image/copy-to-clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/copy-to-clipboard.png -------------------------------------------------------------------------------- /docs/guide/github/image/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/fork.png -------------------------------------------------------------------------------- /docs/guide/github/image/git-status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/git-status.png -------------------------------------------------------------------------------- /docs/guide/github/image/gk-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/gk-icon.png -------------------------------------------------------------------------------- /docs/guide/github/image/join-slack-team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/join-slack-team.png -------------------------------------------------------------------------------- /docs/guide/github/image/open-source.svg: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Open Source 19 | Open Source 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/guide/github/image/submit-pull-request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/submit-pull-request.png -------------------------------------------------------------------------------- /docs/guide/github/image/v2-b30d45fc5b841a9159cf53eb2a99bcd6_b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/v2-b30d45fc5b841a9159cf53eb2a99bcd6_b.jpg -------------------------------------------------------------------------------- /docs/guide/github/image/v2-b30d45fc5b841a9159cf53eb2a99bcd6_b.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/github/image/v2-b30d45fc5b841a9159cf53eb2a99bcd6_b.webp -------------------------------------------------------------------------------- /docs/guide/github/为你的GitHub个人资料构建出色的自述文件.md: -------------------------------------------------------------------------------- 1 | # 为你的GitHub个人资料构建出色的自述文件 2 | 3 | > 为GitHub个人资料构建出色的自述文件 4 | > 5 | > 6 | 7 | **通过其隐藏的新功能-GitHub Profile READMEs,在GitHub上展示你的项目和技能!** 8 | 9 | 如果你时常访问别人的GitHub简介,你可能会注意到,最近有些人在他们的简介里有一些花哨的图片、描述和统计。这些是新的GitHub Profile README s。它们是一种隐藏的新功能,在这篇文章中,我将向你展示如何创建一个,以及如何使用一些很酷的技巧和工具使它脱颖而出。 10 | 11 | ![1666334360623](image/1666334360623.png) 12 | 13 | ## 如何创建自己的 14 | 15 | 创建GitHub Profile `README` 非常简单,但你可能自己都找不到。要创建它,请访问[https://github.com/new](https://link.zhihu.com/?target=https%3A//github.com/new),与创建普通仓库时相同。用你的用户名命名仓库——在我的情况下为 `zzy-file/zzy-file`。只要你输入它,你就会收到信息,告诉你这个秘密/特殊仓库。 16 | 17 | ![1666334433576](image/1666334433576.png)一定要有出现下方的文字才有效哦 18 | 19 | 勾选 Add a README file 20 | 21 | 22 | 23 | ## 让它脱颖而出 24 | 25 | 我们有一个带有 `README` 的版本库,但是内容呢?你可以只扔进一些关于你自己的信息,你的电子邮件联系人,然后就结束了,但我们可以做得更好。 26 | 27 | 更多`README`模板请[点击](https://github.com/abhisheknaiidu/awesome-github-profile-readme) 28 | 29 | 30 | 31 | ## GIFs 和 Emojis 32 | 33 | 另一个让你的README更有趣和好玩的方法是添加各种GIF或表情。我个人喜欢在每个标题的开头添加表情符号,例如: 34 | 35 | ![1666334657447](image/1666334657447.png) 36 | 37 | 我发现获取相关表情的最简单的方法是在[https://emojipedia.org/emoji/](https://link.zhihu.com/?target=https%3A//emojipedia.org/emoji/) 上搜索表情符号名称,然后在[https://www.fileformat.info/index.htm](https://link.zhihu.com/?target=https%3A//www.fileformat.info/index.htm) 上查找它的HTML实体。这些HTML实体可以包含在markdown中,你的浏览器应该可以很好地渲染它们。 38 | 39 | 如果表情符号对你来说还不够,你还想在 `README` 中加入一些动作,那么你也可以加入GIF。当添加GIF时,你将需要实际的.gif文件,可以在你的资源库中托管,比如头图,也可以在外部网站上托管,比如[https://imgur.com/](https://link.zhihu.com/?target=https%3A//imgur.com/)。无论托管在何处,都将使用以下方法将其包括在内: 40 | 41 | ```html 42 | 43 | ``` 44 | 45 | 在GitHub标记中,有一些HTML标签可以使用,`` 就是其中之一。这使得在我的 `README` 中轻松添加像这样的图像和GIF: 46 | 47 | ```html 48 | # Hello, folks! 49 | 50 | ``` 51 | 52 | ![动图](image/v2-b30d45fc5b841a9159cf53eb2a99bcd6_b.webp) 53 | 54 | 55 | 56 | ## 展示你的仓库 57 | 58 | 每个人的GitHub个人资料实际上只是一个展示你的仓库并突出显示你的活动/贡献的地方。使用GitHub个人资料 `README`,你可以使用*[github-readme-stats](https://link.zhihu.com/?target=https%3A//github.com/anuraghazra/github-readme-stats)*更好地突出这些内容。GitHub Readme Stats是一个工具,可用于为你的贡献和仓库生成GitHub Stats,并将它们附加到 `README` 中。如果决定使用所有可用的统计卡,则可能会出现如下所示的内容: 59 | 60 | ![1666334671306](image/1666334671306.png) 61 | 62 | 63 | 64 | ## 突出你的技能 65 | 66 | 另一个经常出现在人们档案中的东西是他们的技能和他们喜欢使用的技术列表。 67 | 68 | 使用*[github-readme-stats](https://link.zhihu.com/?target=https%3A//github.com/anuraghazra/github-readme-stats)* 69 | 70 | ```markdown 71 | [![Top Langs](https://github-readme-stats.vercel.app/api/top-langs/?username=anuraghazra&layout=compact)](https://github.com/anuraghazra/github-readme-stats) 72 | ``` 73 | 74 | ![1666334761379](image/1666334761379.png) 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /docs/guide/image/-13142090238-07c160.svg: -------------------------------------------------------------------------------- 1 | 1314209023813142090238 -------------------------------------------------------------------------------- /docs/guide/image/-15625057119-07c160.svg: -------------------------------------------------------------------------------- 1 | 1562505711915625057119 -------------------------------------------------------------------------------- /docs/guide/image/-736929286@qq.svg: -------------------------------------------------------------------------------- 1 | 736929286@qq.com736929286@qq.com -------------------------------------------------------------------------------- /docs/guide/image/-790002517@qq.svg: -------------------------------------------------------------------------------- 1 | 790002517@qq.com790002517@qq.com -------------------------------------------------------------------------------- /docs/guide/image/-zzylife-07c160.svg: -------------------------------------------------------------------------------- 1 | zzylifezzylife -------------------------------------------------------------------------------- /docs/guide/image/-时不待我-07c160.svg: -------------------------------------------------------------------------------- 1 | 时不待我时不待我 -------------------------------------------------------------------------------- /docs/guide/image/12830151-ea53cf686936f666.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/12830151-ea53cf686936f666.png -------------------------------------------------------------------------------- /docs/guide/image/7f17530e0db64335b8cad83d7210d9b1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/7f17530e0db64335b8cad83d7210d9b1.png -------------------------------------------------------------------------------- /docs/guide/image/clip_image002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/clip_image002.jpg -------------------------------------------------------------------------------- /docs/guide/image/clip_image004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/clip_image004.jpg -------------------------------------------------------------------------------- /docs/guide/image/code.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/code.gif -------------------------------------------------------------------------------- /docs/guide/image/docker.svg: -------------------------------------------------------------------------------- 1 | Docker -------------------------------------------------------------------------------- /docs/guide/image/git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/git.png -------------------------------------------------------------------------------- /docs/guide/image/image-20220211171338237.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/image-20220211171338237.png -------------------------------------------------------------------------------- /docs/guide/image/javascript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/javascript.png -------------------------------------------------------------------------------- /docs/guide/image/mysql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/mysql.png -------------------------------------------------------------------------------- /docs/guide/image/nginx.svg: -------------------------------------------------------------------------------- 1 | NGINX -------------------------------------------------------------------------------- /docs/guide/image/python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/python.png -------------------------------------------------------------------------------- /docs/guide/image/spring.svg: -------------------------------------------------------------------------------- 1 | Spring -------------------------------------------------------------------------------- /docs/guide/image/visiky.svg: -------------------------------------------------------------------------------- 1 | Follow: 906 -------------------------------------------------------------------------------- /docs/guide/image/vue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/image/vue.png -------------------------------------------------------------------------------- /docs/guide/nginx/image/p33690.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/nginx/image/p33690.png -------------------------------------------------------------------------------- /docs/guide/npm/image/3354595-101cfa708e3273af.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/npm/image/3354595-101cfa708e3273af.png -------------------------------------------------------------------------------- /docs/guide/npm/image/3354595-fadb5e1b41f755a2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/npm/image/3354595-fadb5e1b41f755a2.png -------------------------------------------------------------------------------- /docs/guide/npm/image/image-20211210153336128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/npm/image/image-20211210153336128.png -------------------------------------------------------------------------------- /docs/guide/npm/通俗易懂地教你发布自己的npm.md: -------------------------------------------------------------------------------- 1 | # 通俗易懂地教你发布自己的npm 2 | 3 | > 通俗易懂地教你发布自己的npm 4 | 5 | 作为一个全栈JavaScript开发者,如果你还不知道npm是什么东西,那么我只能说你真的**OUT**了。 6 | 让我们来一起学习npm吧![什么是npm?](https://link.jianshu.com/?t=https://www.npmjs.com/) 7 | 8 | ## 准备工作 9 | 10 | - 首先去[npm官网](https://link.jianshu.com/?t=https://www.npmjs.com/signup)注册一个自己的账号, 11 | - 同时你也需要一个[GitHub](https://link.jianshu.com/?t=https://github.com/)账号,用来托管你的模块代码 12 | - [安装nodejs](https://link.jianshu.com/?t=https://nodejs.org/en/) 13 | 14 | ## 制作自己的npm模块 15 | 16 | 执行命令:`npm init`并填写相关的信息 17 | 18 | - `name` 模块的名字,默认是你当前文件夹的名字 19 | - `version` 版本号,默认是1.0.0 20 | - `description` 描述 21 | - `entry point` 入口文件,默认是`index.js` 22 | - `test command` 测试命令 23 | - `git repository` git仓库,填写项目的github仓库地址 24 | - `keywords` 关键字 25 | - `author` 作者 26 | - `license` 许可证书,默认`ISC` 27 | 28 | ![img](image/3354595-101cfa708e3273af.png) 29 | 30 | 如果你什么也不想填写,一直敲回车就好,填写完信息后当前文件夹会生成`package.json`文件。当然,如果你信息填写错误或者想添加一些东西,直接修改`package.json`文件就好 31 | 32 | ## 发布到npm仓库 33 | 34 | 首先,执行命令:`npm adduser`,输入你的npm账号、密码、邮箱 35 | 36 | ![img](image/3354595-fadb5e1b41f755a2.png) 37 | 38 | > 注意!如出现登录401错误,是因为当前属于淘宝镜像,需要切换到npm源镜像 39 | 40 | ```text 41 | npm config set registry https://registry.npmjs.org/ 42 | ``` 43 | 44 | 发布完成后,可自行切回淘宝镜像 45 | 46 | ```text 47 | npm config set registry https://registry.npm.taobao.org/ 48 | ``` 49 | 50 | 然后执行`npm publish`,你的模块就发布到npm仓库了,版本号默认是`package.json`中的`version`。 51 | 52 | 命令执行成功后就可以在npm上看到你的模块了 53 | 54 | > 注意!如果你发布了一个版本,下一次执行`npm publish`的时候版本号一定要高于之前的版本号 55 | 56 | ## 安装 57 | 58 | > npm i 项目名 59 | 60 | ## npm示例项目 61 | 62 | ![image-20211210153336128](image/image-20211210153336128.png) 63 | 64 | - .git可选,属于git仓库信息 65 | 66 | - example可选,我放了一个调用示例 67 | 68 | - index.js 入口文件 69 | 70 | ```javascript 71 | import oFormParser from './oFormParser' 72 | 73 | export default oFormParser 74 | ``` 75 | 76 | 77 | 78 | - oFormParser.vue 可用文件 存放项目可用组件 79 | 80 | ```javascript 81 | 100 | 101 | 123 | 124 | 133 | 134 | ``` 135 | 136 | 137 | 138 | - package.json npm版本信息 139 | 140 | - README.md 仓库文档信息 141 | 142 | -------------------------------------------------------------------------------- /docs/guide/pi4B/image/20191121143608821.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/pi4B/image/20191121143608821.png -------------------------------------------------------------------------------- /docs/guide/pi4B/image/20191121143732184.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/pi4B/image/20191121143732184.png -------------------------------------------------------------------------------- /docs/guide/pi4B/image/image-20211128215056808.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/pi4B/image/image-20211128215056808.png -------------------------------------------------------------------------------- /docs/guide/pi4B/image/image-20211128215522949.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/pi4B/image/image-20211128215522949.png -------------------------------------------------------------------------------- /docs/guide/pi4B/image/image-20211128215618490.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/pi4B/image/image-20211128215618490.png -------------------------------------------------------------------------------- /docs/guide/pi4B/image/image-20211128215726155.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/pi4B/image/image-20211128215726155.png -------------------------------------------------------------------------------- /docs/guide/pi4B/image/v2-f6793d48561bd448d0d456b47f2fb76c_1440w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/pi4B/image/v2-f6793d48561bd448d0d456b47f2fb76c_1440w.png -------------------------------------------------------------------------------- /docs/guide/pi4B/使用docker启动mongodb.md: -------------------------------------------------------------------------------- 1 | # 使用docker启动mongodb 2 | 3 | > 使用docker启动mongodb 4 | 5 | ## 拉取 MongoDB 镜像并创建容器 6 | 7 | 由于树莓派是 ARM 架构,使用 latest 标签镜像可能无法使用,所以我们需要使用带有 ARM 标签的镜像,如: 8 | 9 | ```bash 10 | docker pull mongo:4.2.16-rc0-bionic 11 | ``` 12 | 13 | 然后我们使用以下命令创建 MongoDB 容器 14 | 15 | ```bash 16 | docker run --name some-mongo -p 27017:27017 -d mongo:4.2.16-rc0-bionic 17 | ``` 18 | 19 | 然后我们尝试访问 MongoDB 20 | 21 | ``` 22 | IP:27017 23 | ``` 24 | 25 | 访问成功 26 | 27 | ![img](image/v2-f6793d48561bd448d0d456b47f2fb76c_1440w.png) 28 | 29 | ## 创建用户 30 | 31 | 在终端输入以下命令,进入 MongoDB 32 | 33 | ```bash 34 | docker exec -it some-mongo mongo admin 35 | ``` 36 | 37 | 创建一个名为 admin,密码为 123456 的用户 38 | 39 | ```bash 40 | db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]}); 41 | ``` 42 | 43 | > 树莓派版本的mongodb只能使用docker volume create方式挂载数据卷 44 | 45 | -------------------------------------------------------------------------------- /docs/guide/pi4B/使用docker启动nacos.md: -------------------------------------------------------------------------------- 1 | # 使用docker启动nacos 2 | 3 | > 使用docker启动nacos 4 | 5 | 6 | 7 | ## 使用docker下载nacos 8 | 9 | ``` 10 | docker pull nacos/nacos-server:v2.1.0-slim 11 | ``` 12 | 13 | ## 新建application.properties 14 | 15 | ```properties 16 | spring.datasource.platform=mysql 17 | db.num=1 18 | db.url.0=jdbc:mysql://172.17.0.1:3306/nacos库?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false 19 | db.user="账号" 20 | db.password="密码" 21 | 22 | nacos.naming.empty-service.auto-clean=true 23 | nacos.naming.empty-service.clean.initial-delay-ms=50000 24 | nacos.naming.empty-service.clean.period-time-ms=30000 25 | 26 | management.endpoints.web.exposure.include=* 27 | 28 | management.metrics.export.elastic.enabled=false 29 | management.metrics.export.influx.enabled=false 30 | 31 | server.tomcat.accesslog.enabled=true 32 | server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i 33 | 34 | server.tomcat.basedir= 35 | 36 | nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** 37 | 38 | nacos.core.auth.system.type=nacos 39 | nacos.core.auth.enabled=false 40 | nacos.core.auth.default.token.expire.seconds=18000 41 | nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789 42 | nacos.core.auth.caching.enabled=true 43 | nacos.core.auth.enable.userAgentAuthWhite=false 44 | nacos.core.auth.server.identity.key=serverIdentity 45 | nacos.core.auth.server.identity.value=security 46 | 47 | nacos.istio.mcp.server.enabled=false 48 | 49 | 50 | ``` 51 | 52 | > 注意docker容器内网络状态 127.0.0.1可能指的是容器内的网段 53 | 54 | ## 新建logs文件夹 55 | 56 | ## 运行启动命令 57 | 58 | ``` 59 | docker run \ 60 | --name nacos -d \ 61 | -p 8848:8848 \ 62 | -p 9848:9848 \ 63 | -p 9849:9849 \ 64 | --privileged=true \ 65 | --restart=always \ 66 | -e JVM_XMS=256m \ 67 | -e JVM_XMX=256m \ 68 | -e MODE=standalone \ 69 | -e PREFER_HOST_MODE=hostname \ 70 | -v /db/Nacos/logs:/home/nacos/logs \ 71 | -v /db/Nacos/pro/application.properties:/home/nacos/conf/application.properties \ 72 | nacos/nacos-server:v2.1.0-slim 73 | ``` 74 | 75 | -------------------------------------------------------------------------------- /docs/guide/pi4B/树莓派搭建SVN服务器.md: -------------------------------------------------------------------------------- 1 | # 树莓派搭建SVN服务器 2 | 3 | > 树莓派搭建SVN服务器 4 | 5 | 系统为Ubuntu18 6 | 7 | ## 下载创建目录 8 | 9 | - 进入终端,输入下面命令安装 svn 。需要管理员权限时请添加 sudo 在最前方,因为本人是管理员登陆的,所以下列命令并没有出现 sudo 10 | 11 | > apt install subversion 12 | 13 | - 创建 db 下的 svn 文件夹,用于保存 svn 相关的东西 14 | 15 | > mkdir /db/svn 16 | 17 | - 创建 svn 下的 repository 文件夹,用于存储版本库相关文件(repository 则是仓库名) 18 | 19 | > mkdir /db/svn/repository 20 | 21 | - 更改 repository 的权限为 777 ,所有用户可读可写可执行 22 | 23 | > chmod -R 777 /db/svn/repository 24 | 25 | - 在 repository 文件夹创建 svn 版本库(创建仓库) 26 | 27 | > svnadmin create /db/svn/repository 28 | 29 | ## 修改配置 30 | 31 | - 设置 svn 的访问权限,打开 /db/svn/repository/conf/svnserve.conf 文件 32 | 33 | > vim /db/svn/repository/conf/svnserve.conf 34 | 35 | - 将下面几行的注释 **#** 去掉(注意缩进,删除#后必须顶格写) 36 | 37 | ```text 38 | #anon-access = none (设置为 none 才可以用小乌龟看 svn 日志) 39 | #auth-access = write (权限用户可写) 40 | #password-db = password (密码文件为 password) 41 | #authz-db = authz (权限文件为 authz) 42 | ``` 43 | 44 | - 配置用户权限,打开 /db/svn/repository/conf/authz 文件 45 | 46 | > vim /db/svn/repository/conf/authz 47 | 48 | - 在 [groups] 下添加组的成员的信息 49 | 50 | ```text 51 | admin = user1,user2 (将 user1,user2 添加到 admin 组) 52 | [/] (针对版本库所有实例) 53 | @admin = rw (admin 组用户的权限为可读可写) 54 | ``` 55 | 56 | - 配置用户密码,打开 /db/svn/repository/conf/passwd 文件 57 | 58 | > vim /db/svn/repository/conf/passwd 59 | 60 | - 在 [users] 下配置用户密码 61 | 62 | ```text 63 | user1 = user1_passwd (用户名 = 密码) 64 | ``` 65 | 66 | ## 启动SVN 67 | 68 | - 启动 svn 服务器 69 | 70 | > svnserve -d -r /db/svn (-d:后台运行 ,-r:指定svn服务器根目录) 71 | 72 | - 检查 svn 是否启动成功 73 | 74 | > ps -aux|grep svnserve 75 | 76 | - 启动成功后在Windows 下使用小乌龟检出 77 | 78 | ## 注意项 79 | 80 | ### 客户端访问路径 81 | 82 | > svnserve -d -r /db/svn 83 | > 84 | > -d 表示svnserve 以”守护“进程模式进行 85 | > 86 | > -r 指定文件系统的根目录位置,这样客户端不用输入全路径,就可以访问版本库 87 | > 88 | > 如:svn://192.168.1.109/repository 89 | 90 | 91 | 92 | ### 建立新的仓库 93 | 94 | - 创建 svn 下的 repository 文件夹,用于存储版本库相关文件(repository 则是仓库名) 95 | 96 | > mkdir /db/svn/repository 97 | 98 | - 在 repository 文件夹创建 svn 版本库(创建仓库) 99 | 100 | > svnadmin create /db/svn/repository 101 | 102 | - 重新编辑配置文件 103 | 104 | > 可将其他仓库的conf文件夹直接覆盖 105 | 106 | 107 | 108 | ### 注意防火墙端口 109 | 110 | > 请放行3690 111 | 112 | 113 | 114 | ### 全局忽略node_modules等文件夹提交 115 | 116 | 1. 在版本库目录上文件夹点右键 117 | 118 | 2. 在乌龟菜单中找到"属性"点开 119 | 120 | 3. 在弹出窗中点"新增"(或者是新建) 121 | 122 | 4. 选择其他 123 | 124 | 5. 在弹出窗中的"属性"下拉选中中选中"svn:ignore" 125 | 126 | > svn:ignore:只对当前目录有效; 127 | 128 | > global-ignores:是全局有效,就是所有目前都有效 129 | 130 | 6. 然后取值中填上node_modules 131 | 132 | 7. 确认后刷新目录 133 | 134 | 8. 再按照正常步骤使用,发现node_modules文件夹已经默认被忽略掉 135 | 136 | ### 物理机重启后需重启svn服务 137 | 138 | > svnserve -d -r /db/svn 139 | 140 | ### 服务器拉取代码 141 | 142 | 命令行输入 143 | 144 | ```bash 145 | svn co svn://ip/代码路径 /www/wwwroot/dist(拉取到哪的路径) 146 | ``` 147 | 148 | 输入当前服务器密码,输入SVN账号和密码,输入yes,点击回车 149 | 需要等待几分钟,具体等待时间根据拉取的文件多少和网速 150 | 151 | ![在这里插入图片描述](image/20191121143608821.png) 152 | 153 | ![在这里插入图片描述](image/20191121143732184.png) 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/1647936341742.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/1647936341742.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/1647936365378.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/1647936365378.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/1647936426257.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/1647936426257.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/1658803652654.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/1658803652654.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/1659941817834.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/1659941817834.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/1663256481823.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/1663256481823.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/352797-20180706101048813-1241756148.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/352797-20180706101048813-1241756148.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/3840312-5ef55482aacbc85e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/3840312-5ef55482aacbc85e.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/421cfc9ec76b7d3522368c1d912a7c64.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/421cfc9ec76b7d3522368c1d912a7c64.jpeg -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/7f17530e0db64335b8cad83d7210d9b1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/7f17530e0db64335b8cad83d7210d9b1.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/default-1660399248923.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/default-1660399248923.png -------------------------------------------------------------------------------- /docs/guide/plugInUnit/image/trumen-fast-1660399000420.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/plugInUnit/image/trumen-fast-1660399000420.gif -------------------------------------------------------------------------------- /docs/guide/plugInUnit/vue滚动动画插件.md: -------------------------------------------------------------------------------- 1 | # vue滚动动画插件 2 | 3 | > vue滚动动画插件 4 | 5 | 6 | 7 | 一个 Vue.js 指令,当元素滚动到视图中时对元素应用显示效果。 8 | 9 | CSS3 驱动的滚动触发动画需要[Animate.css](https://daneden.github.io/animate.css/)。 10 | 11 | ## 下载依赖 12 | 13 | ```bash 14 | npm install vue-animate-onscroll 15 | # or 16 | yarn add vue-animate-onscroll 17 | ``` 18 | 19 | 从 [animate.css](https://cdn.jsdelivr.net/npm/animate.css@3.5.2/animate.min.css)复制到public文件夹内 20 | 21 | ![1647936426257](image/1647936426257.png) 22 | 23 | 并在index.html引入 24 | 25 | ```html 26 | 27 | ``` 28 | 29 | 30 | 31 | ## 导入并注册指令。 32 | 33 | ```vue 34 | import Vue from 'vue' 35 | import VueAnimateOnScroll from 'vue-animate-onscroll' 36 | 37 | Vue.use(VueAnimateOnScroll) 38 | ``` 39 | 40 | ## 将动画类插入所需的元素。 41 | 42 | ```vue 43 |
滚动时动画一次
44 | ``` 45 | 46 | ## 指定向上滚动和向下滚动事件的动画。 47 | 48 | 通过传入一个对象作为值,也可以仅在特定的滚动方向上设置动画。在下面的示例中,动画只会在您第一次向下滚动元素时触发。 49 | 50 | ```vue 51 |
向下滚动时动画一次
52 | ``` 53 | 54 | 向上滚动: 55 | 56 | ```vue 57 |
向上滚动时动画一次
58 | ``` 59 | 60 | ## 如果你想重复滚动动画: 61 | 62 | ```vue 63 |
64 | 动画元素 65 |
66 | ``` 67 | 68 | ## 多个动画 69 | 70 | 或者为每个滚动方向使用两个不同的动画: 71 | 72 | ```vue 73 | < div v-animate-onscroll ="{down: 'animated flip', up: 'animated rotateOut' }" >永远滚动时动画我 74 | ``` 75 | 76 | 请注意,通过同时提供`up`和`down`方向,`repeat`修饰符隐式生效。 77 | 78 | ## 使用更多animate动画 79 | 80 | 从animate官网![1647936341742](image/1647936341742.png)复制名字 81 | 82 | 然后使用 83 | 84 | ![1647936365378](image/1647936365378.png) 85 | 86 | -------------------------------------------------------------------------------- /docs/guide/plugInUnit/剪贴板复制插件.md: -------------------------------------------------------------------------------- 1 | # 剪贴板复制插件 2 | 3 | > vue剪贴板复制插件 4 | 5 | 在网络上简单复制,具有最大的浏览器兼容性。 6 | 7 | ## 安装 8 | 9 | ```text 10 | npm install clipboard-polyfill 11 | ``` 12 | 13 | ## 使用 14 | 15 | ```javascript 16 | 17 | import * as clipboard from "clipboard-polyfill/text"; 18 | 19 | function handler() { 20 | clipboard.writeText("我是复制的内容").then( 21 | () => { console.log("success!"); }, 22 | () => { console.log("error!"); } 23 | ); 24 | } 25 | 26 | window.addEventListener("DOMContentLoaded", function () { 27 | const button = document.body.appendChild(document.createElement("button")); 28 | button.textContent = "Copy"; 29 | button.addEventListener("click", handler); 30 | }); 31 | ``` 32 | 33 | ## 浏览器支持 34 | 35 | - ☑️:浏览器具有本机异步剪贴板支持。 36 | - ✅:`clipboard-polyfill`增加支持。 37 | - ❌: 不支持。 38 | - **粗体浏览器名称**表示现代浏览器稳定版本的最新功能更改。 39 | 40 | 由最早的浏览器版本编写支持: 41 | 42 | | Browser | `writeText()` | `write()` (HTML) | `write()` (other formats) | 43 | | ------------------------------------------- | ------------- | ---------------- | --------------------------------- | 44 | | **Safari 13.1** | ☑️ | ☑️ | ☑️ (`image/uri-list`, `image/png`) | 45 | | **Chrome 86**ᵃ / **Edge 86** | ☑️ | ☑️ | ☑️ (`image/png`) | 46 | | Chrome 76ᵃ / Edge 79 | ☑️ | ✅ | ☑️ (`image/png`) | 47 | | Chrome 66ᵃ / **Firefox 63** | ☑️ | ✅ | ❌ | 48 | | Safari 10 / Chrome 42ᵃ / Edgeᵈ / Firefox 41 | ✅ | ✅ | ❌ | 49 | | IE 9 | ✅ | ❌ | ❌ | 50 | 51 | 阅读支持: 52 | 53 | | 浏览器 | `readText()` | `read()` (HTML) | `read()` (其他格式) | 54 | | ------------------------------------------------------------ | ------------ | --------------- | --------------------------------- | 55 | | **Safari 13.1** | ☑️ | ☑️ | ☑️( `image/uri-list`, `image/png`) | 56 | | **Chrome [76](https://web.dev/image-support-for-async-clipboard/)** ᵃ / **Edge 79** | ☑️ | ❌ | ☑️( `image/png`) | 57 | | Chrome [66](https://developers.google.com/web/updates/2018/03/clipboardapi)ᵃ | ☑️ | ❌ | ❌ | 58 | | IE 9 | ✅➜ | ❌ | ❌ | 59 | | **火狐** | ❌ | ❌ | ❌ | 60 | 61 | -------------------------------------------------------------------------------- /docs/guide/plugInUnit/图片懒加载插件.md: -------------------------------------------------------------------------------- 1 | # 图片懒加载插件 2 | 3 | > vue图片懒加载插件 4 | 5 | ## 为什么使用懒加载 6 | 7 | 可以想象一个网页打开有成百上千的图片需要加载,页面会变得非常的卡顿,此时如果只是可视区域的图片加载,其他的图片可以暂时有一个占位loading图,等滚动它们到可视区域时再去请求真实图片并且替换就好了。 8 | 9 | vue-lazyload插件就是解决此类问题的。 10 | 11 | ### 安装 12 | 13 | ```text 14 | npm install vue-lazyload 15 | ``` 16 | 17 | 引用 18 | 19 | main.js 20 | 21 | ```javascript 22 | import vueLazy from 'vue-lazyload' 23 | Vue.use(vueLazy, { 24 | preLoad: 1.3,//预加载的宽高 25 | error: '../assets/error.png', //img加载失败时现实的图片的路径 26 | loading: require('../static/imgs/ad3.png'),//img的加载中的显示的图片的路径 27 | //解释一下为什么是require('.....url'):因为vue自带webpack打包工具,如果是图片路径就会把他当成模块 解析,所以直接引入就好了。 28 | //记得把里面的路径换成自己的哦 29 | attempt: 1,//尝试加载的次数 30 | listenEvents:['mousewheel'], //你想让vue监听的事件 31 | }) 32 | 33 | ``` 34 | 35 | ### 使用示例 36 | 37 | 只是将v-bind:src 修改为 v-lazy 绑定图片路径 38 | 39 | ```vue 40 | 41 | ``` 42 | 43 | index.vue 44 | 45 | ```vue 46 | 52 | 53 | 68 | 69 | 71 | ``` 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /docs/guide/plugInUnit/谷歌免费开源图片压缩插件.md: -------------------------------------------------------------------------------- 1 | # 谷歌免费开源图片压缩插件 2 | 3 | > 谷歌免费开源图片压缩插件 4 | 5 | ## 关于 Squoosh 6 | 7 | > 该插件作者并未使用过,请自行排除错误 8 | 9 | [github仓库](https://github.com/GoogleChromeLabs/squoosh) 10 | 11 | Squoosh 是谷歌出品的一款在线[图像](https://www.thosefree.com/tag/photo-tool)压缩工具,使用简单,有极高的压缩比,能够帮助我们把图片大小进行压缩,不管是设计 UI 切图、自媒体文章配图还是 PPT 配图这样的使用场景,都要用到压缩图片。 12 | 13 | ## Squoosh 的功能特性 14 | 15 | - 压缩率很高,在保存图片清晰度的同时大幅降低文件大小 16 | - 使用简单,打开浏览器就,拖入或选择图片就能使用 17 | - 支持生成 JPG / [PNG](https://www.thosefree.com/tag/png) / WEBP 等多种常用图片格式 18 | - 支持高级的压缩功能,比如旋转、裁剪、调色、平滑等 19 | - 支持开发者集成在自己的项目中,通过简单的 [api](https://www.thosefree.com/tag/api) 来实现图片压缩 20 | - 利用浏览器自身的算力来完成压缩,不会上传图片,速度快,也很安全 21 | 22 | ## 开发集成图片压缩功能 23 | 24 | 谷歌开发并且开源这款工具的初衷,是希望更多开发者使用它来降低图片的大小的同时还保证了图片质量,使用户获得更快的上网体验。 25 | 26 | 目前 Squoosh 提供 CLI 命令行和 api 的开发方式,使用 api 开发者可以很方便地集成到自己的项目中。下面是 api 方式开发集成的方法: 27 | 28 | ### 安装 Squoosh 29 | 30 | ```shell 31 | npm install @squoosh/lib 32 | ``` 33 | 34 | ### 在开发项目中引入和初始化 35 | 36 | 这将创建一个具有底层处理管道的图像池,您可以使用该处理管道接收和编码图像。ImagePool构造函数接受一个参数,该参数定义在任何给定时间允许运行的并行操作数。 37 | ⚠️ 重要的确保在执行并行图像处理时仅创建1个ImagePool。如果创建多个池,ImagePool可能会耗尽内存并崩溃。通过重用单个ImagePool,您可以确保备份工作队列和处理管道在处理下一个图像之前释放内存。 38 | 39 | ```javascript 40 | import { ImagePool } from '@squoosh/lib'; 41 | import { cpus } from 'os'; 42 | const imagePool = new ImagePool(cpus().length); 43 | ``` 44 | 45 | ### 压缩图片 46 | 47 | ```javascript 48 | import fs from 'fs/promises'; 49 | const file = await fs.readFile('./path/to/image.png'); 50 | const image = imagePool.ingestImage(file); 51 | 52 | const preprocessOptions = { 53 | // 压缩参数:比如缩放图片 54 | resize: { 55 | width: 100, 56 | height: 50, 57 | } 58 | }; 59 | await image.preprocess(preprocessOptions); 60 | const encodeOptions = { 61 | mozjpeg: {}, // 默认压缩输出为jpeg格式 62 | jxl: { 63 | quality: 90, // 设置压缩质量 64 | }, 65 | }; 66 | const result = await image.encode(encodeOptions); 67 | ``` 68 | 69 | -------------------------------------------------------------------------------- /docs/guide/plugInUnit/软著源代码材料生成器.md: -------------------------------------------------------------------------------- 1 | # 软著源代码生成工具 2 | 3 | 软著源代码生成工具,软著程序鉴别文档生成,软著鉴别材料生成,软著源代码辅助生成 4 | 5 | 超级实用永久免费的软著源代码材料格式文档生成辅助工具(完全私密,没有代码泄露风险) 6 | 7 | 现实生活中,申请软著需要源代码申请材料,源代码申请材料有格式 等要求,并且源代码分布在一个项目文件夹中各个文件,复制到一个 word 文档中需要一定时间。 8 | 9 | 10 | 11 | 超级实用永久免费的软著源代码材料格式文档生成辅助工具(完全私密,没有代码泄露风险)——软著源代码生成工具,软著程序鉴别文档生成,软著鉴别材料生成,软著源代码辅助生成 12 | 13 | 14 | 15 | 没有代码的可以试试这个:[超级实用的软著材料一键生成——软件著作权模板材料一站式生成方案_软著一键生成-CSDN博客](https://blog.csdn.net/zzy1998___/article/details/136434859) 16 | 17 | 18 | 19 | 申请软件著作权登记的时候会被要求提交60页的源代码。没有经验的开发者朋友第一次申请的时候难免会遇到因代码文档格式不正确、代码里含有其他版权信息等原因被要求补正的问题,从而导致拿证时间延误。为了帮助开发者朋友一次性顺利通过软件著作权登记的审查。 20 | 21 | 为方便申报软件著作权对前后60页代码的整理,只需要选择源代码文件夹目录即可生成前后30页代码文件,全量备查代码文件,页眉 页码 格式都弄好了,支持C++、java、C#、python、JavaScript、vue等任何格式。 22 | 23 | 下面为大家分享下自己制作的一个申请软著源代码申请材料的**自动化生成软件**, 能让用户使用软件一件生成所需申请软著的源代码材料。 24 | 25 | **官网和下载地址** : 26 | 27 | [软件著作权源代码生成工具](https://www.webarcx.com/software) 28 | 29 | ## 第一步 30 | 31 | 填入软件名称,版本号,选择所需生成项目的路径,填写所需申请的文件后缀,根据需要填入密钥,填写源代码量 32 | 33 | ![img](image/7f17530e0db64335b8cad83d7210d9b1.png) 34 | 35 | ## 第二步 36 | 37 | 点击生成即可在桌面看到word文档 38 | 39 | ![img](image/421cfc9ec76b7d3522368c1d912a7c64.jpeg) 40 | 41 | -------------------------------------------------------------------------------- /docs/guide/python/image/1661250001952.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/1661250001952.png -------------------------------------------------------------------------------- /docs/guide/python/image/36f0e3f0-13cb-11e7-8258-4d0c9ce1e419.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/36f0e3f0-13cb-11e7-8258-4d0c9ce1e419.gif -------------------------------------------------------------------------------- /docs/guide/python/image/42c65360-025d-11e7-94ea-b12f28cb34b4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/42c65360-025d-11e7-94ea-b12f28cb34b4.png -------------------------------------------------------------------------------- /docs/guide/python/image/45e049b6-025d-11e7-89cc-8a71cf89e713.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/45e049b6-025d-11e7-89cc-8a71cf89e713.png -------------------------------------------------------------------------------- /docs/guide/python/image/6874772322f617.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/6874772322f617.png -------------------------------------------------------------------------------- /docs/guide/python/image/696d6167654d6f6772322f6175746.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/696d6167654d6f6772322f6175746.png -------------------------------------------------------------------------------- /docs/guide/python/image/7f2d79dc-025d-11e7-8728-d8924596f8fa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/7f2d79dc-025d-11e7-8728-d8924596f8fa.png -------------------------------------------------------------------------------- /docs/guide/python/image/80638760-025d-11e7-80a2-1d2779f7ccab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/80638760-025d-11e7-80a2-1d2779f7ccab.png -------------------------------------------------------------------------------- /docs/guide/python/image/image-20220118220825296.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/image-20220118220825296.png -------------------------------------------------------------------------------- /docs/guide/python/image/image-20220118221758603.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/image-20220118221758603.png -------------------------------------------------------------------------------- /docs/guide/python/image/v2-ff17989f449787b02fc11c7eddf854a1_1440w.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/python/image/v2-ff17989f449787b02fc11c7eddf854a1_1440w.jpg -------------------------------------------------------------------------------- /docs/guide/react/ant组件开发常见问题.md: -------------------------------------------------------------------------------- 1 | # ant组件开发常见问题 2 | 3 | 4 | 5 | ## table组件设置 sticky 滚动条没有固定在容器底部 6 | 7 | 8 | 9 | 父组件重要class,如果没有滚动条固定容器底部肯定是父组件没有设置这些 10 | 11 | ```css 12 | flex flex-row overflow-y-auto 13 | ``` 14 | 15 | 16 | 17 | 示例: 18 | 19 | ```react 20 |
21 |
22 |
23 | {/* 表单部分 */} 24 |
25 | 33 |
34 |
35 |
36 |
37 | ``` 38 | 39 | 40 | 41 | 42 | 43 | ## table组件设置了sticky但是summary没有固定在底部 44 | 45 | 46 | 47 | summary必须要采用summary={(pageData) => ()形式,不能使用:summary={(pageData) => {return ()} 48 | 49 | 50 | 51 | 52 | 正确示例: 53 | 54 | ```javascript 55 | summary={(pageData) => ( 56 | 57 | 58 | 本页汇总 59 | {(() => { 60 | let totalMoney = new Decimal(0); 61 | let totalAllotMoney = new Decimal(0); 62 | 63 | // Process pageData to calculate totals 64 | pageData.forEach((item) => { 65 | let money = new Decimal(item.money ?? 0); 66 | if (item.typeId != 1) { 67 | money = money.negated(); 68 | } 69 | totalMoney = totalMoney.plus(money); 70 | totalAllotMoney = totalAllotMoney.plus(new Decimal(item.allotMoney ?? 0)); 71 | }); 72 | 73 | // Format and prepare totals for rendering 74 | const totals = [ 75 | totalMoney.toFixed(2), 76 | totalAllotMoney.toFixed(2) 77 | ]; 78 | 79 | return totals.map((total, index) => ( 80 | 86 | {renderPrice({ value: total, suffix: "元" })} 87 | 88 | )); 89 | })()} 90 | 91 | 92 | )} 93 | ``` 94 | 95 | 96 | -------------------------------------------------------------------------------- /docs/guide/router/image/image-20220117103235782.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/router/image/image-20220117103235782.png -------------------------------------------------------------------------------- /docs/guide/router/image/image-20220117104109292.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/router/image/image-20220117104109292.png -------------------------------------------------------------------------------- /docs/guide/router/image/image-20220117105252711.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/router/image/image-20220117105252711.png -------------------------------------------------------------------------------- /docs/guide/router/image/image-20220117105444296.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/router/image/image-20220117105444296.png -------------------------------------------------------------------------------- /docs/guide/router/image/image-20220117105626420.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/router/image/image-20220117105626420.png -------------------------------------------------------------------------------- /docs/guide/router/华硕路由器搭建科学上网.md: -------------------------------------------------------------------------------- 1 | # 华硕路由器搭建科学上网 2 | 3 | 简介Merlin Clash是一款运行在KoolCenter软件中心(Arm版)上的Clash GUI插件。 4 | 5 | 如何在华硕AX82U路由器上安装和配置Clash插件。Clash是一款强大的代理工具,能够帮助您更好地管理网络流量,提高上网速度,并绕过各种网络限制。为了完成这项操作,您的AX82U路由器需要运行带有软件中心的固件,例如梅林固件或官方改良固件 6 | 7 | 8 | 9 | ## 简介 10 | 11 | Merlin Clash是一款运行在软件中心(Arm版)上的Clash GUI插件。AX82U插件: 12 | 13 | 链接:https://pan.quark.cn/s/040cd768c757 14 | 15 | [其他型号插件](https://mcreadme.gitbook.io/mc) 16 | 17 | 18 | 19 | ## 环境 20 | 21 | 路由器需要能支持刷固件,固件需要带软件中心,比如梅林固件。一般华硕、网件的路由器固件种类多,比较好刷。 22 | 23 | 24 | 25 | ## 本设备及固件版本 26 | 27 | 设备:华硕AX82U 28 | 29 | 固件:官改3.0.0.4.386_41700_koolshare 30 | 31 | 32 | 33 | 34 | ## 步骤 35 | 36 | ### 安装 37 | 38 | 打开[软件中心]-[离线安装],上传下载好的merlinclash的tar包并安装。 39 | 40 | ![img](image/image-20220117103235782.png) 41 | 42 | 要是提示含非法关键词,安装失败的,[可查看解决华硕路由器软件中心禁止安装含非法关键词](https://zsyyblog.com/55034afc.html) 43 | 44 | 45 | 46 | ### 使用 47 | 48 | 小白一键订阅助手:推荐使用,填入代理商提供的订阅链接,设置好配置名称即可。 49 | 50 | ![img](image/image-20220117104109292.png) 51 | 52 | 53 | 54 | 填好订阅链接,设置好配置名称后,点击开始转换,即可完成订阅。 55 | 56 | 57 | 58 | ### 附加功能 59 | 60 | 附加功能中建议打开[自定规则],其他按你需要自行开启: 61 | 62 | ![img](image/image-20220117105252711.png) 63 | 64 | 65 | 66 | ### 启动 67 | 68 | 完成配置后,打开开关,保存并启动后即可开启: 69 | 70 | ![img](image/image-20220117105444296.png) 71 | 72 | 图中,红框处显示绿色,则正常。 73 | 74 | 75 | 76 | ### 管理面板 77 | 78 | 插件提供两种网页端的管理面板: 79 | 80 | ![img](image/image-20220117105626420.png) 81 | 82 | 可在网页端输入ip地址访问,默认密码clash,也可直接点击按钮进入,此时免密。 83 | -------------------------------------------------------------------------------- /docs/guide/springboot/image/07201044-a8e02c010ca54216b4de01f388218286.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/07201044-a8e02c010ca54216b4de01f388218286.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/07201112-488851f9ebde49ea8c5242ebab7af35c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/07201112-488851f9ebde49ea8c5242ebab7af35c.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/07201200-d5e3f7f7a41040efa68ce180a34b1f54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/07201200-d5e3f7f7a41040efa68ce180a34b1f54.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/07201223-3c6c9863900644019ff3f7121f81e0cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/07201223-3c6c9863900644019ff3f7121f81e0cd.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/07201312-a04d51ed72654ed58212d379d029abec-1656650933387.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/07201312-a04d51ed72654ed58212d379d029abec-1656650933387.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/07201312-a04d51ed72654ed58212d379d029abec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/07201312-a04d51ed72654ed58212d379d029abec.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716180423941-410981108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716180423941-410981108.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716180443350-555162297.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716180443350-555162297.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716180518925-1295720547.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716180518925-1295720547.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716180654663-299288087.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716180654663-299288087.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716180857504-1314093478.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716180857504-1314093478.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716180916949-923019642.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716180916949-923019642.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716180957014-939406299.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716180957014-939406299.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181137955-1647442279.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181137955-1647442279.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181205153-1173360511.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181205153-1173360511.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181226965-1155472237.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181226965-1155472237.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181233598-1669955477.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181233598-1669955477.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181253696-560608095.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181253696-560608095.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181313618-1904052289.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181313618-1904052289.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181505045-547157598.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181505045-547157598.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181532850-435463714.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181532850-435463714.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181552284-385505345.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181552284-385505345.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181605166-56896017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181605166-56896017.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181650911-1611856646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181650911-1611856646.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181707294-1792536254.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181707294-1792536254.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181721678-2125868658.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181721678-2125868658.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181734738-765126076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181734738-765126076.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1553090-20210716181815680-1532294441.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1553090-20210716181815680-1532294441.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1642503401735.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1642503401735.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1642503511131.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1642503511131.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1642503654122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1642503654122.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1642503693766.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1642503693766.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1656586100638.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1656586100638.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1656778490529.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1656778490529.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1656778670646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1656778670646.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1656778926076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1656778926076.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1656778959760.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1656778959760.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1659884341441.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1659884341441.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1659884381806.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1659884381806.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1878959-20220428115058896-1850785789.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1878959-20220428115058896-1850785789.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1878959-20220428115325822-1279509209.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1878959-20220428115325822-1279509209.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1878959-20220428115331672-138602197.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1878959-20220428115331672-138602197.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1878959-20220428115336479-1925819062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1878959-20220428115336479-1925819062.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1878959-20220518155108014-354006981.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1878959-20220518155108014-354006981.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1878959-20220606154010616-441746640.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1878959-20220606154010616-441746640.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/1878959-20220606154128396-1261659117.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/1878959-20220606154128396-1261659117.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/26099337-b4b7f843177ef415.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/26099337-b4b7f843177ef415.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/jar_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/jar_image.png -------------------------------------------------------------------------------- /docs/guide/springboot/image/p33514.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/springboot/image/p33514.png -------------------------------------------------------------------------------- /docs/guide/springboot/java语言将jar打包苹果可执行文件.md: -------------------------------------------------------------------------------- 1 | # java语言将jar打包苹果可执行文件 2 | 3 | 在这篇文章中使用`jpackage`工具将Java应用程序打包成苹果(macOS)的可执行文件。使用`jpackage`创建适用于macOS的`.app`和`.dmg`文件。此外,本文还包括针对不同Java版本的特定指南,确保无论您的项目使用何种版本的Java,都能顺利打包。通过这篇详细的教程,您将能够理解`jpackage`的核心功能,掌握打包Java应用为苹果操作系统可执行文件的技巧,提高软件的可接入性和用户体验。 4 | 5 | 6 | 7 | 打包命令: 8 | 9 | ```bash 10 | ./jdk17/bin/jpackage --type dmg --input ./java --name "软著生成工具" --main-jar SourceDocx-1.0.jar --main-class org.springframework.boot.loader.JarLauncher --runtime-image ./jre17_64/zulu-17.jre/Contents/Home --icon ./java/logo.icns 11 | ``` 12 | 13 | ## 命令解释 14 | 15 | - ./jdk17/bin/jpackage: 指定使用JDK 17目录下的jpackage工具。 16 | - --type dmg: 设置打包的类型为dmg,这是macOS常用的安装包格式。 17 | - --input ./java: 指定输入文件夹,这里是包含应用程序jar和其他资源的java目录。 18 | - --name "软著生成工具": 设置打包后应用的名称。 19 | - --main-jar SourceDocx-1.0.jar: 指定应用程序的主jar文件。 20 | - --main-class org.springframework.boot.loader.JarLauncher: 设置主类,这是Spring Boot打包后的jar使用的启动器。 21 | - --runtime-image ./jre17_64/zulu-17.jre/Contents/Home: 指定包含在应用程序中的JRE镜像路径。 22 | - --icon ./java/logo.icns: 设置应用图标。 23 | 24 | 25 | ## 步骤 26 | 27 | ### 下载最新版的jdk 28 | 29 | 首先,您需要下载最新版本的JDK。可以从Azul官网获取: 30 | 31 | 下载地址:https://www.azul.com/ 32 | 33 | 34 | ### 下载jre文件 35 | 36 | 对于macOS应用,您可能需要支持不同架构(如x64位和arm),因此应下载相应架构的JRE文件。 37 | 38 | 39 | 下载地址:https://www.azul.com/ 40 | 41 | 42 | ### 准备文件和目录 43 | 44 | 在执行打包命令之前,确保您的项目结构正确,所有必需的文件都已就位。这包括应用的jar文件、图标文件以及任何依赖文件。 45 | 46 | ![alt text](./image/jar_image.png) 47 | 48 | 49 | ### 执行命令打包 50 | 51 | 最后,打开命令行工具,导航到包含JDK的目录,并执行上述打包命令。如果一切设置正确,您的Java应用程序将被打包成macOS可执行的dmg文件。 52 | -------------------------------------------------------------------------------- /docs/guide/springboot/springboot使用aspose把pdf转换word.md: -------------------------------------------------------------------------------- 1 | # springboot使用aspose把pdf转换word 2 | 3 | > springboot pdf转换word 4 | 5 | ## 源码 6 | 7 | ```java 8 | public static void main(String[] args) 9 | 10 | { 11 | 12 | String sourceFile = "C:\\Users\\zzy1998\\Desktop\\text\\ceshi\\微信小程序大赛文档_青涟环保.pdf";// 输入的文件 13 | String targetFile = "C:\\Users\\zzy1998\\Desktop\\text\\ceshi\\转换后.docx";// 输出的文件 14 | try { 15 | long old = System.currentTimeMillis(); 16 | FileOutputStream os = new FileOutputStream(targetFile); 17 | com.aspose.pdf.Document doc = new com.aspose.pdf.Document(sourceFile);// 加载源文件数据 18 | doc.save(os, com.aspose.pdf.SaveFormat.DocX);// 设置转换文件类型并转换 19 | os.close(); 20 | long now = System.currentTimeMillis(); 21 | System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒"); // 转化用时 22 | } catch (Exception e) { 23 | e.printStackTrace(); 24 | } 25 | 26 | } 27 | ``` 28 | 29 | ## 依赖 30 | 31 | aspose-pdf 32 | 33 | 这个依赖有商业版和免费版 免费版限制了页数还加了水印 34 | 35 | 商业版需要自己破解 36 | 37 | ## 破解教程 38 | 39 | 引入依赖 40 | 41 | ```xml 42 | 43 | org.javassist 44 | javassist 45 | 3.27.0-GA 46 | 47 | ``` 48 | 49 | 修改指定类中的返回值 50 | 51 | ```java 52 | public static void main(String[] args) throws NotFoundException, CannotCompileException, IOException { 53 | try { 54 | // 这一步是完整的jar包路径,选择自己解压的jar目录 55 | ClassPool.getDefault().insertClassPath("C:\\Users\\zzy1998\\Desktop\\text\\beifen\\aspose-pdf-21.11.jar"); 56 | // 获取指定的class文件对象 57 | CtClass zzZJJClass = ClassPool.getDefault().getCtClass("com.aspose.pdf.ADocument"); 58 | // 从class对象中解析获取所有方法 59 | CtMethod[] methodA = zzZJJClass.getDeclaredMethods(); 60 | for (CtMethod ctMethod : methodA) { 61 | // 获取方法获取参数类型 62 | CtClass[] ps = ctMethod.getParameterTypes(); 63 | // 筛选同名方法,入参是Document 64 | if (ps.length == 0 && (ctMethod.getName().equals("lj") || ctMethod.getName().equals("lt"))) { 65 | ctMethod.setBody("{return true;}"); 66 | } 67 | if (ps.length == 1 && (ctMethod.getName().equals("lI")) 68 | && ps[0].getName().equals("com.aspose.pdf.internal.l10k.ly")) { 69 | ctMethod.setBody("{return true;}"); 70 | } 71 | } 72 | // 这一步就是将破译完的代码放在桌面上 73 | zzZJJClass.writeFile("C:\\Users\\zzy1998\\Desktop\\text"); 74 | 75 | } catch (Exception e) { 76 | System.out.println("错误==" + e); 77 | } 78 | 79 | } 80 | ``` 81 | 82 | 1. 把aspose-pdf-21.11.jar后缀改成rar/zip等能解压的格式,解压为aspose-pdf-21.11(文件名随意) 83 | 2. 把刚刚生成文件替换到com.aspose.pdf中 84 | 3. 删除aspose-pdf-21.11.jar中META-INF中的.RSA和.SF后缀的文件 85 | 4. 将生成的jar文件放到maven库中,mvn install:install-file -Dfile="C:\Users\zzy1998\Desktop\text\aspose-pdf-21.11.jar" -DgroupId=com.aspose -DartifactId=aspose-pdf -Dversion=21.11 -Dpackaging=jar 86 | 87 | 88 | 89 | [破解教程地址](https://www.jianshu.com/p/5a90d17852ce) 90 | 91 | [破解教程](https://blog.csdn.net/qq_24084605/article/details/116012644) 92 | -------------------------------------------------------------------------------- /docs/guide/springboot/springboot使用aspose把ppt转换pdf.md: -------------------------------------------------------------------------------- 1 | # springboot使用aspose把ppt转换pdf 2 | 3 | > springboot ppt转换pdf 4 | 5 | ## 源码 6 | 7 | ```java 8 | public static void main(String[] args) 9 | 10 | { 11 | 12 | String sourceFile = "C:\\Users\\zzy1998\\Desktop\\老电脑桌面文件夹\\青涟\\微信小程序大赛\\青涟环保答辩稿0716.pptx";// 输入的文件 13 | String targetFile = "C:\\Users\\zzy1998\\Desktop\\text\\ceshi\\转换后.pdf";// 输出的文件 14 | try { 15 | InputStream is = new FileInputStream(new File("C:\\Users\\zzy1998\\Desktop\\text\\beifen\\license.xml")); 16 | License license = new License(); 17 | license.setLicense(is); 18 | long old = System.currentTimeMillis(); 19 | FileOutputStream os = new FileOutputStream(targetFile); 20 | Presentation ppt = new Presentation(sourceFile);// 加载源文件数据 21 | ppt.save(os, com.aspose.slides.SaveFormat.Pdf);// 设置转换文件类型并转换 22 | os.close(); 23 | long now = System.currentTimeMillis(); 24 | System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒"); // 转化用时 25 | } catch (Exception e) { 26 | e.printStackTrace(); 27 | } 28 | 29 | } 30 | ``` 31 | 32 | ## 依赖 33 | 34 | aspose-Slides 35 | 36 | 这个依赖有商业版和免费版 免费版限制了页数还加了水印 37 | 38 | 商业版需要自己破解 39 | 40 | license文件 41 | 42 | ```xml 43 | 44 | 45 | 46 | Aspose.Total for Java 47 | Aspose.Words for Java 48 | 49 | Enterprise 50 | 20991231 51 | 20991231 52 | 8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7 53 | 54 | 55 | sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU= 56 | 57 | 58 | ``` 59 | 60 | 61 | 62 | ## 破解教程 63 | 64 | 引入依赖 65 | 66 | ```xml 67 | 68 | org.javassist 69 | javassist 70 | 3.27.0-GA 71 | 72 | ``` 73 | 74 | 修改指定类中的返回值 75 | 76 | ```java 77 | public static void main(String[] args) throws NotFoundException, CannotCompileException, IOException { 78 | try { 79 | // 这一步是完整的jar包路径,选择自己解压的jar目录 80 | ClassPool.getDefault() 81 | .insertClassPath("C:\\Users\\zzy1998\\Desktop\\text\\beifen\\aspose-slides-21.10-jdk16.jar"); 82 | CtClass zzZJJClass = ClassPool.getDefault().getCtClass("com.aspose.slides.internal.of.public"); 83 | CtMethod[] methodA = zzZJJClass.getDeclaredMethods(); 84 | for (CtMethod ctMethod : methodA) { 85 | CtClass[] ps = ctMethod.getParameterTypes(); 86 | if (ps.length == 3 && ctMethod.getName().equals("do")) { 87 | System.out.println("ps[0].getName==" + ps[0].getName()); 88 | ctMethod.setBody("{}"); 89 | } 90 | } 91 | // 这一步就是将破译完的代码放在桌面上 92 | zzZJJClass.writeFile("C:\\Users\\zzy1998\\Desktop\\text"); 93 | } catch (Exception e) { 94 | System.out.println("错误==" + e); 95 | } 96 | 97 | } 98 | ``` 99 | 100 | 1. 把aspose-slides-21.10-jdk16.jar后缀改成rar/zip等能解压的格式,解压为aspose-slides-21.10-jdk16(文件名随意) 101 | 2. 把刚刚生成文件替换到com.aspose.slides中 102 | 3. 删除aspose-slides-21.10-jdk16.jar中META-INF中的.RSA和.SF后缀的文件 103 | 4. 将生成的jar文件放到maven库中,mvn install:install-file -Dfile="C:\Users\zzy1998\Desktop\text\aspose-slides-21.10-jdk16.jar" -DgroupId=com.aspose -DartifactId=aspose-slides -Dversion=21.10 -Dpackaging=jar 104 | 105 | 106 | 107 | [破解教程地址](https://www.jianshu.com/p/5a90d17852ce) 108 | 109 | [破解教程](https://blog.csdn.net/qq_24084605/article/details/116012644) 110 | -------------------------------------------------------------------------------- /docs/guide/springboot/springboot常见配置类.md: -------------------------------------------------------------------------------- 1 | # springboot常见配置类 2 | 3 | > springboot 常见配置类 4 | 5 | ## Redis 6 | 7 | ### redis配置 8 | 9 | ```java 10 | /** 11 | * redis配置 12 | * 13 | * @author ruoyi 14 | */ 15 | @Configuration 16 | @EnableCaching 17 | public class RedisConfig extends CachingConfigurerSupport 18 | { 19 | @Bean 20 | @SuppressWarnings(value = { "unchecked", "rawtypes" }) 21 | public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) 22 | { 23 | RedisTemplate template = new RedisTemplate<>(); 24 | template.setConnectionFactory(connectionFactory); 25 | 26 | FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class); 27 | 28 | ObjectMapper mapper = new ObjectMapper(); 29 | mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); 30 | mapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY); 31 | serializer.setObjectMapper(mapper); 32 | 33 | template.setValueSerializer(serializer); 34 | // 使用StringRedisSerializer来序列化和反序列化redis的key值 35 | template.setKeySerializer(new StringRedisSerializer()); 36 | template.afterPropertiesSet(); 37 | return template; 38 | } 39 | } 40 | ``` 41 | 42 | -------------------------------------------------------------------------------- /docs/guide/springboot/个人总结破解aspose系列产品方法.md: -------------------------------------------------------------------------------- 1 | # 个人总结破解aspose系列产品方法 2 | 3 | > 个人总结破解aspose系列产品方法 4 | 5 | Aspose于2002年3月在澳大利亚悉尼创建,旗下产品覆盖文档、图表、PDF、条码、OCR、CAD、HTML、电子邮件等各个文档管理领域,为全球.NET 、Java、C ++等10余种平台开发人员提供丰富的开发选择。 6 | 7 | 产品是收费的 下面记录一下破解产品验证薅资本主义羊毛 8 | 9 | ## 步骤 10 | 11 | 1. 下载 JByteMod 12 | 13 | 2. 通过JByteMod点击左上角搜索->搜索字符串->输入Invalid license signature. Please make sure the license file was not modified 14 | 15 | 3. 点击搜索结果 16 | 17 | ![1659884341441](image/1659884341441.png) 18 | 19 | 4. 挨个查看 20 | 21 | 如果类里有类似于这样方法 22 | 23 | ![1659884381806](image/1659884381806.png) 24 | 25 | 5. 则找到static方法形参大概类似于final Node node, final Node node2 26 | 27 | 6. 使用[aspose.pdf-17.8暴力破解,附破解过程和使用代码](https://blog.csdn.net/qq_42834405/article/details/98618002) 方法 如果返回值是void 删除掉验证逻辑即可 28 | 29 | 如果返回值是boolean类型则删除验证逻辑 只返回 true 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/guide/springboot/使用exe4j将Java程序打包为可执行文件.md: -------------------------------------------------------------------------------- 1 | # 使用 exe4j 将Java程序打包为可执行文件 2 | 3 | > 本文介绍了如何将Java应用程序转换为EXE可执行文件的步骤和技巧,使您的Java项目能够在没有安装Java环境的Windows系统上运行。通过详细的教程,通过这些工具优化您的应用打包流程,确保软件的高效发布和部署。无论您是Java新手还是经验丰富的开发者,本文都能为您提供宝贵的指导和技巧,帮助您顺利完成Java项目到EXE文件的转换。 4 | > 5 | 6 | 7 | 8 | jdk版本过高没有jre可以使用命令: 9 | 10 | ```bash 11 | jlink.exe --module-path jmods --add-modules java.sql,java.desktop --output jre 12 | ``` 13 | 14 | ## 步骤 15 | 16 | ### 将自己的程序打包成jar包 17 | 18 | 将自己的程序打包成jar包,java -jar jar包 没有问题之后,将cmd窗口关闭进行后续操作 19 | 20 | ### 下载安装exe4j 21 | 22 | **exe4j**:将jar转换成exe的工具 23 | 24 | 链接: https://pan.baidu.com/s/1AXaXeawYC0mcDUlSSMGvXw 25 | 26 | 提取码: smb7 27 | 28 | 注意:exe4j要用注册码激活,不然会有弹窗 29 | 30 | 注册码: 31 | 32 | ``` 33 | A-XVK258563F-1p4lv7mg7sav 34 | 35 | A-XVK209982F-1y0i3h4ywx2h1 36 | 37 | A-XVK267351F-dpurrhnyarva 38 | ``` 39 | 40 | 41 | ### exe4j 42 | 43 | > 重要!这个软件里指定jre路径 指定软件图标ico都要用相对路径 比如使用./jre 44 | > 45 | > 如果这样写了运行不了 就把jre文件夹复制到exe4j根目录 图标同理 46 | 47 | 选择“jar in exe” mode 选项, 48 | 49 | **![img](image/1553090-20210716180423941-410981108.png)** 50 | 51 | **5. 输入名称和输出路径,下一步。** 52 | 53 | **![img](image/1553090-20210716180443350-555162297.png)** 54 | 55 | **6. 选择GUI,输入应用名称,设置应用图标,下一步。** 56 | 57 | ![img](image/1553090-20210716180518925-1295720547.png) 58 | 59 | 注意:这里选择**GUI程序**,并且勾选下面的Allow -console 60 | 61 | **7. 选中“32-bit or 64-bit”,勾选“generate 64-bit executable”,下一步** 62 | 63 | **![img](image/1553090-20210716180654663-299288087.png)** 64 | 65 | 注意:因为医院的系统有XP 32位,win7 win8 64位的,所以我是分两次打的exe 一个EMRBrower.exe和EMRBrower32.exe 若是打64位的就勾选,若是打32位的就不用勾选 66 | 67 | **8. 再VM Parameters输入“ -Dappdir=${EXE4J_EXEDIR} ”,点击绿色+号** 68 | 69 | 在VM参数配置的地方加上:-Dfile.encoding=utf-8 70 | 71 | **![img](image/1553090-20210716180857504-1314093478.png)** 72 | 73 | **9. 选择jar包路径,自己的jar包,OK。** 74 | 75 | ![img](image/1553090-20210716180916949-923019642.png) 76 | 77 | **10. 选择应用程序的主类(含main方法),下一步。** 78 | 79 | 注意:这里一定选择**第三个JarLauncher**,我第一次的时候选择的是最后一个,运行不了报错提示找不类 80 | 81 | **![img](image/1553090-20210716180957014-939406299.png)** 82 | 83 | **11. 选择jdk版本。** 84 | 85 | ![img](image/26099337-b4b7f843177ef415.png) 86 | 87 | 88 | 89 | **12. 选中“ Search sequence ”,选中绿色+号添加jre目录。** 90 | 91 | **![img](image/1553090-20210716181205153-1173360511.png)** 92 | 93 | **13. 选择“ Directory ”,目录输入“ .\jre ”,下一步。** 94 | 95 | **![img](image/1553090-20210716181226965-1155472237.png)** 96 | 97 | ![img](image/1553090-20210716181233598-1669955477.png) 98 | 99 | 此项设置并不会把jre打包进exe中,只是一个相对jre路径设置。 100 | 101 | 本次设置需要在exe同级目录下有jre文件夹,并且文件夹名需要相同。 102 | 103 | 每次运行exe都需要同级目录下有jre文件夹 104 | 105 | ps:此路径可有手动输入 106 | 107 | **14. 选择“ Client hotspot VM ”,下一步。** 108 | 109 | **![img](image/1553090-20210716181253696-560608095.png)** 110 | 111 | **15. 一直下一步,等待绿色进度条完成,在输出目录里面多了一个可运行程序** 112 | 113 | **![img](image/1553090-20210716181313618-1904052289.png)** 114 | 115 | **16. 点击“ Click Here to Start the Application ”即可运行程序** 116 | 117 | 注意:这里最好不要点,因为这个是运行程序,之后全部弄完之后再运行的时候可能端口冲突,导致最后的exe运行不起来 118 | 119 | ![img](image/1553090-20210716181505045-547157598.png) 120 | -------------------------------------------------------------------------------- /docs/guide/springboot/在SpringBoot上启用HTTPS.md: -------------------------------------------------------------------------------- 1 | # 在SpringBoot上启用HTTPS 2 | 3 | > 在SpringBoot上启用HTTPS 4 | 5 | 通过配置SSL证书为Spring Boot启用HTTPS,实现网络通信数据的加密传输。本文介绍在Spring Boot上启用HTTPS的具体步骤。 6 | 7 | ## 前提条件 8 | 9 | - SSL证书的加密算法为RSA或ECC,并且证书为已签发状态。 10 | 11 | > **说明** 如果您证书的加密算法为SM2(国密算法),该证书无法配置在Spring Boot上。您需要吊销该证书并重新申请加密算法为RSA或ECC的证书。关于吊销证书和申请证书的操作,请参见[吊销SSL证书](https://help.aliyun.com/document_detail/98577.htm#concept-v5s-lxn-yfb)和[提交证书申请](https://help.aliyun.com/document_detail/98574.htm#concept-wxz-3xn-yfb)。 12 | 13 | - 您的Spring Boot已经开启了443端口(HTTPS服务的默认端口)。 14 | 15 | - 已准备好远程登录工具(例如PuTTY、Xshell),用于登录您的Web应用服务器。 16 | 17 | ## 操作步骤 18 | 19 | 1. 登录[SSL证书控制台](https://yundunnext.console.aliyun.com/?p=cas)。 20 | 21 | 2. 在左侧导航栏,单击**SSL证书**。 22 | 23 | 3. 定位到要下载的证书,单击**操作**列下的**下载**。 24 | 25 | 4. 在**证书下载**面板,单击**Tomcat**服务器**操作**列下的**下载**。 26 | 27 | 该操作会将Tomcat服务器证书压缩包下载到本地,并保存在浏览器的默认下载位置。 28 | 29 | 5. 访问浏览器的默认下载目录,解压已下载的证书压缩包文件。 30 | 31 | 解压后您将会获得以下文件。![证书文件](image/p33514.png) 32 | 33 | - 证书文件(domain name.pfx) 34 | - 密码文件(pfx-password.txt) 35 | 36 | > **说明** 37 | > 38 | > - Spring Boot支持配置PFX和JKS格式的证书,本文以PFX格式的证书为例。 39 | > - 本文中证书名称以domain name为示例。 40 | > - 每次下载证书都会产生新的密码。该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码。 41 | 42 | 6. 将解压后的证书文件和密码文件拷贝到Spring Boot项目的根目录src/main/resources/下。 43 | 44 | 7. 修改配置文件application.properties或application.yml 45 | 46 | - 参考以下示例配置 47 | 48 | application.properties 49 | 50 | 中的参数: 51 | 52 | ```yaml 53 | server.port = 443 #HTTPS协议默认端口号为443,需要使用其他端口时,您可以在此处自定义。 54 | server.ssl.key-store: classpath = server.p12 55 | server.ssl.key-store-password = ******** #填写pfx-password.txt文件内的密码。 56 | server.ssl.keyStoreType = PKCS12 57 | ``` 58 | 59 | - 参考以下示例配置 60 | 61 | application.yml 62 | 63 | 中的参数: 64 | 65 | ```yaml 66 | server: 67 | port: 443 #HTTPS协议默认端口号为443,需要使用其他端口时,您可以在此处自定义。 68 | ssl: 69 | key-alias: tomcat 70 | key-store-password: ******** #填写pfx-password.txt文件内的密码。 71 | key-store-type: PKCS12 72 | key-store: classpath:keystore.p12 73 | ``` 74 | 75 | 8. 执行`mvn spring-boot:run`命令重启Spring Boot服务。 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /docs/guide/svn/svn常见命令.md: -------------------------------------------------------------------------------- 1 | # svn常见命令 2 | 3 | > svn常见命令 4 | 5 | ## 编辑passwd文件,添加用户 6 | 7 | 建立svn用户以及密码: 8 | 9 | ```bash 10 | [users] 11 | aaa=aaa123 12 | bbb=bbb123 13 | ccc=ccc123 14 | ddd=ddd123 15 | ``` 16 | 17 | 18 | 19 | ## 编辑authz,配置用户组和权限 20 | 21 | 配置组: 22 | 23 | ```bash 24 | [groups] 25 | # harry_and_sally = harry,sally 26 | # harry_sally_and_joe = harry,sally,&joe 27 | 28 | # [/foo/bar] 29 | # harry = rw 30 | # &joe = r 31 | # * = 32 | 33 | # [repository:/baz/fuz] 34 | # @harry_and_sally = rw 35 | # * = r 36 | 总管理员 = admin 37 | 开发组 = qqq,www,eee,rrr 38 | 运维组 = ttt,yyy,uuu,iii 39 | 测试组 = aaa,bbb,ccc,ddd 40 | 41 | ``` 42 | 43 | 44 | 配置各个组权限: 45 | 46 | ```bash 47 | 48 | [/] #[/]表示是svn根目录,标签后的用户拥有根目录权限 49 | @总管理员 = rw #分配给总管理员用户组根目录的读写权限 50 | @开发组 = rw #分配给开发组用户组根目录的读写权限 51 | *= #没有分配权限的用户没有读写权限 52 | 53 | [/运维知识库] #根目录下面有一个[运维知识库]文件夹, 54 | @运维组 = rw #分配给运维组用户组根目录的读写权限 55 | zzz = rq #分配读写权限给zzz用户,为单个用户分配权限 56 | 57 | [/测试知识库] 58 | @测试组 = rw 59 | ``` 60 | 61 | -------------------------------------------------------------------------------- /docs/guide/svn/项目一览表.md: -------------------------------------------------------------------------------- 1 | 2 | # 项目一览表 3 | 4 | ### ddisk网盘后端项目 5 | 6 | > ddisk-file-master 7 | 8 | ### ddisk网盘前端项目 9 | 10 | > ddisk-web-master 11 | 12 | ### 网盘项目 13 | 14 | > kiftd 15 | 16 | ### 校友网项目 17 | 18 | > xiaoyou 19 | 20 | ### VuePress文档项目 21 | 22 | > press 23 | 24 | ### 青涟项目 25 | 26 | > event 27 | 28 | ### 党史项目 29 | 30 | > knowledge5 31 | 32 | ### form-generator组件uniapp解析器 33 | 34 | > form-generator-parser 35 | 36 | ### 工作流uniapp 37 | 38 | > ruoyi-uniapp-master 39 | 40 | ### 青涟及党史后端 41 | 42 | > studycountry 43 | 44 | ### 工作流 45 | 46 | > workflow 47 | 48 | ### 人脸识别 49 | 50 | > face 51 | 52 | ### 软件著作权申请时60页源码文档生成工具 53 | 54 | > Source2Docx-master 55 | 56 | ### 在线协同表格编辑系统 57 | 58 | > sheet 59 | 60 | 61 | ### React的3D 62 | 63 | > React-3d 64 | 65 | #### 步骤 66 | 67 | > npm install -g create-react-app下载react依赖 68 | > 69 | > npm install 70 | > 71 | > 出现npm ERR! cb() never called! 问题请 72 | > 73 | > ```bash 74 | > npm config set registry https://registry.npmjs.org/ 75 | > ``` 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /docs/guide/uniapp/image/1715742478708.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/uniapp/image/1715742478708.png -------------------------------------------------------------------------------- /docs/guide/uniapp/uniapp升级怎么整包更新或者wgt热更新.md: -------------------------------------------------------------------------------- 1 | # uniapp升级怎么整包更新或者wgt热更新 2 | 3 | > 在UniApp开发中,实现应用升级和更新是至关重要的,可以保持应用功能的更新和修复漏洞。本文将介绍如何进行整包更新和热更新,以及如何支持Vue3,并提供组件支持打开安卓和苹果应用市场、实现WGT静默更新、无感知更新以及覆盖原生TabBar和导航栏。 4 | 5 | 6 | 7 | ## 下载插件 8 | 9 | https://ext.dcloud.net.cn/plugin?id=7286 10 | 11 | 12 | 13 | ## 注意事项 14 | 15 | - apk或者wgt包直接上传到云存储就行,但是现在桶必须要绑定自己的域名才能下载apk 16 | - 调试请打包自定义基座测试,否则uni.getSystemInfoSync().platform获取到的可能不是android或者ios,会导致无法跳转更新页 17 | - 进度条显示,下载apk完成后,安卓不会自动弹出安装页面,原因:可能是离线打包未添加安卓安装权限,请添加以下权限或者使用云打包 18 | 19 | ```xml 20 | 21 | 22 | ``` 23 | 24 | - 苹果支持appstore链接和wgt更新,不支持整包ipa更新 25 | 26 | - wgt更新,进度条100%,苹果无法安装,原因: 27 | 28 | 1、wgt包名不要设置为中文, 29 | 30 | 2、增加原生模块必须上传appstore,不能热更新 31 | 32 | - 不能热更新的有: 33 | 34 | 1、如果原项目没有nvue页面,新增nvue后也必须整包更新 35 | 36 | 2、增加推送、第三方登录、地图、视频播放、支付等模块,或者其他安卓权限 37 | 38 | 3、修改启动图或者app图标 39 | 40 | 41 | -------------------------------------------------------------------------------- /docs/guide/uniapp/uniapp怎么进行代码混淆.md: -------------------------------------------------------------------------------- 1 | # uniapp怎么进行代码混淆 2 | 3 | > 在UniApp中进行代码混淆可以帮助保护应用代码,防止被他人轻易反编译或者盗用。以下是一个简单的指南,介绍如何在UniApp中进行代码混淆 4 | 5 | 6 | 7 | ## 下载插件 8 | 9 | ``` 10 | npm i webpack-obfuscator@2.6 11 | ``` 12 | 13 | 14 | 15 | ## 新建vue.config.js 16 | 17 | 打包后会执行webpack-obfuscator对js代码进行混淆 18 | 19 | ```javascript 20 | 21 | module.exports = { 22 | configureWebpack: config => { 23 | if (process.env.NODE_ENV === 'production'&&process.env.UNI_PLATFORM === 'app-plus') { 24 | var JavaScriptObfuscator = require('webpack-obfuscator'); 25 | config.plugins.push( 26 | new JavaScriptObfuscator({ 27 | // 压缩代码(uniApp不能加) 28 | // compact: true, 29 | // 是否启用控制流扁平化(降低1.5倍的运行速度) 30 | // controlFlowFlattening: true, 31 | // 随机的死代码块(增加了混淆代码的大小) 32 | deadCodeInjection: false, 33 | // 死代码块的影响概率(uniApp不能加) 34 | // deadCodeInjectionThreshold: 0.4, 35 | // 此选项几乎不可能使用开发者工具的控制台选项卡 36 | debugProtection: false, 37 | // 如果选中,则会在“控制台”选项卡上使用间隔强制调试模式,从而更难使用“开发人员工具”的其他功能。 38 | debugProtectionInterval: false, 39 | // 通过用空函数替换它们来禁用console.log,console.info,console.error和console.warn。这使得调试器的使用更加困难 40 | disableConsoleOutput: false, 41 | // 标识符的混淆方式 hexadecimal(十六进制) mangled(短标识符) 42 | identifierNamesGenerator: 'hexadecimal', 43 | // 打包是否展示log 44 | log: true, 45 | // 是否启用全局变量和函数名称的混淆 46 | // renameGlobals: false, 47 | /** 48 | * 通过固定和随机(在代码混淆时生成)的位置移动数组。这使得将删除的字符串的顺序与其原始位置相匹配变得更加困难。 49 | * 如果原始源代码不小,建议使用此选项,因为辅助函数可以引起注意。 50 | */ 51 | rotateStringArray: true, 52 | // 混淆后的代码,不能使用代码美化,同时需要配置 cpmpat:true; (uniApp不能加) 53 | // selfDefending: true, 54 | // 删除字符串文字并将它们放在一个特殊的数组中 55 | stringArray: true, 56 | stringArrayEncoding: ['base64'], 57 | stringArrayThreshold: 0.75, 58 | transformObjectKeys: false, 59 | /** 60 | * 允许启用/禁用字符串转换为unicode转义序列。Unicode转义序列大大增加了代码大小, 61 | * 并且可以轻松地将字符串恢复为原始视图。建议仅对小型源代码启用此选项。 62 | */ 63 | // unicodeEscapeSequence: false 64 | }, [ // 要忽略的js文件 65 | 'aaa.js', 66 | 'bbb.js', 67 | ]) 68 | ) 69 | } 70 | }, 71 | } 72 | ``` 73 | 74 | -------------------------------------------------------------------------------- /docs/guide/uniapp/uniapp踩坑记录.md: -------------------------------------------------------------------------------- 1 | # uniapp踩坑记录 2 | 3 | > UniApp是一个强大的跨平台开发框架,但在开发过程中,开发者常常会遇到一些棘手的问题。本文旨在记录并解决UniApp开发中的常见问题,包括点击事件失效、页面代码不渲染和iOS时间格式异常等。 4 | 5 | 6 | 7 | ## 怎么主动关闭软键盘 8 | 9 | ```javascript 10 | uni.hideKeyboard() 11 | ``` 12 | 13 | 14 | 15 | ## nvue中fixed无法覆盖scroll-view 16 | 17 | 通过`cover-view`实现内容覆盖 18 | 19 | -------------------------------------------------------------------------------- /docs/guide/uniapp/微信小程序代码怎么一键转uniapp.md: -------------------------------------------------------------------------------- 1 | # 微信小程序代码怎么一键转uniapp 2 | 3 | > 在将各种小程序转换为UniApp项目时,您可以采取一些简单的步骤来节省工作量并确保顺利完成转换。以下是一个简易指南,可帮助您顺利完成这项任务 4 | 5 | 6 | 7 | ## 下载插件 8 | 9 | https://ext.dcloud.net.cn/plugin?id=2656 10 | 11 | 12 | 13 | ## 使用方法 14 | 15 | 打开插件链接:[HBuilder X 插件 miniprogram-to-uniapp](https://ext.dcloud.net.cn/plugin?id=2656),点击右侧绿色按钮“使用HBuilderX导入插件”。 16 | 17 | 在HBuilder X左侧项目管理器里,在小程序项目上右键,点击弹出菜单里面的 “miniprogram to uniapp v2”,然后等待插件运行结束即可。 18 | 19 | 20 | 21 | ## 注意事项 22 | 23 | 转换后有很多Bug,需要自行测试修复 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /docs/guide/vscode/image/20191011155949742.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/20191011155949742.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/202102252148227.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/202102252148227.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/AutoRenameTag.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/AutoRenameTag.gif -------------------------------------------------------------------------------- /docs/guide/vscode/image/Imagepreview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/Imagepreview.gif -------------------------------------------------------------------------------- /docs/guide/vscode/image/Searchnode_modules.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/Searchnode_modules.gif -------------------------------------------------------------------------------- /docs/guide/vscode/image/file-jump.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/file-jump.gif -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20211206200539844.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20211206200539844.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420082555231.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420082555231.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420082646367.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420082646367.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420082748625.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420082748625.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420082819347.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420082819347.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420082835527.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420082835527.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420082933557.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420082933557.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420083203617.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420083203617.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420083205954.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420083205954.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/image-20230420083341669.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/image-20230420083341669.png -------------------------------------------------------------------------------- /docs/guide/vscode/image/koroFileHeader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vscode/image/koroFileHeader.gif -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502095431754-1395324051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502095431754-1395324051.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502101905053-1587213309.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502101905053-1587213309.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502102033938-355932808.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502102033938-355932808.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502103007605-2060283530.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502103007605-2060283530.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502105647212-951832148.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502105647212-951832148.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502110820591-729403423.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502110820591-729403423.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502111032446-387761987.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502111032446-387761987.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502111357259-2114714639.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502111357259-2114714639.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502113321132-349982802.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502113321132-349982802.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502142008708-2115134288.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502142008708-2115134288.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502142849902-1215833912.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502142849902-1215833912.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502143025451-278154874.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502143025451-278154874.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502143616764-422558518.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502143616764-422558518.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502143858422-657772304.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502143858422-657772304.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502145725788-417218840.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502145725788-417218840.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502154051438-241129537.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502154051438-241129537.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502155017265-917246996.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502155017265-917246996.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502155344047-907805750.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502155344047-907805750.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502161138527-27379110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502161138527-27379110.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502161406105-1245163302.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502161406105-1245163302.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502161513162-1567386320.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502161513162-1567386320.png -------------------------------------------------------------------------------- /docs/guide/vue/image/1389839-20180502161644203-1713880727.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/1389839-20180502161644203-1713880727.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428164548349.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428164548349.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428164701864.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428164701864.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428165142410.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428165142410.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428165721774.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428165721774.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428170246899.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428170246899.png -------------------------------------------------------------------------------- /docs/guide/vue/image/202004281703394.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/202004281703394.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428170605433.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428170605433.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428170815823.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428170815823.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200428171225659.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200428171225659.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200524110603969.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200524110603969.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200524112733750.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200524112733750.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200524113756139.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200524113756139.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200524115755487.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200524115755487.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20200815191941397.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20200815191941397.png -------------------------------------------------------------------------------- /docs/guide/vue/image/20201110104754906.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/20201110104754906.png -------------------------------------------------------------------------------- /docs/guide/vue/image/9487719-37852d7e52a95f8a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/9487719-37852d7e52a95f8a.png -------------------------------------------------------------------------------- /docs/guide/vue/image/9487719-bcddb4ac905f055a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/9487719-bcddb4ac905f055a.png -------------------------------------------------------------------------------- /docs/guide/vue/image/9487719-d9eb2035e204d817.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/9487719-d9eb2035e204d817.png -------------------------------------------------------------------------------- /docs/guide/vue/image/cli-new-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/cli-new-project.png -------------------------------------------------------------------------------- /docs/guide/vue/image/cli-select-features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/cli-select-features.png -------------------------------------------------------------------------------- /docs/guide/vue/image/image-20211226181551884.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/image/image-20211226181551884.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/MVVM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/MVVM.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/VUE-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/VUE-logo.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/components.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/diff.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/jjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/jjs.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/ku.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/ku.jpg -------------------------------------------------------------------------------- /docs/guide/vue/imgs/mvc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/mvc.jpg -------------------------------------------------------------------------------- /docs/guide/vue/imgs/props-events.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/props-events.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/vue-data-reactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/vue-data-reactive.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/vue自定义指令笔记.md: -------------------------------------------------------------------------------- 1 | # 自定义指令 2 | 3 | > 有的情况下,你仍然需要对**普通 DOM 元素进行底层操作**,这时候就会用到自定义指令。 4 | > 5 | > 比如:获取文本框的焦点 6 | 7 | ## 自定义指令 8 | 9 | ``` 10 | - 自定义一个指令 11 | - 使用一个自定义指令 12 | ``` 13 | 14 | 定义一个全局的指令 15 | 16 | ```js 17 | // 注册一个全局自定义指令 `v-focus` 18 | // 参数1:指令的名称 19 | // 参数2:指令的配置项(钩子函数) 20 | Vue.directive('focus', { 21 | // 当被绑定的元素插入到 DOM 中时…… 22 | // el: 当前绑定的元素 23 | inserted: function (el) { 24 | // 聚焦元素 25 | el.focus() 26 | } 27 | }) 28 | ``` 29 | 30 | 使用自定义指令 31 | 32 | ```html 33 | 34 | ``` 35 | 36 | 37 | 38 | ## 全局指令与局部指令 39 | 40 | 定义全局指令 41 | 42 | ```js 43 | // 注册一个全局自定义指令 `v-focus` 44 | // 参数1:指令的名称 45 | // 参数2:指令的配置项(钩子函数) 46 | Vue.directive('focus', { 47 | // 当被绑定的元素插入到 DOM 中时…… 48 | // el: 当前绑定的元素 49 | inserted: function (el) { 50 | // 聚焦元素 51 | el.focus() 52 | } 53 | }) 54 | ``` 55 | 56 | 定义局部指令 57 | 58 | ```js 59 | directives: { 60 | focus: { 61 | // 指令的定义 62 | inserted: function (el) { 63 | el.focus() 64 | } 65 | } 66 | } 67 | ``` 68 | 69 | ## 指令的钩子函数 70 | 71 | + `bind`: 只会调用一次,当指令绑定到当前元素上时调用 72 | + `inserted`: 被绑定元素插入父节点时调用 73 | + `update`: 指令的值发生改变的时候 74 | + `componentUpdated`: 指令所在的组件中所有的DOM都更新完成的时候 75 | + `unbind`:只调用一次,指令与元素解绑时调用。 76 | 77 | ```js 78 | Vue.directive('focus', { 79 | // 只会调用一次,当指令绑定到当前元素上时调用 80 | bind (el) { 81 | }, 82 | // 当前元素被插入到父节点的时候调用(渲染时) 83 | inserted (el) { 84 | el.focus() 85 | }, 86 | // 当指令对应的数据发生改变的时候 87 | update () { 88 | 89 | }, 90 | // 所有的DOM都更新之后 91 | componentUpdated () { 92 | 93 | }, 94 | // 指令与元素解绑的时候 95 | unbind () { 96 | 97 | } 98 | 99 | }) 100 | ``` 101 | 102 | ## 钩子函数的参数 103 | 104 | 所有的钩子函数两个参数`el`和`binding` 105 | 106 | 指令的组成 107 | 108 | ```js 109 | v-指令名:指令参数.指令修饰符.指令修饰符 = "指令的值" 110 | v-on:click.enter.prevent = "clickFn" 111 | ``` 112 | 113 | 指令的参数 114 | 115 | ```js 116 | el: 当前元素 117 | binding:一个对象,包含以下属性: 118 | name:指令名,不包括 v- 前缀。 119 | value:指令的绑定值,例如:v-my-directive="1 + 1" 中,绑定值为 2。 120 | oldValue:指令绑定的前一个值,仅在 update 和 componentUpdated 钩子中可用。无论值是否改变都可用。 121 | expression:字符串形式的指令表达式。例如 v-my-directive="1 + 1" 中,表达式为 "1 + 1"。 122 | arg:传给指令的参数,可选。例如 v-my-directive:foo 中,参数为 "foo"。 123 | modifiers:一个包含修饰符的对象。例如:v-my-directive.foo.bar 中,修饰符对象为 { foo: true, bar: true }。 124 | ``` 125 | 126 | 127 | 128 | ## 实现一个v-text指令 129 | 130 | ## 实现一个v-bind指令 131 | 132 | ## 实现一个v-on指令 133 | 134 | ## 实现了一个v-color 135 | 136 | 137 | 138 | ## 指令的简写 139 | 140 | 在很多时候,你可能想在 `bind` 和 `update` 时触发相同行为,而不关心其它的钩子。比如这样写: 141 | 142 | ```js 143 | Vue.directive('color-swatch', function (el, binding) { 144 | el.style.backgroundColor = binding.value 145 | }) 146 | ``` 147 | 148 | -------------------------------------------------------------------------------- /docs/guide/vue/imgs/web-spa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/web-spa.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/web-traditional.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/web-traditional.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/webpack-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/webpack-1.png -------------------------------------------------------------------------------- /docs/guide/vue/imgs/webpack-module.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/webpack-module.jpg -------------------------------------------------------------------------------- /docs/guide/vue/imgs/框架和库.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vue/imgs/框架和库.png -------------------------------------------------------------------------------- /docs/guide/vue/node-sass安装报错.md: -------------------------------------------------------------------------------- 1 | # node-sass安装报错 2 | 3 | > node-sass安装报错 4 | 5 | ## 卸载 node-sass 6 | 7 | ```bash 8 | npm uninstall node-sass 9 | ``` 10 | 11 | 12 | 13 | ## 安装 sass 14 | 15 | ```bash 16 | npm install sass@~1.32.6 --save-dev 17 | ``` 18 | 19 | 如果项目之前用到/deep/需要替换为::v-deep,否则会报错,全局搜索 /deep/ , 将项目里的 /deep/ 替换为 ::v-deep 20 | 21 | 22 | 23 | **选择dart-sass的理由** [官网](https://sass.bootcss.com/guide) 24 | 25 | 1. Sass 是一种 CSS 的预编译语言。它提供了 变量(variables)、嵌套(nested rules)、 混合(mixins)、 26 | 函数(functions)等功能,并且完全兼容 CSS 语法。Sass 能够帮助复杂的样式表更有条理, 并且易于 27 | 在项目内部或跨项目共享设计。 28 | 2. 在 v4.3.0之前本项目都是基于node-sass进行构建的,但node-sass底层依赖 libsass,导致很多用户安装 29 | 的特别的困难,尤其是 windows用户,它强制用户在windows环境中必须安装python2和Visual Studio才 30 | 能编译成功。 所以为了解决这个问题,本项目在v4.3.0修改为dart-sass进行构建,它能在保证性能的前 31 | 提下大大简化用户的安装成本。通过这个issue下面相关的评论就可以知道,安装 node-sass 是多么麻烦 的 32 | 一件事。 33 | 3. 这里选择使用dart-sass还有一个更主要的原因,sass官方已经将dart-sass作为未来主要的的开发方向了 34 | ,有任何新功能它都是会优先支持的,而且它已经在社区里稳定运行了很长的一段时间,基本没有什么 35 | 坑了。dart-sass之所以容易安装,主要是因为它会被编译成纯 js,这样就可以直接在的 node 环境中使用 36 | 。虽然这样它的运行速度会比基于 libsass的慢一些些,但这些速度的差异几乎可以忽略不计。整个社区 37 | 现在都在拥抱dart-sass,我们没有理由拒绝!而且它的确大大简化了用户的安装成本。 38 | 39 | 40 | **不选择node-sass的理由**,[弃用背景](https://blog.csdn.net/weixin_46476460/article/details/112312929) 41 | 42 | 1. node-sass在npm安装的时候大概率的会安装出错,或下载时间过长,因此考虑用dart-sass来替换 43 | 2. node-sass已经停止更新 44 | 45 | **node-sass与dart-sass区别** 46 | 47 | 1. node-sass 是用 node(调用 cpp 编写的 libsass)来编译 sass; 48 | 2. dart-sass 是用 drat VM 来编译 sass; 49 | 3. node-sass是自动编译实时的,dart-sass需要保存后才会生效 50 | 4. 推荐 dart-sass 性能更好(也是 sass 官方使用的),而且 node-sass 因为国情问题经常装不上 51 | -------------------------------------------------------------------------------- /docs/guide/vue/vue动画笔记.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 动画 3 | --- 4 | ::: v-pre 5 | # vue动画 6 | 7 | > vue动画 8 | 9 | Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 10 | 11 | Vue 提供了内置的过渡封装组件,该组件用于包裹要实现过渡效果的组件。 12 | 13 | 14 | 15 | ## 基本使用 16 | 17 | Vue 提供了 `transition` 的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡 18 | 19 | - 条件渲染 (使用 `v-if`) 20 | - 条件展示 (使用 `v-show`) 21 | 22 | 23 | 24 | ```html 25 |
26 | 29 | 30 |

hello

31 |
32 |
33 | ``` 34 | 35 | 36 | 37 | ```js 38 | new Vue({ 39 | el: '#demo', 40 | data: { 41 | show: true 42 | } 43 | }) 44 | ``` 45 | 46 | 样式处理 47 | 48 | ```css 49 | .v-enter-active, 50 | .v-leave-active { 51 | transition: opacity 0.5s; 52 | } 53 | .v-enter, 54 | .v-leave-to { 55 | opacity: 0; 56 | } 57 | .v-leave, 58 | .v-enter-to { 59 | opacity: 1; 60 | } 61 | ``` 62 | 63 | ## 指定name 64 | 65 | > 如果有多个动画,可以指定name属性 66 | 67 | ```html 68 | 69 |

hello

70 |
71 | ``` 72 | 73 | + 样式 74 | 75 | ```css 76 | .fade-enter-active, 77 | .fade-leave-active { 78 | transition: opacity 0.5s; 79 | } 80 | .fade-enter, 81 | .fade-leave-to { 82 | opacity: 0; 83 | } 84 | .fade-leave, 85 | .fade-enter-to { 86 | opacity: 1; 87 | } 88 | ``` 89 | 90 | 91 | 92 | ## 结合动画使用 93 | 94 | 结构 95 | 96 | ```html 97 |
98 | 99 | 100 |

{{ msg }}

101 |
102 |
103 | ``` 104 | 105 | 样式 106 | 107 | ```css 108 | .fade-enter-active { 109 | animation: bounce-in 0.5s; 110 | } 111 | .fade-leave-active { 112 | animation: bounce-in 0.5s reverse; 113 | } 114 | @keyframes bounce-in { 115 | 0% { 116 | transform: scale(0); 117 | } 118 | 50% { 119 | transform: scale(1.5); 120 | } 121 | 100% { 122 | transform: scale(1); 123 | } 124 | } 125 | ``` 126 | 127 | 128 | 129 | ## 自定义过渡的类名 130 | 131 | 我们可以通过以下特性来自定义过渡类名: 132 | 133 | - `enter-class` 134 | - `enter-active-class` 135 | - `enter-to-class` 136 | - `leave-class` 137 | - `leave-active-class` 138 | - `leave-to-class` 139 | 140 | ```html 141 | 142 |

{{ msg }}

143 |
144 | ``` 145 | 146 | 147 | 148 | ```css 149 | .in { 150 | animation: bounce-in 0.5s; 151 | } 152 | .out { 153 | animation: bounce-in 0.5s reverse; 154 | } 155 | @keyframes bounce-in { 156 | 0% { 157 | transform: scale(0); 158 | } 159 | 50% { 160 | transform: scale(1.5); 161 | } 162 | 100% { 163 | transform: scale(1); 164 | } 165 | } 166 | ``` 167 | 168 | ## 配合animate.css使用 169 | 170 | ```html 171 | 172 | 173 |
174 | 177 | 182 |

hello

183 |
184 |
185 | ``` 186 | ::: 187 | 188 | 189 | 190 | -------------------------------------------------------------------------------- /docs/guide/vue/vue如何自动处理静态资源上传至对象存储.md: -------------------------------------------------------------------------------- 1 | # vue如何自动处理静态资源上传至对象存储 2 | 3 | > vue如何自动处理静态资源上传至对象存储 4 | 5 | 例子是腾讯云对象存储,请自行修改 6 | 7 | 8 | 9 | 实际情况下,前端项目部署在vercel或者netlify等,国内访问网速很慢,所以通过此方法可以把打包后的dist静态资源(比如js,css,png等)上传到对象存储,达到优化网站速度的目的。 10 | 11 | 12 | 13 | ## 依赖 14 | 15 | ```bash 16 | npm i cos-nodejs-sdk-v5 17 | ``` 18 | 19 | 20 | 21 | ## 上传至COS的脚本文件 22 | 23 | ### 项目根目录新建文件uploadToCOS.js 24 | 25 | 自行修改腾讯云密钥和存储桶信息 26 | 27 | 28 | 29 | ``` 30 | const path = require("path"); 31 | const fs = require("fs"); 32 | const COS = require("cos-nodejs-sdk-v5"); 33 | 34 | // 配置腾讯云COS参数 35 | const cos = new COS({ 36 | SecretId: "", // 身份识别 ID 37 | SecretKey: "", // 身份密钥 38 | }); 39 | 40 | // 获取dist目录下的所有文件 41 | const dirPath = path.resolve(__dirname, "dist"); 42 | // 定义上传到 COS 上的前缀目录 43 | const base = "HomePage/"; 44 | // 遍历目录并上传文件 45 | function traverseDirectory(dirPath, prefix = "") { 46 | const files = fs.readdirSync(dirPath); 47 | files.forEach((file) => { 48 | const filePath = path.join(dirPath, file); 49 | const relativePath = path.relative(dirPath, filePath); 50 | const cosKey = path.join(prefix, relativePath).replace(/\\/g, "/"); // 使用 / 替换 \,确保在 COS 上是正斜杠 51 | 52 | if (fs.statSync(filePath).isDirectory()) { 53 | // 如果是目录,则继续遍历子目录,并传入新的前缀 54 | traverseDirectory(filePath, cosKey); 55 | } else { 56 | // 如果是文件,则上传文件 57 | fs.readFile(filePath, (err, data) => { 58 | if (err) { 59 | console.error(`\n读取文件 ${relativePath} 失败:`, err); 60 | return; 61 | } 62 | 63 | const params = { 64 | Bucket: "",//存储桶名 65 | Region: "",//地域名 66 | Key: base + cosKey, 67 | Body: data, // 使用文件内容进行上传 68 | }; 69 | 70 | cos.putObject(params, function (err, data) { 71 | if (err) { 72 | console.log(data); 73 | console.error(`\n上传文件 ${relativePath} 失败:`, err); 74 | } else { 75 | console.log(data); 76 | console.log(`\n上传文件 ${relativePath} 成功`); 77 | } 78 | }); 79 | }); 80 | } 81 | }); 82 | } 83 | 84 | // 开始遍历上传 85 | traverseDirectory(dirPath); 86 | 87 | ``` 88 | 89 | 90 | 91 | ### 修改package.json 92 | 93 | 在build命令后面增加 && node uploadToCOS.js 94 | 95 | 列如: 96 | 97 | vue2+vuecli 98 | 99 | ```bash 100 | "scripts": { 101 | "dev": "vue-cli-service serve", 102 | "build": "vue-cli-service build && node uploadToCOS.js" 103 | }, 104 | ``` 105 | 106 | vue3+vite 107 | 108 | ```bash 109 | "scripts": { 110 | "dev": "vite --mode dev", 111 | "serve": "vite --mode prod", 112 | "build": "vite build --mode prod && node uploadToCOS.js", 113 | "lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix" 114 | }, 115 | ``` 116 | 117 | 118 | 119 | 120 | 121 | ## vue2+vuecli 122 | 123 | 修改vue.config.js文件 124 | 125 | 请自行做开发环境 / 生产环境判断 126 | 127 | ```js 128 | publicPath: 'https://...', //vue-cli3.3+新版本使用,修改为你的对象存储url 129 | ``` 130 | 131 | 132 | 133 | ## vue3+vite 134 | 135 | 修改vite.config.ts文件 136 | 137 | ```js 138 | const host = "https://..." //你的对象存储url 139 | 140 | // 为生产环境静态资源设置不同的路径,请先运行uploadToCOS.js上传静态资源到COS 141 | experimental: { 142 | renderBuiltUrl(filename: string, { hostId, hostType, type }: { hostId: string, hostType: 'js' | 'css' | 'html', type: 'public' | 'asset' }) { 143 | return host + filename 144 | } 145 | } 146 | ``` 147 | 148 | -------------------------------------------------------------------------------- /docs/guide/vue/跨域及解决方法.md: -------------------------------------------------------------------------------- 1 | # 跨域及解决方法 2 | 3 | > 前端跨域及解决方法 4 | 5 | ### 什么是跨域 6 | 7 | 跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 8 | 9 | 例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是**浏览器的限制**。理解这一点很重要!!! 10 | 11 | 同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域; 12 | 13 | ![img](image/9487719-d9eb2035e204d817.png) 14 | 15 | ### 跨域访问示例 16 | 17 | 假设有两个网站,A网站部署在:http://localhost:81 即本地ip端口81上;B网站部署在:http://localhost:82 即本地ip端口82上。现在A网站的页面想去访问B网站的信息,A网站页面的代码如下(这里使用jquery的异步请求) 18 | 19 | ```javascript 20 | $(function (){ 21 | 22 | $.get("http://localhost:82/api/values", {},function (result) { 23 | 24 | $("#show").html(result); 25 | 26 | })}); 27 | ``` 28 | 29 | ![img](image/9487719-37852d7e52a95f8a.png) 30 | 31 | 从错误信息可以看出以上出现了跨域问题! 32 | 33 | ### 如何解决跨域问题? 34 | 35 | > 这里就要引入一个概念,叫做代理 36 | 37 | #### 代理是什么? 38 | 39 | 以nginx代理为例 40 | 41 | ![img](image/9487719-bcddb4ac905f055a.png) 42 | 43 | 首先我们用nginx作为代理服务器和用户交互,这样用户就只需要在80端口上进行交互就可以了,这样就避免了跨域问题,因为我们都是在80端口上进行交互的; 44 | 45 | nginx实现跨域的原理,实际就是把web项目和后端接口项目放到一个域中,这样就不存在跨域问题,然后根据请求地址去请求不同服务器(真正干活的服务器); 46 | 47 | 48 | 49 | #### 开发环境解决 50 | 51 | 如果是使用了Vue,React等使用了node.js技术的前端框架,可以使用node.js代理,从而解决跨域 52 | 53 | 以vue脚手架为例 54 | 55 | 在vue.config.js中 56 | 57 | ```javascript 58 | devServer: { 59 | host: '0.0.0.0', 60 | port: port, 61 | open: true, 62 | proxy: { 63 | 64 | // 接口代理 65 | ['/xyw/prod-api']: { 66 | target:'http://www.baidu.com:8088', 67 | changeOrigin: true, 68 | pathRewrite: { 69 | ['^' + '/xyw/prod-api']: '' 70 | }, 71 | 72 | }, 73 | 74 | }, 75 | disableHostCheck: true 76 | }, 77 | ``` 78 | 79 | 本项目所有接口为/xyw/prod-api开头的 80 | 81 | 统统发送到www.baidu.com:8088 82 | 83 | 比如: 84 | 85 | 请求接口 127.0.0.1:8080/xyw/prod-api/get/1 86 | 87 | 通过nodejs代理后 实际上是访问到了www.baidu.com:8088/get/1 88 | 89 | 也不会报跨域错误 90 | 91 | > 注意!打包后nodejs所有的配置都将失效(因为打包之后就没有Nodejs了) 92 | > 93 | > 所以vue项目部署 只能使用nginx去代理 node.js只能做开发环境代理 94 | 95 | #### 生产环境解决 96 | 97 | nginx配置 98 | 99 | ```nginx 100 | server { 101 | 102 | listen 80; #监听80端口,可以改成其他端口 103 | 104 | server_name localhost; # 当前服务的域名 105 | 106 | 107 | location / { 108 | root /home/ruoyi/projects/dist; # dist文件夹位置 109 | try_files $uri $uri/ /index.html; 110 | index index.html index.htm; 111 | } 112 | location /xyw/prod-api/{ # 代理所有以/xyw/prod-api开头的url访问 113 | proxy_set_header Host $http_host; 114 | proxy_set_header X-Real-IP $remote_addr; 115 | proxy_set_header REMOTE-HOST $remote_addr; 116 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 117 | proxy_pass http://localhost:8088/; # 统统指向本机下的8080服务 118 | } 119 | 120 | #以下配置省略 121 | } 122 | ``` 123 | 124 | -------------------------------------------------------------------------------- /docs/guide/vuepress/image/1648529313733.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/1648529313733.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/1648529343519.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/1648529343519.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/20201019171352.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/20201019171352.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/default.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/guide/vuepress/image/image-20211128220835968.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/image-20211128220835968.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/image-20211128220932943.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/image-20211128220932943.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/image-20211128220958836.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/image-20211128220958836.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/image-20211128221053339.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/image-20211128221053339.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/image-20211128221056256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/image-20211128221056256.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/image-20211128221118634.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/image-20211128221118634.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/leancloud-1.ed55a501.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/leancloud-1.ed55a501.jpeg -------------------------------------------------------------------------------- /docs/guide/vuepress/image/leancloud-2.d26cacd1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/leancloud-2.d26cacd1.jpeg -------------------------------------------------------------------------------- /docs/guide/vuepress/image/leancloud-3.f30a9772.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/leancloud-3.f30a9772.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vercel-1.3ada188f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/vercel-1.3ada188f.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vercel-2.35cde26e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/vercel-2.35cde26e.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vercel-3.600bb9ee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/vercel-3.600bb9ee.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vercel-4.3f804e6d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/vercel-4.3f804e6d.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vercel-5.e46d16f7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/vercel-5.e46d16f7.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vercel-6.6a902d66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/vercel-6.6a902d66.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vercel-7.34313f48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/vuepress/image/vercel-7.34313f48.png -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vuepress-plugin-meting-1642183885090.svg: -------------------------------------------------------------------------------- 1 | npm: v0.3.1npmv0.3.1 -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vuepress-plugin-meting-1642183885274.svg: -------------------------------------------------------------------------------- 1 | stars25 -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vuepress-plugin-meting-1642183885275.svg: -------------------------------------------------------------------------------- 1 | downloads: 6.2kdownloads6.2k -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vuepress-plugin-meting-1642183885669.svg: -------------------------------------------------------------------------------- 1 | downloads: 537/monthdownloads537/month -------------------------------------------------------------------------------- /docs/guide/vuepress/image/vuepress-plugin-meting.svg: -------------------------------------------------------------------------------- 1 | license: MITlicenseMIT -------------------------------------------------------------------------------- /docs/guide/vuepress/vuepress集成全文搜索插件.md: -------------------------------------------------------------------------------- 1 | # vuepress集成全文搜索插件 2 | 3 | > vuepress集成全文搜索插件 4 | 5 | ## 安装依赖 6 | 7 | vuepress-plugin-fulltext-search 8 | 9 | ```bash 10 | npm i vuepress-plugin-fulltext-search 11 | ``` 12 | 13 | ## 修改配置 14 | 15 | vi docs/.vuepress/config.js 16 | 17 | ```javascript 18 | module.exports = { 19 | // ... 20 | plugins: ['fulltext-search'], 21 | } 22 | ``` 23 | 24 | 搜索效果如下, 展示效果和 algolia 相似 25 | 26 | ![vuepress-plugin-fulltext-search](image/20201019171352.png) 27 | 28 | ## [官方文档](https://github.com/leo-buneev/vuepress-plugin-fulltext-search) 29 | 30 | ## 移动端适配问题 31 | 32 | 修改vuepress-plugin-fulltext-search源码components文件夹SearchBox.vue 33 | 34 | ```css 35 | @media (max-width: $MQMobile) 36 | .search-box 37 | margin-right 0 38 | input 39 | left 1rem 40 | .suggestions 41 | min-width 300px//加入 42 | right 0 43 | ``` 44 | 45 | -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641989757821.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641989757821.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641989806449.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641989806449.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641989877738.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641989877738.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641989921593.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641989921593.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641989999508.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641989999508.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641990066915.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641990066915.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641990172090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641990172090.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641990287512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641990287512.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641990401768.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641990401768.png -------------------------------------------------------------------------------- /docs/guide/weChat/image/1641996427368.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/docs/guide/weChat/image/1641996427368.png -------------------------------------------------------------------------------- /docs/guide/weChat/旧版云托管发布指南.md: -------------------------------------------------------------------------------- 1 | # 旧版云托管发布指南 2 | 3 | > 旧版云托管发布指南 4 | 5 | 重要!请事先保证镜像可以独立运行!镜像运行都报错是肯定部署失败的 6 | 7 | ## 镜像上传指引 8 | 9 | ### 点击服务名 10 | 11 | ![1641989757821](image/1641989757821.png) 12 | 13 | ### 点击新建版本 14 | 15 | 1. 点击镜像拉取 16 | 2. 查看上传指引 17 | 18 | ![1641989806449](image/1641989806449.png) 19 | 20 | ### 服务器输入命令登陆腾讯云仓库 21 | 22 | 登陆 **腾讯云docker registry** 23 | 24 | ![1641989877738](image/1641989877738.png) 25 | 26 | ### 输入账号密码 27 | 28 | 忘记了可以点击 29 | 30 | ![1641989921593](image/1641989921593.png) 31 | 32 | 出现Login Succeeded则登陆成功 33 | 34 | ### **将镜像推送到registry** 35 | 36 | ![1641989999508](image/1641989999508.png) 37 | 38 | [imageld]:镜像id 39 | 40 | [tag]:版本号 第一版为1或1.1 随意 但不可重复 41 | 42 | 需修改成自己的镜像信息 43 | 44 | ![1641990066915](image/1641990066915.png) 45 | 46 | 如: 47 | 48 | ![1641990172090](image/1641990172090.png) 49 | 50 | ### 发布成功 51 | 52 | ![1641990287512](image/1641990287512.png) 53 | 54 | ### 部署 55 | 56 | ![1641990401768](image/1641990401768.png) 57 | 58 | ### 测试是否成功 59 | 60 | 配置流量 61 | 62 | ![1641996427368](image/1641996427368.png) 63 | 64 | 点击访问服务,将页面url复制到postman加入服务器接口地址请求接口 65 | 66 | -------------------------------------------------------------------------------- /docs/note/sidebar.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = [ 3 | 4 | { 5 | title: '提问的智慧', 6 | collapsable: true, 7 | path: "./提问的智慧.md" 8 | }, 9 | ] -------------------------------------------------------------------------------- /image/image-20230118234352571.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/image/image-20230118234352571.png -------------------------------------------------------------------------------- /image/image-20230118234417495.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/image/image-20230118234417495.png -------------------------------------------------------------------------------- /image/mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzy-life/vuepress-Blog/82d697312f95ab88d5e851cc8b16a8a7edaac7b5/image/mobile.png -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [[headers]] 2 | for = "/*.js" 3 | [headers.values] 4 | Cache-Control = "public, max-age=31536000, must-revalidate" 5 | 6 | [[headers]] 7 | for = "/*.css" 8 | [headers.values] 9 | Cache-Control = "public, max-age=31536000, must-revalidate" 10 | 11 | [[headers]] 12 | for = "/*.png" 13 | [headers.values] 14 | Cache-Control = "public, max-age=31536000, must-revalidate" 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "press", 3 | "version": "1.0.0", 4 | "description": "文档", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "npm run change-modules && vuepress dev docs --temp .temp", 8 | "build": "npm run change-modules && vuepress build docs", 9 | "test": "echo \"Error: no test specified\" && exit 1", 10 | "change-modules": "node ./scripts/change-modules.js" 11 | }, 12 | "author": "ZhangZhiYu--790002517@qq.com", 13 | "license": "ISC", 14 | "devDependencies": { 15 | "@vuepress/plugin-active-header-links": "^1.8.2", 16 | "@vuepress/plugin-back-to-top": "^1.8.2", 17 | "babel-plugin-component": "^1.1.1", 18 | "image-webpack-loader": "^8.1.0", 19 | "sass": "^1.47.0", 20 | "vuepress": "^1.9.9", 21 | "vuepress-plugin-autometa": "^0.1.13", 22 | "vuepress-plugin-mermaidjs": "^1.9.1" 23 | }, 24 | "dependencies": { 25 | "async-validator": "^1.11.5", 26 | "element-ui": "^2.15.6", 27 | "markdown-it-disable-url-encode": "^1.0.1", 28 | "mdurl": "^1.0.1", 29 | "sass-loader": "10.1.0", 30 | "vue-kinesis": "^1.3.3", 31 | "vue-lottie": "^0.2.1", 32 | "vuepress-plugin-fulltext-search": "^2.2.1", 33 | "vuepress-plugin-sitemap": "^2.3.1", 34 | "webpack-encoding-plugin": "^0.3.1" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /scripts/change-modules.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: 时不待我 790002517@qq.com 3 | * @Date: 2022-09-18 18:13:26 4 | * @LastEditors: 时不待我 790002517@qq.com 5 | * @LastEditTime: 2022-09-18 18:13:35 6 | */ 7 | const fs = require('fs') 8 | 9 | const path = require('path') 10 | 11 | // 解决 node_modules 修改源码,导致重新装包而要手动替换源码的重复操作。 12 | 13 | // 将 scripts/node_modules 内的文件 覆盖 真正的 node_modules 14 | 15 | const REAL_NODE_MODULES = path.resolve('./node_modules') // 旧node_modules 16 | 17 | const MY_NODE_MODULES = path.resolve('./scripts/new_node_modules') // 新node_modules 18 | 19 | copy(MY_NODE_MODULES, REAL_NODE_MODULES) 20 | 21 | /** 22 | 23 | *复制目录中的所有文件包括子目录 24 | 25 | *@param{string}需要复制的目录、文件 26 | 27 | *@param{string}复制到指定的目录、文件 28 | 29 | *@param{function}每次复制前,都会经过一次filterFn,若返回true,则复制。 30 | 31 | */ 32 | 33 | function copy (origin, target, filterFn = () => true) { 34 | if (fs.statSync(origin).isDirectory()) { 35 | // 来源是个文件夹,那目标也整一个文件夹 36 | 37 | if (!fs.existsSync(target)) { 38 | fs.mkdirSync(target) 39 | } 40 | 41 | fs.readdirSync(origin).forEach(originName => { 42 | const originFilePath = path.resolve(origin, originName) 43 | 44 | const targetFilePath = path.resolve(target, originName) 45 | 46 | copy(originFilePath, targetFilePath, filterFn) 47 | }) 48 | } else if (filterFn(origin, target)) { 49 | fs.copyFileSync(origin, target) 50 | } 51 | } -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "rewrites": [ 3 | { 4 | "source": "/:path*", 5 | "destination": "/index.html" 6 | } 7 | ], 8 | "headers": [ 9 | { 10 | "source": "/favicon.ico", 11 | "headers": [ 12 | { 13 | "key": "Cache-Control", 14 | "value": "public, max-age=31556952, immutable" 15 | } 16 | ] 17 | }, 18 | { 19 | "source": "/assets/(.*)", 20 | "headers": [ 21 | { 22 | "key": "Cache-Control", 23 | "value": "public, max-age=31556952, immutable" 24 | }, 25 | { 26 | "key": "Accept-Encoding", 27 | "value": "gzip" 28 | } 29 | ] 30 | } 31 | ] 32 | } 33 | --------------------------------------------------------------------------------