diff --git a/README.md b/README.md
index b611ec3ba..f903eb7c5 100644
--- a/README.md
+++ b/README.md
@@ -2,12 +2,14 @@
> 你好,我是小傅哥,[《重学Java设计模式》](https://item.jd.com/13218336.html) 图书作者,一线互联网 Java 工程师、架构师。[:pencil2: 虫洞栈,博主](https://bugstack.cn),[:memo: 关于我](https://bugstack.cn/md/other/guide-to-reading.html)
-🚜 **虫洞栈,与你:上最快的车、唠最狠的嗑,爬最高的坡、拿最贵的Offer!**
-
-- 👉 如果你不知道自己要从哪开始、要学什么、有什么结果,请看 [阅读指南](https://bugstack.cn/md/other/guide-to-reading.html) 这是一个码农研发人员提升自身技术栈广度和深度的经验之路,也是小傅哥的亲身学习经历汇总!
-- 👉 如果你是刚入行、在外包、跨语言学习、想跳槽大厂、缺少学习动力等,可以阅读小傅哥的成长故事,这个系列包括了我的个人在外包到大厂的成长、跳槽的过程、互联网的学习经历 Go -> [关于小傅哥](https://bugstack.cn/md/about/me/2020-08-25-13%E5%B9%B4%E6%AF%95%E4%B8%9A%EF%BC%8C%E7%94%A8%E4%B8%A4%E5%B9%B4%E6%97%B6%E9%97%B4%E4%BB%8E%E5%A4%96%E5%8C%85%E8%B5%B0%E8%BF%9B%E4%BA%92%E8%81%94%E7%BD%91%E5%A4%A7%E5%8E%82.html)
-- 👉 推荐 [在线阅读 bugstack.cn](https://bugstack.cn) (Github 访问速度比较慢可能会导致部分图片无法刷新出来)
-- 👉 **【源码下载】** ❤下载指引:小傅哥博客【设计模式、Spring、字节码、插件、中间件等】涉及到的全部源码地址:[Go -> 源码索引](https://github.com/fuzhengwei/CodeGuide#1-%E6%BA%90%E7%A0%81)
+- :dog: 13年毕业,大厂互联网T8架构师,全网40万粉编程知识博主。
+- :man_technologist: 成长:[关于我,从小白到架构师的成长经历](https://www.bilibili.com/video/BV1FF41137q5)
+- :bus: 源码:[`RoadMap 编程路书`](https://github.com/fuzhengwei/RoadMap) | [`Java 数据结构和算法`](https://github.com/fuzhengwei/java-algorithms) | [`IM 仿微信`](https://github.com/fuzhengwei/NaiveChat) | [`Java 面经手册`](https://github.com/fuzhengwei/interview) | [`IntelliJ IDEA 插件开发`](https://github.com/fuzhengwei/guide-idea-plugin) | [`Lottery 抽奖系统 - 基于领域驱动设计的四层架构实践`](https://github.com/fuzhengwei/Lottery) | [`API网关`](https://github.com/fuzhengwei/api-gateway) | [`手写MyBatis`](https://github.com/fuzhengwei/small-mybatis) | [`重学Java设计模式`](https://github.com/fuzhengwei/itstack-demo-design) | [`Netty 实战案例`](https://github.com/fuzhengwei/itstack-demo-netty) | [`字节码编程`](https://github.com/fuzhengwei/itstack-demo-bytecode) | [`ChatGPT AI 问答助手`](https://github.com/fuzhengwei/chatbot-api) | [更多搜索...](https://github.com/fuzhengwei?tab=repositories)
+- :seedling: 干货:[公众号『 bugstack虫洞栈 』](https://bugstack.cn/images/personal/qrcode.png)
+- :pencil: 博客:[bugstack.cn](https://bugstack.cn/) - 足够硬核,内容老狠了!
+- :tv: 视频:[B站 小傅哥の码场](https://space.bilibili.com/15637440)
+- :love_letter: 微信:[fustack](https://bugstack.cn/images/personal/fustack.png) - 备注来意
+- :feet: 我的编程知识星球:[实战生产级项目、手写框架级源码,可以向我 1对1 提问,解答技术/职场/规划问题](https://bugstack.cn/md/zsxq/introduce.html)
@@ -40,7 +42,7 @@
1. **介绍**:关于 虫洞栈 · CodeGuide 的相关介绍请看:[关于`虫洞栈`的一些说明](https://bugstack.cn/md/other/guide-to-reading.html)
2. **贡献**:欢迎参与到 CodeGuide 的维护工作,你可以 `提交Issue`、`处理Issue`、`提交PR(Fork代码库,提交Pull requests) - 另外当你 Fork 代码库后,可以在阅读` [`bugstack.cn`](https://bugstack.cn/) 时,文末点击 “在 GitHub 上编辑此页” 进行提交PR Go -> [操作指导](https://github.com/fuzhengwei/CodeGuide/issues/260)
-3. **PDF**:[《Java 面经手册》](https://download.csdn.net/download/Yao__Shun__Yu/14932325)、[《手撸 Spring》](https://download.csdn.net/download/Yao__Shun__Yu/21009038)、[《字节码编程》](https://download.csdn.net/download/Yao__Shun__Yu/12505051)
+3. **PDF**:[《Java 面经手册》](https://download.csdn.net/download/Yao__Shun__Yu/14932325)、[《字节码编程》](https://download.csdn.net/download/Yao__Shun__Yu/12505051)
4. **小册**:[IM](https://blog.csdn.net/generalfu/category_10400631.html) - Netty4.x + SpringBoot 仿PC微信、[SpringBoot 中间件设计和开发](https://juejin.cn/book/6940996508632219689) - 16个中间件实现,包括测试工程等共计30个代码库,每一章节都会对应有一个中间件的设计和实现
5. **我的书籍**:[《重学Java设计模式》](https://item.jd.com/13218336.html) - 这是一本基于互联网真实案例编写的Java设计模式实践图书。全书以解决方案为核心,从实际开发业务中抽离出交易、营销、规则引擎、中间件、框架源码等22个真实场景,对设计模式进行全面、彻底的分析。
6. **知识星球**:[码农会锁](https://t.zsxq.com/jAi2nUf) - 技术解答/简历批阅/成长指导/内容分享/实战项目 - [《Lottery 抽奖系统 - 基于领域驱动设计的四层架构实践》](https://bugstack.cn/md/project/lottery/introduce/Lottery%E6%8A%BD%E5%A5%96%E7%B3%BB%E7%BB%9F.html)
@@ -702,7 +704,7 @@
-### 8.3 Lottery 分布式抽奖系统 - 👉[**在线阅读**](https://bugstack.cn/md/project/lottery/Part-2/%E7%AC%AC01%E8%8A%82%EF%BC%9A%E5%BC%80%E7%AF%87%E4%BB%8B%E7%BB%8D.html)
+### 8.3 Lottery 分布式抽奖系统 - 👉[**在线阅读**](https://bugstack.cn/md/project/lottery/introduce/Lottery%E6%8A%BD%E5%A5%96%E7%B3%BB%E7%BB%9F.html)
- [Lottery 分布式抽奖系统介绍](https://github.com/fuzhengwei/CodeGuide/blob/master/docs/md/project/lottery/introduce/Lottery%E6%8A%BD%E5%A5%96%E7%B3%BB%E7%BB%9F.md)
diff --git a/build.sh b/build.sh
new file mode 100644
index 000000000..2af146afc
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,11 @@
+# 先切换到指定的 Node.js 版本 sudo n
+NODE_OPTIONS=--max-old-space-size=24096 npm run build
+
+# 优惠券地址;https://bugstack.cn/images/article/zsxq/zsxq-youhuiquan.png
+# node 版本切换;https://www.cnblogs.com/fengchong0925/p/18489658
+# 全局安装;npm install -g n
+# 安装指定node版本;sudo -E n 18.16.0
+# 查看已安装的版本列表;n list
+# 删除指定版本;n rm 16.13.2
+# 切换node版本;sudo n
+# 查看切换版本;node -v npm -v
\ No newline at end of file
diff --git a/docs/.vuepress/components/LockArticle.vue b/docs/.vuepress/components/LockArticle.vue
index 602623f59..cbebdc22f 100644
--- a/docs/.vuepress/components/LockArticle.vue
+++ b/docs/.vuepress/components/LockArticle.vue
@@ -84,7 +84,7 @@
t.getToken().then(function (token) {
$.ajax({
- url: 'https://api.bugstack.cn/interfaces/BlogApi.php',
+ url: 'https://x-api.itedus.cn/api/v1/blog/check',
type: "GET",
dataType: "text",
data: {
@@ -95,7 +95,7 @@
t._lock(articleObj);
} else {
t._unlock(articleObj);
- t.setCookie("_unlock", "success", 7);
+ t.setCookie("_unlock", "success", 45);
}
},
error: function (data) {
@@ -164,16 +164,16 @@
},
getToken: async function () {
- // 浏览器 Cookie true 不限制
- if(navigator.cookieEnabled){
- let value = this.getCookie('BAEID');
- if (!value) {
- return await this.getFingerprintId();
- }
- return value.substring(value.length - 6).toUpperCase();
- } else{
- return await this.getFingerprintId();
- }
+ // 浏览器 Cookie true 不限制
+ if(navigator.cookieEnabled){
+ let value = this.getCookie('BAEID');
+ if (!value) {
+ return await this.getFingerprintId();
+ }
+ return value.substring(value.length - 6).toUpperCase();
+ } else{
+ return await this.getFingerprintId();
+ }
// return await this.getFingerprintId();
},
getFingerprintId: function () {
@@ -205,9 +205,9 @@
if (parts.length === 2)
return parts.pop().split(";").shift();
},
- setCookie: function (name, value, hours){
+ setCookie: function (name, value, day){
let exp = new Date();
- exp.setTime(exp.getTime() + hours*60*60*1000);
+ exp.setTime(exp.getTime() + day*24*60*60*1000);
// ;path=/ cookie全站有效
document.cookie = name + "="+ escape (value) + ";path=/;expires=" + exp.toGMTString();
},
diff --git a/docs/.vuepress/components/PayArticle.vue b/docs/.vuepress/components/PayArticle.vue
index 0c7775520..ca78d464a 100644
--- a/docs/.vuepress/components/PayArticle.vue
+++ b/docs/.vuepress/components/PayArticle.vue
@@ -4,7 +4,7 @@
付费阅读
+ style="position: absolute; left: 50%; top: 70%; bottom: 30px; transform: translate(-50%, -50%); width: 160px; height: 36px; line-height: 36px; font-size: 15px; text-align: center; border: 1px solid rgb(222, 104, 109); color: rgb(222, 104, 109); background: rgb(255, 255, 255); cursor: pointer; border-radius: 6px;">星球会员
diff --git a/docs/.vuepress/components/RoadMap.vue b/docs/.vuepress/components/RoadMap.vue
new file mode 100644
index 000000000..71cd5ab96
--- /dev/null
+++ b/docs/.vuepress/components/RoadMap.vue
@@ -0,0 +1,2259 @@
+If you see this page, the nginx web server is successfully installed and
+working. Further configuration is required.
+
+