feat(base): 添加邮箱注册码功能及用户注册接口

- 在 `sessionManager` 中新增邮件注册码缓存管理实例和相关方法
- 实现生成、保存、验证、删除邮件注册码的逻辑
- 新增 `/reg` 和 `/email` 接口用于用户注册和发送验证码
- 引入 `golang-lru` 依赖以支持限流缓存功能
- 调整包导入顺序,优化代码结构
```
This commit is contained in:
2025-11-04 11:44:07 +08:00
parent 689e7c51e2
commit 699db8406b
34 changed files with 4450 additions and 4 deletions

View File

@@ -0,0 +1,52 @@
name: build
on:
push:
branches: [main]
tags: ["*"]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: set up go 1.19
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: 1.19
id: go
- name: checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: build, test and generate coverage report
run: |
go test -timeout=60s -race -v ./... -coverprofile=coverage.out
go build -race ./...
- name: build and test ARC
working-directory: ./arc
run: |
go test -timeout=60s -race
go build -race
- name: Upload the coverage report
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
path: coverage.out
name: Coverage-report
- name: Display the coverage report
run: go tool cover -func=coverage.out
- name: install golangci-lint
run: curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $GITHUB_WORKSPACE v1.53.3
- name: run golangci-lint
run: $GITHUB_WORKSPACE/golangci-lint run --out-format=github-actions ./... ./simplelru/... ./expirable/...
- name: run golangci-lint on ARC
working-directory: ./arc
run: $GITHUB_WORKSPACE/golangci-lint run --out-format=github-actions ./...

View File

@@ -0,0 +1,20 @@
name: Two-Stage PR Review Process
on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled, ready_for_review, converted_to_draft]
pull_request_review:
types: [submitted]
jobs:
manage-pr-status:
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.0.0
- name: Two stage PR review
uses: hashicorp/two-stage-pr-approval@v0.1.0