61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
// index.js
|
|
const { ArticleManager } = require('../../models/articleManager');
|
|
const { formatDate } = require('../../utils/util');
|
|
|
|
Page({
|
|
data: {
|
|
bannerList: [
|
|
{ imageUrl: 'https://www.meetstarry.com/banner1.png', title: '1' },
|
|
{ imageUrl: 'https://www.meetstarry.com/banner2.png', title: '2' },
|
|
{ imageUrl: 'https://www.meetstarry.com/banner3.png', title: '3' }
|
|
],
|
|
article: null,
|
|
formatDate: ''
|
|
},
|
|
|
|
onLoad() {
|
|
// 实例化文章管理器
|
|
this.articleManager = new ArticleManager();
|
|
|
|
// 获取最新的一篇文章
|
|
const latestArticle = this.articleManager.getLatestArticle();
|
|
if (latestArticle) {
|
|
// 格式化日期
|
|
const date = new Date(latestArticle.createTime);
|
|
const formattedDate = formatDate(date);
|
|
|
|
this.setData({
|
|
article: latestArticle,
|
|
formatDate: formattedDate
|
|
});
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 图片加载错误处理
|
|
*/
|
|
onImageError(e) {
|
|
const index = e.currentTarget.dataset.index;
|
|
const app = getApp();
|
|
const defaultImage = app.globalData.imageManager ? app.globalData.imageManager.defaultImage : 'https://www.meetstarry.com/default.png';
|
|
|
|
// 处理轮播图错误
|
|
if (typeof index !== 'undefined') {
|
|
const key = `bannerList[${index}].imageUrl`;
|
|
this.setData({
|
|
[key]: defaultImage
|
|
});
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
return {
|
|
title: '精选文章',
|
|
path: '/pages/index/index'
|
|
};
|
|
}
|
|
})
|