From 5bdc3019720b25d88dd553258152064107e0bd0c Mon Sep 17 00:00:00 2001
From: 18650502300 <18650502300@163.com>
Date: Mon, 26 Feb 2024 22:47:52 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B8=A0=E9=81=93?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/public.js | 10 ++---
config/cache.js | 5 ++-
main.js | 12 +++--
pages/goods_details/index.vue | 70 +++++++++++++++---------------
pages/index/index.vue | 27 +++++++-----
pages/users/wechat_login/index.vue | 15 ++++---
6 files changed, 79 insertions(+), 60 deletions(-)
diff --git a/api/public.js b/api/public.js
index 556c282..9a883a4 100644
--- a/api/public.js
+++ b/api/public.js
@@ -19,19 +19,19 @@ export function getWechatConfig() {
* 获取微信sdk配置
* @returns {*}
*/
-export function wechatAuth(code, spread,) {
+export function wechatAuth(code, spread,channelId) {
var reg=/^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 ,判断正整数用/^[1-9]+[0-9]*]*$/
spread = reg.test(spread) ? spread : 0;
-
+ channelId = reg.test(channelId) ? channelId : 0;
return request.get(
- "wechat/authorize/login?code=" + code + "&spread_spid=" + spread , {},
+ "wechat/authorize/login?code=" + code + "&spread_spid=" + spread+"&channelId="+channelId, {},
{ noAuth: true }
);
}
/**
* 获取登录授权login
- *
+ *
*/
export function getLogo()
{
@@ -109,4 +109,4 @@ export function appleLogin(data) {
*/
export function iosBinding(data) {
return request.post("ios/binding/phone", data, { noAuth : true });
-}
\ No newline at end of file
+}
diff --git a/config/cache.js b/config/cache.js
index e43f20f..0365d25 100644
--- a/config/cache.js
+++ b/config/cache.js
@@ -26,12 +26,13 @@ module.exports = {
TIPS_KEY: 'TIPS_KEY',
-
+
SPREAD: 'SPREAD',
+ CHANNELID: 'CHANNELID',
//缓存经度
CACHE_LONGITUDE: 'LONGITUDE',
//缓存纬度
CACHE_LATITUDE: 'LATITUDE',
//app手机信息
PLATFORM: 'systemPlatform'
-}
\ No newline at end of file
+}
diff --git a/main.js b/main.js
index 1582209..1bb0e0e 100644
--- a/main.js
+++ b/main.js
@@ -29,13 +29,13 @@ import {
} from "./utils";
import Auth from './libs/wechat';
import {
- SPREAD
+ SPREAD,CHANNELID
} from './config/cache';
Vue.prototype.$wechat = Auth;
let cookieName = "VCONSOLE",
query = parseQuery(),
urlSpread = query["spread"],
-
+ urlChannelId = query["channelId"],
vconsole = query[cookieName.toLowerCase()],
md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2", //CRMEB MD5 加密开启vconsole模式
md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
@@ -46,7 +46,13 @@ let cookieName = "VCONSOLE",
value: urlSpread,
})
}
-
+if (urlChannelId) {
+ urlChannelId = parseInt(urlChannelId);
+ Cache.setItem({
+ name: 'channelId',
+ value: urlChannelId,
+ })
+}
if (vconsole !== undefined) {
if (vconsole === md5UnCrmeb && Cache.has(cookieName))
Cache.clear(cookieName);
diff --git a/pages/goods_details/index.vue b/pages/goods_details/index.vue
index a18cb67..efd99cf 100644
--- a/pages/goods_details/index.vue
+++ b/pages/goods_details/index.vue
@@ -252,7 +252,7 @@
@getImg="showImg" @installments="installments">
@@ -368,8 +368,8 @@
import shareRedPackets from '@/components/shareRedPackets';
import cusPreviewImg from '@/components/cus-previewImg/cus-previewImg.vue'
import {
- silenceBindingSpread,
-
+ silenceBindingSpread,silenceBindingChannelId
+
} from "@/utils";
import parser from "@/components/jyf-parser/jyf-parser";
import {
@@ -551,6 +551,8 @@
this.getTokenIsExist();
},
onLoad(options) {
+ // console.log(JSON.stringify(options),"options.spread")
+ alert("options.spread"+JSON.stringify(options))
//用户从分享卡片进入的场景下获取主题色配置
this.$set(this, 'theme', this.$Cache.get('theme'));
@@ -608,7 +610,7 @@
// #endif
if (options.spread) app.globalData.spread = options.spread;
-
+ if (options.channelId) app.globalData.channelId = options.channelId;
this.getGoodsDetails(); //商品详情
this.getCouponType(); //获取默认的 优惠券类型
@@ -648,7 +650,7 @@
imageUrl: that.productInfo.image || '',
path: '/pages/goods_details/index?id=' + that.id + '&spread=' + that.uid,
-
+
}
},
// #endif
@@ -661,11 +663,11 @@
uni.$emit('scroll');
},
methods: {
- //
-
-
-
-
+ //
+
+
+
+
// 请求分期列表
// getfqList: function() {
// let data = {
@@ -675,7 +677,7 @@
// }
// getfenqilist(data).then(res => {
// this.fenqlist = res.data.list
-
+
// // localStorage.setItem('fqlist',JSON.stringify(this.fenqlist))
// })
// },
@@ -687,7 +689,7 @@
this.getCartCount(true); //购物车数量
//绑定关系
if (parseInt(app.globalData.spread) > 0) silenceBindingSpread();
-
+ if (parseInt(app.globalData.channelId) > 0) silenceBindingChannelId();
}
});
},
@@ -701,8 +703,8 @@
scene: scene,
type: 0,
href: `${HTTP_H5_URL}${curRoute}&spread=${that.uid}`,
-
-
+
+
title: that.productInfo.storeName,
summary: app.globalData.companyName,
imageUrl: that.productInfo.image,
@@ -754,7 +756,7 @@
},
/**
* 购物车手动填写
- *
+ *
*/
iptCartNum: function(e) {
this.$set(this.attr.productSelect, 'cart_num', e ? e : 1);
@@ -796,7 +798,7 @@
that.$set(that.sharePacket, 'touchstart', true); //滑动屏幕时让分享气泡缩回
},
/*
- *去商品详情页
+ *去商品详情页
*/
goDetail(item) {
if (!item.activityH5) {
@@ -839,7 +841,7 @@
},
/**
* 购物车数量加和数量减
- *
+ *
*/
ChangeCartNum: function(changeValue) {
//changeValue:是否 加|减
@@ -871,7 +873,7 @@
},
/**
* 属性变动赋值
- *
+ *
*/
ChangeAttr: function(res) {
let productSelect = this.productValue[res];
@@ -920,7 +922,7 @@
},
/**
* 优品推荐
- *
+ *
*/
getGoods() {
getProductGood().then(res => {
@@ -955,7 +957,7 @@
},
/**
* 获取产品详情
- *
+ *
*/
getGoodsDetails: function() {
let that = this;
@@ -1075,7 +1077,7 @@
},
/**
* 默认选中属性
- *
+ *
*/
DefaultSelect: function() {
let productAttr = this.attr.productAttr;
@@ -1128,7 +1130,7 @@
},
/**
* 获取优惠券
- *
+ *
*/
getCouponList(type) {
let that = this;
@@ -1183,9 +1185,9 @@
that.$set(that.coupon, 'list', that.coupon.list);
that.$set(that.coupon, 'coupon', false);
},
- /**
- *
- *
+ /**
+ *
+ *
* 收藏商品
*/
setCollect: function() {
@@ -1232,7 +1234,7 @@
},
/**
* 打开属性加入购物车
- *
+ *
*/
joinCart: function(e) {
//是否登录
@@ -1319,7 +1321,7 @@
/**
* 立即购买
*/
- goBuy: Debounce(function(e) {
+ goBuy: Debounce(function(e) {
if (this.isLogin === false) {
toLogin();
} else {
@@ -1344,7 +1346,7 @@
},
/**
* 分享打开
- *
+ *
*/
listenerActionSheet: function() {
if (this.isLogin === false) {
@@ -1431,7 +1433,7 @@
}
})
},
-
+
getImageBase64: function(images) {
let that = this;
imageBase64({
@@ -1585,7 +1587,7 @@
let href = location.href;
if (this.$wechat.isWeixin()) {
href = href.indexOf("?") === -1 ? href + "?spread=" + this.uid: href + "&spread=" + this.uid;
-
+
let configAppMessage = {
desc: app.globalData.companyName,
title: data.storeName,
@@ -2538,7 +2540,7 @@
border-radius: 8rpx;
text-align: center;
}
-
-
-
-
\ No newline at end of file
+
+
+
+
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 9372a9b..9fe2302 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -180,7 +180,7 @@
logoip
} from '@/api/api.js';
// #endif
- // #ifdef H5
+ // #ifdef H5
import {
follow
} from '@/api/public.js';
@@ -211,7 +211,7 @@
getGroomList
} from '@/api/store.js';
import {
- silenceBindingSpread,
+ silenceBindingSpread,silenceBindingChannelId,
getCityList
} from '@/utils';
import animationType from '@/utils/animationType.js'
@@ -419,11 +419,11 @@
let qrCodeValue = this.$util.getUrlParams(decodeURIComponent(options.scene));
let mapeMpQrCodeValue = this.$util.formatMpQrCodeData(qrCodeValue);
app.globalData.spread = mapeMpQrCodeValue.spread;
-
-
+ app.globalData.channelId = mapeMpQrCodeValue.channelId;
+
}
if (options.spread) app.globalData.spread = options.spread; //非小程序扫码进入情况下,直接获取url中的分销员id保存在globalDta中
-
+ if (options.channelId) app.globalData.channelId = options.channelId; //非小程序扫码进入情况下,直接获取url中的分销员id保存在globalDta中
// #endif
// #ifndef MP || APP-PLUS
this.navH = 0;
@@ -435,8 +435,13 @@
if (this.isLogin && parseInt(app.globalData.spread) > 0) {
silenceBindingSpread()
}
-
-
+ if (this.isLogin && parseInt(app.globalData.channelId) > 0) {
+ silenceBindingChannelId()
+ }
+ if (this.isLogin && parseInt(options.channelId) > 0) {
+ silenceBindingChannelId()
+ }
+
// 调用记录ip
this.getip()
},
@@ -453,7 +458,7 @@
}, 1000)
// #endif
uni.showTabBar();
-
+
// 调用记录ip
// this.getip()
},
@@ -464,7 +469,7 @@
console.log(res,'记录ip')
})
},
-
+
menusTap(url) {
goPage().then(res => {
if (url == '/pages/goods_cate/goods_cate') {
@@ -639,7 +644,7 @@
appVersionConfig(){
var that = this;
//app升级
- // 获取本地应用资源版本号
+ // 获取本地应用资源版本号
getAppVersion().then(res => {
that.$set(that.appUpdate, 'androidAddress', res.data.androidAddress);
that.$set(that.appUpdate, 'appVersion', res.data.appVersion);
@@ -1303,4 +1308,4 @@
height: 344rpx;
@include index-gradient(theme);
}
-
\ No newline at end of file
+
diff --git a/pages/users/wechat_login/index.vue b/pages/users/wechat_login/index.vue
index 4ceaaa4..63db1f3 100644
--- a/pages/users/wechat_login/index.vue
+++ b/pages/users/wechat_login/index.vue
@@ -31,7 +31,7 @@
class='iconfont icon-weixin2'>一键绑定手机号
-
+
@@ -74,7 +74,7 @@
data() {
return {
isUp: false, // 绑定手机号手动输入弹窗
- phone: '',
+ phone: '',
statusBarHeight: statusBarHeight,
isHome: false,
isPhoneBox: false, //授权手机号弹窗
@@ -144,9 +144,9 @@
//if(!code) location.replace(decodeURIComponent(decodeURIComponent(option.query.back_url)));
if (code && this.options.scope !== 'snsapi_base') {
let spread = app.globalData.spread ? app.globalData.spread : 0;
-
+ let channelId = app.globalData.channelId ? app.globalData.channelId : 0;
//公众号授权登录回调 wechatAuth(code, Cache.get("spread"), loginType)
- wechat.auth(code, spread).then(res => {
+ wechat.auth(code, spread,channelId).then(res => {
if (res.type === 'register') {
this.authKey = res.key;
this.isUp = true
@@ -251,6 +251,7 @@
let userInfo = {};
userInfo.code = code;
userInfo.spread_spid = app.globalData.spread; //获取推广人ID
+ userInfo.channelId = app.globalData.channelId; //渠道ID
userInfo.avatar = '';
userInfo.nickName = '微信用户';
userInfo.type = 'routine'
@@ -266,6 +267,7 @@
let userInfo = res.userInfo;
userInfo.code = code;
userInfo.spread_spid = app.globalData.spread; //获取推广人ID
+ userInfo.channelId = app.globalData.channelId; //渠道ID
userInfo.avatar = userInfo.userInfo.avatarUrl;
userInfo.city = userInfo.userInfo.city;
userInfo.country = userInfo.userInfo.country;
@@ -305,6 +307,9 @@
if (app.globalData.spread) {
spread(app.globalData.spread).then(res => {}) //登录成功后读取spread绑定分销关系
}
+ if (app.globalData.channelId) {
+ channelId(app.globalData.channelId).then(res => {}) //登录成功后读取渠道绑定关系
+ }
self.$util.Tips({
title: res,
icon: 'success'
@@ -457,4 +462,4 @@
height: 50rpx;
}
}
-
\ No newline at end of file
+
From 91fe56dc419e558b591d9506839dae14ac5d4a76 Mon Sep 17 00:00:00 2001
From: 18650502300 <18650502300@163.com>
Date: Tue, 27 Feb 2024 15:30:54 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=B0=83=E8=AF=95?=
=?UTF-8?q?=E5=BC=B9=E7=AA=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/goods_details/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/goods_details/index.vue b/pages/goods_details/index.vue
index 905fae7..e51cedb 100644
--- a/pages/goods_details/index.vue
+++ b/pages/goods_details/index.vue
@@ -552,7 +552,7 @@
},
onLoad(options) {
// console.log(JSON.stringify(options),"options.spread")
- alert("options.spread"+JSON.stringify(options))
+ // alert("options.spread"+JSON.stringify(options))
//用户从分享卡片进入的场景下获取主题色配置
this.$set(this, 'theme', this.$Cache.get('theme'));