├── miniprogram ├── pages │ ├── info │ │ ├── info.json │ │ ├── info.wxss │ │ ├── info.wxml │ │ └── info.js │ ├── mine │ │ ├── mine.json │ │ ├── mine.js │ │ ├── mine.wxss │ │ └── mine.wxml │ ├── index │ │ ├── index.json │ │ ├── user-unlogin.png │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── index.js │ ├── release │ │ ├── release.json │ │ ├── release.wxss │ │ ├── release.js │ │ └── release.wxml │ ├── chooseLib │ │ ├── chooseLib.json │ │ ├── chooseLib.wxss │ │ ├── chooseLib.wxml │ │ └── chooseLib.js │ ├── addFunction │ │ ├── addFunction.json │ │ ├── addFunction.wxss │ │ ├── addFunction.wxml │ │ └── addFunction.js │ ├── userConsole │ │ ├── userConsole.json │ │ ├── userConsole.wxss │ │ ├── userConsole.js │ │ └── userConsole.wxml │ ├── databaseGuide │ │ ├── databaseGuide.json │ │ ├── databaseGuide.wxss │ │ ├── databaseGuide.js │ │ └── databaseGuide.wxml │ ├── deployFunctions │ │ ├── deployFunctions.json │ │ ├── deployFunctions.wxss │ │ ├── deployFunctions.wxml │ │ └── deployFunctions.js │ └── storageConsole │ │ ├── storageConsole.json │ │ ├── storageConsole.wxss │ │ ├── storageConsole.js │ │ └── storageConsole.wxml ├── components │ └── pages │ │ ├── detail │ │ ├── detail.json │ │ ├── detail.wxss │ │ ├── detail.wxml │ │ └── detail.js │ │ └── release │ │ ├── release.json │ │ ├── release.wxss │ │ ├── release.js │ │ └── release.wxml ├── images │ ├── logo.png │ ├── wave.gif │ ├── code-db-onAdd.png │ ├── code-func-sum.png │ ├── tabbar │ │ ├── 3.1购物车.png │ │ ├── Camera.png │ │ ├── about.png │ │ ├── basics.png │ │ ├── index.png │ │ ├── info.png │ │ ├── mine.png │ │ ├── plugin.png │ │ ├── Camera2.png │ │ ├── index-on.png │ │ ├── info-on.png │ │ ├── mine-on.png │ │ ├── release.png │ │ ├── 3.1购物车-选中.png │ │ ├── about_cur.png │ │ ├── basics_cur.png │ │ ├── component.png │ │ ├── info-on (2).png │ │ ├── mine-on (2).png │ │ ├── plugin_cur.png │ │ ├── release-on.png │ │ ├── 3.1购物车-选中 (1).png │ │ ├── component_cur.png │ │ ├── index-on (2).png │ │ └── release-on (2).png │ ├── code-db-inc-dec.png │ ├── code-db-onQuery.png │ ├── code-db-onRemove.png │ ├── console-entrance.png │ └── create-collection.png ├── app.wxss ├── app.json ├── app.js └── style │ ├── guide.wxss │ ├── animation.wxss │ └── icon.wxss ├── README.md ├── cloudfunctions └── login │ ├── package.json │ └── index.js └── project.config.json /miniprogram/pages/info/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /miniprogram/pages/mine/mine.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /miniprogram/pages/index/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /miniprogram/pages/info/info.wxss: -------------------------------------------------------------------------------- 1 | /* miniprogram/pages/info/info.wxss */ -------------------------------------------------------------------------------- /miniprogram/pages/release/release.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /miniprogram/components/pages/detail/detail.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /miniprogram/pages/release/release.wxss: -------------------------------------------------------------------------------- 1 | /* miniprogram/pages/release/release.wxss */ -------------------------------------------------------------------------------- /miniprogram/components/pages/release/release.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /miniprogram/components/pages/detail/detail.wxss: -------------------------------------------------------------------------------- 1 | /* miniprogram/components/pages/detail/detail.wxss */ -------------------------------------------------------------------------------- /miniprogram/pages/chooseLib/chooseLib.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "选择基础库", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/addFunction/addFunction.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "云函数指引", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/userConsole/userConsole.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "用户管理指引", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /miniprogram/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/logo.png -------------------------------------------------------------------------------- /miniprogram/images/wave.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/wave.gif -------------------------------------------------------------------------------- /miniprogram/pages/databaseGuide/databaseGuide.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "数据库指引", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/info/info.wxml: -------------------------------------------------------------------------------- 1 | 2 | miniprogram/pages/info/info.wxml 3 | -------------------------------------------------------------------------------- /miniprogram/pages/addFunction/addFunction.wxss: -------------------------------------------------------------------------------- 1 | /* pages/addFunction/addFunction.wxss */ 2 | 3 | @import "../../style/guide.wxss"; -------------------------------------------------------------------------------- /miniprogram/pages/deployFunctions/deployFunctions.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "部署云函数", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/storageConsole/storageConsole.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "文件存储指引", 3 | "usingComponents": {} 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/userConsole/userConsole.wxss: -------------------------------------------------------------------------------- 1 | /* pages/userConsole/userConsole.wxss */ 2 | 3 | @import "../../style/guide.wxss"; 4 | -------------------------------------------------------------------------------- /miniprogram/images/code-db-onAdd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/code-db-onAdd.png -------------------------------------------------------------------------------- /miniprogram/images/code-func-sum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/code-func-sum.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/3.1购物车.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/3.1购物车.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/Camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/Camera.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/about.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/basics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/basics.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/index.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/info.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/mine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/mine.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/plugin.png -------------------------------------------------------------------------------- /miniprogram/images/code-db-inc-dec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/code-db-inc-dec.png -------------------------------------------------------------------------------- /miniprogram/images/code-db-onQuery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/code-db-onQuery.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/Camera2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/Camera2.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/index-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/index-on.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/info-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/info-on.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/mine-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/mine-on.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/release.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/release.png -------------------------------------------------------------------------------- /miniprogram/images/code-db-onRemove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/code-db-onRemove.png -------------------------------------------------------------------------------- /miniprogram/images/console-entrance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/console-entrance.png -------------------------------------------------------------------------------- /miniprogram/images/create-collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/create-collection.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/3.1购物车-选中.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/3.1购物车-选中.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/about_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/about_cur.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/basics_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/basics_cur.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/component.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/info-on (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/info-on (2).png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/mine-on (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/mine-on (2).png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/plugin_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/plugin_cur.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/release-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/release-on.png -------------------------------------------------------------------------------- /miniprogram/pages/index/user-unlogin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/pages/index/user-unlogin.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/3.1购物车-选中 (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/3.1购物车-选中 (1).png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/component_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/component_cur.png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/index-on (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/index-on (2).png -------------------------------------------------------------------------------- /miniprogram/images/tabbar/release-on (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lsj576642525/miniprogram-fleaMarket/HEAD/miniprogram/images/tabbar/release-on (2).png -------------------------------------------------------------------------------- /miniprogram/pages/chooseLib/chooseLib.wxss: -------------------------------------------------------------------------------- 1 | /* pages/chooseLib/chooseLib.wxss */ 2 | 3 | @import "../../style/guide.wxss"; 4 | 5 | .black { 6 | color: black; 7 | } -------------------------------------------------------------------------------- /miniprogram/components/pages/detail/detail.wxml: -------------------------------------------------------------------------------- 1 | 2 | miniprogram/components/pages/detail/detail.wxml 3 | -------------------------------------------------------------------------------- /miniprogram/components/pages/release/release.wxss: -------------------------------------------------------------------------------- 1 | /* miniprogram/components/pages/release/release.wxss */ 2 | form-group .title { 3 | min-width: calc(4em + 15px); 4 | } 5 | -------------------------------------------------------------------------------- /miniprogram/pages/deployFunctions/deployFunctions.wxss: -------------------------------------------------------------------------------- 1 | /* pages/deployFunctions/deployFunctions.wxss */ 2 | 3 | @import "../../style/guide.wxss"; 4 | 5 | .black { 6 | color: black; 7 | } -------------------------------------------------------------------------------- /miniprogram/pages/storageConsole/storageConsole.wxss: -------------------------------------------------------------------------------- 1 | /* pages/storageConsole/storageConsole.wxss */ 2 | 3 | @import "../../style/guide.wxss"; 4 | 5 | .black { 6 | color: black; 7 | } 8 | -------------------------------------------------------------------------------- /miniprogram/app.wxss: -------------------------------------------------------------------------------- 1 | /**app.wxss**/ 2 | @import './style/main.wxss'; 3 | @import './style/icon.wxss'; 4 | 5 | .container { 6 | display: flex; 7 | flex-direction: column; 8 | align-items: center; 9 | box-sizing: border-box; 10 | } 11 | -------------------------------------------------------------------------------- /miniprogram/pages/userConsole/userConsole.js: -------------------------------------------------------------------------------- 1 | // pages/userConsole/userConsole.js 2 | Page({ 3 | 4 | data: { 5 | openid: '' 6 | }, 7 | 8 | onLoad: function (options) { 9 | this.setData({ 10 | openid: getApp().globalData.openid 11 | }) 12 | } 13 | }) -------------------------------------------------------------------------------- /miniprogram/pages/databaseGuide/databaseGuide.wxss: -------------------------------------------------------------------------------- 1 | /* pages/databaseGuide/databaseGuide.wxss */ 2 | 3 | @import "../../style/guide.wxss"; 4 | 5 | .guide .counter { 6 | margin-top: 50rpx; 7 | display: flex; 8 | flex-direction: row; 9 | align-content: space-between; 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 云开发 quickstart 2 | 3 | 这是云开发的快速启动指引,其中演示了如何上手使用云开发的三大基础能力: 4 | 5 | - 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 文档型数据库 6 | - 文件存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理 7 | - 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写业务逻辑代码 8 | 9 | ## 参考文档 10 | 11 | - [云开发文档](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html) 12 | 13 | -------------------------------------------------------------------------------- /cloudfunctions/login/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "login", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "wx-server-sdk": "latest" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /miniprogram/pages/chooseLib/chooseLib.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 初始化失败 7 | 8 | 9 | 请使用 2.2.3 或以上的基础库以使用云能力 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /miniprogram/pages/storageConsole/storageConsole.js: -------------------------------------------------------------------------------- 1 | // pages/storageConsole/storageConsole.js 2 | 3 | const app = getApp() 4 | 5 | Page({ 6 | 7 | data: { 8 | fileID: '', 9 | cloudPath: '', 10 | imagePath: '', 11 | }, 12 | 13 | onLoad: function (options) { 14 | 15 | const { 16 | fileID, 17 | cloudPath, 18 | imagePath, 19 | } = app.globalData 20 | 21 | this.setData({ 22 | fileID, 23 | cloudPath, 24 | imagePath, 25 | }) 26 | 27 | console.group('文件存储文档') 28 | console.log('https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/storage.html') 29 | console.groupEnd() 30 | }, 31 | 32 | }) -------------------------------------------------------------------------------- /miniprogram/pages/deployFunctions/deployFunctions.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 调用失败 7 | 8 | 9 | 请检查 login 云函数是否已部署 10 | 11 | 12 | 13 | 14 | 部署 login 云函数 15 | 1. 确保已通过工具栏云开发入口开通云开发 16 | 2. 在 cloudfunctions/login 目录上右键上传并部署 17 | 3. 回到首页,重新点击获取 openid 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /cloudfunctions/login/index.js: -------------------------------------------------------------------------------- 1 | // 云函数模板 2 | // 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署” 3 | 4 | const cloud = require('wx-server-sdk') 5 | 6 | // 初始化 cloud 7 | cloud.init() 8 | 9 | /** 10 | * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端 11 | * 12 | * event 参数包含小程序端调用传入的 data 13 | * 14 | */ 15 | exports.main = (event, context) => { 16 | console.log(event) 17 | console.log(context) 18 | 19 | // 可执行其他自定义逻辑 20 | // console.log 的内容可以在云开发云函数调用日志查看 21 | 22 | // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件) 23 | const wxContext = cloud.getWXContext() 24 | 25 | return { 26 | event, 27 | openid: wxContext.OPENID, 28 | appid: wxContext.APPID, 29 | unionid: wxContext.UNIONID, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /miniprogram/pages/userConsole/userConsole.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 用户 openid 获取成功 7 | 8 | 9 | {{openid}} 10 | 11 | 12 | 13 | 14 | 15 | 云开发管理用户 16 | 1. 打开云开发控制台 17 | 18 | 2. 切换到 "用户管理" 标签页 19 | 3. 查看访问小程序的用户列表 20 | 21 | 22 | -------------------------------------------------------------------------------- /miniprogram/pages/chooseLib/chooseLib.js: -------------------------------------------------------------------------------- 1 | // pages/chooseLib/chooseLib.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | 11 | /** 12 | * 生命周期函数--监听页面加载 13 | */ 14 | onLoad: function (options) { 15 | 16 | }, 17 | 18 | /** 19 | * 生命周期函数--监听页面初次渲染完成 20 | */ 21 | onReady: function () { 22 | 23 | }, 24 | 25 | /** 26 | * 生命周期函数--监听页面显示 27 | */ 28 | onShow: function () { 29 | 30 | }, 31 | 32 | /** 33 | * 生命周期函数--监听页面隐藏 34 | */ 35 | onHide: function () { 36 | 37 | }, 38 | 39 | /** 40 | * 生命周期函数--监听页面卸载 41 | */ 42 | onUnload: function () { 43 | 44 | }, 45 | 46 | /** 47 | * 页面相关事件处理函数--监听用户下拉动作 48 | */ 49 | onPullDownRefresh: function () { 50 | 51 | }, 52 | 53 | /** 54 | * 页面上拉触底事件的处理函数 55 | */ 56 | onReachBottom: function () { 57 | 58 | }, 59 | 60 | /** 61 | * 用户点击右上角分享 62 | */ 63 | onShareAppMessage: function () { 64 | 65 | } 66 | }) -------------------------------------------------------------------------------- /miniprogram/pages/deployFunctions/deployFunctions.js: -------------------------------------------------------------------------------- 1 | // pages/deployFunctions/deployFunctions.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | 11 | /** 12 | * 生命周期函数--监听页面加载 13 | */ 14 | onLoad: function (options) { 15 | 16 | }, 17 | 18 | /** 19 | * 生命周期函数--监听页面初次渲染完成 20 | */ 21 | onReady: function () { 22 | 23 | }, 24 | 25 | /** 26 | * 生命周期函数--监听页面显示 27 | */ 28 | onShow: function () { 29 | 30 | }, 31 | 32 | /** 33 | * 生命周期函数--监听页面隐藏 34 | */ 35 | onHide: function () { 36 | 37 | }, 38 | 39 | /** 40 | * 生命周期函数--监听页面卸载 41 | */ 42 | onUnload: function () { 43 | 44 | }, 45 | 46 | /** 47 | * 页面相关事件处理函数--监听用户下拉动作 48 | */ 49 | onPullDownRefresh: function () { 50 | 51 | }, 52 | 53 | /** 54 | * 页面上拉触底事件的处理函数 55 | */ 56 | onReachBottom: function () { 57 | 58 | }, 59 | 60 | /** 61 | * 用户点击右上角分享 62 | */ 63 | onShareAppMessage: function () { 64 | 65 | } 66 | }) -------------------------------------------------------------------------------- /miniprogram/pages/mine/mine.js: -------------------------------------------------------------------------------- 1 | // miniprogram/pages/mine/mine.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | 11 | /** 12 | * 生命周期函数--监听页面加载 13 | */ 14 | onLoad: function (options) { 15 | wx.setNavigationBarTitle({ 16 | title: '我' 17 | }); 18 | }, 19 | 20 | /** 21 | * 生命周期函数--监听页面初次渲染完成 22 | */ 23 | onReady: function () { 24 | 25 | }, 26 | 27 | /** 28 | * 生命周期函数--监听页面显示 29 | */ 30 | onShow: function () { 31 | 32 | }, 33 | 34 | /** 35 | * 生命周期函数--监听页面隐藏 36 | */ 37 | onHide: function () { 38 | 39 | }, 40 | 41 | /** 42 | * 生命周期函数--监听页面卸载 43 | */ 44 | onUnload: function () { 45 | 46 | }, 47 | 48 | /** 49 | * 页面相关事件处理函数--监听用户下拉动作 50 | */ 51 | onPullDownRefresh: function () { 52 | 53 | }, 54 | 55 | /** 56 | * 页面上拉触底事件的处理函数 57 | */ 58 | onReachBottom: function () { 59 | 60 | }, 61 | 62 | /** 63 | * 用户点击右上角分享 64 | */ 65 | onShareAppMessage: function () { 66 | 67 | } 68 | }) -------------------------------------------------------------------------------- /miniprogram/pages/mine/mine.wxss: -------------------------------------------------------------------------------- 1 | /* miniprogram/pages/mine/mine.wxss */ 2 | .UCenter-bg { 3 | background-image: url(https://image.weilanwl.com/color2.0/index.jpg); 4 | background-size: cover; 5 | height: 550rpx; 6 | display: flex; 7 | justify-content: center; 8 | padding-top: 40rpx; 9 | overflow: hidden; 10 | position: relative; 11 | flex-direction: column; 12 | align-items: center; 13 | color: #fff; 14 | font-weight: 300; 15 | text-shadow: 0 0 3px rgba(0, 0, 0, 0.3); 16 | } 17 | 18 | .UCenter-bg text { 19 | opacity: 0.8; 20 | } 21 | 22 | .UCenter-bg image { 23 | width: 200rpx; 24 | height: 200rpx; 25 | } 26 | 27 | .UCenter-bg .gif-wave { 28 | position: absolute; 29 | width: 100%; 30 | bottom: 0; 31 | left: 0; 32 | z-index: 99; 33 | mix-blend-mode: screen; 34 | height: 100rpx; 35 | } 36 | 37 | map, 38 | .mapBox { 39 | left: 0; 40 | z-index: 99; 41 | mix-blend-mode: screen; 42 | height: 100rpx; 43 | } 44 | 45 | map, 46 | .mapBox { 47 | width: 750rpx; 48 | height: 300rpx; 49 | } -------------------------------------------------------------------------------- /miniprogram/components/pages/detail/detail.js: -------------------------------------------------------------------------------- 1 | // miniprogram/components/pages/detail/detail.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | 11 | /** 12 | * 生命周期函数--监听页面加载 13 | */ 14 | onLoad: function (options) { 15 | let value = JSON.parse(options.a) 16 | console.log(value) 17 | }, 18 | 19 | /** 20 | * 生命周期函数--监听页面初次渲染完成 21 | */ 22 | onReady: function () { 23 | 24 | }, 25 | 26 | /** 27 | * 生命周期函数--监听页面显示 28 | */ 29 | onShow: function () { 30 | 31 | }, 32 | 33 | /** 34 | * 生命周期函数--监听页面隐藏 35 | */ 36 | onHide: function () { 37 | 38 | }, 39 | 40 | /** 41 | * 生命周期函数--监听页面卸载 42 | */ 43 | onUnload: function () { 44 | 45 | }, 46 | 47 | /** 48 | * 页面相关事件处理函数--监听用户下拉动作 49 | */ 50 | onPullDownRefresh: function () { 51 | 52 | }, 53 | 54 | /** 55 | * 页面上拉触底事件的处理函数 56 | */ 57 | onReachBottom: function () { 58 | 59 | }, 60 | 61 | /** 62 | * 用户点击右上角分享 63 | */ 64 | onShareAppMessage: function () { 65 | 66 | } 67 | }) -------------------------------------------------------------------------------- /project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "miniprogram/", 3 | "cloudfunctionRoot": "cloudfunctions/", 4 | "setting": { 5 | "urlCheck": true, 6 | "es6": true, 7 | "postcss": true, 8 | "minified": true, 9 | "newFeature": true 10 | }, 11 | "appid": "wx28ac701ad3ef1fea", 12 | "projectname": "%E6%AF%95%E8%AE%BE%E9%A1%B9%E7%9B%AE", 13 | "libVersion": "2.6.2", 14 | "condition": { 15 | "search": { 16 | "current": -1, 17 | "list": [] 18 | }, 19 | "conversation": { 20 | "current": -1, 21 | "list": [] 22 | }, 23 | "plugin": { 24 | "current": -1, 25 | "list": [] 26 | }, 27 | "game": { 28 | "list": [] 29 | }, 30 | "miniprogram": { 31 | "current": 1, 32 | "list": [ 33 | { 34 | "id": -1, 35 | "name": "db guide", 36 | "pathName": "pages/databaseGuide/databaseGuide", 37 | "query": "" 38 | }, 39 | { 40 | "id": 1, 41 | "name": "发布页", 42 | "pathName": "components/pages/release/release", 43 | "query": "name=2", 44 | "scene": null 45 | } 46 | ] 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /miniprogram/pages/storageConsole/storageConsole.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 上传成功 7 | 8 | 9 | 文件 ID:{{fileID}} 10 | 11 | 12 | 云文件路径:{{cloudPath}} 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 云开发控制台中管理文件 22 | 1. 打开云开发控制台 23 | 24 | 2. 切换到文件管理标签页 25 | 3. 可查看文件列表、管理权限 26 | 4. 详细的教程和 API 文件,可点击调试器中打印的链接查看 27 | 28 | 29 | -------------------------------------------------------------------------------- /miniprogram/pages/addFunction/addFunction.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 测试云函数 7 | 8 | 9 | 期望输出:{"sum":3} 10 | 11 | 12 | 调用结果:{{result}} 13 | 14 | 15 | 16 | 17 | 新增云函数 18 | 1. 在云函数根目录 cloudfunctions 上右键选择新建云函数,命名为 sum 19 | 2. 在创建的 cloudfunctions/sum/index.js 文件中添加如下代码 20 | 21 | 22 | 3. 在 cloudfunctions/sum 目录上右键上传并部署 23 | 4. 点击测试云函数测试 24 | 5. 打开云开发云函数管理页,选择 sum 云函数 25 | 6. 查看 sum 的调用日志 26 | 进阶:可在云函数中使用 wx-server-sdk 操作数据库,文件存储和调用其他云函数,详见文档 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /miniprogram/pages/addFunction/addFunction.js: -------------------------------------------------------------------------------- 1 | // pages/addFunction/addFunction.js 2 | 3 | const code = `// 云函数入口函数 4 | exports.main = (event, context) => { 5 | console.log(event) 6 | console.log(context) 7 | return { 8 | sum: event.a + event.b 9 | } 10 | }` 11 | 12 | Page({ 13 | 14 | data: { 15 | result: '', 16 | canIUseClipboard: wx.canIUse('setClipboardData'), 17 | }, 18 | 19 | onLoad: function (options) { 20 | 21 | }, 22 | 23 | copyCode: function() { 24 | wx.setClipboardData({ 25 | data: code, 26 | success: function () { 27 | wx.showToast({ 28 | title: '复制成功', 29 | }) 30 | } 31 | }) 32 | }, 33 | 34 | testFunction() { 35 | wx.cloud.callFunction({ 36 | name: 'sum', 37 | data: { 38 | a: 1, 39 | b: 2 40 | }, 41 | success: res => { 42 | wx.showToast({ 43 | title: '调用成功', 44 | }) 45 | this.setData({ 46 | result: JSON.stringify(res.result) 47 | }) 48 | }, 49 | fail: err => { 50 | wx.showToast({ 51 | icon: 'none', 52 | title: '调用失败', 53 | }) 54 | console.error('[云函数] [sum] 调用失败:', err) 55 | } 56 | }) 57 | }, 58 | 59 | }) 60 | 61 | -------------------------------------------------------------------------------- /miniprogram/pages/index/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 13 | 14 | 15 | 16 | 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 | -------------------------------------------------------------------------------- /miniprogram/pages/info/info.js: -------------------------------------------------------------------------------- 1 | // miniprogram/pages/info/info.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | 11 | /** 12 | * 生命周期函数--监听页面加载 13 | */ 14 | onLoad: function (options) { 15 | let db = wx.cloud.database() 16 | console.log(db) 17 | db.collection('info').where({ 18 | person: { 19 | name: '小秘书' 20 | } 21 | }).get({ 22 | success(res) { 23 | // 输出 [{ "title": "The Catcher in the Rye", ... }] 24 | console.log(res.data[0]) 25 | } 26 | }) 27 | wx.setNavigationBarTitle({ 28 | title: '消息' 29 | }); 30 | }, 31 | 32 | /** 33 | * 生命周期函数--监听页面初次渲染完成 34 | */ 35 | onReady: function () { 36 | 37 | }, 38 | 39 | /** 40 | * 生命周期函数--监听页面显示 41 | */ 42 | onShow: function () { 43 | 44 | }, 45 | 46 | /** 47 | * 生命周期函数--监听页面隐藏 48 | */ 49 | onHide: function () { 50 | 51 | }, 52 | 53 | /** 54 | * 生命周期函数--监听页面卸载 55 | */ 56 | onUnload: function () { 57 | 58 | }, 59 | 60 | /** 61 | * 页面相关事件处理函数--监听用户下拉动作 62 | */ 63 | onPullDownRefresh: function () { 64 | 65 | }, 66 | 67 | /** 68 | * 页面上拉触底事件的处理函数 69 | */ 70 | onReachBottom: function () { 71 | 72 | }, 73 | 74 | /** 75 | * 用户点击右上角分享 76 | */ 77 | onShareAppMessage: function () { 78 | 79 | } 80 | }) -------------------------------------------------------------------------------- /miniprogram/pages/release/release.js: -------------------------------------------------------------------------------- 1 | // miniprogram/pages/release/release.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | 11 | /** 12 | * 生命周期函数--监听页面加载 13 | */ 14 | onLoad: function (options) { 15 | wx.setNavigationBarTitle({ 16 | title: '发布' 17 | }); 18 | }, 19 | 20 | /** 21 | * 生命周期函数--监听页面初次渲染完成 22 | */ 23 | onReady: function () { 24 | 25 | }, 26 | 27 | /** 28 | * 生命周期函数--监听页面显示 29 | */ 30 | onShow: function () { 31 | 32 | }, 33 | 34 | /** 35 | * 生命周期函数--监听页面隐藏 36 | */ 37 | onHide: function () { 38 | 39 | }, 40 | 41 | /** 42 | * 生命周期函数--监听页面卸载 43 | */ 44 | onUnload: function () { 45 | 46 | }, 47 | 48 | /** 49 | * 页面相关事件处理函数--监听用户下拉动作 50 | */ 51 | onPullDownRefresh: function () { 52 | 53 | }, 54 | 55 | /** 56 | * 页面上拉触底事件的处理函数 57 | */ 58 | onReachBottom: function () { 59 | 60 | }, 61 | 62 | /** 63 | * 用户点击右上角分享 64 | */ 65 | onShareAppMessage: function () { 66 | 67 | }, 68 | releaseBooksOnTap() { 69 | wx.navigateTo({ 70 | url: '/components/pages/release/release?release=books' 71 | }); 72 | }, 73 | releaseGoodsOnTap() { 74 | wx.navigateTo({ 75 | url: '/components/pages/release/release?release=goods' 76 | }); 77 | }, 78 | releaseSkillsOnTap() { 79 | wx.navigateTo({ 80 | url: '/components/pages/release/release?release=skills' 81 | }); 82 | }, 83 | releasePhoneOnTap() { 84 | wx.navigateTo({ 85 | url: '/components/pages/release/release?release=phone' 86 | }); 87 | }, 88 | }) -------------------------------------------------------------------------------- /miniprogram/pages/release/release.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 闲置书本 7 | 专门为闲置书本定制的交易方式! 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 闲置物品 16 | 手机数码、代步工具、服装外套戳这里 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 技能服务 25 | 考试技巧、面试经历、手工烘焙、陪聊散心戳这里 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 手机回收 34 | 把手机高价直接卖给回收宝、立刻换钱 35 | 36 | 37 | -------------------------------------------------------------------------------- /miniprogram/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/index/index", 4 | "pages/userConsole/userConsole", 5 | "pages/storageConsole/storageConsole", 6 | "pages/databaseGuide/databaseGuide", 7 | "pages/addFunction/addFunction", 8 | "pages/deployFunctions/deployFunctions", 9 | "pages/chooseLib/chooseLib", 10 | "pages/mine/mine", 11 | "pages/info/info", 12 | "pages/release/release", 13 | "components/pages/release/release", 14 | "components/pages/detail/detail" 15 | ], 16 | "window": { 17 | "backgroundColor": "#F6F6F6", 18 | "backgroundTextStyle": "light", 19 | "navigationBarBackgroundColor": "#F6F6F6", 20 | "navigationBarTitleText": "工大蚤市", 21 | "navigationBarTextStyle": "black" 22 | }, 23 | "usingComponents": {}, 24 | "tabBar": { 25 | "color": "#aaa", 26 | "selectedColor": "#1296db", 27 | "borderStyle": "white", 28 | "backgroundColor": "#ffffff", 29 | "list": [ 30 | { 31 | "pagePath": "pages/index/index", 32 | "iconPath": "/images/tabbar/index.png", 33 | "selectedIconPath": "/images/tabbar/index-on (2).png", 34 | "text": "首页" 35 | }, 36 | { 37 | "pagePath": "pages/release/release", 38 | "iconPath": "/images/tabbar/Camera.png", 39 | "selectedIconPath": "/images/tabbar/Camera2.png", 40 | "text": "发布" 41 | }, 42 | { 43 | "pagePath": "pages/info/info", 44 | "iconPath": "/images/tabbar/info.png", 45 | "selectedIconPath": "/images/tabbar/info-on (2).png", 46 | "text": "消息" 47 | }, 48 | { 49 | "pagePath": "pages/mine/mine", 50 | "iconPath": "/images/tabbar/mine.png", 51 | "selectedIconPath": "/images/tabbar/mine-on (2).png", 52 | "text": "我的" 53 | } 54 | ] 55 | } 56 | } -------------------------------------------------------------------------------- /miniprogram/app.js: -------------------------------------------------------------------------------- 1 | //app.js 2 | App({ 3 | onLaunch: function () { 4 | 5 | if (!wx.cloud) { 6 | console.error('请使用 2.2.3 或以上的基础库以使用云能力') 7 | } else { 8 | wx.cloud.init({ 9 | traceUser: true, 10 | }) 11 | } 12 | 13 | this.globalData = {} 14 | wx.getSystemInfo({ 15 | success: e => { 16 | this.globalData.StatusBar = e.statusBarHeight; 17 | let custom = wx.getMenuButtonBoundingClientRect(); 18 | this.globalData.Custom = custom; 19 | this.globalData.CustomBar = custom.bottom + custom.top - e.statusBarHeight; 20 | } 21 | }) 22 | }, 23 | globalData: { 24 | ColorList: [{ 25 | title: '嫣红', 26 | name: 'red', 27 | color: '#e54d42' 28 | }, 29 | { 30 | title: '桔橙', 31 | name: 'orange', 32 | color: '#f37b1d' 33 | }, 34 | { 35 | title: '明黄', 36 | name: 'yellow', 37 | color: '#fbbd08' 38 | }, 39 | { 40 | title: '橄榄', 41 | name: 'olive', 42 | color: '#8dc63f' 43 | }, 44 | { 45 | title: '森绿', 46 | name: 'green', 47 | color: '#39b54a' 48 | }, 49 | { 50 | title: '天青', 51 | name: 'cyan', 52 | color: '#1cbbb4' 53 | }, 54 | { 55 | title: '海蓝', 56 | name: 'blue', 57 | color: '#0081ff' 58 | }, 59 | { 60 | title: '姹紫', 61 | name: 'purple', 62 | color: '#6739b6' 63 | }, 64 | { 65 | title: '木槿', 66 | name: 'mauve', 67 | color: '#9c26b0' 68 | }, 69 | { 70 | title: '桃粉', 71 | name: 'pink', 72 | color: '#e03997' 73 | }, 74 | { 75 | title: '棕褐', 76 | name: 'brown', 77 | color: '#a5673f' 78 | }, 79 | { 80 | title: '玄灰', 81 | name: 'grey', 82 | color: '#8799a3' 83 | }, 84 | { 85 | title: '草灰', 86 | name: 'gray', 87 | color: '#aaaaaa' 88 | }, 89 | { 90 | title: '墨黑', 91 | name: 'black', 92 | color: '#333333' 93 | }, 94 | { 95 | title: '雅白', 96 | name: 'white', 97 | color: '#ffffff' 98 | }, 99 | ] 100 | } 101 | }) -------------------------------------------------------------------------------- /miniprogram/pages/mine/mine.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Chris 6 | v2.0 7 | 8 | 9 | By:Chris 10 | 11 | 12 | 13 | 14 | 15 | {{visitTotal}} 16 | 17 | 18 | View 19 | 20 | 21 | 22 | {{starCount}} 23 | 24 | 25 | Star 26 | 27 | 28 | 29 | {{forksCount}} 30 | 31 | 32 | Fork 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | GitHub 41 | 42 | 43 | 44 | 45 | 46 | 关于ColorUI组件库 47 | 48 | 49 | 50 | 51 | 52 | 日志 53 | 54 | 55 | 56 | 57 | 58 | 赞赏支持 59 | 60 | 61 | 62 | 66 | 67 | 68 | 69 | 70 | Bug测试 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /miniprogram/style/guide.wxss: -------------------------------------------------------------------------------- 1 | page { 2 | background: #f6f6f6; 3 | display: flex; 4 | flex-direction: column; 5 | justify-content: flex-start; 6 | } 7 | 8 | .list { 9 | margin-top: 40rpx; 10 | height: auto; 11 | width: 100%; 12 | background: #fff; 13 | padding: 0 40rpx; 14 | border: 1px solid rgba(0, 0, 0, 0.1); 15 | border-left: none; 16 | border-right: none; 17 | transition: all 300ms ease; 18 | display: flex; 19 | flex-direction: column; 20 | align-items: flex-start; 21 | box-sizing: border-box; 22 | } 23 | 24 | .list-item { 25 | width: 100%; 26 | padding: 0; 27 | line-height: 104rpx; 28 | font-size: 34rpx; 29 | color: #007aff; 30 | border-top: 1px solid rgba(0, 0, 0, 0.1); 31 | display: flex; 32 | flex-direction: row; 33 | align-content: center; 34 | justify-content: space-between; 35 | box-sizing: border-box; 36 | } 37 | 38 | .list-item:first-child { 39 | border-top: none; 40 | } 41 | 42 | .list-item image { 43 | max-width: 100%; 44 | max-height: 20vh; 45 | margin: 20rpx 0; 46 | } 47 | 48 | .request-text { 49 | color: #222; 50 | padding: 20rpx 0; 51 | font-size: 24rpx; 52 | line-height: 36rpx; 53 | word-break: break-all; 54 | } 55 | 56 | .guide { 57 | width: 100%; 58 | padding: 40rpx; 59 | box-sizing: border-box; 60 | display: flex; 61 | flex-direction: column; 62 | } 63 | 64 | .guide .headline { 65 | font-size: 34rpx; 66 | font-weight: bold; 67 | color: #555; 68 | line-height: 40rpx; 69 | } 70 | 71 | .guide .p { 72 | margin-top: 20rpx; 73 | font-size: 28rpx; 74 | line-height: 36rpx; 75 | color: #666; 76 | } 77 | 78 | .guide .code { 79 | margin-top: 20rpx; 80 | font-size: 28rpx; 81 | line-height: 36rpx; 82 | color: #666; 83 | background: white; 84 | white-space: pre; 85 | } 86 | 87 | .guide .code-dark { 88 | margin-top: 20rpx; 89 | background: rgba(0, 0, 0, 0.8); 90 | padding: 20rpx; 91 | font-size: 28rpx; 92 | line-height: 36rpx; 93 | border-radius: 6rpx; 94 | color: #fff; 95 | white-space: pre 96 | } 97 | 98 | .guide image { 99 | max-width: 100%; 100 | } 101 | 102 | .guide .image1 { 103 | margin-top: 20rpx; 104 | max-width: 100%; 105 | width: 356px; 106 | height: 47px; 107 | } 108 | 109 | .guide .image2 { 110 | margin-top: 20rpx; 111 | width: 264px; 112 | height: 100px; 113 | } 114 | 115 | .guide .flat-image { 116 | height: 100px; 117 | } 118 | 119 | .guide .code-image { 120 | max-width: 100%; 121 | } 122 | 123 | .guide .copyBtn { 124 | width: 180rpx; 125 | font-size: 20rpx; 126 | margin-top: 16rpx; 127 | margin-left: 0; 128 | } 129 | 130 | .guide .nav { 131 | margin-top: 50rpx; 132 | display: flex; 133 | flex-direction: row; 134 | align-content: space-between; 135 | } 136 | 137 | .guide .nav .prev { 138 | margin-left: unset; 139 | } 140 | 141 | .guide .nav .next { 142 | margin-right: unset; 143 | } 144 | 145 | -------------------------------------------------------------------------------- /miniprogram/pages/index/index.wxss: -------------------------------------------------------------------------------- 1 | /**index.wxss**/ 2 | 3 | page { 4 | background: #f6f6f6; 5 | display: flex; 6 | flex-direction: column; 7 | justify-content: flex-start; 8 | } 9 | 10 | .userinfo, .uploader, .tunnel { 11 | margin-top: 40rpx; 12 | height: 140rpx; 13 | width: 100%; 14 | background: #fff; 15 | border: 1px solid rgba(0, 0, 0, 0.1); 16 | border-left: none; 17 | border-right: none; 18 | display: flex; 19 | flex-direction: row; 20 | align-items: center; 21 | transition: all 300ms ease; 22 | } 23 | 24 | .userinfo-avatar { 25 | width: 100rpx; 26 | height: 100rpx; 27 | margin: 20rpx; 28 | border-radius: 50%; 29 | background-size: cover; 30 | background-color: white; 31 | } 32 | 33 | .userinfo-avatar:after { 34 | border: none; 35 | } 36 | 37 | .userinfo-nickname { 38 | font-size: 32rpx; 39 | color: #007aff; 40 | background-color: white; 41 | background-size: cover; 42 | } 43 | 44 | .userinfo-nickname::after { 45 | border: none; 46 | } 47 | 48 | .uploader, .tunnel { 49 | height: auto; 50 | padding: 0 0 0 40rpx; 51 | flex-direction: column; 52 | align-items: flex-start; 53 | box-sizing: border-box; 54 | } 55 | 56 | .uploader-text, .tunnel-text { 57 | width: 100%; 58 | line-height: 52px; 59 | font-size: 34rpx; 60 | color: #007aff; 61 | } 62 | 63 | .uploader-container { 64 | width: 100%; 65 | height: 400rpx; 66 | padding: 20rpx 20rpx 20rpx 0; 67 | display: flex; 68 | align-content: center; 69 | justify-content: center; 70 | box-sizing: border-box; 71 | border-top: 1px solid rgba(0, 0, 0, 0.1); 72 | } 73 | 74 | .uploader-image { 75 | width: 100%; 76 | height: 360rpx; 77 | } 78 | 79 | .tunnel { 80 | padding: 0 0 0 40rpx; 81 | } 82 | 83 | .tunnel-text { 84 | position: relative; 85 | color: #222; 86 | display: flex; 87 | flex-direction: row; 88 | align-content: center; 89 | justify-content: space-between; 90 | box-sizing: border-box; 91 | border-top: 1px solid rgba(0, 0, 0, 0.1); 92 | } 93 | 94 | .tunnel-text:first-child { 95 | border-top: none; 96 | } 97 | 98 | .tunnel-switch { 99 | position: absolute; 100 | right: 20rpx; 101 | top: -2rpx; 102 | } 103 | 104 | .disable { 105 | color: #888; 106 | } 107 | 108 | .service { 109 | position: fixed; 110 | right: 40rpx; 111 | bottom: 40rpx; 112 | width: 140rpx; 113 | height: 140rpx; 114 | border-radius: 50%; 115 | background: linear-gradient(#007aff, #0063ce); 116 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); 117 | display: flex; 118 | align-content: center; 119 | justify-content: center; 120 | transition: all 300ms ease; 121 | } 122 | 123 | .service-button { 124 | position: absolute; 125 | top: 40rpx; 126 | } 127 | 128 | .service:active { 129 | box-shadow: none; 130 | } 131 | 132 | .request-text { 133 | padding: 20rpx 0; 134 | font-size: 24rpx; 135 | line-height: 36rpx; 136 | word-break: break-all; 137 | } 138 | -------------------------------------------------------------------------------- /miniprogram/pages/index/index.js: -------------------------------------------------------------------------------- 1 | //index.js 2 | const app = getApp() 3 | 4 | Page({ 5 | data: { 6 | avatarUrl: './user-unlogin.png', 7 | userInfo: {}, 8 | logged: false, 9 | takeSession: false, 10 | requestResult: '' 11 | }, 12 | 13 | onLoad: function(options) { 14 | console.log(options) 15 | if (!wx.cloud) { 16 | wx.redirectTo({ 17 | url: '../chooseLib/chooseLib', 18 | }) 19 | return 20 | } 21 | 22 | // 获取用户信息 23 | wx.getSetting({ 24 | success: res => { 25 | if (res.authSetting['scope.userInfo']) { 26 | // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 27 | wx.getUserInfo({ 28 | success: res => { 29 | this.setData({ 30 | avatarUrl: res.userInfo.avatarUrl, 31 | userInfo: res.userInfo 32 | }) 33 | } 34 | }) 35 | } 36 | } 37 | }) 38 | }, 39 | 40 | onGetUserInfo: function(e) { 41 | if (!this.logged && e.detail.userInfo) { 42 | this.setData({ 43 | logged: true, 44 | avatarUrl: e.detail.userInfo.avatarUrl, 45 | userInfo: e.detail.userInfo 46 | }) 47 | } 48 | }, 49 | 50 | onGetOpenid: function() { 51 | // 调用云函数 52 | wx.cloud.callFunction({ 53 | name: 'login', 54 | data: {}, 55 | success: res => { 56 | console.log('[云函数] [login] user openid: ', res.result.openid) 57 | app.globalData.openid = res.result.openid 58 | wx.navigateTo({ 59 | url: '../userConsole/userConsole', 60 | }) 61 | }, 62 | fail: err => { 63 | console.error('[云函数] [login] 调用失败', err) 64 | wx.navigateTo({ 65 | url: '../deployFunctions/deployFunctions', 66 | }) 67 | } 68 | }) 69 | }, 70 | 71 | // 上传图片 72 | doUpload: function () { 73 | // 选择图片 74 | wx.chooseImage({ 75 | count: 1, 76 | sizeType: ['compressed'], 77 | sourceType: ['album', 'camera'], 78 | success: function (res) { 79 | 80 | wx.showLoading({ 81 | title: '上传中', 82 | }) 83 | 84 | const filePath = res.tempFilePaths[0] 85 | 86 | // 上传图片 87 | const cloudPath = 'my-image' + filePath.match(/\.[^.]+?$/)[0] 88 | wx.cloud.uploadFile({ 89 | cloudPath, 90 | filePath, 91 | success: res => { 92 | console.log('[上传文件] 成功:', res) 93 | 94 | app.globalData.fileID = res.fileID 95 | app.globalData.cloudPath = cloudPath 96 | app.globalData.imagePath = filePath 97 | 98 | wx.navigateTo({ 99 | url: '../storageConsole/storageConsole' 100 | }) 101 | }, 102 | fail: e => { 103 | console.error('[上传文件] 失败:', e) 104 | wx.showToast({ 105 | icon: 'none', 106 | title: '上传失败', 107 | }) 108 | }, 109 | complete: () => { 110 | wx.hideLoading() 111 | } 112 | }) 113 | 114 | }, 115 | fail: e => { 116 | console.error(e) 117 | } 118 | }) 119 | }, 120 | 121 | }) 122 | -------------------------------------------------------------------------------- /miniprogram/components/pages/release/release.js: -------------------------------------------------------------------------------- 1 | // miniprogram/components/pages/release/release.js 2 | const app = getApp(); 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | name: '1', 10 | StatusBar: app.globalData.StatusBar, 11 | CustomBar: app.globalData.CustomBar, 12 | faculty: [ 13 | '课外书', 14 | '人文与法学院', 15 | '国际教育学院', 16 | '外国语学院', 17 | '应用技术和继续教育学院', 18 | '理学院', 19 | '管理学院', 20 | '纺织学部', 21 | '经济学院', 22 | '艺术与服装学院', 23 | '计算机科学与技术学院', 24 | '电气工程与自动化学院', 25 | '机械工程学院', 26 | '材料科学与工程学院', 27 | '环境化学与工程学院', 28 | '电子与信息工程学院' 29 | ], 30 | grade: ['大一', '大二', '大三', '大四', '硕士', '博士', '考研', '出国', '其他'], 31 | formValue: { 32 | aaa: '', 33 | bbb: '', 34 | ccc: '' 35 | } 36 | }, 37 | 38 | /** 39 | * 生命周期函数--监听页面加载 40 | */ 41 | onLoad: function (options) { 42 | wx.setNavigationBarTitle({ 43 | title: '发布' 44 | }); 45 | console.log(options) 46 | if (options.name) { 47 | this.setData({ 48 | name: options.name 49 | }) 50 | } 51 | }, 52 | 53 | /** 54 | * 生命周期函数--监听页面初次渲染完成 55 | */ 56 | onReady: function () { 57 | 58 | }, 59 | 60 | /** 61 | * 生命周期函数--监听页面显示 62 | */ 63 | onShow: function () { 64 | 65 | }, 66 | 67 | /** 68 | * 生命周期函数--监听页面隐藏 69 | */ 70 | onHide: function () { 71 | 72 | }, 73 | 74 | /** 75 | * 生命周期函数--监听页面卸载 76 | */ 77 | onUnload: function () { 78 | 79 | }, 80 | 81 | /** 82 | * 页面相关事件处理函数--监听用户下拉动作 83 | */ 84 | onPullDownRefresh: function () { 85 | 86 | }, 87 | 88 | /** 89 | * 页面上拉触底事件的处理函数 90 | */ 91 | onReachBottom: function () { 92 | 93 | }, 94 | 95 | /** 96 | * 用户点击右上角分享 97 | */ 98 | onShareAppMessage: function () { 99 | 100 | }, 101 | facultyPickerChange(e) { 102 | console.log(e); 103 | this.setData({ 104 | facultyindex: e.detail.value 105 | }) 106 | }, 107 | gradePickerChange(e) { 108 | console.log(e); 109 | this.setData({ 110 | gradeindex: e.detail.value 111 | }) 112 | }, 113 | releaseTap(e) { 114 | console.log(e.detail.value) 115 | this.setData({ 116 | formValue: e.detail.value 117 | }) 118 | let value = JSON.stringify(e.detail.value) 119 | wx.navigateTo({ 120 | url: `/components/pages/detail/detail?a=${value}`, 121 | success: (result) => { 122 | 123 | }, 124 | fail: (e) => { 125 | console.log(e) 126 | }, 127 | complete: () => {} 128 | }); 129 | }, 130 | change(e) { 131 | console.log('eeeeee', e) 132 | if (e.currentTarget.id === 'wenti') { 133 | this.setData({ 134 | formValue: { 135 | aaa: 1, 136 | bbb: 0, 137 | ccc: 0 138 | } 139 | }) 140 | } else if (e.currentTarget.id === 'fushi') { 141 | this.setData({ 142 | formValue: { 143 | aaa: 0, 144 | bbb: 1, 145 | ccc: 0 146 | } 147 | }) 148 | } else if (e.currentTarget.id === 'baihuo') { 149 | this.setData({ 150 | formValue: { 151 | aaa: 0, 152 | bbb: 0, 153 | ccc: 1 154 | } 155 | }) 156 | } 157 | } 158 | }) -------------------------------------------------------------------------------- /miniprogram/style/animation.wxss: -------------------------------------------------------------------------------- 1 | /* 2 | Animation 微动画 3 | 基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28 4 | */ 5 | 6 | /* css 滤镜 控制黑白底色gif的 */ 7 | .gif-black{ 8 | mix-blend-mode: screen; 9 | } 10 | .gif-white{ 11 | mix-blend-mode: multiply; 12 | } 13 | 14 | 15 | /* Animation css */ 16 | [class*=animation-] { 17 | animation-duration: .5s; 18 | animation-timing-function: ease-out; 19 | animation-fill-mode: both 20 | } 21 | 22 | .animation-fade { 23 | animation-name: fade; 24 | animation-duration: .8s; 25 | animation-timing-function: linear 26 | } 27 | 28 | .animation-scale-up { 29 | animation-name: scale-up 30 | } 31 | 32 | .animation-scale-down { 33 | animation-name: scale-down 34 | } 35 | 36 | .animation-slide-top { 37 | animation-name: slide-top 38 | } 39 | 40 | .animation-slide-bottom { 41 | animation-name: slide-bottom 42 | } 43 | 44 | .animation-slide-left { 45 | animation-name: slide-left 46 | } 47 | 48 | .animation-slide-right { 49 | animation-name: slide-right 50 | } 51 | 52 | .animation-shake { 53 | animation-name: shake 54 | } 55 | 56 | .animation-reverse { 57 | animation-direction: reverse 58 | } 59 | 60 | @keyframes fade { 61 | 0% { 62 | opacity: 0 63 | } 64 | 65 | 100% { 66 | opacity: 1 67 | } 68 | } 69 | 70 | @keyframes scale-up { 71 | 0% { 72 | opacity: 0; 73 | transform: scale(.2) 74 | } 75 | 76 | 100% { 77 | opacity: 1; 78 | transform: scale(1) 79 | } 80 | } 81 | 82 | @keyframes scale-down { 83 | 0% { 84 | opacity: 0; 85 | transform: scale(1.8) 86 | } 87 | 88 | 100% { 89 | opacity: 1; 90 | transform: scale(1) 91 | } 92 | } 93 | 94 | @keyframes slide-top { 95 | 0% { 96 | opacity: 0; 97 | transform: translateY(-100%) 98 | } 99 | 100 | 100% { 101 | opacity: 1; 102 | transform: translateY(0) 103 | } 104 | } 105 | 106 | @keyframes slide-bottom { 107 | 0% { 108 | opacity: 0; 109 | transform: translateY(100%) 110 | } 111 | 112 | 100% { 113 | opacity: 1; 114 | transform: translateY(0) 115 | } 116 | } 117 | 118 | @keyframes shake { 119 | 120 | 0%, 121 | 100% { 122 | transform: translateX(0) 123 | } 124 | 125 | 10% { 126 | transform: translateX(-9px) 127 | } 128 | 129 | 20% { 130 | transform: translateX(8px) 131 | } 132 | 133 | 30% { 134 | transform: translateX(-7px) 135 | } 136 | 137 | 40% { 138 | transform: translateX(6px) 139 | } 140 | 141 | 50% { 142 | transform: translateX(-5px) 143 | } 144 | 145 | 60% { 146 | transform: translateX(4px) 147 | } 148 | 149 | 70% { 150 | transform: translateX(-3px) 151 | } 152 | 153 | 80% { 154 | transform: translateX(2px) 155 | } 156 | 157 | 90% { 158 | transform: translateX(-1px) 159 | } 160 | } 161 | 162 | @keyframes slide-left { 163 | 0% { 164 | opacity: 0; 165 | transform: translateX(-100%) 166 | } 167 | 168 | 100% { 169 | opacity: 1; 170 | transform: translateX(0) 171 | } 172 | } 173 | 174 | @keyframes slide-right { 175 | 0% { 176 | opacity: 0; 177 | transform: translateX(100%) 178 | } 179 | 180 | 100% { 181 | opacity: 1; 182 | transform: translateX(0) 183 | } 184 | } -------------------------------------------------------------------------------- /miniprogram/pages/databaseGuide/databaseGuide.js: -------------------------------------------------------------------------------- 1 | // pages/databaseGuide/databaseGuide.js 2 | 3 | const app = getApp() 4 | 5 | Page({ 6 | 7 | data: { 8 | step: 1, 9 | counterId: '', 10 | openid: '', 11 | count: null, 12 | queryResult: '', 13 | }, 14 | 15 | onLoad: function (options) { 16 | if (app.globalData.openid) { 17 | this.setData({ 18 | openid: app.globalData.openid 19 | }) 20 | } 21 | }, 22 | 23 | onAdd: function () { 24 | // const db = wx.cloud.database() 25 | // db.collection('counters').add({ 26 | // data: { 27 | // count: 1 28 | // }, 29 | // success: res => { 30 | // // 在返回结果中会包含新创建的记录的 _id 31 | // this.setData({ 32 | // counterId: res._id, 33 | // count: 1 34 | // }) 35 | // wx.showToast({ 36 | // title: '新增记录成功', 37 | // }) 38 | // console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id) 39 | // }, 40 | // fail: err => { 41 | // wx.showToast({ 42 | // icon: 'none', 43 | // title: '新增记录失败' 44 | // }) 45 | // console.error('[数据库] [新增记录] 失败:', err) 46 | // } 47 | // }) 48 | }, 49 | 50 | onQuery: function() { 51 | // const db = wx.cloud.database() 52 | // // 查询当前用户所有的 counters 53 | // db.collection('counters').where({ 54 | // _openid: this.data.openid 55 | // }).get({ 56 | // success: res => { 57 | // this.setData({ 58 | // queryResult: JSON.stringify(res.data, null, 2) 59 | // }) 60 | // console.log('[数据库] [查询记录] 成功: ', res) 61 | // }, 62 | // fail: err => { 63 | // wx.showToast({ 64 | // icon: 'none', 65 | // title: '查询记录失败' 66 | // }) 67 | // console.error('[数据库] [查询记录] 失败:', err) 68 | // } 69 | // }) 70 | }, 71 | 72 | onCounterInc: function() { 73 | // const db = wx.cloud.database() 74 | // const newCount = this.data.count + 1 75 | // db.collection('counters').doc(this.data.counterId).update({ 76 | // data: { 77 | // count: newCount 78 | // }, 79 | // success: res => { 80 | // this.setData({ 81 | // count: newCount 82 | // }) 83 | // }, 84 | // fail: err => { 85 | // icon: 'none', 86 | // console.error('[数据库] [更新记录] 失败:', err) 87 | // } 88 | // }) 89 | }, 90 | 91 | onCounterDec: function() { 92 | // const db = wx.cloud.database() 93 | // const newCount = this.data.count - 1 94 | // db.collection('counters').doc(this.data.counterId).update({ 95 | // data: { 96 | // count: newCount 97 | // }, 98 | // success: res => { 99 | // this.setData({ 100 | // count: newCount 101 | // }) 102 | // }, 103 | // fail: err => { 104 | // icon: 'none', 105 | // console.error('[数据库] [更新记录] 失败:', err) 106 | // } 107 | // }) 108 | }, 109 | 110 | onRemove: function() { 111 | // if (this.data.counterId) { 112 | // const db = wx.cloud.database() 113 | // db.collection('counters').doc(this.data.counterId).remove({ 114 | // success: res => { 115 | // wx.showToast({ 116 | // title: '删除成功', 117 | // }) 118 | // this.setData({ 119 | // counterId: '', 120 | // count: null, 121 | // }) 122 | // }, 123 | // fail: err => { 124 | // wx.showToast({ 125 | // icon: 'none', 126 | // title: '删除失败', 127 | // }) 128 | // console.error('[数据库] [删除记录] 失败:', err) 129 | // } 130 | // }) 131 | // } else { 132 | // wx.showToast({ 133 | // title: '无记录可删,请见创建一个记录', 134 | // }) 135 | // } 136 | }, 137 | 138 | nextStep: function () { 139 | // 在第一步,需检查是否有 openid,如无需获取 140 | if (this.data.step === 1 && !this.data.openid) { 141 | wx.cloud.callFunction({ 142 | name: 'login', 143 | data: {}, 144 | success: res => { 145 | app.globalData.openid = res.result.openid 146 | this.setData({ 147 | step: 2, 148 | openid: res.result.openid 149 | }) 150 | }, 151 | fail: err => { 152 | wx.showToast({ 153 | icon: 'none', 154 | title: '获取 openid 失败,请检查是否有部署 login 云函数', 155 | }) 156 | console.log('[云函数] [login] 获取 openid 失败,请检查是否有部署云函数,错误信息:', err) 157 | } 158 | }) 159 | } else { 160 | const callback = this.data.step !== 6 ? function() {} : function() { 161 | console.group('数据库文档') 162 | console.log('https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database.html') 163 | console.groupEnd() 164 | } 165 | 166 | this.setData({ 167 | step: this.data.step + 1 168 | }, callback) 169 | } 170 | }, 171 | 172 | prevStep: function () { 173 | this.setData({ 174 | step: this.data.step - 1 175 | }) 176 | }, 177 | 178 | goHome: function() { 179 | const pages = getCurrentPages() 180 | if (pages.length === 2) { 181 | wx.navigateBack() 182 | } else if (pages.length === 1) { 183 | wx.redirectTo({ 184 | url: '../index/index', 185 | }) 186 | } else { 187 | wx.reLaunch({ 188 | url: '../index/index', 189 | }) 190 | } 191 | } 192 | 193 | }) -------------------------------------------------------------------------------- /miniprogram/pages/databaseGuide/databaseGuide.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 数据库指引 8 | 9 | 10 | {{index + 1}} 11 | 12 | 13 | openid:{{openid}} 14 | 15 | 16 | 当前记录 ID:{{counterId}} 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 示例介绍 25 | 1. 以计数器为例,在此演示如何操作数据库 26 | 2. 数据库操作大多需要用户 openid,需先配置好 login 云函数,如已配置好,点击下一步,获取用户 openid 并开始我们的指引 27 | 30 | 31 | 32 | 33 | 34 | 新建集合 35 | 1. 打开云开发控制台,进入到数据库管理页 36 | 37 | 2. 选择添加集合,集合名为 counters 38 | 39 | 3. 可以看到 counters 集合出现在左侧集合列表中 40 | 注:集合必须在云开发控制台中创建 41 | 42 | 46 | 47 | 48 | 49 | 50 | 新增记录 51 | 1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onAdd 方法 52 | 2. 把注释掉的代码解除注释 53 | 54 | 3. onAdd 方法会往 counters 集合新增一个记录,新增如下格式的一个 JSON 记录 55 | 56 | { 57 | "_id": "数据库自动生成记录 ID 字段", 58 | "_openid": "数据库自动插入记录创建者的 openid", 59 | "count": 1 60 | } 61 | 62 | 4. 点击按钮 63 | 64 | 新增的记录 _id 为:{{counterId}} 65 | 5. 在云开发 -> 数据库 -> counters 集合中可以看到新增的记录 66 | 67 | 71 | 72 | 73 | 74 | 75 | 查询记录 76 | 1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onQuery 方法 77 | 2. 把注释掉的代码解除注释,onQuery 方法会在下方按钮被点击时触发 78 | 79 | 3. 点击按钮 80 | 81 | {{queryResult}} 82 | 83 | 87 | 88 | 89 | 90 | 91 | 更新记录 92 | 1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onCounterInc 和 onCounterDec 方法 93 | 2. 把注释掉的代码解除注释 94 | 95 | 3. 点击下方按钮更新计数器 96 |
97 | 98 | {{count}} 99 | 100 |
101 | 102 | 106 |
107 | 108 | 109 | 110 | 删除记录 111 | 1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onRemove 方法 112 | 2. 把注释掉的代码解除注释 113 | 114 | 3. 点击下方按钮删除计数器 115 | 116 | 117 | 121 | 122 | 123 | 124 | 125 | 完成指引 ! 126 | 恭喜你,至此已完成数据库操作入门基础,可以点击调试器中的链接,查看详尽的数据库文档 127 | 128 | 132 | 133 | 134 |
-------------------------------------------------------------------------------- /miniprogram/components/pages/release/release.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 我有 6 | 7 | 8 | 9 | 数量 10 | 11 | 12 | 13 | 院系 14 | 15 | {{facultyindex?faculty[facultyindex]:'请选择课本的适用院系'}} 16 | 17 | 18 | 19 | 年级 20 | 21 | {{gradeindex?grade[gradeindex]:'请选择课本的适用年级'}} 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 | 60 | +86 61 | 中国大陆 62 | 63 | 64 | 65 | 68 | 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 | 106 | 发货方式 107 | 当面交易 108 | 109 | 110 | 收款方式 111 | 平台外支付 112 | 113 | 114 | 选择分类 115 | 116 | 117 | 文体数码 118 | 119 | 120 | 服饰 121 | 122 | 123 | 日用百货 124 | 125 | 126 | 127 | 128 | 联系方式 129 | 130 | 131 | +86 132 | 中国大陆 133 | 134 | 135 | 136 | 139 | 140 |
141 |
142 | 143 |
144 | 145 | 我有 146 | 147 | 148 | 149 | 数量 150 | 151 | 152 | 153 | 院系 154 | 155 | {{facultyindex?faculty[facultyindex]:'请选择课本的适用院系'}} 156 | 157 | 158 | 159 | 年级 160 | 161 | {{gradeindex?grade[gradeindex]:'请选择课本的适用年级'}} 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 售价 182 | 183 | 184 | 185 | 原价 186 | 187 | 188 | 189 | 发货方式 190 | 当面交易 191 | 192 | 193 | 收款方式 194 | 平台外支付 195 | 196 | 197 | 联系方式 198 | 199 | 200 | +86 201 | 中国大陆 202 | 203 | 204 | 205 | 208 | 209 |
210 |
-------------------------------------------------------------------------------- /miniprogram/style/icon.wxss: -------------------------------------------------------------------------------- 1 | @keyframes icon-spin { 2 | 0% { 3 | -webkit-transform: rotate(0); 4 | transform: rotate(0); 5 | } 6 | 100% { 7 | -webkit-transform: rotate(359deg); 8 | transform: rotate(359deg); 9 | } 10 | } 11 | 12 | .iconfont-spin { 13 | -webkit-animation: icon-spin 2s infinite linear; 14 | animation: icon-spin 2s infinite linear; 15 | display: inline-block; 16 | } 17 | 18 | .iconfont-pulse { 19 | -webkit-animation: icon-spin 1s infinite steps(8); 20 | animation: icon-spin 1s infinite steps(8); 21 | display: inline-block; 22 | } 23 | 24 | text[class*="icon-"], 25 | view[class*="icon-"], 26 | button[class*="icon-"] { 27 | font-family: "cuIcon" !important; 28 | font-size: inherit; 29 | font-style: normal; 30 | } 31 | 32 | 33 | @font-face {font-family: "cuIcon"; 34 | src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831'); /* IE9*/ 35 | src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831#iefix') format('embedded-opentype'), /* IE6-IE8 */ 36 | url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'), 37 | url('//at.alicdn.com/t/font_533566_yfq2d9wdij.ttf?t=1545239985831') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ 38 | url('//at.alicdn.com/t/font_533566_yfq2d9wdij.svg?t=1545239985831#iconfont') format('svg'); /* iOS 4.1- */ 39 | } 40 | 41 | .icon-appreciate:before { content: "\e644"; } 42 | 43 | .icon-check:before { content: "\e645"; } 44 | 45 | .icon-close:before { content: "\e646"; } 46 | 47 | .icon-edit:before { content: "\e649"; } 48 | 49 | .icon-emoji:before { content: "\e64a"; } 50 | 51 | .icon-favorfill:before { content: "\e64b"; } 52 | 53 | .icon-favor:before { content: "\e64c"; } 54 | 55 | .icon-loading:before { content: "\e64f"; } 56 | 57 | .icon-locationfill:before { content: "\e650"; } 58 | 59 | .icon-location:before { content: "\e651"; } 60 | 61 | .icon-phone:before { content: "\e652"; } 62 | 63 | .icon-roundcheckfill:before { content: "\e656"; } 64 | 65 | .icon-roundcheck:before { content: "\e657"; } 66 | 67 | .icon-roundclosefill:before { content: "\e658"; } 68 | 69 | .icon-roundclose:before { content: "\e659"; } 70 | 71 | .icon-roundrightfill:before { content: "\e65a"; } 72 | 73 | .icon-roundright:before { content: "\e65b"; } 74 | 75 | .icon-search:before { content: "\e65c"; } 76 | 77 | .icon-taxi:before { content: "\e65d"; } 78 | 79 | .icon-timefill:before { content: "\e65e"; } 80 | 81 | .icon-time:before { content: "\e65f"; } 82 | 83 | .icon-unfold:before { content: "\e661"; } 84 | 85 | .icon-warnfill:before { content: "\e662"; } 86 | 87 | .icon-warn:before { content: "\e663"; } 88 | 89 | .icon-camerafill:before { content: "\e664"; } 90 | 91 | .icon-camera:before { content: "\e665"; } 92 | 93 | .icon-commentfill:before { content: "\e666"; } 94 | 95 | .icon-comment:before { content: "\e667"; } 96 | 97 | .icon-likefill:before { content: "\e668"; } 98 | 99 | .icon-like:before { content: "\e669"; } 100 | 101 | .icon-notificationfill:before { content: "\e66a"; } 102 | 103 | .icon-notification:before { content: "\e66b"; } 104 | 105 | .icon-order:before { content: "\e66c"; } 106 | 107 | .icon-samefill:before { content: "\e66d"; } 108 | 109 | .icon-same:before { content: "\e66e"; } 110 | 111 | .icon-deliver:before { content: "\e671"; } 112 | 113 | .icon-evaluate:before { content: "\e672"; } 114 | 115 | .icon-pay:before { content: "\e673"; } 116 | 117 | .icon-send:before { content: "\e675"; } 118 | 119 | .icon-shop:before { content: "\e676"; } 120 | 121 | .icon-ticket:before { content: "\e677"; } 122 | 123 | .icon-back:before { content: "\e679"; } 124 | 125 | .icon-cascades:before { content: "\e67c"; } 126 | 127 | .icon-discover:before { content: "\e67e"; } 128 | 129 | .icon-list:before { content: "\e682"; } 130 | 131 | .icon-more:before { content: "\e684"; } 132 | 133 | .icon-scan:before { content: "\e689"; } 134 | 135 | .icon-settings:before { content: "\e68a"; } 136 | 137 | .icon-questionfill:before { content: "\e690"; } 138 | 139 | .icon-question:before { content: "\e691"; } 140 | 141 | .icon-shopfill:before { content: "\e697"; } 142 | 143 | .icon-form:before { content: "\e699"; } 144 | 145 | .icon-pic:before { content: "\e69b"; } 146 | 147 | .icon-filter:before { content: "\e69c"; } 148 | 149 | .icon-footprint:before { content: "\e69d"; } 150 | 151 | .icon-top:before { content: "\e69e"; } 152 | 153 | .icon-pulldown:before { content: "\e69f"; } 154 | 155 | .icon-pullup:before { content: "\e6a0"; } 156 | 157 | .icon-right:before { content: "\e6a3"; } 158 | 159 | .icon-refresh:before { content: "\e6a4"; } 160 | 161 | .icon-moreandroid:before { content: "\e6a5"; } 162 | 163 | .icon-deletefill:before { content: "\e6a6"; } 164 | 165 | .icon-refund:before { content: "\e6ac"; } 166 | 167 | .icon-cart:before { content: "\e6af"; } 168 | 169 | .icon-qrcode:before { content: "\e6b0"; } 170 | 171 | .icon-remind:before { content: "\e6b2"; } 172 | 173 | .icon-delete:before { content: "\e6b4"; } 174 | 175 | .icon-profile:before { content: "\e6b7"; } 176 | 177 | .icon-home:before { content: "\e6b8"; } 178 | 179 | .icon-cartfill:before { content: "\e6b9"; } 180 | 181 | .icon-discoverfill:before { content: "\e6ba"; } 182 | 183 | .icon-homefill:before { content: "\e6bb"; } 184 | 185 | .icon-message:before { content: "\e6bc"; } 186 | 187 | .icon-addressbook:before { content: "\e6bd"; } 188 | 189 | .icon-link:before { content: "\e6bf"; } 190 | 191 | .icon-lock:before { content: "\e6c0"; } 192 | 193 | .icon-unlock:before { content: "\e6c2"; } 194 | 195 | .icon-vip:before { content: "\e6c3"; } 196 | 197 | .icon-weibo:before { content: "\e6c4"; } 198 | 199 | .icon-activity:before { content: "\e6c5"; } 200 | 201 | .icon-friendaddfill:before { content: "\e6c9"; } 202 | 203 | .icon-friendadd:before { content: "\e6ca"; } 204 | 205 | .icon-friendfamous:before { content: "\e6cb"; } 206 | 207 | .icon-friend:before { content: "\e6cc"; } 208 | 209 | .icon-goods:before { content: "\e6cd"; } 210 | 211 | .icon-selection:before { content: "\e6ce"; } 212 | 213 | .icon-explore:before { content: "\e6d2"; } 214 | 215 | .icon-present:before { content: "\e6d3"; } 216 | 217 | .icon-squarecheckfill:before { content: "\e6d4"; } 218 | 219 | .icon-square:before { content: "\e6d5"; } 220 | 221 | .icon-squarecheck:before { content: "\e6d6"; } 222 | 223 | .icon-round:before { content: "\e6d7"; } 224 | 225 | .icon-roundaddfill:before { content: "\e6d8"; } 226 | 227 | .icon-roundadd:before { content: "\e6d9"; } 228 | 229 | .icon-add:before { content: "\e6da"; } 230 | 231 | .icon-notificationforbidfill:before { content: "\e6db"; } 232 | 233 | .icon-explorefill:before { content: "\e6dd"; } 234 | 235 | .icon-fold:before { content: "\e6de"; } 236 | 237 | .icon-game:before { content: "\e6df"; } 238 | 239 | .icon-redpacket:before { content: "\e6e0"; } 240 | 241 | .icon-selectionfill:before { content: "\e6e1"; } 242 | 243 | .icon-similar:before { content: "\e6e2"; } 244 | 245 | .icon-appreciatefill:before { content: "\e6e3"; } 246 | 247 | .icon-infofill:before { content: "\e6e4"; } 248 | 249 | .icon-info:before { content: "\e6e5"; } 250 | 251 | .icon-forwardfill:before { content: "\e6ea"; } 252 | 253 | .icon-forward:before { content: "\e6eb"; } 254 | 255 | .icon-rechargefill:before { content: "\e6ec"; } 256 | 257 | .icon-recharge:before { content: "\e6ed"; } 258 | 259 | .icon-vipcard:before { content: "\e6ee"; } 260 | 261 | .icon-voice:before { content: "\e6ef"; } 262 | 263 | .icon-voicefill:before { content: "\e6f0"; } 264 | 265 | .icon-friendfavor:before { content: "\e6f1"; } 266 | 267 | .icon-wifi:before { content: "\e6f2"; } 268 | 269 | .icon-share:before { content: "\e6f3"; } 270 | 271 | .icon-wefill:before { content: "\e6f4"; } 272 | 273 | .icon-we:before { content: "\e6f5"; } 274 | 275 | .icon-lightauto:before { content: "\e6f6"; } 276 | 277 | .icon-lightforbid:before { content: "\e6f7"; } 278 | 279 | .icon-lightfill:before { content: "\e6f8"; } 280 | 281 | .icon-camerarotate:before { content: "\e6f9"; } 282 | 283 | .icon-light:before { content: "\e6fa"; } 284 | 285 | .icon-barcode:before { content: "\e6fb"; } 286 | 287 | .icon-flashlightclose:before { content: "\e6fc"; } 288 | 289 | .icon-flashlightopen:before { content: "\e6fd"; } 290 | 291 | .icon-searchlist:before { content: "\e6fe"; } 292 | 293 | .icon-service:before { content: "\e6ff"; } 294 | 295 | .icon-sort:before { content: "\e700"; } 296 | 297 | .icon-down:before { content: "\e703"; } 298 | 299 | .icon-mobile:before { content: "\e704"; } 300 | 301 | .icon-mobilefill:before { content: "\e705"; } 302 | 303 | .icon-copy:before { content: "\e706"; } 304 | 305 | .icon-countdownfill:before { content: "\e707"; } 306 | 307 | .icon-countdown:before { content: "\e708"; } 308 | 309 | .icon-noticefill:before { content: "\e709"; } 310 | 311 | .icon-notice:before { content: "\e70a"; } 312 | 313 | .icon-upstagefill:before { content: "\e70e"; } 314 | 315 | .icon-upstage:before { content: "\e70f"; } 316 | 317 | .icon-babyfill:before { content: "\e710"; } 318 | 319 | .icon-baby:before { content: "\e711"; } 320 | 321 | .icon-brandfill:before { content: "\e712"; } 322 | 323 | .icon-brand:before { content: "\e713"; } 324 | 325 | .icon-choicenessfill:before { content: "\e714"; } 326 | 327 | .icon-choiceness:before { content: "\e715"; } 328 | 329 | .icon-clothesfill:before { content: "\e716"; } 330 | 331 | .icon-clothes:before { content: "\e717"; } 332 | 333 | .icon-creativefill:before { content: "\e718"; } 334 | 335 | .icon-creative:before { content: "\e719"; } 336 | 337 | .icon-female:before { content: "\e71a"; } 338 | 339 | .icon-keyboard:before { content: "\e71b"; } 340 | 341 | .icon-male:before { content: "\e71c"; } 342 | 343 | .icon-newfill:before { content: "\e71d"; } 344 | 345 | .icon-new:before { content: "\e71e"; } 346 | 347 | .icon-pullleft:before { content: "\e71f"; } 348 | 349 | .icon-pullright:before { content: "\e720"; } 350 | 351 | .icon-rankfill:before { content: "\e721"; } 352 | 353 | .icon-rank:before { content: "\e722"; } 354 | 355 | .icon-bad:before { content: "\e723"; } 356 | 357 | .icon-cameraadd:before { content: "\e724"; } 358 | 359 | .icon-focus:before { content: "\e725"; } 360 | 361 | .icon-friendfill:before { content: "\e726"; } 362 | 363 | .icon-cameraaddfill:before { content: "\e727"; } 364 | 365 | .icon-apps:before { content: "\e729"; } 366 | 367 | .icon-paintfill:before { content: "\e72a"; } 368 | 369 | .icon-paint:before { content: "\e72b"; } 370 | 371 | .icon-picfill:before { content: "\e72c"; } 372 | 373 | .icon-refresharrow:before { content: "\e72d"; } 374 | 375 | .icon-colorlens:before { content: "\e6e6"; } 376 | 377 | .icon-markfill:before { content: "\e730"; } 378 | 379 | .icon-mark:before { content: "\e731"; } 380 | 381 | .icon-presentfill:before { content: "\e732"; } 382 | 383 | .icon-repeal:before { content: "\e733"; } 384 | 385 | .icon-album:before { content: "\e734"; } 386 | 387 | .icon-peoplefill:before { content: "\e735"; } 388 | 389 | .icon-people:before { content: "\e736"; } 390 | 391 | .icon-servicefill:before { content: "\e737"; } 392 | 393 | .icon-repair:before { content: "\e738"; } 394 | 395 | .icon-file:before { content: "\e739"; } 396 | 397 | .icon-repairfill:before { content: "\e73a"; } 398 | 399 | .icon-taoxiaopu:before { content: "\e73b"; } 400 | 401 | .icon-weixin:before { content: "\e612"; } 402 | 403 | .icon-attentionfill:before { content: "\e73c"; } 404 | 405 | .icon-attention:before { content: "\e73d"; } 406 | 407 | .icon-commandfill:before { content: "\e73e"; } 408 | 409 | .icon-command:before { content: "\e73f"; } 410 | 411 | .icon-communityfill:before { content: "\e740"; } 412 | 413 | .icon-community:before { content: "\e741"; } 414 | 415 | .icon-read:before { content: "\e742"; } 416 | 417 | .icon-calendar:before { content: "\e74a"; } 418 | 419 | .icon-cut:before { content: "\e74b"; } 420 | 421 | .icon-magic:before { content: "\e74c"; } 422 | 423 | .icon-backwardfill:before { content: "\e74d"; } 424 | 425 | .icon-playfill:before { content: "\e74f"; } 426 | 427 | .icon-stop:before { content: "\e750"; } 428 | 429 | .icon-tagfill:before { content: "\e751"; } 430 | 431 | .icon-tag:before { content: "\e752"; } 432 | 433 | .icon-group:before { content: "\e753"; } 434 | 435 | .icon-all:before { content: "\e755"; } 436 | 437 | .icon-backdelete:before { content: "\e756"; } 438 | 439 | .icon-hotfill:before { content: "\e757"; } 440 | 441 | .icon-hot:before { content: "\e758"; } 442 | 443 | .icon-post:before { content: "\e759"; } 444 | 445 | .icon-radiobox:before { content: "\e75b"; } 446 | 447 | .icon-rounddown:before { content: "\e75c"; } 448 | 449 | .icon-upload:before { content: "\e75d"; } 450 | 451 | .icon-writefill:before { content: "\e760"; } 452 | 453 | .icon-write:before { content: "\e761"; } 454 | 455 | .icon-radioboxfill:before { content: "\e763"; } 456 | 457 | .icon-punch:before { content: "\e764"; } 458 | 459 | .icon-shake:before { content: "\e765"; } 460 | 461 | .icon-move:before { content: "\e768"; } 462 | 463 | .icon-safe:before { content: "\e769"; } 464 | 465 | .icon-activityfill:before { content: "\e775"; } 466 | 467 | .icon-crownfill:before { content: "\e776"; } 468 | 469 | .icon-crown:before { content: "\e777"; } 470 | 471 | .icon-goodsfill:before { content: "\e778"; } 472 | 473 | .icon-messagefill:before { content: "\e779"; } 474 | 475 | .icon-profilefill:before { content: "\e77a"; } 476 | 477 | .icon-sound:before { content: "\e77b"; } 478 | 479 | .icon-sponsorfill:before { content: "\e77c"; } 480 | 481 | .icon-sponsor:before { content: "\e77d"; } 482 | 483 | .icon-upblock:before { content: "\e77e"; } 484 | 485 | .icon-weblock:before { content: "\e77f"; } 486 | 487 | .icon-weunblock:before { content: "\e780"; } 488 | 489 | .icon-my:before { content: "\e78b"; } 490 | 491 | .icon-myfill:before { content: "\e78c"; } 492 | 493 | .icon-emojifill:before { content: "\e78d"; } 494 | 495 | .icon-emojiflashfill:before { content: "\e78e"; } 496 | 497 | .icon-flashbuyfill:before { content: "\e78f"; } 498 | 499 | .icon-text:before { content: "\e791"; } 500 | 501 | .icon-goodsfavor:before { content: "\e794"; } 502 | 503 | .icon-musicfill:before { content: "\e795"; } 504 | 505 | .icon-musicforbidfill:before { content: "\e796"; } 506 | 507 | .icon-card:before { content: "\e624"; } 508 | 509 | .icon-triangledownfill:before { content: "\e79b"; } 510 | 511 | .icon-triangleupfill:before { content: "\e79c"; } 512 | 513 | .icon-roundleftfill-copy:before { content: "\e79e"; } 514 | 515 | .icon-font:before { content: "\e76a"; } 516 | 517 | .icon-title:before { content: "\e82f"; } 518 | 519 | .icon-recordfill:before { content: "\e7a4"; } 520 | 521 | .icon-record:before { content: "\e7a6"; } 522 | 523 | .icon-cardboardfill:before { content: "\e7a9"; } 524 | 525 | .icon-cardboard:before { content: "\e7aa"; } 526 | 527 | .icon-formfill:before { content: "\e7ab"; } 528 | 529 | .icon-coin:before { content: "\e7ac"; } 530 | 531 | .icon-cardboardforbid:before { content: "\e7af"; } 532 | 533 | .icon-circlefill:before { content: "\e7b0"; } 534 | 535 | .icon-circle:before { content: "\e7b1"; } 536 | 537 | .icon-attentionforbid:before { content: "\e7b2"; } 538 | 539 | .icon-attentionforbidfill:before { content: "\e7b3"; } 540 | 541 | .icon-attentionfavorfill:before { content: "\e7b4"; } 542 | 543 | .icon-attentionfavor:before { content: "\e7b5"; } 544 | 545 | .icon-titles:before { content: "\e701"; } 546 | 547 | .icon-icloading:before { content: "\e67a"; } 548 | 549 | .icon-full:before { content: "\e7bc"; } 550 | 551 | .icon-mail:before { content: "\e7bd"; } 552 | 553 | .icon-peoplelist:before { content: "\e7be"; } 554 | 555 | .icon-goodsnewfill:before { content: "\e7bf"; } 556 | 557 | .icon-goodsnew:before { content: "\e7c0"; } 558 | 559 | .icon-medalfill:before { content: "\e7c1"; } 560 | 561 | .icon-medal:before { content: "\e7c2"; } 562 | 563 | .icon-newsfill:before { content: "\e7c3"; } 564 | 565 | .icon-newshotfill:before { content: "\e7c4"; } 566 | 567 | .icon-newshot:before { content: "\e7c5"; } 568 | 569 | .icon-news:before { content: "\e7c6"; } 570 | 571 | .icon-videofill:before { content: "\e7c7"; } 572 | 573 | .icon-video:before { content: "\e7c8"; } 574 | 575 | .icon-exit:before { content: "\e7cb"; } 576 | 577 | .icon-skinfill:before { content: "\e7cc"; } 578 | 579 | .icon-skin:before { content: "\e7cd"; } 580 | 581 | .icon-moneybagfill:before { content: "\e7ce"; } 582 | 583 | .icon-usefullfill:before { content: "\e7cf"; } 584 | 585 | .icon-usefull:before { content: "\e7d0"; } 586 | 587 | .icon-moneybag:before { content: "\e7d1"; } 588 | 589 | .icon-redpacket_fill:before { content: "\e7d3"; } 590 | 591 | .icon-subscription:before { content: "\e7d4"; } 592 | 593 | .icon-loading1:before { content: "\e633"; } 594 | 595 | .icon-github:before { content: "\e692"; } 596 | 597 | .icon-global:before { content: "\e7eb"; } 598 | 599 | .icon-settingsfill:before { content: "\e6ab"; } 600 | 601 | .icon-back_android:before { content: "\e7ed"; } 602 | 603 | .icon-expressman:before { content: "\e7ef"; } 604 | 605 | .icon-evaluate_fill:before { content: "\e7f0"; } 606 | 607 | .icon-group_fill:before { content: "\e7f5"; } 608 | 609 | .icon-play_forward_fill:before { content: "\e7f6"; } 610 | 611 | .icon-deliver_fill:before { content: "\e7f7"; } 612 | 613 | .icon-notice_forbid_fill:before { content: "\e7f8"; } 614 | 615 | .icon-fork:before { content: "\e60c"; } 616 | 617 | .icon-pick:before { content: "\e7fa"; } 618 | 619 | .icon-wenzi:before { content: "\e6a7"; } 620 | 621 | .icon-ellipse:before { content: "\e600"; } 622 | 623 | .icon-qr_code:before { content: "\e61b"; } 624 | 625 | .icon-dianhua:before { content: "\e64d"; } 626 | 627 | .icon-icon:before { content: "\e602"; } 628 | 629 | .icon-loading2:before { content: "\e7f1"; } 630 | 631 | .icon-btn:before { content: "\e601"; } 632 | 633 | --------------------------------------------------------------------------------