Skip to content

Instantly share code, notes, and snippets.

View Lxxyx's full-sized avatar

Lxxyx Lxxyx

View GitHub Profile
@Lxxyx
Lxxyx / api.ts
Last active February 28, 2022 07:14
Upload RFC
import {
Api,
Post,
} from '@midwayjs/hooks'
import {
File,
useFiles
} from '@midwayjs/upload'
@Lxxyx
Lxxyx / idea.md
Last active February 10, 2022 07:39
idea
  • esrun: run npm scripts with esm & ts support
@Lxxyx
Lxxyx / RFC.md
Last active December 30, 2021 06:50
Midway Hooks Frontend Framework Toolkit

简述

开发工具包,为各个前端框架提供快速 & 好用的一体化能力

特性

  • 基于 Vite,上层框架无感
  • 统一脚手架
    • start: 启动生产服务
      • --port=[3000] 应用监听端口
      • --host=[localhost] 应用监听地址
    • dev: 启动开发服务
@Lxxyx
Lxxyx / client.ts
Last active January 17, 2022 03:29
Hooks 3.0 RFC
/**
* [RFC] Hooks Http 客户端
*
* @author Lxxyx
* @version 1.0.0
*
* 特性说明:
* 1. 支持 `Decorate` 语法,自动生成 Query/Params/Headers 参数
* 2. 新增请求中间件
* 3. 新增 `setupHttpClient` 方法,用于自定义客户端
@Lxxyx
Lxxyx / adapter.ts
Last active August 31, 2021 07:02
protocol
interface ProtocolClient {}
interface ProtocolAdapter {}
interface ProtocolLifeCycle {}
interface ProtocolBuilder {
client: ProtocolClient;
adapter: ProtocolAdapter;
@Lxxyx
Lxxyx / useApiClientBuilder.ts
Created August 13, 2021 16:35
useApiClientBuilder.ts
import {
useApiClientMatcher,
createApiClientMatcher,
ProjectConfig
} from '@midwayjs/hooks-core'
import { request } from '@midwayjs/hooks/request'
interface ApiMetadata {
file: string
method: string
@Lxxyx
Lxxyx / operator.ts
Created June 17, 2021 14:05
HTTP Operator
import {
FileType
} from '@midwayjs/hooks'
export default async (
$header, // HTTP Header, Object 类型
$query, // HTTP Query,Object 类型
$param, // HTTP Param,Object 类型
$file: FileType // File,特定类型
) => {
@Lxxyx
Lxxyx / params.ts
Last active June 17, 2021 09:50
文件路由 Params 设计
// 默认情况
// /lambda/article/[id].ts
export default async (id: string) => {
return id
}
export const content = (id: string) => {
// id = req.params.id = 路径
return id
}
import { app } from '@midwayjs/hooks-testing-library'
// 自定义 Conext
/**
* 需求
* 1. 匿名 Context(与请求无关)
* 2. 在函数运行时,支持自定义 Context
*
* 参考
@Lxxyx
Lxxyx / midway.config.js
Last active October 29, 2021 07:10
Pipe
export default defineConfig({
routes: [{
baseDir: 'api',
}]
})