首次完整推送,
V:1.20240808.006
This commit is contained in:
209
apis/ctms/news.js
Normal file
209
apis/ctms/news.js
Normal file
@ -0,0 +1,209 @@
|
||||
import request from './_utils/request.js'
|
||||
import apis from './apis.json'
|
||||
import constant from './_utils/constant.js'
|
||||
import storage from './_utils/storage.js'
|
||||
export default {
|
||||
//查询运单
|
||||
search: function(formData = null, page = 0, psize = 0, ls = null) {
|
||||
page = page || 1;
|
||||
psize = psize || 10;
|
||||
|
||||
var data = {
|
||||
'search[title]': formData.title,
|
||||
'search[cid]': formData.cid,
|
||||
page: page,
|
||||
psize: psize, //分页数据大小
|
||||
};
|
||||
var url = apis.NewsSearch;
|
||||
var header = {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
};
|
||||
return request({
|
||||
'url': url,
|
||||
'method': 'POST',
|
||||
'data': data,
|
||||
"headers": header,
|
||||
'params': {}
|
||||
}).then((res) => {
|
||||
if (!res) {
|
||||
storage.set(constant.newsList, {});
|
||||
return false;
|
||||
}
|
||||
switch (res.code) {
|
||||
default:
|
||||
uni.showToast({
|
||||
title: "没有查询到相关内容!",
|
||||
icon: "fail"
|
||||
});
|
||||
break;
|
||||
case 0:
|
||||
var news = {};
|
||||
var totalCount = 0;
|
||||
storage.set(constant.newsList, news, 'page-' + page);
|
||||
break;
|
||||
case 200:
|
||||
var news = res.data.news;
|
||||
var totalCount = res.data.total;
|
||||
storage.set(constant.newsList, totalCount, 'total');
|
||||
storage.set(constant.newsList, news, 'page-' + page);
|
||||
for (var x in news) {
|
||||
var detail = news[x];
|
||||
var id = detail.id;
|
||||
storage.set(constant.newsDetail, detail, id);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return res.data;
|
||||
})
|
||||
},
|
||||
|
||||
//列表,从本地缓存中加载
|
||||
list: function(page = 0) {
|
||||
//取缓存
|
||||
var total = storage.get(constant.newsList, 'total');
|
||||
if (total) {
|
||||
var news = storage.get(constant.newsList, 'page-' + page);
|
||||
if (news) {
|
||||
return {
|
||||
'total': total,
|
||||
'news': news
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
//详情,网络更新
|
||||
checkDetail: function(id) {
|
||||
var data = {
|
||||
id: id
|
||||
};
|
||||
var url = apis.NewsDetail;
|
||||
return request({
|
||||
'url': url,
|
||||
'method': 'POST',
|
||||
'data': data,
|
||||
'params': {}
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
var detail = res.data;
|
||||
storage.set(constant.newsDetail, detail, id);
|
||||
return res;
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "信息获取失败!",
|
||||
icon: "fail"
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//详情,从缓存中读取
|
||||
detail: function(id) {
|
||||
return storage.get(constant.newsDetail, id);
|
||||
},
|
||||
|
||||
//AJAX操作
|
||||
ajax: function(id, op) {
|
||||
var data = {
|
||||
id: id,
|
||||
op: op,
|
||||
};
|
||||
var url = apis.NewsAjax;
|
||||
return request({
|
||||
'url': url,
|
||||
'method': 'POST',
|
||||
'data': data,
|
||||
'params': {}
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
var detail = res.data;
|
||||
storage.set(constant.newsDetail, detail, id);
|
||||
return res;
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 取文章分类
|
||||
cats: function() {
|
||||
var url = apis.NewsCatList;
|
||||
var header = {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
};
|
||||
return request({
|
||||
'url': url,
|
||||
'method': 'GET',
|
||||
'data': {},
|
||||
"headers": header,
|
||||
'params': {}
|
||||
}).then((res) => {
|
||||
if (res.code == 200) {
|
||||
var cats = res.data.cats;
|
||||
return cats;
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//标记文章浏览记录
|
||||
viewed: function(id) {
|
||||
var ls = constant.newsViewed;
|
||||
var res = uni.getStorageSync(ls) || {};
|
||||
if (!res[id]) {
|
||||
res[id] = id;
|
||||
uni.setStorageSync(ls, res);
|
||||
this.ajax(id, 'view');
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
//标记文章状态(纯缓存记录)(id,内容ID,op为具体操作-默认为取全部,type为状态类型)
|
||||
mark: function(id, type = null, op = false) {
|
||||
//不归入统一的缓存集合,以确保不在清除缓存时被误清除
|
||||
if (!type) {
|
||||
return false;
|
||||
}
|
||||
var ls, opp_set, opp_del;
|
||||
switch (type) {
|
||||
case 'reading':
|
||||
//在读
|
||||
ls = constant.newsReading;
|
||||
opp_set = 'read';
|
||||
opp_del = 'no_read';
|
||||
break;
|
||||
case 'liked':
|
||||
//喜欢
|
||||
ls = constant.newsLiked;
|
||||
opp_set = 'like';
|
||||
opp_del = 'no_like';
|
||||
break;
|
||||
}
|
||||
var res = uni.getStorageSync(ls) || {};
|
||||
if (!op) {
|
||||
return res;
|
||||
}
|
||||
var data = res,
|
||||
ret = false;
|
||||
switch (op) {
|
||||
case 'set':
|
||||
if (id && !data[id]) {
|
||||
data[id] = id;
|
||||
uni.setStorageSync(ls, data);
|
||||
ret = true;
|
||||
this.ajax(id, opp_set);
|
||||
}
|
||||
break;
|
||||
case 'get':
|
||||
ret = data[id] || false;
|
||||
break;
|
||||
case 'del':
|
||||
delete data[id];
|
||||
uni.setStorageSync(ls, data);
|
||||
ret = true;
|
||||
this.ajax(id, opp_del);
|
||||
break;
|
||||
default:
|
||||
ret = res;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user