ykt-wxapp/utils/api.js

144 lines
3.9 KiB
JavaScript
Raw Normal View History

2026-01-19 18:52:18 +08:00
import request from "./http";
const urlsConfig = {
corp: {
getCorpMemberHomepageInfo: 'getCorpMemberHomepageInfo',
getTeamBaseInfo: 'getTeamBaseInfo',
getTeamData: 'getTeamData',
queryWxJoinedTeams: 'queryWxJoinedTeams',
wxAppLogin: 'wxAppLogin',
2026-01-21 13:37:54 +08:00
getDeptList: 'getRealDeptList',
getHospitalList: 'getRealHospital',
addCorpMember: 'addCorpMember',
2026-01-21 15:27:18 +08:00
getCorpMemberData: 'getCorpMemberData',
2026-01-23 14:36:28 +08:00
updateCorpMember: 'updateCorpMember',
addCorpMemberFromWxapp: "addCorpMemberFromWxapp",
2026-01-23 18:08:14 +08:00
updateCorpMemberFromWxapp: "updateCorpMemberFromWxapp",
2026-01-26 14:52:33 +08:00
submitCertProfile: 'submitCertProfile',
getMemberVerifyStatus: "getMemberVerifyStatus"
2026-01-19 18:52:18 +08:00
},
knowledgeBase: {
2026-01-23 16:09:34 +08:00
getArticleByIds: 'getArticleByIds',
getCommonPhrases: 'getCommonPhrases',
saveCommonPhrase: 'saveCommonPhrase',
deleteCommonPhrase: 'deleteCommonPhrase',
getCommonPhraseCategories: 'getCommonPhraseCategories',
2026-01-26 18:08:01 +08:00
saveCommonPhraseCategory: 'saveCommonPhraseCategory',
// 个人常用语接口
getPersonalPhrases: 'getPersonalPhrases',
savePersonalPhrase: 'savePersonalPhrase',
deletePersonalPhrase: 'deletePersonalPhrase',
getPersonalPhraseCategories: 'getPersonalPhraseCategories',
savePersonalPhraseCategory: 'savePersonalPhraseCategory',
deletePersonalPhraseCategory: 'deletePersonalPhraseCategory',
// 宣教文章接口
getArticleCateList: 'getArticleCateList',
getArticleList: 'getArticleList',
getArticle: 'getArticle',
addArticleSendRecord: 'addArticleSendRecord'
},
survery: {
getSurveyCateList: 'getSurveryCateList',
getSurveyList: 'getList',
createSurveyRecord: 'createRecord',
getSurveyDetail: 'getDetail'
2026-01-19 18:52:18 +08:00
},
member: {
addCustomer: 'add',
bindMiniAppArchive: "bindMiniAppArchive",
getCustomerByCustomerId: 'getCustomerByCustomerId',
getMiniAppCustomers: 'getMiniAppCustomers',
getTeamCustomers: 'getTeamCustomers',
getUnbindMiniAppCustomers: 'getUnbindMiniAppCustomers',
unbindMiniAppArchive: 'unbindMiniAppArchive',
},
wecom: {
addContactWay: 'addContactWay'
2026-01-22 15:13:26 +08:00
},
im: {
getUserSig: 'getUserSig',
sendSystemMessage: "sendSystemMessage",
2026-01-26 18:08:01 +08:00
getChatRecordsByGroupId: "getChatRecordsByGroupId",
sendConsultRejectedMessage: "sendConsultRejectedMessage"
2026-01-19 18:52:18 +08:00
}
2026-01-21 13:37:54 +08:00
2026-01-19 18:52:18 +08:00
}
const urls = Object.keys(urlsConfig).reduce((acc, path) => {
const config = urlsConfig[path] || {};
const keys = Object.keys(config);
keys.forEach((key) => {
const data = acc[key];
if (data) {
throw new Error(`${data[0]}.${data[1]}${path}.${url}重复了`)
}
acc[key] = [path, config[key]]
return acc
})
return acc
}, {})
console.log('urls: ', urls)
export default async function api(urlId, data) {
const config = urls[urlId];
if (!config) {
throw new Error(`Unknown URL ID: ${urlId}`);
}
const [path, type] = config;
return request({
url: `/getYoucanData/${path}`,
data: {
...data,
type,
}
})
2026-01-21 13:37:54 +08:00
}
2026-01-26 18:08:01 +08:00
// 宣教文章相关 API
export async function getArticleCateList(data) {
return api('getArticleCateList', data);
}
export async function getArticleList(data) {
return api('getArticleList', data);
}
export async function getArticle(data) {
return api('getArticle', data);
}
export async function addArticleSendRecord(data) {
return api('addArticleSendRecord', data);
}
// 问卷相关 API
export async function getSurveyCateList(data) {
return api('getSurveyCateList', data);
}
export async function getSurveyList(data) {
return api('getSurveyList', data);
}
export async function createSurveyRecord(data) {
return api('createSurveyRecord', data);
}
export async function getSurveyDetail(data) {
return api('getSurveyDetail', data);
}
// IM 系统消息相关 API
export async function sendConsultRejectedMessage(data) {
return request({
url: '/getYoucanData/im',
data: {
type: 'sendConsultRejectedMessage',
...data
}
});
}