├── .gitattributes
├── PygElecSystem
├── .idea
│ ├── PygElecSystem.iml
│ ├── modules.xml
│ └── workspace.xml
├── PygElecSystem
├── conf
│ └── app.conf
├── controllers
│ ├── cart.go
│ ├── default.go
│ ├── goods.go
│ ├── order.go
│ └── user.go
├── main.go
├── models
│ └── model.go
├── routers
│ └── router.go
├── static
│ ├── css
│ │ ├── all.css
│ │ ├── main.css
│ │ ├── pages-JD-index.css
│ │ ├── pages-login.css
│ │ └── reset.css
│ ├── fonts
│ │ ├── icon-moon.eot
│ │ ├── icon-moon.svg
│ │ ├── icon-moon.ttf
│ │ ├── icon-moon.woff
│ │ ├── icon-pc.eot
│ │ ├── icon-pc.svg
│ │ ├── icon-pc.ttf
│ │ ├── icon-pc.woff
│ │ ├── icon-tb.eot
│ │ ├── icon-tb.svg
│ │ ├── icon-tb.ttf
│ │ ├── icon-tb.woff
│ │ ├── icon-touch.eot
│ │ ├── icon-touch.svg
│ │ ├── icon-touch.ttf
│ │ └── icon-touch.woff
│ ├── goodsType.sql
│ ├── images
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ ├── _
│ │ │ ├── 01.png
│ │ │ ├── b1.png
│ │ │ ├── b2.png
│ │ │ ├── b3.png
│ │ │ ├── banner.png
│ │ │ ├── bg-who1.png
│ │ │ ├── buy001.jpg
│ │ │ ├── buy002.jpg
│ │ │ ├── buy01.jpg
│ │ │ ├── car.png
│ │ │ ├── clock.png
│ │ │ ├── code.png
│ │ │ ├── cooperation_banner.jpg
│ │ │ ├── down-icon.png
│ │ │ ├── dp01.png
│ │ │ ├── dp02.png
│ │ │ ├── dp03.png
│ │ │ ├── dp04.png
│ │ │ ├── empty_heart.png
│ │ │ ├── erweima.jpg
│ │ │ ├── fail.png
│ │ │ ├── gocart.jpg
│ │ │ ├── gocart01.jpg
│ │ │ ├── goods1.jpg
│ │ │ ├── gotop.png
│ │ │ ├── icon-red.png
│ │ │ ├── icon.png
│ │ │ ├── intro01.png
│ │ │ ├── intro02.png
│ │ │ ├── intro03.png
│ │ │ ├── itemlike01.png
│ │ │ ├── itemlike02.png
│ │ │ ├── itemlike03.png
│ │ │ ├── itemlike04.png
│ │ │ ├── itemlike05.png
│ │ │ ├── itemlike06.png
│ │ │ ├── l-m01.png
│ │ │ ├── list.jpg
│ │ │ ├── list.png
│ │ │ ├── login-bg.png
│ │ │ ├── manage-bg.png
│ │ │ ├── mobile01.png
│ │ │ ├── mobile02.png
│ │ │ ├── mobile03.png
│ │ │ ├── mobile04.png
│ │ │ ├── mobile05.png
│ │ │ ├── mobile06.png
│ │ │ ├── part01.png
│ │ │ ├── part02.png
│ │ │ ├── part03.png
│ │ │ ├── pay1.jpg
│ │ │ ├── pay10.jpg
│ │ │ ├── pay11.jpg
│ │ │ ├── pay12.jpg
│ │ │ ├── pay13.jpg
│ │ │ ├── pay14.jpg
│ │ │ ├── pay15.jpg
│ │ │ ├── pay16.jpg
│ │ │ ├── pay17.jpg
│ │ │ ├── pay18.jpg
│ │ │ ├── pay19.jpg
│ │ │ ├── pay2.jpg
│ │ │ ├── pay20.jpg
│ │ │ ├── pay21.jpg
│ │ │ ├── pay22.jpg
│ │ │ ├── pay3.jpg
│ │ │ ├── pay4.jpg
│ │ │ ├── pay5.jpg
│ │ │ ├── phone-bg.png
│ │ │ ├── phone01.png
│ │ │ ├── phone02.png
│ │ │ ├── phone03.png
│ │ │ ├── phone04.png
│ │ │ ├── phone05.png
│ │ │ ├── phone06.png
│ │ │ ├── phone07.png
│ │ │ ├── phone08.png
│ │ │ ├── phone09.png
│ │ │ ├── phone10.png
│ │ │ ├── phone11.png
│ │ │ ├── phone12.png
│ │ │ ├── phone13.png
│ │ │ ├── phone14.png
│ │ │ ├── photo.jpg
│ │ │ ├── photo.png
│ │ │ ├── photo_icon.png
│ │ │ ├── right.png
│ │ │ ├── s1.png
│ │ │ ├── s2.png
│ │ │ ├── s3.png
│ │ │ ├── sampling_head.jpg
│ │ │ ├── seckillbg.png
│ │ │ ├── shi_heart.png
│ │ │ ├── shop-intro.png
│ │ │ ├── shop-logo.png
│ │ │ ├── shop-part.png
│ │ │ ├── star.png
│ │ │ ├── t.jpg
│ │ │ ├── title_bg.jpg
│ │ │ └── y24.png
│ │ ├── account.png
│ │ ├── ad.jpg
│ │ ├── ad1.png
│ │ ├── adv01.jpg
│ │ ├── adv02.jpg
│ │ ├── ali.png
│ │ ├── banner01.jpg
│ │ ├── banner02.jpg
│ │ ├── banner03.jpg
│ │ ├── banner04.jpg
│ │ ├── banner05.jpg
│ │ ├── banner06.jpg
│ │ ├── banner1.jpg
│ │ ├── banner1.png
│ │ ├── banner2.jpg
│ │ ├── banner3.jpg
│ │ ├── banner4.jpg
│ │ ├── barrow.png
│ │ ├── bg0.png
│ │ ├── bg2.png
│ │ ├── bg3.png
│ │ ├── brand01.png
│ │ ├── brand02.png
│ │ ├── brand03.png
│ │ ├── brand04.png
│ │ ├── brand05.png
│ │ ├── brand06.png
│ │ ├── brand07.png
│ │ ├── brand08.png
│ │ ├── brand09.png
│ │ ├── brand10.png
│ │ ├── brand11.png
│ │ ├── brand12.png
│ │ ├── brand13.png
│ │ ├── brand_03.png
│ │ ├── brand_05.png
│ │ ├── brand_07.png
│ │ ├── brand_09.png
│ │ ├── brand_11.png
│ │ ├── brand_13.png
│ │ ├── brand_15.png
│ │ ├── brand_17.png
│ │ ├── brand_19.png
│ │ ├── brand_21.png
│ │ ├── cartPanelViewIcons.png
│ │ ├── choosed.png
│ │ ├── clock.png
│ │ ├── delete.png
│ │ ├── down.png
│ │ ├── duihuan.png
│ │ ├── erweima.png
│ │ ├── floor-1-1.png
│ │ ├── floor-1-2.png
│ │ ├── floor-1-3.png
│ │ ├── floor-1-4.png
│ │ ├── floor-1-5.png
│ │ ├── floor-1-6.png
│ │ ├── floor-1-b01.png
│ │ ├── floor-1-b02.png
│ │ ├── floor-1-b03.png
│ │ ├── fruit.jpg
│ │ ├── goods.jpg
│ │ ├── goods.png
│ │ ├── goods
│ │ │ ├── goods001.jpg
│ │ │ ├── goods002.jpg
│ │ │ ├── goods003.jpg
│ │ │ ├── goods004.jpg
│ │ │ ├── goods005.jpg
│ │ │ ├── goods006.jpg
│ │ │ ├── goods007.jpg
│ │ │ ├── goods008.jpg
│ │ │ ├── goods009.jpg
│ │ │ ├── goods010.jpg
│ │ │ ├── goods011.jpg
│ │ │ ├── goods012.jpg
│ │ │ ├── goods013.jpg
│ │ │ ├── goods014.jpg
│ │ │ ├── goods015.jpg
│ │ │ ├── goods016.jpg
│ │ │ ├── goods017.jpg
│ │ │ ├── goods018.jpg
│ │ │ ├── goods019.jpg
│ │ │ ├── goods020.jpg
│ │ │ └── goods021.jpg
│ │ ├── goods02.jpg
│ │ ├── goods_detail.jpg
│ │ ├── icons.png
│ │ ├── icons02.png
│ │ ├── icons03.png
│ │ ├── interest01.png
│ │ ├── interest02.png
│ │ ├── interest03.png
│ │ ├── interest04.png
│ │ ├── interest05.png
│ │ ├── interest06.png
│ │ ├── interval_line.png
│ │ ├── left_bg.jpg
│ │ ├── like1.png
│ │ ├── like2.png
│ │ ├── like3.png
│ │ ├── like4.png
│ │ ├── like_01.png
│ │ ├── like_02.png
│ │ ├── like_03.png
│ │ ├── like_04.png
│ │ ├── like_05.png
│ │ ├── like_06.png
│ │ ├── linker.png
│ │ ├── lock.png
│ │ ├── login_banner.png
│ │ ├── loginbg.png
│ │ ├── logo.png
│ │ ├── logo02.png
│ │ ├── mod-list.png
│ │ ├── pay_icons.png
│ │ ├── photo.png
│ │ ├── qq.png
│ │ ├── quan.png
│ │ ├── register_banner.png
│ │ ├── shop_cart.png
│ │ ├── sina.png
│ │ ├── slide.jpg
│ │ ├── slide02.jpg
│ │ ├── slide03.jpg
│ │ ├── slide04.jpg
│ │ ├── today01.png
│ │ ├── today02.png
│ │ ├── today03.png
│ │ ├── today04.png
│ │ ├── weixin.png
│ │ ├── wx_cz.jpg
│ │ └── zoom.png
│ └── js
│ │ ├── all.js
│ │ ├── index.js
│ │ ├── jquery-1.12.4.min.js
│ │ ├── jquery-ui.min.js
│ │ ├── jquery.cookie.js
│ │ ├── login.js
│ │ ├── register.js
│ │ └── slide.js
├── tests
│ └── default_test.go
└── views
│ ├── cart.html
│ ├── detail.html
│ ├── index.html
│ ├── index.tpl
│ ├── index_sx.html
│ ├── list.html
│ ├── login.html
│ ├── place_order.html
│ ├── register-email.html
│ ├── register.html
│ ├── search.html
│ ├── user_center_info.html
│ ├── user_center_layout.html
│ ├── user_center_order.html
│ └── user_center_site.html
└── README.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.js linguist-language=Go
2 | *.css linguist-language=Go
3 | *.html linguist-language=Go
--------------------------------------------------------------------------------
/PygElecSystem/.idea/PygElecSystem.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PygElecSystem/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PygElecSystem/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | true
16 | DEFINITION_ORDER
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/PygElecSystem/PygElecSystem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/PygElecSystem
--------------------------------------------------------------------------------
/PygElecSystem/conf/app.conf:
--------------------------------------------------------------------------------
1 | appname = PygElecSystem
2 | httpport = 8080
3 | runmode = dev
4 | sessionon = true
--------------------------------------------------------------------------------
/PygElecSystem/controllers/cart.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "github.com/astaxie/beego"
5 | "github.com/gomodule/redigo/redis"
6 | "fmt"
7 | "github.com/astaxie/beego/orm"
8 | "PygElecSystem/PygElecSystem/models"
9 | )
10 |
11 | /* 定义购物车控制器 */
12 | type CartController struct {
13 | beego.Controller
14 | }
15 |
16 | /* 定义函数,负责添加商品到购物车业务处理 */
17 | func (this *CartController) HandleAddCart() {
18 | //获取数据
19 | goodsId, err1 := this.GetInt("goodsId")
20 | num, err2 := this.GetInt("num")
21 | //返回ajax数据步骤
22 | //定义一个map容器
23 | resp := make(map[string]interface{})
24 | defer RespFunc(&this.Controller, resp)
25 | if err1 != nil || err2 != nil {
26 | resp["errno"] = 1
27 | resp["errmsg"] = "输入数据不完整!"
28 | return
29 | }
30 | //校验登录状态,获取当前登录用户名
31 | name := this.GetSession("userName")
32 | if name == nil {
33 | resp["errno"] = 2
34 | resp["errmsg"] = "当前用户未登录,不能添加到购物车!"
35 | return
36 | }
37 | //处理数据
38 | //把购物车信息存储到redis的hash中
39 | conn, err := redis.Dial("tcp", "127.0.0.1:6379")
40 | if err != nil {
41 | resp["errno"] = 3
42 | resp["errmsg"] = "服务器异常!"
43 | return
44 | }
45 | defer conn.Close()
46 |
47 | //先获取redis数据库中是否已添加了此件商品
48 | oldNum, err := redis.Int(conn.Do("hget", "cart_"+name.(string), goodsId))
49 | //将购物车信息添加到redis中
50 | _, err = conn.Do("hset", "cart_"+name.(string), goodsId, num+oldNum)
51 |
52 | if err != nil {
53 | resp["errno"] = 4
54 | resp["errmsg"] = "添加商品到服务器失败!"
55 | return
56 | }
57 | //返回数据
58 | resp["errno"] = 5
59 | resp["errmsg"] = "OK!"
60 | }
61 |
62 | /* 定义函数,负责购物车页面的展示 */
63 | func (this *CartController) ShowCart() {
64 | //获取数据
65 | //获取session中的用户名,根据用户名在redis数据库中获取当前用户的购物车数据
66 | userName := this.GetSession("userName")
67 |
68 | //连接redis
69 | conn, err := redis.Dial("tcp", "127.0.0.1:6379")
70 | if err != nil {
71 | fmt.Print("redis连接错误!")
72 | this.Redirect("/index_sx", 302)
73 | return
74 | }
75 | defer conn.Close()
76 | //查询所有购物车数据,返回的是数字字符对应的ASCII码值,类型是interface{}
77 | resp, err := conn.Do("hgetall", "cart_"+userName.(string))
78 | if err != nil {
79 | fmt.Println("获取数据异常!")
80 | this.Redirect("/index_sx", 302)
81 | return
82 | }
83 | //将interface{}转换为int类型切片
84 | result, _ := redis.Ints(resp, err)
85 |
86 | //处理数据
87 | //定义大容器,存入购物车中所有的商品信息
88 | var goods []map[string]interface{}
89 | o := orm.NewOrm()
90 | //定义商品变量
91 | var goodsSKU models.GoodsSKU
92 | //定义商品小计,总价和总件数
93 | var littlePrice, totalPrice, totalCount int
94 | for i := 0; i < len(result); i += 2 {
95 | //定义行容器
96 | temp := make(map[string]interface{})
97 | //注意加入购物车时是以hash类型存入的,其中key = userNname,field= result[i] = goodsId,value = result[i+1]
98 | goodsSKU.Id = result[i]
99 | o.Read(&goodsSKU)
100 | //给行容器赋值
101 | temp["goodsSKU"] = goodsSKU
102 | temp["count"] = result[i+1]
103 |
104 | //计算小计,总价和总件数
105 | littlePrice = result[i+1] * goodsSKU.Price
106 | temp["littlePrice"] = littlePrice
107 | totalPrice += littlePrice
108 | totalCount ++
109 |
110 | //把行容器加入总容器中
111 | goods = append(goods, temp)
112 | }
113 |
114 | //返回数据
115 | this.Data["totalPrice"] = totalPrice
116 | this.Data["totalCount"] = totalCount
117 | this.Data["goods"] = goods
118 | this.TplName = "cart.html"
119 | }
120 |
121 | /* 定义函数,负责修改购物车数量的业务处理 */
122 | func (this *CartController) HandleChangeCartCount() {
123 | //获取数据
124 | //获取商品id
125 | goodsId,err1 := this.GetInt("goodsId")
126 | //获取数量
127 | count,err2 := this.GetInt("count")
128 |
129 | //校验数据,返回json数据给ajax
130 | resp := make(map[string]interface{})
131 | defer RespFunc(&this.Controller,resp)
132 | if err1 != nil || err2 != nil {
133 | fmt.Println(err1,err2)
134 | fmt.Println("获取数据不完整!")
135 | resp["errno"] = 1
136 | resp["errmsg"] = "获取数据不完整!"
137 | return
138 | }
139 | //获取session中的用户名
140 | userName := this.GetSession("userName")
141 | if userName==nil {
142 | fmt.Println("当前用户未登录!")
143 | resp["errno"] = 2
144 | resp["errmsg"] = "当前用户未登录!"
145 | return
146 | }
147 |
148 | //修改redis中当前用户当前商品的数量
149 | //连接redis数据库
150 | conn,err := redis.Dial("tcp","127.0.0.1:6379")
151 | if err != nil {
152 | fmt.Println("redis连接异常!")
153 | resp["errno"] = 3
154 | resp["errmsg"] = "网络连接异常!"
155 | return
156 | }
157 | //修改数据
158 | _,err = conn.Do("hset","cart_"+userName.(string),goodsId,count)
159 | if err!=nil {
160 | fmt.Println("redis写入异常!")
161 | resp["errno"] = 4
162 | resp["errmsg"] = "redis写入异常!"
163 | return
164 | }
165 | //返回数据
166 | resp["errno"] = 5
167 | resp["errmsg"] = "ok!"
168 | }
169 |
170 | /* 定义函数,负责删除购物车商品 */
171 | func (this *CartController) HandleDeleteCart() {
172 | //获取数据
173 | id,err := this.GetInt("id")
174 | //校验数据
175 | if err != nil {
176 | fmt.Println("删除连接错误!")
177 | this.Redirect("/user/showCart",302)
178 | return
179 | }
180 | //校验是否是登录状态
181 | userName := this.GetSession("userName")
182 | if userName == nil {
183 | fmt.Println("当前用户不在登录状态!")
184 | this.Redirect("/user/showCart",302)
185 | return
186 | }
187 |
188 | //向redis中写入数据
189 | conn,err :=redis.Dial("tcp","127.0.0.1:6379")
190 | if err != nil {
191 | fmt.Println("服务器连接异常!")
192 | this.Redirect("/user/showCart",302)
193 | return
194 | }
195 | defer conn.Close()
196 | //删除数据
197 | _,err = conn.Do("hdel","cart_"+userName.(string),id)
198 | if err != nil {
199 | fmt.Println("数据库操作异常!")
200 | this.Redirect("/user/showCart",302)
201 | return
202 | }
203 | //返回数据
204 | this.Redirect("/user/showCart",302)
205 | }
--------------------------------------------------------------------------------
/PygElecSystem/controllers/default.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "github.com/astaxie/beego"
5 | )
6 |
7 | type MainController struct {
8 | beego.Controller
9 | }
10 |
11 | func (c *MainController) Get() {
12 | c.Data["Website"] = "beego.me"
13 | c.Data["Email"] = "astaxie@gmail.com"
14 | c.TplName = "index.tpl"
15 | }
16 |
--------------------------------------------------------------------------------
/PygElecSystem/controllers/goods.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "github.com/astaxie/beego"
5 | "github.com/astaxie/beego/orm"
6 | "PygElecSystem/PygElecSystem/models"
7 | "fmt"
8 | "math"
9 | )
10 |
11 | type GoodsController struct {
12 | beego.Controller
13 | }
14 |
15 | /* 定义函数,负责商品首页展示 */
16 | func (this *GoodsController) ShowIndex() {
17 | //获取session,用于页面显示
18 | userName := this.GetSession("userName")
19 | if userName != nil {
20 | this.Data["userName"] = userName.(string)
21 | } else {
22 | this.Data["userName"] = ""
23 | }
24 | //获取类型信息返回到前台
25 | //定义总容器,一个map切片,value为interface
26 | var typeSlice []map[string]interface{}
27 | //获取所有一级菜单
28 | o := orm.NewOrm()
29 | //定义切片,获取所有一级菜单
30 | var firstTypes []models.TpshopCategory
31 | o.QueryTable("TpshopCategory").Filter("Pid", 0).All(&firstTypes)
32 |
33 | //遍历所有一级菜单,获取每个一级菜单下的二级菜单'
34 | for _, firstType := range firstTypes {
35 | //定义行容器,将每个一级菜与其对应的子菜单绑定到一起
36 | firstRows := make(map[string]interface{})
37 | //定义切片,获取所有二级菜单
38 | var secondTypes []models.TpshopCategory
39 | o.QueryTable("TpshopCategory").Filter("Pid", firstType.Id).All(&secondTypes)
40 | //把一级菜单存入map
41 | firstRows["first"] = firstType
42 |
43 | //定义二级容器,存放所有二级行容器
44 | var sencondTypeSlice []map[string]interface{}
45 |
46 | //遍历所有二级菜单,获取每个二级菜单下的三级菜单
47 | for _, secondType := range secondTypes {
48 | //定义行容器,将每个二级菜单及其对应的三级菜单绑定到一行
49 | secondRows := make(map[string]interface{})
50 | //定义切片,存放所有三级级菜单
51 | var thirdTypes []models.TpshopCategory
52 | o.QueryTable("TpshopCategory").Filter("Pid", secondType.Id).All(&thirdTypes)
53 | secondRows["second"] = secondType
54 | secondRows["third"] = thirdTypes
55 | //把每个二级行容器存入二级切片容器里
56 | sencondTypeSlice = append(sencondTypeSlice, secondRows)
57 | }
58 | //把二级行容器存入一级行容器中,将每个二级行容器与其对应的一级菜单绑定
59 | firstRows["son"] = sencondTypeSlice
60 | //把一级行容器存入总容器中
61 | typeSlice = append(typeSlice, firstRows)
62 | }
63 | //返回数据到页面
64 | this.Data["typeSlice"] = typeSlice
65 | this.TplName = "index.html"
66 | }
67 |
68 | /* 定义函数,负责生鲜模块首页展示 */
69 | func (this *GoodsController) ShowIndex_sx() {
70 | //获取生鲜首页内容
71 |
72 | //获取商品类型
73 | var goodsTypes []models.GoodsType
74 | o := orm.NewOrm()
75 | o.QueryTable("GoodsType").All(&goodsTypes)
76 | //返回所有商品类型到页面
77 | this.Data["goodsTypes"] = goodsTypes
78 |
79 | //获取首页所有轮播图
80 | var goodsBanners []models.IndexGoodsBanner
81 | o.QueryTable("IndexGoodsBanner").OrderBy("Index").All(&goodsBanners)
82 | //返回首页所有轮播图到页面
83 | this.Data["goodsBanners"] = goodsBanners
84 |
85 | //获取所有促销商品
86 | var promotionBanners []models.IndexPromotionBanner
87 | o.QueryTable("IndexPromotionBanner").OrderBy("Index").All(&promotionBanners)
88 | //返回所有促销商品到页面
89 | this.Data["promotionBanners"] = promotionBanners
90 |
91 | //首页商品展示
92 | //定义纵容器,保存所有一级菜单及其子菜单
93 | var goods []map[string]interface{}
94 | //循环所有一级菜单,获取其子菜单
95 | for _, goodType := range goodsTypes {
96 | //定义行容器,将一级菜单与其对应的子菜单绑定到一起
97 | rows := make(map[string]interface{})
98 | rows["goodType"] = goodType
99 | //定义切片存取所有文字商品
100 | var textGoods []models.IndexTypeGoodsBanner
101 | qs := o.QueryTable("IndexTypeGoodsBanner").RelatedSel("GoodsType", "GoodsSKU").
102 | Filter("GoodsType__Id", goodType.Id).OrderBy("Index")
103 | //获取所有文字商品
104 | qs.Filter("DisplayType", 0).All(&textGoods)
105 | rows["textGoods"] = textGoods
106 | //定义切片存取所有图片商品
107 | var imageGoods []models.IndexTypeGoodsBanner
108 | //获取所有图片商品
109 | qs.Filter("DisplayType", 1).All(&imageGoods)
110 | rows["imageGoods"] = imageGoods
111 | //将行容器存入总容器中
112 | goods = append(goods, rows)
113 | }
114 | //返回数据到前端
115 | this.Data["goods"] = goods
116 | //返回数据
117 | this.TplName = "index_sx.html"
118 | }
119 |
120 | /* 定义函数,负责商品详情页面展示 */
121 | func (this *GoodsController) ShowGoodsDetail() {
122 | //获取数据
123 | id, err := this.GetInt("id")
124 | //校验数据
125 | if err != nil {
126 | fmt.Println("商品不存在!")
127 | this.Redirect("/index_sx", 302)
128 | return
129 | }
130 | //处理数据
131 | o := orm.NewOrm()
132 | var goodsSKU models.GoodsSKU
133 | //goodsSKU.Id = id
134 | //o.Read(&goodsSKU)
135 | //上面查询属于单个查询,惰性查询,并不会查出其外键表中的数据,所以需要联合查询
136 |
137 | //获取商品详情
138 | qs := o.QueryTable("GoodsSKU")
139 | qs.RelatedSel("Goods", "GoodsType").Filter("Id", id).One(&goodsSKU)
140 |
141 | //获取同一类型的新品推荐
142 | var newGoods []models.GoodsSKU
143 | qs.RelatedSel("GoodsType").Filter("GoodsType__Name", goodsSKU.GoodsType.Name).OrderBy("-Time").Limit(2, 0).All(&newGoods)
144 | //返回数据
145 | fmt.Println()
146 | this.Data["newGoods"] = newGoods
147 | this.Data["goodsSKU"] = goodsSKU
148 | this.TplName = "detail.html"
149 | }
150 |
151 | /*
152 | 定义函数,获取当前页码范围
153 | 参1:总页码数;参2:当前页码数
154 | */
155 | func GetPages(pageCount int, pageIndex int) []int {
156 | //定义切片,存入当前页码范围
157 | var pages []int
158 | //总页数小于5
159 | if pageCount <= 5 {
160 | for i := 1; i <= pageCount; i++ {
161 | pages = append(pages, i)
162 | }
163 | } else if pageIndex <= 3 {
164 | for i := 1; i <= 5; i++ {
165 | pages = append(pages, i)
166 | }
167 | } else if pageIndex >= pageCount-2 {
168 | for i := pageCount - 4; i <= pageCount; i++ {
169 | pages = append(pages, i)
170 | }
171 | } else {
172 | for i := pageIndex - 2; i <= pageIndex+2; i++ {
173 | pages = append(pages, i)
174 | }
175 | }
176 | //返回页码范围
177 | return pages
178 | }
179 |
180 | /* 定义函数,负责展示同一类所有商品 */
181 | func (this *GoodsController) ShowTypeList() {
182 | //获取数据,类型id
183 | id, err := this.GetInt("id")
184 | //校验数据
185 | if err != nil {
186 | fmt.Println("该类型不存在!")
187 | this.Redirect("/index_sx", 302)
188 | return
189 | }
190 | //处理数据
191 | //联合查询,查询该类型下的所有商品
192 | o := orm.NewOrm()
193 | var goodsSKUs []models.GoodsSKU
194 | qs := o.QueryTable("GoodsSKU").RelatedSel("GoodsType").Filter("GoodsType__Id", id)
195 |
196 | //列表页分页实现
197 | //获取总记录数
198 | count, _ := qs.Count()
199 | //定义每页记录数
200 | var pageSize int = 1
201 | //获取总页码
202 | pageCount := math.Ceil(float64(count) / float64(pageSize))
203 | //获取当前页数
204 | pageIndex, err := this.GetInt("pageIndex")
205 | if err != nil {
206 | pageIndex = 1
207 | }
208 | //调用函数,获取当前页码范围
209 | pages := GetPages(int(pageCount), pageIndex)
210 | this.Data["pages"] = pages
211 |
212 | //实现上一页和下一页功能
213 | var prePage, nextPage int
214 | //判断范围
215 | if pageIndex-1 <= 0 {
216 | prePage = 1
217 | } else {
218 | prePage = pageIndex - 1
219 | }
220 |
221 | if pageIndex+1 >= int(pageCount) {
222 | nextPage = int(pageCount)
223 | } else {
224 | nextPage = pageIndex + 1
225 | }
226 |
227 | this.Data["prePage"] = prePage
228 | this.Data["nextPage"] = nextPage
229 |
230 | //查询当前页的数据记录
231 | qs = qs.Limit(pageSize, pageSize*(pageIndex-1))
232 | //列表页排序实现
233 | //获取排序字段
234 | sort := this.GetString("sort")
235 | if sort == "" { //sort=="",默认排序,正常查询
236 | qs.All(&goodsSKUs)
237 | } else if sort == "price" {
238 | qs.OrderBy("-Price").All(&goodsSKUs)
239 | } else {
240 | qs.OrderBy("-Sales").All(&goodsSKUs)
241 | }
242 | this.Data["sort"] = sort
243 | //返回数据
244 | this.Data["pageIndex"] = pageIndex
245 | this.Data["id"] = id
246 | this.Data["goodsSKUs"] = goodsSKUs
247 | this.TplName = "list.html"
248 | }
249 |
250 | /* 定义函数,负责页面搜索框搜索 */
251 | func (this *GoodsController) HandleSearch() {
252 | //获取数据
253 | goodsName := this.GetString("goodsName")
254 | //校验数据
255 | if goodsName == ""{
256 | this.Redirect("/index",302)
257 | }
258 | //处理数据
259 | o := orm.NewOrm()
260 | var goods []models.GoodsSKU
261 | //模糊查询,icontains-判断指定的字段是否包含第二个参数的值,i表示不区分大小写
262 | o.QueryTable("GoodsSKU").Filter("Name__icontains",goodsName).All(&goods)
263 | //返回数据
264 | this.Data["goods"] = goods
265 | this.TplName = "search.html"
266 | }
--------------------------------------------------------------------------------
/PygElecSystem/controllers/order.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "github.com/astaxie/beego"
5 | "github.com/astaxie/beego/orm"
6 | "PygElecSystem/PygElecSystem/models"
7 | "strconv"
8 | "github.com/gomodule/redigo/redis"
9 | "strings"
10 | "time"
11 | )
12 |
13 | type OrderController struct {
14 | beego.Controller
15 | }
16 |
17 | /* 定义函数,负责订单结算页面展示 */
18 | func (this *OrderController) ShowOrder() {
19 | //获取数据
20 | goodsIds := this.GetStrings("goodsIds")
21 | //校验数据
22 | if len(goodsIds) == 0 {
23 | this.Redirect("/user/showCart", 302)
24 | return
25 | }
26 | //处理数据
27 | //获取当前用户的所有收货地址
28 | userName := this.GetSession("userName")
29 | o := orm.NewOrm()
30 | var addrs []models.Address
31 | o.QueryTable("Address").RelatedSel("User").Filter("User__Name", userName.(string)).All(&addrs)
32 | this.Data["addrs"] = addrs
33 |
34 | //获取当前订单中的所有商品,商品总价,总件数
35 | //定义总容器
36 | var goods []map[string]interface{}
37 | var totalPrice, totalCount int
38 | var goodsSKU models.GoodsSKU
39 | //创建redis数据库连接
40 | conn, _ := redis.Dial("tcp", "127.0.0.1:6379")
41 | for _, v := range goodsIds {
42 | //定义行容器
43 | temp := make(map[string]interface{})
44 | id, _ := strconv.Atoi(v)
45 | //查询商品信息
46 | goodsSKU.Id = id
47 | o.Read(&goodsSKU)
48 |
49 | //获取当前商品在当前订单中的数量
50 | count, _ := redis.Int(conn.Do("hget", "cart_"+userName.(string), id))
51 | //计算小计
52 | littlePrice := count * goodsSKU.Price
53 |
54 | //把商品信息放到行容器
55 | temp["goodsSKU"] = goodsSKU
56 | temp["littlePrice"] = littlePrice
57 | temp["count"] = count
58 |
59 | //计算总价和总件数
60 | totalCount += 1
61 | totalPrice += littlePrice
62 |
63 | //把行容器加到总容器中
64 | goods = append(goods, temp)
65 | }
66 |
67 | //返回数据
68 | this.Data["totalCount"] = totalCount
69 | this.Data["totalPrice"] = totalPrice
70 | //定义邮费
71 | var postage int = 10
72 | this.Data["postage"] = postage
73 | this.Data["actualPrice"] = totalPrice + postage
74 | this.Data["goods"] = goods
75 | this.Data["goodsIds"] = goodsIds
76 | this.TplName = "place_order.html"
77 | }
78 |
79 | /* 定义函数,负责订单提交业务处理 */
80 | func (this *OrderController) HandleCommitOrder() {
81 | //获取数据 postage
82 | addrId, err1 := this.GetInt("addrId")
83 | payId, err2 := this.GetInt("payId")
84 | goodsIds := this.GetString("goodsIds")
85 | totalCount, err3 := this.GetInt("totalCount")
86 | totalPrice, err4 := this.GetInt("totalPrice")
87 | postage, err5 := this.GetInt("postage")
88 |
89 | //校验数据,返回json数据给ajax
90 | resp := make(map[string]interface{})
91 | defer RespFunc(&this.Controller, resp)
92 |
93 | //校验数据是否完整
94 | if err1 != nil || err2 != nil || err3 != nil || err4 != nil || err5 != nil || goodsIds == "" {
95 | resp["errno"] = 1
96 | resp["errmsg"] = "传输数据不完整!"
97 | return
98 | }
99 |
100 | //校验用户是否登录
101 | userName := this.GetSession("userName")
102 | if userName == nil {
103 | resp["errno"] = 2
104 | resp["errmsg"] = "当前用户未登录,请前往登录!"
105 | return
106 | }
107 |
108 | //处理数据
109 | goodsIdSlice := strings.Split(goodsIds[1:len(goodsIds)-1], " ")
110 | //插入数据,把数据插入到mysql数据库中的订单表和订单商品表
111 | //获取当前登录的用户对象和地址对象
112 | var orderInfo models.OrderInfo
113 | var user models.User
114 | var address models.Address
115 | o := orm.NewOrm()
116 | user.Name = userName.(string)
117 | o.Read(&user, "Name")
118 | address.Id = addrId
119 | o.Read(&address)
120 | //设置订单号
121 | orderInfo.OrderId = time.Now().Format("20060102150405" + strconv.Itoa(user.Id))
122 | orderInfo.User = &user
123 | orderInfo.Address = &address
124 | orderInfo.PayMethod = payId
125 | orderInfo.TotalCount = totalCount
126 | orderInfo.TotalPrice = totalPrice
127 | orderInfo.TransitPrice = postage
128 |
129 | //开启mysql事务,防止出现异常
130 | o.Begin()
131 |
132 | //插入订单表
133 | o.Insert(&orderInfo)
134 |
135 | //建立redis连接
136 | conn, err := redis.Dial("tcp", "127.0.0.1:6379")
137 | if err != nil {
138 | resp["errno"] = 3
139 | resp["errmsg"] = "网络连接异常!"
140 | //出现异常,进行事物回滚
141 | o.Rollback()
142 | return
143 | }
144 | //关闭连接
145 | defer conn.Close()
146 | for _, v := range goodsIdSlice {
147 | //循环遍历所有商品id,查询每个商品在redis和mysql中的商品信息,存入订单商品表
148 | //每循环一次,重新定义一个orderGoods和goodsSKU,保证每个orderGoods的id不同,如果放在外面又不设置id,那么循环插入时会报错.
149 | var orderGoods models.OrderGoods
150 | var goodsSKU models.GoodsSKU
151 |
152 | goodsId, _ := strconv.Atoi(v)
153 | //获取mysql中的商品信息
154 | goodsSKU.Id = goodsId
155 | o.Read(&goodsSKU)
156 | //获取redis中的商品信息
157 | count, err := redis.Int(conn.Do("hget", "cart_"+user.Name, goodsId))
158 | //计算小计
159 | littlePrice := goodsSKU.Price * count
160 |
161 | if err != nil {
162 | resp["errno"] = 4
163 | resp["errmsg"] = "商品不存在!"
164 | //出现异常,进行事物回滚
165 | o.Rollback()
166 | return
167 | }
168 | //插入orderGoods
169 | orderGoods.OrderInfo = &orderInfo
170 | orderGoods.GoodsSKU = &goodsSKU
171 | orderGoods.Count = count
172 | orderGoods.Price = littlePrice
173 |
174 | //校验商品库存和订单中的商品数量
175 | if goodsSKU.Stock < count {
176 | resp["errno"] = 6
177 | resp["errmsg"] = "商品库存不足!"
178 | //出现异常,进行事物回滚
179 | o.Rollback()
180 | return
181 | }
182 | //插入之前更新商品库存和销量
183 | goodsSKU.Stock -= count
184 | goodsSKU.Sales += count
185 | o.Update(&goodsSKU)
186 |
187 | //插入orderGoods
188 | _, err = o.Insert(&orderGoods)
189 | if err != nil {
190 | resp["errno"] = 7
191 | resp["errmsg"] = "订单提交失败!"
192 | //出现异常,进行事物回滚
193 | o.Rollback()
194 | return
195 | }
196 |
197 | //订单提交成功后,清空购物车中已提交的商品
198 | _, err = conn.Do("hdel", "cart_"+user.Name, goodsId)
199 | if err != nil {
200 | resp["errno"] = 8
201 | resp["errmsg"] = "清空购物车失败!"
202 | //出现异常,进行事物回滚
203 | o.Rollback()
204 | return
205 | }
206 | }
207 | //提交事务!!
208 | o.Commit()
209 | //返回数据
210 | resp["errno"] = 5
211 | resp["errmsg"] = "ok!"
212 | }
213 |
--------------------------------------------------------------------------------
/PygElecSystem/controllers/user.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "github.com/astaxie/beego"
5 | "fmt"
6 | "regexp"
7 | "github.com/astaxie/beego/orm"
8 | "PygElecSystem/PygElecSystem/models"
9 | "encoding/json"
10 | "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
11 | "time"
12 | "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
13 | "math/rand"
14 | "github.com/astaxie/beego/utils"
15 | "strings"
16 | )
17 |
18 | /* 定义用户控制器类:UserController */
19 |
20 | type UserController struct {
21 | beego.Controller
22 | }
23 |
24 | /* 定义消息类 */
25 | type Message struct {
26 | Message string
27 | RequestId string
28 | BizId string
29 | Code string
30 | }
31 |
32 | /* 定义函数负责用户注册页面展示 */
33 | func (this *UserController) ShowRegister() {
34 | this.TplName = "register.html"
35 | }
36 |
37 | /* 定义函数负责发送短信验证码 */
38 | func (this *UserController) HandleSendMsg() {
39 | //接受页面传来的数据
40 | phone := this.GetString("phone")
41 | //1.定义一个传递给ajax json数据的容器
42 | resp := make(map[string]interface{})
43 | defer RespFunc(&this.Controller, resp)
44 | //返回json格式数据
45 | //校验数据
46 | if phone == "" {
47 | fmt.Println("获取电话号码失败!")
48 | //2.给容器赋值
49 | resp["errno"] = 1
50 | resp["errmsg"] = "获取电话号码失败!"
51 | return
52 | }
53 | //检查电话号码格式是否正确
54 | reg, _ := regexp.Compile(`^1[3-9][0-9]{9}$`)
55 | ret := reg.FindString(phone)
56 | if ret == "" {
57 | fmt.Println("电话号码格式错误!")
58 | //2.给容器赋值
59 | resp["errno"] = 2
60 | resp["errmsg"] = "电话号码格式错误!"
61 | return
62 | }
63 |
64 | //发送短信,调用阿里云SDK
65 | client, err := sdk.NewClientWithAccessKey("cn-hangzhou", "LTAIu4sh9mfgqjjr", "sTPSi0Ybj0oFyqDTjQyQNqdq9I9akE")
66 | if err != nil {
67 | fmt.Println("初始化短信错误!")
68 | //2.给容器赋值
69 | resp["errno"] = 3
70 | resp["errmsg"] = "初始化短信错误"
71 | return
72 | }
73 |
74 | //生成6位数随机数
75 | var authCode string
76 | //创建随机数种子
77 | //rand.Seed(time.Now().UnixNano())
78 | //for i := 0; i < 6; i++ {
79 | // //生成1-100以内的随机数
80 | // num := rand.Intn(10)
81 | // authCode += strconv.Itoa(num)
82 | //}
83 | rand := rand.New(rand.NewSource(time.Now().UnixNano()))
84 | authCode = fmt.Sprintf("%06d", rand.Int31n(1000000))
85 |
86 | request := requests.NewCommonRequest()
87 | request.Method = "POST"
88 | request.Scheme = "https" // https | http
89 | request.Domain = "dysmsapi.aliyuncs.com"
90 | request.Version = "2017-05-25"
91 | request.ApiName = "SendSms"
92 | request.QueryParams["RegionId"] = "cn-hangzhou"
93 | request.QueryParams["PhoneNumbers"] = phone
94 | request.QueryParams["SignName"] = "品优购"
95 | request.QueryParams["TemplateCode"] = "SMS_164275022"
96 | request.QueryParams["TemplateParam"] = "{\"code\":" + authCode + "}"
97 | //调用方法,发送随机验证码短信
98 | response, err := client.ProcessCommonRequest(request)
99 | if err != nil {
100 | fmt.Println("短信发送失败!")
101 | //2.给容器赋值
102 | resp["errno"] = 4
103 | resp["errmsg"] = "短信发送失败"
104 | return
105 | }
106 |
107 | //json数据解析
108 | var message Message
109 | json.Unmarshal(response.GetHttpContentBytes(), &message)
110 | //json.Unmarshal([]byte(response.String()),&message)
111 | if message.Message != "OK" {
112 | fmt.Println("json数据解析失败!")
113 | //2.给容器赋值
114 | resp["errno"] = 6
115 | resp["errmsg"] = message.Message
116 | return
117 | }
118 | resp["errno"] = 5
119 | resp["errmsg"] = "发送成功!"
120 | resp["code"] = authCode
121 | }
122 |
123 | /* 定义函数,负责统一返回json数据到前台 */
124 | func RespFunc(this *beego.Controller, resp map[string]interface{}) {
125 | //3.把容器传递给前端
126 | this.Data["json"] = resp
127 | //4.指定传递方式,以json格式传递数据
128 | this.ServeJSON()
129 | }
130 |
131 | /* 定义函数,负责用户注册业务处理 */
132 | func (this *UserController) HandleRegister() {
133 | //获取数据
134 | phone := this.GetString("phone")
135 | pwd := this.GetString("password")
136 | repwd := this.GetString("repassword")
137 | //校验数据
138 | if phone == "" || pwd == "" || repwd == "" {
139 | fmt.Println("获取数据错误")
140 | this.Data["errmsg"] = "获取数据错误"
141 | this.TplName = "register.html"
142 | return
143 | }
144 | if pwd != repwd {
145 | fmt.Println("两次密码输入不一致!")
146 | this.Data["errmsg"] = "两次密码输入不一致"
147 | this.TplName = "register.html"
148 | return
149 | }
150 | //处理数据
151 | //orm插入数据
152 | o := orm.NewOrm()
153 | var user models.User
154 | user.Name = phone
155 | user.Pwd = pwd
156 | user.Phone = phone
157 | _, err := o.Insert(&user) //这里应该判断重复插入问题 errmsg需要在页面接收
158 | if err != nil {
159 | fmt.Println(err)
160 | this.Data["errmsg"] = "注册失败,请重新注册!"
161 | this.TplName = "register.html"
162 | return
163 | }
164 | //注册成功,设置cookie,用于邮箱激活
165 | this.Ctx.SetCookie("userName", user.Name, 60*10)
166 | //返回数据,跳转到邮箱激活页面
167 | this.Redirect("/register-email", 302)
168 | }
169 |
170 | /* 定义函数,负责邮箱激活页面展示 */
171 | func (this *UserController) ShowRegisterEmail() {
172 | this.TplName = "register-email.html"
173 | }
174 |
175 | /* 定义函数,负责邮箱激活业务处理 */
176 | func (this *UserController) HandleRegisterEmail() {
177 | //获取数据
178 | email := this.GetString("email")
179 | pwd := this.GetString("password")
180 | repwd := this.GetString("repassword")
181 | //校验数据
182 | if email == "" || pwd == "" || repwd == "" {
183 | fmt.Println("获取数据错误")
184 | this.Data["errmsg"] = "获取数据错误"
185 | this.TplName = "register-email.html"
186 | return
187 | }
188 | if pwd != repwd {
189 | fmt.Println("两次密码输入不一致!")
190 | this.Data["errmsg"] = "两次密码输入不一致"
191 | this.TplName = "register-email.html"
192 | return
193 | }
194 | //校验邮箱格式
195 | reg, _ := regexp.Compile(`^\w[\w\.-]*@[0-9a-z][0-9a-z-]*(\.[a-z]+)*\.[a-z]{2,6}$`)
196 | ret := reg.FindString(email)
197 | if ret == "" {
198 | fmt.Println("邮箱格式错误")
199 | this.Data["errmsg"] = "邮箱格式错误"
200 | this.TplName = "register-email.html"
201 | return
202 | }
203 | //处理数据,发送邮件
204 | //定义发送邮件的配置
205 | config := `{"username":"18706733725@163.com","password":"qwer123","host":"smtp.163.com","port":25}`
206 | //定义邮件对象
207 | emailReg := utils.NewEMail(config)
208 | //配置邮件内容
209 | emailReg.Subject = "品优购用户激活链接"
210 | emailReg.From = "18706733725@163.com"
211 | emailReg.To = []string{email}
212 | //通过cookie获取用户名
213 | userName := this.Ctx.GetCookie("userName")
214 | emailReg.HTML = `点击此处激活用户`
215 | //发送邮件
216 | err := emailReg.Send()
217 | if err != nil {
218 | fmt.Println("邮箱发送失败")
219 | this.Data["errmsg"] = "邮箱发送失败"
220 | this.TplName = "register-email.html"
221 | return
222 | }
223 | //邮件发送成功后,插入邮件
224 | o := orm.NewOrm()
225 | var user models.User
226 | user.Name = userName
227 | err = o.Read(&user, "Name")
228 | if err != nil {
229 | fmt.Println("注册失败,请重新注册")
230 | this.Data["errmsg"] = "注册失败,请重新注册"
231 | this.TplName = "register.html"
232 | return
233 | }
234 | //插入邮件字段
235 | user.Email = email
236 | //修改邮箱!!
237 | o.Update(&user)
238 | //返回数据
239 | this.Ctx.WriteString("邮件已发送,请去您的邮箱激活用户!")
240 | }
241 |
242 | /* 定义函数,负责用户激活业务处理 */
243 | func (this *UserController) HandleActive() {
244 | //获取数据
245 | userName := this.GetString("userName")
246 | //校验数据
247 | if userName == "" {
248 | fmt.Println("用户名错误")
249 | this.Data["errmsg"] = "用户名错误"
250 | this.Redirect("/register-email", 302)
251 | return
252 | }
253 | //处理数据,更新active
254 | o := orm.NewOrm()
255 | var user models.User
256 | user.Name = userName
257 | err := o.Read(&user, "Name")
258 | if err != nil {
259 | fmt.Println("err :", err)
260 | fmt.Println()
261 | fmt.Println("用户名不存在")
262 | this.Data["errmsg"] = "用户名不存在"
263 | this.Redirect("/register-email", 302)
264 | return
265 | }
266 | user.Active = true
267 | o.Update(&user, "Active")
268 | //返回数据
269 | this.Redirect("/login", 302)
270 | }
271 |
272 | /* 定义函数,负责用户登录页面展示 */
273 | func (this *UserController) ShowLogin() {
274 | //获取cookie,如果有值,说明已勾选记住用户名,则页面需要勾选记住用户名,否则不勾选
275 | userName := this.Ctx.GetCookie("userName")
276 | if userName != "" {
277 | this.Data["checked"] = "checked"
278 | } else {
279 | this.Data["checked"] = ""
280 | }
281 | this.Data["userName"] = userName
282 | //指定视图页面
283 | this.TplName = "login.html"
284 | }
285 |
286 | /* 定义函数,负责用户登录业务为处理 */
287 | func (this *UserController) HandleLogin() {
288 | //获取数据
289 | userName := this.GetString("userName")
290 | password := this.GetString("password")
291 | m1, _ := this.GetInt("m1")
292 | //校验数据
293 | if userName == "" || password == "" {
294 | fmt.Println("用户名或密码不能为空")
295 | this.Data["errmsg"] = "用户名或密码不能为空"
296 | this.TplName = "login.html"
297 | return
298 | }
299 | //处理数据,查询校验
300 | o := orm.NewOrm()
301 | var user models.User
302 | //赋值
303 | reg, _ := regexp.Compile(`^\w[\w\.-]*@[0-9a-z][0-9a-z-]*(\.[a-z]+)*\.[a-z]{2,6}$`)
304 | ret := reg.FindString(userName)
305 | if ret != "" {
306 | user.Email = userName
307 | err := o.Read(&user, "Email")
308 | if err != nil {
309 | this.Data["errmsg"] = "邮箱未注册!"
310 | this.TplName = "login.html"
311 | return
312 | }
313 | //校验密码
314 | if user.Pwd != password {
315 | this.Data["errmsg"] = "输入密码不正确!"
316 | this.TplName = "login.html"
317 | return
318 | }
319 | } else {
320 | user.Name = userName
321 | err := o.Read(&user, "Name")
322 | if err != nil {
323 | this.Data["errmsg"] = "用户名不存在!"
324 | this.TplName = "login.html"
325 | return
326 | }
327 | //校验密码
328 | if user.Pwd != password {
329 | this.Data["errmsg"] = "输入密码不正确!"
330 | this.TplName = "login.html"
331 | return
332 | }
333 | }
334 |
335 | //校验用户是否激活
336 | if user.Active == false {
337 | this.Data["errmsg"] = "当前用户未激活,请去目标邮箱激活!"
338 | this.TplName = "login.html"
339 | return
340 | }
341 |
342 | //根据m1的值,判断是否实现记住用户名
343 | if m1 == 2 {
344 | this.Ctx.SetCookie("userName", userName, 60*100)
345 | } else {
346 | //设置存活时间为-1,使cookie失效
347 | this.Ctx.SetCookie("userName", userName, -1)
348 | }
349 | //设置session,用于登陆后页面使用
350 | this.SetSession("userName", user.Name)
351 | //返回数据
352 | this.Redirect("/index", 302)
353 | }
354 |
355 | /* 定义函数,负责退出登录业务处理 */
356 | func (this *UserController) Logout() {
357 | //删除session
358 | this.DelSession("userName")
359 | //跳转页面
360 | this.Redirect("/index", 302)
361 | }
362 |
363 | /* 定义函数,负责用户中心个人信息页面展示 */
364 | func (this *UserController) ShowUserCenterInfo() {
365 | //调用函数,获取当前登录用户
366 | user := GetUser(&this.Controller)
367 | this.Data["user"] = user
368 | //调用函数,获取当前登录用户的默认地址
369 | this.Data["address"] = GetUserAddr(&this.Controller)
370 | //实现视图布局,将模板与主要部分连接其起来
371 | this.Layout = "user_center_layout.html"
372 | this.Data["num"] = 1
373 | this.TplName = "user_center_info.html"
374 | }
375 |
376 | /* 定义函数,获取当前登录用户 */
377 | func GetUser(this *beego.Controller) models.User {
378 | //根据session获取当前登录用户名
379 | userName := this.GetSession("userName")
380 | o := orm.NewOrm()
381 | var user models.User
382 | user.Name = userName.(string)
383 | o.Read(&user,"Name")
384 | //手机号码加密
385 | str := user.Phone
386 | user.Phone = strings.Join([]string{str[0:3],"****",str[7:]},"");
387 | return user
388 | }
389 |
390 | /* 定义函数,查询当前用户默认地址*/
391 | func GetUserAddr(this *beego.Controller) models.Address {
392 | //查询数据库,显示默认地址
393 | o := orm.NewOrm()
394 | var address models.Address
395 | //获取当前用户的默认地址
396 | userName := this.GetSession("userName").(string)
397 | qs := o.QueryTable("Address")
398 | qs.RelatedSel("User").Filter("User__Name", userName).Filter("IsDefault", true).One(&address)
399 | //手机号码加密
400 | if address.Phone != "" {
401 | str := address.Phone
402 | address.Phone = strings.Join([]string{str[0:3], "****", str[7:]}, "")
403 | }
404 | return address
405 | }
406 |
407 |
408 | /* 定义函数,负责收货地址页面展示 */
409 | func (this *UserController) ShowSite() {
410 | //调用函数,获取当前登录用户
411 | user := GetUser(&this.Controller)
412 | this.Data["user"] = user
413 | //调用函数,获取当前登录用户的默认地址
414 | this.Data["address"] = GetUserAddr(&this.Controller)
415 | //实现视图布局,将模板与主要部分连接其起来
416 | this.Layout = "user_center_layout.html"
417 | this.Data["num"] = 3
418 | this.TplName = "user_center_site.html"
419 | }
420 |
421 | /* 定义函数,负责新增地址业务处理 */
422 | func (this *UserController) HandleSite() {
423 | //获取数据
424 | receiver := this.GetString("receiver")
425 | addr := this.GetString("addr")
426 | postCode := this.GetString("postCode")
427 | phone := this.GetString("phone")
428 | //校验数据
429 | if receiver == "" || addr == "" || postCode == "" || phone == "" {
430 | fmt.Println("收件人,收货地址或联系电话不能为空!")
431 | this.Data["errmsg"] = "收件人,收货地址或联系电话不能为空!"
432 | this.Redirect("/user/site", 302)
433 | return
434 | }
435 | //检查电话号码格式是否正确
436 | reg, _ := regexp.Compile(`^1[3-9][0-9]{9}$`)
437 | ret := reg.FindString(phone)
438 | if ret == "" {
439 | fmt.Println("电话号码格式错误!")
440 | this.Data["errmsg"] = "电话号码格式错误!"
441 | this.Redirect("/user/site", 302)
442 | return
443 | }
444 |
445 | //处理数据,插入数据
446 | o := orm.NewOrm()
447 | var address models.Address
448 | //调用函数,获取当前登录用户
449 | user := GetUser(&this.Controller)
450 | //给插入对象赋值
451 | address.Addr = addr
452 | address.User = &user
453 | address.Phone = phone
454 | address.PostCode = postCode
455 | address.Receiver = receiver
456 | //设置当前插入的address为默认地址-
457 | // 要先查询当前用户是否有默认地址,如果有,则把默认地址修改为非默认,在设置当前地址为默认地址;如果没有直接设置为默认地址
458 | var defaultAddr models.Address
459 | qs := o.QueryTable("Address")
460 | err := qs.RelatedSel("User").Filter("User__Name", user.Name).Filter("IsDefault", true).One(&defaultAddr)
461 | if err == nil {
462 | defaultAddr.IsDefault = false
463 | o.Update(&defaultAddr, "IsDefault")
464 | }
465 | address.IsDefault = true
466 | //插入当前地址
467 | _, err = o.Insert(&address)
468 | if err != nil {
469 | fmt.Println("地址插入失败!")
470 | this.Data["errmsg"] = "地址插入失败!"
471 | this.Redirect("/user/site", 302)
472 | return
473 | }
474 | //返回数据
475 | this.Redirect("/user/site", 302)
476 | }
477 |
478 | /* 定义函数,负责展示当前用户全部订单 */
479 | func (this *UserController) ShowUserOrder() {
480 | //调用函数,获取当前登录用户
481 | user := GetUser(&this.Controller)
482 | this.Data["user"] = user
483 | ////调用函数,获取当前登录用户的默认地址
484 | this.Data["address"] = GetUserAddr(&this.Controller)
485 | //实现视图布局,将模板与主要部分连接其起来
486 | this.Layout = "user_center_layout.html"
487 | //用于页面样式判断
488 | this.Data["num"] = 2
489 | this.TplName = "user_center_order.html"
490 | }
--------------------------------------------------------------------------------
/PygElecSystem/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | _ "PygElecSystem/PygElecSystem/routers"
5 | "github.com/astaxie/beego"
6 | _ "PygElecSystem/PygElecSystem/models"
7 | )
8 |
9 | func main() {
10 | beego.Run()
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/PygElecSystem/models/model.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | import (
4 | "github.com/astaxie/beego/orm"
5 | _ "github.com/go-sql-driver/mysql"
6 | "time"
7 | )
8 |
9 | //用户表
10 | type User struct {
11 | Id int
12 | Name string `orm:"size(40);unique"` //用户名
13 | Pwd string `orm:"size(40)"` //密码
14 | Phone string `orm:"size(11)"` //联系电话
15 | Email string `orm:"null"` //邮箱
16 | Active bool `orm:"default(false)"` //是否激活
17 | Addresses []*Address `orm:"reverse(many)"` //联系地址
18 | OrderInfos []*OrderInfo `orm:"reverse(many)"` //订单信息
19 | }
20 |
21 | //用户地址表,并与用户表建立1:n关系
22 | type Address struct {
23 | Id int
24 | Receiver string `orm:"size(40)"` //收件人
25 | Addr string `orm:"size(100)"` //详细地址
26 | PostCode string `orm:"size(6)"` //邮编
27 | Phone string `orm:"size(11)"` //联系电话
28 | IsDefault bool `orm:"default(false)"` //是否时默认地址
29 | User *User `orm:"rel(fk)"` //所属用户
30 | OrderInfos []*OrderInfo `orm:"reverse(many)"` //订单信息
31 | }
32 |
33 | //首页商品类型展示表-三级联动
34 | type TpshopCategory struct {
35 | Id int
36 | CateName string `orm:"default('')"` //商品类型名
37 | Pid int `orm:"default(0)"` //父类型id
38 | IsShow int `orm:"default(1)"` //是否显示
39 | CreateTime int `orm:"null"`
40 | UpdateTime int `orm:"null"`
41 | DeleteTime int `orm:"null"`
42 | }
43 |
44 | //商品SPU表
45 | type Goods struct {
46 | Id int
47 | Name string`orm:"size(20)"` //商品名称
48 | Detail string`orm:"size(200)"` //详细描述
49 | GoodsSKU []*GoodsSKU `orm:"reverse(many)"`
50 | }
51 |
52 | //商品类型表
53 | type GoodsType struct{
54 | Id int
55 | Name string //种类名称
56 | Logo string //logo
57 | Image string //图片
58 | GoodsSKU []*GoodsSKU `orm:"reverse(many)"`
59 | IndexTypeGoodsBanner []*IndexTypeGoodsBanner `orm:"reverse(many)"`
60 | }
61 |
62 | //商品SKU表
63 | type GoodsSKU struct {
64 | Id int
65 | Goods *Goods `orm:"rel(fk)"` //商品SPU
66 | GoodsType *GoodsType `orm:"rel(fk)"` //商品所属种类
67 | Name string //商品名称
68 | Desc string //商品简介
69 | Price int //商品价格
70 | Unite string //商品单位
71 | Image string //商品图片
72 | Stock int `orm:"default(1)"` //商品库存
73 | Sales int `orm:"default(0)"` //商品销量
74 | Status int `orm:"default(1)"` //商品状态
75 | Time time.Time `orm:"auto_now_add"` //添加时间
76 | GoodsImage []*GoodsImage `orm:"reverse(many)"`
77 | IndexGoodsBanner []*IndexGoodsBanner `orm:"reverse(many)"`
78 | IndexTypeGoodsBanner []*IndexTypeGoodsBanner `orm:"reverse(many)"`
79 | OrderGoods []*OrderGoods `orm:"reverse(many)"`
80 | }
81 |
82 | //商品图片表
83 | type GoodsImage struct {
84 | Id int
85 | Image string //商品图片
86 | GoodsSKU *GoodsSKU `orm:"rel(fk)"` //商品SKU
87 | }
88 |
89 | //首页轮播商品展示表
90 | type IndexGoodsBanner struct {
91 | Id int
92 | GoodsSKU *GoodsSKU `orm:"rel(fk)"` //商品sku
93 | Image string //商品图片
94 | Index int `orm:"default(0)"` //展示顺序
95 | }
96 |
97 | //首页分类商品展示表
98 | type IndexTypeGoodsBanner struct {
99 | Id int
100 | GoodsType *GoodsType `orm:"rel(fk)"` //商品类型
101 | GoodsSKU *GoodsSKU `orm:"rel(fk)"` //商品sku
102 | DisplayType int `orm:"default(1)"` //展示类型 0代表文字,1代表图片
103 | Index int `orm:"default(0)"` //展示顺序
104 | }
105 |
106 | //首页促销商品展示表
107 | type IndexPromotionBanner struct {
108 | Id int
109 | Name string `orm:"size(20)"` //活动名称
110 | Url string `orm:"size(50)"` //活动链接
111 | Image string //活动图片
112 | Index int `orm:"default(0)"` //展示顺序
113 | }
114 |
115 | //订单表
116 | type OrderInfo struct {
117 | Id int
118 | OrderId string `orm:"unique"` //订单号
119 | User *User `orm:"rel(fk)"` //用户
120 | Address *Address`orm:"rel(fk)"` //地址
121 | PayMethod int //付款方式
122 | TotalCount int `orm:"default(1)"` //商品数量
123 | TotalPrice int //商品总价
124 | TransitPrice int //运费
125 | Orderstatus int `orm:"default(1)"` //订单状态
126 | TradeNo string `orm:"default('')"` //支付编号
127 | Time time.Time `orm:"auto_now_add"` //订单时间
128 | OrderGoods []*OrderGoods `orm:"reverse(many)"`
129 | }
130 |
131 | //订单商品关系表
132 | type OrderGoods struct {
133 | Id int
134 | OrderInfo *OrderInfo `orm:"rel(fk)"` //订单
135 | GoodsSKU *GoodsSKU `orm:"rel(fk)"` //商品
136 | Count int `orm:"default(1)"` //商品数量
137 | Price int //商品价格
138 | Comment string `orm:"default('')"` //评论
139 | }
140 |
141 | func init(){
142 | //注册数据库
143 | orm.RegisterDataBase("default","mysql","root:123456@tcp(127.0.0.1:3306)/pygEs")
144 | //注册表结构
145 | orm.RegisterModel(new(User),new(Address),new(TpshopCategory),new(Goods),new(GoodsType),new(GoodsSKU),
146 | new(GoodsImage),new(IndexGoodsBanner),new(IndexTypeGoodsBanner),new(IndexPromotionBanner),
147 | new(OrderInfo),new(OrderGoods))
148 | //运行生成表
149 | orm.RunSyncdb("default",false,true)
150 | }
--------------------------------------------------------------------------------
/PygElecSystem/routers/router.go:
--------------------------------------------------------------------------------
1 | package routers
2 |
3 | import (
4 | "PygElecSystem/PygElecSystem/controllers"
5 | "github.com/astaxie/beego"
6 | "github.com/astaxie/beego/context"
7 | )
8 |
9 | func init() {
10 | //定义路由过滤器
11 | beego.InsertFilter("/user/*", beego.BeforeExec, filterFunc)
12 | beego.Router("/", &controllers.MainController{})
13 | //用户注册
14 | beego.Router("/register", &controllers.UserController{}, "get:ShowRegister;post:HandleRegister")
15 | //处理发送短信业务,页面ajax发送的post请求
16 | beego.Router("/sendMsg", &controllers.UserController{}, "post:HandleSendMsg")
17 | //邮箱激活
18 | beego.Router("/register-email", &controllers.UserController{}, "get:ShowRegisterEmail;post:HandleRegisterEmail")
19 | //激活用户
20 | beego.Router("/active", &controllers.UserController{}, "get:HandleActive")
21 | //用户登录
22 | beego.Router("/login", &controllers.UserController{}, "get:ShowLogin;post:HandleLogin")
23 | //首页面
24 | beego.Router("/index", &controllers.GoodsController{}, "get:ShowIndex")
25 | //退出登录
26 | beego.Router("/user/logout", &controllers.UserController{}, "get:Logout")
27 | //用户中心个人信息页面展示
28 | beego.Router("/user/userCenterInfo", &controllers.UserController{}, "get:ShowUserCenterInfo")
29 | //用户中心收货地址页面
30 | beego.Router("/user/site", &controllers.UserController{}, "get:ShowSite;post:HandleSite")
31 | //生鲜首页
32 | beego.Router("/index_sx", &controllers.GoodsController{}, "get:ShowIndex_sx")
33 | //商品详情
34 | beego.Router("/goodsDetail", &controllers.GoodsController{}, "get:ShowGoodsDetail")
35 | //展示同一类型所有商品
36 | beego.Router("/goodsType", &controllers.GoodsController{}, "get:ShowTypeList")
37 | //商品搜索
38 | beego.Router("/search", &controllers.GoodsController{}, "post:HandleSearch")
39 | //添加商品到购物车
40 | beego.Router("/addCart", &controllers.CartController{}, "post:HandleAddCart")
41 | //购物车展示
42 | beego.Router("/user/showCart", &controllers.CartController{}, "get:ShowCart")
43 | //修改购物车数量,包括:+,-,直接在输入框输入
44 | beego.Router("/changeCartCount", &controllers.CartController{}, "post:HandleChangeCartCount")
45 | //删除购物车商品
46 | beego.Router("/deleteCart", &controllers.CartController{}, "get:HandleDeleteCart")
47 | //添加商品到订单
48 | beego.Router("/user/addOrder", &controllers.OrderController{}, "post:ShowOrder")
49 | //提交订单
50 | beego.Router("/commitOrder", &controllers.OrderController{}, "post:HandleCommitOrder")
51 | //用户中心全部订单页面
52 | beego.Router("/user/userOrder", &controllers.UserController{}, "get:ShowUserOrder")
53 | }
54 |
55 | /* 定义过滤函数 */
56 | func filterFunc(ctx *context.Context) {
57 | //过滤校验
58 | userName := ctx.Input.Session("userName")
59 | if userName == nil {
60 | ctx.Redirect(302, "/login")
61 | return
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/PygElecSystem/static/css/pages-JD-index.css:
--------------------------------------------------------------------------------
1 | .row-405{width:404px}.row-225{width:225px}.row-165{width:165px}.row-330{width:330px}.row-220{width:220px}.row-218{width:218px}img{-webkit-backface-visibility:hidden;-webkit-transition:opacity .3s ease-out;-moz-transition:opacity .3s ease-out;-o-transition:opacity .3s ease-out;transition:opacity .3s ease-out}img:hover{opacity:.8}.Recommend{height:165px;background-color:#EAEAEA;margin:10px 0}.Interest{height:405px;border:1px solid #ededed;margin:-2px;position:relative}.Floor-1{height:360px}em{font-style:normal}.banerArea .sui-carousel{padding:5px;margin-bottom:0}.news{border:1px solid #e4e4e4;margin-top:5px;position:relative;z-index:3}.news h4{border-bottom:1px solid #e4e4e4;padding:5px 10px;margin:5px 5px 0;line-height:22px;overflow:hidden}.news ul.news-list{padding:5px 15px}.news ul li{line-height:26px}.Lifeservice{border-right:1px solid #e4e4e4;overflow:hidden;position:relative;z-index:2}.SortList{margin-left:210px}.SortList ul.Lifeservice> li{border-left:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;margin-right:-1px;height:64px;text-align:center;position:relative;cursor:pointer}.Lifeservice .life-item .list-item{background-image:url(../images/icons.png);width:61px;height:40px;display:block;position:relative;*zoom:1;_position:relative}.service-intro{line-height:22px;width:60px;display:block}.list-item-1{background-position:2px -5px}.list-item-2{background-position:-60px -5px}.list-item-3{background-position:-124px -5px}.list-item-4{background-position:-188px -5px}.list-item-5{background-position:2px -76px}.list-item-6{background-position:-60px -76px}.list-item-7{background-position:-124px -76px}.list-item-8{background-position:-188px -76px}.list-item-9{background-position:2px -146px}.list-item-10{background-position:-60px -146px}.list-item-11{background-position:-60px -146px}.list-item-12{background-position:-60px -146px}.Right .ads{margin-top:5px}.clock{background-color:#5c5251;color:#fff;font-size:18px;text-align:center}.clock .time{padding:30px 0}.clock h3{font-size:18px}.carousel-control{width:17px;border:0;border-radius:0;background:#585757}a.carousel-control{*font-size:30px;*padding-left:3px}.py-container .title{overflow:hidden;margin-top:15px}.title .tip{background-image:url(../images/icons.png);width:66px;height:25px;background-position:182px -104px;line-height:30px}.like .Favourate{border:1px solid #e4e4e4}.like ul li img{width:142px;height:142px;padding:0}.like ul li .like-text{padding:0;width:142px;border-right:1px solid #e4e4e4}.like ul li:last-child .like-text{border-right:0}.like-text h3{color:#df3033}.like-text p{margin-bottom:0}.blockgary{background:#f7f7f7}.Interest .Interest-conver-split{overflow:hidden;border-right:1px solid #e4e4e4}.Interest .Interest-conver-split h5{text-align:center;border-bottom:1px dotted #e4e4e4;padding:5px;font-weight:700;color:#000}.Interest .x-line{height:1px;background:#E4E4E4;display:block;top:250px;left:405px;position:absolute;width:630px;z-index:9999}.floors h3{color:#c81623}.floor .floor-content{border-top:2px solid #c81623;border-bottom:1px solid #e4e4e4}.floors .fr ul li{margin-left:0}.floors .fr ul li a{padding:0}.floors .fr ul li a:after{content:"|";padding:0 10px}.floors .fr ul li:last-child a:after{content:""}.floors .sui-nav.nav-tabs>.active>a{font-weight:400;color:#e82633}ul.jd-list{padding:15px 0;overflow:hidden}ul.jd-list li{list-style-type:none;float:left;width:40%;margin:0 10px;border-bottom:1px solid #e4e4e4;text-align:center;line-height:26px}.floors .sui-nav.nav-tabs>.active>a{border:0;padding-top:1px}.floors .sui-nav.nav-tabs{border-bottom:0}.floors .fr .sui-nav{margin:10px 0 0;display:inline-block}.brandArea{position:relative}.brandArea .brand-yline{height:405px;width:1px;position:absolute;left:80px;border-left:1px dashed #e4e4e4}.brandArea ul li{height:57px;border-bottom:1px dashed #e4e4e4}.brandArea ul li img{padding:11px 0}.brandArea ul li:nth-last-child(2){border-bottom:0}.brandArea ul li:last-child{border-bottom:0}.split{position:relative}.split .floor-x-line{position:absolute;background:#e4e4e4;width:220px;height:1px;top:180px}.row-218.split{border:1px solid #e4e4e4;width:218px;border-bottom:0;border-top:0}.brand .Brand-list{overflow:hidden;padding:15px 0;margin:10px 0}.brand ul li img{border-left:1px dotted #ccc;padding:0 10px}.brand ul li:first-child img{border-left:0}ul.brand-list li{height:48px;line-height:58px}#floor-index{position:fixed;left:280px;top:120px;display:none}#floor-index a{text-decoration:none}#floor-index ul li{list-style-type:none;text-decoration:none;width:60px;height:30px;line-height:30px;text-align:center;border-bottom:1px solid #ddd}#floor-index ul li:last-child{border-bottom:1px solid #ddd}#floor-index ul li .num{color:#666;background:#f7f7f7}#floor-index ul li .word{display:none;background:#cb1c39;color:#fff}.Lifeservice{overflow:hidden}.tab-item{cursor:pointer;position:relative;top:0}.life-item-content{width:246px;height:164px;top:218px;padding-left:1px;border-left:1px solid #e4e4e4;overflow:hidden;position:absolute;z-index:2}.life-detail{display:none;background:#fff;height:159px;padding:0 4px}.lifenow{display:block}.close{cursor:pointer;float:right;color:#ea4a36}#picLBxxl li{height:250px}.picLB li{height:250px;margin:0 -1px;overflow:hidden;background:#fff;position:relative}.picLB{overflow:hidden;zoom:1;padding:0 10px}.picLB li{float:left;display:inline}.picDl{width:1200px;overflow:hidden;zoom:1;height:250px;position:absolute;top:0;left:0;margin:0}.picDl dd{float:left;display:inline;overflow:hidden}.tabbox{font-family:'微软雅黑'}.tabbox .tab{overflow:hidden;width:312px}.tabbox .tab p{margin-bottom:0}.tabbox .tab a{display:block;padding:0 18px;float:left;text-decoration:none;font-size:16px;color:#999}.tabbox .tab a:hover{color:#fff;text-decoration:none}.tabbox .tab a.on{color:#3284e5;text-decoration:none}.tabbox .tab a i{width:35px;height:35px;display:block;background:url(../images/bg0.png);margin-left:10px}.tabbox .tab a.on i{width:35px;height:35px;display:block;background:url(../images/bg0.png) -35px 0}.tabbox .text{line-height:28px}.tabbox .content{overflow:hidden;padding:10px}.tabbox .content li{display:none;overflow:hidden;list-style:none}.tabbox .img-item{border:1px solid #3184E5;box-shadow:0 4px 6px 0 rgba(206,206,206,.5);width:269px;height:328px;float:left;overflow:hidden;margin:0 12px 10px;background:#fff}.tabbox .img-item img{width:200px;height:200px}.tabbox .img-item .tab-pic{width:230px;height:210px;overflow:hidden;display:table;position:relative;z-index:1;text-align:center}.tabbox .img-item .tab-pic span{display:table-cell;vertical-align:middle;text-align:center}.tabbox .img-item .tab-info{background:#3284e5}.tabbox .img-item .tab-info .info-title{height:50px;line-height:28px;overflow:hidden;margin:0 auto;padding-left:10px}.tabbox .img-item .tab-info .info-title span a{color:#fff;text-decoration:none}.tabbox .img-item .tab-info .info-price{font-size:20px;color:#fff;height:35px;padding-left:10px;display:block;line-height:24px;margin:10px auto 0}.sort{display:block!important;float:left}
--------------------------------------------------------------------------------
/PygElecSystem/static/css/pages-login.css:
--------------------------------------------------------------------------------
1 | .logoArea{height:84px}.loginArea{height:487px;background-color:#7e00ff}.copyright{text-align:center;line-height:24px}.logo{background:url(../images/icons.png) no-repeat;width:182px;height:78px;position:absolute;background-position:-367px 0}.login{background:url(../images/loginbg.png) no-repeat;height:487px}.loginform{width:380px;background:#fff;float:right;top:45px;position:relative;padding:20px}img{display:block;margin:0 auto}.sui-form{margin-top:15px}span.loginname{background-image:url(../images/icons.png);background-position:-10px -201px}.sui-form .input-prepend{margin-bottom:16px}.sui-nav.nav-tabs.tab-wraped>li{width:50%}.sui-nav.nav-tabs.tab-wraped>li.active>a{padding-top:0;border-top:1px solid #28a3ef}.sui-nav.nav-tabs.tab-wraped>li>a{padding:0}.sui-nav.nav-tabs.tab-wraped>li.active h3{color:#c8111a}.sui-form .input-prepend .add-on{padding:6px 5px;background-color:#cfcdcd;width:25px;height:23px;*float:left}.sui-form input[type=text],.sui-form input[type=password]{height:23px}.sui-form input.span2{width:284px;*float:left}.loginpwd{background-image:url(../images/icons.png);background-position:-72px -201px;display:block;width:25px;height:23px}.setting{position:relative;margin:0 0 25px}.setting .forget{position:absolute;right:0}.btn-danger{background-color:#c81623;padding:6px;border-radius:0;font-size:16px;font-family:微软雅黑;word-spacing:4px}.otherlogin{position:relative;margin-top:30px}.otherlogin .register{position:absolute;top:10px;right:10px;font-size:15px}.types ul li{list-style-type:none;display:inline-block;*display:inline;*zoom:1;width:40px;height:55px}.copyright ul li{list-style-type:none;display:inline-block;*display:inline;*zoom:1;border-right:1px solid #e4e4e4;padding:0 20px;margin:15px 0}.copyright ul li:last-child{border-right:0}
--------------------------------------------------------------------------------
/PygElecSystem/static/css/reset.css:
--------------------------------------------------------------------------------
1 | /* 把标签默认的间距设为0 */
2 | body,ul,ol,p,h1,h2,h3,h4,h5,h6,dl,dd,select,input,textarea,form{margin:0;padding:0}
3 |
4 | /* 让h标签文字大小继承body的文字设置 */
5 | h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
6 |
7 | /* 去掉列表默认的图标 */
8 | ul,ol{list-style:none;}
9 |
10 | /* 去掉em默认的斜体 */
11 | em{font-style: normal;}
12 |
13 | /* 去掉a标签默认的下划线 */
14 | a{text-decoration:none;}
15 |
16 |
17 | /* 去掉加链接时产生的框线 */
18 | img{border:0;}
19 |
20 | /* 清除浮动 */
21 | .clearfix:before,.clearfix:after{content:"";display:table}
22 | .clearfix:after{clear:both;}
23 | .clearfix{zoom:1}
24 |
25 | /* 浮动 */
26 | .fl{float:left}
27 | .fr{float:right}
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-moon.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-moon.eot
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-moon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-moon.ttf
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-moon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-moon.woff
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-pc.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-pc.eot
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-pc.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-pc.ttf
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-pc.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-pc.woff
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-tb.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-tb.eot
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-tb.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-tb.ttf
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-tb.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-tb.woff
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-touch.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-touch.eot
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-touch.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-touch.ttf
--------------------------------------------------------------------------------
/PygElecSystem/static/fonts/icon-touch.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/fonts/icon-touch.woff
--------------------------------------------------------------------------------
/PygElecSystem/static/images/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/1.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/2.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/b1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/b1.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/b2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/b2.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/b3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/b3.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/banner.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/bg-who1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/bg-who1.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/buy001.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/buy001.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/buy002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/buy002.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/buy01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/buy01.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/car.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/car.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/clock.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/code.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/cooperation_banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/cooperation_banner.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/down-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/down-icon.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/dp01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/dp01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/dp02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/dp02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/dp03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/dp03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/dp04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/dp04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/empty_heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/empty_heart.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/erweima.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/erweima.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/fail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/fail.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/gocart.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/gocart.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/gocart01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/gocart01.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/goods1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/goods1.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/gotop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/gotop.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/icon-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/icon-red.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/icon.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/intro01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/intro01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/intro02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/intro02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/intro03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/intro03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/itemlike01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/itemlike01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/itemlike02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/itemlike02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/itemlike03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/itemlike03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/itemlike04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/itemlike04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/itemlike05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/itemlike05.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/itemlike06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/itemlike06.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/l-m01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/l-m01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/list.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/list.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/list.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/login-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/login-bg.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/manage-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/manage-bg.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/mobile01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/mobile01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/mobile02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/mobile02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/mobile03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/mobile03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/mobile04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/mobile04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/mobile05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/mobile05.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/mobile06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/mobile06.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/part01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/part01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/part02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/part02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/part03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/part03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay1.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay10.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay11.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay12.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay13.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay14.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay15.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay16.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay17.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay18.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay19.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay2.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay20.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay21.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay22.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay3.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay4.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/pay5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/pay5.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone-bg.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone05.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone06.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone07.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone08.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone09.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone10.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone11.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone12.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone13.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/phone14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/phone14.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/photo.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/photo.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/photo_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/photo_icon.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/right.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/s1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/s1.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/s2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/s2.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/s3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/s3.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/sampling_head.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/sampling_head.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/seckillbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/seckillbg.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/shi_heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/shi_heart.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/shop-intro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/shop-intro.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/shop-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/shop-logo.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/shop-part.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/shop-part.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/star.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/t.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/t.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/title_bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/title_bg.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/_/y24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/_/y24.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/account.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/account.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/ad.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/ad.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/ad1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/ad1.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/adv01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/adv01.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/adv02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/adv02.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/ali.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/ali.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner01.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner02.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner03.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner04.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner05.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner06.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner1.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner1.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner2.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner3.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/banner4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/banner4.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/barrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/barrow.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/bg0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/bg0.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/bg2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/bg2.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/bg3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/bg3.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand05.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand06.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand07.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand08.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand09.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand10.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand11.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand12.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand13.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_05.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_07.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_09.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_11.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_13.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_15.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_17.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_19.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/brand_21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/brand_21.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/cartPanelViewIcons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/cartPanelViewIcons.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/choosed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/choosed.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/clock.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/delete.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/down.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/duihuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/duihuan.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/erweima.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/erweima.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-1.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-2.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-3.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-4.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-5.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-6.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-b01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-b01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-b02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-b02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/floor-1-b03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/floor-1-b03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/fruit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/fruit.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods001.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods001.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods002.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods003.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods003.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods004.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods004.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods005.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods005.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods006.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods006.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods007.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods007.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods008.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods008.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods009.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods009.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods010.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods010.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods011.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods011.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods012.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods012.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods013.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods013.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods014.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods014.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods015.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods015.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods016.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods016.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods017.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods017.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods018.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods018.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods019.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods019.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods020.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods020.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods/goods021.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods/goods021.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods02.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/goods_detail.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/goods_detail.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/icons.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/icons02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/icons02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/icons03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/icons03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/interest01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/interest01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/interest02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/interest02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/interest03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/interest03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/interest04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/interest04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/interest05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/interest05.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/interest06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/interest06.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/interval_line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/interval_line.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/left_bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/left_bg.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like1.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like2.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like3.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like4.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like_01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like_02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like_03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like_04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like_05.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/like_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/like_06.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/linker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/linker.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/lock.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/login_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/login_banner.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/loginbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/loginbg.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/logo.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/logo02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/logo02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/mod-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/mod-list.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/pay_icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/pay_icons.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/photo.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/qq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/qq.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/quan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/quan.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/register_banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/register_banner.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/shop_cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/shop_cart.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/sina.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/sina.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/slide.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/slide.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/slide02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/slide02.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/slide03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/slide03.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/slide04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/slide04.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/today01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/today01.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/today02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/today02.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/today03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/today03.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/today04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/today04.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/weixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/weixin.png
--------------------------------------------------------------------------------
/PygElecSystem/static/images/wx_cz.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/wx_cz.jpg
--------------------------------------------------------------------------------
/PygElecSystem/static/images/zoom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Prudenter/PygElecSystem/d624d0d8af48e284ff27ab482101b5e9301396f5/PygElecSystem/static/images/zoom.png
--------------------------------------------------------------------------------
/PygElecSystem/static/js/index.js:
--------------------------------------------------------------------------------
1 | // window.onload = function() {
2 | // cartListController.setup();
3 | // }
4 | /*商品排行*/
5 | $(function(){
6 | $(".tabbox .tab a").mouseover(function(){
7 | $(this).addClass('on').siblings().removeClass('on');
8 | var index = $(this).index();
9 | number = index;
10 | $('.tabbox .content li').hide();
11 | $('.tabbox .content li:eq('+index+')').show();
12 | });
13 | });
14 | /*商品分类*/
15 | $(function() {
16 | $('.all-sort-list2 > .item').hover(function() {
17 | //父类分类列表容器的高度
18 | $(this).addClass('hover');
19 | $(this).children('.item-list').css('display', 'block');
20 | }, function() {
21 | $(this).removeClass('hover');
22 | $(this).children('.item-list').css('display', 'none');
23 | });
24 |
25 | $('.item > .item-list > .close').click(function() {
26 | $(this).parent().parent().removeClass('hover');
27 | $(this).parent().hide();
28 | });
29 | });
30 |
31 | /*楼层导航*/
32 | function scrollFloorView(){
33 | var ling = $(document).scrollTop(); //获得窗口滚动上去的距离
34 | if(ling > 1200) {
35 | $("#floor-index").show(); //如果滚动的距离大于1200,滚动框显示出来
36 | }
37 | if(1200 < ling && ling < 1600) { //第一层的数字隐藏,文字显示,其他兄弟元素的li数字显示,文字隐藏
38 | $("#floor-index ul li").eq(0).find(".num").hide().siblings(".word").css("display", "block");
39 | $("#floor-index ul li").eq(0).siblings("li").find(".num").css("display", "block").siblings(".word").hide();
40 | } else if(ling < 1800) {
41 | $("#floor-index ul li").eq(1).find(".num").hide().siblings(".word").css("display", "block");
42 | $("#floor-index ul li").eq(1).siblings("li").find(".num").css("display", "block").siblings(".word").hide();
43 | }
44 | if(ling > 2500 || ling < 1200) {
45 | $("#floor-index").hide();
46 | }
47 | }
48 | $(function() {
49 | scrollFloorView();
50 | $(window).scroll(function() {
51 | scrollFloorView();
52 | });
53 | });
54 |
55 | function resizeFloorView(){
56 | if($(document.body).width() > 1200){
57 | ele_width = $(document.body).width() - 1200;
58 | ele_width = ele_width / 2 - 65;
59 | $("#floor-index").css("left", ele_width + "px");
60 | }
61 | else{
62 | $("#floor-index").css("left", "6px");
63 | }
64 | }
65 | $(function() {
66 | resizeFloorView();
67 | $(window).resize(function() {
68 | resizeFloorView();
69 | });
70 | });
71 |
72 | /*生活服务区*/
73 | $(function() {
74 |
75 | $(".close").click(function() {
76 | $("li.tab-item").animate({
77 | "top": 0
78 | });
79 | $(".life-detail").removeClass("lifenow");
80 |
81 | });
82 | $("li.tab-item").each(function(index) {
83 | var liNode = $(this);
84 | $(this).mouseover(function() {
85 | $("li.tab-item").animate({
86 | "top": -36
87 | }, 150);
88 | $("div.lifenow").removeClass("lifenow");
89 | $("div.life-detail").eq(index).addClass("lifenow");
90 | $(this).addClass("tabin");
91 | });
92 | })
93 |
94 | });
95 |
96 | /*产品筛选*/
97 | $(function() {
98 | $(".type-list li a").hover(
99 | function() {
100 | $(this).addClass("redhover");
101 | },
102 | function() {
103 | $(this).removeClass("redhover");
104 | }
105 | );
106 |
107 | $(".type-list li a").click(function() {
108 | $(this).attr("class", "redhover");
109 | $(".type-list li a").each(function() {
110 | $(".type-list li a").not(".redhover").attr("class", "grayhover");
111 | })
112 | $(this).removeClass(".redhover");
113 | alert(RetSelecteds());
114 | })
115 |
116 | });
117 |
118 | function RetSelecteds() {
119 | var result = "";
120 | $(".type-list li a[class='grayhover']").each(function() {
121 | result += $(this).html() + "\n";
122 | });
123 | return result;
124 | }
125 |
126 | //影像力换一换
127 | var getyxl = jQuery('#picLBxxl li').eq(0).width(); /*获取li的宽度*/
128 | (function($){
129 | var arartta= window['arartta'] = function(o){
130 | return new das(o);
131 | }
132 | das = function(o){
133 | this.obj = $('#'+o.obj);
134 | this.bnt = $('#'+o.bnt);
135 | this.showLi = this.obj.find('li'); /*找到每个li*/
136 | this.current = 0;
137 | this.myTimersc = '';
138 | this.init()
139 | }
140 | das.prototype = {
141 | chgPic:function(n){
142 | var _this = this;
143 | for (var i = 0,l= _this.showLi.length; i < l; i++) {
144 | _this.showLi.eq(i).find(".pic").find('img').eq(n).attr('src',_this.showLi.eq(i).find(".pic").find('img').eq(n).attr('nsrc'));
145 |
146 | $('#picLBxxl dl:not(:animated)').animate({left: -(n * getyxl) + "px"}, {easing:"easeInOutExpo"}, 1500, function(){});
147 | /*点击dl,使没有动画的dl执行动画,向左移动负值*/
148 | }
149 | },
150 | rotate:function(){
151 | var _this = this;
152 | clearInterval(_this.myTimersc);
153 | _this.bnt.children().css({
154 | '-webkit-transform':'rotate(0deg)',
155 | '-moz-transform':'rotate(0deg)'
156 | });
157 | var tt = 0;
158 | var getBnts = _this.bnt.children();
159 | _this.myTimersc = setInterval(function(){
160 | tt += 10;
161 | if (tt >= 180) {
162 | clearInterval(_this.myTimersc);
163 | }
164 | rotateElement(getBnts,tt);
165 | },25)
166 | },
167 | init:function(){
168 | var _this = this;
169 | this.bnt.bind("click",function(){
170 | _this.current++;
171 | if (_this.current > 1) { /*如果当前页面数大于1就回到第1页*/
172 | _this.current = 0 ;
173 | }
174 | _this.chgPic(_this.current);
175 | _this.rotate();
176 |
177 | })
178 | this.bnt.mouseenter(function () {
179 | _this.rotate();
180 | });
181 |
182 | }
183 | }
184 | })(jQuery)
185 |
186 | arartta({
187 | bnt:'xxlChg',
188 | obj:'picLBxxl'
189 | });
190 |
191 | function rotateElement(element,angle){
192 | var rotate = 'rotate('+angle+'deg)';
193 | if(element.css('MozTransform')!=undefined)
194 | element.css('MozTransform',rotate);
195 | else if(element.css('WebkitTransform')!=undefined)
196 | element.css('WebkitTransform',rotate);
197 | }
--------------------------------------------------------------------------------
/PygElecSystem/static/js/jquery.cookie.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery Cookie Plugin v1.4.1
3 | * https://github.com/carhartl/jquery-cookie
4 | *
5 | * Copyright 2013 Klaus Hartl
6 | * Released under the MIT license
7 | */
8 | (function (factory) {
9 | if (typeof define === 'function' && define.amd) {
10 | // AMD
11 | define(['jquery'], factory);
12 | } else if (typeof exports === 'object') {
13 | // CommonJS
14 | factory(require('jquery'));
15 | } else {
16 | // Browser globals
17 | factory(jQuery);
18 | }
19 | }(function ($) {
20 |
21 | var pluses = /\+/g;
22 |
23 | function encode(s) {
24 | return config.raw ? s : encodeURIComponent(s);
25 | }
26 |
27 | function decode(s) {
28 | return config.raw ? s : decodeURIComponent(s);
29 | }
30 |
31 | function stringifyCookieValue(value) {
32 | return encode(config.json ? JSON.stringify(value) : String(value));
33 | }
34 |
35 | function parseCookieValue(s) {
36 | if (s.indexOf('"') === 0) {
37 | // This is a quoted cookie as according to RFC2068, unescape...
38 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
39 | }
40 |
41 | try {
42 | // Replace server-side written pluses with spaces.
43 | // If we can't decode the cookie, ignore it, it's unusable.
44 | // If we can't parse the cookie, ignore it, it's unusable.
45 | s = decodeURIComponent(s.replace(pluses, ' '));
46 | return config.json ? JSON.parse(s) : s;
47 | } catch(e) {}
48 | }
49 |
50 | function read(s, converter) {
51 | var value = config.raw ? s : parseCookieValue(s);
52 | return $.isFunction(converter) ? converter(value) : value;
53 | }
54 |
55 | var config = $.cookie = function (key, value, options) {
56 |
57 | // Write
58 |
59 | if (value !== undefined && !$.isFunction(value)) {
60 | options = $.extend({}, config.defaults, options);
61 |
62 | if (typeof options.expires === 'number') {
63 | var days = options.expires, t = options.expires = new Date();
64 | t.setTime(+t + days * 864e+5);
65 | }
66 |
67 | return (document.cookie = [
68 | encode(key), '=', stringifyCookieValue(value),
69 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
70 | options.path ? '; path=' + options.path : '',
71 | options.domain ? '; domain=' + options.domain : '',
72 | options.secure ? '; secure' : ''
73 | ].join(''));
74 | }
75 |
76 | // Read
77 |
78 | var result = key ? undefined : {};
79 |
80 | // To prevent the for loop in the first place assign an empty array
81 | // in case there are no cookies at all. Also prevents odd result when
82 | // calling $.cookie().
83 | var cookies = document.cookie ? document.cookie.split('; ') : [];
84 |
85 | for (var i = 0, l = cookies.length; i < l; i++) {
86 | var parts = cookies[i].split('=');
87 | var name = decode(parts.shift());
88 | var cookie = parts.join('=');
89 |
90 | if (key && key === name) {
91 | // If second argument (value) is a function it's a converter...
92 | result = read(cookie, value);
93 | break;
94 | }
95 |
96 | // Prevent storing a cookie that we couldn't decode.
97 | if (!key && (cookie = read(cookie)) !== undefined) {
98 | result[name] = cookie;
99 | }
100 | }
101 |
102 | return result;
103 | };
104 |
105 | config.defaults = {};
106 |
107 | $.removeCookie = function (key, options) {
108 | if ($.cookie(key) === undefined) {
109 | return false;
110 | }
111 |
112 | // Must not alter options, thus extending a fresh object...
113 | $.cookie(key, '', $.extend({}, options, { expires: -1 }));
114 | return !$.cookie(key);
115 | };
116 |
117 | }));
118 |
--------------------------------------------------------------------------------
/PygElecSystem/static/js/login.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 | $('input,textarea').placeholder();
3 | })
--------------------------------------------------------------------------------
/PygElecSystem/static/js/register.js:
--------------------------------------------------------------------------------
1 | $(function(){
2 |
3 | var error_name = false;
4 | var error_password = false;
5 | var error_check_password = false;
6 | var error_email = false;
7 | var error_check = false;
8 |
9 |
10 | $('#user_name').blur(function() {
11 | check_user_name();
12 | });
13 |
14 | $('#pwd').blur(function() {
15 | check_pwd();
16 | });
17 |
18 | $('#cpwd').blur(function() {
19 | check_cpwd();
20 | });
21 |
22 | $('#email').blur(function() {
23 | check_email();
24 | });
25 |
26 | $('#allow').click(function() {
27 | if($(this).is(':checked'))
28 | {
29 | error_check = false;
30 | $(this).siblings('span').hide();
31 | }
32 | else
33 | {
34 | error_check = true;
35 | $(this).siblings('span').html('请勾选同意');
36 | $(this).siblings('span').show();
37 | }
38 | });
39 |
40 |
41 | function check_user_name(){
42 | var len = $('#user_name').val().length;
43 | if(len<5||len>20)
44 | {
45 | $('#user_name').next().html('请输入5-20个字符的用户名')
46 | $('#user_name').next().show();
47 | error_name = true;
48 | }
49 | else
50 | {
51 | $('#user_name').next().hide();
52 | error_name = false;
53 | }
54 | }
55 |
56 | function check_pwd(){
57 | var len = $('#pwd').val().length;
58 | if(len<8||len>20)
59 | {
60 | $('#pwd').next().html('密码最少8位,最长20位')
61 | $('#pwd').next().show();
62 | error_password = true;
63 | }
64 | else
65 | {
66 | $('#pwd').next().hide();
67 | error_password = false;
68 | }
69 | }
70 |
71 |
72 | function check_cpwd(){
73 | var pass = $('#pwd').val();
74 | var cpass = $('#cpwd').val();
75 |
76 | if(pass!=cpass)
77 | {
78 | $('#cpwd').next().html('两次输入的密码不一致')
79 | $('#cpwd').next().show();
80 | error_check_password = true;
81 | }
82 | else
83 | {
84 | $('#cpwd').next().hide();
85 | error_check_password = false;
86 | }
87 |
88 | }
89 |
90 | function check_email(){
91 | var re = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/;
92 |
93 | if(re.test($('#email').val()))
94 | {
95 | $('#email').next().hide();
96 | error_email = false;
97 | }
98 | else
99 | {
100 | $('#email').next().html('你输入的邮箱格式不正确')
101 | $('#email').next().show();
102 | error_check_password = true;
103 | }
104 |
105 | }
106 |
107 |
108 | $('#reg_form').submit(function() {
109 | check_user_name();
110 | check_pwd();
111 | check_cpwd();
112 | check_email();
113 |
114 | if(error_name == false && error_password == false && error_check_password == false && error_email == false && error_check == false)
115 | {
116 | return true;
117 | }
118 | else
119 | {
120 | return false;
121 | }
122 |
123 | });
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 | })
--------------------------------------------------------------------------------
/PygElecSystem/static/js/slide.js:
--------------------------------------------------------------------------------
1 | $(function(){
2 | var $slides = $('.slide_pics li');
3 | var len = $slides.length;
4 | var nowli = 0;
5 | var prevli = 0;
6 | var $prev = $('.prev');
7 | var $next = $('.next');
8 | var ismove = false;
9 | var timer = null;
10 | $slides.not(':first').css({left:760});
11 | $slides.each(function(index, el) {
12 | var $li = $('
');
13 |
14 | if(index==0)
15 | {
16 | $li.addClass('active');
17 | }
18 |
19 | $li.appendTo($('.points'));
20 | });
21 | $points = $('.points li');
22 | timer = setInterval(autoplay,4000);
23 |
24 | $('.slide').mouseenter(function() {
25 | clearInterval(timer);
26 | });
27 |
28 | $('.slide').mouseleave(function() {
29 | timer = setInterval(autoplay,4000);
30 | });
31 |
32 | function autoplay(){
33 | nowli++;
34 | move();
35 | $points.eq(nowli).addClass('active').siblings().removeClass('active');
36 | }
37 |
38 | $points.click(function(event) {
39 | if(ismove)
40 | {
41 | return;
42 | }
43 | nowli = $(this).index();
44 |
45 | if(nowli==prevli)
46 | {
47 | return;
48 | }
49 |
50 | $(this).addClass('active').siblings().removeClass('active');
51 | move();
52 |
53 | });
54 |
55 | $prev.click(function() {
56 | if(ismove)
57 | {
58 | return;
59 | }
60 | nowli--;
61 | move();
62 | $points.eq(nowli).addClass('active').siblings().removeClass('active');
63 |
64 | });
65 |
66 | $next.click(function() {
67 | if(ismove)
68 | {
69 | return;
70 | }
71 | nowli++;
72 | move();
73 | $points.eq(nowli).addClass('active').siblings().removeClass('active');
74 |
75 | });
76 |
77 |
78 | function move(){
79 |
80 | ismove = true;
81 |
82 | if(nowli<0)
83 | {
84 | nowli=len-1;
85 | prevli = 0
86 | $slides.eq(nowli).css({left:-760});
87 | $slides.eq(nowli).animate({left:0},800,'easeOutExpo');
88 | $slides.eq(prevli).animate({left:760},800,'easeOutExpo',function(){
89 | ismove = false;
90 | });
91 | prevli=nowli;
92 | return;
93 | }
94 |
95 | if(nowli>len-1)
96 | {
97 | nowli = 0;
98 | prevli = len-1;
99 | $slides.eq(nowli).css({left:760});
100 | $slides.eq(nowli).animate({left:0},800,'easeOutExpo');
101 | $slides.eq(prevli).animate({left:-760},800,'easeOutExpo',function(){
102 | ismove = false;
103 | });
104 | prevli=nowli;
105 | return;
106 | }
107 |
108 |
109 | if(prevli
3 |
4 |
5 |
6 | 品优购,优质!优质!-购物车
7 |
8 |
9 |
10 |
11 |
34 |
35 |
36 |

37 |
| 购物车
38 |
39 |
40 |
41 |
42 |
43 |
44 | 全部商品{{.totalCount}}件
45 |
46 | - 商品名称
47 | - 商品单位
48 | - 商品价格
49 | - 数量
50 | - 小计
51 | - 操作
52 |
53 |
81 |
96 |
97 |
283 |
284 |
--------------------------------------------------------------------------------
/PygElecSystem/views/detail.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 | 品优购,优质!优质!-商品详情
7 |
8 |
9 |
10 |
11 |
12 |
35 |
36 |
47 |
48 |
49 |
50 |
51 |
全部商品分类
52 |
53 |
61 |
62 |
63 | - 首页
64 | - |
65 | - 手机生鲜
66 | - |
67 | - 抽奖
68 |
69 |
70 |
71 |
72 |
79 |
80 |
81 |
82 |
83 |
84 |
{{.goodsSKU.Name}}
85 |
{{.goodsSKU.Desc}}
86 |
87 | ¥{{.goodsSKU.Price}}
88 | 单 位:{{.goodsSKU.Unite}}
89 |
90 |
98 |
总价:16.80元
99 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
新品推荐
110 |
111 | {{range .newGoods}}
112 | -
113 |
114 |
115 | ¥{{.Price}}
116 |
117 | {{end}}
118 |
119 |
120 |
121 |
122 |
123 |
124 | - 商品介绍
125 | - 评论
126 |
127 |
128 |
129 |
130 | - 商品详情:
131 | - {{.goodsSKU.Goods.Detail}}
132 |
133 |
134 |
135 |
136 |
137 |
152 |
153 |
154 |
155 |
243 |
244 |
245 |
--------------------------------------------------------------------------------
/PygElecSystem/views/index_sx.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 | 品优购,优质!优质!
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
37 |
38 |
39 |

40 |
46 |
50 |
51 |
52 |
53 |
54 |
全部商品分类
55 |
56 | - 首页
57 | - |
58 | - 手机生鲜
59 | - |
60 | - 抽奖
61 |
62 |
63 |
64 |
65 |
66 |
67 | {{range .goodsTypes}}
68 | - {{.Name}}
69 | {{end}}
70 |
71 |
72 |
73 | {{range .goodsBanners}}
74 | 
75 | {{end}}
76 |
77 |
78 |
79 |
80 |
81 |
82 | {{range .promotionBanners}}
83 |

84 | {{end}}
85 |
86 |
87 |
88 | {{range .goods}}
89 |
90 |
91 |
{{.goodType.Name}}
92 |
98 |
查看更多 >
99 |
100 |
101 |
102 |
103 |
104 | {{range .imageGoods}}
105 | -
106 |
107 |
108 | ¥ {{.GoodsSKU.Price}}
109 |
110 | {{end}}
111 |
112 |
113 |
114 | {{end}}
115 |
116 |
131 |
132 |
--------------------------------------------------------------------------------
/PygElecSystem/views/list.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 | 品优购,优质!优质!-商品列表
7 |
8 |
9 |
10 |
11 |
34 |
35 |
46 |
47 |
48 |
49 |
50 |
全部商品分类
51 |
52 |
60 |
61 |
62 | - 首页
63 | - |
64 | - 手机生鲜
65 | - |
66 | - 抽奖
67 |
68 |
69 |
70 |
71 |
76 |
77 |
78 |
79 |
80 |
新品推荐
81 |
82 | -
83 |
84 |
85 | ¥3.90
86 |
87 | -
88 |
89 |
90 | ¥16.80
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
默认
99 |
价格
100 |
人气
101 |
102 |
103 |
104 | {{range .goodsSKUs}}
105 | -
106 |
107 |
108 |
109 |
¥{{.Price}}
110 |
{{.Price}}/{{.Unite}}
111 |
112 |
113 |
114 | {{end}}
115 |
116 |
117 |
118 |
119 | <上一页
120 |
121 | {{range $key,$value := .pages}}
122 |
{{$value}}
123 | {{end}}
124 |
下一页>
125 |
126 |
127 |
128 |
129 |
144 |
145 |
146 |
--------------------------------------------------------------------------------
/PygElecSystem/views/login.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 品优购,欢迎登录
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
83 |
84 |
85 |
86 | - 关于我们
87 | - 联系我们
88 | - 联系客服
89 | - 商家入驻
90 | - 营销中心
91 | - 手机品优购
92 | - 销售联盟
93 | - 品优购社区
94 |
95 |
地址:北京市昌平区建材城西路金燕龙办公楼一层 邮编:100096 电话:400-618-4000 传真:010-82935100
96 |
京ICP备08001421号京公网安备110108007702
97 |
98 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/PygElecSystem/views/place_order.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 | 品优购,优质!优质!-提交订单
7 |
8 |
9 |
10 |
11 |
34 |
35 |
36 |

37 |
| 提交订单
38 |
39 |
40 |
41 |
42 |
43 |
44 | 确认收货地址
45 |
46 |
47 |
48 | - 寄送到:
49 | {{range .addrs}}
50 | - {{.Addr}}
51 | ({{.Receiver}}
52 | 收) {{.Phone}}
53 | {{end}}
54 |
55 |
编辑收货地址
56 |
57 |
58 |
59 | 支付方式
60 |
72 |
73 | 商品列表
74 |
75 |
76 |
77 | - 商品名称
78 | - 商品单位
79 | - 商品价格
80 | - 数量
81 | - 小计
82 |
83 | {{range .goods}}
84 |
85 | - 1
86 | 
87 | - {{.goodsSKU.Name}}
88 | - {{.goodsSKU.Unite}}克
89 | - {{.goodsSKU.Price}}元
90 | - {{.count}}
91 | - {{.littlePrice}}元
92 |
93 | {{end}}
94 |
95 |
96 | 总金额结算
97 |
98 |
99 |
100 |
共{{.totalCount}}件商品,总金额{{.totalPrice}}元
101 |
运费:{{.postage}}元
102 |
实付款:{{.actualPrice}}元
103 |
104 |
105 |
106 |
109 |
110 |
125 |
126 |
133 |
134 |
168 |
169 |
--------------------------------------------------------------------------------
/PygElecSystem/views/register-email.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 个人注册
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
注册新用户我有账号,去登陆
26 |
62 |
63 |
64 |
65 |
66 | - 关于我们
67 | - 联系我们
68 | - 联系客服
69 | - 商家入驻
70 | - 营销中心
71 | - 手机品优购
72 | - 销售联盟
73 | - 品优购社区
74 |
75 |
地址:北京市昌平区建材城西路金燕龙办公楼一层 邮编:100096 电话:400-618-4000 传真:010-82935100
76 |
京ICP备08001421号京公网安备110108007702
77 |
78 |
79 |
80 |
88 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/PygElecSystem/views/register.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 个人注册
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
注册新用户我有账号,去登陆
24 |
74 |
75 |
76 |
77 |
78 | - 关于我们
79 | - 联系我们
80 | - 联系客服
81 | - 商家入驻
82 | - 营销中心
83 | - 手机品优购
84 | - 销售联盟
85 | - 品优购社区
86 |
87 |
地址:北京市昌平区建材城西路金燕龙办公楼一层 邮编:100096 电话:400-618-4000 传真:010-82935100
88 |
京ICP备08001421号京公网安备110108007702
89 |
90 |
91 |
92 |
148 |
149 |
150 |
--------------------------------------------------------------------------------
/PygElecSystem/views/search.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 品优购,优质!优质!-商品列表
6 |
7 |
8 |
9 |
10 |
33 |
34 |
45 |
46 |
47 |
48 |
49 |
全部商品分类
50 |
51 |
59 |
60 |
61 | - 首页
62 | - |
63 | - 手机生鲜
64 | - |
65 | - 抽奖
66 |
67 |
68 |
69 |
70 |
75 |
76 |
77 |
78 |
79 |
80 |
85 |
86 |
87 | {{range .goods}}
88 | -
89 |
90 |
91 |
92 |
¥{{.Price}}
93 |
{{.Price}}/{{.Unite}}
94 |
95 |
96 |
97 | {{end}}
98 |
99 |
100 |
101 |
<上一页
102 | {{range $key,$value := .pages}}
103 |
{{$value}}
104 | {{end}}
105 |
下一页>
106 |
107 |
108 |
109 |
110 |
125 |
126 |
127 |
--------------------------------------------------------------------------------
/PygElecSystem/views/user_center_info.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
基本信息
4 |
5 | - 用户名:{{.user.Name}}
6 | - 联系方式:{{.user.Phone}}
7 | - 联系地址:{{if compare .address.User nil}}暂无联系地址,请在收货地址中添加{{else}}{{.address.Addr}}{{end}}
8 |
9 |
10 |
11 |
最近浏览
12 |
13 |
14 | -
15 |
16 |
17 |
18 |
¥16.80
19 |
16.80/500g
20 |
21 |
22 |
23 |
24 | -
25 |
26 |
27 |
28 |
¥5.50
29 |
5.50/500g
30 |
31 |
32 |
33 |
34 | -
35 |
36 |
37 |
38 |
¥10.00
39 |
10.00/500g
40 |
41 |
42 |
43 |
44 | -
45 |
46 |
47 |
48 |
¥28.80
49 |
28.8/500g
50 |
51 |
52 |
53 |
54 | -
55 |
56 |
57 |
58 |
¥6.45
59 |
6.45/500g
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/PygElecSystem/views/user_center_layout.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 | 品优购,优质!优质!-用户中心
7 |
8 |
9 |
10 |
11 |
37 |
38 |
39 |

40 |
| 用户中心
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
56 |
57 | {{.LayoutContent}}
58 |
59 |
60 |
61 |
76 |
77 |
--------------------------------------------------------------------------------
/PygElecSystem/views/user_center_order.html:
--------------------------------------------------------------------------------
1 |
2 |
全部订单
3 |
4 | - 2016-8-21 17:36:24
5 | - 订单号:56872934
6 | - 未支付
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | 
15 | - 嘎啦苹果嘎啦苹果11.80元/500g
16 | - 1
17 | - 11.80元
18 |
19 |
20 | 
21 | - 嘎啦苹果嘎啦苹果11.80元/500g
22 | - 1
23 | - 11.80元
24 |
25 | |
26 | 33.60元 |
27 | 待付款 |
28 | 去付款 |
29 |
30 |
31 |
32 |
33 |
34 | - 2016-8-21 17:36:24
35 | - 订单号:56872934
36 | - 已支付
37 |
38 |
39 |
40 |
41 |
42 |
43 | 
44 | - 嘎啦苹果嘎啦苹果11.80元/500g
45 | - 1
46 | - 11.80元
47 |
48 |
49 | 
50 | - 嘎啦苹果嘎啦苹果11.80元/500g
51 | - 1
52 | - 11.80元
53 |
54 | |
55 | 33.60元 |
56 | 已付款 |
57 | 查看物流 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | <上一页
65 |
66 |
1
67 |
2
68 |
3
69 |
4
70 |
5
71 |
下一页>
72 |
73 |
--------------------------------------------------------------------------------
/PygElecSystem/views/user_center_site.html:
--------------------------------------------------------------------------------
1 |
2 |
收货地址
3 |
4 |
5 | - 当前地址:
6 | {{if compare .address.User nil}}
7 | - 当前无默认地址,请添加默认收货地址
8 | {{else}}
9 | - {{.address.Addr}} ({{.address.Receiver}} 收) {{.address.Phone}}
10 | {{end}}
11 |
12 |
13 |
编辑地址
14 |
35 |
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PygElecSystem
2 | 这是一个基于Go语言、Beego框架开发的B2C模式的电商系统。目前系统功能还在逐步完善当中,会持续更新。
3 | + [技术特色](#技术特色)
4 | + [开发环境](#开发环境)
5 | + [功能模块](#功能模块)
6 | + [安装](#安装)
7 | + [用法](#用法)
8 | + [后续](#后续)
9 |
10 |
11 | ## 技术特色
12 | 主要用到的技术包括:Beego,Go,jQuery,Ajax,javascript,路由过滤拦截,FastDFS,Nginx,redis等。在用户注册时使用阿里云短信验证码验证注册,并在注册成功时使用邮箱激活用户,同时在后台管理中使用了分布式文件系统--FastDFS进行图片的存储,使用Nginx作为图片的访问服务器,在购物车模块中使用redis进行存储,并在支付时接入支付宝等第三方支付的接口。
13 |
14 | ## 开发环境
15 | Linux系统下开发,主要开发工具包括:Linux,Git,GoLand,mysql,redis等。
16 |
17 | ## 功能模块
18 | 系统主要功能模块包括:用户注册,用户登录,主页商品展示,商品管理,购物车,订单管理,订单支付等等。
19 |
20 | ## 安装
21 | ### 开发环境安装
22 | + **Beego框架安装**
23 | + **FastDFS安装**
24 | + **Nginx安装**
25 | ## 用法
26 | 后续更新
27 |
28 | ## 后续
29 | 目前系统功能还在逐步完善中,后期会不定期更新,有兴趣的朋友们可以关注并fork一下,欢迎大家一起参与其中,谢谢大家。
30 |
--------------------------------------------------------------------------------