主要是为了在项目中使用时 不需要每次都通过wx. 获取 使得同样代码冗余
主要是为了在项目中使用时 不需要每次都通过wx. 获取 使得同样代码冗余
主要是为了在项目中使用时 不需要每次都通过wx. 获取 使得同样代码冗余
主要是为了在项目中使用时 不需要每次都通过wx. 获取 使得同样代码冗余
/**
* @return {Object} 获取系统信息
*/
export let systemInfo = function () {
return new Promise((resolve, reject) => {
wx.getSystemInfo({
success: (res) => {
resolve(res);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @return {Object} 获取小程序登录code
*/
export let wxLogin = function () {
return new Promise((resolve, reject) => {
wx.login({
success: (res) => {
resolve(res);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @return {Object} 校验小程序登录态
*/
export let checkSession = function () {
return new Promise((resolve, reject) => {
wx.checkSession({
success() {
//session_key 未过期,并且在本生命周期一直有效
resolve({
success: true,
});
},
fail() {
// session_key 已经失效,需要重新执行登录流程
resolve({
success: false,
});
},
});
});
};
/**
* @param {Obj} opt 参数
* @return {Object} 获取用户的当前设置权限。
*/
export let getUserSetting = function () {
return new Promise((resolve, reject) => {
wx.getSetting({
success: (res) => {
resolve(res);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {Obj} opt 参数
* @return {Object} 打开用户权限列表
*/
export let openSetting = function () {
return new Promise((resolve, reject) => {
wx.openSetting({
success: (res) => {
resolve(res);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {Obj} opt 参数
* @return {Object} 判断用户的具体的权限 是否授权
* @description 进行取值
* let AllAuth=await getAllAuth()
* AllAuth.get('userInfo').value 具体的权限
* AllAuth.get('userInfo').type 代表是否是第一次 true
*/
export let getUserAllAuth = function () {
return new Promise((resolve, reject) => {
wx.getSetting({
success: (res) => {
let _res = new Map();
//用户信息
if (res.authSetting && "scope.userInfo" in res.authSetting) {
_res.set("userInfo", { value: res.authSetting["scope.userInfo"] });
} else {
_res.set("userInfo", { value: false, type: true });
}
//定位信息
if (res.authSetting && "scope.userLocation" in res.authSetting) {
_res.set("userLocation", {
value: res.authSetting["scope.userLocation"],
});
} else {
_res.set("userLocation", { value: false, type: true });
}
//开启相册权限
if (res.authSetting && "scope.writePhotosAlbum" in res.authSetting) {
_res.set("writePhotosAlbum", {
value: res.authSetting["scope.writePhotosAlbum"],
});
} else {
_res.set("writePhotosAlbum", { value: false, type: true });
}
resolve(_res);
},
fail: () => {
let _resvs = new Map();
_resvs.set("userInfo", { value: false });
_resvs.set("userLocation", { value: false });
_resvs.set("writePhotosAlbum", { value: false });
resolve(_resvs);
},
});
});
};
/**
* @param {Obj} opt 参数
* @return {Object} 获取用户基本信息
*/
export let getUserInfo = function () {
return new Promise((resolve, reject) => {
wx.getUserInfo({
success: (res) => {
resolve(res);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {Obj} opt 参数
* @return {Object} 获取用户位置信息
*/
export let getLocation = function (type) {
return new Promise((resolve, reject) => {
wx.getLocation({
type,
success: function (res) {
resolve(res);
},
fail: function (res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {Obj} opt 参数
* @return {Object} 打开微信地图
*/
export let openLocation = function (latitude, longitude) {
return new Promise((resolve, reject) => {
wx.openLocation({
latitude,
longitude,
scale: 18,
success: function (res) {
resolve(res);
},
fail: function (res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {Obj} opt 参数
* @return {Object} 弹框
*/
export let showModal = function (opt) {
opt = Object.assign(
{
title: "",
content: "",
showCancel: true,
cancelText: "取消",
cancelColor: "#000000",
confirmText: "确认",
confirmColor: "#0370c8",
},
opt
);
return new Promise((resolve, reject) => {
wx.showModal({
...opt,
success: function (res) {
resolve(res);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {String} txt 提示文本
* @param {String} time 显示时长
* @return {Object} 提示信息
*/
export let showToast = function (txt, time) {
return wx.showToast({
title: txt || "",
icon: "none",
duration: 2000 || time,
});
};
/**
* @param {String} txt 提示文本
* @return {Object} loading
*/
export let showLoading = function (txt) {
return wx.showLoading({
title: txt || "",
mask: true,
});
};
/**
* @param {String} txt 提示文本
* @return {Object} 隐藏loading
*/
export let hideLoading = function (txt) {
return wx.hideLoading();
};
/*
* 图片上传
*/
export let uploadFile = function (opt, tempFilePaths) {
return new Promise((resolve, reject) => {
wx.uploadFile({
url: (opt && opt.url) || "",
filePath: tempFilePaths,
header: {
"Content-Type": "multipart/form-data",
},
name: "Filedata",
formData: opt.data || {},
success: function (res) {
resolve(res);
},
fail(res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {String} url 图片地址
* @return {Object} 选择图片
*/
export let chooseImage = function (url) {
return new Promise((resolve, reject) => {
wx.chooseImage({
count: 1, // 默认9
sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
// res.tempFilePaths [] 多个
resolve(res);
},
fail(res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {String} url 图片地址
* @return {Object} 下载图片
*/
export let downloadFile = function (url) {
return new Promise((resolve, reject) => {
wx.downloadFile({
url: url,
success(res) {
// res.tempFilePath
if (res.statusCode === 200) {
resolve(res);
}else{
res.failMsg = "0000";
resolve(res);
}
},
fail(res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {String} url 文件地址
* @return {Object} 保存文件
*/
export let saveFile = function (url) {
return new Promise((resolve, reject) => {
wx.saveFile({
tempFilePath: url,
success(res) {
// res.savedFilePath
resolve(res);
},
fail(res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {String} url 预览pdf
* @return {Object} 预览
*/
export let openDocument = function (url) {
return new Promise((resolve, reject) => {
wx.openDocument({
filePath: url,
showMenu:true,
success(res) {
resolve(res);
},
fail(res) {
res.failMsg = "0000";
resolve(res);
},
})
});
};
/**
* @param {Object} res 图片信息
* @return {Object} 保存图片
*/
export let saveImage = function (tempFilePath) {
return new Promise((resolve, reject) => {
wx.saveImageToPhotosAlbum({
filePath: tempFilePath,
success(res) {
resolve(res);
},
fail(res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @param {Object} opt 支付需要的参数
* @param {String} timeStamp 支付需要的参数
* @param {String} nonceStr 支付需要的参数
* @param {String} package 支付需要的参数
* @param {String} signType 支付需要的参数
* @param {String} paySign 支付需要的参数
* @return {Object} 支付
*/
export let requestPayment = function (opt) {
console.log(opt);
return new Promise((resolve, reject) => {
wx.requestPayment({
...opt,
success: function (res) {
resolve(res);
},
fail: function (res) {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @return {Object} 获取小程序网络类型
*/
export let getNetworkType = function () {
return new Promise((resolve, reject) => {
wx.getNetworkType({
success: (res) => {
resolve(res.networkType);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* @return {Object} 监听网络状态变化事件
*/
export let onNetworkStatusChange = function () {
return new Promise((resolve, reject) => {
wx.onNetworkStatusChange((res) => {
resolve(res);
});
});
};
/**
* @return {Object} 拨打电话
*/
export let makePhoneCall = function (phoneNumber) {
return new Promise((resolve, reject) => {
wx.makePhoneCall({
phoneNumber,
success: (res) => {
resolve(res);
},
fail: (res) => {
res.failMsg = "0000";
resolve(res);
},
});
});
};
/**
* 微信的跳转
* @param {String} type 跳转方式
* @param {String} url 跳转地址
*/
export let JumpRoute = function (type, url) {
switch (type) {
case "nav":
wx.navigateTo({ url });
break;
case "tab":
wx.switchTab({ url });
break;
case "reL":
wx.reLaunch({ url });
break;
case "reD":
wx.redirectTo({ url });
break;
case "back":
wx.navigateBack({ delta: url || 1 });
break;
}
};