You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

172 lines
6.4 KiB

1 week ago
import tui from './httpRequest'
function unwrap(res) {
if (!res) return null
if (res.success === false) {
uni.showToast({ title: res.message || '请求失败', icon: 'none', duration: 3200 })
return null
}
return res.result !== undefined ? res.result : res
}
function extractUploadUrl(fileObj) {
if (!fileObj) return ''
if (typeof fileObj === 'string') return fileObj
return fileObj.url || fileObj.fileUrl || fileObj.path || fileObj.fullPath || ''
}
function buildQuery(data = {}) {
const query = Object.keys(data)
.filter(key => data[key] !== undefined && data[key] !== null && data[key] !== '')
.map(key => encodeURIComponent(key) + '=' + encodeURIComponent(data[key]))
.join('&')
return query ? '?' + query : ''
}
export function uploadFishImage(path) {
return tui.uploadFile('/upload/file', path).then(extractUploadUrl)
}
1 week ago
export async function uploadFishReleaseImage(path) {
const url = await tui.uploadFile('/upload/file', path).then(extractUploadUrl)
if (!url) return { url: '', passed: false, message: '图片上传失败,请稍后重试' }
const res = await tui.request('/app/fishmarket/images/audit', 'POST', { url }, false, false, true)
if (res && res.success !== false) {
const auditResult = res.result !== undefined ? res.result : res
return auditResult && auditResult.passed ? { url, passed: true } : { url: '', passed: false, message: '图片审核未通过,请更换图片' }
}
return { url: '', passed: false, message: (res && res.message) || '图片审核未通过,请更换图片' }
}
1 week ago
export function pageFishGoods(data = {}) {
return tui.request('/app/fishmarket/goods/page', 'POST', data, false, false, true).then(unwrap)
}
export function pageFishWants(data = {}) {
return tui.request('/app/fishmarket/wants/page', 'POST', data, false, false, true).then(unwrap)
}
export function getFishGoodsDetail(id) {
return tui.request(`/app/fishmarket/goods/${id}`, 'GET', {}, false, true, true).then(unwrap)
}
1 week ago
export function getFishWantDetail(id) {
return tui.request(`/app/fishmarket/wants/${id}`, 'GET', {}, false, true, true).then(unwrap)
}
1 week ago
export function publishFishGoods(data) {
return tui.request('/app/fishmarket/goods', 'POST', data, false, false, false).then(unwrap)
}
export function publishFishWant(data) {
return tui.request('/app/fishmarket/wants', 'POST', data, false, false, false).then(unwrap)
}
export function listFishCategories(regionId = '') {
return tui.request('/app/fishmarket/categories', 'GET', { regionId }, false, true, true).then(unwrap)
}
export function toggleFishFavorite(goodsId) {
return tui.request(`/app/fishmarket/goods/${goodsId}/favorite`, 'POST', {}, false, false, true).then(unwrap)
}
export function toggleFishLike(data) {
return tui.request('/app/fishmarket/like' + buildQuery(data), 'POST', {}, false, false, true).then(unwrap)
}
export function addFishComment(data) {
return tui.request('/app/fishmarket/comments', 'POST', data, false, false, false).then(unwrap)
}
export function pageFishComments(goodsId, pageNum = 1, pageSize = 10) {
return tui.request('/app/fishmarket/comments/page', 'GET', { goodsId, pageNum, pageSize }, false, true, true).then(unwrap)
}
1 week ago
export function getFishUnreadSummary() {
return tui.request('/app/fishmarket/unread/summary', 'GET', {}, false, true, true).then(unwrap)
}
7 days ago
export function markAllFishUnreadRead() {
return tui.request('/app/fishmarket/unread/read-all', 'POST', {}, false, false, true).then(unwrap)
}
1 week ago
export function deleteFishComment(id) {
return tui.request(`/app/fishmarket/comments/${id}`, 'DELETE', {}, false, false, true).then(unwrap)
}
export function submitFishComplaint(data) {
return tui.request('/app/fishmarket/complaints', 'POST', data, false, false, false).then(unwrap)
}
export function createFishChatSession(goodsId) {
return tui.request(`/app/fishmarket/goods/${goodsId}/chat`, 'POST', {}, false, false, false).then(unwrap)
}
1 week ago
export function createFishWantChatSession(wantId) {
return tui.request(`/app/fishmarket/wants/${wantId}/chat`, 'POST', {}, false, false, false).then(unwrap)
}
1 week ago
export function getFishChatSession(sessionId) {
return tui.request(`/app/fishmarket/chat/sessions/${sessionId}`, 'GET', {}, false, true, true).then(unwrap)
}
export function pageFishChatMessages(sessionId, pageNum = 1, pageSize = 20) {
return tui.request(`/app/fishmarket/chat/sessions/${sessionId}/messages/page`, 'GET', { pageNum, pageSize }, false, true, true).then(unwrap)
}
export function sendFishChatMessage(data) {
return tui.request('/app/fishmarket/chat/messages', 'POST', data, false, false, false).then(unwrap)
}
export function pageMyFishGoods(data = {}) {
return tui.request('/app/fishmarket/my/goods', 'POST', data, false, false, true).then(unwrap)
}
export function pageMyFishWants(data = {}) {
return tui.request('/app/fishmarket/my/wants', 'POST', data, false, false, true).then(unwrap)
}
export function updateMyFishGoodsStatus(data) {
return tui.request('/app/fishmarket/my/goods/status', 'POST', data, false, false, false).then(unwrap)
}
export function updateMyFishWantStatus(data) {
return tui.request('/app/fishmarket/my/wants/status', 'POST', data, false, false, false).then(unwrap)
}
export function pageMyFishFavorites(data = {}) {
return tui.request('/app/fishmarket/my/favorites', 'POST', data, false, false, true).then(unwrap)
}
export function pageMyFishBrowse(data = {}) {
return tui.request('/app/fishmarket/my/browse', 'POST', data, false, false, true).then(unwrap)
}
export function pageMyFishSessions(data = {}) {
return tui.request('/app/fishmarket/my/sessions', 'POST', data, false, false, true).then(unwrap)
}
7 days ago
export function deleteMyFishSessionMessage(id) {
return tui.request(`/app/fishmarket/my/sessions/${id}`, 'DELETE', {}, false, false, true).then(unwrap)
}
1 week ago
export function pageMyFishMessageComments(data = {}) {
return tui.request('/app/fishmarket/my/message-comments', 'POST', data, false, false, true).then(unwrap)
}
7 days ago
export function deleteMyFishCommentMessage(id) {
return tui.request(`/app/fishmarket/my/message-comments/${id}`, 'DELETE', {}, false, false, true).then(unwrap)
}
1 week ago
export function pageMyFishComments(data = {}) {
return tui.request('/app/fishmarket/my/comments', 'POST', data, false, false, true).then(unwrap)
}
export function pageMyFishLikes(data = {}) {
return tui.request('/app/fishmarket/my/likes', 'POST', data, false, false, true).then(unwrap)
}
export function pageMyFishComplaints(data = {}) {
return tui.request('/app/fishmarket/my/complaints', 'POST', data, false, false, true).then(unwrap)
}