├── README.md ├── cloudfunctions └── login │ ├── config.json │ ├── index.js │ └── package.json ├── miniprogram ├── app.js ├── app.json ├── app.wxss ├── mini_album.jpg ├── pages │ ├── album │ │ ├── album.js │ │ ├── album.json │ │ ├── album.wxml │ │ └── album.wxss │ ├── create │ │ ├── create.js │ │ ├── create.json │ │ ├── create.wxml │ │ └── create.wxss │ ├── index │ │ ├── index.js │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ └── picture │ │ ├── picture.js │ │ ├── picture.json │ │ ├── picture.wxml │ │ └── picture.wxss ├── sitemap.json └── style │ ├── iconfont.wxss │ └── weui.wxss └── project.config.json /README.md: -------------------------------------------------------------------------------- 1 | # 项目部署 2 | 3 | > 4 | ## 项目介绍 5 | > 此项目基于小程序 ▪ 云开发,不用搭建后台,首页字体和其他页面的图标都是在线的,字体用的是 iconfont 在线字体(站酷小薇体),[字体地址](https://www.iconfont.cn/webfont?spm=a313x.7781069.1998910419.d81ec59f2#!/webfont/index "字体地址")。 6 | > 项目共有4个页面,分别是index首页,album相册列表页,picture图片列表页,create创建相册页。 7 | > 如需下载部署,请按照下面步骤,导入项目。 8 | 9 | ## 步骤一 导入项目 10 | 注册小程序(如果不会注册小程序请自行百度),创建项目时选择云开发。、 11 | 12 | ## 步骤二 创建数据库 13 | 打开云开发控制台 14 | 1. 首先添加welcome集合,权限设置为=>所有用户可读,仅创建者可读写,然后添加一条随机记录,字段名为=>image_url,类型为=>string,值为图片的url地址。 15 | 2. 添加album集合,权限设置为=>所有用户可读,仅创建者可读写。 16 | 3. 添加picture集合,权限设置为=>所有用户可读,仅创建者可读写。 17 | 18 | ## 步骤三 编译项目 19 | 上面的步骤都部署好之后就可以运行项目了。 20 | 21 | ## 注意事项 22 | 上传图片时需要验证用户的openid,进入图片列表页,打开调试窗口AppData,找到你的openid复制,在picture.js下面,找到如下代码,替换为你的openid即可。 23 | 24 | `if (this.data.openid !== '你的openid')` 25 | 26 | ## 项目体验 27 | 微信扫描下面二维码即可体验。 28 | ![](https://github.com/15113624649/mini_album_project/blob/master/miniprogram/mini_album.jpg) 29 | 30 | -------------------------------------------------------------------------------- /cloudfunctions/login/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "permissions": { 3 | "openapi": [] 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /cloudfunctions/login/index.js: -------------------------------------------------------------------------------- 1 | // 云函数模板 2 | // 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署” 3 | 4 | const cloud = require('wx-server-sdk') 5 | 6 | // 初始化 cloud 7 | cloud.init({ 8 | // API 调用都保持和云函数当前所在环境一致 9 | env: cloud.DYNAMIC_CURRENT_ENV 10 | }) 11 | 12 | /** 13 | * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端 14 | * 15 | * event 参数包含小程序端调用传入的 data 16 | * 17 | */ 18 | exports.main = (event, context) => { 19 | console.log(event) 20 | console.log(context) 21 | 22 | // 可执行其他自定义逻辑 23 | // console.log 的内容可以在云开发云函数调用日志查看 24 | 25 | // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息 26 | const wxContext = cloud.getWXContext() 27 | 28 | return { 29 | event, 30 | openid: wxContext.OPENID, 31 | appid: wxContext.APPID, 32 | unionid: wxContext.UNIONID, 33 | env: wxContext.ENV, 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /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/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 | // env 参数说明: 10 | // env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源 11 | // 此处请填入环境 ID, 环境 ID 可打开云控制台查看 12 | // 如不填则使用默认环境(第一个创建的环境) 13 | env: 'wechatdevelop-b98915', 14 | traceUser: true, 15 | }) 16 | } 17 | 18 | this.globalData = {} 19 | } 20 | }) 21 | -------------------------------------------------------------------------------- /miniprogram/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/index/index", 4 | "pages/album/album", 5 | "pages/picture/picture", 6 | "pages/create/create" 7 | ], 8 | "window": { 9 | "backgroundColor": "#F6F6F6", 10 | "backgroundTextStyle": "light", 11 | "navigationBarBackgroundColor": "#e97d7d", 12 | "navigationBarTitleText": "个人相册", 13 | "navigationBarTextStyle": "black" 14 | }, 15 | "sitemapLocation": "sitemap.json", 16 | "style": "v2" 17 | } -------------------------------------------------------------------------------- /miniprogram/app.wxss: -------------------------------------------------------------------------------- 1 | @import 'style/iconfont.wxss' -------------------------------------------------------------------------------- /miniprogram/mini_album.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MrYe1024/mini_album_project/f4b3680f89b348ade486f10b923df2b9a3755ebd/miniprogram/mini_album.jpg -------------------------------------------------------------------------------- /miniprogram/pages/album/album.js: -------------------------------------------------------------------------------- 1 | const db = wx.cloud.database() 2 | const _ = db.command 3 | const limit = 20 4 | const sql = { _id: _.neq(1) } 5 | 6 | 7 | Page({ 8 | 9 | data: { 10 | list: [], 11 | isEndOfList: false, 12 | }, 13 | 14 | onLoad: function (options) { 15 | this.getData() 16 | }, 17 | 18 | getData: async function () { 19 | let res = await db.collection('album').where(sql).skip(this.data.list.length).get() 20 | this.setData({ 21 | list: [...this.data.list, ...res.data], //合并数据 22 | isEndOfList: res.data.length < limit ? true : false //判断是否数据结束 23 | }) 24 | }, 25 | 26 | nav_picture: function (res) { 27 | let title = res.currentTarget.dataset.title 28 | wx.navigateTo({ 29 | url: '../picture/picture?title='+title, 30 | }) 31 | }, 32 | 33 | nav_create_album: function (res) { 34 | wx.navigateTo({ 35 | url: '../create/create', 36 | }) 37 | }, 38 | 39 | onReachBottom: function (res) { 40 | !this.data.isEndOfList && this.getData() 41 | }, 42 | 43 | onShareAppMessage: function () { 44 | 45 | } 46 | 47 | }) -------------------------------------------------------------------------------- /miniprogram/pages/album/album.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "navigationBarTitleText": "album" 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/album/album.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{item.title}} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | {{item.title}} 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /miniprogram/pages/album/album.wxss: -------------------------------------------------------------------------------- 1 | page{ 2 | background-color: #fff; 3 | } 4 | .footlist { 5 | position: relative; 6 | border-top-left-radius: 10rpx; 7 | border-top-right-radius: 10rpx; 8 | padding-top: 20rpx; 9 | } 10 | 11 | .footlist::after { 12 | content: ''; 13 | clear: both; 14 | display: block; 15 | } 16 | 17 | .foot-left { 18 | float: left; 19 | width: 50%; 20 | } 21 | 22 | .foot-right { 23 | float: left; 24 | width: 50%; 25 | } 26 | 27 | .footbox { 28 | width: 100%; 29 | margin: 0 auto; 30 | background: #fff; 31 | box-sizing: border-box; 32 | position: relative; 33 | padding: 24rpx; 34 | padding-top: 10rpx; 35 | } 36 | 37 | .box-shadow { 38 | padding: 6rpx 10rpx 18rpx 10rpx; 39 | box-sizing: border-box; 40 | /* box-shadow: 0 2rpx 2rpx rgba(88, 88, 88, 0.233); */ 41 | box-shadow: 0 2rpx 2rpx #e97d7d; 42 | border-bottom-left-radius: 10rpx; 43 | border-bottom-right-radius: 10rpx; 44 | } 45 | 46 | .footbox image { 47 | width: 100%; 48 | border-top-left-radius: 10rpx; 49 | border-top-right-radius: 10rpx; 50 | } 51 | 52 | .footbox .bot::after { 53 | display: block; 54 | content: ""; 55 | clear: both; 56 | } 57 | 58 | .footbox .bot .t1 { 59 | font-size: 30rpx; 60 | color: #1f1607; 61 | line-height: 1.5; 62 | /* margin-left: 38rpx; */ 63 | overflow: hidden; 64 | width: 100%; 65 | margin-top: 15rpx; 66 | } 67 | 68 | .footbox .bot .t2 { 69 | font-size: 28rpx; 70 | color: #000; 71 | line-height: 100rpx; 72 | margin-left: 30rpx; 73 | float: left; 74 | } 75 | 76 | .foot-left .footbox { 77 | padding-right: 12rpx; 78 | } -------------------------------------------------------------------------------- /miniprogram/pages/create/create.js: -------------------------------------------------------------------------------- 1 | const db = wx.cloud.database() 2 | const date = new Date() 3 | 4 | Page({ 5 | 6 | data: { 7 | photosNew: [] 8 | }, 9 | 10 | onLoad: function (options) { 11 | 12 | }, 13 | 14 | create_title: function (event) { 15 | this.setData({ 16 | title: event.detail.value 17 | }) 18 | }, 19 | 20 | upload_image: function () { 21 | const uploadTasks = this.data.photosNew.map(item => this.uploadPhoto(item.src)) 22 | if(this.data.title === undefined || this.data.photosNew[0] === undefined) { 23 | wx.showToast({ 24 | title: '都写好了吗?', 25 | icon: 'loading', 26 | duration: 500 27 | }) 28 | }else { 29 | Promise.all(uploadTasks).then((result) => { 30 | db.collection('album').add({ 31 | data: { 32 | title:this.data.title, 33 | date: date.toLocaleDateString(), 34 | image_url: result[0].fileID 35 | } 36 | }) 37 | .then(res => { 38 | wx.showToast({ 39 | title: 'Ok', 40 | duration: 500 41 | }) 42 | wx.navigateTo({ 43 | url: '../album/album', 44 | }) 45 | }) 46 | }) 47 | } 48 | }, 49 | 50 | //选择图片 51 | chooseImage: function () { 52 | const items = this.data.photosNew 53 | wx.chooseImage({ 54 | count: 1, 55 | sizeType: ['compressed'], 56 | sourceType: ['album', 'camera'], 57 | success: res => { 58 | let tempFilePaths = res.tempFilePaths 59 | for (const tempFilePath of tempFilePaths) { 60 | items.push({ 61 | src: tempFilePath 62 | }) 63 | } 64 | this.setData({ 65 | photosNew: items, 66 | }) 67 | } 68 | }) 69 | }, 70 | 71 | // 上传图片 72 | uploadPhoto(filePath) { 73 | return wx.cloud.uploadFile({ 74 | cloudPath: `${Date.now()}-${Math.floor(Math.random(0, 1) * 10000000)}.png`, 75 | filePath 76 | }) 77 | }, 78 | 79 | // 预览图片 80 | previewImage(e) { 81 | const current = e.target.dataset.src 82 | const photos = this.data.photosNew.map(photo => photo.src) 83 | wx.previewImage({ 84 | current: current.src, 85 | urls: photos 86 | }) 87 | }, 88 | 89 | // 删除图片 90 | cancel(e) { 91 | const index = e.currentTarget.dataset.index 92 | const photos = this.data.photosNew.filter((p, idx) => idx !== index) 93 | this.setData({ 94 | photosNew: photos 95 | }) 96 | }, 97 | 98 | onShareAppMessage: function () { 99 | 100 | } 101 | }) -------------------------------------------------------------------------------- /miniprogram/pages/create/create.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /miniprogram/pages/create/create.wxml: -------------------------------------------------------------------------------- 1 | 2 | 相册标题: 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 相册封面: 16 | {{photosNew.length}}/1 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /miniprogram/pages/create/create.wxss: -------------------------------------------------------------------------------- 1 | @import '../../style/weui.wxss'; 2 | 3 | .cancel { 4 | position: absolute; 5 | top: 35px; 6 | left: 10px; 7 | width: 30rpx; 8 | height: 30rpx; 9 | z-index: 300; 10 | } 11 | 12 | .weui-uploader__title { 13 | color: #999; 14 | } 15 | 16 | .btn { 17 | position: absolute; 18 | bottom: 60rpx; 19 | left: 50%; 20 | transform: translate(-50%); 21 | } -------------------------------------------------------------------------------- /miniprogram/pages/index/index.js: -------------------------------------------------------------------------------- 1 | const db = wx.cloud.database() 2 | 3 | Page({ 4 | 5 | data: { 6 | image_url: 'https://7765-wechatdevelop-b98915-1258857271.tcb.qcloud.la/index/person_1.jpg?sign=5b37344d6eed8bd4355370f59ad5e289&t=1582463978' 7 | }, 8 | 9 | onLoad: function (options) { 10 | db.collection('welcome').get().then((res) => { 11 | this.setData({ 12 | image_url:res.data[0].image_url 13 | }) 14 | }) 15 | }, 16 | 17 | nav_album: function (res) { 18 | wx.navigateTo({ 19 | url: '../album/album' 20 | }) 21 | }, 22 | 23 | onShareAppMessage: function () { 24 | 25 | } 26 | 27 | }) -------------------------------------------------------------------------------- /miniprogram/pages/index/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "navigationBarTitleText": "welcome" 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/index/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 时光漫旅 6 | # 路一直在你的前方 # 7 | 说出来会被嘲笑的梦想 8 | 才有实践的价值 9 | -------------------------------------------------------------------------------- /miniprogram/pages/index/index.wxss: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'webfont'; 3 | font-display: swap; 4 | src: url('http://at.alicdn.com/t/webfont_0knry0h09ae.eot'); /* IE9*/ 5 | src: url('http://at.alicdn.com/t/webfont_0knry0h09ae.eot?#iefix') format('embedded-opentype'), 6 | /* IE6-IE8 */ url('http://at.alicdn.com/t/webfont_0knry0h09ae.woff2') format('woff2'), 7 | url('http://at.alicdn.com/t/webfont_0knry0h09ae.woff') format('woff'), 8 | /* chrome、firefox */ url('//at.alicdn.com/t/webfont_0knry0h09ae.ttf') format('truetype'), 9 | /* chrome、firefox、opera、Safari, 10 | Android, 11 | iOS 4.2+*/ url('http://at.alicdn.com/t/webfont_0knry0h09ae.svg#站酷小薇体') format('svg'); /* iOS 4.1- */ 12 | } 13 | 14 | page { 15 | width: 100%; 16 | height: 100%; 17 | font-family: webfont; 18 | background-color: #e97d7d; 19 | } 20 | 21 | .image-class { 22 | width: 100%; 23 | height: 100%; 24 | } 25 | 26 | .album { 27 | position: relative; 28 | } 29 | 30 | .album-title { 31 | position: absolute; 32 | bottom: 250rpx; 33 | left: 50%; 34 | transform: translate(-50%); 35 | font-size: 40px; 36 | color: #e97d7d; 37 | } 38 | 39 | .album-p { 40 | position: absolute; 41 | bottom: 180rpx; 42 | left: 50%; 43 | transform: translate(-50%); 44 | font-size: 14px; 45 | color: #e97d7d; 46 | } 47 | 48 | .album-p2 { 49 | bottom: 120rpx; 50 | } 51 | 52 | .album-p3 { 53 | bottom: 90rpx; 54 | } 55 | -------------------------------------------------------------------------------- /miniprogram/pages/picture/picture.js: -------------------------------------------------------------------------------- 1 | const db = wx.cloud.database() 2 | const limit = 20 3 | 4 | Page({ 5 | 6 | data: { 7 | list: [] 8 | }, 9 | 10 | onLoad: function(options) { 11 | let title = options.title 12 | this.setData({ 13 | title: title 14 | }) 15 | wx.cloud.callFunction({ 16 | name: 'login' 17 | }) 18 | .then(res => { 19 | this.setData({ 20 | openid: res.result.openid 21 | }) 22 | }) 23 | .catch(console.error) 24 | this.getData() 25 | }, 26 | 27 | getData: async function() { 28 | let res = await db.collection('picture').where({ 29 | title: this.data.title 30 | }).skip(this.data.list.length).get() 31 | this.setData({ 32 | list: [...this.data.list, ...res.data], //合并数据 33 | isEndOfList: res.data.length < limit ? true : false //判断是否数据结束 34 | }) 35 | }, 36 | 37 | upload_image: function (res) { 38 | if (this.data.openid !== '你的openid') { 39 | wx.showToast({ 40 | title: '你不是志远', 41 | icon: 'loading', 42 | duration: 1000 43 | }) 44 | } else { 45 | wx.chooseImage({ 46 | count: 9, 47 | sizeType: ['compressed'], 48 | sourceType: ['album', 'camera'], 49 | success: (res) => { 50 | const tempFilePaths = res.tempFilePaths 51 | for (let i = 0; i < tempFilePaths.length; i++) { 52 | wx.cloud.uploadFile({ 53 | cloudPath: `${Date.now()}-${Math.floor(Math.random(0, 1) * 10000000)}.png`, 54 | filePath: tempFilePaths[i] 55 | }).then((res) => { 56 | db.collection('picture').add({ 57 | data: { 58 | title: this.data.title, 59 | image_url: res.fileID 60 | } 61 | }).then((res) => { 62 | let result_i = i + 1; 63 | if (result_i === tempFilePaths.length) { 64 | this.getData() 65 | wx.showToast({ 66 | title: '添加成功', 67 | duration: 500 68 | }) 69 | } 70 | }) 71 | }).catch((err) => { 72 | console.log(err) 73 | }) 74 | } 75 | } 76 | }) 77 | } 78 | }, 79 | 80 | preview_image: function(res) { 81 | let imageUrl = res.currentTarget.dataset.imageurl 82 | let urls = [] 83 | for (let i = 0; i < this.data.list.length; i++) { 84 | urls.push(this.data.list[i].image_url) 85 | } 86 | wx.previewImage({ 87 | current: imageUrl, 88 | urls: urls 89 | }) 90 | }, 91 | 92 | onReachBottom: function() { 93 | !this.data.isEndOfList && this.getData() 94 | }, 95 | 96 | onShareAppMessage: function() { 97 | 98 | } 99 | 100 | }) -------------------------------------------------------------------------------- /miniprogram/pages/picture/picture.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {}, 3 | "navigationBarTitleText": "photos" 4 | } -------------------------------------------------------------------------------- /miniprogram/pages/picture/picture.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /miniprogram/pages/picture/picture.wxss: -------------------------------------------------------------------------------- 1 | .footlist { 2 | position: relative; 3 | border-top-left-radius: 10rpx; 4 | border-top-right-radius: 10rpx; 5 | padding-top: 20rpx; 6 | } 7 | 8 | .footlist::after { 9 | content: ''; 10 | clear: both; 11 | display: block; 12 | } 13 | 14 | .foot-left { 15 | float: left; 16 | width: 50%; 17 | } 18 | 19 | .foot-right { 20 | float: left; 21 | width: 50%; 22 | } 23 | 24 | .footbox { 25 | width: 100%; 26 | margin: 0 auto; 27 | background: #fff; 28 | box-sizing: border-box; 29 | position: relative; 30 | padding: 12rpx; 31 | padding-top: 10rpx; 32 | } 33 | 34 | .footbox image { 35 | width: 100%; 36 | border-top-left-radius: 10rpx; 37 | border-top-right-radius: 10rpx; 38 | border-bottom-left-radius: 10rpx; 39 | border-bottom-right-radius: 10rpx; 40 | box-shadow: 0 8rpx 8rpx rgba(88, 88, 88, 0.233); 41 | } 42 | 43 | .foot-left .footbox { 44 | padding-right: 12rpx; 45 | } 46 | 47 | -------------------------------------------------------------------------------- /miniprogram/sitemap.json: -------------------------------------------------------------------------------- 1 | { 2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", 3 | "rules": [{ 4 | "action": "allow", 5 | "page": "*" 6 | }] 7 | } -------------------------------------------------------------------------------- /miniprogram/style/iconfont.wxss: -------------------------------------------------------------------------------- 1 | @font-face {font-family: "iconfont"; 2 | src: url('//at.alicdn.com/t/font_1335501_tqqqmp13p9s.eot?t=1582448489587'); /* IE9 */ 3 | src: url('//at.alicdn.com/t/font_1335501_tqqqmp13p9s.eot?t=1582448489587#iefix') format('embedded-opentype'), /* IE6-IE8 */ 4 | url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAQcAAsAAAAACGQAAAPQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDHAqEHINzATYCJAMQCwoABCAFhG0HSRtmBxFVnIfIfhyUG880zRWbRVry6+fLfHHf+Xw69Z/uLJ9PthNW+p4LzAoRbHZZKlAIlJRpBJ6AJwCa2yl9QoHbDkFoWQiFrelYy4gI0yl7vvUs//3mV3c+rPM4jVIIiZD8zzHTpVVifqC5ZASNRnsDHLcOrPOKik70DuSA/ExiG0e0uj2Z462+DwSAwDBTEC0iLg0cDLSMACB11ZXF4B0L2AKZgOvlib0MpAM2cGmX9AhAe/H75A9mxQEJNgpam1QRXoYV3yd/L6G6pcvLEJCezgXAPQRQAFMADCBVk54S0CozBYWIJzPMA3BwSMCpRmK/l1iWKXsUDWcNdP/xJIDIII0T2Dlq+sKkiaTRxsIEAm0JaiABwA+yhwOwA7gA4B/CeagkXk/Dhg7xOCf4r3v+POP57rSnTxVLT3/2jNWc+eLF242snmOhGWk9J84YamZGn3H2ZEh6pnn8tB6clt6rl+7O2KIx1mmaodG3n5sDvbfZVDMU0zT6hCB9fbt7AJGG9N6QdbMikWj95c+f5/ccE8JoJs7dfaHUNBVX78BAf7Dz4JT03s77NJuEmCebj4ek9ewODe0z1EqzOSSkVw9eFDhzZNK6dUkjU0dfVMHEkevXRc5RKZcgzIW1NnGCljRyXcn/4TuSvAdopTfJX/XuP7B/vy/Uf+AM9e2HsFyrwiohYqjmqar2rB4WsU81erSqKm1oxNB9E6qhjWpfQFpdVS3MJxZUPXacCTjD8eiJ7pzvePzEfjbgLH/yhF8NuNqEEXP5DTo4yG6wMBOletZ8y8qDYqhTAsND5Z14IN4pRsfn/elQjOyVK2xeW4m8w97vSFCnOX6n7lB3aDvVnUOH4oWaT/WhCQBgfXqbagBAN0kW1qOsW/Hv/w22HcGnQr8lf7nCAACvfUXVRcR6DHqSv1Aqlv7XUmEL28nJylikSCT7WgYNFPjS6gQEgH+4AAR6fwpdiLgWIOAIaUCCHUOBglOMQTLsFLBRzAEZtxyEyYrDiiBkjqwDmORtAOHvAxK3W0D5+yIZ9gc2of4g84+CkFHQmYpxVe9WEwrGCsoXWNl3Stl5V9YfUd8aQW15wb4ieRuHJIz7+QI7pFNs8HedMitQ1LeQG49h0/QwUO9QcmiYhyyK1NQXhbJvJzurESQwVAGlF2BJvY7KOrPd4OePkHbTEGihaSx4hYhnxweJUCxAFppO1PRWJnt3WooxZS1SSK8FcrhQw5keGKZnOUhiIaORGmQis52SasLL69pvuAtAoE9jjWarzX6N6KS5HYqrKpCWZIOBX5VY0Tk7mQA=') format('woff2'), 5 | url('//at.alicdn.com/t/font_1335501_tqqqmp13p9s.woff?t=1582448489587') format('woff'), 6 | url('//at.alicdn.com/t/font_1335501_tqqqmp13p9s.ttf?t=1582448489587') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ 7 | url('//at.alicdn.com/t/font_1335501_tqqqmp13p9s.svg?t=1582448489587#iconfont') format('svg'); /* iOS 4.1- */ 8 | } 9 | 10 | .iconfont { 11 | font-family: "iconfont" !important; 12 | font-size: 16px; 13 | font-style: normal; 14 | -webkit-font-smoothing: antialiased; 15 | -moz-osx-font-smoothing: grayscale; 16 | } 17 | 18 | .icon-shanchu:before { 19 | content: "\e64b"; 20 | } 21 | 22 | .icon-add-circle-s:before { 23 | content: "\e662"; 24 | font-size: 80rpx; 25 | position: fixed; 26 | bottom: 100rpx; 27 | right: 50rpx; 28 | opacity: 0.5; 29 | } 30 | 31 | .icon-bianji:before { 32 | content: "\e62b"; 33 | font-size: 80rpx; 34 | position: fixed; 35 | bottom: 100rpx; 36 | right: 50rpx; 37 | opacity: 0.5; 38 | } -------------------------------------------------------------------------------- /miniprogram/style/weui.wxss: -------------------------------------------------------------------------------- 1 | /*! 2 | * WeUI v1.1.1 (https://github.com/weui/weui-wxss) 3 | * Copyright 2017 Tencent, Inc. 4 | * Licensed under the MIT license 5 | */ 6 | page{line-height:1.6;font-family:-apple-system-font,Helvetica Neue,sans-serif}icon{vertical-align:middle}.weui-cells{position:relative;margin-top:1.17647059em;background-color:#fff;line-height:1.41176471;font-size:17px}.weui-cells:before{top:0;border-top:1rpx solid #d9d9d9}.weui-cells:after,.weui-cells:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d9d9d9}.weui-cells:after{bottom:0;border-bottom:1rpx solid #d9d9d9}.weui-cells__title{margin-top:.77em;margin-bottom:.3em;padding-left:15px;padding-right:15px;color:#999;font-size:14px}.weui-cells_after-title{margin-top:0}.weui-cells__tips{margin-top:.3em;color:#999;padding-left:15px;padding-right:15px;font-size:14px}.weui-cell{padding:10px 15px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #d9d9d9;color:#d9d9d9;left:15px}.weui-cell:first-child:before{display:none}.weui-cell_active{background-color:#ececec}.weui-cell_primary{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.weui-cell__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-cell__ft{text-align:right;color:#999}.weui-cell_access{color:inherit}.weui-cell__ft_in-access{padding-right:13px;position:relative}.weui-cell__ft_in-access:after{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;margin-top:-4px;right:2px}.weui-cell_link{color:#586c94;font-size:14px}.weui-cell_link:active{background-color:#ececec}.weui-cell_link:first-child:before{display:block}.weui-icon-radio{margin-left:3.2px;margin-right:3.2px}.weui-icon-checkbox_circle,.weui-icon-checkbox_success{margin-left:4.6px;margin-right:4.6px}.weui-check__label:active{background-color:#ececec}.weui-check{position:absolute;left:-9999px}.weui-check__hd_in-checkbox{padding-right:.35em}.weui-cell__ft_in-radio{padding-left:.35em}.weui-cell_input{padding-top:0;padding-bottom:0}.weui-label{width:105px;word-wrap:break-word;word-break:break-all}.weui-input{height:2.58823529em;min-height:2.58823529em;line-height:2.58823529em}.weui-toptips{position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);top:0;left:0;right:0;padding:5px;font-size:14px;text-align:center;color:#fff;z-index:5000;word-wrap:break-word;word-break:break-all}.weui-toptips_warn{background-color:#e64340}.weui-textarea{display:block;width:100%}.weui-textarea-counter{color:#b2b2b2;text-align:right}.weui-cell_warn,.weui-textarea-counter_warn{color:#e64340}.weui-form-preview{position:relative;background-color:#fff}.weui-form-preview:before{top:0;border-top:1rpx solid #d9d9d9}.weui-form-preview:after,.weui-form-preview:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d9d9d9}.weui-form-preview:after{bottom:0;border-bottom:1rpx solid #d9d9d9}.weui-form-preview__value{font-size:14px}.weui-form-preview__value_in-hd{font-size:26px}.weui-form-preview__hd{position:relative;padding:10px 15px;text-align:right;line-height:2.5em}.weui-form-preview__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid #d9d9d9;color:#d9d9d9;left:15px}.weui-form-preview__bd{padding:10px 15px;font-size:.9em;text-align:right;color:#999;line-height:2}.weui-form-preview__ft{position:relative;line-height:50px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-form-preview__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #d5d5d6;color:#d5d5d6}.weui-form-preview__item{overflow:hidden}.weui-form-preview__label{float:left;margin-right:1em;min-width:4em;color:#999;text-align:justify;text-align-last:justify}.weui-form-preview__value{display:block;overflow:hidden;word-break:normal;word-wrap:break-word}.weui-form-preview__btn{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#3cc51f;text-align:center}.weui-form-preview__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #d5d5d6;color:#d5d5d6}.weui-form-preview__btn:first-child:after{display:none}.weui-form-preview__btn_active{background-color:#eee}.weui-form-preview__btn_default{color:#999}.weui-form-preview__btn_primary{color:#0bb20c}.weui-cell_select{padding:0}.weui-select{position:relative;padding-left:15px;padding-right:30px;height:2.58823529em;min-height:2.58823529em;line-height:2.58823529em;border-right:1rpx solid #d9d9d9}.weui-select:before{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;right:15px;margin-top:-4px}.weui-select_in-select-after{padding-left:0}.weui-cell__bd_in-select-before,.weui-cell__hd_in-select-after{padding-left:15px}.weui-cell_vcode{padding-right:0}.weui-vcode-btn,.weui-vcode-img{margin-left:5px;height:2.58823529em;vertical-align:middle}.weui-vcode-btn{display:inline-block;padding:0 .6em 0 .7em;border-left:1px solid #e5e5e5;line-height:2.58823529em;font-size:17px;color:#3cc51f;white-space:nowrap}.weui-vcode-btn:active{color:#52a341}.weui-cell_switch{padding-top:6px;padding-bottom:6px}.weui-uploader__hd{display:-webkit-box;display:-webkit-flex;display:flex;padding-bottom:10px;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-uploader__title{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__info{color:#b2b2b2}.weui-uploader__bd{margin-bottom:-4px;margin-right:-9px;overflow:hidden}.weui-uploader__file{float:left;margin-right:9px;margin-bottom:9px}.weui-uploader__img{display:block;width:79px;height:79px}.weui-uploader__file_status{position:relative}.weui-uploader__file_status:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5)}.weui-uploader__file-content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff}.weui-uploader__input-box{float:left;position:relative;margin-right:9px;margin-bottom:9px;width:77px;height:77px;border:1px solid #d9d9d9}.weui-uploader__input-box:after,.weui-uploader__input-box:before{content:" ";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#d9d9d9}.weui-uploader__input-box:before{width:2px;height:39.5px}.weui-uploader__input-box:after{width:39.5px;height:2px}.weui-uploader__input-box:active{border-color:#999}.weui-uploader__input-box:active:after,.weui-uploader__input-box:active:before{background-color:#999}.weui-uploader__input{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0}.weui-article{padding:20px 15px;font-size:15px}.weui-article__section{margin-bottom:1.5em}.weui-article__h1{font-size:18px;font-weight:400;margin-bottom:.9em}.weui-article__h2{font-size:16px;font-weight:400;margin-bottom:.34em}.weui-article__h3{font-weight:400;font-size:15px;margin-bottom:.34em}.weui-article__p{margin:0 0 .8em}.weui-msg{padding-top:36px;text-align:center}.weui-msg__link{display:inline;color:#586c94}.weui-msg__icon-area{margin-bottom:30px}.weui-msg__text-area{margin-bottom:25px;padding:0 20px}.weui-msg__title{margin-bottom:5px;font-weight:400;font-size:20px}.weui-msg__desc{font-size:14px;color:#999}.weui-msg__opr-area{margin-bottom:25px}.weui-msg__extra-area{margin-bottom:15px;font-size:14px;color:#999}@media screen and (min-height:438px){.weui-msg__extra-area{position:fixed;left:0;bottom:0;width:100%;text-align:center}}.weui-flex{display:-webkit-box;display:-webkit-flex;display:flex}.weui-flex__item{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-btn{margin-top:15px}.weui-btn:first-child{margin-top:0}.weui-btn-area{margin:1.17647059em 15px .3em}.weui-agree{display:block;padding:.5em 15px;font-size:13px}.weui-agree__text{color:#999}.weui-agree__link{display:inline;color:#586c94}.weui-agree__checkbox{position:absolute;left:-9999px}.weui-agree__checkbox-icon{position:relative;top:2px;display:inline-block;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:11px;height:11px}.weui-agree__checkbox-icon-check{position:absolute;top:1px;left:1px}.weui-footer{color:#999;font-size:14px;text-align:center}.weui-footer_fixed-bottom{position:fixed;bottom:.52em;left:0;right:0}.weui-footer__links{font-size:0}.weui-footer__link{display:inline-block;vertical-align:top;margin:0 .62em;position:relative;font-size:14px;color:#586c94}.weui-footer__link:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #c7c7c7;color:#c7c7c7;left:-.65em;top:.36em;bottom:.36em}.weui-footer__link:first-child:before{display:none}.weui-footer__text{padding:0 .34em;font-size:12px}.weui-grids{border-top:1rpx solid #d9d9d9;border-left:1rpx solid #d9d9d9;overflow:hidden}.weui-grid{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box;border-right:1rpx solid #d9d9d9;border-bottom:1rpx solid #d9d9d9}.weui-grid_active{background-color:#ececec}.weui-grid__icon{display:block;width:28px;height:28px;margin:0 auto}.weui-grid__label{margin-top:5px;display:block;text-align:center;color:#000;font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.weui-loading{margin:0 5px;width:20px;height:20px;display:inline-block;vertical-align:middle;-webkit-animation:a 1s steps(12) infinite;animation:a 1s steps(12) infinite;background:transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat;background-size:100%}.weui-loading.weui-loading_transparent{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect xmlns='http://www.w3.org/2000/svg' width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.56)' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.5)' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.43)' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.38)' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.32)' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.28)' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.25)' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.2)' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.17)' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.14)' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.1)' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.03)' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E")}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.weui-badge{display:inline-block;padding:.15em .4em;min-width:8px;border-radius:18px;background-color:#e64340;color:#fff;line-height:1.2;text-align:center;font-size:12px;vertical-align:middle}.weui-badge_dot{padding:.4em;min-width:0}.weui-loadmore{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.weui-loadmore__tips{display:inline-block;vertical-align:middle}.weui-loadmore_line{border-top:1px solid #e5e5e5;margin-top:2.4em}.weui-loadmore__tips_in-line{position:relative;top:-.9em;padding:0 .55em;background-color:#fff;color:#999}.weui-loadmore__tips_in-dot{position:relative;padding:0 .16em;width:4px;height:1.6em}.weui-loadmore__tips_in-dot:before{content:" ";position:absolute;top:50%;left:50%;margin-top:-1px;margin-left:-2px;width:4px;height:4px;border-radius:50%;background-color:#e5e5e5}.weui-panel{background-color:#fff;margin-top:10px;position:relative;overflow:hidden}.weui-panel:first-child{margin-top:0}.weui-panel:before{top:0;border-top:1rpx solid #e5e5e5}.weui-panel:after,.weui-panel:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-panel:after{bottom:0;border-bottom:1rpx solid #e5e5e5}.weui-panel__hd{padding:14px 15px 10px;color:#999;font-size:13px;position:relative}.weui-panel__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid #e5e5e5;color:#e5e5e5;left:15px}.weui-media-box{padding:15px;position:relative}.weui-media-box:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #e5e5e5;color:#e5e5e5;left:15px}.weui-media-box:first-child:before{display:none}.weui-media-box__title{font-weight:400;font-size:17px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;word-wrap:break-word;word-break:break-all}.weui-media-box__desc{color:#999;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-media-box__info{margin-top:15px;padding-bottom:5px;font-size:13px;color:#cecece;line-height:1em;list-style:none;overflow:hidden}.weui-media-box__info__meta{float:left;padding-right:1em}.weui-media-box__info__meta_extra{padding-left:1em;border-left:1px solid #cecece}.weui-media-box__title_in-text{margin-bottom:8px}.weui-media-box_appmsg{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-media-box__thumb{width:100%;height:100%;vertical-align:top}.weui-media-box__hd_in-appmsg{margin-right:.8em;width:60px;height:60px;line-height:60px;text-align:center}.weui-media-box__bd_in-appmsg{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.weui-media-box_small-appmsg{padding:0}.weui-cells_in-small-appmsg{margin-top:0}.weui-cells_in-small-appmsg:before{display:none}.weui-progress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-progress__bar{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-progress__opr{margin-left:15px;font-size:0}.weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;top:0;width:100%;border-bottom:1rpx solid #ccc}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:13px 0;text-align:center;font-size:0}.weui-navbar__item.weui-bar__item_on{color:#1aad19}.weui-navbar__slider{position:absolute;content:" ";left:0;bottom:0;width:6em;height:3px;background-color:#1aad19;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-navbar__title{display:inline-block;font-size:15px;max-width:8em;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.weui-tab{position:relative;height:100%}.weui-tab__panel{box-sizing:border-box;height:100%;padding-top:50px;overflow:auto;-webkit-overflow-scrolling:touch}.weui-search-bar{position:relative;padding:8px 10px;display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;background-color:#efeff4;border-top:1rpx solid #d7d6dc;border-bottom:1rpx solid #d7d6dc}.weui-icon-search{margin-right:8px;font-size:inherit}.weui-icon-search_in-box{position:absolute;left:10px;top:7px}.weui-search-bar__text{display:inline-block;font-size:14px;vertical-align:middle}.weui-search-bar__form{position:relative;-webkit-box-flex:1;-webkit-flex:auto;flex:auto;border-radius:5px;background:#fff;border:1rpx solid #e6e6ea}.weui-search-bar__box{position:relative;padding-left:30px;padding-right:30px;width:100%;box-sizing:border-box;z-index:1}.weui-search-bar__input{height:28px;line-height:28px;font-size:14px}.weui-icon-clear{position:absolute;top:0;right:0;padding:7px 8px;font-size:0}.weui-search-bar__label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:3px;text-align:center;color:#9b9b9b;background:#fff;line-height:28px}.weui-search-bar__cancel-btn{margin-left:10px;line-height:28px;color:#09bb07;white-space:nowrap} -------------------------------------------------------------------------------- /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 | "enhance": true, 11 | "checkSiteMap": false 12 | }, 13 | "appid": "wxfae664887c5ae65b", 14 | "projectname": "%E4%B8%AA%E4%BA%BA%E7%9B%B8%E5%86%8C", 15 | "libVersion": "2.8.1", 16 | "simulatorType": "wechat", 17 | "simulatorPluginLibVersion": {}, 18 | "condition": { 19 | "search": { 20 | "current": -1, 21 | "list": [] 22 | }, 23 | "conversation": { 24 | "current": -1, 25 | "list": [] 26 | }, 27 | "plugin": { 28 | "current": -1, 29 | "list": [] 30 | }, 31 | "game": { 32 | "list": [] 33 | }, 34 | "gamePlugin": { 35 | "current": -1, 36 | "list": [] 37 | }, 38 | "miniprogram": { 39 | "current": 0, 40 | "list": [ 41 | { 42 | "id": -1, 43 | "name": "db guide", 44 | "pathName": "pages/databaseGuide/databaseGuide", 45 | "query": "" 46 | }, 47 | { 48 | "id": 1, 49 | "name": "pages/album/album", 50 | "pathName": "pages/album/album", 51 | "query": "", 52 | "scene": null 53 | }, 54 | { 55 | "id": -1, 56 | "name": "pages/create/create", 57 | "pathName": "pages/create/create", 58 | "query": "", 59 | "scene": null 60 | }, 61 | { 62 | "id": -1, 63 | "name": "pages/picture/picture", 64 | "pathName": "pages/picture/picture", 65 | "query": "", 66 | "scene": null 67 | } 68 | ] 69 | } 70 | } 71 | } --------------------------------------------------------------------------------