国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序 商城開發(fā)(ecshop )簡(jiǎn)單實(shí)例

2019-11-19 16:53:23
字體:
供稿:網(wǎng)友

最近小程序特別火,所以我們公司也針對(duì)ecshop平臺(tái)對(duì)接了小程序

包括完整的用戶系統(tǒng)和購物體統(tǒng)

用戶系統(tǒng):收貨地址,訂單管理,消息管理,優(yōu)惠券管理等等

購物系統(tǒng)支付購物車管理,微信支付等等







相信有很多小伙伴都用的是ecshop作為自己的商城,最近小程序又火了,于是就有人問ecshop對(duì)接小程序怎么做。

正好最近在開發(fā)一個(gè)對(duì)接ecshop的小程序項(xiàng)目,就將我的一些開發(fā)經(jīng)驗(yàn)分享一下。

一:掃描小程序二維碼后的用戶信息的獲取和緩存

獲取用戶信息需要用到兩個(gè)api

wx.login(OBJECT)

調(diào)用接口獲取登錄憑證(code)進(jìn)而換取用戶登錄態(tài)信息,包括用戶的唯一標(biāo)識(shí)(openid) 及本次登錄的 會(huì)話密鑰(session_key)。用戶數(shù)據(jù)的加解密通訊需要依賴會(huì)話密鑰完成。

wx.getUserInfo(OBJECT)

獲取用戶信息,需要先調(diào)用 wx.login 接口。

獲取緩存需要用到的api

wx.setStorageSync(KEY,DATA)

將 data 存儲(chǔ)在本地緩存中指定的 key 中,會(huì)覆蓋掉原來該 key 對(duì)應(yīng)的內(nèi)容,這是一個(gè)同步接口。

下面就是具體實(shí)例代碼:

我們可以將這段寫在公共的app.js頁面

//app.js App({  onLaunch: function() {  },  getUserInfo: function (cb) {  var that = this  if (this.globalData.userInfo) {   typeof cb == "function" && cb(this.globalData.userInfo)  } else {   //調(diào)用登錄接口   wx.login({   success: function (res) {    if (res.code) {    var userid = wx.getStorageSync('scuserid')    var sc_session_id = wx.getStorageSync('sc_session_id')    var openid = wx.getStorageSync('sc_session_id')    if(!userid){      wx.request({      url: 'xxxx/data.php?action=sendCode',      data: {       code: res.code,      },      success: function (res) {       //console.log(res)       var status = res.data.status       if(status == 1){        wx.showToast({        title: res.data.message,        icon: 'success',        duration: 2000        })       }else if(status == 2){        var scuserid = res.data.userid        if(scuserid > 0){         //緩存user_id         wx.setStorageSync('scuserid', scuserid)         wx.setStorageSync('openid', res.data.openid)         wx.setStorageSync('sc_session_id', res.data.session_id)        }       }else{        //緩存session_id        wx.setStorageSync('openid', res.data.openid)        wx.setStorageSync('sc_session_id', res.data.session_id)        //獲取用戶信息        wx.getUserInfo({        success: function (res) {         that.globalData.userInfo = res.userInfo         typeof cb == "function" && cb(that.globalData.userInfo)         //console.log(res);         wx.request({         url: 'xxxx/data.php?action=saveUserInfo',         data: {          userinfo: res.userInfo,          openid: wx.getStorageSync('openid'),         },         success: function (res) {          //console.log(res.data)          var status = res.data.status          if(status == 1){           wx.showToast({            title: res.data.message,            icon: 'success',            duration: 2000           })          }else{           var scuserid = res.data.userid           if(scuserid > 0){           //緩存user_id           wx.setStorageSync('scuserid', scuserid)           }          }         }         })        }        })       }      }      })    }    }   }   })  }  },  globalData: {  userInfo: null  } }) 

二:獲取微信用戶的信息以及如何將用戶信息緩存起來

要獲取用戶的地理信息則要用到

wx.getLocation(OBJECT)

獲取當(dāng)前的地理位置、速度。當(dāng)用戶離開小程序后,此接口無法調(diào)用;當(dāng)用戶點(diǎn)擊“顯示在聊天頂部”時(shí),此接口可繼續(xù)調(diào)用。

具體實(shí)例代碼:

//獲取緯度,經(jīng)度  wx.getLocation({   type: 'wgs84',   success: function (res) {   var latitude = res.latitude   var longitude = res.longitude   wx.request({    url: 'http://XXXXXX/data.php?action=get_dq',    data: {    latitude: latitude,    longitude: longitude    },    headers: {    'Content-Type': 'application/json'    },    success: function (res) {    //console.log(res.data)    var province = res.data.result.addressComponent.province    //console.log(province)    var city = res.data.result.addressComponent.city    var district = res.data.result.addressComponent.district    var diqu = province+city+district    //緩存當(dāng)前所在地區(qū)    wx.setStorageSync('dq_diqu', diqu)    wx.setStorageSync('dq_district', district)    }   })   }  }) if($act=="get_dq"){  //獲取當(dāng)然城市  //http://api.map.baidu.com/geocoder/v2/?ak=327381a342077a8f3d584251b811cce5&callback=renderReverse&location=30.593099,114.305393&output=json  //緯度  $latitude = $_REQUEST['latitude'];  //經(jīng)度  $longitude = $_REQUEST['longitude'];  $url = 'http://api.map.baidu.com/geocoder/v2/?ak=327381a342077a8f3d584251b811cce5&location='.$latitude.','.$longitude.'&output=json';  $result = file_get_contents($url);  exit($result); }

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 土默特左旗| 太湖县| 芦山县| 高碑店市| 怀柔区| 彰化市| 伊吾县| 松溪县| 阿拉尔市| 道真| 固安县| 栾城县| 即墨市| 防城港市| 襄城县| 南康市| 金秀| 罗平县| 西峡县| 福海县| 罗源县| 九江市| 汉源县| 西平县| 武汉市| 亳州市| 新干县| 永春县| 东乌珠穆沁旗| 沙河市| 沙湾县| 鹰潭市| 紫阳县| 乐业县| 瑞安市| 城固县| 陇南市| 兴隆县| 太仆寺旗| 赣榆县| 公安县|