@xiao-ying/miniapp-xy-kit
v1.1.0
Published
Reusable kit for XiaoYing backend miniapps
Downloads
82
Readme
@xiao-ying/miniapp-xy-kit
面向小应后端小程序的通用业务套件,基于 miniapp SDK 与 UI 体系封装常用能力与高阶组件。
安装
pnpm add @xiao-ying/miniapp-xy-kit包含内容
- 认证守卫与登录拦截
- 请求客户端中间件(错误提示/登录过期处理)
- 选校相关工具、状态与 UI 组件
- 直传上传辅助
API 概览
createAuthGuardLoader:路由级登录守卫(配合react-router-domloader)。createLoginInterceptor:请求 401 处理(默认触发xy.signIn)。createErrorToastMiddleware/defaultErrorSchema:请求错误 toast 提示。directXyUpload:直传上传(先取 token,再上传文件)。SchoolSelectionProvider/useSchoolSelection:选校状态与数据加载。SchoolSelectionGate/SchoolSelectPanel:选校 UI 组件。useSelectedSchool:轻量选中学校 Hook(env / storage 双源)。
快速示例
认证守卫(React Router):
import { createAuthGuardLoader } from '@xiao-ying/miniapp-xy-kit'
export const loader = createAuthGuardLoader({
redirectTo: '/login'
})请求中间件(miniapp-request):
import { createXyRequestClient } from '@xiao-ying/miniapp-request'
import {
createLoginInterceptor,
createErrorToastMiddleware
} from '@xiao-ying/miniapp-xy-kit'
const client = createXyRequestClient()
client.use(createLoginInterceptor())
client.use(createErrorToastMiddleware())直传上传:
import { directXyUpload } from '@xiao-ying/miniapp-xy-kit'
const res = await directXyUpload({
client,
tokenUrl: '/api/upload/token',
filePath: '/tmp/demo.jpg'
})
console.log(res.url)选校状态:
import { SchoolSelectionProvider, useSelectedSchool } from '@xiao-ying/miniapp-xy-kit'
const App = () => (
<SchoolSelectionProvider>
<YourRoutes />
</SchoolSelectionProvider>
)
const { school, isLocked } = useSelectedSchool()依赖说明
该套件通常与以下包搭配使用:
- @xiao-ying/miniapp-sdk
- @xiao-ying/miniapp-hooks
- @xiao-ying/miniapp-request
- @xiao-ying/miniapp-ui-pro
