uniapp把utils全局挂载到uniapp的main.js上
约 413 字大约 1 分钟
2025-12-01
utils.js
/********************************************************************* */
function requestMsgByUni(url, data, header, callback) {
uni.request({
url: url,
method: "POST",
data: data,
header: header,
success: (res) => {
callback(res);
},
fail: (err) => {
console.log("请求服务器失败,err", err);
},
});
}
function requestMsgGetByUni(url, data, header, callback) {
uni.request({
url: url,
method: "GET",
data: data,
header: header,
success: (res) => {
callback(res);
},
fail: (err) => {
console.log("请求服务器失败,err", err);
},
});
}
export { requestMsgByUni, requestMsgGetByUni };
/*********************************************************************************/
/**
* 获取当前屏幕的尺寸
* 高度相关信息,要放在 onReady 里获取
* */
function getSysInfo() {
let screenWidth = 0;
uni.getSystemInfo({
success: (res) => {
// console.log("getSysInfo res: ", res);
screenWidth = res.windowWidth;
},
fail: (err) => {
console.log(err);
},
});
return screenWidth;
}
export { getSysInfo };
/*********************************************************************************/
/**
* int 转 rgb(),如 -16580608 -> rgb(153, 0, 51)
* num 是是int类型数字
* */
function converIntToRgb(num) {
var rgb = [];
rgb[0] = (num & 0xff0000) >> 16;
rgb[1] = (num & 0xff00) >> 8;
rgb[2] = num & 0xff;
return "rgb(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")";
}
/**
* rgb() 转 int,如rgb(153, 0, 51) -> -16580608
* */
function converRgbToInt(r, g, b) {
var color = (0xff << 24) | (r << 16) | (g << 8) | b;
return color;
}
/**
* 获取当前年月日
* */
function getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === "start") {
year = year - 60;
} else if (type === "end") {
year = year + 2;
}
month = month > 9 ? month : "0" + month;
day = day > 9 ? day : "0" + day;
return `${year}-${month}-${day}`;
}
export { converIntToRgb, converRgbToInt, getDate };main.js
import Vue from "vue";
import App from "./App";
//引入vuex
import store from "./store";
// 引入自定义 utils.js 文件
import * as utils from "./utils/utils.js";
//把vuex定义成全局组件
Vue.prototype.$store = store;
// 把 utils 挂载到vue原型上,方便全局调用
Vue.prototype.$utils = utils;
Vue.config.productionTip = false;
App.mpType = "app";
const app = new Vue({
...App,
//挂载
store,
});
app.$mount();使用
this.$utils.requestMsgByUni(url, data, header, (res) => {
if (res.statusCode == 200) {
console.log("成功", res.data);
} else {
console.log("失败", res);
}
});注意事项
有无 export default 引入方法不同!
一定要注意 import * as utils from "/utils/utils.js" 因为这里没有 export default 所以 import utils from "/utils/utils"是undefined
