校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > golang實現(xiàn)微信小程序商城后臺系統(tǒng)(moshopserver)

golang實現(xiàn)微信小程序商城后臺系統(tǒng)(moshopserver)

熱門標(biāo)簽:長沙ai機器人電銷 賺地圖標(biāo)注的錢犯法嗎 濮陽自動外呼系統(tǒng)代理 廣東語音外呼系統(tǒng)供應(yīng)商 智能電銷機器人營銷 福州鐵通自動外呼系統(tǒng) 澳門防封電銷卡 地圖標(biāo)注測試 烏魯木齊人工電銷機器人系統(tǒng)

golang和c/c++比起來是一門新的語言,一直想學(xué),網(wǎng)上搜集了一些資料,有些人說很容易上手,確實是這樣,和C/C++比起來,少了很多亂七八糟的語法。學(xué)一門新的語言,最好的方法就是動手寫一些東西,最近小程序也比較火,也想學(xué)一下,網(wǎng)絡(luò)上搜索的一些開源項目,基本上沒有g(shù)olang實現(xiàn)的,大部分都是nodejs和java寫的,那么我就來實現(xiàn)一個golang版的吧,一石二鳥。

開發(fā)小程序前后端都需要開發(fā),自己的前端經(jīng)驗很少,搜索了一些開源代碼,有一個小程序項目讓人眼前一亮,Nideshop,界面做的不錯,代碼結(jié)構(gòu)也清晰,而且前后端都實現(xiàn)了,自己的目標(biāo)是學(xué)習(xí)golang和小程序,干脆用golang重寫nideshop吧。

Web框架的選擇

nodejs和java已經(jīng)一些很成熟的框架了,比如nodejs的thinkjs,java的spring框架。golang最近幾年才火起來,有一些web框架也比較新,有下面一些框架:

Beego:開源的高性能 Go 語言 Web 框架。https://github.com/astaxie/beegohttps://beego.me

Buffalo:使用 Go 語言快速構(gòu)建 Web 應(yīng)用。https://github.com/gobuffalo/buffalohttps://gobuffalo.io

Echo:簡約的高性能 Go 語言 Web 框架。https://github.com/labstack/echohttps://echo.labstack.com

Gin:Go 語言編寫的 Web 框架,以更好的性能實現(xiàn)類似 Martini 框架的 API。https://github.com/gin-gonic/ginhttps://gin-gonic.github.io/gin

Iris:全宇宙最快的 Go 語言 Web 框架。完備 MVC 支持,未來盡在掌握。https://github.com/kataras/irishttps://iris-go.com

Revel:Go 語言的高效、全棧 Web 框架。https://github.com/revel/revelhttps://revel.github.io

Beego是國人寫的框架,文檔很全,例子也不少,用的人也多,最后決定用這個框架。

使用xorm生成數(shù)據(jù)庫model

數(shù)據(jù)庫采用的是mysql,使用golang讀寫mysql beego已經(jīng)實現(xiàn)了orm框架。但是數(shù)據(jù)庫表需要生成對應(yīng)的struct,beego的orm貌似沒有自動生成的功能。采用了一個開源庫go-xorm/cmd,最后生成的數(shù)據(jù)庫表像下面這樣,奇怪的是沒有json標(biāo)簽,而且這個xorm標(biāo)簽,最后golang不認報了錯。還有一個問題是有些字段類型xorm生成錯了。比如,數(shù)據(jù)庫中的DECIMAL字段,xorm生成的結(jié)構(gòu)體中的字段類型為string,這個顯然是錯誤的。

type NideshopAd struct {
AdPositionId int `xorm:"not null default 0 index SMALLINT(5)"`
Content  string `xorm:"not null default '' VARCHAR(255)"`
Enabled  int `xorm:"not null default 1 index TINYINT(3)"`
EndTime  int `xorm:"not null default 0 INT(11)"`
Id   int `xorm:"not null pk autoincr SMALLINT(5)"`
ImageUrl  string `xorm:"not null TEXT"`
Link   string `xorm:"not null default '' VARCHAR(255)"`
MediaType int `xorm:"not null default 0 TINYINT(3)"`
Name   string `xorm:"not null default '' VARCHAR(60)"`
}

moshopserver框架結(jié)構(gòu)

moshopserver的框架結(jié)構(gòu)很清晰也很簡單。

前端小程序發(fā)起HTTP請求到Router(router轉(zhuǎn)發(fā)請求的各個階段能做一些過濾,這個后面要說一下),router識別出請求鏈接,將其轉(zhuǎn)發(fā)到相應(yīng)的controller上面。還有三個底層的package:

models

單純和數(shù)據(jù)庫打交道的接口都放在這個package下面。

services

主要實現(xiàn)了三類功能,和微信交互的接口,快遞查詢接口和token生成,檢測接口。

Utils

一些基本的功能函數(shù)放在這個package下面。

Token驗證

token的生成驗證使用了jwt-go這個第三方庫,使用這個庫通過token來解析出userID,創(chuàng)建和驗證token是否過期,整個交互流程是下面這樣子:

  1. 小程序打開的時候默認不登錄,調(diào)用后臺接口,因為沒有token,解析不出來userid,返回小程序段提示用戶登錄。
  2. 小程序調(diào)用微信后臺服務(wù)獲取userinfo,調(diào)用moshopserver后臺登錄接口。
  3. 后臺接口調(diào)用微信后臺,解密userInfo中的相關(guān)字段,生成一條用戶信息插入moshopserver數(shù)據(jù)庫中。然后從數(shù)據(jù)庫中取出userid,生成帶過期時間的token。返回給小程序。
  4. 小程序調(diào)用微信后臺接口,將token存儲到微信服務(wù)端。接下來每次調(diào)用moshopserver后臺,都要從微信后臺取出token,然后傳遞到moshopsever后臺。
  5. 如果token過期或者無效,后端解析不出userid,返回給小程序,讓其再次登錄。生成新的token。如此反復(fù)。

Router過濾器

Nideshop中做了一些設(shè)計,有些接口即使token過期也能訪問,不需要提示用戶再次登錄。moshopserver中也實現(xiàn)了這個功能。采用了beego中的過濾器:

beego.InsertFilter("/api/*", beego.BeforeExec, services.FilterFunc, true, true)

使用的是BeforeExec參數(shù),這個階段Router已經(jīng)識別出了Controller和Action的具體類型,我們可以自己加判斷,到底哪些Controller和Action需要用戶登錄權(quán)限,這些Controller和action放在了配置文件api.conf中:

[controller]
publicController= {'index','catalog','topic','auth','goods','brand','search','region'}
[action]
publicAction={'comment/list','comment/count','cart/index','cart/add','cart/checked','cart/update','cart/delete','cart/goodscount','pay/notify'}

如果HTTP請求鏈接的Controller和Action都不在配置文件中,則跳過接口調(diào)用,直接返回小程序提示其進行重新登錄。

問題

moshopserver還是有一些bug,因為測試不夠充分,應(yīng)該也還存在一些未知的bug,以后慢慢修復(fù)。

已經(jīng)問題:

  • 訂單列表中商品信息不顯示。
  • 用戶登錄后沒有顯示登錄(頭像和用戶名不顯示)

歡迎Star,歡迎提問題。

https://github.com/harlanc/moshopserver

客戶端小程序界面截圖

最后附幾張截圖

總結(jié)

到此這篇關(guān)于golang實現(xiàn)微信小程序商城后臺系統(tǒng)(moshopserver)的文章就介紹到這了,更多相關(guān)golang小程序商城系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • golang 實現(xiàn)tcp server端和client端,并計算RTT時間操作
  • golang實現(xiàn)http server提供文件下載功能
  • 深入理解Golang之http server的實現(xiàn)
  • golang的httpserver優(yōu)雅重啟方法詳解
  • Golang Socket Server自定義協(xié)議的簡單實現(xiàn)方案

標(biāo)簽:廣西 慶陽 德州 貴陽 調(diào)研邀請 西雙版納 阿克蘇 太原

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang實現(xiàn)微信小程序商城后臺系統(tǒng)(moshopserver)》,本文關(guān)鍵詞  golang,實現(xiàn),微信,小,程序,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang實現(xiàn)微信小程序商城后臺系統(tǒng)(moshopserver)》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang實現(xiàn)微信小程序商城后臺系統(tǒng)(moshopserver)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲永久免费av| 99精品国产视频| 久久久一区二区三区| 国产精品一二三四五| 亚洲靠逼com| 欧美变态tickling挠脚心| 懂色av一区二区三区蜜臀| 国产精品动漫网站| 国产一区二区三区久久悠悠色av| 欧美tickling网站挠脚心| 一区二区三区中文字幕在线观看| 国产在线播放一区| 日韩av网站在线观看| 国产精品99久久不卡二区| 久久亚洲综合色| 欧美精品丝袜中出| 91在线一区二区三区| 国产在线麻豆精品观看| 亚洲国产成人av好男人在线观看| 日本一区二区三区国色天香| 69精品人人人人| 欧美最新大片在线看| 国产91精品在线观看| 理论片日本一区| 亚欧色一区w666天堂| 亚洲视频图片小说| 国产日韩欧美一区二区三区综合| 欧美大胆人体bbbb| 91精品久久久久久久99蜜桃| 91精品福利在线| 9i看片成人免费高清| 成人免费视频一区| 夫妻av一区二区| 国产成人av电影| 高清国产一区二区三区| 国内一区二区视频| 久久97超碰色| 久久精品国产色蜜蜜麻豆| 日韩精品电影在线观看| 婷婷六月综合亚洲| 偷窥国产亚洲免费视频| 天天影视涩香欲综合网| 日本午夜一区二区| 麻豆成人91精品二区三区| 免费欧美高清视频| 免费观看一级欧美片| 极品少妇一区二区| 国产寡妇亲子伦一区二区| 国产精品亚洲综合一区在线观看| 国产美女一区二区三区| 国产99一区视频免费| 成人午夜短视频| 波多野结衣亚洲一区| 成人av在线影院| 色综合天天天天做夜夜夜夜做| 91香蕉视频mp4| 91黄色激情网站| 欧美日韩国产在线观看| 欧美一区二区黄色| 久久只精品国产| 综合欧美一区二区三区| 一区二区三区av电影| 日韩二区三区在线观看| 国产在线精品免费| 成人丝袜18视频在线观看| 91小视频在线观看| 欧美精品电影在线播放| 久久综合视频网| 亚洲视频在线一区观看| 日韩电影在线免费| 丁香激情综合五月| 91传媒视频在线播放| 欧美一级一区二区| 国产精品卡一卡二| 舔着乳尖日韩一区| 国产盗摄视频一区二区三区| 91色porny蝌蚪| 欧美一级生活片| 国产精品成人免费精品自在线观看| 一区二区三区成人在线视频| 久草热8精品视频在线观看| 成人18精品视频| 日韩一区二区三区在线观看| 一区在线播放视频| 免费观看一级特黄欧美大片| 蜜乳av一区二区三区| 亚洲视频免费观看| 国产精品免费视频一区| 一区二区三区精品久久久| 男女视频一区二区| 大陆成人av片| 欧美日韩一区高清| 久久亚洲一级片| 久久九九影视网| 日本中文一区二区三区| 国产精品系列在线观看| 欧洲在线/亚洲| 精品国产污网站| 亚洲免费大片在线观看| 秋霞av亚洲一区二区三| 亚洲成人激情综合网| 从欧美一区二区三区| 欧美视频精品在线观看| 精品国产一二三| 亚洲综合视频网| 国产美女精品人人做人人爽| 99久久精品一区二区| 91麻豆精品国产自产在线 | 粉嫩aⅴ一区二区三区四区五区| 91久久线看在观草草青青| 精品入口麻豆88视频| 综合激情成人伊人| 亚洲va在线va天堂| 不卡一区二区三区四区| 精品久久久久99| 一区二区三区中文在线| 国产美女在线精品| 717成人午夜免费福利电影| 亚洲人成电影网站色mp4| 午夜精品在线看| 国产麻豆9l精品三级站| 在线电影欧美成精品| 亚洲人精品一区| 国产精品资源网站| 91精品国产综合久久香蕉的特点| 欧美国产精品一区| 国产乱人伦偷精品视频不卡| 欧美日韩www| 一区二区三区免费| 成人福利在线看| 久久精品一区蜜桃臀影院| 亚洲午夜精品网| 91福利在线导航| 亚洲精品自拍动漫在线| 成人精品视频一区二区三区尤物| 欧美大片拔萝卜| 美女诱惑一区二区| 欧美日韩国产经典色站一区二区三区| 国产精品久久影院| 国产精品一二三在| 2017欧美狠狠色| 激情欧美日韩一区二区| 欧美日韩一区二区三区四区 | 麻豆精品在线观看| 制服丝袜成人动漫| 日本欧美一区二区三区乱码| 欧美日韩国产成人在线91| 亚洲第四色夜色| 日韩一区二区在线看片| 肉肉av福利一精品导航| 欧美一区二区视频网站| 午夜精品爽啪视频| 欧美精品久久久久久久多人混战 | 国产精品69毛片高清亚洲| 欧美高清视频www夜色资源网| 日本欧美一区二区三区| 欧美一区二区在线观看| 免费成人在线影院| 欧美一区二区三区白人| 麻豆成人免费电影| 久久久久国色av免费看影院| aaa国产一区| 一区二区三区国产| 欧美精品 国产精品| 人人爽香蕉精品| 亚洲精品一区二区三区香蕉| 日韩高清一区二区| 国产农村妇女毛片精品久久麻豆| 成人免费视频视频| 亚洲欧美二区三区| 欧美人伦禁忌dvd放荡欲情| 日韩av一区二区在线影视| 欧美草草影院在线视频| 国产乱人伦偷精品视频免下载 | 亚洲一区二区高清| 欧美视频日韩视频在线观看| 琪琪久久久久日韩精品| 久久亚洲二区三区| 国产一区二区三区av电影| 国产精品嫩草99a| 欧美乱妇20p| 国产激情偷乱视频一区二区三区| 久久久亚洲精品石原莉奈| 在线视频一区二区三| 老司机精品视频在线| 中文一区二区在线观看| 欧美优质美女网站| 久久激五月天综合精品| 一区二区三区精品在线| 欧美一激情一区二区三区| 大白屁股一区二区视频| 亚洲大片一区二区三区| 精品成人一区二区三区四区| 色婷婷精品大视频在线蜜桃视频| 美日韩一区二区三区| 亚洲婷婷国产精品电影人久久| 欧美一区二区三区播放老司机| 成人精品一区二区三区四区| 久久精工是国产品牌吗| 亚洲少妇屁股交4|