一、WXS文件内容
//t.wxs
//保留小数
var toFix = function (value = 0, digits = 2) {
return value.toFixed(digits);
}
//拼接图片url
var toUrl = function (path = "") {
if (path.indexOf("http://") != -1) {
return path.replace("http://", "https://");
}
else if (path.indexOf("https://") != -1) {
return path;
}
else {
return "https://xxx.xxx.com" + path;
}
}
/**
* 时间戳转化为年 月 日 时 分 秒
* number: 传入时间戳
* format:返回格式,支持自定义
*/
var dateFormat = function (timestamp, format = "yyyy-MM-dd hh:mm:ss") {
if(timestamp == undefined) {
return "";
}
timestamp = parseInt(timestamp);
var realDate = getDate(timestamp);
function timeFormat(num) {
return num < 10 ? '0' + num : num;
}
var date = [
["M+", timeFormat(realDate.getMonth() + 1)],
["d+", timeFormat(realDate.getDate())],
["h+", timeFormat(realDate.getHours())],
["m+", timeFormat(realDate.getMinutes())],
["s+", timeFormat(realDate.getSeconds())],
["q+", Math.floor((realDate.getMonth() + 3) / 3)],
["S+", realDate.getMilliseconds()],
];
var reg1 = regYear.exec(format);
if (reg1) {
format = format.replace(reg1[1], (realDate.getFullYear() + '').substring(4 - reg1[1].length));
}
for (var i = 0; i < date.length; i++) {
var k = date[i][0];
var v = date[i][1];
var reg2 = getRegExp("(" + k + ")").exec(format);
if (reg2) {
format = format.replace(reg2[1], reg2[1].length == 1
? v : ("00" + v).substring(("" + v).length));
}
}
return format;
}
var regYear = getRegExp("(y+)", "i");
//数组截取
var slice = function slice(arr, start = 0, end = 0) {
return arr.slice(start, end);
}
module.exports = {
toFix: toFix,
toUrl: toUrl,
dateFormat: dateFormat,
slice: slice,
}
二、使用方法
在wxml文件顶部引入
<wxs src="../../../utils/t.wxs" module="T" />
使用示例
<image class='icon' mode='aspectFill' src='{{T.toUrl(picUrl)}}'></image>
<text class="price">{{T.toFix(price)}}</text>
<view class='grid-item' wx:for="{{T.slice(category, 0, 10)}}" wx:key="{{item.id}}" data-id='{{item.id}}'></view>
<text class='time'>{{T.dateFormat(date, "yyyy/MM/dd")}}</text>