'use strict';
var __assign =
(this && this.__assign) ||
function () {
__assign =
Object.assign ||
function (t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __spreadArrays =
(this && this.__spreadArrays) ||
function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, '__esModule', { value: true });
var component_1 = require('../common/component');
var utils_1 = require('../common/utils');
var shared_1 = require('../picker/shared');
var currentYear = new Date().getFullYear();
function isValidDate(date) {
return utils_1.isDef(date) && !isNaN(new Date(date).getTime());
}
function range(num, min, max) {
return Math.min(Math.max(num, min), max);
}
function padZero(val) {
return ('00' + val).slice(-2);
}
function times(n, iteratee) {
var index = -1;
var result = Array(n < 0 ? 0 : n);
while (++index < n) {
result[index] = iteratee(index);
}
return result;
}
function getTrueValue(formattedValue) {
if (!formattedValue) return;
while (isNaN(parseInt(formattedValue, 10))) {
formattedValue = formattedValue.slice(1);
}
return parseInt(formattedValue, 10);
}
function getMonthEndDay(year, month) {
return 32 - new Date(year, month - 1, 32).getDate();
}
var defaultFormatter = function (_, value) {
return value;
};
component_1.VantComponent({
classes: ['active-class', 'toolbar-class', 'column-class'],
props: __assign(__assign({}, shared_1.pickerProps), {
value: {
type: null,
observer: 'updateValue',
},
filter: null,
type: {
type: String,
value: 'datetime',
observer: 'updateValue',
},
showToolbar: {
type: Boolean,
value: true,
},
formatter: {
type: null,
value: defaultFormatter,
},
minDate: {
type: Number,
value: new Date(currentYear - 10, 0, 1).getTime(),
observer: 'updateValue',
},
maxDate: {
type: Number,
value: new Date(currentYear + 10, 11, 31).getTime(),
observer: 'updateValue',
},
minHour: {
type: Number,
value: 0,
observer: 'updateValue',
},
maxHour: {
type: Number,
value: 23,
observer: 'updateValue',
},
minMinute: {
type: Number,
value: 0,
observer: 'updateValue',
},
maxMinute: {
type: Number,
value: 59,
observer: 'updateValue',
},
}),
data: {
innerValue: Date.now(),
columns: [],
},
methods: {
updateValue: function () {
var _this = this;
var data = this.data;
var val = this.correctValue(this.data.value);
var isEqual = val === data.innerValue;
if (!isEqual) {
this.updateColumnValue(val).then(function () {
_this.$emit('input', val);
});
} else {
this.updateColumns();
}
},
getPicker: function () {
if (this.picker == null) {
this.picker = this.selectComponent('.van-datetime-picker');
var picker_1 = this.picker;
var setColumnValues_1 = picker_1.setColumnValues;
picker_1.setColumnValues = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return setColumnValues_1.apply(
picker_1,
__spreadArrays(args, [false])
);
};
}
return this.picker;
},
updateColumns: function () {
var _a = this.data.formatter,
formatter = _a === void 0 ? defaultFormatter : _a;
var results = this.getOriginColumns().map(function (column) {
return {
values: column.values.map(function (value) {
return formatter(column.type, value);
}),
};
});
return this.set({ columns: results });
},
getOriginColumns: function () {
var filter = this.data.filter;
var results = this.getRanges().map(function (_a) {
var type = _a.type,
range = _a.range;
var values = times(range[1] - range[0] + 1, function (index) {
var value = range[0] + index;
value = type === 'year' ? '' + value : padZero(value);
return value;
});
if (filter) {
values = filter(type, values);
}
return { type: type, values: values };
});
return results;
},
getRanges: function () {
var data = this.data;
if (data.type === 'time') {
return [
{
type: 'hour',
range: [data.minHour, data.maxHour],
},
{
type: 'minute',
range: [data.minMinute, data.maxMinute],
},
];
}
var _a = this.getBoundary('max', data.innerValue),
maxYear = _a.maxYear,
maxDate = _a.maxDate,
maxMonth = _a.maxMonth,
maxHour = _a.maxHour,
maxMinute = _a.maxMinute;
var _b = this.getBoundary('min', data.innerValue),
minYear = _b.minYear,
minDate = _b.minDate,
minMonth = _b.minMonth,
minHour = _b.minHour,
minMinute = _b.minMinute;
var result = [
{
type: 'year',
range: [minYear, maxYear],
},
{
type: 'month',
range: [minMonth, maxMonth],
},
{
type: 'day',
range: [minDate, maxDate],
},
{
type: 'hour',
range: [minHour, maxHour],
},
{
type: 'minute',
range: [minMinute, maxMinute],
},
];
if (data.type === 'date') result.splice(3, 2);
if (data.type === 'year-month') result.splice(2, 3);
return result;
},
correctValue: function (value) {
var data = this.data;
// validate value
var isDateType = data.type !== 'time';
if (isDateType && !isValidDate(value)) {
value = data.minDate;
} else if (!isDateType && !value) {
var minHour = data.minHour;
value = padZero(minHour) + ':00';
}
// time type
if (!isDateType) {
var _a = value.split(':'),
hour = _a[0],
minute = _a[1];
hour = padZero(range(hour, data.minHour, data.maxHour));
minute = padZero(range(minute, data.minMinute, data.maxMinute));
return hour + ':' + minute;
}
// date type
value = Math.max(value, data.minDate);
value = Math.min(value, data.maxDate);
return value;
},
getBoundary: function (type, innerValue) {
var _a;
var value = new Date(innerValue);
var boundary = new Date(this.data[type + 'Date']);
var year = boundary.getFullYear();
var month = 1;
var date = 1;
var hour = 0;
var minute = 0;
if (type === 'max') {
month = 12;
date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
hour = 23;
minute = 59;
}
if (value.getFullYear() === year) {
month = boundary.getMonth() + 1;
if (value.getMonth() + 1 === month) {
date = boundary.getDate();
if (value.getDate() === date) {
hour = boundary.getHours();
if (value.getHours() === hour) {
minute = boundary.getMinutes();
}
}
}
}
return (
(_a = {}),
(_a[type + 'Year'] = year),
(_a[type + 'Month'] = month),
(_a[type + 'Date'] = date),
(_a[type + 'Hour'] = hour),
(_a[type +
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java后端、融合JavaScript、微信小程序、TypeScript的豆瓣评分仿制设计源码
共1139个文件
js:279个
wxss:236个
json:214个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 96 浏览量
2024-10-01
16:04:34
上传
评论
收藏 1.86MB ZIP 举报
温馨提示
本项目是一款集Java后端、JavaScript、微信小程序和TypeScript于一体的豆瓣评分仿制设计源码,包含1124个文件,涵盖277个JavaScript文件、221个wxss样式文件、214个json数据文件、214个wxml模板文件、89个TypeScript文件、54个wxs组件文件以及多种图像和文档资源。该项目以微信小程序的形式呈现,旨在模拟豆瓣评分功能,适用于对豆瓣评分系统感兴趣的开发者和研究者。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java后端、融合JavaScript、微信小程序、TypeScript的豆瓣评分仿制设计源码 (1139个子文件)
.gitignore 278B
Da.jpg 37KB
runging.jpg 34KB
summer.jpg 33KB
friends.jpg 29KB
yinmi.jpg 28KB
xiangwang.jpg 27KB
Les.jpg 26KB
wusha.jpg 25KB
cry.jpg 24KB
Amber.jpg 24KB
xingfu.jpg 19KB
six.jpg 19KB
woman.jpg 17KB
buy.jpg 17KB
hai.jpg 16KB
ai.jpg 16KB
feng.jpg 16KB
black.jpg 16KB
shan.jpg 14KB
tegong.jpg 7KB
douban.jpg 7KB
zi.jpg 6KB
chunchao.jpg 5KB
miejue.jpg 5KB
reader.jpg 4KB
moon.jpg 3KB
yaoshen.jpg 3KB
jiuzhang.jpg 3KB
bingxue.jpg 3KB
tianqi.jpg 3KB
chenqianqian.jpg 3KB
movie.jpg 3KB
miss.jpg 2KB
qianyu.jpg 2KB
music.jpg 2KB
index.js 10KB
index.js 10KB
index.js 9KB
index.js 9KB
index.js 9KB
index.js 8KB
index.js 8KB
index.js 8KB
index.js 8KB
index.js 7KB
index.js 7KB
index.js 7KB
index.js 7KB
index.js 7KB
index.js 6KB
index.js 6KB
index.js 6KB
index.js 5KB
index.js 5KB
index.js 5KB
index.js 5KB
index.js 5KB
index.js 5KB
index.js 5KB
index.js 5KB
index.js 5KB
index.js 4KB
index.js 4KB
index.js 4KB
transition.js 4KB
transition.js 4KB
index.js 4KB
index.js 4KB
index.js 4KB
index.js 4KB
index.js 4KB
index.js 3KB
index.js 3KB
transition.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
component.js 3KB
component.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
index.js 3KB
component.js 3KB
index.js 3KB
utils.js 3KB
utils.js 3KB
共 1139 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
csbysj2020
- 粉丝: 2642
- 资源: 5504
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功