Cool-Admin项目中如何自定义Sql语句接口
1.修改vue.config.js文件
添加以下代码
"/v1/query": {
target: "http://你的地址/v1/query",
changeOrigin: true,
pathRewrite: {
"^/v1/query": ""
}
},
2.修改cool/service目录下的index.js文件
添加以下代码
async requestGSql(sqlText, timeout = 10000) {
let data = {
type: "bulk",
args: [
{
type: "run_sql",
args: {
sql: `SET LOCAL statement_timeout = ${timeout};`,
cascade: false,
read_only: false
}
},
{
type: "run_sql",
args: {
sql: `${sqlText};`,
cascade: false,
read_only: false
}
}
]
};
var config = {
method: "post",
url: "/v1/query",
data: data,
requestType: true,
headers: {
"x-hasura-admin-secret": "hebeucdio.413",
"content-type": "application/json"
}
};
let res = await request(config);
if (res.length > 1 && res[1].result_type == "TuplesOk") {
return res[1].result;
} else {
return [];
}
}
3.修改/src/service目录下的request.js
在axios.interceptors.response.use里面添加
if (res.config.url.includes("/v1/query")) {
return res.data;
}
4.添加组件相对应的js文件
async getStatics() {
let sqlstr = "自己定义的Sql语句";
const result = await this.requestGSql(sqlstr);
return result;
}
5.最后引用即可
结果: