在微信小程序中,utils文件夹用于存放工具函数,以便在其他页面中调用。调用utils中的函数或变量需要遵循以下步骤:
在utils文件夹中创建js文件
在utils文件夹中新建一个js文件,例如`util.js`。
在该文件中编写需要暴露的函数或变量,并使用`module.exports`或`exports`进行对外暴露。
在需要使用utils的页面中引入
在需要使用utils中函数的页面中,使用`require`函数引入utils的js文件。
引入后,可以通过`utils`对象访问其中的函数或变量。
示例1:创建和使用utils文件
utils/util.js
```javascript
// utils/util.js
module.exports = {
formatTime: function(timestamp) {
const date = new Date(timestamp);
return date.toLocaleString();
},
encrypt: function(str, key, iv) {
const CryptoJS = require('./aes.js');
const encrypted = CryptoJS.AES.encrypt(str, CryptoJS.enc.Utf8.parse(key), { iv: CryptoJS.enc.Utf8.parse(iv), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return encrypted.ciphertext.toString();
},
decrypt: function(encryptedStr, key, iv) {
const CryptoJS = require('./aes.js');
const decrypted = CryptoJS.AES.decrypt(encryptedStr, CryptoJS.enc.Utf8.parse(key), { iv: CryptoJS.enc.Utf8.parse(iv), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return decrypted.toString(CryptoJS.enc.Utf8);
}
};
```
pages/index/index.js
```javascript
// pages/index/index.js
const util = require('../../utils/util.js');
Page({
onLoad: function() {
const timestamp = Date.now();
console.log(util.formatTime(timestamp)); // 输出格式化后的时间
const encrypted = util.encrypt('Hello, World!', 'your-key', 'your-iv');
console.log('Encrypted:', encrypted);
const decrypted = util.decrypt(encrypted, 'your-key', 'your-iv');
console.log('Decrypted:', decrypted);
}
});
```
示例2:创建和使用request.js
utils/request.js
```javascript
// utils/request.js
const request = require('request');
module.exports = {
get: function(url, callback) {
request.get(url, (error, response, body) => {
if (error) {
callback(error);
} else {
callback(null, body);
}
});
},
post: function(url, data, callback) {
request.post(url, data, (error, response, body) => {
if (error) {
callback(error);
} else {
callback(null, body);
}
});
}
};
```
pages/api/api.js
```javascript
// pages/api/api.js
const requestUtil = require('../../utils/request.js');
Page({
onLoad: function() {
requestUtil.get('https://api.example.com/data', (error, data) => {
if (error) {
console.error('Error fetching data:', error);
} else {
console.log('Data:', data);
}
});
}
});
```
通过以上步骤,你可以在小程序的其他页面中调用utils文件夹中的工具函数。确保在引入utils文件时,路径是正确的,并且utils文件中的函数或变量已经通过`module.exports`或`exports`进行了对外暴露。