這篇文章給大家分享的是有關(guān)微信小程序中商城開(kāi)發(fā)的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)是專(zhuān)業(yè)的瑞麗網(wǎng)站建設(shè)公司,瑞麗接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行瑞麗網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
最近小程序特別火,所以我們公司也針對(duì)ecshop平臺(tái)對(duì)接了小程序
包括完整的用戶(hù)系統(tǒng)和購(gòu)物體統(tǒng)
用戶(hù)系統(tǒng):收貨地址,訂單管理,消息管理,優(yōu)惠券管理等等
購(gòu)物系統(tǒng)支付購(gòu)物車(chē)管理,微信支付等等
相信有很多小伙伴都用的是ecshop作為自己的商城,最近小程序又火了,于是就有人問(wèn)ecshop對(duì)接小程序怎么做。
正好最近在開(kāi)發(fā)一個(gè)對(duì)接ecshop的小程序項(xiàng)目,就將我的一些開(kāi)發(fā)經(jīng)驗(yàn)分享一下。
一:掃描小程序二維碼后的用戶(hù)信息的獲取和緩存
獲取用戶(hù)信息需要用到兩個(gè)api
wx.login(OBJECT)
調(diào)用接口獲取登錄憑證(code)進(jìn)而換取用戶(hù)登錄態(tài)信息,包括用戶(hù)的唯一標(biāo)識(shí)(openid) 及本次登錄的 會(huì)話(huà)密鑰(session_key)。用戶(hù)數(shù)據(jù)的加解密通訊需要依賴(lài)會(huì)話(huà)密鑰完成。
wx.getUserInfo(OBJECT)
獲取用戶(hù)信息,需要先調(diào)用 wx.login 接口。
獲取緩存需要用到的api
wx.setStorageSync(KEY,DATA)
將 data 存儲(chǔ)在本地緩存中指定的 key 中,會(huì)覆蓋掉原來(lái)該 key 對(duì)應(yīng)的內(nèi)容,這是一個(gè)同步接口。
下面就是具體實(shí)例代碼:
我們可以將這段寫(xiě)在公共的app.js頁(yè)面
//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) //獲取用戶(hù)信息 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 } })
二:獲取微信用戶(hù)的信息以及如何將用戶(hù)信息緩存起來(lái)
要獲取用戶(hù)的地理信息則要用到
wx.getLocation(OBJECT)
獲取當(dāng)前的地理位置、速度。當(dāng)用戶(hù)離開(kāi)小程序后,此接口無(wú)法調(diào)用;當(dāng)用戶(hù)點(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); }
感謝各位的閱讀!關(guān)于“微信小程序中商城開(kāi)發(fā)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)站題目:微信小程序中商城開(kāi)發(fā)的示例分析
網(wǎng)址分享:http://m.rwnh.cn/article6/jdgsog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、云服務(wù)器、定制網(wǎng)站、動(dòng)態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)