├── pages ├── other │ ├── other.json │ ├── other.wxss │ ├── other.wxml │ └── other.js ├── dayin │ ├── dy │ │ ├── dy.wxss │ │ ├── dy.wxml │ │ ├── dy.json │ │ └── dy.js │ ├── dayin.json │ ├── dayin.wxss │ ├── dayin.wxml │ └── dayin.js ├── mine │ ├── jdsm │ │ ├── jdsm.wxss │ │ ├── jdsm.json │ │ ├── jdsm.js │ │ └── jdsm.wxml │ ├── about │ │ ├── about.wxss │ │ ├── about.json │ │ ├── about.wxml │ │ └── about.js │ ├── cash │ │ ├── cash.wxss │ │ ├── cash.json │ │ ├── cash.wxml │ │ └── cash.js │ ├── info │ │ ├── info.wxss │ │ ├── info.json │ │ ├── info.wxml │ │ └── info.js │ ├── mine.json │ ├── address │ │ ├── address.json │ │ ├── address.wxss │ │ ├── address.wxml │ │ └── address.js │ ├── addressinfo │ │ ├── addressinfo.json │ │ ├── addressinfo.wxss │ │ ├── addressinfo.wxml │ │ └── addressinfo.js │ ├── chooseaddress │ │ ├── chooseaddress.json │ │ ├── chooseaddress.wxss │ │ ├── chooseaddress.wxml │ │ └── chooseaddress.js │ ├── mine.wxss │ ├── mine.js │ └── mine.wxml ├── payment │ ├── payment.wxss │ ├── payment.json │ ├── payment.wxml │ └── payment.js ├── richtext │ ├── richtext.json │ ├── richtext.wxss │ ├── richtext.wxml │ └── richtext.js ├── area │ ├── area.json │ ├── area.wxss │ ├── area.wxml │ └── area.js ├── banzu │ ├── banzu.json │ ├── banzu.wxss │ ├── banzu.wxml │ └── banzu.js ├── daiqu │ ├── daiqu.json │ ├── daiqu.wxss │ ├── daiqu.wxml │ └── daiqu.js ├── index │ ├── index.json │ ├── index.wxss │ ├── index.wxml │ └── index.js ├── login │ ├── login.json │ ├── login.wxml │ ├── login.wxss │ └── login.js ├── order │ ├── detail │ │ ├── detail.json │ │ ├── detail.wxml │ │ ├── detail.wxss │ │ └── detail.js │ ├── order.json │ ├── order.js │ ├── order.wxss │ └── order.wxml └── register │ ├── register.json │ ├── register.wxss │ ├── register.wxml │ └── register.js ├── img ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png ├── bj.png ├── cn.png ├── d1.png ├── d2.png ├── d3.png ├── d4.png ├── d5.png ├── d6.png ├── dh.png ├── jt.png ├── l.png ├── l1.png ├── l2.png ├── ljt.png ├── m.png ├── mt.png ├── mt2.png ├── pjh.png ├── sh.png ├── sh1.png ├── sh2.png ├── t1.png ├── t2.png ├── t3.png ├── t4.png ├── t5.png ├── t6.png ├── t7.png ├── t8.png ├── tx.png ├── logo.png ├── none.png ├── right.png ├── location.png └── search2.png ├── 效果图片 ├── 后台-代理商.jpg ├── 后台-快递代取.jpg ├── 后台-接单员.jpg ├── 后台-首页.jpg ├── 小程序-我的.jpg ├── 小程序-提现.jpg ├── 小程序-首页.jpg ├── 小程序-申请接单.jpg └── 小程序-订单界面.jpg ├── sitemap.json ├── project.private.config.json ├── app.js ├── app.wxss ├── app.json ├── README.md ├── project.config.json ├── common.wxss ├── utils └── util.js └── .idea └── workspace.xml /pages/other/other.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /pages/dayin/dy/dy.wxss: -------------------------------------------------------------------------------- 1 | /* pages/dayin/dy/dy.wxss */ -------------------------------------------------------------------------------- /pages/dayin/dy/dy.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pages/mine/jdsm/jdsm.wxss: -------------------------------------------------------------------------------- 1 | /* pages/mine/jdsm/jdsm.wxss */ -------------------------------------------------------------------------------- /pages/mine/about/about.wxss: -------------------------------------------------------------------------------- 1 | /* pages/mine/about/about.wxss */ -------------------------------------------------------------------------------- /pages/payment/payment.wxss: -------------------------------------------------------------------------------- 1 | page{ 2 | background: #f3f3f3 3 | } -------------------------------------------------------------------------------- /pages/richtext/richtext.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /pages/area/area.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "选择一个学校" 3 | } -------------------------------------------------------------------------------- /pages/banzu/banzu.json: -------------------------------------------------------------------------------- 1 | { 2 | "enablePullDownRefresh": true 3 | } -------------------------------------------------------------------------------- /pages/daiqu/daiqu.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "快递代取" 3 | } -------------------------------------------------------------------------------- /pages/dayin/dayin.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "打印服务" 3 | } -------------------------------------------------------------------------------- /pages/dayin/dy/dy.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "上传文件" 3 | } -------------------------------------------------------------------------------- /pages/index/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "enablePullDownRefresh": true 3 | } -------------------------------------------------------------------------------- /pages/login/login.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "授权登录" 3 | } -------------------------------------------------------------------------------- /pages/mine/cash/cash.wxss: -------------------------------------------------------------------------------- 1 | page{ 2 | background-color :#f3f3f3 3 | } -------------------------------------------------------------------------------- /pages/mine/info/info.wxss: -------------------------------------------------------------------------------- 1 | page{ 2 | background-color: #f3f3f3 3 | } -------------------------------------------------------------------------------- /pages/mine/mine.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "个人中心" 3 | } -------------------------------------------------------------------------------- /img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/1.png -------------------------------------------------------------------------------- /img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/2.png -------------------------------------------------------------------------------- /img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/3.png -------------------------------------------------------------------------------- /img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/4.png -------------------------------------------------------------------------------- /img/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/5.png -------------------------------------------------------------------------------- /img/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/6.png -------------------------------------------------------------------------------- /img/bj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/bj.png -------------------------------------------------------------------------------- /img/cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/cn.png -------------------------------------------------------------------------------- /img/d1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/d1.png -------------------------------------------------------------------------------- /img/d2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/d2.png -------------------------------------------------------------------------------- /img/d3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/d3.png -------------------------------------------------------------------------------- /img/d4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/d4.png -------------------------------------------------------------------------------- /img/d5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/d5.png -------------------------------------------------------------------------------- /img/d6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/d6.png -------------------------------------------------------------------------------- /img/dh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/dh.png -------------------------------------------------------------------------------- /img/jt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/jt.png -------------------------------------------------------------------------------- /img/l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/l.png -------------------------------------------------------------------------------- /img/l1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/l1.png -------------------------------------------------------------------------------- /img/l2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/l2.png -------------------------------------------------------------------------------- /img/ljt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/ljt.png -------------------------------------------------------------------------------- /img/m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/m.png -------------------------------------------------------------------------------- /img/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/mt.png -------------------------------------------------------------------------------- /img/mt2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/mt2.png -------------------------------------------------------------------------------- /img/pjh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/pjh.png -------------------------------------------------------------------------------- /img/sh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/sh.png -------------------------------------------------------------------------------- /img/sh1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/sh1.png -------------------------------------------------------------------------------- /img/sh2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/sh2.png -------------------------------------------------------------------------------- /img/t1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t1.png -------------------------------------------------------------------------------- /img/t2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t2.png -------------------------------------------------------------------------------- /img/t3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t3.png -------------------------------------------------------------------------------- /img/t4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t4.png -------------------------------------------------------------------------------- /img/t5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t5.png -------------------------------------------------------------------------------- /img/t6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t6.png -------------------------------------------------------------------------------- /img/t7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t7.png -------------------------------------------------------------------------------- /img/t8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/t8.png -------------------------------------------------------------------------------- /img/tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/tx.png -------------------------------------------------------------------------------- /pages/mine/about/about.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "关于我们" 3 | } -------------------------------------------------------------------------------- /pages/mine/cash/cash.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "提现" 3 | } -------------------------------------------------------------------------------- /pages/mine/info/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "我的信息" 3 | } -------------------------------------------------------------------------------- /pages/mine/jdsm/jdsm.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "确认电子协议" 3 | } -------------------------------------------------------------------------------- /pages/payment/payment.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "我的钱包" 3 | } -------------------------------------------------------------------------------- /img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/logo.png -------------------------------------------------------------------------------- /img/none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/none.png -------------------------------------------------------------------------------- /img/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/right.png -------------------------------------------------------------------------------- /pages/mine/address/address.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "我的地址" 3 | } -------------------------------------------------------------------------------- /pages/order/detail/detail.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "详情" 3 | } -------------------------------------------------------------------------------- /pages/register/register.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "申请接单" 3 | } -------------------------------------------------------------------------------- /img/location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/location.png -------------------------------------------------------------------------------- /img/search2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/img/search2.png -------------------------------------------------------------------------------- /效果图片/后台-代理商.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/后台-代理商.jpg -------------------------------------------------------------------------------- /效果图片/后台-快递代取.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/后台-快递代取.jpg -------------------------------------------------------------------------------- /效果图片/后台-接单员.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/后台-接单员.jpg -------------------------------------------------------------------------------- /效果图片/后台-首页.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/后台-首页.jpg -------------------------------------------------------------------------------- /效果图片/小程序-我的.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/小程序-我的.jpg -------------------------------------------------------------------------------- /效果图片/小程序-提现.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/小程序-提现.jpg -------------------------------------------------------------------------------- /效果图片/小程序-首页.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/小程序-首页.jpg -------------------------------------------------------------------------------- /pages/mine/addressinfo/addressinfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "新增地址" 3 | } -------------------------------------------------------------------------------- /pages/mine/addressinfo/addressinfo.wxss: -------------------------------------------------------------------------------- 1 | /* pages/mine/addressinfo/addressinfo.wxss */ -------------------------------------------------------------------------------- /效果图片/小程序-申请接单.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/小程序-申请接单.jpg -------------------------------------------------------------------------------- /效果图片/小程序-订单界面.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/landalfYao/help/HEAD/效果图片/小程序-订单界面.jpg -------------------------------------------------------------------------------- /pages/mine/chooseaddress/chooseaddress.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "选择地址" 3 | } -------------------------------------------------------------------------------- /pages/payment/payment.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /pages/order/order.json: -------------------------------------------------------------------------------- 1 | { 2 | "navigationBarTitleText": "我的记录", 3 | "enablePullDownRefresh": true 4 | } -------------------------------------------------------------------------------- /pages/area/area.wxss: -------------------------------------------------------------------------------- 1 | .fixt{ 2 | padding: 20rpx 40rpx; 3 | width: 670rpx; 4 | background: linear-gradient(to top,#6183dd,#6e42d3); 5 | } -------------------------------------------------------------------------------- /sitemap.json: -------------------------------------------------------------------------------- 1 | { 2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", 3 | "rules": [{ 4 | "action": "allow", 5 | "page": "*" 6 | }] 7 | } -------------------------------------------------------------------------------- /project.private.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", 3 | "libVersion": "2.28.1", 4 | "projectname": "校园综合服务平台" 5 | } -------------------------------------------------------------------------------- /pages/mine/jdsm/jdsm.js: -------------------------------------------------------------------------------- 1 | // pages/mine/jdsm/jdsm.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | jdsm(){ 11 | wx.setStorageSync("xy", true) 12 | wx.navigateBack({ 13 | detla:1 14 | }) 15 | }, 16 | /** 17 | * 生命周期函数--监听页面加载 18 | */ 19 | onLoad: function (options) { 20 | 21 | }, 22 | 23 | 24 | }) -------------------------------------------------------------------------------- /pages/mine/address/address.wxss: -------------------------------------------------------------------------------- 1 | .btnns{ 2 | width: 100rpx; 3 | height: 100rpx; 4 | border-radius: 100rpx; 5 | box-shadow: 0 0 10rpx 0 rgba(0, 153, 255, 0.363); 6 | background:linear-gradient(to right top,#6183dd,#6e42d3); 7 | position: fixed; 8 | bottom: 30rpx; 9 | right: 30rpx; 10 | line-height: 100rpx; 11 | text-align: center; 12 | color: #fff 13 | } -------------------------------------------------------------------------------- /pages/dayin/dy/dy.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | url:'' 10 | }, 11 | 12 | /** 13 | * 生命周期函数--监听页面加载 14 | */ 15 | onLoad: function (options) { 16 | _this = this 17 | _this.setData({ 18 | url: app.com.webSrc+'?wx_id='+wx.getStorageSync("user").id 19 | }) 20 | }, 21 | 22 | }) -------------------------------------------------------------------------------- /pages/order/order.js: -------------------------------------------------------------------------------- 1 | // pages/order/order.js 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | tags:['我发出的','我收到的'], 9 | tagFlag:0 10 | }, 11 | changeTag(e){ 12 | let index = e.currentTarget.dataset.index 13 | this.setData({ 14 | tagFlag:index 15 | }) 16 | }, 17 | /** 18 | * 生命周期函数--监听页面加载 19 | */ 20 | onLoad: function (options) { 21 | 22 | }, 23 | 24 | 25 | }) -------------------------------------------------------------------------------- /pages/mine/mine.wxss: -------------------------------------------------------------------------------- 1 | .vb{ 2 | padding: 30rpx; 3 | 4 | } 5 | .avatar{ 6 | width: 100rpx; 7 | height: 100rpx; 8 | border-radius: 130rpx; 9 | overflow: hidden; 10 | margin: auto; 11 | border: 6rpx solid #ffffff; 12 | } 13 | page{ 14 | background: #f3f3f3 15 | } 16 | .btn-1{ 17 | background: #ffffff; 18 | height: 150rpx; 19 | width: 330rpx; 20 | border-radius: 10rpx; 21 | box-shadow: 0 0 10rpx 0 #e1e1e1 22 | } -------------------------------------------------------------------------------- /pages/mine/chooseaddress/chooseaddress.wxss: -------------------------------------------------------------------------------- 1 | .scroll{ 2 | height: 100rpx; 3 | white-space: nowrap; 4 | } 5 | .fix-t{ 6 | width: 100%; 7 | background-color: #ffffff; 8 | position: fixed; 9 | top: 0 10 | } 11 | page{ 12 | background-color: #f3f3f3 13 | } 14 | .yitem{ 15 | width: 150rpx; 16 | text-align: center; 17 | display: inline-block 18 | } 19 | .lined{ 20 | margin: auto; 21 | width: 60rpx; 22 | border: 4rpx solid #000 23 | } -------------------------------------------------------------------------------- /pages/index/index.wxss: -------------------------------------------------------------------------------- 1 | page{ 2 | background-color: #f7f7f7 3 | } 4 | .items{ 5 | width: 295rpx; 6 | height: 150rpx; 7 | border-radius: 10rpx; 8 | margin-bottom:80rpx; 9 | background: #fff 10 | } 11 | .cri{ 12 | width: 70rpx; 13 | height: 70rpx; 14 | border-radius: 10rpx 0 10rpx 10rpx; 15 | margin: auto; 16 | margin-top: -35rpx; 17 | box-shadow: 4rpx 4rpx 4rpx 4rpx rgba(104, 135, 225, 0.2) 18 | } 19 | .bg{ 20 | width: 750rpx; 21 | height: 280rpx; 22 | display: block 23 | } -------------------------------------------------------------------------------- /pages/richtext/richtext.wxss: -------------------------------------------------------------------------------- 1 | .cover{ 2 | width: 750rpx; 3 | height: 380rpx; 4 | display: block 5 | } 6 | page{ 7 | background-color: #f3f3f3 8 | } 9 | .dobtn{ 10 | position: fixed; 11 | bottom: 30rpx; 12 | right: 0rpx; 13 | padding: 0 40rpx; 14 | background: linear-gradient(to right top,#6183dd,#6e42d3); 15 | line-height: 90rpx; 16 | font-size: 28rpx; 17 | color: #fff; 18 | text-align: center; 19 | border-radius: 90rpx 0 0 90rpx; 20 | box-shadow: 0 0 10rpx 0 #6e42d3 21 | } -------------------------------------------------------------------------------- /pages/richtext/richtext.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{msg.title}} 4 | {{msg.author}} - {{msg.create_time}} 5 | 6 | 7 | 8 | 9 | 10 | 联系{{msg.contact}} -------------------------------------------------------------------------------- /pages/dayin/dayin.wxss: -------------------------------------------------------------------------------- 1 | .day{ 2 | width: 100rpx; 3 | height: 100rpx; 4 | border: 1px dotted #e1e1e1; 5 | line-height: 100rpx; 6 | text-align: center; 7 | font-size: #888 8 | } 9 | 10 | .bz{ 11 | padding: 30rpx; 12 | box-shadow: 0 0 10rpx 6rpx rgba(0, 0, 0, 0.07); 13 | border-radius: 10rpx; 14 | margin-top: 80rpx 15 | } 16 | .avatar{ 17 | width: 130rpx; 18 | height: 130rpx; 19 | border-radius: 130rpx; 20 | overflow: hidden; 21 | margin: auto; 22 | position: relative; 23 | top: -100rpx; 24 | border: 6rpx solid #FFCC66; 25 | background-color: #FFCC66 26 | } 27 | 28 | .fo-b{ 29 | margin-top: 50rpx; 30 | color: #6699CC 31 | } -------------------------------------------------------------------------------- /pages/mine/about/about.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 修复版v1.0.2 4 | 5 | 6 | 校园综合服务平台,是一个专注于为全国高校学生提供的最便捷的校园生活服务平台。我们的理念——互利共生。你可以成为一个发布者,发布你的需求并提供赏金;你也可以做一个接收者,接收任务并完成他人的需求,拿到赏金;当然,你也可以是个双面者(即是发布者,也是接收者),你时而寻求帮助时而提供帮助。当发布者和接收者完成各自所需,就达到了互利共生。我们希望这样一个平台,能让所有学生受利并喜欢上它,它不仅仅是一种便捷,更是为学生打开了一扇彼此合作的大门。 7 | 8 | 9 | 联系我们 10 | 11 | 合作微信&QQ: 43462218 12 | E-mail: 43462218@qq.com -------------------------------------------------------------------------------- /pages/register/register.wxss: -------------------------------------------------------------------------------- 1 | 2 | .bz{ 3 | padding: 30rpx; 4 | box-shadow: 0 0 10rpx 6rpx rgba(0, 0, 0, 0.07); 5 | border-radius: 10rpx; 6 | margin-top: 80rpx 7 | } 8 | .avatar{ 9 | width: 130rpx; 10 | height: 130rpx; 11 | border-radius: 130rpx; 12 | overflow: hidden; 13 | margin: auto; 14 | position: relative; 15 | top: -100rpx; 16 | border: 6rpx solid #FFCC66; 17 | background-color: #FFCC66 18 | } 19 | 20 | .fo-b{ 21 | margin-top: 50rpx; 22 | color: #6699CC 23 | } 24 | .tuu{ 25 | margin-top: 20rpx; 26 | width: 100%; 27 | height: 320rpx; 28 | border: 1px dotted #aaa; 29 | border-radius: 10rpx; 30 | overflow: hidden; 31 | background-size: cover; 32 | background-position: center 33 | } -------------------------------------------------------------------------------- /pages/other/other.wxss: -------------------------------------------------------------------------------- 1 | 2 | .bz{ 3 | padding: 30rpx; 4 | box-shadow: 0 0 10rpx 6rpx rgba(0, 0, 0, 0.07); 5 | border-radius: 10rpx; 6 | margin-top: 80rpx 7 | } 8 | .avatar{ 9 | width: 130rpx; 10 | height: 130rpx; 11 | border-radius: 130rpx; 12 | overflow: hidden; 13 | margin: auto; 14 | position: relative; 15 | top: -100rpx; 16 | border: 6rpx solid #FFCC66; 17 | background-color: #FFCC66 18 | } 19 | 20 | .fo-b{ 21 | margin-top: 50rpx; 22 | color: #6699CC 23 | } 24 | .tags{ 25 | padding:0 30rpx; 26 | line-height: 70rpx; 27 | background: #f1faff; 28 | font-size: 28rpx; 29 | text-align: center; 30 | margin-top: 20rpx; 31 | margin-right: 20rpx; 32 | color: #0099ff; 33 | border-radius: 10rpx 34 | } -------------------------------------------------------------------------------- /pages/order/order.wxss: -------------------------------------------------------------------------------- 1 | page{ 2 | background-color: #f3f3f3 3 | } 4 | .ft{ 5 | width: 100%; 6 | position: fixed; 7 | top: 0; 8 | display: flex; 9 | justify-content: center; 10 | background: #fff 11 | } 12 | .f-item{ 13 | font-size: 28rpx; 14 | line-height: 80rpx; 15 | width: 50%; 16 | text-align: center; 17 | background: #fff 18 | } 19 | .nlin{ 20 | width: 100rpx; 21 | border-bottom: 4rpx solid #ff6666; 22 | margin: auto 23 | } 24 | .dh{ 25 | width: 90rpx; 26 | height: 90rpx; 27 | border-radius: 90rpx; 28 | display: flex; 29 | justify-content: center; 30 | align-items: center; 31 | background: #66cc99 32 | } 33 | .dh2{ 34 | width: 90rpx; 35 | height: 90rpx; 36 | border-radius: 90rpx; 37 | display: flex; 38 | justify-content: center; 39 | align-items: center; 40 | background: #6699CC 41 | } -------------------------------------------------------------------------------- /pages/mine/about/about.js: -------------------------------------------------------------------------------- 1 | // pages/mine/about/about.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 | }) -------------------------------------------------------------------------------- /pages/payment/payment.js: -------------------------------------------------------------------------------- 1 | // pages/payment/payment.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 | }) -------------------------------------------------------------------------------- /pages/daiqu/daiqu.wxss: -------------------------------------------------------------------------------- 1 | .dk{ 2 | background: linear-gradient(to top,#fff,#45c6ff); 3 | min-height: 200rpx 4 | } 5 | .fgh{ 6 | width: 190rpx; 7 | height: 80rpx; 8 | border: 1px solid #e1e1e1; 9 | font-size: 30rpx; 10 | text-align: center; 11 | line-height: 80rpx; 12 | margin-top: 30rpx; 13 | color: #888 14 | } 15 | .fgh2{ 16 | width: 190rpx; 17 | height: 80rpx; 18 | border: 1px solid #ff6633; 19 | font-size: 30rpx; 20 | text-align: center; 21 | line-height: 80rpx; 22 | margin-top: 30rpx; 23 | color: #ff6633 24 | } 25 | 26 | .bz{ 27 | padding: 30rpx; 28 | box-shadow: 0 0 10rpx 6rpx rgba(0, 0, 0, 0.07); 29 | border-radius: 10rpx; 30 | margin-top: 80rpx 31 | } 32 | .avatar{ 33 | width: 130rpx; 34 | height: 130rpx; 35 | border-radius: 130rpx; 36 | overflow: hidden; 37 | margin: auto; 38 | position: relative; 39 | top: -100rpx; 40 | border: 6rpx solid #FFCC66; 41 | background-color: #FFCC66 42 | } 43 | 44 | .fo-b{ 45 | margin-top: 50rpx; 46 | color: #6699CC 47 | } -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | let com = require('./utils/util.js') 2 | App({ 3 | com: com, 4 | onLaunch: function () { 5 | let _this = this 6 | }, 7 | login(cb){ 8 | wx.login({ 9 | success(res) { 10 | com.post('wx/user/login', { js_code: res.code }, function (res) { 11 | if (res.code == 1) { 12 | wx.setStorageSync("user", res.data) 13 | wx.setStorageSync("token", res.token) 14 | cb(res) 15 | } 16 | }) 17 | } 18 | }) 19 | }, 20 | //获取默认地址 21 | getMoren(id){ 22 | if(id){ 23 | com.post('user/address/get/id', { id: id }, function (res) { 24 | if (res.code == 1) { 25 | wx.setStorageSync("address", res.data) 26 | } 27 | }) 28 | } 29 | }, 30 | getRes(id){ 31 | com.post('wx/user/get/info/wxid', { wx_id: id }, function (res) { 32 | if (res.code == 1) { 33 | wx.setStorageSync("res", res.data) 34 | } 35 | }) 36 | }, 37 | globalData: { 38 | userInfo: null 39 | } 40 | }) -------------------------------------------------------------------------------- /pages/order/order.wxml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 支出(元) 12 | 156 13 | 14 | 15 | 数量(个) 16 | 5 17 | 18 | 19 | 20 | 21 | 22 | 阿三打撒是的发士大大十大阿瑟东撒的撒夫阿瑟东 23 | 2018-05-26 24 | 25 | 26 | 已取消 27 | ¥26 28 | 29 | -------------------------------------------------------------------------------- /pages/richtext/richtext.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | msg:{} 10 | }, 11 | 12 | /** 13 | * 生命周期函数--监听页面加载 14 | */ 15 | onLoad: function (options) { 16 | _this = this 17 | this.getMsg(options.id) 18 | }, 19 | getMsg(id){ 20 | app.com.post('richtext/get/id',{id:id},function(res){ 21 | if(res.code == 1){ 22 | let reg = new RegExp(' 2 | 3 | 4 | 5 | 账户余额 6 | {{showFee}} 7 | 8 | 提现现金 9 | 10 | 11 | 12 | 13 | 全部 14 | 15 | 16 | 单次提现金额至少0.3元,最多1000元,每日提现2次 17 | 18 | 19 | 20 | 21 | 提现申请将在1-3个工作日内到账 22 | 23 | 24 | -------------------------------------------------------------------------------- /pages/area/area.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | {{item.name}} 12 | 13 | 14 | 15 | 16 | 17 | -- 暂无数据 -- 18 | 19 | 20 | Loading 21 | 加载中... 22 | 23 | 24 | 25 | 26 | 我是有底线的 27 | 28 | -------------------------------------------------------------------------------- /app.wxss: -------------------------------------------------------------------------------- 1 | @import './common.wxss'; 2 | .fo-m{ 3 | color: #FF6666 4 | } 5 | .fix-t{ 6 | width: 100%; 7 | position: fixed; 8 | top: 0 9 | } 10 | .fo-t{ 11 | color: #6887e1 12 | } 13 | .fg1{ 14 | width: 80rpx; 15 | border-bottom: 1px solid #aaaaaa 16 | } 17 | 18 | .fg2{ 19 | margin: 0 30rpx; 20 | font-size: 26rpx; 21 | color: #888 22 | } 23 | .fo-bu{ 24 | color: #0099ff 25 | } 26 | .bg-b{ 27 | background: #00CCFF 28 | } 29 | .fb-btn{ 30 | line-height: 90rpx; 31 | text-align: center; 32 | color: #fff; 33 | font-size: 28rpx; 34 | border-radius: 10rpx; 35 | background-color: #ff9900 36 | } 37 | .bg-m{ 38 | background: linear-gradient(to right top,#6183dd,#6e42d3) 39 | } 40 | .pa-40{ 41 | padding: 40rpx; 42 | } 43 | .pa-l40{ 44 | padding-left: 40rpx 45 | } 46 | .pa-r40{ 47 | padding-right: 40rpx 48 | } 49 | .pa-60{ 50 | padding: 60rpx; 51 | } 52 | .pa-l60{ 53 | padding-left: 60rpx 54 | } 55 | .pa-r60{ 56 | padding-right: 60rpx 57 | } 58 | .btns{ 59 | line-height: 90rpx; 60 | text-align: center; 61 | color: #fff; 62 | font-size: 30rpx; 63 | border-radius: 100rpx; 64 | background: linear-gradient(to right top,#6183dd,#6e42d3); 65 | margin-top: 80rpx; 66 | } 67 | .btns:active{ 68 | background: linear-gradient(to right top,#6183dd,#6e42d3); 69 | } -------------------------------------------------------------------------------- /pages/login/login.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 | -------------------------------------------------------------------------------- /pages/login/login.wxss: -------------------------------------------------------------------------------- 1 | page { 2 | background: linear-gradient(to top,#6183dd,#6e42d3); 3 | font-size: 32rpx; 4 | } 5 | 6 | .container { 7 | padding: 0 60rpx; 8 | } 9 | .bgg{ 10 | font-size: 30rpx; 11 | text-align: center; 12 | width: 100%; 13 | line-height: 90rpx; 14 | height: 90rpx; 15 | background: rgba(255, 255, 255, 0.8) 16 | } 17 | .panels{ 18 | padding: 30rpx; 19 | background-color: rgba(255, 255, 255, 0.3) 20 | } 21 | .wechatapp { 22 | padding: 80rpx 0 48rpx; 23 | margin-bottom: 72rpx; 24 | text-align: center; 25 | } 26 | 27 | .wechatapp .header { 28 | width: 190rpx; 29 | height: 190rpx; 30 | border: 2px solid #fff; 31 | margin: 0rpx auto 0; 32 | border-radius: 50%; 33 | overflow: hidden; 34 | box-shadow: 1px 0px 5px rgba(50, 50, 50, 0.3); 35 | } 36 | 37 | .auth-title { 38 | color: #585858; 39 | font-size: 40rpx; 40 | margin-bottom: 40rpx; 41 | } 42 | 43 | .auth-subtitle { 44 | color: #888; 45 | margin-bottom: 88rpx; 46 | } 47 | 48 | .login-btn { 49 | border: none; 50 | height: 88rpx; 51 | line-height: 88rpx; 52 | background: #04be01; 53 | color: #fff; 54 | font-size: 11pt; 55 | border-radius: 999rpx; 56 | } 57 | 58 | .login-btn::after { 59 | display: none; 60 | } 61 | 62 | .login-btn.button-hover { 63 | box-shadow: inset 0 5rpx 30rpx rgba(0, 0, 0, 0.15); 64 | } 65 | -------------------------------------------------------------------------------- /pages/mine/addressinfo/addressinfo.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 选择楼栋 6 | 7 | 8 | {{address ? address:'点击选择'}} 9 | 10 | 11 | 12 | 13 | 14 | 15 | 详细地址 16 | 17 | 18 | 19 | 20 | 21 | 22 | 是否设为默认地址 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /pages/mine/chooseaddress/chooseaddress.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{item.name}} 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | {{item.name}} 14 | -{{item.sub_name}} 15 | 16 | 17 | 18 | 19 | 20 | -- 暂无数据 -- 21 | 22 | 23 | Loading 24 | 加载中... 25 | 26 | 27 | 28 | 29 | 没有更多了 30 | 31 | -------------------------------------------------------------------------------- /pages/mine/mine.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | Page({ 3 | 4 | /** 5 | * 页面的初始数据 6 | */ 7 | data: { 8 | 9 | }, 10 | swtobz(e){ 11 | wx.setStorageSync("bzflag", e.currentTarget.dataset.index) 12 | wx.switchTab({ 13 | url: '/pages/banzu/banzu', 14 | }) 15 | }, 16 | navTo(e) { 17 | app.com.navTo(e) 18 | }, 19 | makePhone(){ 20 | wx.makePhoneCall({ 21 | phoneNumber: wx.getStorageSync("dl").phone, 22 | }) 23 | }, 24 | /** 25 | * 生命周期函数--监听页面加载 26 | */ 27 | onLoad: function (options) { 28 | 29 | }, 30 | 31 | /** 32 | * 生命周期函数--监听页面初次渲染完成 33 | */ 34 | onReady: function () { 35 | 36 | }, 37 | 38 | /** 39 | * 生命周期函数--监听页面显示 40 | */ 41 | onShow: function () { 42 | if (wx.getStorageSync("user").phone) { 43 | this.setData({ 44 | userInfo: wx.getStorageSync("user") 45 | }) 46 | } else { 47 | wx.navigateTo({ 48 | url: '/pages/login/login', 49 | }) 50 | } 51 | 52 | }, 53 | 54 | /** 55 | * 生命周期函数--监听页面隐藏 56 | */ 57 | onHide: function () { 58 | 59 | }, 60 | 61 | /** 62 | * 生命周期函数--监听页面卸载 63 | */ 64 | onUnload: function () { 65 | 66 | }, 67 | 68 | /** 69 | * 页面相关事件处理函数--监听用户下拉动作 70 | */ 71 | onPullDownRefresh: function () { 72 | 73 | }, 74 | 75 | /** 76 | * 页面上拉触底事件的处理函数 77 | */ 78 | onReachBottom: function () { 79 | 80 | }, 81 | 82 | /** 83 | * 用户点击右上角分享 84 | */ 85 | onShareAppMessage: function () { 86 | 87 | } 88 | }) -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/index/index", 4 | "pages/order/order", 5 | "pages/mine/mine", 6 | "pages/mine/info/info", 7 | "pages/mine/address/address", 8 | "pages/area/area", 9 | "pages/login/login", 10 | "pages/payment/payment", 11 | "pages/other/other", 12 | "pages/daiqu/daiqu", 13 | "pages/dayin/dayin", 14 | "pages/dayin/dy/dy", 15 | "pages/banzu/banzu", 16 | "pages/order/detail/detail", 17 | "pages/register/register", 18 | "pages/mine/addressinfo/addressinfo", 19 | "pages/mine/chooseaddress/chooseaddress", 20 | "pages/mine/cash/cash", 21 | "pages/mine/jdsm/jdsm", 22 | "pages/mine/about/about", 23 | "pages/richtext/richtext" 24 | ], 25 | "window": { 26 | "backgroundTextStyle": "dark", 27 | "navigationBarBackgroundColor": "#ffffff", 28 | "navigationBarTitleText": "校园综合服务平台", 29 | "navigationBarTextStyle": "black" 30 | }, 31 | "tabBar": { 32 | "selectedColor": "#6887e1", 33 | "borderStyle": "white", 34 | "list": [ 35 | { 36 | "pagePath": "pages/index/index", 37 | "text": "首页", 38 | "iconPath": "img/t1.png", 39 | "selectedIconPath": "img/t2.png" 40 | }, 41 | { 42 | "pagePath": "pages/banzu/banzu", 43 | "text": "去帮忙", 44 | "iconPath": "img/t7.png", 45 | "selectedIconPath": "img/t8.png" 46 | }, 47 | { 48 | "pagePath": "pages/mine/mine", 49 | "text": "我的", 50 | "iconPath": "img/t5.png", 51 | "selectedIconPath": "img/t6.png" 52 | } 53 | ] 54 | }, 55 | "sitemapLocation": "sitemap.json" 56 | } -------------------------------------------------------------------------------- /pages/index/index.wxml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | {{area.name}} 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | {{item.server_name}} 31 | (休息中) 32 | 33 | 34 | -------------------------------------------------------------------------------- /pages/mine/chooseaddress/chooseaddress.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | cate:[], 10 | flag:0, 11 | load:false, 12 | lisst:[] 13 | }, 14 | chooseIt(e){ 15 | let index = e.currentTarget.dataset.index 16 | let pages = getCurrentPages(); 17 | let currPage = pages[pages.length - 1]; //当前页面 18 | let prevPage = pages[pages.length - 2]; 19 | prevPage.setData({ 20 | address: this.data.cate[this.data.flag].name+'-'+this.data.list[index].name 21 | }) 22 | wx.navigateBack({ 23 | delta:1 24 | }) 25 | }, 26 | changeTag(e){ 27 | this.setData({ 28 | flag:e.currentTarget.dataset.index 29 | }) 30 | this.getList(this.data.cate[e.currentTarget.dataset.index].id) 31 | }, 32 | /** 33 | * 生命周期函数--监听页面加载 34 | */ 35 | onLoad: function (options) { 36 | _this = this 37 | this.getCate() 38 | }, 39 | 40 | getCate(){ 41 | app.com.post('address/cate/get',{ 42 | pageIndex:1, 43 | pageSize:1000, 44 | wheres:'is_delete=0 and is_show=1 and a_id='+wx.getStorageSync("area").pk_id, 45 | sorts:'sort asc' 46 | },function(res){ 47 | if(res.code == 1){ 48 | _this.setData({ 49 | cate:res.data.list 50 | }) 51 | _this.getList(res.data.list[0].id) 52 | } 53 | }) 54 | }, 55 | getList(cate_id){ 56 | this.setData({ 57 | load:true 58 | }) 59 | app.com.post('address/get',{ 60 | pageIndex: 1, 61 | pageSize: 1000, 62 | wheres: 'is_delete=0 and cate_id='+cate_id+' and a_id=' + wx.getStorageSync("area").pk_id, 63 | sorts: 'sort asc' 64 | },function(res){ 65 | if(res.code == 1){ 66 | _this.setData({ 67 | list:res.data.list, 68 | load:false 69 | }) 70 | } 71 | }) 72 | } 73 | }) -------------------------------------------------------------------------------- /pages/mine/info/info.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 | 38 | 39 |
-------------------------------------------------------------------------------- /pages/mine/address/address.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{item.address + '-'+item.detail}} 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 | Loading 31 | 加载中... 32 | 33 | 34 | 35 | 36 | 没有更多了 37 | 38 | 39 | 40 | + -------------------------------------------------------------------------------- /pages/other/other.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 帮助内容(必填): 12 | 13 | 14 | 15 | {{item.label}} 16 | 17 | 18 | 19 | 取货地点(必填): 20 | 21 | 22 | 23 | 帮助地点(必选) 24 | 25 | {{address ? address:'请选择地址'}} 26 | 27 | 28 | 29 | 30 | 赏金(必填): 31 | 32 | 33 | {{msg.des}} 34 | 35 |
36 | 37 |
38 | 42 | 43 |
-------------------------------------------------------------------------------- /pages/daiqu/daiqu.wxml: -------------------------------------------------------------------------------- 1 | *该服务由平台承包* 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 快递类型 15 | 16 | {{item.la}} 17 | 18 | 19 | 23 | 24 | 收件地址 25 | 26 | {{address ? address:'请选择地址'}} 27 | 28 | 29 | 30 | 31 | 备注信息 32 | 33 | 34 | 35 | {{msg.des}} 36 | 需支付 37 | {{kdtype[flag].price}} 38 | 39 | 40 | 41 |
42 | 43 |
44 | 48 | 49 |
-------------------------------------------------------------------------------- /pages/mine/cash/cash.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | showFee:'0.00', 10 | realFee:0, 11 | cashFee:null 12 | }, 13 | cashInput(e){ 14 | if(e.detail.value > 1000){ 15 | wx.showToast({ 16 | title: '单笔提现金额不能大于1000元', 17 | icon: 'none' 18 | }) 19 | } else{ 20 | this.setData({ 21 | cashFee: e.detail.value 22 | }) 23 | } 24 | }, 25 | /** 26 | * 生命周期函数--监听页面加载 27 | */ 28 | onLoad: function (options) { 29 | _this = this 30 | this.getData() 31 | }, 32 | getData(){ 33 | app.com.post('wallet/get/uid',{ 34 | wx_id:wx.getStorageSync("user").id, 35 | type:1 36 | },function(res){ 37 | if(res.code == 1){ 38 | _this.setData({ 39 | showFee:res.data.showFee, 40 | realFee:res.data.realFee 41 | }) 42 | } 43 | }) 44 | }, 45 | cashAll(){ 46 | if(this.data.realFee > 0.3){ 47 | this.setData({ 48 | cashFee: this.data.realFee.toFixed(2) 49 | }) 50 | }else{ 51 | wx.showToast({ 52 | title: '单笔提现金额不能小于0.3元', 53 | icon: 'none' 54 | }) 55 | } 56 | }, 57 | cashIt(){ 58 | if (this.data.cashFee <=0.3){ 59 | wx.showToast({ 60 | title: '单笔提现金额不能小于0.3元', 61 | icon:'none' 62 | }) 63 | } else if (this.data.cashFee >1000){ 64 | wx.showToast({ 65 | title: '单笔提现金额不能大于1000元', 66 | icon: 'none' 67 | }) 68 | } else if (this.data.cashFee > this.data.realFee+0.01) { 69 | wx.showToast({ 70 | title: '提现金额不能大于余额', 71 | icon: 'none' 72 | }) 73 | this.setData({ 74 | cashFee: this.data.realFee.toFixed(2) 75 | }) 76 | }else{ 77 | wx.showLoading({ 78 | title: '请求中', 79 | task:true 80 | }) 81 | app.com.post('wallet/cash',{cashFee:this.data.cashFee},function(res){ 82 | if(res.code == 1){ 83 | wx.hideLoading() 84 | 85 | wx.showModal({ 86 | title: '提现结果', 87 | content: res.msg, 88 | showCancel:false, 89 | }) 90 | _this.getData() 91 | } 92 | }) 93 | } 94 | } 95 | }) -------------------------------------------------------------------------------- /pages/daiqu/daiqu.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | kdtype: [{ la: '小件', price: 1 }, { la: '中件', price: 2 }, { la: '大件', price: 3 }], 10 | flag:0, 11 | address:'' 12 | }, 13 | navTo(e) { 14 | app.com.navTo(e) 15 | }, 16 | change(e){ 17 | this.setData({ 18 | flag: e.currentTarget.dataset.index 19 | }) 20 | }, 21 | /** 22 | * 生命周期函数--监听页面加载 23 | */ 24 | onLoad: function (options) { 25 | _this = this 26 | let p = wx.getStorageSync("server")[options.index].price_gui.split(',') 27 | this.data.kdtype[0].price = p[0] 28 | this.data.kdtype[1].price = p[1] 29 | this.data.kdtype[2].price = p[2] 30 | this.setData({ 31 | msg: wx.getStorageSync("server")[options.index], 32 | kdtype:this.data.kdtype 33 | }) 34 | if(wx.getStorageSync("address")){ 35 | let add = wx.getStorageSync("address") 36 | this.setData({ 37 | address: add.address + '-'+add.detail 38 | }) 39 | } 40 | }, 41 | formSubmit(e){ 42 | let formId = e.detail.formId 43 | let mu = e.detail.value.mu 44 | if(this.data.address == ''){ 45 | wx.showToast({ 46 | title: '请选择地址', 47 | icon:'none' 48 | }) 49 | }else{ 50 | wx.showLoading({ 51 | title: '发布中', 52 | mask:true 53 | }) 54 | app.com.post('help/add',{ 55 | openid: wx.getStorageSync("user").openid, 56 | wx_id:wx.getStorageSync("user").id, 57 | mu:this.data.address, 58 | a_id: wx.getStorageSync("area").pk_id, 59 | form_id:formId, 60 | title:'快递代取', 61 | des:this.data.kdtype[this.data.flag].la+' '+e.detail.value.des, 62 | total_fee: this.data.kdtype[this.data.flag].price 63 | },function(res){ 64 | if(res.code == 1){ 65 | wx.showToast({ 66 | title: '发布成功', 67 | }) 68 | _this.wxpay(res) 69 | }else{ 70 | wx.showToast({ 71 | title: res.msg, 72 | icon:'none' 73 | }) 74 | } 75 | }) 76 | } 77 | }, 78 | wxpay(msg){ 79 | app.com.wxpay(msg) 80 | }, 81 | /** 82 | * 生命周期函数--监听页面初次渲染完成 83 | */ 84 | onReady: function () { 85 | 86 | }, 87 | 88 | /** 89 | * 生命周期函数--监听页面显示 90 | */ 91 | onShow: function () { 92 | 93 | }, 94 | 95 | 96 | }) -------------------------------------------------------------------------------- /pages/mine/address/address.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | list:[], 10 | load:false 11 | }, 12 | chooseIt(e){ 13 | let index = e.currentTarget.dataset.index 14 | let pages = getCurrentPages(); 15 | let currPage = pages[pages.length - 1]; //当前页面 16 | let prevPage = pages[pages.length - 2]; 17 | prevPage.setData({ 18 | address: this.data.list[index].address + '-' + this.data.list[index].detail 19 | }) 20 | wx.navigateBack({ 21 | delta: 1, 22 | }) 23 | }, 24 | del(e){ 25 | let index = e.currentTarget.dataset.index 26 | wx.showModal({ 27 | title: '提示', 28 | content: '删除后该数据将无法恢复,是否继续?', 29 | success(res){ 30 | if(res.confirm){ 31 | wx.showLoading({ 32 | title: '删除中', 33 | task:true 34 | }) 35 | app.com.post('user/address/del',{ 36 | ids:_this.data.list[index].id 37 | },function(res){ 38 | wx.hideLoading() 39 | if(res.code == 1){ 40 | wx.showToast({ 41 | title: '删除成功', 42 | task:true 43 | }) 44 | _this.getList() 45 | }else{ 46 | wx.showToast({ 47 | title: '删除失败', 48 | icon: 'none' 49 | }) 50 | } 51 | }) 52 | } 53 | } 54 | }) 55 | }, 56 | navTo(e) { 57 | app.com.navTo(e) 58 | }, 59 | bj(e){ 60 | wx.navigateTo({ 61 | url: '/pages/mine/addressinfo/addressinfo?data='+JSON.stringify(this.data.list[e.currentTarget.dataset.index]), 62 | }) 63 | }, 64 | /** 65 | * 生命周期函数--监听页面加载 66 | */ 67 | onLoad: function (options) { 68 | _this = this 69 | _this.getList() 70 | _this.setData({ 71 | choose: options.choose ? options.choose:0 72 | }) 73 | }, 74 | getList(){ 75 | this.setData({ 76 | load:true 77 | }) 78 | app.com.post('user/address/get',{ 79 | pageIndex:1, 80 | pageSize:1000, 81 | wheres:'is_delete=0 and wx_id='+wx.getStorageSync("user").id, 82 | sorts:'create_time desc' 83 | },function(res){ 84 | if(res.code == 1){ 85 | _this.setData({ 86 | list:res.data.list, 87 | load:false 88 | }) 89 | } 90 | }) 91 | }, 92 | onShow: function (){ 93 | this.setData({ 94 | defId:wx.getStorageSync("user").default_address 95 | }) 96 | } 97 | }) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 校园综合服务平台-微信小程序 2 | ## 介绍 3 | 4 | > 本文档为校园综合服务平台服务端的安装部署教程,欢迎 star 5 | 6 | > 项目不足请多指教,任何问题请移步对应的仓库提交Issues,或加入最下方交流群 7 | 8 | > ### 修复记录 v1.0.2
9 | > #### 后端
10 | >1.修复后端代理登录问题
11 | 2.修复打印页面不显示问题
12 | 3.修复支付失败问题
13 | 4.优化后端逻辑
14 | > 15 | > #### 前端
16 | > 1.修复并适配最新的登录代码
17 | 2.修复打印服务项问题
18 | 3.修复部分订单前端不显示问题
19 | 4.修复接单员上传证件失败问题
20 | 21 | ### 项目链接 22 | 本项目 一共分为三个仓库,以下为对应三个仓库地址: 23 | 24 | #### [1.小程序端地址:https://github.com/landalfYao/help.git](https://github.com/landalfYao/help.git)
25 | 26 | #### [2.后台地址:https://github.com/landalfYao/helpclient](https://github.com/landalfYao/helpclient)
27 | 28 | #### [3.后台-服务端地址:https://github.com/landalfYao/helpserver.git](https://github.com/landalfYao/helpserver.git)
29 | 30 | ## 交流方式 31 | 32 | ### !搭建遇到任何问题,请联系群内管理人员,切勿相信其他非管理人员! 33 | 34 | 点击链接加入群聊【hbhzdtn交流群1群】:https://jq.qq.com/?_wv=1027&k=8P2OdlUB
35 | 1号群:664588763
36 | 点击链接加入群聊【hbhzdtn交流群2群】:https://jq.qq.com/?_wv=1027&k=jNQktW2Q
37 | 2号群:939216531
38 | 39 | ## 效果图展示 40 | ### 前端 41 | ![小程序-首页](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%B0%8F%E7%A8%8B%E5%BA%8F-%E9%A6%96%E9%A1%B5.jpg) 42 | ![小程序-订单](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%B0%8F%E7%A8%8B%E5%BA%8F-%E8%AE%A2%E5%8D%95%E7%95%8C%E9%9D%A2.jpg) 43 | ![小程序-我的](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%B0%8F%E7%A8%8B%E5%BA%8F-%E6%88%91%E7%9A%84.jpg) 44 | ![小程序-申请接单](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%B0%8F%E7%A8%8B%E5%BA%8F-%E7%94%B3%E8%AF%B7%E6%8E%A5%E5%8D%95.jpg) 45 | ![小程序-提现](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%B0%8F%E7%A8%8B%E5%BA%8F-%E6%8F%90%E7%8E%B0.jpg) 46 | 47 | 48 | 49 | ### 后端 50 | 51 | ![后台-首页](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%90%8E%E5%8F%B0-%E9%A6%96%E9%A1%B5.jpg) 52 | ![后台-代理商](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%90%8E%E5%8F%B0-%E4%BB%A3%E7%90%86%E5%95%86.jpg) 53 | ![后台-接单员](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%90%8E%E5%8F%B0-%E6%8E%A5%E5%8D%95%E5%91%98.jpg) 54 | ![后台-快递代取](https://gitee.com/yaozy717/hbhzdtn/raw/master/%E6%95%88%E6%9E%9C%E5%9B%BE%E7%89%87/%E5%90%8E%E5%8F%B0-%E5%BF%AB%E9%80%92%E4%BB%A3%E5%8F%96.jpg) 55 | 56 | 57 | v3版本跑跑乐:
58 | ![跑跑乐](https://pplptfile.oss-cn-hangzhou.aliyuncs.com/gh_b65d6d07f213_258.jpg) 59 | -------------------------------------------------------------------------------- /pages/login/login.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | userInfo: {}, 9 | hasUserInfo: false, 10 | canIUseGetUserProfile: false, 11 | data: { 12 | phone:'', 13 | dphone:'' 14 | }, 15 | getPhoneNumber (e) { 16 | console.log(e.detail.code) 17 | }, 18 | ddinput(e){ 19 | let name = e.currentTarget.dataset.name; 20 | this.data[name] = e.detail.value; 21 | 22 | this.setData({ 23 | phone: this.data.phone, 24 | dphone: this.data.dphone 25 | }) 26 | }, 27 | /** 28 | * 生命周期函数--监听页面加载 29 | */ 30 | onLoad() { 31 | if (wx.getUserProfile) { 32 | this.setData({ 33 | canIUseGetUserProfile: true 34 | }) 35 | } 36 | }, 37 | getUserProfile(e) { 38 | 39 | wx.getUserProfile({ 40 | desc: '用于完善用户资料(头像、昵称等)', 41 | success: (res) => { 42 | console.log('获取用户信息成功', res) 43 | this.setData({ 44 | userInfo: res.userInfo 45 | }) 46 | this.authorLogin() 47 | }, 48 | fail: (res) => { 49 | console.log('获取用户信息失败', res) 50 | } 51 | }) 52 | }, 53 | /** 54 | * 生命周期函数--监听页面初次渲染完成 55 | */ 56 | onReady: function () { 57 | 58 | }, 59 | authorLogin(e){ 60 | if(this.data.phone == ''){ 61 | wx.showToast({ 62 | title: '请填写手机号', 63 | icon:'none' 64 | }) 65 | }else{ 66 | wx.showLoading({ 67 | title: '授权中', 68 | task:true 69 | }) 70 | let userInfo = this.data.userInfo 71 | console.log() 72 | userInfo.id = wx.getStorageSync("user").id 73 | userInfo.phone = this.data.phone 74 | userInfo.dphone = this.data.dphone 75 | app.com.post('wx/user/update', userInfo, function (res) { 76 | wx.hideLoading() 77 | if(res.code == 1){ 78 | wx.showToast({ 79 | title: '授权成功', 80 | mask:true, 81 | duration:800 82 | }) 83 | let user = res.data 84 | user.phone = userInfo.phone 85 | wx.setStorage({ 86 | key: 'user', 87 | data: user, 88 | }) 89 | // wx.setStorageSync("user", user) 90 | setTimeout(function(){ 91 | wx.navigateBack({ 92 | detal:1 93 | }) 94 | },900) 95 | }else{ 96 | wx.showToast({ 97 | title: '授权失败', 98 | icon:'none' 99 | }) 100 | } 101 | }) 102 | } 103 | }, 104 | }) -------------------------------------------------------------------------------- /pages/banzu/banzu.wxss: -------------------------------------------------------------------------------- 1 | page{ 2 | background-color: #f7f7f7 3 | } 4 | .bbf{ 5 | width: 100%; 6 | background-color: #ffffff; 7 | position: fixed; 8 | top: 0; 9 | height: 90rpx 10 | } 11 | .bbf-item{ 12 | width: 33.33%; 13 | text-align: center; 14 | color: #6887e1 15 | } 16 | .botn{ 17 | border-bottom: 4rpx solid #6887e1; 18 | width: 60%; 19 | margin: auto 20 | } 21 | .titem{ 22 | padding: 20rpx; 23 | background-color: #ffffff; 24 | border-radius: 10rpx; 25 | box-shadow: 0 0 10rpx 5rpx #f1f1f1; 26 | margin-bottom: 20rpx 27 | } 28 | .avatar{ 29 | width: 60rpx; 30 | height: 60rpx; 31 | border-radius: 60rpx; 32 | background: #e1e1e1 33 | } 34 | .state{ 35 | padding:0 15rpx; 36 | height: 50rpx; 37 | font-size: 24rpx; 38 | width: 120rpx; 39 | text-align: center; 40 | line-height: 50rpx; 41 | border-radius: 5rpx 42 | } 43 | .ste1{ 44 | background-color: rgba(0, 204, 153,0.08); 45 | color: #00cc99 46 | } 47 | .ste2{ 48 | background-color: rgba(51, 153, 255, 0.08); 49 | color: rgb(51, 153, 255) 50 | } 51 | .ste3{ 52 | background-color: rgba(255, 153, 0,0.08); 53 | color: rgb(255, 153, 0) 54 | } 55 | .ste4{ 56 | background-color: rgba(255, 102, 102,0.08); 57 | color: #ff6666 58 | } 59 | .ste5{ 60 | background-color: rgba(136, 136, 136,0.08); 61 | color: rgb(136, 136, 136) 62 | } 63 | .bzBtn{ 64 | font-size: 26rpx; 65 | background: linear-gradient(to right top,#51c3fe,#92abff); 66 | color: #fff; 67 | line-height: 60rpx; 68 | width: 150rpx; 69 | text-align: center; 70 | border-radius: 20rpx 0 20rpx 0; 71 | box-shadow: 5rpx 10rpx 10rpx 0rpx rgba(82, 197, 254, 0.267) 72 | } 73 | .bzBtn2{ 74 | font-size: 26rpx; 75 | background: linear-gradient(to right top,#ff8965,#ff64a1); 76 | color: #fff; 77 | line-height: 60rpx; 78 | width: 150rpx; 79 | text-align: center; 80 | border-radius: 20rpx 0 20rpx 0; 81 | box-shadow: 5rpx 10rpx 10rpx 0rpx hsla(14, 100%, 70%, 0.267) 82 | } 83 | .bzBtn3{ 84 | font-size: 26rpx; 85 | background: #fff; 86 | color: #000; 87 | border: 1rpx solid #888; 88 | line-height: 58rpx; 89 | width: 150rpx; 90 | text-align: center; 91 | border-radius: 20rpx 0 20rpx 0; 92 | box-shadow: 5rpx 10rpx 10rpx 0rpx hsla(0, 0%, 95%, 0.267) 93 | } 94 | .bzBtn4{ 95 | font-size: 26rpx; 96 | background: linear-gradient(to right top,#ff9900,#ff6633); 97 | color: #fff; 98 | line-height: 60rpx; 99 | width: 150rpx; 100 | text-align: center; 101 | border-radius: 20rpx 0 20rpx 0; 102 | box-shadow: 5rpx 10rpx 10rpx 0rpx hsla(36, 100%, 50%, 0.267) 103 | } -------------------------------------------------------------------------------- /pages/dayin/dayin.wxml: -------------------------------------------------------------------------------- 1 | 2 | *该服务由平台承包* 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 添加打印原件 14 | + 15 | {{file.filename}} 16 | 17 | 21 | 22 | 收件地址 23 | 24 | {{address ? address:'请选择地址'}} 25 | 26 | 27 | 28 | 29 | 页数 30 | 31 | 32 | 33 | 备注 34 | 35 | 36 | 37 | 印刷 38 | 暂仅支持黑白印刷 39 | 40 | 41 | 黑白 42 | 43 | {{price[1]}}元/张 跑路费 44 | {{price[2]}}元 45 | 46 | {{msg.des}} 47 | 需支付 48 | {{total_fee}} 49 | 50 | 51 |
52 |
53 |
-------------------------------------------------------------------------------- /pages/area/area.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | list:[], 10 | load:false, 11 | search:'', 12 | wheres:'' 13 | }, 14 | searchInput(e){ 15 | let search = e.detail.value 16 | if(search == ''){ 17 | this.data.wheres = '' 18 | }else{ 19 | this.data.wheres = 'is_delete=0 and name like "%'+search+'%"' 20 | } 21 | this.getArea() 22 | }, 23 | /** 24 | * 生命周期函数--监听页面加载 25 | */ 26 | onLoad: function (options) { 27 | wx.setNavigationBarColor({ 28 | frontColor: '#ffffff', 29 | backgroundColor: '#6e42d3', 30 | }) 31 | _this = this 32 | this.getArea() 33 | }, 34 | checkedIt(e){ 35 | let index = e.currentTarget.dataset.index; 36 | wx.showModal({ 37 | title: '请确认您的选择', 38 | content: '您的选择是"' + _this.data.list[index].name+'"', 39 | cancelText:'我点错了', 40 | confirmText:'确认', 41 | confirmColor:'#6887e1', 42 | success(res){ 43 | if(res.confirm){ 44 | wx.setStorageSync('area', _this.data.list[index]) 45 | _this.getDail(_this.data.list[index].pk_id) 46 | }else{ 47 | 48 | } 49 | } 50 | }) 51 | 52 | }, 53 | getArea(){ 54 | this.setData({ 55 | load:true 56 | }) 57 | app.com.post('area/get',{ 58 | pageIndex:1, 59 | pageSize:1000, 60 | wheres:this.data.wheres, 61 | sorts:'sort asc' 62 | },function(res){ 63 | if(res.code == 1){ 64 | _this.setData({ 65 | list: res.data.list, 66 | load:false 67 | }) 68 | 69 | }else{ 70 | wx.showToast({ 71 | title: '请求失败', 72 | icon:'none' 73 | }) 74 | } 75 | 76 | }) 77 | }, 78 | getDail(aid){ 79 | app.com.post('user/get/aid',{ 80 | aid:aid 81 | },function(res){ 82 | if(res.code == 1){ 83 | wx.setStorageSync("dl", res.data) 84 | // _this.getServer(res.data.pk_id) 85 | wx.navigateBack({ 86 | delta: 1 87 | }) 88 | }else{ 89 | wx.showToast({ 90 | title: res.msg, 91 | icon:'none' 92 | }) 93 | } 94 | }) 95 | }, 96 | getServer(id){ 97 | app.com.post('server/get/uid', { 98 | uid: id 99 | }, function (res) { 100 | if (res.code == 1) { 101 | wx.setStorageSync("server", res.data) 102 | wx.navigateBack({ 103 | delta: 1 104 | }) 105 | } else { 106 | wx.showToast({ 107 | title: res.msg, 108 | icon: 'none' 109 | }) 110 | } 111 | }) 112 | }, 113 | 114 | }) -------------------------------------------------------------------------------- /pages/mine/addressinfo/addressinfo.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | detail:'', 10 | address:'', 11 | mo:false 12 | }, 13 | dchange(e){ 14 | this.setData({ 15 | mo:e.detail.value 16 | }) 17 | }, 18 | navTo(e){ 19 | app.com.navTo(e) 20 | }, 21 | bInput(e){ 22 | this.setData({ 23 | detail:e.detail.value 24 | }) 25 | }, 26 | submit(){ 27 | if(this.data.address == ''){ 28 | wx.showToast({ 29 | title: '请选择楼栋', 30 | icon:'none' 31 | }) 32 | }else if(this.data.detail == ''){ 33 | wx.showToast({ 34 | title: '请输入门牌号', 35 | icon:'none' 36 | }) 37 | }else{ 38 | wx.showLoading({ 39 | title: '保存中', 40 | task:true 41 | }) 42 | let url = 'add' 43 | let formData = { 44 | address: this.data.address, 45 | detail: this.data.detail, 46 | } 47 | if(this.data.id){ 48 | url = 'update' 49 | formData.id = this.data.id 50 | }else{ 51 | formData.wx_id = wx.getStorageSync("user").id 52 | } 53 | app.com.post('user/address/'+url,formData,function(res){ 54 | wx.hideLoading() 55 | if(res.code == 1){ 56 | wx.showToast({ 57 | title: '保存成功', 58 | task:true 59 | }) 60 | if(_this.data.mo){ 61 | _this.setMo(_this.data.id ? _this.data.id:res.data) 62 | }else{ 63 | setTimeout(function () { 64 | let pages = getCurrentPages(); 65 | let currPage = pages[pages.length - 1]; //当前页面 66 | let prevPage = pages[pages.length - 2]; 67 | prevPage.getList() 68 | wx.navigateBack({ 69 | delta: 1 70 | }) 71 | }, 800) 72 | } 73 | 74 | } 75 | }) 76 | } 77 | }, 78 | setMo(id){ 79 | app.com.post('wx/user/update/def/address',{ 80 | default_address:id, 81 | id: wx.getStorageSync("user").id 82 | },function(res){ 83 | if(res.code == 1){ 84 | wx.setStorageSync("user", res.data) 85 | setTimeout(function () { 86 | let pages = getCurrentPages(); 87 | let currPage = pages[pages.length - 1]; //当前页面 88 | let prevPage = pages[pages.length - 2]; 89 | prevPage.getList() 90 | wx.navigateBack({ 91 | delta: 1 92 | }) 93 | }, 800) 94 | } 95 | }) 96 | }, 97 | /** 98 | * 生命周期函数--监听页面加载 99 | */ 100 | onLoad: function (options) { 101 | _this = this 102 | if(options.data){ 103 | let msg = JSON.parse(options.data) 104 | _this.setData({ 105 | detail:msg.detail, 106 | address:msg.address, 107 | mo:msg.id == wx.getStorageSync("user").default_address, 108 | id:msg.id 109 | }) 110 | } 111 | }, 112 | 113 | 114 | }) -------------------------------------------------------------------------------- /pages/mine/info/info.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | msg:{}, 10 | temp:false 11 | }, 12 | formSubmit(e){ 13 | wx.showLoading({ 14 | title: '加载中', 15 | task:true 16 | }) 17 | let form = e.detail.value; 18 | form.id = wx.getStorageSync('user').id; 19 | 20 | if (e.detail.value.nick_name != '' && e.detail.value.phone != '' ){ 21 | _this.upload(function(r){ 22 | form.avatar_url = _this.data.msg.avatar_url; 23 | app.com.post('wx/user/update/wx', form, function (res) { 24 | wx.hideLoading() 25 | if (res.code == 1) { 26 | wx.showToast({ 27 | title: '修改成功', 28 | }) 29 | let uinfo = wx.getStorageSync("user"); 30 | uinfo.nick_name = e.detail.value.nick_name; 31 | wx.setStorageSync("user", uinfo) 32 | _this.setData({ 33 | temp:false 34 | }) 35 | } 36 | }) 37 | }) 38 | 39 | }else{ 40 | wx.showToast({ 41 | title: '修改失败', 42 | icon:'none' 43 | }) 44 | } 45 | }, 46 | changeAvatar(){ 47 | wx.chooseImage({ 48 | count:1, 49 | sizeType: ['compressed'], 50 | sourceType: ['album', 'camera'], 51 | success: function(res) { 52 | wx.compressImage({ 53 | src: res.tempFilePaths[0], // 图片路径 54 | quality: 50, 55 | success(res){ 56 | _this.setData({ 57 | 'msg.avatar_url': res.tempFilePath, 58 | temp: true 59 | }) 60 | }, 61 | fail(res){ 62 | console.log(res) 63 | } 64 | }) 65 | // _this.setData({ 66 | // 'msg.avatar_url': res.tempFilePaths[0], 67 | // temp: true 68 | // }) 69 | 70 | }, 71 | }) 72 | }, 73 | upload(cb){ 74 | if(this.data.temp){ 75 | wx.uploadFile({ 76 | url: app.com.API + 'file/upload', 77 | filePath: this.data.msg.avatar_url, 78 | name: 'file', 79 | formData: { 80 | wx_id: wx.getStorageSync("user").id, 81 | a_id: wx.getStorageSync("area").pk_id, 82 | is_temp:0 83 | }, 84 | success(res) { 85 | let red = JSON.parse(res.data) 86 | if (red.code == 1) { 87 | 88 | let uinfo = wx.getStorageSync("user"); 89 | uinfo.avatar_url = red.data.url; 90 | wx.setStorageSync("user", uinfo) 91 | _this.setData({ 92 | 'msg.avatar_url': red.data.url 93 | }) 94 | cb(true) 95 | }else{ 96 | cb(false) 97 | } 98 | } 99 | }) 100 | }else{ 101 | cb(false) 102 | } 103 | }, 104 | /** 105 | * 生命周期函数--监听页面加载 106 | */ 107 | onLoad: function (options) { 108 | _this= this 109 | this.setData({ 110 | msg:wx.getStorageSync("user") 111 | }) 112 | }, 113 | }) -------------------------------------------------------------------------------- /pages/other/other.js: -------------------------------------------------------------------------------- 1 | //index.js 2 | //获取应用实例 3 | const app = getApp() 4 | let _this; 5 | Page({ 6 | data: { 7 | price: '', 8 | des: '', 9 | phone: '' 10 | }, 11 | navTo(e) { 12 | app.com.navTo(e) 13 | }, 14 | formSubmit(e) { 15 | let formId = e.detail.formId 16 | if (e.detail.value.des == '') { 17 | wx.showToast({ 18 | title: '请填写帮助内容', 19 | icon: 'none' 20 | }) 21 | } else if (e.detail.value.price == '') { 22 | wx.showToast({ 23 | title: '请输入赏金', 24 | icon: 'none' 25 | }) 26 | } else if (this.data.address == ''){ 27 | wx.showToast({ 28 | title: '请选择目的地', 29 | icon: 'none' 30 | }) 31 | } else if (e.detail.value.price <1){ 32 | wx.showToast({ 33 | title: '输入金额不能小于1', 34 | icon: 'none' 35 | }) 36 | }else { 37 | wx.showLoading({ 38 | title: '加载中', 39 | }) 40 | app.com.post('help/add', { 41 | openid: wx.getStorageSync("user").openid, 42 | des: e.detail.value.des, 43 | wx_id: wx.getStorageSync("user").id, 44 | total_fee: e.detail.value.price, 45 | a_id: wx.getStorageSync("area").pk_id, 46 | title:this.data.title, 47 | mu: this.data.address, 48 | qi: e.detail.value.qi, 49 | form_id: e.detail.formId, 50 | }, function (res) { 51 | wx.hideLoading() 52 | if (res.code == 1) { 53 | _this.wxpay(res) 54 | } else { 55 | wx.showToast({ 56 | title: res.msg, 57 | icon: 'none' 58 | }) 59 | } 60 | }) 61 | } 62 | }, 63 | wxpay(msg) { 64 | app.com.wxpay(msg) 65 | }, 66 | navTo(e) { 67 | app.com.navTo(e) 68 | }, 69 | navToArea() { 70 | wx.navigateTo({ 71 | url: '/pages/area/area', 72 | }) 73 | }, 74 | publist() { 75 | wx.navigateTo({ 76 | url: '/pages/pub/pub', 77 | }) 78 | }, 79 | tagsClick(e){ 80 | let index = e.currentTarget.dataset.index 81 | this.setData({ 82 | price:this.data.msg.tagsFilter[index].price, 83 | des: this.data.msg.tagsFilter[index].label 84 | }) 85 | }, 86 | onLoad: function (options) { 87 | _this = this 88 | let msg = wx.getStorageSync("server")[options.index]; 89 | let tags = msg.tags ? msg.tags.split(','):[]; 90 | let arr= [] 91 | for(let i in tags){ 92 | arr.push({ label: tags[i], price: tags[i].replace(/[^0-9]/ig, "")}) 93 | } 94 | msg.tagsFilter = arr 95 | this.setData({ 96 | title:options.label, 97 | msg: msg, 98 | }) 99 | wx.setNavigationBarTitle({ 100 | title: options.label, 101 | }) 102 | if (wx.getStorageSync("address")) { 103 | let add = wx.getStorageSync("address") 104 | this.setData({ 105 | address: add.address + '-' + add.detail 106 | }) 107 | } 108 | }, 109 | onShow() { 110 | // if (wx.getStorageSync('area')) { 111 | // this.setData({ 112 | // area: wx.getStorageSync('area') 113 | // }) 114 | // } else { 115 | // wx.navigateTo({ 116 | // url: '/pages/area/area', 117 | // }) 118 | // } 119 | } 120 | 121 | }) 122 | -------------------------------------------------------------------------------- /pages/mine/mine.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{userInfo.nick_name || ''}} 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 | 提现 38 | 39 | 40 | 41 | 42 | 51 | 52 | 53 | 54 | 电话客服 55 | 56 | 57 | 58 | 59 | 60 | 61 | 关于我们 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 申请接单 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /pages/banzu/banzu.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{item}} 4 | 5 | 6 | 7 | 8 | 9 | 10 | {{anlysis.completeTotalByMonth}} 11 | 本月完成 12 | 13 | 14 | {{anlysis.getFeeMonth}} 15 | 本月收益 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | {{item.title}} 26 | {{item.nick_name}} | {{item.time}} 27 | 28 | 29 | {{item.state ==0?'待付款':item.state ==1 ? '需要帮助':item.state ==2?'已帮助':item.state ==3?"已完成":"已取消"}} 30 | 31 | 32 | {{item.des}} 33 | 起点: {{item.qi}} 34 | 目的地: {{item.mu}} 35 | 36 | 37 | 38 | 悬赏¥{{item.total_fee}} 39 | 帮助TA 40 | 取消 41 | 立即付款 42 | 确认完成 43 | 44 | 45 | 46 | 47 | 48 | 49 | -- 暂无数据 -- 50 | 51 | 52 | Loading 53 | 加载中... 54 | 55 | 56 | 57 | 58 | 我是有底线的 59 | 60 | -------------------------------------------------------------------------------- /pages/register/register.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 | 需要1-3个工作日完成审核,请耐心等待 38 | 39 | 40 | 41 | 42 | 43 | 44 | 审核成功,您可以接单啦 45 | 以下为服务费用收取参考表 46 | 47 | 48 | 服务项 49 | 平台获得 50 | 用户获得 51 | 52 | 53 | {{item.server_name}} 54 | {{(item.pk_server)}}% 55 | {{item.user_sy*100}}% 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 审核失败 65 | {{res.msg}} 66 | 去修改 67 | 68 | 联系客服 69 | 70 | 71 | 72 | 73 | 74 |
-------------------------------------------------------------------------------- /pages/order/detail/detail.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {{list.title}} 11 | {{list.nick_name}} | {{list.create_time}} 12 | 13 | 14 | {{list.state ==0?'待付款':list.state ==1 ? '需要帮助':list.state ==2?'已帮助':list.state ==3?"已完成":"已取消"}} 15 | 16 | 17 | {{list.des}} 18 | 起点:{{list.qi}} 19 | 目的地:{{list.mu}} 20 | 赏金¥{{list.total_fee}} 21 | 22 | 23 | 24 | 25 | 短号 26 | 27 | 28 | 29 | 30 | 31 | 手机号 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | {{list.jd_id ? '接单人':'暂无接单人'}} 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | {{jduser.nick_name}} 50 | 51 | 52 | 拨打短号 53 | 拨打手机号 54 | 55 | 56 | 57 | 58 | 59 | 60 | 帮助TA 61 | 取消 62 | 立即付款 63 | 确认完成 64 | 65 | 66 | 订单编号:{{list.order_num}} -------------------------------------------------------------------------------- /pages/mine/jdsm/jdsm.wxml: -------------------------------------------------------------------------------- 1 | 申请接单电子协议书 2 | 3 |   本协议由校园综合服务平台结缔。用户一旦通过“校园综合服务平台”平台申请接单入口页面阅读并确认本协议,点击“同意协议并保存”按钮即视为同意签订本协议,不论用户是否真正阅读本协议。所以本平台提醒用户认真阅读本协议并确认本协议的所有条款。如有疑问可咨询客服。 4 | 5 | 一、定义 6 | 1. 校园综合服务平台:指平台的名称,百晓提供技术支持。 7 | 2. 校园综合服务平台平台:指用来给大学生提供各种便利服务的平台。 8 | 3. 平台用户:指在校园综合服务平台平台寻求便利服务的人群。 9 | 4. 接单用户:指在校园综合服务平台平台为他人提供便利服务的人群。 10 | 二、接单用户的权力和义务 11 | 1.平台为确保平台用户和平台的安全和利益,接单用户申请人需提供以下信息: 12 | 用户真实姓名、身份证号、身份证正面、学生证。待平台验证信息属实后方可进行接单任务。 13 | 2.接单用户申请成功后,即可在本平台接受接单任务。接单用户承诺遵守本协议以及所有公示于互帮 14 | 互助代替你平台的已发布的或将来可能发布的各类规则。所有规则为本协议不可分割的一部分,与 15 | 协议正文具有同等法律效力。如接单用户不同意相关变更,必须停止使用校园综合服务平台平台。继 16 | 续使用则表示接单用户接受经修订的协议或规则。 17 | 3.接单用户需遵守与校园综合服务平台签订的协议进行接单活动;接单用户一旦违背校园综合服务平台平 18 | 台的规则,校园综合服务平台平台可随时解除与接单用户的合作关系; 19 | 4.接单用户在接单过程中的注意事项: 20 | 接单用户应在其时间、地点合理的情况下进行接单,并保证当天接的单在当天完成,逾期将扣除一 21 | 定费用。 22 | 接单用户需保证其良好道德、形象,给予优质服务,才能得到更多的好评。 23 | 接单用户不得应天气或其他原因等耽误服务质量。 24 | 接单用户如遇突发情况,无法完成订单,应即使取消订单。 25 | 接单用户不得恶意破坏订单实物,若订单实物受损,将由接单用户承担一切责任。 26 | 5.在给平台用户提供服务的过程中,接单用户谨记: 27 | a)不得私自以校园综合服务平台的名义对外承诺任何事,否则后果由接单用户自己承担; 28 | b)不得逃避平台规定的服务费用;私下打电话给平台用户,让其将订单取消,并私下解决其订单要 29 | 求;否则该订单不予退款并给予接单用户警告处分并取消该接单用户的接单资格。 30 | 三、校园综合服务平台的权利和义务 31 | 1.校园综合服务平台根据本协议向接单用户提供信息及数据管理服务。 32 | 2.校园综合服务平台有义务在现有技术上维护校园综合服务平台平台的正常运行,并努力提升和改进技术。 33 | 3.校园综合服务平台有权利与不符合校园综合服务平台平台要求或未尽其义务的接单用户终止本协议并将其清退出校园综合服务平台平台。 34 | 4.因网上平台的特殊性,校园综合服务平台平台没有义务对所有用户的信息、所有的交易行为以及有关的其它事项进行事先审查,但如存在下列情况: 35 | a)用户或其它第三方通知校园综合服务平台平台,认为某个具体用户或具体交易事项可能存在重大问题; 36 | b)用户或其它第三方向校园综合服务平台平台告知校园综合服务平台平台上有违法或不当行为的,校园综合服务平台以普通非专业交易者的知识水平标准对相关内容进行判别,可以明显认为这些内容或行为具有违法或不当性质的; 37 | 校园综合服务平台有权根据不同情况选择保留或删除相关信息或继续、停止对该用户提供服务,并追究相关法律责任。 38 | 5.在校园综合服务平台平台上的交易与其它用户发生纠纷或诉讼的,用户通过司法机关或行政执法机关依照法定程序要求校园综合服务平台提供相关数据,校园综合服务平台应积极配合并提供有关资料。 39 | 6.校园综合服务平台有权对接单用户的基本信息、交易信息及交易行为进行查阅,发现存在任何问题或怀疑,均有权向接单用户发出询问及要求改正的通知或者取消其接单用户的身份。 40 | 7.经国家生效法律文书或行政处罚决定确认接单用户存在违法行为,或者校园综合服务平台有足够事实依据可以认定接单用户存在违法或违反协议行为的,校园综合服务平台有权在校园综合服务平台公布接单用户的违法或违规行为。 41 | 8.接单用户向平台声明受到用户恶意举报,校园综合服务平台平台有义务进行调查,查明原因后确实属于恶意举报的,校园综合服务平台平台将继续与接单用户履行协议。 42 | 9.接单用户存在撒谎、隐瞒用户并造成用户一定损失的,校园综合服务平台平台有权取消接单用户资格。 43 | 10.接单用户在接收订单后,应及时完成相应订单,若没有按用户规定的时间完成任务,平台将扣除一定比例的赏金(根据逾期情况而定)。频繁产生此情况者将被取消接单用户资格。 44 | 11.接单用户在接收订单后,没有按要求完成订单,平台将扣除一定比例的赏金(根据完成情况而定)。频繁产生此情况者将被取消接单用户资格。 45 | 12.接单用户在接收订单后,发生逃单情况。平台将扣除所有赏金并退款给用户。发生逃单属于情节严重的行为,将被取消接单用户资格。接单用户在发生特殊情况时,应及时取消该订单。 46 | 10.接单用户在此授予校园综合服务平台独家的、全球通用的、永久的、免费的许可使用权利,使校园综合服务平台有权使用、复制、修订、改写、发布、翻译、分发、执行和展示公示于网站的各类信息或制作其派生作品,或以现在已知或日后开发的任何形式、媒体或技术,将上述信息纳入其它作品内; 47 | 48 | 四、利润分配 49 | 1.校园综合服务平台平台将在接单用户的每一笔订单内抽取10%作为平台的服务费用。即接单用户获得每笔订单90%的利润。 50 | 2.校园综合服务平台平台将收取逾期订单的费用。 51 | 五、隐私保护 52 | 53 | 1.校园综合服务平台平台将保护并保密所有接单人的信息,包括接单用户的身份证照、学生证照、身份证号、真实姓名、手机号码、手机短号等。 54 | 2.接单用户可在“校园综合服务平台小程序--我的--我的信息”中修改昵称、手机号、手机短号等。 55 | 56 | 六、免责声明 57 | 58 | 1.接单用户与用户之间产生纠纷并造成一定人为伤害的,校园综合服务平台平台概不负责。 59 | 2.接单用户向平台声明收到用户恶意举报,校园综合服务平台平台有义务进行调查,查明原因确实属于恶意举报的,校园综合服务平台平台将继续与接单用户履行协议,但无义务删除此条恶意举报。 60 | 3.接单用户存在撒谎、隐瞒用户并造成用户一定损失的,校园综合服务平台平台有权取消接单用户资格,但对于用户的损失平台概不负责。 61 | 4.校园综合服务平台对接单用户的身份信息保护和保密,但若信息遭遇强大黑客攻破而泄露,校园综合服务平台将此视为意外风险,是不可把控的,平台无需对此负责。 62 | 5.接单用户不得接受任何黄赌毒相关需求,接单用户一旦接收这类需求后所造成的后果将由接单用户个人承担,校园综合服务平台平台只承担监管不力。 63 | 6.接单用户不得接收社会人士的需求,接单用户一旦接收社会人士的需求并造成的损失由接单用户个人承担,校园综合服务平台平台只承担监管不力。 64 | 7.接单用户接收一切在超出学校范围的订单所造成的伤害和后果由接单用户个人承担。 65 | 8.接单用户在完成订单期间受伤或发生意外由接单用户个人承担。 66 | 9.接单用户在校园综合服务平台上遭受一些不明身份的人的欺诈、伤害的,由接单用户个人承担。 67 | 68 | 接单用户作为使用校园综合服务平台的一名使用者,需要你拥有良好的自我判断力,由较强的执行力,有为他人服务、乐于助人的精神。在此,希望各位接单用户履行好各自的权利与义务,遵守校园综合服务平台平台的规则和协议。那么,请开始你的接单之旅吧! 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /pages/order/detail/detail.wxss: -------------------------------------------------------------------------------- 1 | page { 2 | background-color: #f7f7f7; 3 | } 4 | 5 | .bg-m2 { 6 | background: linear-gradient(to top, #6183dd, #6e42d3); 7 | } 8 | 9 | .avatar { 10 | width: 90rpx; 11 | height: 90rpx; 12 | border-radius: 90rpx; 13 | display: block; 14 | border: 5rpx solid #fff; 15 | box-shadow: 0 0 20rpx 0 #fff; 16 | background: #e1e1e1 17 | } 18 | 19 | .state { 20 | height: 50rpx; 21 | font-size: 24rpx; 22 | width: 120rpx; 23 | text-align: center; 24 | line-height: 50rpx; 25 | border-radius: 5rpx; 26 | } 27 | .cri2 { 28 | width: 100rpx; 29 | height: 100rpx; 30 | border-radius: 90rpx; 31 | background-color: rgb(0, 204, 153); 32 | margin-left: 30rpx; 33 | box-shadow: 0 0 10rpx 0 rgb(0, 204, 153) 34 | } 35 | .ste1 { 36 | background-color: rgb(236, 255, 250); 37 | color: rgb(0, 204, 153); 38 | } 39 | 40 | .ste2 { 41 | background-color: rgb(225, 240, 255); 42 | color: rgb(51, 153, 255); 43 | } 44 | 45 | .ste3 { 46 | background-color: rgb(255, 243, 226); 47 | color: rgb(255, 153, 0); 48 | } 49 | 50 | .ste4 { 51 | padding: 0 15rpx; 52 | background-color: rgba(255, 102, 102, 0.08); 53 | color: rgb(255, 102, 102); 54 | } 55 | .ste5{ 56 | background-color: rgba(136, 136, 136,0.08); 57 | color: rgb(136, 136, 136) 58 | } 59 | .qi { 60 | width: 60rpx; 61 | height: 60rpx; 62 | background: #f90; 63 | border: 1px solid #f90; 64 | color: #fff; 65 | font-size: 24rpx; 66 | line-height: 60rpx; 67 | border-radius: 60rpx; 68 | margin: auto; 69 | } 70 | 71 | .qi1 { 72 | width: 60rpx; 73 | height: 60rpx; 74 | color: #fff; 75 | border: 1px solid #fff; 76 | font-size: 24rpx; 77 | line-height: 60rpx; 78 | border-radius: 60rpx; 79 | margin: auto; 80 | } 81 | .tagsd1{ 82 | width: 150rpx; 83 | font-size: 24rpx; 84 | background-color: rgb(225, 240, 255); 85 | color: rgb(51, 153, 255); 86 | line-height: 60rpx; 87 | text-align: center; 88 | border-radius: 5rpx; 89 | margin-left: 30rpx 90 | } 91 | .tagsd2{ 92 | width: 150rpx; 93 | font-size: 24rpx; 94 | background-color: rgb(236, 255, 250); 95 | color: rgb(0, 204, 153); 96 | line-height: 60rpx; 97 | text-align: center; 98 | border-radius: 5rpx; 99 | margin-left: 30rpx 100 | } 101 | 102 | .bggs { 103 | width: 100%; 104 | height: 200rpx; 105 | background-position: center; 106 | background-size: cover; 107 | position:absolute; 108 | top:0; 109 | left:0; 110 | bottom:0; 111 | right:0; 112 | filter: blur(20rpx);/*为了模糊更明显,调高模糊度*/ 113 | } 114 | .fix-b{ 115 | width: 100%; 116 | height: 100rpx; 117 | position: fixed; 118 | bottom: 0 119 | } 120 | .bzbtn{ 121 | font-size: 26rpx; 122 | background: linear-gradient(to right top,#51c3fe,#92abff); 123 | color: #fff; 124 | line-height: 80rpx; 125 | height: 80rpx; 126 | width: 200rpx; 127 | text-align: center; 128 | border-radius: 20rpx 0 20rpx 0; 129 | box-shadow: 5rpx 10rpx 10rpx 0rpx rgba(82, 197, 254, 0.267); 130 | margin-right: 30rpx 131 | } 132 | 133 | .bzbtn2{ 134 | font-size: 26rpx; 135 | background: linear-gradient(to right top,#ff8965,#ff64a1); 136 | color: #fff; 137 | line-height: 80rpx; 138 | height: 80rpx; 139 | width: 200rpx; 140 | text-align: center; 141 | border-radius: 20rpx 0 20rpx 0; 142 | box-shadow: 5rpx 10rpx 10rpx 0rpx hsla(14, 100%, 70%, 0.267); 143 | margin-right: 30rpx 144 | } 145 | .bzbtn3{ 146 | font-size: 26rpx; 147 | background: #fff; 148 | color: #000; 149 | border: 1rpx solid #888; 150 | line-height: 78rpx; 151 | height: 80rpx; 152 | width: 200rpx; 153 | text-align: center; 154 | border-radius: 20rpx 0 20rpx 0; 155 | margin-right: 30rpx 156 | } 157 | .bzbtn4{ 158 | font-size: 26rpx; 159 | background: linear-gradient(to right top,#ff9900,#ff6633); 160 | color: #fff; 161 | line-height: 80rpx; 162 | height: 80rpx; 163 | width: 200rpx; 164 | text-align: center; 165 | border-radius: 20rpx 0 20rpx 0; 166 | box-shadow: 5rpx 10rpx 10rpx 0rpx hsla(36, 100%, 50%, 0.267); 167 | margin-right: 30rpx 168 | } -------------------------------------------------------------------------------- /pages/dayin/dayin.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | address:'', 10 | no:'', 11 | page:0, 12 | cai:false, 13 | total_fee:0, 14 | address:'' 15 | }, 16 | 17 | navTo(e) { 18 | app.com.navTo(e) 19 | }, 20 | chooseFile(){ 21 | wx.navigateTo({ 22 | url: '/pages/dayin/dy/dy', 23 | }) 24 | // wx.chooseMessageFile({ 25 | // count: 1, 26 | // type: 'all', 27 | // success(res) { 28 | // const tempFilePaths = res.tempFilePaths 29 | // console.log(res) 30 | // } 31 | // }) 32 | }, 33 | pageInput(e){ 34 | this.data.page = e.detail.value 35 | this.init() 36 | }, 37 | /** 38 | * 生命周期函数--监听页面加载 39 | */ 40 | onLoad: function (options) { 41 | _this = this 42 | this.setData({ 43 | msg:wx.getStorageSync("server")[options.index], 44 | price: wx.getStorageSync("server")[options.index].price_gui.split(','), 45 | }) 46 | this.init() 47 | if (wx.getStorageSync("address")) { 48 | let add = wx.getStorageSync("address") 49 | this.setData({ 50 | address: add.address + '-' + add.detail 51 | }) 52 | } 53 | }, 54 | onShow(){ 55 | this.getFile() 56 | }, 57 | getFile(){ 58 | wx.showLoading({ 59 | title: '请稍等', 60 | task:true 61 | }) 62 | app.com.post('file/get',{ 63 | sorts:'create_time desc', 64 | pageIndex:1, 65 | pageSize:1, 66 | wheres:'is_delete=0 and is_temp=1 and wx_id = '+wx.getStorageSync('user').id 67 | },function(res){ 68 | wx.hideLoading() 69 | if(res.code == 1){ 70 | _this.setData({ 71 | file: res.data.list[0] ? res.data.list[0]:'' 72 | }) 73 | } 74 | }) 75 | }, 76 | formSubmit(e){ 77 | let formId = e.detail.formId 78 | if(this.data.file == ''){ 79 | wx.showToast({ 80 | title: '请上传文件', 81 | icon: 'none' 82 | }) 83 | }else if(this.data.address == ''){ 84 | wx.showToast({ 85 | title: '请选择一个地址', 86 | icon:'none' 87 | }) 88 | } else if (e.detail.value.page == '' || e.detail.value.page == null){ 89 | wx.showToast({ 90 | title: '请输入页数', 91 | icon: 'none' 92 | }) 93 | }else { 94 | wx.showLoading({ 95 | title: '加载中', 96 | }) 97 | app.com.post('help/add', { 98 | openid: wx.getStorageSync("user").openid, 99 | des: '文件:' + this.data.file.filename + ' ' + e.detail.value.page+'页 '+e.detail.value.des, 100 | file:this.data.file.realname, 101 | wx_id: wx.getStorageSync("user").id, 102 | total_fee: this.data.total_fee, 103 | a_id: wx.getStorageSync("area").pk_id, 104 | title: this.data.msg.server_name, 105 | mu: this.data.address, 106 | cai:this.data.cai ? 1:0, 107 | page: e.detail.value.page, 108 | form_id: e.detail.formId,},function(res){ 109 | wx.hideLoading() 110 | if (res.code == 1) { 111 | _this.wxpay(res) 112 | _this.tempUp() 113 | } else { 114 | wx.showToast({ 115 | title: res.msg, 116 | icon: 'none' 117 | }) 118 | } 119 | }) 120 | } 121 | }, 122 | tempUp(){ 123 | app.com.post('file/temp',{ 124 | id:this.data.file.id 125 | },function(res){ 126 | 127 | }) 128 | }, 129 | wxpay(msg) { 130 | app.com.wxpay(msg) 131 | }, 132 | switch1Change(e){ 133 | this.setData({ 134 | cai:e.detail.value 135 | }) 136 | this.init() 137 | }, 138 | 139 | init(){ 140 | let chenben = 0 141 | let tui = parseFloat(this.data.price[2]) 142 | if(this.data.cai){ 143 | chenben = parseFloat(this.data.price[1]) 144 | }else{ 145 | chenben = parseFloat(this.data.price[0]) 146 | } 147 | let page = this.data.page ? parseFloat(this.data.page) : 0 148 | let total = 0 149 | 150 | total = chenben*page+tui 151 | this.setData({ 152 | total_fee:total 153 | }) 154 | } 155 | }) -------------------------------------------------------------------------------- /pages/index/index.js: -------------------------------------------------------------------------------- 1 | //index.js 2 | //获取应用实例 3 | const app = getApp() 4 | let _this; 5 | Page({ 6 | data: { 7 | imgurls:[], 8 | isFirst:true, 9 | list:[ 10 | ], 11 | server:[] 12 | }, 13 | navToArea(){ 14 | wx.navigateTo({ 15 | url: '/pages/area/area', 16 | }) 17 | }, 18 | navTo2(e){ 19 | app.com.navTo(e) 20 | }, 21 | navTo(e) { 22 | if (wx.getStorageSync("user").phone == '' || wx.getStorageSync("user").phone == null || wx.getStorageSync("user").phone == undefined){ 23 | wx.navigateTo({ 24 | url: '/pages/login/login', 25 | }) 26 | }else{ 27 | let name = e.currentTarget.dataset.name 28 | let index = e.currentTarget.dataset.index 29 | if(this.data.list[index].is_show == 1){ 30 | if (name == '快递代取') { 31 | wx.navigateTo({ 32 | url: '/pages/daiqu/daiqu?index=' + index, 33 | }) 34 | } else if (name == '打印服务') { 35 | wx.navigateTo({ 36 | url: '/pages/dayin/dayin?index=' + index, 37 | }) 38 | } else { 39 | wx.navigateTo({ 40 | url: '/pages/other/other?label=' + name + '&index=' + index, 41 | }) 42 | 43 | } 44 | }else{ 45 | wx.showModal({ 46 | title: '提示', 47 | content: '服务暂停中', 48 | showCancel: false, 49 | confirmText: '朕知道了', 50 | confirmColor: '#6887e1' 51 | }) 52 | } 53 | } 54 | }, 55 | navToArea(){ 56 | wx.navigateTo({ 57 | url: '/pages/area/area', 58 | }) 59 | }, 60 | publist(){ 61 | wx.navigateTo({ 62 | url: '/pages/pub/pub', 63 | }) 64 | }, 65 | onLoad: function (options) { 66 | _this = this 67 | this.login() 68 | }, 69 | getCarousel(){ 70 | app.com.post('calousels/get',{a_id:wx.getStorageSync("area").pk_id},function(res){ 71 | if(res.code == 1){ 72 | _this.setData({ 73 | imgurls:res.data.list 74 | }) 75 | } 76 | }) 77 | }, 78 | login(){ 79 | wx.showLoading({ 80 | title: '加载中', 81 | task:true 82 | }) 83 | app.login(function (res) { 84 | wx.hideLoading() 85 | wx.stopPullDownRefresh() 86 | app.getRes(res.data.id) 87 | app.getMoren(res.data.default_address) 88 | // _this.getCarousel() 89 | if (_this.data.isFirst) { 90 | 91 | _this.checkArea() 92 | _this.setData({ 93 | isFirst: false 94 | }) 95 | } 96 | }) 97 | }, 98 | onPullDownRefresh(){ 99 | this.login() 100 | this.getServer(wx.getStorageSync('dl').pk_id) 101 | }, 102 | onShow(){ 103 | if(!this.data.isFirst){ 104 | this.checkArea() 105 | } 106 | if(!this.data.emer){ 107 | this.getAdminMemr() 108 | } 109 | }, 110 | //通知 111 | getAdminMemr(){ 112 | app.com.post('user/get/emer', { dl_id: 1 }, function (res) { 113 | _this.setData({ 114 | emer: res.data 115 | }) 116 | if (res.data.open_emer == 1) { 117 | wx.showModal({ 118 | title: res.data.emer_title, 119 | content: res.data.emer_content, 120 | showCancel: false, 121 | confirmText: '朕知道了', 122 | confirmColor: '#6887e1' 123 | }) 124 | }else{ 125 | _this.getMemr() 126 | } 127 | }) 128 | }, 129 | getMemr(){ 130 | app.com.post('user/get/emer',{dl_id:wx.getStorageSync("dl").pk_id || 1},function(res){ 131 | _this.setData({ 132 | emer:res.data 133 | }) 134 | if(res.data.open_emer == 1){ 135 | wx.showModal({ 136 | title: res.data.emer_title, 137 | content: res.data.emer_content, 138 | showCancel:false, 139 | confirmText:'朕知道了', 140 | confirmColor:'#6887e1' 141 | }) 142 | } 143 | }) 144 | }, 145 | getServer(id) { 146 | app.com.post('server/get/uid', { 147 | uid: id 148 | }, function (res) { 149 | if (res.code == 1) { 150 | wx.setStorageSync("server", res.data) 151 | _this.setData({list:res.data}) 152 | 153 | } else { 154 | wx.showToast({ 155 | title: res.msg, 156 | icon: 'none' 157 | }) 158 | } 159 | }) 160 | }, 161 | checkArea() { 162 | if (wx.getStorageSync('area')) { 163 | this.setData({ 164 | area: wx.getStorageSync('area'), 165 | }) 166 | if(_this.data.imgurls.length == 0){ 167 | _this.getCarousel() 168 | } 169 | if(_this.data.list.length == 0){ 170 | _this.getServer(wx.getStorageSync('dl').pk_id) 171 | } 172 | 173 | } else { 174 | wx.navigateTo({ 175 | url: '/pages/area/area', 176 | }) 177 | } 178 | }, 179 | onShareAppMessage(){ 180 | return { 181 | title:'校园综合服务平台', 182 | path:'/pages/index/index' 183 | } 184 | } 185 | 186 | }) 187 | -------------------------------------------------------------------------------- /project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "项目配置文件", 3 | "packOptions": { 4 | "ignore": [], 5 | "include": [] 6 | }, 7 | "setting": { 8 | "urlCheck": false, 9 | "es6": true, 10 | "enhance": false, 11 | "postcss": true, 12 | "preloadBackgroundData": false, 13 | "minified": true, 14 | "newFeature": true, 15 | "coverView": true, 16 | "nodeModules": false, 17 | "autoAudits": false, 18 | "showShadowRootInWxmlPanel": true, 19 | "scopeDataCheck": false, 20 | "uglifyFileName": true, 21 | "checkInvalidKey": true, 22 | "checkSiteMap": true, 23 | "uploadWithSourceMap": true, 24 | "compileHotReLoad": false, 25 | "useMultiFrameRuntime": true, 26 | "useApiHook": true, 27 | "useApiHostProcess": false, 28 | "babelSetting": { 29 | "ignore": [], 30 | "disablePlugins": [], 31 | "outputPath": "" 32 | }, 33 | "enableEngineNative": false, 34 | "bundle": false, 35 | "useIsolateContext": true, 36 | "useCompilerModule": true, 37 | "userConfirmedUseCompilerModuleSwitch": false, 38 | "userConfirmedBundleSwitch": false, 39 | "packNpmManually": false, 40 | "packNpmRelationList": [], 41 | "minifyWXSS": true 42 | }, 43 | "compileType": "miniprogram", 44 | "libVersion": "2.17.0", 45 | "appid": "wx865fd3e469d1d433", 46 | "projectname": "%E4%BF%AE%E5%A4%8D%E7%89%88v1.1.2", 47 | "simulatorType": "wechat", 48 | "simulatorPluginLibVersion": {}, 49 | "condition": { 50 | "miniprogram": { 51 | "list": [ 52 | { 53 | "name": "发布", 54 | "pathName": "pages/pub/pub", 55 | "query": "" 56 | }, 57 | { 58 | "name": "订单", 59 | "pathName": "pages/order/order", 60 | "query": "" 61 | }, 62 | { 63 | "name": "地区", 64 | "pathName": "pages/area/area", 65 | "query": "" 66 | }, 67 | { 68 | "name": "我的", 69 | "pathName": "pages/mine/mine", 70 | "query": "" 71 | }, 72 | { 73 | "name": "登录", 74 | "pathName": "pages/login/login", 75 | "query": "" 76 | }, 77 | { 78 | "name": "我的钱包", 79 | "pathName": "pages/payment/payment", 80 | "query": "" 81 | }, 82 | { 83 | "name": "快递代取", 84 | "pathName": "pages/daiqu/daiqu", 85 | "query": "index=1" 86 | }, 87 | { 88 | "name": "打印", 89 | "pathName": "pages/dayin/dayin", 90 | "query": "index=0" 91 | }, 92 | { 93 | "name": "帮助", 94 | "pathName": "pages/banzu/banzu", 95 | "query": "" 96 | }, 97 | { 98 | "name": "跑腿", 99 | "pathName": "pages/paotui/paotui", 100 | "query": "" 101 | }, 102 | { 103 | "name": "帮助s", 104 | "pathName": "pages/other/other", 105 | "query": "label=校园跑腿&data={\"qi\":true,\"mu\":true}" 106 | }, 107 | { 108 | "name": "详情", 109 | "pathName": "pages/order/detail/detail", 110 | "query": "id=24" 111 | }, 112 | { 113 | "name": "帮助", 114 | "pathName": "pages/order/detail/detail", 115 | "query": "id=15" 116 | }, 117 | { 118 | "name": "sq", 119 | "pathName": "pages/register/register", 120 | "query": "" 121 | }, 122 | { 123 | "name": "我的信息", 124 | "pathName": "pages/mine/info/info", 125 | "query": "" 126 | }, 127 | { 128 | "name": "我的地址", 129 | "pathName": "pages/mine/address/address", 130 | "query": "" 131 | }, 132 | { 133 | "name": "新增地址", 134 | "pathName": "pages/mine/addressinfo/addressinfo", 135 | "query": "" 136 | }, 137 | { 138 | "name": "选择地址", 139 | "pathName": "pages/mine/chooseaddress/chooseaddress", 140 | "query": "" 141 | }, 142 | { 143 | "name": "客服", 144 | "pathName": "pages/mine/cash/cash", 145 | "query": "" 146 | }, 147 | { 148 | "name": "电子协议书", 149 | "pathName": "pages/mine/jdsm/jdsm", 150 | "query": "" 151 | }, 152 | { 153 | "name": "关于我们", 154 | "pathName": "pages/mine/about/about", 155 | "query": "", 156 | "scene": null 157 | }, 158 | { 159 | "name": "文章详情页", 160 | "pathName": "pages/richtext/richtext", 161 | "query": "id=1", 162 | "scene": null 163 | }, 164 | { 165 | "name": "申请接单", 166 | "pathName": "pages/register/register", 167 | "query": "" 168 | } 169 | ] 170 | } 171 | }, 172 | "editorSetting": { 173 | "tabIndent": "insertSpaces", 174 | "tabSize": 2 175 | } 176 | } -------------------------------------------------------------------------------- /pages/order/detail/detail.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | wx_id:wx.getStorageSync("user").id 10 | }, 11 | comfirm(e) { 12 | let id = e.currentTarget.dataset.id 13 | wx.showLoading({ 14 | title: '请稍等', 15 | task:true 16 | }) 17 | app.com.post('help/confirm', { id: id }, function (res) { 18 | wx.hideLoading() 19 | if (res.code == 1) { 20 | wx.showToast({ 21 | title: '订单已完成', 22 | }) 23 | _this.getList(_this.data.list.id) 24 | } else { 25 | wx.showToast({ 26 | title: '确认失败', 27 | icon: 'none' 28 | }) 29 | } 30 | }) 31 | }, 32 | takeIt(e) { 33 | let msg = this.data.list 34 | if (wx.getStorageSync("res").state == 1) { 35 | this.takeDo(msg) 36 | } else { 37 | wx.showModal({ 38 | title: '提示', 39 | content: '您还不是接单员,是否前往申请', 40 | confirmText: '立即前往', 41 | success(res) { 42 | if (res.confirm) { 43 | wx.navigateTo({ 44 | url: '/pages/register/register', 45 | }) 46 | } 47 | } 48 | }) 49 | } 50 | 51 | 52 | }, 53 | takeDo(msg) { 54 | wx.showLoading({ 55 | title: '请稍等', 56 | task: true 57 | }) 58 | 59 | app.com.post('help/jd', { 60 | jd_id: wx.getStorageSync("user").id, 61 | id: msg.id, 62 | openid: msg.openid, 63 | form_id: msg.form_id, 64 | title: msg.title, 65 | order_num: msg.order_num 66 | }, function (res) { 67 | wx.hideLoading() 68 | if (res.code == 1) { 69 | wx.showToast({ 70 | title: '接单成功', 71 | }) 72 | _this.getList(_this.data.list.id) 73 | } else { 74 | wx.showToast({ 75 | title: '接单失败', 76 | icon: 'none' 77 | }) 78 | } 79 | }) 80 | }, 81 | cancel(e) { 82 | wx.showModal({ 83 | title: '提示', 84 | content: '确定要取消吗?', 85 | success(res) { 86 | if (res.confirm) { 87 | wx.showLoading({ 88 | title: '请稍等', 89 | task: true 90 | }) 91 | app.com.cancel(e.currentTarget.dataset.id, 'navigateTo', function (res) { 92 | wx.hideLoading() 93 | if (res) { 94 | _this.getList(e.currentTarget.dataset.id) 95 | } 96 | }) 97 | } 98 | } 99 | }) 100 | 101 | }, 102 | pay(e){ 103 | app.com.post('help/pay',{ 104 | title: e.currentTarget.dataset.title, 105 | openid:wx.getStorageSync("user").openid, 106 | oid: e.currentTarget.dataset.id, 107 | total_fee: e.currentTarget.dataset.price 108 | },function(res){ 109 | if(res.code == 1){ 110 | app.com.wxpay(res,function(res){ 111 | wx.hideLoading() 112 | if (res) { 113 | _this.getList(_this.data.id) 114 | } 115 | }) 116 | } 117 | }) 118 | }, 119 | /** 120 | * 生命周期函数--监听页面加载 121 | */ 122 | onLoad: function (options) { 123 | _this = this 124 | this.setData({ 125 | id:options.id 126 | }) 127 | this.getList(options.id) 128 | }, 129 | getList(id) { 130 | app.com.post('help/get2', { 131 | fields: 'helplist.*,wxuser.phone,wxuser.dphone,wxuser.avatar_url,wxuser.nick_name', 132 | wheres:'helplist.id='+id, 133 | sorts:'helplist.create_time asc' 134 | }, function (res) { 135 | if (res.code == 1) { 136 | let re = res.data.list 137 | _this.setData({ 138 | list: re[0], 139 | total: res.data.total 140 | }) 141 | if(re[0].jd_id){ 142 | _this.getJd(re[0].jd_id) 143 | } 144 | } else { 145 | wx.showToast({ 146 | title: res.msg, 147 | icon: 'none' 148 | }) 149 | } 150 | }) 151 | }, 152 | getJd(id){ 153 | app.com.post('wx/user/get/id',{ 154 | id: id 155 | },function(res){ 156 | if(res.code == 1){ 157 | _this.setData({ 158 | jduser:res.data 159 | }) 160 | } 161 | }) 162 | }, 163 | makePhoneCall(e){ 164 | let ty = e.currentTarget.dataset.type 165 | if (this.data.wx_id == this.data.list.wx_id || this.data.wx_id == this.data.list.jd_id){ 166 | wx.makePhoneCall({ 167 | phoneNumber: this.data.list[ty], 168 | }) 169 | }else{ 170 | wx.showToast({ 171 | title: '您不是该单的发布者或接单人', 172 | icon:'none' 173 | }) 174 | } 175 | 176 | }, 177 | makePhoneCall2(e) { 178 | let ty = e.currentTarget.dataset.type 179 | if (this.data.wx_id == this.data.list.wx_id || this.data.wx_id == this.data.list.jd_id) { 180 | wx.makePhoneCall({ 181 | phoneNumber: this.data.jduser[ty], 182 | }) 183 | } else { 184 | wx.showToast({ 185 | title: '您不是该单的发布者或接单人', 186 | icon: 'none' 187 | }) 188 | } 189 | 190 | }, 191 | /** 192 | * 生命周期函数--监听页面初次渲染完成 193 | */ 194 | onReady: function () { 195 | 196 | }, 197 | 198 | 199 | }) -------------------------------------------------------------------------------- /pages/register/register.js: -------------------------------------------------------------------------------- 1 | //index.js 2 | //获取应用实例 3 | const app = getApp() 4 | let _this; 5 | Page({ 6 | data: { 7 | price: '', 8 | des: '', 9 | phone: '', 10 | cert:'', 11 | stu_card:'', 12 | show:true, 13 | isUpdate:false 14 | }, 15 | gotoUpdate(){ 16 | this.setData({ 17 | show:true, 18 | isUpdate:true 19 | }) 20 | }, 21 | choose(e){ 22 | let name = e.currentTarget.dataset.name 23 | wx.chooseImage({ 24 | count:1, 25 | success(res) { 26 | const tempFilePaths = res.tempFilePaths 27 | if(name=='cert'){ 28 | _this.setData({ 29 | cert: tempFilePaths[0] 30 | }) 31 | 32 | }else{ 33 | _this.setData({ 34 | stu_card: tempFilePaths[0] 35 | }) 36 | } 37 | _this.upload(name) 38 | } 39 | }) 40 | }, 41 | upload(name){ 42 | if (this.data[name] != '' && this.data[name].indexOf('tmp')>0){ 43 | wx.showLoading({ 44 | title: '上传中', 45 | mask: true 46 | }) 47 | wx.uploadFile({ 48 | url: app.com.API + 'file/upload', // 仅为示例,非真实的接口地址 49 | filePath: this.data[name], 50 | name: 'file', 51 | formData:{ 52 | wx_id:wx.getStorageSync("user").id, 53 | a_id:wx.getStorageSync("area").pk_id, 54 | is_temp: 0 55 | }, 56 | success(res) { 57 | wx.hideLoading() 58 | let red = JSON.parse(res.data) 59 | if (red.code == 1) { 60 | 61 | if(name == 'cert'){ 62 | _this.setData({ 63 | cert: red.data.url 64 | }) 65 | }else{ 66 | _this.setData({ 67 | stu_card: red.data.url 68 | }) 69 | } 70 | 71 | } 72 | } 73 | }) 74 | }else{ 75 | wx.showToast({ 76 | title: '请选择图后再上传', 77 | icon:'none' 78 | }) 79 | } 80 | }, 81 | 82 | formSubmit(e) { 83 | let formId = e.detail.formId 84 | if (e.detail.value.name == '') { 85 | wx.showToast({ 86 | title: '请输入填姓名', 87 | icon: 'none' 88 | }) 89 | } else if (e.detail.value.card_num == ''){ 90 | wx.showToast({ 91 | title: '请输入身份证号码', 92 | icon: 'none' 93 | }) 94 | }else if (this.data.stu_card == '' || this.data.stu_card.indexOf('tmp') > 0) { 95 | wx.showToast({ 96 | title: '请上传学生证', 97 | icon: 'none' 98 | }) 99 | }else if (this.data.stu_card == '' || this.data.stu_card.indexOf('tmp')>0) { 100 | wx.showToast({ 101 | title: '请上传学生证', 102 | icon: 'none' 103 | }) 104 | }else { 105 | wx.showLoading({ 106 | title: '加载中', 107 | }) 108 | let url = 'regis' 109 | if(this.data.res){ 110 | url = 'update/info' 111 | } 112 | app.com.post('wx/user/'+url, { 113 | wx_id: wx.getStorageSync("user").id, 114 | form_id: formId, 115 | name: e.detail.value.name, 116 | card_num: e.detail.value.card_num, 117 | cert: _this.data.cert, 118 | stu_card: _this.data.stu_card, 119 | id: _this.data.res ? _this.data.res.id:'', 120 | a_id: wx.getStorageSync("area").pk_id 121 | }, function (res) { 122 | wx.hideLoading() 123 | if (res.code == 1) { 124 | wx.showToast({ 125 | title: '提交成功', 126 | }) 127 | if (_this.data.res) { 128 | wx.setStorageSync("res", _this.data.res) 129 | } 130 | _this.setData({ 131 | 'res.state': 0, 132 | show: false, 133 | isUpdate:false 134 | }) 135 | } else { 136 | wx.showToast({ 137 | title: res.msg, 138 | icon: 'none' 139 | }) 140 | } 141 | }) 142 | 143 | } 144 | }, 145 | makePhone(){ 146 | wx.makePhoneCall({ 147 | phoneNumber: wx.getStorageSync("dl").phone, 148 | }) 149 | }, 150 | onLoad: function (options) { 151 | _this = this 152 | let server = wx.getStorageSync("server") 153 | for(let i in server){ 154 | server[i].pk_server = ((server[i].dl_sy + server[i].p_sy)*100).toFixed(0) 155 | } 156 | this.setData({ 157 | server: server 158 | }) 159 | }, 160 | onShow(){ 161 | this.getRes() 162 | 163 | }, 164 | getRes() { 165 | wx.showLoading({ 166 | title: '加载中', 167 | task:true 168 | }) 169 | app.com.post('wx/user/get/info/wxid', { wx_id: wx.getStorageSync("user").id }, function (res) { 170 | wx.hideLoading() 171 | if (res.code == 1) { 172 | if(res.data != 0){ 173 | wx.setStorageSync("res", res.data) 174 | _this.setData({ 175 | res: res.data, 176 | show: false, 177 | cert: res.data.cert, 178 | stu_card: res.data.stu_card, 179 | name: res.data.name, 180 | card_num: res.data.card_num, 181 | }) 182 | }else{ 183 | if (wx.getStorageSync("xy")) { 184 | 185 | } else { 186 | wx.navigateTo({ 187 | url: '/pages/mine/jdsm/jdsm', 188 | }) 189 | } 190 | } 191 | } else { 192 | wx.showToast({ 193 | title: '失败', 194 | icon: 'none' 195 | }) 196 | } 197 | }) 198 | }, 199 | 200 | 201 | }) 202 | -------------------------------------------------------------------------------- /pages/banzu/banzu.js: -------------------------------------------------------------------------------- 1 | const app = getApp() 2 | let _this; 3 | Page({ 4 | 5 | /** 6 | * 页面的初始数据 7 | */ 8 | data: { 9 | list:[], 10 | page:1, 11 | load:false, 12 | size:10, 13 | tag:['校园帮','我发出的','我帮助的'], 14 | flag:0, 15 | url:'get', 16 | wheres:"", 17 | sorts:"", 18 | fields:'', 19 | wx_id:wx.getStorageSync("user").id 20 | }, 21 | getWxsmData(){ 22 | let date = new Date() 23 | let m = date.getMonth() + 1 24 | let month = m < 10 ? ""+"0"+m:m 25 | let com = date.getFullYear() + '-' + month+'%' 26 | app.com.post('anlysis/get/wx/sm',{wx_id:wx.getStorageSync("user").id,com_time:com},function(res){ 27 | console.log(res) 28 | if(res.code == 1){ 29 | _this.setData({ 30 | anlysis:res.data 31 | }) 32 | } 33 | }) 34 | }, 35 | comfirm(e){ 36 | let id = e.currentTarget.dataset.id 37 | wx.showLoading({ 38 | title: '请稍等', 39 | task:true 40 | }) 41 | app.com.post('help/confirm',{id:id},function(res){ 42 | wx.hideLoading() 43 | if(res.code == 1){ 44 | wx.showToast({ 45 | title: '订单已完成', 46 | }) 47 | _this.getList(0) 48 | }else{ 49 | wx.showToast({ 50 | title: '确认失败', 51 | icon: 'none' 52 | }) 53 | } 54 | }) 55 | }, 56 | takeIt(e){ 57 | let index = e.currentTarget.dataset.index 58 | let msg = this.data.list[index] 59 | if (wx.getStorageSync("res").state == 1){ 60 | if (wx.getStorageSync("res").a_id == wx.getStorageSync("area").pk_id) { 61 | this.takeDo(msg) 62 | }else{ 63 | wx.showModal({ 64 | title: '提示', 65 | content: '您不是该学校的接单员', 66 | confirmText: '朕知道了', 67 | showCancel:false, 68 | success(res) { 69 | if (res.confirm) { 70 | wx.navigateTo({ 71 | url: '/pages/register/register', 72 | }) 73 | } 74 | } 75 | }) 76 | } 77 | } else{ 78 | wx.showModal({ 79 | title: '提示', 80 | content: '您还不是接单员,是否前往申请', 81 | confirmText:'立即前往', 82 | success(res) { 83 | if (res.confirm) { 84 | wx.navigateTo({ 85 | url: '/pages/register/register', 86 | }) 87 | } 88 | } 89 | }) 90 | } 91 | 92 | 93 | }, 94 | takeDo(msg){ 95 | wx.showLoading({ 96 | title: '请稍等', 97 | task:true 98 | }) 99 | app.com.post('help/jd', { 100 | jd_id: wx.getStorageSync("user").id, 101 | id: msg.id, 102 | openid:msg.openid, 103 | form_id:msg.form_id, 104 | title:msg.title, 105 | order_num:msg.order_num 106 | }, function (res) { 107 | wx.hideLoading() 108 | if (res.code == 1) { 109 | wx.showToast({ 110 | title: '接单成功', 111 | }) 112 | _this.getList(0) 113 | } else { 114 | wx.showToast({ 115 | title: '接单失败', 116 | icon: 'none' 117 | }) 118 | } 119 | }) 120 | }, 121 | pay(e) { 122 | wx.showLoading({ 123 | title: '请稍等', 124 | task: true 125 | }) 126 | app.com.post('help/pay', { 127 | title: e.currentTarget.dataset.title, 128 | openid: wx.getStorageSync("user").openid, 129 | oid: e.currentTarget.dataset.id, 130 | total_fee: e.currentTarget.dataset.price 131 | }, function (res) { 132 | if (res.code == 1) { 133 | app.com.wxpay(res,function(res){ 134 | wx.hideLoading() 135 | if(res){ 136 | _this.getList(0) 137 | } 138 | }) 139 | } 140 | }) 141 | }, 142 | cancel(e){ 143 | wx.showModal({ 144 | title: '提示', 145 | content: '确定要取消吗?', 146 | success(res){ 147 | if(res.confirm){ 148 | wx.showLoading({ 149 | title: '请稍等', 150 | task: true 151 | }) 152 | app.com.cancel(e.currentTarget.dataset.id, 'navigateTo',function(res){ 153 | wx.hideLoading() 154 | if(res){ 155 | _this.getList(0) 156 | } 157 | }) 158 | } 159 | } 160 | }) 161 | 162 | }, 163 | changeTag(e) { 164 | let index = e.currentTarget.dataset.index 165 | this.setData({ 166 | flag: e.currentTarget.dataset.index 167 | }) 168 | if(index == 0){ 169 | _this.data.url = 'get' 170 | _this.data.wheres = 'a_id=' + wx.getStorageSync("area").pk_id 171 | _this.data.sorts = "" 172 | _this.data.fields = '' 173 | _this.getList(0) 174 | }else if(index == 1){ 175 | _this.data.url = 'get2' 176 | _this.data.fields = 'helplist.*,wxuser.phone,wxuser.dphone,wxuser.avatar_url,wxuser.nick_name' 177 | _this.data.wheres = 'helplist.is_delete=0 and wx_id=' + wx.getStorageSync("user").id 178 | _this.data.sorts = "helplist.create_time desc" 179 | _this.getList(0) 180 | }else{ 181 | _this.data.url = 'get2' 182 | _this.data.fields = 'helplist.*,wxuser.phone,wxuser.dphone,wxuser.avatar_url,wxuser.nick_name' 183 | _this.data.wheres = 'helplist.is_delete=0 and jd_id=' + wx.getStorageSync("user").id 184 | _this.data.sorts = "helplist.create_time desc" 185 | _this.getList(0) 186 | _this.getWxsmData() 187 | } 188 | }, 189 | navTo(e) { 190 | app.com.navTo(e) 191 | }, 192 | /** 193 | * 生命周期函数--监听页面加载 194 | */ 195 | onLoad: function (options) { 196 | _this = this 197 | _this.getList(0) 198 | }, 199 | 200 | getList(type){ 201 | if (type == 0) { 202 | this.data.page = 1 203 | } else { 204 | this.data.page += 1 205 | } 206 | this.setData({ 207 | load:true 208 | }) 209 | app.com.post('help/'+this.data.url, { 210 | a_id:wx.getStorageSync("area").pk_id, 211 | wheres:this.data.wheres, 212 | sorts:this.data.sorts, 213 | fields:this.data.fields, 214 | pageIndex: this.data.page, 215 | pageSize: this.data.size 216 | }, function (res) { 217 | wx.stopPullDownRefresh() 218 | if (res.code == 1) { 219 | let re = res.data.list 220 | for (let i in re) { 221 | re[i].time = app.com.formatMsgTime(re[i].create_time) 222 | } 223 | let arr = [] 224 | if (type == 0) { 225 | arr = re 226 | } else { 227 | arr = _this.data.list 228 | for (let i in re) { 229 | arr.push(re[i]) 230 | } 231 | } 232 | _this.setData({ 233 | list: arr, 234 | total: res.data.total, 235 | load:false 236 | }) 237 | } else { 238 | _this.setData({ 239 | 240 | load: false 241 | }) 242 | wx.showToast({ 243 | title: res.msg, 244 | icon: 'none' 245 | }) 246 | } 247 | }) 248 | }, 249 | /** 250 | * 生命周期函数--监听页面显示 251 | */ 252 | onShow: function () { 253 | if(wx.getStorageSync("bzflag")){ 254 | this.changeTag({ currentTarget: { dataset: { index: wx.getStorageSync("bzflag")}}}) 255 | wx.removeStorageSync("bzflag") 256 | }else{ 257 | if(this.data.flag != 0){ 258 | this.changeTag({ currentTarget: { dataset: { index: 0 } } }) 259 | } 260 | } 261 | this.setData({ 262 | wx_id: wx.getStorageSync("user").id 263 | }) 264 | }, 265 | 266 | 267 | 268 | /** 269 | * 页面相关事件处理函数--监听用户下拉动作 270 | */ 271 | onPullDownRefresh: function () { 272 | _this.getList(0) 273 | }, 274 | 275 | /** 276 | * 页面上拉触底事件的处理函数 277 | */ 278 | onReachBottom: function () { 279 | if(this.data.list.length < this.data.total){ 280 | _this.getList(1) 281 | } 282 | }, 283 | 284 | /** 285 | * 用户点击右上角分享 286 | */ 287 | onShareAppMessage: function () { 288 | return { 289 | title:'校园综合服务平台', 290 | path:'/pages/index/index' 291 | } 292 | } 293 | }) -------------------------------------------------------------------------------- /common.wxss: -------------------------------------------------------------------------------- 1 | /*下划线*/ 2 | .th-line{ 3 | text-decoration: line-through 4 | } 5 | /*居中*/ 6 | .text-center{ 7 | text-align: center 8 | } 9 | .text-right{ 10 | text-align: right 11 | } 12 | /*加粗*/ 13 | .bold{ 14 | font-weight: bold 15 | } 16 | /*斜体*/ 17 | .it{ 18 | font-style: italic 19 | } 20 | /*省略号*/ 21 | .ell{ 22 | overflow:hidden; 23 | text-overflow:ellipsis; 24 | white-space: nowrap 25 | } 26 | .ell-2{ 27 | display: -webkit-box; 28 | -webkit-box-orient: vertical; 29 | -webkit-line-clamp: 2; 30 | overflow: hidden; 31 | } 32 | .ell-3{ 33 | display: -webkit-box; 34 | -webkit-box-orient: vertical; 35 | -webkit-line-clamp: 3; 36 | overflow: hidden; 37 | } 38 | .ell-4{ 39 | display: -webkit-box; 40 | -webkit-box-orient: vertical; 41 | -webkit-line-clamp: 4; 42 | overflow: hidden; 43 | } 44 | /* 弹性布局 */ 45 | .panel{ 46 | padding: 30rpx; 47 | background: #ffffff 48 | } 49 | .panel-start{ 50 | display: flex; 51 | justify-content: flex-start; 52 | } 53 | .panel-between{ 54 | display: flex; 55 | justify-content: space-between; 56 | } 57 | .panel-end{ 58 | display: flex; 59 | justify-content: flex-end; 60 | } 61 | .panel-around{ 62 | display: flex; 63 | justify-content: space-around; 64 | } 65 | .panel-center{ 66 | display: flex; 67 | justify-content: center; 68 | } 69 | .wrap{ 70 | flex-flow: wrap 71 | } 72 | .item-center{ 73 | align-items: center 74 | } 75 | .item-start{ 76 | align-items: flex-start 77 | } 78 | .item-end{ 79 | align-items: flex-end 80 | } 81 | 82 | /* 背景颜色 */ 83 | 84 | .bg-w{ 85 | background-color: #fff 86 | } 87 | .bg-b{ 88 | background-color: #000 89 | } 90 | .bg-g{ 91 | background-color: #f3f3f3 92 | } 93 | 94 | /*字体颜色*/ 95 | .fo-w{ 96 | color: #fff 97 | } 98 | .fo-b{ 99 | color: #000 100 | } 101 | .fo-g{ 102 | color: #999 103 | } 104 | .fo-f3{ 105 | color: #f3f3f3 106 | } 107 | .fo-333{ 108 | color: #333333 109 | } 110 | 111 | /* 外边距规范 */ 112 | .ma-30{ 113 | margin: 30rpx 114 | } 115 | .ma-l30{ 116 | margin-left: 30rpx 117 | } 118 | .ma-r30{ 119 | margin-right: 30rpx 120 | } 121 | .ma-t30{ 122 | margin-top: 30rpx 123 | } 124 | .ma-b30{ 125 | margin-bottom: 30rpx 126 | } 127 | 128 | .ma-20{ 129 | margin: 20rpx 130 | } 131 | .ma-l20{ 132 | margin-left: 20rpx 133 | } 134 | .ma-r20{ 135 | margin-right: 20rpx 136 | } 137 | .ma-t20{ 138 | margin-top: 20rpx 139 | } 140 | .ma-b20{ 141 | margin-bottom: 20rpx 142 | } 143 | 144 | .ma-10{ 145 | margin: 10rpx 146 | } 147 | .ma-l10{ 148 | margin-left: 10rpx 149 | } 150 | .ma-r10{ 151 | margin-right: 10rpx 152 | } 153 | .ma-t10{ 154 | margin-top: 10rpx 155 | } 156 | .ma-b10{ 157 | margin-bottom: 10rpx 158 | } 159 | 160 | /* 内边距规范 */ 161 | .pa-10{ 162 | padding: 10rpx 163 | } 164 | .pa-l10{ 165 | padding-left: 10rpx 166 | } 167 | .pa-r10{ 168 | padding-right: 10rpx 169 | } 170 | .pa-t10{ 171 | padding-top: 10rpx 172 | } 173 | .pa-b10{ 174 | padding-bottom: 10rpx 175 | } 176 | 177 | .pa-20{ 178 | padding: 20rpx 179 | } 180 | .pa-l20{ 181 | padding-left: 20rpx 182 | } 183 | .pa-r20{ 184 | padding-right: 20rpx 185 | } 186 | .pa-t20{ 187 | padding-top: 20rpx 188 | } 189 | .pa-b20{ 190 | padding-bottom: 20rpx 191 | } 192 | 193 | .pa-30{ 194 | padding: 30rpx 195 | } 196 | .pa-l30{ 197 | padding-left: 30rpx 198 | } 199 | .pa-r30{ 200 | padding-right: 30rpx 201 | } 202 | .pa-t30{ 203 | padding-top: 30rpx 204 | } 205 | .pa-b30{ 206 | padding-bottom: 30rpx 207 | } 208 | 209 | /*圆角*/ 210 | .ra-30{ 211 | border-radius: 30rpx 212 | } 213 | .ra-20{ 214 | border-radius: 20rpx 215 | } 216 | .ra-10{ 217 | border-radius: 10rpx 218 | } 219 | .ra-l30{ 220 | border-radius: 30rpx 0 0 30rpx 221 | } 222 | .ra-l20{ 223 | border-radius: 20rpx 0 0 20rpx 224 | } 225 | .ra-l10{ 226 | border-radius: 10rpx 0 0 10rpx 227 | } 228 | .ra-r30{ 229 | border-radius: 0 30rpx 30rpx 0 230 | } 231 | .ra-r20{ 232 | border-radius: 0 20rpx 20rpx 0 233 | } 234 | .ra-r10{ 235 | border-radius: 0 10rpx 10rpx 0 236 | } 237 | .ra-t30{ 238 | border-radius: 30rpx 30rpx 0 0 239 | } 240 | .ra-t20{ 241 | border-radius: 20rpx 20rpx 0 0 242 | } 243 | .ra-t10{ 244 | border-radius: 10rpx 10rpx 0 0 245 | } 246 | .ra-b30{ 247 | border-radius: 0 0 30rpx 30rpx 248 | } 249 | .ra-b20{ 250 | border-radius: 0 0 20rpx 20rpx 251 | } 252 | .ra-b10{ 253 | border-radius: 0 0 10rpx 10rpx 254 | } 255 | 256 | /*阴影*/ 257 | .shadow{ 258 | box-shadow: 0 0 20rpx 0 #e1e1e1 259 | } 260 | 261 | /*边框*/ 262 | .border{ 263 | border: solid 1px #e1e1e1 264 | } 265 | .border-b{ 266 | border-bottom: solid 1px #e1e1e1 267 | } 268 | .border-t{ 269 | border-top: solid 1px #e1e1e1 270 | } 271 | .border-l{ 272 | border-left: solid 1px #e1e1e1 273 | } 274 | .border-r{ 275 | border-right: solid 1px #e1e1e1 276 | } 277 | 278 | /*加载动画*/ 279 | @keyframes three-quarters-loader { 280 | 0% { 281 | -moz-transform: rotate(0deg); 282 | -ms-transform: rotate(0deg); 283 | -webkit-transform: rotate(0deg); 284 | transform: rotate(0deg); 285 | } 286 | 100% { 287 | -moz-transform: rotate(360deg); 288 | -ms-transform: rotate(360deg); 289 | -webkit-transform: rotate(360deg); 290 | transform: rotate(360deg); 291 | } 292 | } 293 | .three-quarters-loader:not(:required) { 294 | animation: three-quarters-loader 1250ms infinite linear; 295 | border: 8rpx solid #aaa; 296 | border-right-color: transparent; 297 | border-radius: 20rpx; 298 | box-sizing: border-box; 299 | display: inline-block; 300 | overflow: hidden; 301 | text-indent: -9999px; 302 | width: 35rpx; 303 | height: 35rpx; 304 | } 305 | .loading-txt{ 306 | margin-left: 20rpx; 307 | font-size: 30rpx; 308 | color: #aaa; 309 | } 310 | 311 | /*字体大小*/ 312 | .fo-20{ 313 | font-size: 20rpx 314 | } 315 | .fo-22{ 316 | font-size: 22rpx 317 | } 318 | .fo-24{ 319 | font-size: 24rpx 320 | } 321 | .fo-26{ 322 | font-size: 26rpx 323 | } 324 | .fo-28{ 325 | font-size: 28rpx 326 | } 327 | .fo-30{ 328 | font-size: 30rpx 329 | } 330 | .fo-32{ 331 | font-size: 32rpx 332 | } 333 | .fo-34{ 334 | font-size: 34rpx 335 | } 336 | .fo-36{ 337 | font-size: 36rpx 338 | } 339 | .fo-38{ 340 | font-size: 38rpx 341 | } 342 | .fo-40{ 343 | font-size: 40rpx 344 | } 345 | .fo-42{ 346 | font-size: 42rpx 347 | } 348 | .fo-44{ 349 | font-size: 44rpx 350 | } 351 | .fo-46{ 352 | font-size: 46rpx 353 | } 354 | .fo-48{ 355 | font-size: 48rpx 356 | } 357 | .fo-50{ 358 | font-size: 50rpx 359 | } 360 | /*图标*/ 361 | .icon-20{ 362 | width: 20rpx; 363 | height: 20rpx 364 | } 365 | .icon-25{ 366 | width: 25rpx; 367 | height: 25rpx 368 | } 369 | .icon-30{ 370 | width: 30rpx; 371 | height: 30rpx 372 | } 373 | .icon-35{ 374 | width: 35rpx; 375 | height: 35rpx 376 | } 377 | .icon-40{ 378 | width: 40rpx; 379 | height: 40rpx 380 | } 381 | .icon-45{ 382 | width: 45rpx; 383 | height: 45rpx 384 | } 385 | .icon-50{ 386 | width: 50rpx; 387 | height: 50rpx 388 | } 389 | .icon-60{ 390 | width: 60rpx; 391 | height: 60rpx 392 | } 393 | /*优先级*/ 394 | .z-1{ 395 | z-index: 1 396 | } 397 | .z-2{ 398 | z-index: 2 399 | } 400 | .z-3{ 401 | z-index:3 402 | } 403 | .z-4{ 404 | z-index: 4 405 | } 406 | .z-5{ 407 | z-index: 5 408 | } 409 | .z-6{ 410 | z-index: 6 411 | } 412 | .z-7{ 413 | z-index: 7 414 | } 415 | 416 | /*行高*/ 417 | .lh-30{ 418 | line-height: 30rpx 419 | } 420 | .lh-40{ 421 | line-height: 40rpx 422 | } 423 | .lh-50{ 424 | line-height: 50rpx 425 | } 426 | .lh-60{ 427 | line-height: 60rpx 428 | } 429 | .lh-70{ 430 | line-height: 70rpx 431 | } 432 | .lh-80{ 433 | line-height: 80rpx 434 | } 435 | .lh-90{ 436 | line-height: 90rpx 437 | } 438 | .lh-100{ 439 | line-height: 100rpx 440 | } 441 | 442 | /* 443 | 百分比宽度 444 | */ 445 | .w-20{ 446 | width: 20% 447 | } 448 | .w-25{ 449 | width: 25% 450 | } 451 | .w-33{ 452 | width: 33% 453 | } 454 | .w-3333{ 455 | width: 33.33% 456 | } 457 | .w-50{ 458 | width: 50%; 459 | } 460 | .w-100{ 461 | width: 100% 462 | } 463 | .w-40{ 464 | width: 40% 465 | } 466 | .w-60{ 467 | width: 60% 468 | } 469 | .w-30{ 470 | width: 30% 471 | } 472 | .w-70{ 473 | width: 70% 474 | } 475 | .filter-btn{ 476 | background: none; 477 | padding: 0; 478 | border: none; 479 | outline: none; 480 | line-height: unset; 481 | box-sizing: unset; 482 | -webkit-tap-highlight-color: unset; 483 | position: unset; 484 | display: block 485 | } 486 | .filter-btn::after{ 487 | background: none; 488 | padding: 0; 489 | border: none; 490 | outline: none; 491 | line-height: unset; 492 | box-sizing: unset; 493 | -webkit-tap-highlight-color: unset; 494 | position: unset; 495 | display: block 496 | } -------------------------------------------------------------------------------- /utils/util.js: -------------------------------------------------------------------------------- 1 | const util = { 2 | API: 'http://你的域名/api/', 3 | webSrc: 'http://你的域名/#/dayin_wx', 4 | 5 | /** 6 | * 获取窗口大小 7 | */ 8 | getWindowSize(that) { 9 | let pages = getCurrentPages(); // 当前页面 10 | // let beforePage = pages[pages.length - 2]; 11 | wx.getSystemInfo({ 12 | success: function (res) { 13 | that.setData({ 14 | model: res.model, 15 | width: res.windowWidth, 16 | height: res.windowHeight, 17 | topHeight: res.statusBarHeight + 46, 18 | pageLength: pages.length 19 | }) 20 | }, 21 | }) 22 | }, 23 | login(cb){ 24 | var that = this; 25 | wx.login({ 26 | success(res) { 27 | that.post('wx/user/login', { js_code: res.code }, function (res) { 28 | if(res.code == -1){ 29 | wx.showToast({ 30 | title: res.data.msg + '', 31 | icon: 'none' 32 | }) 33 | }else if (res.code == 1) { 34 | wx.setStorageSync("user", res.data) 35 | wx.setStorageSync("token", res.token) 36 | cb(res) 37 | } 38 | }) 39 | } 40 | }) 41 | }, 42 | //post请求 43 | post(url, data, success, fail) { 44 | this.http('POST', url, data, success, fail) 45 | }, 46 | get(url, data, success, fail) { 47 | this.http('GET', url, data, success, fail) 48 | }, 49 | 50 | http(method, url, data, success, fail) { 51 | //通用post接口实现方法 52 | var that = this; 53 | let _data = data || {}; 54 | let _success = success || function (e) { 55 | console.log(e) 56 | }; 57 | let _fail = fail || function (e) { 58 | console.log(e) 59 | }; 60 | let _method = method || 'POST'; 61 | let _header = { 62 | 'content-type': 'application/x-www-form-urlencoded' 63 | }; 64 | 65 | if (_method.toUpperCase() == 'GET') { 66 | _header = { 67 | 'content-type': 'application/json' 68 | }; 69 | } 70 | if (wx.getStorageSync("token")) { 71 | _header.token = wx.getStorageSync("token") 72 | } 73 | if (arguments.length == 2 && typeof _data == 'function') { 74 | _success = _data 75 | } 76 | wx.request({ 77 | url: this.API + url, 78 | method: _method, 79 | header: _header, 80 | data: _data, 81 | success: function (res) { 82 | if (typeof _success == 'function' && res.statusCode != 404 && res.statusCode != 500 && res.statusCode != 400) { 83 | _success(res.data); 84 | if (res.data.code == -1){ 85 | that.login(function (res) { 86 | that.http(method, url, data, success, fail) 87 | }) 88 | } else if(res.data.code != 1){ 89 | wx.showToast({ 90 | title: res.data.msg + '', 91 | icon: 'none' 92 | }) 93 | } 94 | 95 | // if (res.data.code != 101 && res.data.code != -1){ 96 | // if (res.data.code != 1) { 97 | // wx.showToast({ 98 | // title: res.data.msg + '', 99 | // icon: 'none' 100 | // }) 101 | // } 102 | // _success(res.data); 103 | // } else if (res.data.code != -1){ 104 | // that.login(function(res){ 105 | // that.http(method, url, data, success, fail) 106 | // }) 107 | // } 108 | 109 | } else { 110 | if (typeof _success != 'function') {} 111 | wx.showToast({ 112 | title: '接口 错误 ' + res.statusCode, 113 | icon: 'none' 114 | }) 115 | } 116 | }, 117 | fail: function (res) { 118 | console.log(`======== 接口 请求失败 ========`); 119 | if (typeof _fail == 'function') { 120 | _fail(res); 121 | } 122 | } 123 | }); 124 | }, 125 | dateFormat(time, fmt) { //author: meizz 126 | let date = new Date(parseInt(time)) 127 | var o = { 128 | "M+": date.getMonth() + 1, //月份 129 | "d+": date.getDate(), //日 130 | "h+": date.getHours(), //小时 131 | "m+": date.getMinutes(), //分 132 | "s+": date.getSeconds(), //秒 133 | "q+": Math.floor((date.getMonth() + 3) / 3), //季度 134 | "S": date.getMilliseconds() //毫秒 135 | }; 136 | if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); 137 | for (var k in o) 138 | if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); 139 | return fmt; 140 | }, 141 | 142 | navTo(e) { 143 | let type = e.currentTarget.dataset.type 144 | let names = e.currentTarget.dataset.names 145 | let path = e.currentTarget.dataset.path 146 | let nav = 'navigateTo' 147 | if (type == 1) { 148 | nav = 'navigateTo' 149 | } else if (type == 2) { 150 | nav = 'redirectTo' 151 | } else if (type == 3) { 152 | nav = 'switchTab' 153 | } 154 | let url = path 155 | let _names = [] 156 | if (names) { 157 | _names = names.split(',') 158 | } 159 | if (_names.length > 0) { 160 | url += '?' 161 | for (let i in _names) { 162 | if (i == 0) { 163 | url += _names[i] + '=' + e.currentTarget.dataset[_names[i]] 164 | } else { 165 | url += '&' + _names[i] + '=' + e.currentTarget.dataset[_names[i]] 166 | } 167 | } 168 | } 169 | wx[nav]({ 170 | url: url, 171 | }) 172 | }, 173 | wxpay(msg, cb) { 174 | wx.requestPayment({ 175 | timeStamp: msg.timestamp, 176 | nonceStr: msg.nonceStr, 177 | package: msg.package, 178 | signType: 'MD5', 179 | paySign: msg.paySign, 180 | success(res) { 181 | wx.showToast({ 182 | title: '发布成功', 183 | }) 184 | util.post('help/update/state', { 185 | state: 1, 186 | is_pay: 1, 187 | id: msg.oid 188 | }, function (res) { 189 | if (res.code == 1) { 190 | if (cb) { 191 | cb(true) 192 | } else { 193 | wx.redirectTo({ 194 | url: '/pages/order/detail/detail?id=' + msg.oid, 195 | }) 196 | } 197 | 198 | } else { 199 | if (cb) { 200 | cb(false) 201 | } else { 202 | wx.redirectTo({ 203 | url: '/pages/order/detail/detail?id=' + msg.oid, 204 | }) 205 | } 206 | } 207 | }) 208 | }, 209 | fail(res) { 210 | wx.showToast({ 211 | title: '支付失败', 212 | icon: 'none' 213 | }) 214 | if (cb) { 215 | cb(false) 216 | } else { 217 | wx.redirectTo({ 218 | url: '/pages/order/detail/detail?id=' + msg.oid, 219 | }) 220 | } 221 | } 222 | }) 223 | }, 224 | formatMsgTime(timespan) { 225 | var dateTime = new Date(timespan); 226 | var year = dateTime.getFullYear(); 227 | var month = dateTime.getMonth() + 1; 228 | var day = dateTime.getDate(); 229 | var hour = dateTime.getHours(); 230 | var minute = dateTime.getMinutes(); 231 | var second = dateTime.getSeconds(); 232 | var now = new Date(); 233 | var now_new = now.getTime(); //typescript转换写法 234 | 235 | var milliseconds = 0; 236 | var timeSpanStr; 237 | 238 | milliseconds = now_new - dateTime.getTime(); 239 | 240 | if (milliseconds <= 1000 * 60 * 1) { 241 | timeSpanStr = '刚刚'; 242 | } else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60) { 243 | timeSpanStr = Math.round((milliseconds / (1000 * 60))) + '分钟前'; 244 | } else if (1000 * 60 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) { 245 | timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + '小时前'; 246 | } else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 15) { 247 | timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60 * 24)) + '天前'; 248 | } else if (milliseconds > 1000 * 60 * 60 * 24 * 15 && year == now.getFullYear()) { 249 | timeSpanStr = month + '-' + day + ' ' + hour + ':' + minute; 250 | } else { 251 | timeSpanStr = timespan; 252 | } 253 | return timeSpanStr; 254 | }, 255 | cancel(oid, name, cb) { 256 | this.post('help/update/state', { 257 | state: 4, 258 | id: oid 259 | }, function (res) { 260 | 261 | if (res.code == 1) { 262 | wx.showToast({ 263 | title: '取消成功', 264 | }) 265 | cb(true) 266 | } else { 267 | cb(false) 268 | wx.showToast({ 269 | title: '取消失败', 270 | icon: 'none' 271 | }) 272 | } 273 | }) 274 | } 275 | } 276 | module.exports = util -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 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 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 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 | 107 | 108 | 110 | 111 | 117 | 118 | 119 | 121 | 122 | 123 | 126 | 139 | 140 | 141 | 142 | 143 | 1675145649100 144 | 149 | 150 | 1675145905478 151 | 156 | 159 | 160 | 162 | 163 | 172 | 173 | 174 | 175 | 177 | --------------------------------------------------------------------------------