Compare commits

...

12 Commits

Author SHA1 Message Date
8fa1ea3bb0 ci(other): ci脚本换源
All checks were successful
CI Build & Deploy / build-and-deploy-dev (push) Has been skipped
CI Build & Deploy / build-and-deploy-prod (push) Successful in 1m50s
2025-11-05 11:47:42 +08:00
b8116640fc ci: test ci 2025-11-05 11:47:31 +08:00
8aa6424fad ci: test ci 2025-11-05 11:47:19 +08:00
cbf38a87b7 ci: test ci 2025-11-05 11:46:42 +08:00
f35ba89165 ci: test ci 2025-11-05 11:46:24 +08:00
5146fe7932 ci: update ci
All checks were successful
CI Build & Deploy / build-and-deploy-dev (push) Has been skipped
CI Build & Deploy / build-and-deploy-prod (push) Successful in 2m44s
2025-10-31 18:03:40 +08:00
b7980221e7 ci: ci test 2025-10-31 18:03:40 +08:00
101ff278d0 ci: test ci 2025-10-31 18:03:40 +08:00
6e51a2e90c ci: test ci 2025-10-31 18:03:40 +08:00
d6bd167cc5 ci: test ci 2025-10-31 18:03:31 +08:00
9952e47f58 ci: test ci 2025-10-31 18:03:31 +08:00
2f6ad79660 build(deps): 依赖升级 2025-10-31 18:03:31 +08:00
5 changed files with 190 additions and 188 deletions

View File

@@ -1,158 +0,0 @@
kind: pipeline
type: docker
name: default
platform:
os: linux
arch: amd64
steps:
- name: 测试服-依赖安装&&编译打包
pull: if-not-exists
image: node:20-alpine
when:
branch:
- test
commands:
- npm config set registry https://registry.npmmirror.com/
- npm install -g pnpm
- pnpm install
- pnpm build:test
- rm -rf dist.tar
- rm -rf node_modules
- tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile
- name: 正式服-依赖安装&&编译打包
pull: if-not-exists
image: node:20-alpine
when:
branch:
- main
commands:
- npm config set registry https://registry.npmmirror.com/
- npm install -g pnpm
- pnpm install
- pnpm build:prod
- rm -rf dist.tar
- rm -rf node_modules
- tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile
- name: 测试服-产物上传
pull: if-not-exists
image: appleboy/drone-scp
when:
branch:
- test
settings:
host:
from_secret: HOST_DEV
username:
from_secret: USER_DEV
password:
from_secret: PWD_DEV
port: 22
strip_components: 1
target: /www/builder
source:
- ./dist.tar
- name: 测试服-部署
pull: if-not-exists
image: appleboy/drone-ssh
when:
branch:
- test
settings:
host:
from_secret: HOST_DEV
username:
from_secret: USER_DEV
password:
from_secret: PWD_DEV
port: 22
script:
- cd /www/builder
- mkdir jdt-admin-dev
- tar -xzvf dist.tar -C /www/builder/jdt-admin-dev
- rm -rf dist.tar
- cd jdt-admin-dev
- docker build -t jdt-admin-dev .
- docker stop jdt-admin-dev
- docker rm jdt-admin-dev
- docker run -d -p 8085:80 --restart=always --name jdt-admin-dev jdt-admin-dev
- cd ..
- rm -rf jdt-admin-dev
- name: 正式服-产物上传
pull: if-not-exists
image: appleboy/drone-scp
when:
branch:
- main
settings:
host:
from_secret: HOST_PROD
username:
from_secret: USER_PROD
password:
from_secret: PWD_PROD
port: 22
strip_components: 1
target: /www/builder
source:
- ./dist.tar
- name: 正式服-部署
pull: if-not-exists
image: appleboy/drone-ssh
when:
branch:
- main
settings:
host:
from_secret: HOST_PROD
username:
from_secret: USER_PROD
password:
from_secret: PWD_PROD
port: 22
script:
- cd /www/builder
- mkdir jdt-admin-prod
- tar -xzvf dist.tar -C /www/builder/jdt-admin-prod
- rm -rf dist.tar
- cd jdt-admin-prod
- docker build -t jdt-admin-prod .
- docker stop jdt-admin-prod
- docker rm jdt-admin-prod
- docker run -d -p 8085:80 --restart=always --name jdt-admin-prod jdt-admin-prod
- cd ..
- rm -rf jdt-admin-prod
- name: 企业微信通知
pull: if-not-exists
image: plugins/webhook
when:
branch:
- test
- main
status:
- success
- failure
settings:
urls: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a2065e21-4f92-4f5b-a432-2c0cd1d965b5
content_type: application/json
template: |
{
"msgtype": "markdown",
"markdown": {
"content": "{{#success build.status}}✅{{else}}❌{{/success}}**{{ repo.owner }}/{{ repo.name }}** (Build #{{build.number}})\n
>**构建结果**: {{ build.status }}
>**构建详情**: [点击查看]({{ build.link }})
>**代码分支**: {{ build.branch }}
>**提交标识**: {{ build.commit }}
>**提交发起**: {{ build.author }}
>**提交信息**: {{ build.message }}
"
}
}

162
.gitea/workflows/ci.yaml Normal file
View File

@@ -0,0 +1,162 @@
name: CI Build & Deploy
on:
push:
branches:
- test
- main
jobs:
build-and-deploy-dev:
if: gitea.ref_name == 'test'
runs-on: gitea_act_runner
container:
image: node:24-alpine
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: 8
- name: Install deps
run: |
npm config set registry https://registry.npmmirror.com/
pnpm install
- name: Build (test)
run: pnpm build:test
- name: Pack artifacts
run: |
rm -rf dist.tar
tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile
- name: Upload artifacts to server
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.HOST_DEV }}
username: ${{ secrets.USER_DEV }}
password: ${{ secrets.PWD_DEV }}
port: 22
source: 'dist.tar'
target: '/www/builder'
strip_components: 0
- name: Deploy over SSH
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.HOST_DEV }}
username: ${{ secrets.USER_DEV }}
password: ${{ secrets.PWD_DEV }}
port: 22
script: |
set -e
cd /www/builder
rm -rf jdt-admin-dev
mkdir -p jdt-admin-dev
tar -xzvf dist.tar -C /www/builder/jdt-admin-dev
rm -rf dist.tar
cd jdt-admin-dev
docker build -t jdt-admin-dev .
docker stop jdt-admin-dev || true
docker rm jdt-admin-dev || true
docker run -d -p 8085:80 --restart=always --name jdt-admin-dev jdt-admin-dev
cd ..
rm -rf jdt-admin-dev
- name: Notify WeCom (Dev)
if: always()
env:
WEBHOOK_KEY: ${{ secrets.QYWX_WEBHOOK_KEY }}
STATUS: ${{ job.status }}
REPO: ${{ gitea.repository }}
RUN_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_id }}
BRANCH: ${{ gitea.ref_name }}
COMMIT: ${{ gitea.sha }}
ACTOR: ${{ gitea.actor }}
run: |
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories || true
apk add --no-cache curl jq
EMOJI=$( [ "$STATUS" = "success" ] && echo "✅" || echo "❌" )
MSG="$(printf "%s**%s** (Run #%s)\n>**构建结果**: %s\n>**构建详情**: [点击查看](%s)\n>**代码分支**: %s\n>**提交标识**: %s\n>**提交发起**: %s\n" "$EMOJI" "$REPO" "${{ gitea.run_number }}" "$STATUS" "$RUN_URL" "$BRANCH" "$COMMIT" "$ACTOR")"
curl -sS -H 'Content-Type: application/json' -d "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$MSG\"}}" "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY}"
build-and-deploy-prod:
if: gitea.ref_name == 'main'
runs-on: gitea_act_runner
container:
image: node:24-alpine
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: 8
- name: Install deps
run: |
npm config set registry https://registry.npmmirror.com/
pnpm install
- name: Build (prod)
run: pnpm build:prod
- name: Pack artifacts
run: |
rm -rf dist.tar
tar -zcvf dist.tar ./dist ./default.conf ./Dockerfile
- name: Upload artifacts to server
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.HOST_PROD }}
username: ${{ secrets.USER_PROD }}
password: ${{ secrets.PWD_PROD }}
port: 22
source: 'dist.tar'
target: '/www/builder'
strip_components: 0
- name: Deploy over SSH
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.HOST_PROD }}
username: ${{ secrets.USER_PROD }}
password: ${{ secrets.PWD_PROD }}
port: 22
script: |
set -e
cd /www/builder
rm -rf jdt-admin-prod
mkdir -p jdt-admin-prod
tar -xzvf dist.tar -C /www/builder/jdt-admin-prod
rm -rf dist.tar
cd jdt-admin-prod
docker build -t jdt-admin-prod .
docker stop jdt-admin-prod || true
docker rm jdt-admin-prod || true
docker run -d -p 8085:80 --restart=always --name jdt-admin-prod jdt-admin-prod
cd ..
rm -rf jdt-admin-prod
- name: Notify WeCom (Prod)
if: always()
env:
WEBHOOK_KEY: ${{ secrets.QYWX_WEBHOOK_KEY }}
STATUS: ${{ job.status }}
REPO: ${{ gitea.repository }}
RUN_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_id }}
BRANCH: ${{ gitea.ref_name }}
COMMIT: ${{ gitea.sha }}
ACTOR: ${{ gitea.actor }}
run: |
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories || true
apk add --no-cache curl jq
EMOJI=$( [ "$STATUS" = "success" ] && echo "✅" || echo "❌" )
MSG="$(printf "%s**%s** (Run #%s)\n>**构建结果**: %s\n>**构建详情**: [点击查看](%s)\n>**代码分支**: %s\n>**提交标识**: %s\n>**提交发起**: %s\n" "$EMOJI" "$REPO" "${{ gitea.run_number }}" "$STATUS" "$RUN_URL" "$BRANCH" "$COMMIT" "$ACTOR")"
curl -sS -H 'Content-Type: application/json' -d "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$MSG\"}}" "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WEBHOOK_KEY}"

View File

@@ -15,7 +15,6 @@
},
"lint-staged": {
"*.{js,vue}": [
"npx prettier --write --end-of-line lf .",
"eslint --ext .js,.vue ."
]
},
@@ -36,8 +35,8 @@
"@vueuse/core": "^10.11.1",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.13.0",
"dayjs": "^1.11.18",
"axios": "^1.13.1",
"dayjs": "^1.11.19",
"echarts": "^5.6.0",
"file-saver": "^2.0.5",
"jszip": "^3.10.1",
@@ -54,7 +53,7 @@
"devDependencies": {
"@commitlint/cli": "^17.8.1",
"@commitlint/config-conventional": "^17.8.1",
"@iconify/json": "^2.2.401",
"@iconify/json": "^2.2.402",
"@iconify/vue": "^4.3.0",
"@unocss/preset-rem-to-px": "^0.55.7",
"@vitejs/plugin-vue": "^4.6.2",

50
pnpm-lock.yaml generated
View File

@@ -21,11 +21,11 @@ importers:
specifier: ^5.1.12
version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.3.4)
axios:
specifier: ^1.13.0
version: 1.13.0
specifier: ^1.13.1
version: 1.13.1
dayjs:
specifier: ^1.11.18
version: 1.11.18
specifier: ^1.11.19
version: 1.11.19
echarts:
specifier: ^5.6.0
version: 5.6.0
@@ -70,8 +70,8 @@ importers:
specifier: ^17.8.1
version: 17.8.1
'@iconify/json':
specifier: ^2.2.401
version: 2.2.401
specifier: ^2.2.402
version: 2.2.402
'@iconify/vue':
specifier: ^4.3.0
version: 4.3.0(vue@3.3.4)
@@ -556,8 +556,8 @@ packages:
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
'@iconify/json@2.2.401':
resolution: {integrity: sha512-pBz8s09X2Aac6EhpfH1eWcu0Wqwuhgh3gmcoFgkrr6qUR1V2qZyz/TKo2hwGEEyyWqH2kc9t50qHRb0hxoG1/g==}
'@iconify/json@2.2.402':
resolution: {integrity: sha512-c4fqEUW+JrolUzwQJR5m4BgoAGGlTn8YjelJW1kc0k5b45/PztyNtLC+VT7Rwgc/sPYEDB4gwbQJCiwnJRku7A==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
@@ -824,8 +824,8 @@ packages:
'@types/node@20.5.1':
resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==}
'@types/node@24.9.1':
resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==}
'@types/node@24.9.2':
resolution: {integrity: sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -1296,8 +1296,8 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
axios@1.13.0:
resolution: {integrity: sha512-zt40Pz4zcRXra9CVV31KeyofwiNvAbJ5B6YPz9pMJ+yOSLikvPT4Yi5LjfgjRa9CawVYBaD1JQzIVcIvBejKeA==}
axios@1.13.1:
resolution: {integrity: sha512-hU4EGxxt+j7TQijx1oYdAjw4xuIp1wRQSsbMFwSthCWeBQur1eF+qJ5iQ5sN3Tw8YRzQNKb8jszgBdMDVqwJcw==}
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -1706,8 +1706,8 @@ packages:
date-fns@3.6.0:
resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==}
dayjs@1.11.18:
resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==}
dayjs@1.11.19:
resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
@@ -3325,8 +3325,8 @@ packages:
resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
engines: {node: '>=0.10.0'}
ofetch@1.4.1:
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
ofetch@1.5.0:
resolution: {integrity: sha512-A7llJ7eZyziA5xq9//3ZurA8OhFqtS99K5/V1sLBJ5j137CM/OAjlbA/TEJXBuOWwOfLqih+oH5U3ran4za1FQ==}
on-finished@2.3.0:
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
@@ -5127,7 +5127,7 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
'@iconify/json@2.2.401':
'@iconify/json@2.2.402':
dependencies:
'@iconify/types': 2.0.0
pathe: 2.0.3
@@ -5377,7 +5377,7 @@ snapshots:
'@types/conventional-commits-parser@5.0.2':
dependencies:
'@types/node': 24.9.1
'@types/node': 24.9.2
optional: true
'@types/estree@1.0.8': {}
@@ -5409,7 +5409,7 @@ snapshots:
'@types/node@20.5.1': {}
'@types/node@24.9.1':
'@types/node@24.9.2':
dependencies:
undici-types: 7.16.0
@@ -5419,7 +5419,7 @@ snapshots:
'@types/svgo@2.6.4':
dependencies:
'@types/node': 24.9.1
'@types/node': 24.9.2
'@types/web-bluetooth@0.0.20': {}
@@ -5554,7 +5554,7 @@ snapshots:
dependencies:
'@iconify/utils': 2.3.0
'@unocss/core': 0.55.0
ofetch: 1.4.1
ofetch: 1.5.0
transitivePeerDependencies:
- supports-color
@@ -5585,7 +5585,7 @@ snapshots:
'@unocss/preset-web-fonts@0.55.0':
dependencies:
'@unocss/core': 0.55.0
ofetch: 1.4.1
ofetch: 1.5.0
'@unocss/preset-wind@0.55.0':
dependencies:
@@ -6020,7 +6020,7 @@ snapshots:
dependencies:
possible-typed-array-names: 1.1.0
axios@1.13.0:
axios@1.13.1:
dependencies:
follow-redirects: 1.15.11
form-data: 4.0.4
@@ -6491,7 +6491,7 @@ snapshots:
date-fns@3.6.0: {}
dayjs@1.11.18: {}
dayjs@1.11.19: {}
debug@2.6.9:
dependencies:
@@ -8233,7 +8233,7 @@ snapshots:
dependencies:
isobject: 3.0.1
ofetch@1.4.1:
ofetch@1.5.0:
dependencies:
destr: 2.0.5
node-fetch-native: 1.6.7

View File

@@ -186,7 +186,6 @@ const selectOptions = ref([
label: '商家名称',
},
])
const columns = ref([
{
title: '订单号',