xlb-main-login
Version:
``` yarn install ```
173 lines (170 loc) • 5.75 kB
JavaScript
import { axios } from '@/utils/request'
import { weichat } from '@/api/config'
var momentsHistoryInfoList = [] // 朋友圈记录临时数据
//查询发朋友圈列表
export function getMomentsList(params) {
const paramsTemp = JSON.parse(JSON.stringify(params))
if (paramsTemp.createTime && paramsTemp.createTime.length >= 1) {
paramsTemp.startTime = paramsTemp.createTime[0]
paramsTemp.endTime = paramsTemp.createTime[1]
delete paramsTemp.createTime
}
return axios({
url: weichat + 'v1/wechat/work/moment',
method: 'get',
params: paramsTemp,
})
}
//查询发朋友圈单个详情
export function getMomentsDetailsfFormat(params) {
return new Promise((resolve, reject) => {
axios({
url: weichat + 'v1/wechat/work/moment/' + params.id,
method: 'get',
}).then((res) => {
console.log(res)
const momentsForm = {
comment: res.value.demoWorkMoment.comment || '',
value: res.value.demoWorkMoment.value,
demoWorkMomentStaffList: res.value.demoWorkMomentStaffList,
additional: res.value.demoWorkMoment.enableMedia == 1 ? true : false,
sendTime: res.value.demoWorkMoment.sendTime,
enableMedia: res.value.demoWorkMoment.enableMedia == 1 ? true : false,
}
const contentTypeRefFormData = {
mediaType: res.value.demoWorkMoment.mediaType || 0,
demoWorkMomentImageList: res.value.demoWorkMomentImageList || [],
title: res.value.link.title || '',
imgUrl: res.value.link.imgUrl || '',
url: res.value.link.url || '',
path: res.value.video.path || '',
name: res.value.video.name || '',
}
return resolve({ momentsForm: momentsForm, contentTypeRefFormData: contentTypeRefFormData })
})
})
}
//删除单个发朋友圈
export function delMomentsDetails(params) {
return axios({
url: weichat + 'v1/wechat/work/moment/' + params.id,
method: 'delete',
})
}
//通知成员发送朋友圈/定时发送
export function sendMoments(params) {
return axios({
url: weichat + 'v1/wechat/work/moment/' + params.id,
method: 'post',
})
}
//复制朋友圈
export function copyMoments(id) {
return new Promise((resolve, reject) => {
getMomentsDetailsfFormat({ id: id }).then((details) => {
const detailsTemp = JSON.parse(JSON.stringify(details))
detailsTemp.contentTypeRefFormData.demoWorkMomentImageList.forEach((item) => {
delete item.id
})
detailsTemp.momentsForm.demoWorkMomentStaffList.forEach((item) => {
delete item.userId
delete item.momentId
})
addMoments(detailsTemp.momentsForm, detailsTemp.contentTypeRefFormData).then((res) => {
return resolve(res)
})
})
})
}
// 查询朋友圈历史记录 ID:bXKvGN87
export function getMomentsHistory(params) {
return new Promise((resolve, reject) => {
axios({
url: weichat + 'v1/wechat/work/moment/history',
method: 'get',
params,
}).then((res) => {
momentsHistoryInfoList = res.value.records
return resolve(res)
})
})
}
// 查询朋友圈历史记录详情
export function getMomentsHistoryInfo(params) {
return new Promise((resolve, reject) => {
axios({
url: weichat + 'v1/wechat/work/moment/history/' + params.id,
method: 'get',
params,
}).then((res) => {
let momentData = {}
if (momentsHistoryInfoList && momentsHistoryInfoList.length >= 1) {
const indexId = momentsHistoryInfoList.findIndex((items) => items.demoWorkMoment.id == params.id)
momentData = momentsHistoryInfoList[indexId]
}
return resolve(Object.assign(res.value, momentData))
})
})
}
//添加发朋友圈
export function addMoments(momentsForm, contentTypeRefFormData, id) {
const tempForm = JSON.parse(JSON.stringify(Object.assign(momentsForm, contentTypeRefFormData)))
const data = {
demoWorkMoment: {
comment: tempForm.comment,
sendTime: tempForm.sendTime,
value: tempForm.value,
enableMedia: tempForm.enableMedia ? 1 : 0,
mediaType: tempForm.mediaType || null,
},
demoWorkMomentImageList: tempForm.demoWorkMomentImageList,
demoWorkMomentStaffList: tempForm.demoWorkMomentStaffList || [],
link: {
imgUrl: tempForm.imgUrl || '',
title: tempForm.title || '',
url: tempForm.url || '',
},
video: {
name: tempForm.name || '',
path: tempForm.path || '',
},
}
if (id) {
data.id = id
data.demoWorkMoment.id = id
}
return axios({
headers: { 'Content-Type': 'application/json;charset=UTF-8' },
url: weichat + 'v1/wechat/work/moment',
method: id ? 'put' : 'post',
data,
})
}
// 查询点赞/评论列表
export function getPageList(listTemp, page) {
const resTemp = {
current: page.current || 0,
records: [],
size: page.size || 0,
total: 0,
}
return new Promise((resolve, reject) => {
if (listTemp && listTemp.length >= 1) {
// console.log(listTemp, page,Math.ceil(listTemp.length / page.size))
const totalPage = Math.ceil(listTemp.length / page.size)
resTemp.total = listTemp.length
if (page.current > totalPage) {
return resolve(resTemp)
}
if ((page.current - 1) * page.size == 0) {
resTemp.records = listTemp.slice(0, page.size)
} else {
const num = (page.current - 1) * page.size
resTemp.records = listTemp.slice(num, num + page.size)
}
return resolve(resTemp)
} else {
return resolve(resTemp)
}
})
}