為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2019-11 文章編輯:小燈 瀏覽次數(shù):11983
小程序分享二維碼思路:
a分享二維碼給b,二維碼上帶有a的標(biāo)識(shí)ppid
b接收a的二維碼打開(kāi)頁(yè)面,將接收到的ppid傳遞給后臺(tái),后臺(tái)就可以知道b是通過(guò)a的二維碼打開(kāi)的頁(yè)面
1.在后臺(tái)設(shè)置識(shí)別二維碼進(jìn)入的頁(yè)面,這里用index頁(yè)面。
2.在index頁(yè)面是接收二維碼里面的參數(shù),解析并截取獲取。二維碼的參數(shù)格式:scene=ppid:12
export default {
data() {
return {
ppid: "",
}
},
onLoad(option) {
// 解析二維碼里面的參數(shù)獲得ppid
this.ppid = this.scene_decode(decodeURIComponent(option.scene)).ppid //封裝的scene_decode() 方法
if(this.ppid) {
//我這里是把ppid存進(jìn)vuex,然后在b注冊(cè)時(shí),把ppid傳給后臺(tái)
this.saveppid(this.ppid)// ppid 存進(jìn)vuex
}
},
methods: {
// 截取ppid的方法
scene_decode(scene) {
var _str = scene + "";
var _str_list = _str.split(",");
var res = {};
for (var i in _str_list) {
var _tmp_str = _str_list[i];
var _tmp_str_list = _tmp_str.split(":");
if (_tmp_str_list.length > 0&&_tmp_str_list[0]) {
res[_tmp_str_list[0]] = _tmp_str_list[1] || null;
}
}
return res;
}
}
}
vuex里面存ppid的方法
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
ppid: '',
},
mutations: {
// 二維碼ppid
saveppid(state,ppid) {
state.ppid = ppid
uni.setStorage({
key: 'ppid',
data: ppid
})
// console.log(state.ppid)
},
},
})
export default store
3.b登陸注冊(cè)時(shí),從vuex里面取出ppid傳給后臺(tái)
_getuserinfo(res) {
console.log(store.state.ppid)
var that = this
var userinfoDetails = {}
userinfoDetails = res.detail.userInfo
uni.getUserInfo({
provider: 'weixin',
success: function () {
uni.login({
success:function(res){
uni.showLoading({
title: '登陸中...',
mask: false
});
uni.request({
url: that.apiUrl + 'small/index/GetOpenid?code=' + res.code,
success: (res) => {
console.log(res)
if (res.data.openid) {
uni.setStorageSync('openid', res.data.openid)
userinfoDetails.openid = res.data.openid
//store.state.ppid取ppid,然后賦值給userinfoDetails.ppid
userinfoDetails.ppid = store.state.ppid || ''
}
if(res.data.status == 0) {
that.sendInfo(userinfoDetails) // 用戶還沒(méi)注冊(cè)過(guò)需調(diào)用此方法
console.log('我還沒(méi)有注冊(cè)')
} else if (res.data.status == 1) {
uni.showToast({
title: '登錄成功',
icon: 'success',
duration: 2000
})
that.getUserData() // 調(diào)用獲取用戶信息的接口
} else {
uni.hideLoading()
uni.showToast({
title: '登錄失敗',
duration: 2000,
icon:'none'
})
}
}
})
}
})
}
});
},
sendInfo(userinfoDetails) {
var that = this
uni.request({
url: this.apiUrl + 'small/index/insertvip', //注冊(cè)接口
data: userinfoDetails,
method: 'POST',
success: (res) => {
if(res.data.userinfo == 1) {
uni.hideLoading()
uni.showToast({
title: '注冊(cè)成功',
icon: 'success',
duration: 2000
})
that.getUserData() // 調(diào)用獲取用戶信息的接口
} else {
uni.hideLoading()
uni.showToast({
title: res.data.msg,
duration: 2000
})
}
}
})
},
日期:2019-11 瀏覽次數(shù):5524
日期:2019-11 瀏覽次數(shù):11982
日期:2019-11 瀏覽次數(shù):4351
日期:2019-11 瀏覽次數(shù):5385
日期:2019-11 瀏覽次數(shù):5260
日期:2019-11 瀏覽次數(shù):7180
日期:2019-11 瀏覽次數(shù):5165
日期:2019-11 瀏覽次數(shù):15768
日期:2019-11 瀏覽次數(shù):4718
日期:2019-11 瀏覽次數(shù):6517
日期:2019-11 瀏覽次數(shù):5371
日期:2019-11 瀏覽次數(shù):4564
日期:2019-11 瀏覽次數(shù):10763
日期:2019-11 瀏覽次數(shù):8320
日期:2019-11 瀏覽次數(shù):5079
日期:2019-11 瀏覽次數(shù):4311
日期:2019-11 瀏覽次數(shù):8952
日期:2019-11 瀏覽次數(shù):4648
日期:2019-11 瀏覽次數(shù):4845
日期:2019-11 瀏覽次數(shù):4865
日期:2019-11 瀏覽次數(shù):4477
日期:2019-11 瀏覽次數(shù):5026
日期:2019-11 瀏覽次數(shù):10282
日期:2019-11 瀏覽次數(shù):5459
日期:2019-11 瀏覽次數(shù):5437
日期:2019-11 瀏覽次數(shù):4884
日期:2019-11 瀏覽次數(shù):12330
日期:2019-11 瀏覽次數(shù):7354
日期:2019-11 瀏覽次數(shù):7904
日期:2019-11 瀏覽次數(shù):4857
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.