当前位置: 首页 > news >正文

pont拉取代码

第一步,配置原始pont-config.json,自动生成pontTemplate.ts文件

第二步,复制pontTemplate.ts中内容,新建自定义文件,粘贴进去代码

import {Interface,BaseClass,Property,CodeGenerator,Surrounding,
} from 'pont-engine';export default class MyGenerator extends CodeGenerator {getInterfaceContentInDeclaration(inter: Interface) {const requestParams = inter.getRequestParams();const paramsCode = inter.getParamsCode('Params');return `export ${paramsCode}export type Response = ${inter.responseType}export const init: Response;export function request(${requestParams}): Promise<Response>;`;}getBaseClassInDeclaration(base: BaseClass) {const originProps = base.properties;base.properties = base.properties.map((prop) => {return new Property({...prop,required: false,});});const result = super.getBaseClassInDeclaration(base);base.properties = originProps;return result;}getInterfaceContent(inter: Interface) {const method = inter.method.toUpperCase();const requestParams = inter.getRequestParams(this.surrounding);const paramsCode = inter.getParamsCode('Params', this.surrounding);const paramsArgs: Property[] = [];if (method === 'POST' || method === 'PUT') {// 纯请求参数const queryArgs: Property[] = paramsArgs.filter((p) => p.in === 'query');if (queryArgs.length > 0) {return `import http from '@/lib/http'import { toURL } from '@/lib/util'/*** ${inter.description}* @param {Object} formData* @param {import('axios').AxiosRequestConfig} config axios 可选配置* @return {Promise<*>}*/export function request(data, config) {data = data || {}const url = toURL("${inter.path}", data)return http.request({ url, method: '${method}', data, ...config });}`;} else {return `import http from '@/lib/http'import { toURL } from '@/lib/util'/*** ${inter.description}* @param {Object} data* @param {import('axios').AxiosRequestConfig} config axios 可选配置* @return {Promise<*>}*/export function request(data, config) {data = data || {}const url = toURL("${inter.path}", data)return http.request({ url, method: '${method}', data, ...config });}`;}}return `import http from '@/lib/http'import { toURL } from '@/lib/util'/*** ${inter.description}** @param {Object} params${paramsArgs.map((p) => ` * @param {string} params.${p.name} ${p.description || ''}`).join('\n')}* @param {import('axios').AxiosRequestConfig} config axios 可选配置** @return {Promise<*>}*/export function request(params, config) {params = params || {}const url = toURL("/mediinfo-lyra-menhu${inter.path}", params)return http.request({ url,method: '${method}', params, ...config });}`;}
}

第三步,替换pont-config.json中的templatePath路径为新建的文件路径,templateType设置为fetch

第四步,使用VScodepont工具生成代码

相关文章:

  • git管理github上的repository(二)
  • 2025 Java 面试大全
  • A 找倍数 (线段树)
  • 嵌入式学习笔记DAY35(数据库)
  • 龙虎榜——20250610
  • 算法题(166):占卜DIY
  • Zustand 状态管理库:极简而强大的解决方案
  • 城市照明深夜全亮太浪费?智能分时调光方案落地贵州某市
  • 精读 2025 《可信数据空间标准体系建设指南》【附全文阅读】
  • ​​扩散模型调度器(Scheduler)
  • MySQL事务——博主总结
  • pycharm最近遇到的一些问题
  • 理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
  • rapidocr v3.1.0发布
  • HDFS 3.4.1 集成Kerberos 实现账户认证
  • 6月10日星期二今日早报简报微语报早读
  • 用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派开发Wifi配网功能
  • Unit 2 训练你的第一个深度强化学习智能体 LunarLander-v3
  • 慢接口优化万能公式-适合所有系统
  • 1.2 git使用
  • 用dw做旅游网站的方法/河南网络推广那家好
  • 做it看日常看哪些网站/关键词优化最好的方法
  • 漫画风格网站/葫岛百度seo
  • 自己建的网站如何做海外推广/网站seo优化总结
  • 在欣欣网上做网站效果如何/十大中文网站排名
  • 如何欣赏网站/浙江疫情最新消息