Skip to content

Commit

Permalink
docs:文档更新
Browse files Browse the repository at this point in the history
  • Loading branch information
FleyX committed Dec 1, 2023
1 parent 523698a commit b0b608d
Show file tree
Hide file tree
Showing 5 changed files with 132 additions and 85 deletions.
24 changes: 16 additions & 8 deletions DEPLOY.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
本程序基于 docker 来进行部署,使用 docker-compose 管理服务。

部署过程如下:
**注意,仅在 x86 环境下测试,arm 下不保证可用性(目前测试可用)**

**注意,仅在 x86 环境下测试,arm下不保证可用性(目前测试可用)**
## 首次部署

1. 安装新版的 docker,docker-compose,zip(注意:以下操作均在项目根目录下执行)
2. 修改.env 文件中的参数,改为你的实际配置
3. 修改`浏览器插件/bookmarkBrowserPlugin/static/js/config.js`中的 bookmarkHost,改为你的实际部署路径
4. 修改`浏览器插件/bookmarkBrowserPlugin/tab/index.html`中的`<meta http-equiv="Refresh" content="0;url=https://bm.fleyx.com" />`,将 url 改为你的实际部署地址
5. 执行`build.sh`编译前后端代码
6. root 权限运行 `docker-compose up -d` 启动服务。
0. 克隆代码`git clone https://github.com/FleyX/bookmark.git`
1. 进入文件夹`cd bookmark`
2. 安装新版的 docker,docker-compose,zip `apt install docker docker-compose zip`
3. 修改.env 文件中的参数,改为你的实际配置
4. 修改`浏览器插件/bookmarkBrowserPlugin/static/js/config.js`中的 bookmarkHost,改为你的实际部署路径
5. 修改`浏览器插件/bookmarkBrowserPlugin/tab/index.html`中的`<meta http-equiv="Refresh" content="0;url=https://bm.fleyx.com" />`,将 url 改为你的实际部署地址
6. 执行`build.sh`编译前后端代码 `bash build.sh`
7. root 权限运行 `docker-compose up -d` 启动服务。

## 更新系统

0. 代码库更新`cd bookmark;git pull`
1. 执行`build.sh`编译前后端代码 `bash build.sh`
2. root 权限运行 `docker-compose restart` 启动服务
12 changes: 11 additions & 1 deletion bookmark_front/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,21 @@

<script>
export default {
name: "App"
name: "App",
mounted() {
window.qieziStatisticKey = "b74c4b571b644782a837433209827874";
let script = document.createElement("script");
script.type = "text/javascript";
script.defer = true;
script.src = "https://qiezi.fleyx.com/qiezijs/1.0/qiezi_statistic.min.js";
document.getElementsByTagName("head")[0].appendChild(script);
}
};
</script>

<style lang="less">
@import "./global.less";
html,
body {
margin: 0;
Expand All @@ -20,6 +29,7 @@ body {
background-color: @bgColor;
height: initial;
}
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
Expand Down
121 changes: 61 additions & 60 deletions bookmark_front/src/util/HttpUtil.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,54 +12,54 @@ import router from "../router/index";
* @param {*} redirect 接口返回未认证是否跳转到登陆
* @returns 数据
*/
async function request (url, method, params, body, isForm, redirect) {
let options = {
url,
baseURL: "/bookmark/api",
method,
params,
headers: {
"jwt-token": window.jwtToken
}
};
//如果是表单类型的请求,添加请求头
if (isForm) {
options.headers["Content-Type"] = "multipart/form-data";
}
if (body) {
options.data = body;
}
let res;
try {
res = await http.default.request(options);
} catch (err) {
window.vueInstance.$message.error("网络连接异常");
console.error(err);
throw err;
}
const { code, data, message } = res.data;
if (code === 1) {
return data;
} else if (code === -1 && redirect) {
//未登陆,根据redirect参数判断是否需要跳转到登陆页
window.vueInstance.$message.error("您尚未登陆,请先登陆");
//跳转到登录页面需要清理缓存
await this.$store.dispatch("treeData/clear");
await this.$store.dispatch("globalConfig/clear");
router.replace(`/public/login?redirect=${encodeURIComponent(router.currentRoute.fullPath)}`);
throw new Error(message);
} else if (code === 0) {
//通用异常,使用error提示
window.vueInstance.$notification.error({
message: "异常",
description: message
});
throw new Error(message);
} else if (code === -2) {
//表单异常,使用message提示
window.vueInstance.$message.error(message);
throw new Error(message);
}
async function request(url, method, params, body, isForm, redirect) {
let options = {
url,
baseURL: "/bookmark/api",
method,
params,
headers: {
"jwt-token": window.jwtToken
}
};
//如果是表单类型的请求,添加请求头
if (isForm) {
options.headers["Content-Type"] = "multipart/form-data";
}
if (body) {
options.data = body;
}
let res;
try {
res = await http.default.request(options);
} catch (err) {
window.vueInstance.$message.error("网络连接异常");
console.error(err);
throw err;
}
const { code, data, message } = res.data;
if (code === 1) {
return data;
} else if (code === -1 && redirect) {
//未登陆,根据redirect参数判断是否需要跳转到登陆页
window.vueInstance.$message.error("您尚未登陆,请先登陆");
//跳转到登录页面需要清理缓存
await this.$store.dispatch("treeData/clear");
await this.$store.dispatch("globalConfig/clear");
router.replace(`/public/login?redirect=${encodeURIComponent(router.currentRoute.fullPath)}`);
throw new Error(message);
} else if (code === 0) {
//通用异常,使用error提示
window.vueInstance.$notification.error({
message: "异常",
description: message
});
throw new Error(message);
} else if (code === -2) {
//表单异常,使用message提示
window.vueInstance.$message.error(message);
throw new Error(message);
}
}

/**
Expand All @@ -68,8 +68,8 @@ async function request (url, method, params, body, isForm, redirect) {
* @param {*} params url参数
* @param {*} redirect 未登陆是否跳转到登陆页
*/
async function get (url, params = null, redirect = true) {
return request(url, "get", params, null, false, redirect);
async function get(url, params = null, redirect = true) {
return request(url, "get", params, null, false, redirect);
}

/**
Expand All @@ -80,8 +80,8 @@ async function get (url, params = null, redirect = true) {
* @param {*} isForm 是否表单数据
* @param {*} redirect 是否重定向
*/
async function post (url, params, body, isForm = false, redirect = true) {
return request(url, "post", params, body, isForm, redirect);
async function post(url, params, body, isForm = false, redirect = true) {
return request(url, "post", params, body, isForm, redirect);
}

/**
Expand All @@ -92,8 +92,8 @@ async function post (url, params, body, isForm = false, redirect = true) {
* @param {*} isForm 是否表单数据
* @param {*} redirect 是否重定向
*/
async function put (url, params, body, isForm = false, redirect = true) {
return request(url, "put", params, body, isForm, redirect);
async function put(url, params, body, isForm = false, redirect = true) {
return request(url, "put", params, body, isForm, redirect);
}

/**
Expand All @@ -102,13 +102,14 @@ async function put (url, params, body, isForm = false, redirect = true) {
* @param {*} params url参数
* @param {*} redirect 是否重定向
*/
async function deletes (url, params = null, redirect = true) {
return request(url, "delete", params, null, redirect);
async function deletes(url, params = null, redirect = true) {
return request(url, "delete", params, null, redirect);
}

export default {
get,
post,
put,
delete: deletes
get,
post,
put,
delete: deletes,
http
};
56 changes: 40 additions & 16 deletions bookmark_front/src/views/public/about/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,23 @@
源码地址:
<a href="https://github.com/FleyX/bookmark" target="_blank">github.com/FleyX/bookmark</a>
</div>
<div>
当前版本:{{ appVersion }}&emsp;&emsp;<a v-if="showNewVersion"
href="https://github.com/FleyX/bookmark/blob/master/DEPLOY.md">最新版本:{{ latestVersion
}}</a>
</div>
<div>
使用教程:
<a href="https://blog.fleyx.com/blog/detail/20220329" target="_blank">点击跳转</a>
</div>
<div>
浏览器插件:
<a href="/static/bookmarkBrowserPlugin.zip" download="浏览器插件.zip" target="_blank">最新版本{{ serverConfig.map.pluginVersion }}(注意更新)</a>
<a href="/static/bookmarkBrowserPlugin.zip" download="浏览器插件.zip"
target="_blank">最新版本{{ serverConfig.map.pluginVersion }}(注意更新)</a>
,使用详情请参考使用教程
</div>
<div>交流反馈qq群:150056494,邮箱:[email protected]</div>
<div>
统计:
<a href="https://qiezi.fleyx.com" style="" target="_blank">
<div id="qieziStatisticHtmlHostPv" style="display: none">
总访问次数:
Expand All @@ -36,27 +41,46 @@
<script>
import { mapState } from "vuex";
import { GLOBAL_CONFIG, SERVER_CONFIG } from "@/store/modules/globalConfig";
import httpUtil from "@/util/HttpUtil";
export default {
name: "about",
data() {
return { version: "" };
return {
appVersion: "1.4", //应用版本
latestVersion: null,
showNewVersion: false
};
},
computed: { ...mapState(GLOBAL_CONFIG, [SERVER_CONFIG]) },
mounted() {
window.qieziStatisticKey = "b74c4b571b644782a837433209827874";
let script = document.createElement("script");
script.type = "text/javascript";
script.defer = true;
script.src = "https://qiezi.fleyx.com/qiezijs/1.0/qiezi_statistic.min.js";
document.getElementsByTagName("head")[0].appendChild(script);
async mounted() {
let serverConfig = this.$store.state[GLOBAL_CONFIG + "/" + SERVER_CONFIG];
console.log(serverConfig);
if (serverConfig.map.pluginVersion) {
this.version = serverConfig.map.pluginVersion;
}
//获取最新版本
let res = await httpUtil.http.default.get("https://s3.fleyx.com/picbed/bookmark/config.json");
console.log(res);
this.latestVersion = res.data.latestAppVersion;
this.showNewVersion = this.checkVersion(this.appVersion, this.latestVersion);
},
};
methods: {
checkVersion: function(version, latestVersion) {
let versions = version.split(".");
let latestVersions = latestVersion.split(".");
for (let i = 0; i < versions.length; i++) {
if (i >= latestVersions.length) {
return false;
}
let versionNum = parseInt(versions[i]);
let latestVersionNum = parseInt(latestVersions[i]);
if (versionNum !== latestVersionNum) {
return versionNum < latestVersionNum;
}
}
return true;
}
}
}
;
</script>

<style lang="less" scoped></style>
4 changes: 4 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ services:
- ./data/mysql/my.cnf:/etc/mysql/my.cnf
- /etc/localtime:/etc/localtime
- ./data/timezone:/etc/timezone
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=bookmark
Expand All @@ -25,6 +26,7 @@ services:
- /etc/localtime:/etc/localtime
- ./data/timezone:/etc/timezone
- ./data/redis:/data
restart: unless-stopped
networks:
- bookmark

Expand All @@ -38,6 +40,7 @@ services:
- ./bookmark_front/dist:/opt/dist
- ./data/nginx/nginx.conf:/etc/nginx/nginx.conf
- ${BOOKMARK_FILE_SAVE_PATH}/files/public:/opt/files/public
restart: unless-stopped
ports:
- 8080:8080

Expand All @@ -60,6 +63,7 @@ services:
- ./bookMarkService/web/target/bookmark-web-1.0-SNAPSHOT.jar:/opt/app/service.jar
- ${BOOKMARK_FILE_SAVE_PATH}:/opt/files
working_dir: /opt/app
restart: unless-stopped
command:
- /bin/bash
- -c
Expand Down

0 comments on commit b0b608d

Please sign in to comment.