|
@@ -50,6 +50,44 @@ export const phoneLogin = (data) => {
|
|
|
return request('/api/auth/phone-login', 'POST', data)
|
|
return request('/api/auth/phone-login', 'POST', data)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// ===================== 街道地址相关 =====================
|
|
|
|
|
+
|
|
|
|
|
+// 获取所有省份
|
|
|
|
|
+export const getProvinces = () => {
|
|
|
|
|
+ return request('/api/streets/provinces')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 根据父级ID获取子级地址
|
|
|
|
|
+export const getStreetChildren = (parentId) => {
|
|
|
|
|
+ return request(`/api/streets/children/${parentId}`)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 根据ID获取地址详情
|
|
|
|
|
+export const getStreetById = (id) => {
|
|
|
|
|
+ return request(`/api/streets/${id}`)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取地址完整路径
|
|
|
|
|
+export const getStreetPath = (id) => {
|
|
|
|
|
+ return request(`/api/streets/${id}/path`)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 搜索地址
|
|
|
|
|
+export const searchStreet = (keyword) => {
|
|
|
|
|
+ return request('/api/streets/search', 'GET', { keyword })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 区域匹配
|
|
|
|
|
+export const matchByStreet = (streetId) => {
|
|
|
|
|
+ return request(`/api/streets/${streetId}/match`)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 按区域统计
|
|
|
|
|
+export const getStreetStats = (level = 4) => {
|
|
|
|
|
+ return request('/api/streets/stats', 'GET', { level })
|
|
|
|
|
+}
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// 微信手机号登录(新版)
|
|
// 微信手机号登录(新版)
|
|
|
export const wechatPhoneLogin = (data) => {
|
|
export const wechatPhoneLogin = (data) => {
|
|
|
return request('/api/auth/wechat-phone-login', 'POST', data)
|
|
return request('/api/auth/wechat-phone-login', 'POST', data)
|
|
@@ -251,3 +289,124 @@ export const exchangeParentWishlist = (id) => {
|
|
|
export const approveParentWishlist = (id, approved) => {
|
|
export const approveParentWishlist = (id, approved) => {
|
|
|
return request(`/api/parent/wishlist/${id}/approve`, 'POST', { approved })
|
|
return request(`/api/parent/wishlist/${id}/approve`, 'POST', { approved })
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+// =============================================
|
|
|
|
|
+// 指导师-套餐模块
|
|
|
|
|
+// =============================================
|
|
|
|
|
+// 生成绑定邀请
|
|
|
|
|
+export const generateBindInvite = () => {
|
|
|
|
|
+ return request('/api/guide/bind/invite', 'POST')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取绑定的家庭列表
|
|
|
|
|
+export const getBoundFamilies = () => {
|
|
|
|
|
+ return request('/api/guide/families', 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 确认绑定家庭
|
|
|
|
|
+export const confirmBind = (data) => {
|
|
|
|
|
+ return request('/api/guide/bind/confirm', 'POST', data)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 解除绑定
|
|
|
|
|
+export const unbindFamily = (id) => {
|
|
|
|
|
+ return request(`/api/guide/bind/${id}`, 'DELETE')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 创建套餐
|
|
|
|
|
+export const createPackage = (data) => {
|
|
|
|
|
+ return request('/api/packages', 'POST', data)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 更新套餐
|
|
|
|
|
+export const updatePackage = (id, data) => {
|
|
|
|
|
+ return request(`/api/packages/${id}`, 'PUT', data)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取套餐详情
|
|
|
|
|
+export const getPackage = (id) => {
|
|
|
|
|
+ return request(`/api/packages/${id}`, 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取我的套餐列表
|
|
|
|
|
+export const getMyPackages = () => {
|
|
|
|
|
+ return request('/api/packages', 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 提交审核
|
|
|
|
|
+export const submitPackageForReview = (id) => {
|
|
|
|
|
+ return request(`/api/packages/${id}/submit`, 'POST')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 发布/下架
|
|
|
|
|
+export const publishPackage = (id, publish) => {
|
|
|
|
|
+ return request(`/api/packages/${id}/publish`, 'POST', {}, { publish })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 添加任务项
|
|
|
|
|
+export const addPackageItem = (packageId, data) => {
|
|
|
|
|
+ return request(`/api/packages/${packageId}/items`, 'POST', data)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 更新任务项
|
|
|
|
|
+export const updatePackageItem = (itemId, data) => {
|
|
|
|
|
+ return request(`/api/packages/items/${itemId}`, 'PUT', data)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 删除任务项
|
|
|
|
|
+export const deletePackageItem = (itemId) => {
|
|
|
|
|
+ return request(`/api/packages/items/${itemId}`, 'DELETE')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取套餐任务项
|
|
|
|
|
+export const getPackageItems = (packageId) => {
|
|
|
|
|
+ return request(`/api/packages/${packageId}/items`, 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// =============================================
|
|
|
|
|
+// 家长-套餐市场模块
|
|
|
|
|
+// =============================================
|
|
|
|
|
+// 获取公开套餐列表
|
|
|
|
|
+export const getPublicPackages = (category) => {
|
|
|
|
|
+ return request('/api/market/packages', 'GET', { category })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 通过分享码获取套餐
|
|
|
|
|
+export const getPackageByShareCode = (code) => {
|
|
|
|
|
+ return request(`/api/market/share/${code}`, 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 购买并应用套餐
|
|
|
|
|
+export const purchasePackage = (packageId, data) => {
|
|
|
|
|
+ return request(`/api/market/packages/${packageId}/purchase`, 'POST', data)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取我的任务计划
|
|
|
|
|
+export const getMyPlans = () => {
|
|
|
|
|
+ return request('/api/market/plans', 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取计划详情
|
|
|
|
|
+export const getPlanDetail = (id) => {
|
|
|
|
|
+ return request(`/api/market/plans/${id}`, 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取计划任务项
|
|
|
|
|
+export const getPlanItems = (planId) => {
|
|
|
|
|
+ return request(`/api/market/plans/${planId}/items`, 'GET')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 取消计划
|
|
|
|
|
+export const cancelPlan = (id) => {
|
|
|
|
|
+ return request(`/api/market/plans/${id}/cancel`, 'POST')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 确认绑定指导师
|
|
|
|
|
+export const acceptBind = (data) => {
|
|
|
|
|
+ return request('/api/bind/accept', 'POST', data)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 获取绑定的指导师列表
|
|
|
|
|
+export const getBoundGuides = () => {
|
|
|
|
|
+ return request('/api/bind/guides', 'GET')
|
|
|
|
|
+}
|