From 758e4621ce4d51ad6ec3b1640288a5bc0a7b59b2 Mon Sep 17 00:00:00 2001 From: Stille Date: Fri, 5 Aug 2022 13:51:40 +0800 Subject: [PATCH] update to support short url --- README.md | 10 +++--- package-lock.json | 44 +++++++++++++++++++++++--- package.json | 5 +-- public/conf/config.js | 1 + src/network/index.js | 9 ++++++ src/views/home/HomeForm.vue | 62 ++++++++++++++++++++++++++++++++++--- start.sh | 5 +++ vue.config.js | 1 + 8 files changed, 121 insertions(+), 16 deletions(-) create mode 100644 src/network/index.js diff --git a/README.md b/README.md index 09c2982..a15a616 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ docker run -d --name subweb --restart always \ 访问 `http://127.0.0.1:18080` -### docker 自定义版 -自定义版可以挂载配置文件来修改`API 地址`,`站点名称`,`导航链接`. +### docker 自定义版 + 短链接版 +自定义版可以挂载配置文件来修改`API 地址`,`短链接地址`,`站点名称`,`导航链接`. 参考以下命令,修改本地挂载路径,启动容器后会生成`config.js`配置文件,更改后刷新生效. ```shell @@ -34,19 +34,21 @@ docker run -d --name subweb --restart always \ stilleshan/subweb ``` -同时也可以不挂载目录,直接通过`-e`环境变量来修改`API 地址`和`站点名称`,但是无法修改`导航链接`. +同时也可以不挂载目录,直接通过`-e`环境变量来修改`API 地址`,`短链接地址`和`站点名称`,但是无法修改`导航链接`. +`注意:以下域名请严格填写 http/https 协议,结尾不要 /` ```shell docker run -d --name subweb --restart always \ -p 18080:80 \ -e SITE_NAME=subweb \ -e API_URL=https://sub.ops.ci \ + -e SHORT_URL=https://s.ops.ci \ stilleshan/subweb ``` 访问 `http://127.0.0.1:18080` > *推荐使用 nginx 反向代理部署* -### subweb + subconverter 合并进阶版 +### subweb + subconverter + myurls 合并进阶版 详情查看 [stilleshan/sub](https://github.com/stilleshan/dockerfiles/tree/main/sub) ## 链接 diff --git a/package-lock.json b/package-lock.json index cf51312..8a7ff21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2654,6 +2654,11 @@ "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", @@ -2674,6 +2679,15 @@ "postcss-value-parser": "^4.2.0" } }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "babel-loader": { "version": "8.2.5", "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.2.5.tgz", @@ -3142,6 +3156,14 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", @@ -3691,6 +3713,11 @@ "object-keys": "^1.1.1" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", @@ -4595,8 +4622,17 @@ "follow-redirects": { "version": "1.15.1", "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } }, "forwarded": { "version": "0.2.0", @@ -5699,14 +5735,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "requires": { "mime-db": "1.52.0" } diff --git a/package.json b/package.json index 20f622c..66236a3 100644 --- a/package.json +++ b/package.json @@ -8,11 +8,12 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "axios": "^0.27.2", "core-js": "^3.8.3", + "element-plus": "^2.1.4", "mitt": "^3.0.0", "vue": "^3.2.13", - "vue-router": "^4.0.3", - "element-plus": "^2.1.4" + "vue-router": "^4.0.3" }, "devDependencies": { "@babel/core": "^7.12.16", diff --git a/public/conf/config.js b/public/conf/config.js index 5460480..4dbd9b8 100644 --- a/public/conf/config.js +++ b/public/conf/config.js @@ -1,6 +1,7 @@ window.config = { siteName: 'Subconverter Web', apiUrl: 'http://127.0.0.1:25500', + shortUrl: 'https://s.ops.ci', menuItem: [ { title: '首页', diff --git a/src/network/index.js b/src/network/index.js new file mode 100644 index 0000000..5140d64 --- /dev/null +++ b/src/network/index.js @@ -0,0 +1,9 @@ +import axios from 'axios'; + +export function request(config) { + const instance = axios.create({ + timeout: 5000, + }); + + return instance(config); +} diff --git a/src/views/home/HomeForm.vue b/src/views/home/HomeForm.vue index c6e4771..d6edcb7 100644 --- a/src/views/home/HomeForm.vue +++ b/src/views/home/HomeForm.vue @@ -120,7 +120,29 @@ > + +
+ +
+
+
@@ -135,6 +157,7 @@ diff --git a/start.sh b/start.sh index 3fe55cf..f45df26 100755 --- a/start.sh +++ b/start.sh @@ -11,6 +11,11 @@ else echo "如需修改请在容器启动时使用 -e API_URL='https://sub.ops.ci' 传递环境变量" fi +if [ $SHORT_URL ]; then + echo "当前短链接地址为: $API_URL" + sed -i "s#https://s.ops.ci#$SHORT_URL#g" /usr/share/nginx/html/conf/config.js +fi + if [ $SITE_NAME ]; then sed -i "s#Subconverter Web#$SITE_NAME#g" /usr/share/nginx/html/conf/config.js fi diff --git a/vue.config.js b/vue.config.js index 690bf7d..9f44b44 100644 --- a/vue.config.js +++ b/vue.config.js @@ -9,6 +9,7 @@ module.exports = defineConfig({ assets: '@/assets', components: '@/components', views: '@/views', + network: '@/network', }, }, },