wangfukang 11 hours ago
parent
commit
8c3f89c43f
  1. 119
      common/campusApi.js
  2. 2
      common/fishMarketApi.js
  3. 24
      common/ieApi.js
  4. 14
      common/ieRealNameAuth.js

119
common/campusApi.js

@ -0,0 +1,119 @@
import tui from './httpRequest'
function unwrap(res) {
if (!res) return null
if (res.success === false) {
uni.showToast({ title: res.message || '请求失败', icon: 'none', duration: 2000 })
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 uploadCampusImage(path) {
return tui.uploadFile('/upload/file', path).then(extractUploadUrl)
}
export async function uploadCampusReleaseImage(path) {
const url = await tui.uploadFile('/upload/file', path).then(extractUploadUrl)
if (!url) return { url: '', passed: false, message: '图片上传失败,请稍后重试' }
const res = await tui.request('/app/campus/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) || '图片审核未通过,请更换图片' }
}
export function listCampusCategories(data = {}) {
return tui.request('/app/campus/categories', 'GET', data, false, true, true).then(unwrap)
}
export function pageCampusPosts(data = {}) {
return tui.request('/app/campus/posts/page', 'POST', data, false, false, true).then(unwrap)
}
export function pageCampusPartnerPosts(data = {}) {
return tui.request('/app/campus/partner/posts/page', 'POST', data, false, false, true).then(unwrap)
}
export function matchCampusPartnerPost(data = {}) {
return tui.request('/app/campus/partner/posts/match', 'POST', data, false, false, true).then(unwrap)
}
export function pageMyCampusPosts(data = {}) {
return tui.request('/app/campus/my/posts', 'POST', data, false, false, true).then(unwrap)
}
export function getCampusPostDetail(id) {
return tui.request(`/app/campus/posts/${id}`, 'GET', {}, false, true, true).then(unwrap)
}
export function publishCampusPost(data) {
return tui.request('/app/campus/posts', 'POST', data, false, false, false).then(unwrap)
}
export function updateMyCampusPostStatus(data) {
return tui.request('/app/campus/my/posts/status', 'POST', data, false, false, false).then(unwrap)
}
export function toggleCampusLike(data) {
return tui.request('/app/campus/like' + buildQuery(data), 'POST', {}, false, false, true).then(unwrap)
}
export function addCampusComment(data) {
return tui.request('/app/campus/comments', 'POST', data, false, false, false).then(unwrap)
}
export function pageCampusComments(postId, pageNum = 1, pageSize = 10) {
return tui.request('/app/campus/comments/page', 'GET', { postId, pageNum, pageSize }, false, true, true).then(unwrap)
}
export function deleteCampusComment(id) {
return tui.request(`/app/campus/comments/${id}`, 'DELETE', {}, false, false, true).then(unwrap)
}
export function createCampusChatSession(postId) {
return tui.request(`/app/campus/posts/${postId}/chat`, 'POST', {}, false, false, false).then(unwrap)
}
export function getCampusChatSession(sessionId) {
return tui.request(`/app/campus/chat/sessions/${sessionId}`, 'GET', {}, false, true, true).then(unwrap)
}
export function pageCampusChatMessages(sessionId, pageNum = 1, pageSize = 20) {
return tui.request(`/app/campus/chat/sessions/${sessionId}/messages/page`, 'GET', { pageNum, pageSize }, false, true, true).then(unwrap)
}
export function sendCampusChatMessage(data) {
return tui.request('/app/campus/chat/messages', 'POST', data, false, false, false).then(unwrap)
}
export function pageMyCampusSessions(data = {}) {
return tui.request('/app/campus/my/sessions', 'POST', data, false, false, true).then(unwrap)
}
export function pageMyCampusMessageComments(data = {}) {
return tui.request('/app/campus/my/message-comments', 'POST', data, false, false, true).then(unwrap)
}
export function submitCampusComplaint(data) {
return tui.request('/app/campus/complaints', 'POST', data, false, false, false).then(unwrap)
}
export function getCampusUnreadSummary() {
return tui.request('/app/campus/unread/summary', 'GET', {}, false, true, true).then(unwrap)
}

2
common/fishMarketApi.js

@ -3,7 +3,7 @@ import tui from './httpRequest'
function unwrap(res) {
if (!res) return null
if (res.success === false) {
uni.showToast({ title: res.message || '请求失败', icon: 'none', duration: 3200 })
uni.showToast({ title: res.message || '请求失败', icon: 'none', duration: 2000 })
return null
}
return res.result !== undefined ? res.result : res

24
common/ieApi.js

@ -3,7 +3,21 @@ import tui from './httpRequest'
function unwrap(res) {
if (!res) return null
if (res.success === false) {
uni.showToast({ title: res.message || '请求失败', icon: 'none', duration: 3200 })
uni.showToast({ title: res.message || '请求失败', icon: 'none', duration: 2000 })
return null
}
return res.result !== undefined ? res.result : res
}
function unwrapSilent(res) {
if (!res || res.success === false) return null
return res.result !== undefined ? res.result : res
}
function unwrapIeProfileSave(res) {
if (!res) return null
if (res.success === false) {
uni.showToast({ title: res.message || '请求失败', icon: 'none', duration: 1500 })
return null
}
return res.result !== undefined ? res.result : res
@ -28,7 +42,7 @@ function unwrapIeHome(res) {
if (message.indexOf('i/e 身份已被封禁') !== -1 || message.indexOf('ie 身份已被封禁') !== -1) {
return { banned: true, message }
}
uni.showToast({ title: message, icon: 'none', duration: 3200 })
uni.showToast({ title: message, icon: 'none', duration: 2000 })
return null
}
return res.result !== undefined ? res.result : res
@ -42,6 +56,10 @@ export function getIeUnreadCount() {
return tui.request('/app/ie/unread-count', 'GET', {}, false, true, true).then(unwrap)
}
export function markIeRoomRead(roomId) {
return tui.request(`/app/ie/rooms/${roomId}/read`, 'POST', {}, false, true, true).then(unwrapSilent).catch(() => null)
}
export function updateIeStatus(data) {
return tui.request('/app/ie/status', 'POST', data, false, false, true).then(unwrap)
}
@ -59,7 +77,7 @@ export function getIeRoomTargetProfile(roomId) {
}
export function saveIeProfile(data) {
return tui.request('/app/ie/profile', 'POST', data, false, false, false).then(unwrap)
return tui.request('/app/ie/profile', 'POST', data, false, false, false).then(unwrapIeProfileSave)
}
export function verifyIeRealName(data) {

14
common/ieRealNameAuth.js

@ -1,7 +1,7 @@
import tui from './httpRequest'
import { verifyIeRealName, verifyIeStudentCard, getIeRealNameAuditSetting } from './ieApi.js'
function showLongToast(title, duration = 3200) {
function showLongToast(title, duration = 2000) {
const content = String(title || '操作未完成')
if (content.length > 18) {
uni.showModal({
@ -277,7 +277,7 @@ async function ensureStudentCardVerified(profile, options = {}) {
if (result.studentCardNeedRetry && attempt === 0) {
continue
}
showLongToast(result.message || '学生证认证未完成,请重新上传', 3200)
showLongToast(result.message || '学生证认证未完成,请重新上传', 2000)
return false
}
return false
@ -287,12 +287,12 @@ async function ensureAliyunRealNameVerified(profile) {
if (profile && profile.realNameVerified) return true
const regionId = getCurrentRegionId()
if (!regionId) {
showLongToast('请先选择校区后再进行实名认证', 3200)
showLongToast('请先选择校区后再进行实名认证', 2000)
return false
}
const certName = await promptText('填写真实姓名', '请输入身份证上的姓名')
if (!certName) {
showLongToast('未填写真实姓名,无法完成实名认证', 3200)
showLongToast('未填写真实姓名,无法完成实名认证', 2000)
return false
}
if (!isValidMainlandName(certName)) {
@ -301,7 +301,7 @@ async function ensureAliyunRealNameVerified(profile) {
}
const certNo = (await promptText('填写身份证号', '请输入18位中国大陆居民身份证号')).toUpperCase()
if (!certNo) {
showLongToast('未填写身份证号,无法完成实名认证', 3200)
showLongToast('未填写身份证号,无法完成实名认证', 2000)
return false
}
if (!isValidMainlandIdCard(certNo)) {
@ -318,7 +318,7 @@ async function ensureAliyunRealNameVerified(profile) {
uni.hideLoading()
}
if (!result || !result.realNameVerified) {
showLongToast((result && result.message) || '实名认证未完成,请稍后重试', 3200)
showLongToast((result && result.message) || '实名认证未完成,请稍后重试', 2000)
return false
}
showLongToast('实名认证通过', 2200)
@ -395,7 +395,7 @@ export async function ensureIeVerifiedBeforeAction(options = {}) {
}
return true
} catch (e) {
showLongToast((e && e.message) || '认证未完成,请稍后重试', 3200)
showLongToast((e && e.message) || '认证未完成,请稍后重试', 2000)
return false
}
}

Loading…
Cancel
Save