第一次提交

This commit is contained in:
@fawn-nine
2024-05-22 13:42:15 +08:00
commit bb53af8bde
2133 changed files with 129959 additions and 0 deletions

310
config/utils.js Normal file
View File

@@ -0,0 +1,310 @@
import $http from '@/config/requestConfig'
import store from '@/store';
import base from '@/config/baseUrl';
import {
getAppWxLatLon
} from '@/plugins/utils';
// #ifdef H5
import {
getLatLonH5,
publicShareFun,
wxPublicPay,
getBrowser,
appMutual
} from '@/config/html5Utils';
// 公众号分享
export const publicShare = publicShareFun;
// #endif
// #ifdef APP-PLUS
import appShareFun, {
closeShare
} from '@/uni_modules/zhouWei-APPshare/js_sdk/appShare';
// APP分享
export const appShare = function(data, callbcak) {
let userInfo = store.state.userInfo;
if (!(userInfo && userInfo.uid)) {
userInfo = uni.getStorageSync("userInfo");
}
let shareData = {
shareTitle: data.shareTitle || base.share.title,
shareUrl: data.shareUrl || base.share.link,
shareContent: data.shareContent || base.share.desc,
shareImg: data.shareImg || base.share.imgUrl,
}
if (userInfo && userInfo.uid) {
if (data.shareUrl) {
if (data.shareUrl.indexOf("?") >= 0) {
shareData.shareUrl = data.shareUrl + "&recommend=" + userInfo.uid
} else {
shareData.shareUrl = data.shareUrl + "?recommend=" + userInfo.uid
}
} else if (base.share && base.share.link) {
if (base.share.link.indexOf("?") >= 0) {
shareData.shareUrl = base.share.link + "&recommend=" + userInfo.uid
} else {
shareData.shareUrl = base.share.link + "?recommend=" + userInfo.uid
}
}
}
return appShareFun({
shareTitle: data.shareTitle || base.share.title,
shareUrl: data.shareUrl || base.share.link,
shareContent: data.shareContent || base.share.desc,
shareImg: data.shareImg || base.share.imgUrl,
}, callbcak);
};
export const closeAppShare = closeShare;
// #endif
// #ifdef MP-WEIXIN
// 微信小程序分享
export const wxShare = function(data = {}) {
let shareInfo = {
title: data.title || base.share.title,
};
if (data.path && typeof(data.path) == "string") {
shareInfo.path = data.path;
} else if (data.path != 1) {
shareInfo.path = "pages/home/home";
}
if (data.imageUrl) {
shareInfo.imageUrl = data.imageUrl;
}
let userInfo = store.state.userInfo;
if (!(userInfo && userInfo.uid)) {
userInfo = uni.getStorageSync("userInfo");
}
if (userInfo && userInfo.uid) {
if (data.query && typeof(data.query) == "object") {
data.query.recommendCode = userInfo.uid;
} else {
data.query = {
recommendCode: userInfo.uid
};
}
}
if (data.query && typeof(data.query) == "object") {
Object.keys(data.query).forEach((key, index) => {
if (index > 0 && shareInfo.query) {
shareInfo.query += "&" + key + "=" + data.query[key];
shareInfo.path += "&" + key + "=" + data.query[key];
} else {
shareInfo.query = key + "=" + data.query[key];
shareInfo.path += "?" + key + "=" + data.query[key];
}
});
}
return shareInfo;
}
// #endif
//支付APP微信支付、APP支付宝支付、微信小程序支付
export const setPay = function(payInfo, callback) {
console.log(payInfo)
payInfo.customerId = store.state.userInfo.id
let httpUrl = "";
if (payInfo.typePay == 'wxpay') {
// APP微信支付
httpUrl = '/v3/pay/placeAnOrder/app'
} else if (payInfo.typePay == 'alipay') {
// APP支付宝支付
httpUrl = 'pay/aliPay/pay'
} else if (payInfo.typePay == 'smallPay') {
// 微信小程序支付
httpUrl = 'api/pay/v1/small_pay_sign_wx'
}else if(payInfo.typePay == 'appleiap'){
// 苹果支付
}
$http.post(httpUrl, payInfo).then(data => {
console.log(data,'data')
let payData = {
success: function(res) {
callback && callback({
success: true,
data: res
});
console.log('success:' + JSON.stringify(res));
},
fail: function(err) {
callback && callback({
success: false,
data: err
});
console.log('fail:' + JSON.stringify(err));
}
};
if (payInfo.typePay == 'smallPay') {
// 小程序
payData.provider = 'wxpay';
payData.timeStamp = data.timeStamp;
payData.nonceStr = data.nonceStr;
payData.package = data.package;
// payData.package = "prepay_id=" + data.prepayid;
payData.signType = "MD5";
payData.paySign = data.sign;
} else if (payInfo.typePay == 'wxpay') {
// app微信
payData.provider = 'wxpay';
payData.orderInfo = data;
} else if (payInfo.typePay == 'alipay') {
// app 支付宝
payData.provider = 'alipay';
payData.orderInfo = data.orderInfo;
} else if (payInfo.typePay == 'baidu') {
payData.provider = 'baidu';
payData.orderInfo = data;
}
if (payData.orderInfo != '' && payData.orderInfo != undefined) {
console.log("支付参数", payData);
// let EnvUtils = plus.android.importClass('com.alipay.sdk.app.EnvUtils');
// EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
uni.requestPayment(payData);
}
}, err => {
callback && callback({
success: false,
data: err
});
});
}
// 支付统一分配
export const setPayAssign = function(orderInfo, callback) {
orderInfo.price = orderInfo.price || orderInfo.pricePay;
orderInfo.title = orderInfo.title || orderInfo.orderTitle;
//支付
// #ifdef APP-PLUS
uni.navigateTo({
url: '/pages/home/weChatPay?orderNo=' + orderInfo.orderNo + '&price=' + orderInfo.price +
'&title=' + orderInfo.title
});
// #endif
// #ifdef MP-WEIXIN
setPay({
...orderInfo,
type: "smallPay"
}, res => {
if (res.success) {
uni.redirectTo({
url: "/pages/shopCar/paySuccess?orderNo=" + orderInfo.orderNo
});
}
});
// #endif
// #ifdef H5
if (getBrowser() === '微信') {
wxPublicPay({
orderNo: orderInfo.orderNo
}, function() {
uni.redirectTo({
url: "/pages/shopCar/paySuccess?orderNo=" + orderInfo.orderNo
});
});
} else {
appMutual('setJumpPay', orderInfo);
}
// #endif
}
// 获取地址信息 微信小程序、APP、公众号
export const getLatLon = function(tip) {
return new Promise((resolve, reject) => {
const successProcess = function(res) {
store.commit("setCurrentAddress", {
latitude: res.latitude,
longitude: res.longitude
});
resolve(res);
};
const errProcess = function(err) {
reject(err);
if (tip) {
uni.showToast({
title: err,
icon: "none"
});
}
};
// #ifdef H5
getLatLonH5(successProcess, errProcess);
// #endif
// #ifndef H5
getAppWxLatLon(successProcess, errProcess);
// #endif
});
}
// 查看是否有某本书的权限
export const checkBookRight = function(data,callback) {
console.log('接受的值', data)
$http.request({
url: "/book/user/checkUserBook",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data:data,
header: { //默认 无 说明请求头1
'Content-Type': 'application/json'
},
}).then(res => {
// console.log(res,'checkBookRight')
if(res.code === 0){
callback && callback({
success: true,
data: '有权限'
});
}
}).catch(e => {
callback && callback({
success: false,
data: '无权限'
});
})
}
// 单独微信支付
export const setWXPay = function(payInfo, callback) {
$http.request({
url: "/pay/placeAnOrder/shoppingPay",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data:payInfo,
header: { //默认 无 说明请求头1
'Content-Type': 'application/json'
},
}).then(res => {
console.log(res,'resshoppingPay')
if(res.code === 0){
let payData = {
provider : 'wxpay',
orderInfo: {
"appid": res.paramMap.appid , // 微信开放平台 - 应用 - AppId注意和微信小程序、公众号 AppId 可能不一致
"noncestr": res.Map.noncestr, // 随机字符串
"package": res.Map.package, // 固定值
"partnerid": res.paramMap.mchid, // 微信支付商户号
"prepayid": res.Map.prepayid, // 统一下单订单号
"timestamp": res.Map.timestamp, // 时间戳(单位:秒)
"signType": "SHA256-RSA",
"sign": res.Map.sign
},
success(res) {
callback && callback({
success: true,
data: res
});
console.log('success:' + JSON.stringify(res));
},
fail(err) {
callback && callback({
success: false,
data: err
});
console.log('fail:' + JSON.stringify(err));
}
}
// console.log(payData)
if(payData.orderInfo.prepayid != '' && payData.orderInfo.prepayid != undefined){
uni.requestPayment(payData);
}
}
})
}