- 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积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
