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'));