账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ts怎么动态生成类型?
    45
    0
    求助如何动态生成type ModuleName 和 type Service;然后让我在index.tsx中能方便的查看service的类型user.ts:import request from '../request';import { sha256 } from 'js-sha256';import { Payload } from '@/service/request';/** * 用户相关接口请求 */const user = { // 登录 login(param: Payload): Promise<any> { param.loginPwd = sha256(param.loginPwd); return request('/agri/pcweb/user/login', param, 'POST'); }};export default user;index.ts:import { Payload } from '@/service/request';const files = require.context('./module', false, /\.ts$/);type ModuleName = 'user';type Service = Record<ModuleName, {}>;const service = <Service>{};// type ModuleName = keyof typeof service;files.keys().forEach((key: string) => { const fileName = key.replace(/(\.\/|\.ts)/g, '') as ModuleName; service[fileName] = files(key).default;});export default service;index.tsx:import service from '@/service';import { Payload } from '@/service/request';const LoginPage = () => { interface Values extends Payload { loginName: string; loginPwd: string; }; const onLogin = async (values: Values) => values._isMsg = false; values._loading = false; const resp = await service.user.login(values); };}
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部