原则上,pont只是将swagger返回的接口地址进行封装,所以得出理论上,只要是基于js的项目,如xx小程序,公众号等都可以使用。
比如我的配置如下
pont-config.json
{ "originType": "SwaggerV3", "originUrl": "http://han96.com/api/v3/api-docs", "templatePath": "./pontTemplate", "outDir": "./src/services", "mocks": { "enable": true }, "surrounding": "javaScript", "templateType": "fetch" }
1、main.js引入两个文件
import { createSSRApp } from "vue"; import App from "./App.vue"; import './utils/middleware'; //pont的实现拦截器 import './services/index'; //生成的api export function createApp() { const app = createSSRApp(App); return { app, }; }
2、utils/middleware.js如下
// @ts-nocheck import { PontCore } from '../services/pontCore'; const baseUrl = 'http://han96.com/api'; PontCore.useFetch((url, fetchOption) => { return uni.request({ url: baseUrl+url, ...fetchOption }) });
3、修改生成api里的内容
里边有两个地方用到了window,要将其改为global
4、验证使用
比如某个页面组件内使用
<script setup lang="ts"> const test = async ()=>{ const res = await global.API.article.getList.request({}); console.log(123, res); } </script>