178 lines
4.5 KiB
JavaScript
178 lines
4.5 KiB
JavaScript
![]() |
import $http from '@/config/requestConfig'
|
|||
|
import store from '@/config/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 '@/plugins/share';
|
|||
|
// APP分享
|
|||
|
export const appShare = function(data,callbcak){
|
|||
|
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 (title,path) {
|
|||
|
let shareInfo = {
|
|||
|
title: title || base.share.title,
|
|||
|
};
|
|||
|
if(path && typeof(path) == "string"){
|
|||
|
shareInfo.path = path;
|
|||
|
}else if(path === undefined){
|
|||
|
shareInfo.path = base.share.path;
|
|||
|
}
|
|||
|
if (store.state.userInfo.token) {
|
|||
|
if (shareInfo.path.indexOf("?") >= 0) {
|
|||
|
shareInfo.path += "&recommendCode=" + store.state.userInfo.uid;
|
|||
|
} else {
|
|||
|
shareInfo.path += "?recommendCode=" + store.state.userInfo.uid;
|
|||
|
}
|
|||
|
}
|
|||
|
return shareInfo;
|
|||
|
}
|
|||
|
// #endif
|
|||
|
|
|||
|
//支付(APP微信支付、APP支付宝支付、微信小程序支付)
|
|||
|
export const setPay = function(payInfo, callback) {
|
|||
|
let httpUrl = "";
|
|||
|
if (payInfo.type == 'wxpay') {
|
|||
|
// APP微信支付
|
|||
|
httpUrl = 'api/pay/v1/pay_sign_wx'
|
|||
|
} else if (payInfo.type == 'alipay') {
|
|||
|
// APP支付宝支付
|
|||
|
httpUrl = 'api/pay/v1/pay_sign_ali'
|
|||
|
} else if (payInfo.type == 'smallPay') {
|
|||
|
// 微信小程序支付
|
|||
|
httpUrl = 'api/pay/v1/small_pay_sign_wx'
|
|||
|
}
|
|||
|
$http.get(httpUrl, {
|
|||
|
orderNo: payInfo.orderNo
|
|||
|
}).then(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.type == '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.type == 'wxpay') {
|
|||
|
// app微信
|
|||
|
payData.provider = 'wxpay';
|
|||
|
payData.orderInfo = data;
|
|||
|
} else if (payInfo.type == 'alipay') {
|
|||
|
// app 支付宝
|
|||
|
payData.provider = 'alipay';
|
|||
|
payData.orderInfo = data;
|
|||
|
} else if (payInfo.type == 'baidu') {
|
|||
|
payData.provider = 'baidu';
|
|||
|
payData.orderInfo = data;
|
|||
|
}
|
|||
|
console.log("支付参数", payData);
|
|||
|
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/template/pay?orderNo=' + orderInfo.orderNo + '&price=' + orderInfo.price + '&title=' + orderInfo.title
|
|||
|
});
|
|||
|
// #endif
|
|||
|
// #ifdef MP-WEIXIN
|
|||
|
setPay({
|
|||
|
...orderInfo,
|
|||
|
type: "smallPay"
|
|||
|
}, callback);
|
|||
|
// #endif
|
|||
|
// #ifdef H5
|
|||
|
if (getBrowser() === '微信') {
|
|||
|
wxPublicPay({
|
|||
|
orderNo: orderInfo.orderNo
|
|||
|
});
|
|||
|
} else {
|
|||
|
// H5嵌套在APP里面,调用app支付方法
|
|||
|
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 getUserInfo = function(lang){
|
|||
|
return new Promise((resolve,reject)=>{
|
|||
|
$http.get('/api/user/profile?lang='+lang).then(res => {
|
|||
|
if(res.code == 0){
|
|||
|
let userinfo=res.data;
|
|||
|
userinfo.token=store.state.userInfo.token;
|
|||
|
store.commit('setUserInfo', userinfo);
|
|||
|
resolve(userinfo);
|
|||
|
}
|
|||
|
});
|
|||
|
})
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|