mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-29 07:33:58 +00:00
feat: 初始化前端项目基础结构
- 添加项目配置文件(tsconfig, eslint, prettier等) - 实现基础路由和页面布局 - 添加全局状态管理和API请求封装 - 集成UI组件库和主题系统 - 添加文档网站和示例页面 - 配置CI/CD和工作流
This commit is contained in:
Vendored
+1
@@ -0,0 +1 @@
|
||||
custom: ['https://github.com/Moonofweisheng/sponsors']
|
||||
@@ -0,0 +1,87 @@
|
||||
name: 向 Wot Starter 反馈 Bug
|
||||
description: 创建一个 Issue 描述你遇到的问题。
|
||||
title: '[Bug 上报] 请在此填写标题'
|
||||
labels: ['🐞bug: need confirm']
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
在向我们提交 Bug 报告前,请优先使用以下方式尝试解决问题:
|
||||
- 在组件文档 [wot-starter](https://starter.wot-ui.cn/) 确认使用方法是否正确
|
||||
- 尝试在 [Issue](https://github.com/wot-ui/wot-starter/issues) 列表中搜索相同问题
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Wot Starter 版本号
|
||||
description: 你正在使用的模板版本号(请填写 package.json 里版本)
|
||||
placeholder: 例如:0.1.1
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: platform
|
||||
attributes:
|
||||
label: 平台
|
||||
multiple: true
|
||||
description: 选择对应的平台
|
||||
options:
|
||||
- h5
|
||||
- 微信小程序
|
||||
- 支付宝小程序
|
||||
- APP
|
||||
- 钉钉小程序
|
||||
- 其他小程序
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: 复现Demo地址(如不提供,将被直接关闭)
|
||||
description: |
|
||||
我们需要你提供一个最小重现demo,以便于我们帮你排查问题。你可以通过 fork 本项目,快速创建一个wot-design-uni项目,并添加相关复现逻辑来提供。不要随便填写一个东西,这会导致你的 issue 被直接关闭。即使在你看来问题很容易复现,也请认真对待,因为一个完整复现demo可以大大提高我们排查问题的效率。
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduce-steps
|
||||
attributes:
|
||||
label: 重现步骤
|
||||
description: |
|
||||
请提供一个最简洁清晰的重现步骤,方便我们快速重现问题。
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: 期望的结果是什么?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: actually-happening
|
||||
attributes:
|
||||
label: 实际的结果是什么?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: uni-app
|
||||
attributes:
|
||||
label: 环境信息
|
||||
description: |
|
||||
在这里填写你的环境信息
|
||||
- 发行平台: [如 微信小程序、H5平台、App等]
|
||||
- 操作系统 [如 iOS 12.1.2、Android 7.0]
|
||||
- HBuilderX版本 [如使用HBuilderX,则需提供 HBuilderX 版本号]
|
||||
- uni-app版本 [如使用Vue-cli创建/运行项目,则提供`npm run info`的运行结果]
|
||||
- 设备信息 [如 iPhone8 Plus]
|
||||
|
||||
- type: textarea
|
||||
id: extra
|
||||
attributes:
|
||||
label: 其他补充信息
|
||||
description: |
|
||||
根据你的分析,出现这个问题的原因可能在哪里,或者你认为可能产生关联的信息:比如 Vue 版本、vite 版本、Node 版本、采用哪种自动引入方案等,或者进行了哪些配置,使用了哪些插件等信息。
|
||||
@@ -0,0 +1,33 @@
|
||||
name: 向 Wot Starter 提出新功能需求
|
||||
description: 创建一个 Issue 描述一下你的功能需求。
|
||||
title: '[新功能需求] 请在此填写标题'
|
||||
labels: ['feature: need confirm']
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
在提交功能需求前,请注意:
|
||||
|
||||
- 确认这是一个通用功能,并且无法通过现有的 API 或 Slot 实现。
|
||||
- 尝试在 [Issue](https://github.com/wot-ui/wot-starter/issues)列表中搜索,并且没有发现同样的需求。
|
||||
- 请确保描述清楚你的需求,以便其他开发者更好地理解你的需求。
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: 这个功能解决了什么问题?
|
||||
description: 请尽可能详细地说明这个功能的使用场景。
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: api
|
||||
attributes:
|
||||
label: 你期望的 API 是什么样子的?
|
||||
description: 描述一下这个新功能的 API,并提供一些代码示例。
|
||||
placeholder: |
|
||||
```xml
|
||||
<wd-interesting some-prop="xxx" />
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
<!-- (将"[ ]"更新为"[x]"以勾选一个框) -->
|
||||
|
||||
### 🤔 这个 PR 的性质是?(至少选择一个)
|
||||
|
||||
- [ ] 日常 bug 修复
|
||||
- [ ] 新特性提交
|
||||
- [ ] 站点、文档改进
|
||||
- [ ] 演示代码改进
|
||||
- [ ] 组件样式/交互改进
|
||||
- [ ] TypeScript 定义更新
|
||||
- [ ] CI/CD 改进
|
||||
- [ ] 包体积优化
|
||||
- [ ] 性能优化
|
||||
- [ ] 功能增强
|
||||
- [ ] 国际化改进
|
||||
- [ ] 代码重构
|
||||
- [ ] 代码风格优化
|
||||
- [ ] 测试用例
|
||||
- [ ] 分支合并
|
||||
- [ ] 其他改动(是关于什么的改动?)
|
||||
|
||||
### 🔗 相关 Issue
|
||||
|
||||
<!--
|
||||
1. 描述相关需求的来源,如相关的 issue 讨论链接。
|
||||
-->
|
||||
|
||||
### 💡 需求背景和解决方案
|
||||
|
||||
<!--
|
||||
1. 要解决的具体问题。
|
||||
2. 列出最终的 API 实现和用法。
|
||||
3. 涉及UI/交互变动需要有截图或 GIF。
|
||||
-->
|
||||
|
||||
|
||||
### ☑️ 请求合并前的自查清单
|
||||
|
||||
⚠️ 请自检并全部**勾选全部选项**。⚠️
|
||||
|
||||
- [ ] 文档已补充或无须补充
|
||||
- [ ] 代码演示已提供或无须提供
|
||||
- [ ] TypeScript 定义已补充或无须补充
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
name: Build and Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop]
|
||||
pull_request:
|
||||
branches: [main, develop]
|
||||
|
||||
jobs:
|
||||
build-and-test:
|
||||
runs-on: windows-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [20.x]
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9.9.0
|
||||
run_install: false
|
||||
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
|
||||
- name: Setup pnpm cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
|
||||
- name: Install dependencies (workspace recursive)
|
||||
run: pnpm -r install --frozen-lockfile
|
||||
|
||||
- name: Test WeChat Mini Program dev mode
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Testing WeChat Mini Program dev mode startup..."
|
||||
timeout 30s pnpm dev:mp-weixin || true
|
||||
echo "✅ WeChat Mini Program dev mode test completed"
|
||||
|
||||
- name: Test H5 dev mode
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Testing H5 dev mode startup..."
|
||||
timeout 30s pnpm dev:h5 || true
|
||||
echo "✅ H5 dev mode test completed"
|
||||
|
||||
- name: Test iOS dev mode
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Testing iOS dev mode startup..."
|
||||
timeout 30s pnpm dev:app-ios || true
|
||||
echo "✅ iOS dev mode test completed"
|
||||
|
||||
- name: Build WeChat Mini Program
|
||||
run: pnpm build:mp-weixin
|
||||
|
||||
- name: Build H5
|
||||
run: pnpm build:h5
|
||||
|
||||
- name: Build iOS
|
||||
run: pnpm build:app-ios
|
||||
|
||||
- name: Upload WeChat Mini Program artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: wechat-miniprogram-build
|
||||
path: dist/build/mp-weixin/
|
||||
retention-days: 7
|
||||
|
||||
- name: Upload H5 artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: h5-build
|
||||
path: dist/build/h5/
|
||||
retention-days: 7
|
||||
|
||||
- name: Upload iOS artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ios-build
|
||||
path: dist/build/app-ios/
|
||||
retention-days: 7
|
||||
|
||||
- name: Build summary
|
||||
run: |
|
||||
echo "## Build and Test Summary" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Development Mode Tests" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ WeChat Mini Program dev mode test completed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ H5 dev mode test completed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ iOS dev mode test completed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Build Results" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ WeChat Mini Program build completed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ H5 build completed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ iOS build completed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "📦 All artifacts uploaded successfully" >> $GITHUB_STEP_SUMMARY
|
||||
- name: Build Docs (VitePress)
|
||||
run: pnpm -C docs run docs:build
|
||||
|
||||
- name: Upload Docs artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docs-build
|
||||
path: docs/.vitepress/dist/
|
||||
retention-days: 7
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [20.x]
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9.9.0
|
||||
run_install: false
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
generate_release_notes: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Generate GitHub Changelog
|
||||
run: pnpx changelogithub
|
||||
continue-on-error: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Release summary
|
||||
run: |
|
||||
echo "## Release Summary" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Version: ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Release Status" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ Release created successfully" >> $GITHUB_STEP_SUMMARY
|
||||
Reference in New Issue
Block a user