index.html
25 | 请登录26 | 注销用户 27 |
├── README.md ├── app.js ├── app.json ├── app.wxss ├── assets ├── .DS_Store ├── icons │ ├── Thumbs.db │ ├── grid-01.png │ ├── grid-02.png │ ├── grid-03.png │ ├── grid-04.png │ ├── grid-05.png │ ├── grid-06.png │ ├── grid-07.png │ ├── grid-08.png │ └── grid-09.png ├── images │ ├── Thumbs.db │ ├── avatar.png │ ├── banner-01.png │ ├── banner-02.png │ ├── banner1.png │ ├── banner2.png │ ├── banner3.png │ ├── banner4.png │ ├── link-01.png │ ├── link-02.png │ ├── p0.png │ ├── p3.png │ ├── p4.png │ └── p5.png └── tabs │ ├── Thumbs.db │ ├── contact-active.png │ ├── contact.png │ ├── home-active.png │ ├── home.png │ ├── message-active.png │ ├── message.png │ ├── profile-active.png │ └── profile.png ├── mini_server ├── app.js ├── pool.js └── public │ ├── Thumbs.db │ └── images │ ├── Thumbs.db │ ├── avatar.png │ ├── banner-01.png │ ├── banner-02.png │ ├── banner1.jpg │ ├── banner1.png │ ├── banner2-1.png │ ├── banner2-2.png │ ├── banner2-3.png │ ├── banner2-4.png │ ├── banner2.jpg │ ├── banner2.png │ ├── banner3.jpg │ ├── banner3.png │ ├── banner4.png │ ├── img1.jpg │ ├── img2.jpg │ ├── img3.jpg │ ├── img4.jpg │ ├── left-image-static.png │ ├── link-01.png │ ├── link-02.png │ ├── menu_bg2.jpg │ ├── p0.png │ ├── p3.png │ ├── p4.png │ └── p5.png ├── nodejs ├── app.js ├── db.sql ├── pool.js ├── public │ ├── 08index.html │ ├── 09用户中心.html │ ├── 11-socket-client.html │ ├── index.html │ ├── jq.js │ ├── login.html │ ├── logout.html │ ├── sales_canvas_01.html │ ├── sales_canvas_03.html │ ├── sales_canvas_04.html │ ├── sales_canvas_05.html │ └── sales_svg_02.html └── readme.txt ├── pages ├── contact │ ├── contact.js │ ├── contact.json │ ├── contact.wxml │ └── contact.wxss ├── detail │ ├── detail.js │ ├── detail.json │ ├── detail.wxml │ └── detail.wxss ├── home │ ├── home.js │ ├── home.json │ ├── home.wxml │ └── home.wxss ├── index │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss ├── logs │ ├── logs.js │ ├── logs.json │ ├── logs.wxml │ └── logs.wxss └── news │ ├── news.js │ ├── news.json │ ├── news.wxml │ └── news.wxss ├── project.config.json ├── utils └── util.js └── 测试.txt /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## 预览 3 | 4 |  5 | 6 | 7 | 8 | ## 完整特性 9 | 10 | - 开发阶段与生产阶段分离。 11 | - 自动化生成新页面所需文件并添加到配置中。 12 | - 以`Standard Code Style`校验全部的`js`和`json`文件。 13 | - 开发阶段`json`配置文件可以有注释,方便备注。 14 | - 代码中集成部分文档内容,减少查文档的时间。 15 | - 开发阶段可以使用`less`完成样式编码,原因你懂得~ (如果你了解这些,当然可以支持`sass`等其他预处理样式)。 16 | - 借助`babel`自动进行`ES2015`特性转换,放心使用新特性。 17 | - 开发阶段用`xml`文件后缀取代`wxml`后缀,避免在开发工具中配置代码高亮。 18 | - Source Map 19 | - Travis CI 20 | 21 | ## 操作步骤 22 | 23 | ### for English 24 | 25 | [README.en.md](./README.en.md) 26 | 27 | ### 将项目克隆到本地 28 | 29 | 用到了`GIT`环境,没有环境的话请自行解决吧。 30 | 31 | ```shell 32 | # 定位到任意目录 33 | $ cd path/to/root 34 | 35 | # 克隆仓库到指定的文件夹 36 | $ git clone git@github.com:TencentIT/weixinPro.git 37 | 38 | # 进入指定的文件夹 39 | $ cd [project-name] 40 | ``` 41 | 42 | ### 安装项目`NPM`依赖 43 | 44 | 用到了`Node`环境,没有环境的话也请自行解决吧。 45 | 46 | ```shell 47 | $ npm install 48 | ``` 49 | 50 | 51 | ## 使用说明 52 | 53 | ### for English 54 | 55 | [README.en.md](./README.en.md) 56 | 57 | ### 开发阶段 58 | 59 | 执行如下命令 60 | 61 | ```shell 62 | # 启动监视 63 | $ npm run watch 64 | ``` 65 | 66 | 通过`微信Web开放者工具`打开项目根目录下`dist`文件夹,预览~ 67 | 68 | - 打开`微信Web开放者工具`,选择`添加项目`,填写或选择相应信息 69 | + AppID:点击右下角`无AppID`(个人用户可以申请) 70 | + 项目名称:随便填写,因为不涉及到部署,所以无所谓 71 | + 项目目录:选择项目根目录下`dist`文件夹 72 | + 点击`添加项目` 73 | - 可以通过任意开发工具完成`src`下的编码,`gulp`会监视项目根目录下`src`文件夹,当文件变化自动编译 74 | - 注意在微信公众平台后台添加域名白名单设置或者关闭开发阶段对请求域名安全的校验 75 | + https://api.map.baidu.com 76 | + https://douban.uieee.com 77 | 78 | #### 创建新页面 79 | 80 | 执行如下命令 81 | 82 | ```shell 83 | # 启动生成器 84 | $ npm run generate 85 | ? Input the page name (index) [page-name] 86 | ? Do you need a configuration file (y/N) N 87 | ? Select a style framework (Use arrow keys) 88 | > less 89 | # 自动生成... 90 | ``` 91 | 92 | 由于微信小程序的每一个页面有特定的结构,新建工作比较繁琐。可以通过此任务减少操作。 93 | 94 | ### 生产阶段 95 | 96 | 执行如下命令 97 | 98 | ```shell 99 | # 启动编译 100 | $ npm run build 101 | ``` 102 | 103 | 生产阶段的代码会经过压缩处理,最终输出到`dist`下。 104 | 105 | 同样可以通过`微信Web开放者工具`测试。 106 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | App({ 2 | 3 | /** 4 | * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) 5 | */ 6 | onLaunch: function () { 7 | console.log("1 程序初始化完成") 8 | }, 9 | 10 | /** 11 | * 当小程序启动,或从后台进入前台显示,会触发 onShow 12 | */ 13 | onShow: function (options) { 14 | console.log("2 程序启动") 15 | console.log(options) 16 | }, 17 | 18 | /** 19 | * 当小程序从前台进入后台,会触发 onHide 20 | */ 21 | onHide: function () { 22 | console.log("3 进入后台") 23 | }, 24 | 25 | /** 26 | * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 27 | */ 28 | onError: function (msg) { 29 | 30 | } 31 | }) 32 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/detail/detail", 4 | "pages/contact/contact", 5 | "pages/logs/logs", 6 | "pages/home/home", 7 | "pages/index/index", 8 | "pages/news/news" 9 | ], 10 | "window": { 11 | "backgroundTextStyle": "light", 12 | "navigationBarBackgroundColor": "#e8e", 13 | "navigationBarTitleText": "学子商城", 14 | "navigationBarTextStyle": "white", 15 | "enablePullDownRefresh": true 16 | }, 17 | "tabBar": { 18 | "position": "bottom", 19 | "color": "#000", 20 | "selectedColor": "#fc0", 21 | "backgroundColor": "#aaa", 22 | "borderStyle": "#f00", 23 | "list": [{ 24 | "pagePath": "pages/logs/logs", 25 | "text": "首页", 26 | "iconPath": "assets/tabs/home.png", 27 | "selectedIconPath": "assets/tabs/home-active.png" 28 | }, 29 | { 30 | "pagePath": "pages/index/index", 31 | "text": "消息", 32 | "iconPath": "assets/tabs/message.png", 33 | "selectedIconPath": "assets/tabs/message-active.png" 34 | }, 35 | { 36 | "pagePath": "pages/logs/logs", 37 | "text": "我的", 38 | "iconPath": "assets/tabs/profile.png", 39 | "selectedIconPath": "assets/tabs/profile-active.png" 40 | }, 41 | { 42 | "pagePath": "pages/index/index", 43 | "text": "联系我们", 44 | "iconPath": "assets/tabs/contact.png", 45 | "selectedIconPath": "assets/tabs/contact-active.png" 46 | } 47 | ] 48 | } 49 | } -------------------------------------------------------------------------------- /app.wxss: -------------------------------------------------------------------------------- 1 | /**app.wxss**/ 2 | 3 | .container { 4 | height: 100%; 5 | display: flex; 6 | flex-direction: column; 7 | align-items: center; 8 | justify-content: space-between; 9 | padding: 200rpx 0; 10 | box-sizing: border-box; 11 | } 12 | 13 | li { 14 | list-style: none; 15 | } 16 | 17 | 18 | /* 右侧边线 */ 19 | 20 | .bdr { 21 | position: relative; 22 | } 23 | 24 | .bdr::after { 25 | content: ""; 26 | display: block; 27 | width: 1rpx; 28 | height: 100%; 29 | position: absolute; 30 | right: 0; 31 | top: 0; 32 | border-right: 1px solid #ccc; 33 | } 34 | 35 | 36 | /* 通用灰色分割块 */ 37 | 38 | .divider { 39 | height: 20px; 40 | background: #f1f1f1; 41 | box-shadow: 0 5rpx 5rpx rgba(0, 0, 0, .1) inset; 42 | } 43 | 44 | .cell-item { 45 | border-bottom: 1rpx solid #ddd; 46 | padding: 20rpx 30rpx; 47 | } -------------------------------------------------------------------------------- /assets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/.DS_Store -------------------------------------------------------------------------------- /assets/icons/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/Thumbs.db -------------------------------------------------------------------------------- /assets/icons/grid-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-01.png -------------------------------------------------------------------------------- /assets/icons/grid-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-02.png -------------------------------------------------------------------------------- /assets/icons/grid-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-03.png -------------------------------------------------------------------------------- /assets/icons/grid-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-04.png -------------------------------------------------------------------------------- /assets/icons/grid-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-05.png -------------------------------------------------------------------------------- /assets/icons/grid-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-06.png -------------------------------------------------------------------------------- /assets/icons/grid-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-07.png -------------------------------------------------------------------------------- /assets/icons/grid-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-08.png -------------------------------------------------------------------------------- /assets/icons/grid-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/icons/grid-09.png -------------------------------------------------------------------------------- /assets/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/Thumbs.db -------------------------------------------------------------------------------- /assets/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/avatar.png -------------------------------------------------------------------------------- /assets/images/banner-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/banner-01.png -------------------------------------------------------------------------------- /assets/images/banner-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/banner-02.png -------------------------------------------------------------------------------- /assets/images/banner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/banner1.png -------------------------------------------------------------------------------- /assets/images/banner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/banner2.png -------------------------------------------------------------------------------- /assets/images/banner3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/banner3.png -------------------------------------------------------------------------------- /assets/images/banner4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/banner4.png -------------------------------------------------------------------------------- /assets/images/link-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/link-01.png -------------------------------------------------------------------------------- /assets/images/link-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/link-02.png -------------------------------------------------------------------------------- /assets/images/p0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/p0.png -------------------------------------------------------------------------------- /assets/images/p3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/p3.png -------------------------------------------------------------------------------- /assets/images/p4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/p4.png -------------------------------------------------------------------------------- /assets/images/p5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/images/p5.png -------------------------------------------------------------------------------- /assets/tabs/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/Thumbs.db -------------------------------------------------------------------------------- /assets/tabs/contact-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/contact-active.png -------------------------------------------------------------------------------- /assets/tabs/contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/contact.png -------------------------------------------------------------------------------- /assets/tabs/home-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/home-active.png -------------------------------------------------------------------------------- /assets/tabs/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/home.png -------------------------------------------------------------------------------- /assets/tabs/message-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/message-active.png -------------------------------------------------------------------------------- /assets/tabs/message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/message.png -------------------------------------------------------------------------------- /assets/tabs/profile-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/profile-active.png -------------------------------------------------------------------------------- /assets/tabs/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/assets/tabs/profile.png -------------------------------------------------------------------------------- /mini_server/app.js: -------------------------------------------------------------------------------- 1 | const express = require("express"); 2 | const mysql = require("mysql"); 3 | const pool = require("./pool"); 4 | var app = express(); 5 | app.use(express.static(__dirname+"/public")); 6 | app.listen(3003); 7 | 8 | app.get("/imgList",(req,res)=>{ 9 | var obj = [ 10 | {id:1,pic:"http://127.0.0.1:3003/images/banner1.png"}, 11 | {id:1,pic:"http://127.0.0.1:3003/images/banner2.png"}, 12 | {id:1,pic:"http://127.0.0.1:3003/images/banner3.png"}, 13 | {id:1,pic:"http://127.0.0.1:3003/images/banner4.png"} 14 | ]; 15 | res.send(obj) 16 | }) 17 | 18 | app.get("/message",(req,res)=>{ 19 | var rows = []; 20 | rows.push({ 21 | title:"手机大促",date:"2018-11-11",img_url:"http://127.0.0.1:3003/images/banner1.png",des:"越努力,越...",}) 22 | rows.push({ 23 | title:"pad大促",date:"2018-11-11", 24 | img_url:"http://127.0.0.1:3003/images/banner2.png",des:"越努力,越...",}) 25 | rows.push( 26 | {title:"洗衣粉大促",date:"2018-11-11", 27 | img_url:"http://127.0.0.1:3003/images/banner3.png",des:"越努力,越...",}) 28 | rows.push( 29 | {title:"洗衣粉大促",date:"2018-11-11", 30 | img_url:"http://127.0.0.1:3003/images/banner4.png",des:"越努力,越...",}) 31 | res.send(rows); 32 | }); -------------------------------------------------------------------------------- /mini_server/pool.js: -------------------------------------------------------------------------------- 1 | //创建mysql连接池 2 | const mysql = require('mysql'); 3 | var pool = mysql.createPool({ 4 | host: '127.0.0.1', 5 | user: 'root', 6 | password: '', 7 | database: 'web1806', 8 | connectionLimit: 10 9 | }); 10 | //把创建好的连接池导出 11 | module.exports = pool; 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /mini_server/public/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/Thumbs.db -------------------------------------------------------------------------------- /mini_server/public/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/Thumbs.db -------------------------------------------------------------------------------- /mini_server/public/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/avatar.png -------------------------------------------------------------------------------- /mini_server/public/images/banner-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner-01.png -------------------------------------------------------------------------------- /mini_server/public/images/banner-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner-02.png -------------------------------------------------------------------------------- /mini_server/public/images/banner1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner1.jpg -------------------------------------------------------------------------------- /mini_server/public/images/banner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner1.png -------------------------------------------------------------------------------- /mini_server/public/images/banner2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner2-1.png -------------------------------------------------------------------------------- /mini_server/public/images/banner2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner2-2.png -------------------------------------------------------------------------------- /mini_server/public/images/banner2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner2-3.png -------------------------------------------------------------------------------- /mini_server/public/images/banner2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner2-4.png -------------------------------------------------------------------------------- /mini_server/public/images/banner2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner2.jpg -------------------------------------------------------------------------------- /mini_server/public/images/banner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner2.png -------------------------------------------------------------------------------- /mini_server/public/images/banner3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner3.jpg -------------------------------------------------------------------------------- /mini_server/public/images/banner3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner3.png -------------------------------------------------------------------------------- /mini_server/public/images/banner4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/banner4.png -------------------------------------------------------------------------------- /mini_server/public/images/img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/img1.jpg -------------------------------------------------------------------------------- /mini_server/public/images/img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/img2.jpg -------------------------------------------------------------------------------- /mini_server/public/images/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/img3.jpg -------------------------------------------------------------------------------- /mini_server/public/images/img4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/img4.jpg -------------------------------------------------------------------------------- /mini_server/public/images/left-image-static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/left-image-static.png -------------------------------------------------------------------------------- /mini_server/public/images/link-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/link-01.png -------------------------------------------------------------------------------- /mini_server/public/images/link-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/link-02.png -------------------------------------------------------------------------------- /mini_server/public/images/menu_bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/menu_bg2.jpg -------------------------------------------------------------------------------- /mini_server/public/images/p0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/p0.png -------------------------------------------------------------------------------- /mini_server/public/images/p3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/p3.png -------------------------------------------------------------------------------- /mini_server/public/images/p4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/p4.png -------------------------------------------------------------------------------- /mini_server/public/images/p5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TencentIT/weixinPro/98b509a7ef70b51c162c11c0031b1578b9a27c18/mini_server/public/images/p5.png -------------------------------------------------------------------------------- /nodejs/app.js: -------------------------------------------------------------------------------- 1 | //1:加载相应模块 2 | const express = require("express"); 3 | const mysql = require("mysql"); 4 | const pool = require("./pool"); 5 | //2:创建express服务器 6 | var app = express(); 7 | app.use(express.static(__dirname+"/public")); 8 | //3:绑定监听端口 9 | app.listen(3000); 10 | //4:处理请求分析 11 | //GET /sales 查询销售数据 12 | //商品编号 商品名称 商品销售额 13 | //?参数 没参数 14 | //?sql 多表查询套路 15 | //(1)将查询表名保存FROM 后面 16 | // FROM yaopin INNER JOIN xiaoshou 17 | //(2)为表名起一个别名 18 | // FROM yaopin y INNER JOIN xiaoshou x 19 | //(3)找二个表之间关系(两个列相等 不相等 大于 小于) 20 | // ON y.id = x.yid 21 | app.get("/sales",(req,res)=>{ 22 | var sql = " SELECT y.id,y.name,x.sales"; 23 | sql +=" FROM yaopin y INNER JOIN xiaoshou x"; 24 | sql +=" ON y.id = x.yid"; 25 | pool.query(sql,(err,result)=>{ 26 | if(err)throw err; 27 | res.send(result); 28 | }); 29 | }); 30 | 31 | app.get("/salesmonth",(req,res)=>{ 32 | var id = parseInt(req.query.id); 33 | var sql = " SELECT y.id,y.name,x.sales,x.month"; 34 | sql+=" FROM yaopin y INNER JOIN xiaoshou x"; 35 | sql+=" ON y.id = x.yid"; 36 | sql+=" WHERE x.yid = ?"; 37 | pool.query(sql,[id],(err,result)=>{ 38 | if(err)throw err; 39 | res.send(result); 40 | }) 41 | }) 42 | 43 | //5:处理请求 44 | // GET /bank 查询库存数据 45 | // 商品编号 商品名称 库存量 46 | 47 | app.get("/salesyear",(req,res)=>{ 48 | var sql = "SELECT year ,sum(sales) as c " 49 | sql+=" FROM xiaoshou" 50 | sql+=" Group BY year" 51 | pool.query(sql,(err,result)=>{ 52 | if(err) throw err; 53 | res.send(result) 54 | }) 55 | }) 56 | 57 | app.get("/img",(req,res)=>{ 58 | var obj = [ 59 | {id:1,pic:"http://localhost:3000/assets/images/banner-01.png"}, 60 | {id:1,pic:"http://localhost:3000/assets/images/banner1.jpg"}, 61 | {id:1,pic:"http://localhost:3000/assets/images/banner-02.png"}, 62 | {id:1,pic:"http://localhost:3000/assets/images/banner2.jpg"} 63 | ]; 64 | res.send(obj) 65 | 66 | }) -------------------------------------------------------------------------------- /nodejs/db.sql: -------------------------------------------------------------------------------- 1 | USE web1806; 2 | #药品yaopin [id,name,price] 3 | #库存kucun [id,yid,bank] 4 | #销售xiaoshou [id,yid,sales] 5 | CREATE TABLE yaopin( 6 | id INT PRIMARY KEY AUTO_INCREMENT, 7 | name VARCHAR(255), 8 | price DECIMAL(10,2) 9 | ); 10 | CREATE TABLE kucun( 11 | id INT PRIMARY KEY AUTO_INCREMENT, 12 | yid INT, 13 | bank INT 14 | ); 15 | CREATE TABLE xiaoshou( 16 | id INT PRIMARY KEY AUTO_INCREMENT, 17 | yid INT, 18 | sales DECIMAL(10,2) 19 | ); 20 | INSERT INTO yaopin VALUES(null,'六味地黄丸',100); 21 | INSERT INTO yaopin VALUES(null,'五味地黄丸',90); 22 | INSERT INTO yaopin VALUES(null,'999感冒灵',10); 23 | INSERT INTO yaopin VALUES(null,'阿莫西林',12); 24 | INSERT INTO kucun VALUES(null,1,900); 25 | INSERT INTO kucun VALUES(null,2,300); 26 | INSERT INTO kucun VALUES(null,3,3000); 27 | INSERT INTO kucun VALUES(null,4,10000); 28 | INSERT INTO xiaoshou VALUES(null,1,3000.00); 29 | INSERT INTO xiaoshou VALUES(null,2,3200.00); 30 | INSERT INTO xiaoshou VALUES(null,3,9000.00); 31 | INSERT INTO xiaoshou VALUES(null,4,1200.00); 32 | 33 | -------------------------------------------------------------------------------- /nodejs/pool.js: -------------------------------------------------------------------------------- 1 | //创建mysql连接池 2 | const mysql = require('mysql'); 3 | var pool = mysql.createPool({ 4 | host: '127.0.0.1', 5 | user: 'root', 6 | password: '', 7 | database: 'web1806', 8 | connectionLimit: 10 9 | }); 10 | //把创建好的连接池导出 11 | module.exports = pool; 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /nodejs/public/08index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |