|
|
|
|
var app = getApp();
|
|
|
|
|
import util from "../utils/util"
|
|
|
|
|
// import userApi from "../utils/https/user.js";
|
|
|
|
|
const baseUrl = "https://test.api.cloud.sz-trip.com/api/";
|
|
|
|
|
// const baseUrl = "https://api.cloud.sz-trip.com/api/";
|
|
|
|
|
const orders = ['','weight','distance','sale_number','sale_price','price'];
|
|
|
|
|
//封装GET请求
|
|
|
|
|
function _get(url,data) {
|
|
|
|
|
//为了用户体验,加一个loading效果
|
|
|
|
|
wx.showLoading({ title: '加载中', mask: true });
|
|
|
|
|
url = baseUrl+url;
|
|
|
|
|
// 如果有order
|
|
|
|
|
// if(data && data.order){
|
|
|
|
|
// data.order = orders[data.order];
|
|
|
|
|
// if(data.order=='sale_price' || data.order == 'distance' || data.order=='price'){
|
|
|
|
|
// data.sort = "asc";
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
return new Promise((resolved, rejected) => {
|
|
|
|
|
const obj = {
|
|
|
|
|
url,
|
|
|
|
|
data,
|
|
|
|
|
method: 'GET',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.statusCode == 200) {
|
|
|
|
|
if (res.data.code != 1) {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: res.data.msg,
|
|
|
|
|
icon: "none",
|
|
|
|
|
duration:2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
resolved(res.data);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
rejected(res.data)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail: (err) => rejected(err),
|
|
|
|
|
complete: () => { wx.hideLoading(); }
|
|
|
|
|
}
|
|
|
|
|
wx.request(obj)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
function back(){
|
|
|
|
|
const pages = getCurrentPages();
|
|
|
|
|
if (pages.length <= 1) {
|
|
|
|
|
wx.switchTab({
|
|
|
|
|
url: '/pages/index/index',
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
wx.navigateBack({
|
|
|
|
|
delta: 1
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//封装POST请求
|
|
|
|
|
function _post(url,data={}) {
|
|
|
|
|
//为了用户体验,加一个loading效果
|
|
|
|
|
wx.showLoading({ title: '加载中', mask: true });
|
|
|
|
|
url = baseUrl + url;
|
|
|
|
|
// 如果有order
|
|
|
|
|
// if(data && data.order){
|
|
|
|
|
// data.order = orders[data.order];
|
|
|
|
|
// if(data.order=='sale_price' || data.order == 'distance' || data.order=='price'){
|
|
|
|
|
// data.sort = "asc";
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
return new Promise((resolved, rejected) => {
|
|
|
|
|
const obj = {
|
|
|
|
|
url,
|
|
|
|
|
data,
|
|
|
|
|
method: 'POST',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
if (res.statusCode == 200) {
|
|
|
|
|
// if (res.data.code != 200) {
|
|
|
|
|
// wx.showToast({
|
|
|
|
|
// title: res.data.message,
|
|
|
|
|
// icon: "none",
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
if(url.indexOf('product/get_product_detail')!=-1){
|
|
|
|
|
// 如果是产品详情的话 需要加埋点
|
|
|
|
|
_post('browse/ProductStatistics',{
|
|
|
|
|
uuid:wx.getStorageSync('uuid'),
|
|
|
|
|
product_id:res.data.data.id,
|
|
|
|
|
product_name:res.data.data.title,
|
|
|
|
|
type:res.data.data.type
|
|
|
|
|
})
|
|
|
|
|
util.pagePoint({
|
|
|
|
|
event:'product_view',
|
|
|
|
|
param:{
|
|
|
|
|
type:res.data.data.type,
|
|
|
|
|
id:res.data.data.id
|
|
|
|
|
}
|
|
|
|
|
},1)
|
|
|
|
|
}
|
|
|
|
|
resolved(res.data);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
rejected(res.data);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail: (err) => {wx.hideLoading();rejected(err)}
|
|
|
|
|
}
|
|
|
|
|
wx.request(obj)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
function user_post(url,data={},type){
|
|
|
|
|
if(wx.getStorageSync('authCode')){
|
|
|
|
|
// 如果有授权码的话 用授权码去获取下用户信息
|
|
|
|
|
return new Promise((resolved,rejected)=>{
|
|
|
|
|
_post("/uservice/user/loginWithUserCenterAuthCode",{
|
|
|
|
|
auth_code:wx.getStorageSync('authCode')
|
|
|
|
|
}).then(res=>{
|
|
|
|
|
wx.removeStorageSync('authCode')
|
|
|
|
|
if(res && res.data){
|
|
|
|
|
wx.setStorageSync('jstrip_userid', res.data.id)
|
|
|
|
|
wx.setStorageSync('jstrip_token', res.data.token)
|
|
|
|
|
wx.setStorageSync('jstrip_userInfo', res.data)
|
|
|
|
|
}
|
|
|
|
|
user_post_new(url,data,type).then(res=>{
|
|
|
|
|
resolved(res)
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
rejected(err)
|
|
|
|
|
})
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
wx.removeStorageSync('authCode')
|
|
|
|
|
user_post_new(url,data,type).then(res=>{
|
|
|
|
|
resolved(res)
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
rejected(err)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return user_post_new(url,data,type)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function user_post_new(url,data={},type){
|
|
|
|
|
console.log(type)
|
|
|
|
|
var token = wx.getStorageSync("jstrip_token"),userId = wx.getStorageSync("jstrip_userid");
|
|
|
|
|
//为了用户体验,加一个loading效果
|
|
|
|
|
wx.showLoading({ title: '加载中', mask: true });
|
|
|
|
|
url = baseUrl + url;
|
|
|
|
|
var header = Object.assign({
|
|
|
|
|
token:token,
|
|
|
|
|
userId:userId
|
|
|
|
|
},{
|
|
|
|
|
'context-type': 'application/json'
|
|
|
|
|
})
|
|
|
|
|
// 如果有order
|
|
|
|
|
// 排序
|
|
|
|
|
// if(data && data.order){
|
|
|
|
|
// data.order = orders[data.order];
|
|
|
|
|
// if(data.order=='sale_price' || data.order == 'distance' || data.order=='price'){
|
|
|
|
|
// data.sort = "asc";
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
return new Promise((resolved, rejected) => {
|
|
|
|
|
// 判断是否登录
|
|
|
|
|
// 没有登录就跳转到登录页面
|
|
|
|
|
if (!token || !userId){
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
// 去登陆
|
|
|
|
|
console.log("去登陆去登陆去登陆去登陆去登陆去登陆去登陆")
|
|
|
|
|
checkLogin();
|
|
|
|
|
resolved();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
const obj = {
|
|
|
|
|
url,
|
|
|
|
|
data,
|
|
|
|
|
method: type?type:'POST',
|
|
|
|
|
header: header,
|
|
|
|
|
success: (res) => {
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
console.log(url,url.indexOf('team_order/apply_post')!=-1)
|
|
|
|
|
if(url.indexOf('user/getJumpThirdAppCode')!=-1){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if (res.data.code == 401) {
|
|
|
|
|
// 登录出现问题,需要重新登录
|
|
|
|
|
wx.removeStorageSync("jstrip_userid");
|
|
|
|
|
wx.removeStorageSync("jstrip_token");
|
|
|
|
|
wx.removeStorageSync("jstrip_userInfo");
|
|
|
|
|
checkLogin();
|
|
|
|
|
}
|
|
|
|
|
else if(res.data.code==4005){
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/pages/user/verify/index',
|
|
|
|
|
})
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else if (res.data.code != 1 && res.data.msg) {
|
|
|
|
|
// 不出现提示语
|
|
|
|
|
if(url.indexOf('actonline/video_act/getRaffle')!=-1 || url.indexOf('team_order/apply_post')!=-1 && type=='get'){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if(url.indexOf('actonline/act_online/vote')!=-1 && res.data.code==0){
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: res.data.msg,
|
|
|
|
|
icon: "none",
|
|
|
|
|
duration:2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
else if(url.indexOf('actonline/act_online/vote')==-1){
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: res.data.msg==='身份证号码错误'?'身份证和姓名不匹配':res.data.msg,
|
|
|
|
|
icon: "none",
|
|
|
|
|
duration:2000
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if(res.statusCode == 200){
|
|
|
|
|
if(url.indexOf('/order/create')!=-1 && res.data.code==1 && res.data.data){
|
|
|
|
|
// 下单成功
|
|
|
|
|
wx.removeStorageSync('prizeId')
|
|
|
|
|
if(res.data.data.pay_status==1){
|
|
|
|
|
// 0元直接付款成功
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url:"/pages/order/payresult/index?tid="+res.data.data.order_id
|
|
|
|
|
})
|
|
|
|
|
// util.gotoOrder(res.data.data)
|
|
|
|
|
// // wx.navigateTo({
|
|
|
|
|
// // url: '/pages/user/order/sceneOrderInfo/index?id='+res.data.data.order_id,
|
|
|
|
|
// // })
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/pages/order/pay/index?id='+res.data.data.order_id,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if(wx.getStorageSync('order_from')){
|
|
|
|
|
util.pagePoint({
|
|
|
|
|
event:wx.getStorageSync('order_from')
|
|
|
|
|
},1)
|
|
|
|
|
}
|
|
|
|
|
wx.removeStorageSync('order_from')
|
|
|
|
|
}
|
|
|
|
|
else if(url.indexOf('/order/create')!=-1 && res.data.msg=='您有正在进行中或待支付的拼团,请查看拼团订单'){
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/pages/user/order/list',
|
|
|
|
|
})
|
|
|
|
|
}, 1000);
|
|
|
|
|
}
|
|
|
|
|
if(url.indexOf('product/get_product_detail')!=-1){
|
|
|
|
|
// 如果是产品详情的话 需要加埋点
|
|
|
|
|
_post('browse/ProductStatistics',{
|
|
|
|
|
uuid:wx.getStorageSync('uuid'),
|
|
|
|
|
product_id:res.data.data.id,
|
|
|
|
|
product_name:res.data.data.title,
|
|
|
|
|
type:res.data.data.type
|
|
|
|
|
})
|
|
|
|
|
util.pagePoint({
|
|
|
|
|
event:'product_view',
|
|
|
|
|
param:{
|
|
|
|
|
type:res.data.data.type,
|
|
|
|
|
id:res.data.data.id
|
|
|
|
|
}
|
|
|
|
|
},1)
|
|
|
|
|
}
|
|
|
|
|
resolved(res.data);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
rejected(res.data);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail: (err) => {
|
|
|
|
|
console.log(err)
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
rejected(err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
wx.request(obj)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const set_logininfo = r => {
|
|
|
|
|
wx.setStorageSync("jstrip_userid", r.data.id)
|
|
|
|
|
wx.setStorageSync("jstrip_token", r.data.token)
|
|
|
|
|
wx.setStorageSync("jstrip_userInfo", r.data)
|
|
|
|
|
// 此时重新加载页面
|
|
|
|
|
if (getCurrentPages().length != 0) {
|
|
|
|
|
//刷新当前页面的数据
|
|
|
|
|
let item = getCurrentPages()[getCurrentPages().length - 1];
|
|
|
|
|
if(item.route.indexOf('login')!=-1){
|
|
|
|
|
item = getCurrentPages()[getCurrentPages().length - 2];
|
|
|
|
|
item.onLoad(item.__displayReporter.query)
|
|
|
|
|
}
|
|
|
|
|
else if(item.route=='pages/index/index'){
|
|
|
|
|
// 首页只可能去获取苏康码
|
|
|
|
|
item.gotoSkm();
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
item.onShow()
|
|
|
|
|
item.onLoad(item.__displayReporter.query)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
const checkLogin = () => {
|
|
|
|
|
// 判断是否已经授权过
|
|
|
|
|
let page = getCurrentPages();
|
|
|
|
|
if(page[page.length-1].route!='pages/login/index') {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/pages/login/index',
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return;
|
|
|
|
|
wx.getSetting({
|
|
|
|
|
success: res => {
|
|
|
|
|
if (res.authSetting['scope.userInfo']) {
|
|
|
|
|
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
|
|
|
|
|
wx.login({
|
|
|
|
|
success: r => {
|
|
|
|
|
wx.getUserInfo({
|
|
|
|
|
success: function (res) {
|
|
|
|
|
userApi._post("user/wxLogin", { code: r.code, encryptedData: res.encryptedData, iv: res.iv, loginType: 3 }).then(r => {
|
|
|
|
|
if (r.code != 1) {
|
|
|
|
|
// 请求失败
|
|
|
|
|
back()
|
|
|
|
|
}
|
|
|
|
|
else if (r.data.id && r.data.token) {
|
|
|
|
|
set_logininfo(r);
|
|
|
|
|
}
|
|
|
|
|
// r.data.isBind是false的时候去绑定手机号 该用户没有注册过
|
|
|
|
|
// 已经注册的用户返回userinfo
|
|
|
|
|
else if (r.data.isBindMobile === 0 && page[page.length-1].route!='pages/user/bindtel/index') {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/pages/user/bindtel/index?regToken=' + encodeURIComponent(r.data.openid),
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '网络请求失败',
|
|
|
|
|
icon: 'none'
|
|
|
|
|
})
|
|
|
|
|
console.log(err,"666666")
|
|
|
|
|
back()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if(page[page.length-1].route!='pages/login/index') {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/pages/login/index',
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail:err=>{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
//导出封装的_post方法
|
|
|
|
|
export default {
|
|
|
|
|
_post,
|
|
|
|
|
_get,
|
|
|
|
|
user_post,
|
|
|
|
|
set_logininfo,
|
|
|
|
|
checkLogin,
|
|
|
|
|
baseUrl
|
|
|
|
|
}
|