From 374a5b333dda02ebef7dba24ae5aa3b6d056648e Mon Sep 17 00:00:00 2001
From: meo <18801474720@163.com>
Date: Wed, 14 Aug 2019 15:46:13 +0800
Subject: [PATCH] =?UTF-8?q?[=E6=96=B0UI][=E4=BF=AE=E6=94=B9]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 18 +-
custom-tab-bar/index.js | 45 ++
custom-tab-bar/index.json | 3 +
custom-tab-bar/index.wxml | 8 +
custom-tab-bar/index.wxss | 38 ++
ext.json | 1 +
index/index.js | 12 +
index/index.json | 3 +
index/index.wxml | 1 +
index/index.wxss | 4 +
index/passCar.js | 768 +++++++++++++++++++++++++++++++++
index/passCar.json | 8 +
index/passCar.wxml | 157 +++++++
index/passCar.wxss | 881 ++++++++++++++++++++++++++++++++++++++
index/searchbar.js | 156 +++++++
index/searchbar.json | 8 +
index/searchbar.wxml | 43 ++
index/searchbar.wxss | 158 +++++++
index/user.js | 288 +++++++++++++
index/user.json | 9 +
index/user.wxml | 104 +++++
index/user.wxss | 392 +++++++++++++++++
22 files changed, 3097 insertions(+), 8 deletions(-)
create mode 100644 custom-tab-bar/index.js
create mode 100644 custom-tab-bar/index.json
create mode 100644 custom-tab-bar/index.wxml
create mode 100644 custom-tab-bar/index.wxss
create mode 100644 index/index.js
create mode 100644 index/index.json
create mode 100644 index/index.wxml
create mode 100644 index/index.wxss
create mode 100644 index/passCar.js
create mode 100644 index/passCar.json
create mode 100644 index/passCar.wxml
create mode 100644 index/passCar.wxss
create mode 100644 index/searchbar.js
create mode 100644 index/searchbar.json
create mode 100644 index/searchbar.wxml
create mode 100644 index/searchbar.wxss
create mode 100644 index/user.js
create mode 100644 index/user.json
create mode 100644 index/user.wxml
create mode 100644 index/user.wxss
diff --git a/app.json b/app.json
index 138671d..146f98e 100644
--- a/app.json
+++ b/app.json
@@ -1,6 +1,10 @@
{
"pages": [
"pages/index/index",
+ "index/index",
+ "index/searchbar",
+ "index/passCar",
+ "index/user",
"pages/integralmall/integraHistory/index",
"pages/integralmall/payIntegcouponStatus/index",
"pages/integralmall/payIntegcoupondetail/index",
@@ -13,8 +17,6 @@
"pages/complete/index",
"pages/topicDetail/index",
"pages/acSignIn/index",
- "pages/main/index",
- "pages/index/searchbar/index",
"pages/index/merchantList/index",
"pages/index/searchbar/detail/index",
"pages/bargain/bargainDatail/bargainDatail",
@@ -27,7 +29,6 @@
"pages/bannerdetail/index",
"pages/getuserinfo/index",
"pages/phoneinput/phoneinput",
- "pages/user/index",
"pages/user/myactivity/index",
"pages/coupon/detail/index",
"pages/rushToBuy/index",
@@ -38,7 +39,6 @@
"pages/order/detail/index",
"pages/order/index/index",
"pages/ques/ques",
- "pages/passCar/passCar",
"pages/getphoneInfo/index",
"pages/addPark/addPark",
"pages/orderquanma/index",
@@ -72,33 +72,35 @@
"tabBar": {
"color": "#abb1be",
"selectedColor": "#FD782D",
+ "custom": true,
"list": [
{
- "pagePath": "pages/main/index",
+ "pagePath": "index/index",
"iconPath": "assets/images/home.png",
"selectedIconPath": "assets/images/home-a.png",
"text": "首页"
},
{
- "pagePath": "pages/index/searchbar/index",
+ "pagePath": "index/searchbar",
"iconPath": "assets/images/mendian.png",
"selectedIconPath": "assets/images/mendian-a.png",
"text": "门店"
},
{
- "pagePath": "pages/passCar/passCar",
+ "pagePath": "index/passCar",
"iconPath": "assets/images/park.png",
"selectedIconPath": "assets/images/park-a.png",
"text": "停车"
},
{
- "pagePath": "pages/user/index",
+ "pagePath": "index/user",
"iconPath": "assets/images/user.png",
"selectedIconPath": "assets/images/user-a.png",
"text": "我的"
}
]
},
+ "usingComponents": {},
"window": {
"backgroundTextStyle": "dark",
"navigationBarBackgroundColor": "#FFFFFF",
diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js
new file mode 100644
index 0000000..a685d1b
--- /dev/null
+++ b/custom-tab-bar/index.js
@@ -0,0 +1,45 @@
+Component({
+ data: {
+ selected: 0,
+ "color": "#abb1be",
+ "selectedColor": "#FD782D",
+ "list": [
+ {
+ "pagePath": "/index/index",
+ "iconPath": "../assets/images/home.png",
+ "selectedIconPath": "../assets/images/home-a.png",
+ "text": "首页"
+ },
+ {
+ "pagePath": "/index/searchbar",
+ "iconPath": "../assets/images/mendian.png",
+ "selectedIconPath": "../assets/images/mendian-a.png",
+ "text": "门店"
+ },
+ {
+ "pagePath": "/index/passCar",
+ "iconPath": "../assets/images/park.png",
+ "selectedIconPath": "../assets/images/park-a.png",
+ "text": "停车"
+ },
+ {
+ "pagePath": "/index/user",
+ "iconPath": "../assets/images/user.png",
+ "selectedIconPath": "../assets/images/user-a.png",
+ "text": "我的"
+ }
+ ]
+ },
+ attached() {
+ },
+ methods: {
+ switchTab(e) {
+ const data = e.currentTarget.dataset
+ const url = data.path
+ wx.switchTab({url})
+ this.setData({
+ selected: data.index
+ })
+ }
+ }
+})
\ No newline at end of file
diff --git a/custom-tab-bar/index.json b/custom-tab-bar/index.json
new file mode 100644
index 0000000..32640e0
--- /dev/null
+++ b/custom-tab-bar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
\ No newline at end of file
diff --git a/custom-tab-bar/index.wxml b/custom-tab-bar/index.wxml
new file mode 100644
index 0000000..29d1b9e
--- /dev/null
+++ b/custom-tab-bar/index.wxml
@@ -0,0 +1,8 @@
+
+
+
+
+
+ {{item.text}}
+
+
diff --git a/custom-tab-bar/index.wxss b/custom-tab-bar/index.wxss
new file mode 100644
index 0000000..0cd91e7
--- /dev/null
+++ b/custom-tab-bar/index.wxss
@@ -0,0 +1,38 @@
+.tab-bar {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 48px;
+ background: white;
+ display: flex;
+ padding-bottom: env(safe-area-inset-bottom);
+}
+
+.tab-bar-border {
+ background-color: rgba(0, 0, 0, 0.33);
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 1px;
+ transform: scaleY(0.5);
+}
+
+.tab-bar-item {
+ flex: 1;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}
+
+.tab-bar-item cover-image {
+ width: 27px;
+ height: 27px;
+}
+
+.tab-bar-item cover-view {
+ font-size: 10px;
+}
diff --git a/ext.json b/ext.json
index 0001af2..0715a81 100644
--- a/ext.json
+++ b/ext.json
@@ -21,6 +21,7 @@
"etcpVersion": "release",
"etcpCallbackUrl": "https://ciformall.youlane.cn/api/carCallback/etcpPaidCallback",
"ifHaveWebSocket": "0",
+ "ifStoreApp": "1",
"ifHaveCarModular": "1"
},
"name": "富茂客官开发",
diff --git a/index/index.js b/index/index.js
new file mode 100644
index 0000000..35a883d
--- /dev/null
+++ b/index/index.js
@@ -0,0 +1,12 @@
+Component({
+ pageLifetimes: {
+ show() {
+ if (typeof this.getTabBar === 'function' &&
+ this.getTabBar()) {
+ this.getTabBar().setData({
+ selected: 0
+ })
+ }
+ }
+ }
+})
diff --git a/index/index.json b/index/index.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/index/index.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/index/index.wxml b/index/index.wxml
new file mode 100644
index 0000000..12d31bc
--- /dev/null
+++ b/index/index.wxml
@@ -0,0 +1 @@
+组件
\ No newline at end of file
diff --git a/index/index.wxss b/index/index.wxss
new file mode 100644
index 0000000..c009246
--- /dev/null
+++ b/index/index.wxss
@@ -0,0 +1,4 @@
+.intro {
+ margin: 30px;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/index/passCar.js b/index/passCar.js
new file mode 100644
index 0000000..7d60a41
--- /dev/null
+++ b/index/passCar.js
@@ -0,0 +1,768 @@
+const navigationBarHeight = (getApp().statusBarHeight + 50) + 'px'
+const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
+let app = getApp();
+const format = require("../../utils/util.js");
+let config = require("../../config/config.js");
+let Http = require("../../utils/HttpBasics");
+let Util = require("../../utils/util");
+const imgurl = require("../../utils/imgurl");
+Page({
+ data: {
+ navigationBarHeight,
+ jianUrl: imgurl.jian.url,
+ jiaofeiwm: imgurl.jiaofeiwm.url,
+ parkUrl: imgurl.park.url,
+ guanliHr: imgurl.guanliHr.url,
+ qidaiUrl: imgurl.qidai.url,
+ addUrl: imgurl.add.url,
+ tingcheHr: imgurl.tingcheHr.url,
+ cheUrl: imgurl.che.url,
+ jiaofei: imgurl.jiaofei.url,
+ wentiHr: imgurl.wentiHr.url,
+ park: null,
+ carList: [],
+ payList: [],
+ addCar: null,
+ tcq: 2,
+ flag: "",
+ extraData: {},
+ desc: '',
+ title: '',
+ indicatorDots: true,
+ autoplay: false,
+ interval: 5000,
+ duration: 1000,
+ current: 0,
+ stopFees: {},
+ scroll: true,
+ ifHaveCarModular: "",
+ canIUse: wx.canIUse("navigator"),
+ showTicketModal: false,
+ ticketList: [],
+ noCoupon:imgurl.noCoupon.url,
+ loadingUrl: imgurl.loading.url,
+ allow_load: true,
+ curPageNum: 1,
+ curPageSize: 15,
+ curTotalpageNum: 0,
+ quantitle: '',
+ quanid: '',
+ gouHr: imgurl.gouHr.url,
+ totalTicketNum: 0,
+
+ },
+ getMoreList(e) {
+ let totalNum = this.data.ticketList.length;
+ if (this.data.curPageNum < this.data.curTotalpageNum) {
+ this.setData({
+ curPageNum: this.data.curPageNum+1
+ })
+ this.getTicketList(0 ,this.data.curPageNum);
+ }
+
+ },
+ /**
+ * 选择使用的优惠券
+ */
+ choicecoupon: function(e) {
+ /* wx.navigateBack();
+ var pages = getCurrentPages();
+ var prevPage = pages[pages.length - 2] //上一个页面 */
+ var that = this;
+ var quantitle = e.currentTarget.dataset.title;
+ var quanid = e.currentTarget.dataset.id;
+ this.setData({
+ quantitle: quantitle,
+ quanid: quanid,
+ showTicketModal: false,
+ });
+
+ that.bindCoupon(that.data.quanid);
+ /* wx.setStorage({
+ key: 'chosed',
+ data: 'chosed',
+ }) */
+ },
+ /*
+ */
+ getTicketList(key, pageNum) {
+ var that = this;
+ if (that.data.allow_load) {
+ wx.showLoading({
+ title: "加载中"
+ });
+ Http.get({
+ url: config.api.couponOrderCarList,
+ data: {
+ pageNum: pageNum,
+ pageSize: 15,
+ couponOrderStatus: key
+ }
+ }).then(res => {
+ that.setData({
+ curTotalpageNum: res.data.pages,
+ curPageNum: res.data.pageNum,
+ totalTicketNum: res.data.total
+ })
+ res.data.list.map(file => {
+ file.expiredTime = format.formatTime(
+ file.expiredTime,
+ "yyyy-MM-dd hh:mm:ss"
+ );
+ });
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 1200);
+ if (pageNum >= res.data.pages) {
+ that.setData({
+ allow_load: false
+ });
+ }
+ /**
+ * 先赋值后渲染页面
+ * concat 不会改变原数组值
+ * push 会改变原数组值,但不会一条一条插入,而是整个数组插入
+ */
+ if (pageNum == 1) {
+ that.setData({
+ ticketList: res.data.list,
+ curPageNum: pageNum
+ });
+ } else {
+ that.setData({
+ ticketList: that.data.ticketList.concat(res.data.list)
+ });
+ }
+ // that.data.ticketList = that.data.ticketList.concat(res.data.list);
+
+ this.hideLoading();
+ })
+ .catch(err => {
+ setTimeout(function () {
+ wx.hideLoading();
+ }, 1200);
+ wx.showToast({
+ title: err.errMsg,
+ icon: 'none',
+ duration: 2000,
+ mask: false
+ });
+ })
+ } else {
+ }
+ },
+ //点击跳转到券详情页面
+ gotouse: function (e) {
+ wx.navigateTo({
+ url: `/pages/passCar/couponDetail/couponDetail?quancode=${
+ e.currentTarget.dataset.quancode
+ }`,
+ success: function (res) {
+ // success
+ },
+ fail: function () {
+ // fail
+ },
+ complete: function () {
+ // complete
+ }
+ });
+ },
+ /**
+ * 车牌轮播滑动
+ */
+ onSlideChangeEnd: function (e) {
+ var that = this;
+ /**
+ * 获得当前的车牌号码
+ */
+ var listCardNum = (that.data.carList)[e.detail.current].carNumber;
+ that.setData({
+ listCardNum: listCardNum
+ });
+ /**
+ * 获得停车费用
+ */
+ if (that.data.scroll) {
+ that.getStopFee(listCardNum);
+ }
+ },
+
+ //停车费用为0
+ paySuccess: function () {
+ wx.showModal({
+ title: '支付成功',
+ content: '请尽快离场',
+ showCancel: false
+ })
+ },
+
+ gotomange: function () {
+ wx.navigateTo({
+ url: '/pages/managelicenseplate/managelicenseplate',
+ })
+ },
+ bindfail: function (res) {
+ console.log(res)
+ },
+ gotoetcp: function () {
+ wx.navigateToMiniProgram({
+ appId: that.data.etcpAppId,
+ extraData: this.data.extraData,
+ envVersion: 'release',
+ path: "pages/main/main",
+ })
+ },
+ showquan: function () {
+ wx.navigateTo({
+ url: '/pages/passCar/couponList/couponList',
+ })
+ },
+ gotodetail: function (e) {
+ wx.showModal({
+ title: '缴费规则',
+ content: e.target.dataset.rule,
+ showCancel: false,
+ })
+ },
+ onShow: function (options) {
+ console.log(123)
+ var that = this;
+ that.setData({
+ etcpAppId: extConfig.attr.etcpAppId,
+ etcpVersion: extConfig.attr.etcpVersion,
+ etcpCallbackUrl: extConfig.attr.etcpCallbackUrl,
+ ifHaveCarModular: extConfig.attr.ifHaveCarModular
+ })
+ if (app.globalData.token) {
+ that.getList();
+ that.init();
+ } else {
+ that.init();
+ }
+ /**
+ * 只有用户选择了优惠券
+ * 才会进行券和车牌的绑定
+ */
+ /* if (wx.getStorageSync("chosed") && that.data.quanid) {
+ that.getStopFee(that.data.listCardNum);
+ that.bindCoupon(that.data.quanid);
+ wx.setStorage({
+ key: 'chosed',
+ data: '',
+ })
+ }; */
+ if (app.globalData.token) {
+ // that.initUsrCarList();
+ that.initUsrCarList("flags");
+ that.setData({
+ current: 0
+ })
+ }
+
+ if (that.data.addCar) {
+ // 绑车牌
+ if (app.globalData.carLogin) {
+ that.bindCar(that.data.addCar);
+ } else {
+ that.bindCar(that.data.addCar);
+ }
+ that.setData({
+ addCar: null
+ });
+ }
+
+ this.getTicketList(0, 1);
+
+
+
+ },
+ cancelMove: function() {
+ console.log(111)
+ return false;
+ },
+ onHide: function () {
+ this.setData({
+ allow_load: true,
+ showTicketModal: false,
+ curPageNum: 1,
+ ticketList: []
+ })
+ },
+ onLoad: function (options) {
+ var that = this;
+ /**
+ * 获得分享小程序的
+ * title
+ * desc
+ */
+ Http.get({
+ url: config.api.getWeapNote,
+ data: {
+ appId: config.weapp.AppId,
+ }
+ })
+ .then(res => {
+ let weapNote = JSON.parse(res.data.weapNote);
+ that.setData({
+ desc: weapNote.carpage.desc,
+ title: weapNote.carpage.title
+ })
+ })
+ .catch(err => {
+ console.log(err);
+ })
+ // 登录
+ var scene = decodeURIComponent(options.scene);
+ that.setData({
+ scene: scene
+ });
+ if (app.globalData.token) { } else {
+ // app.getLocation();
+ that.userLogin()
+ }
+
+ },
+ /**
+ * 用户登录
+ */
+ userLogin: function () {
+ var that = this;
+ // 登录
+ wx.login({
+ success: ({
+ code
+ }) => {
+ wx.getSystemInfo({
+ success: function (res) {
+ that.setData({
+ systemInfo: JSON.stringify(res)
+ })
+ }
+ })
+ var usrdata = {
+ appId: config.weapp.AppId,
+ code: code,
+ sceneAddress: app.globalData.sceneAddress,
+ scene: that.data.scene,
+ systemInfo: that.data.systemInfo
+ };
+ if (app.globalData.locationInfo) {
+ usrdata = {
+ appId: config.weapp.AppId,
+ code: code,
+ sceneAddress: app.globalData.sceneAddress,
+ latitude: "" + app.globalData.locationInfo.latitude,
+ longitude: "" + app.globalData.locationInfo.longitude,
+ scene: that.data.scene,
+ systemInfo: that.data.systemInfo
+ };
+ }
+ Http.post({
+ url: config.api.login,
+ data: usrdata
+ })
+ .then(res => {
+ app.globalData.token = res.data.token;
+ Http.setToken(res.data.token);
+ that.checkUserCarStatus();
+ that.getList();
+ that.init();
+ that.initUsrCarList();
+ return Http.get({
+ url: config.api.checkUserStatus,
+ data: {}
+ });
+ })
+ .then(res => { })
+ .catch(err => {
+ if (err.code == 11004) {
+ // 用户昵称未授权
+ wx.redirectTo({
+ url: "/pages/getuserinfo/index"
+ });
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: err.errMsg,
+ showCancel: false
+ })
+ }
+ });
+ }
+ });
+ },
+ /**
+ * 检查用户是否有车
+ */
+ checkUserCarStatus: function () {
+ var that = this;
+ Http.get({
+ url: config.api.userCarCount,
+ data: {}
+ }).then(res => {
+ if (res.data > 0) {
+ // 用户名下有车
+ app.globalData.phone = res.data.phone;
+ app.globalData.supportCar = true;
+ // 共同登录
+ that.userCarLogin();
+ }
+ })
+ .catch(err => { })
+ },
+ jumpToAdd: function () {
+ wx.navigateTo({
+ url: `/pages/addPark/addPark?flags=managepalte`
+ });
+ },
+ passc: function () {
+ wx.navigateTo({
+ url: '/pages/ques/ques',
+ })
+ },
+
+
+ /**
+ * 券绑定车牌
+ */
+ bindCoupon: function (quanid) {
+ var that = this;
+ /**
+ * etcp
+ */
+ var etcpData = {
+ etcpToken: app.globalData.etcpToken,
+ carNumber: that.data.listCardNum,
+ couponOrderId: quanid
+ };
+ /**
+ * 停简单
+ */
+ var tjdData = {
+ carNumber: that.data.listCardNum
+ };
+ var postCouponData = app.globalData.parkVendor == 1 ? etcpData : tjdData;
+ Http.post({
+ url: config.api.getCarCoupon,
+ data: postCouponData
+ })
+ .then(res => {
+ that.getStopFee(that.data.listCardNum);
+ that.initUsrCarList();
+ })
+ .catch(err => {
+ if (err.message!=undefined) {
+ wx.showToast({
+ title: err.message,
+ icon: 'none',
+ duration: 2000,
+ mask: false
+ });
+ }
+
+ })
+ },
+ /**
+ * 选择优惠券
+ */
+ // gotoquan: function () {
+ // let that = this;
+ // if (that.data.quanid) {
+ // wx.navigateTo({
+ // url: `/pages/passCar/choicecoupon/choicecoupon?quanid=${that.data.quanid}`,
+ // })
+ // } else {
+ // wx.navigateTo({
+ // url: '/pages/passCar/choicecoupon/choicecoupon',
+ // })
+ // }
+
+ // },
+ closeTicketModal: function () {
+ this.setData({
+ showTicketModal: false
+ })
+ },
+ /**
+ * 停车券 弹框
+ */
+ openTicketModal: function () {
+ this.setData({
+ showTicketModal: true,
+ allow_load: true,
+ ticketList: [],
+ curPageNum: 1,
+
+ })
+ this.getTicketList(0, 1);
+ /* if (!this.data.ticketList.length){
+ this.getTicketList(0, 1);
+ } */
+
+ },
+
+ //获取名下停车券列表
+ getList() {
+ var that = this;
+ Http.get({
+ url: config.api.couponOrderCarList + "?type=5&couponOrderStatus=0",
+ data: {
+ pageNum: 1,
+ pageSize: 15,
+ couponOrderStatus: 0
+ }
+ }).then(res => {
+ that.setData({
+ couponList: res.data.list
+ });
+ })
+ .catch(err => {
+ console.log(err)
+ })
+ },
+
+
+ /**
+ * 共同登录
+ */
+ init: function (carNumber) {
+ var that = this;
+ app.parkInitCallback = token => {
+ that.initPark();
+ that.getParkStatus();
+ if (!app.globalData.carLogin) {
+ /**
+ * 判断是否授权手机号
+ */
+ Http.get({
+ url: config.api.checkPhoneStatus,
+ data: {}
+ })
+ .then(res => {
+ Http.post({
+ url: config.api.carInit,
+ data: {
+ phone: app.globalData.phone
+ }
+ }).then(res => {
+ app.globalData.carLogin = true;
+ app.globalData.parkVendor = res.data.vendor;
+ if (res.data.token) {
+ app.globalData.etcpToken = res.data.token;
+ }
+ /**
+ * 获得停车费用
+ */
+ that.initUsrCarList("flags");
+ });
+ })
+ .catch(err => {
+ if (err.code == 11005) {
+ // 用户手机未授权
+ /**
+ * 将值传到用户手机号授权的页面
+ *
+ */
+ wx.redirectTo({
+ url: "/pages/getphoneInfo/index"
+ });
+ } else if (err.code == 11006) {
+ // 用户手机已加密
+ wx.redirectTo({
+ url: "/pages/phoneinput/phoneinput"
+ });
+ } else {
+ wx.showToast({
+ title: err.errMsg,
+ icon: 'none',
+ duration: 2000,
+ mask: false
+ });
+ }
+ })
+ }
+ };
+ if (app.globalData.token && app.globalData.token != null) {
+ app.parkInitCallback(app.globalData.token);
+ }
+ },
+
+ bindCar: function (carNum) {
+ var that = this;
+ // ETCP
+ var etcpData = {
+ etcpToken: app.globalData.etcpToken,
+ carNumber: carNum
+ };
+ var tjdData = {
+ carNumber: carNum
+ };
+ var postData = app.globalData.parkVendor == 1 ? etcpData : tjdData;
+ Http.post({
+ url: config.api.bindCar,
+ data: postData
+ })
+ .then(res => {
+ that.setData({
+ addCar: null
+ });
+ that.initUsrCarList();
+ wx.showModal({
+ title: "提示",
+ showCancel: false,
+ content: "绑车牌成功!",
+ success: function () { }
+ });
+ })
+ .catch(error => {
+ wx.showModal({
+ title: "提示",
+ showCancel: false,
+ content: error.data.message,
+ success: function () { }
+ });
+ });
+ },
+ /**
+ * 车场信息获取
+ */
+ initPark: function () {
+ var that = this;
+ Http.get({
+ url: config.api.getParkInfo,
+ data: {}
+ })
+ .then(res => {
+ that.setData({
+ park: res.data
+ })
+ })
+ .catch(err => {
+ console.log(err);
+ // wx.showToast({
+ // title: err.message,
+ // icon: 'none',
+ // duration: 2000,
+ // mask: false
+ // });
+ })
+ },
+
+ /**
+ * 车场状态获取
+ */
+ getParkStatus: function () {
+ var that = this;
+ Http.get({
+ url: config.api.getParkStatus,
+ })
+ .then(res => {
+ console.log(res)
+ })
+ .catch(err => {
+ console.log(err)
+ // wx.showToast({
+ // title: err.message,
+ // icon:"none"
+ // })
+ })
+ },
+
+
+ /**
+ * 绑定车获取
+ */
+ initUsrCarList: function (flag) {
+ var that = this;
+ Http.get({
+ url: config.api.getUserCarList,
+ data: {}
+ }).then(res => {
+ that.setData({
+ carList: res.data
+ });
+ /**
+ * flag ==flags
+ * 表示从首页onShow进来的
+ */
+ if (flag == "flags" && res.data.length > 0) {
+ var listCardNum = res.data[0].carNumber;
+ that.setData({
+ listCardNum: listCardNum
+ })
+ /**
+ * 获得停车费用
+ */
+ that.getStopFee(listCardNum);
+ }
+ })
+ .catch(err => {
+ wx.showToast({
+ title: err.message,
+ icon: 'none',
+ duration: 2000,
+ mask: false
+ });
+ })
+ },
+
+ /**
+ * 获得停车费用修改
+ */
+ getStopFee: function (carNumber) {
+ let that = this;
+ let postData =
+ app.globalData.parkVendor == 1 ? {
+ etcpToken: app.globalData.etcpToken,
+ carNumber: carNumber
+ } : {
+ carNumber: carNumber,
+ outCarId: outCarId
+ };
+ Http.post({
+ url: config.api.getCarStopFee,
+ data: postData
+ })
+ .then(res => {
+ console.log(res)
+ var extraDataStr = {
+ params: {
+ token: app.globalData.etcpToken,
+ syncId: res.data.orderId,
+ payType: 6, // 小程序支付
+ CarNumber: carNumber,
+ returnUrl: that.data.etcpCallbackUrl,
+ source: "FUMAO-001",
+ actionId: "1" //操作ID,1:小程序支付
+ }
+ };
+ that.setData({
+ extraData: extraDataStr,
+ stopFees: res.data,
+ timecha: Util.timecha(res.data.exitTime, res.data.entranceTime)
+ });
+ that.setData({
+ scroll: true
+ })
+ })
+ .catch(error => {
+ that.setData({
+ stopFees: {},
+ scroll: true
+ })
+ });
+ },
+
+ /**
+ * 下拉刷新
+ */
+ onPullDownRefresh: function (e) {
+ let that = this;
+ that.initUsrCarList("flags");
+ that.setData({
+ current:0
+ })
+ wx.stopPullDownRefresh();
+ }
+});
\ No newline at end of file
diff --git a/index/passCar.json b/index/passCar.json
new file mode 100644
index 0000000..23e8fd5
--- /dev/null
+++ b/index/passCar.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "navbar": "../../../components/navbar/navbar"
+ },
+ "navigationBarTitleText": "智能停车",
+ "enablePullDownRefresh": true
+}
\ No newline at end of file
diff --git a/index/passCar.wxml b/index/passCar.wxml
new file mode 100644
index 0000000..2a549d1
--- /dev/null
+++ b/index/passCar.wxml
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.carNumber}}
+
+
+
+
+
+
+
+
+
+
+ 入场时间:
+ {{stopFees.entranceTime}}
+
+
+ 停车时长:
+ {{timecha}}
+
+
+
+
+ 券优惠券:
+
+ {{quantitle}}
+ {{totalTicketNum}}张可用
+
+
+
+
+
+ 待缴费用:
+ {{stopFees.remainingFee}}元
+
+
+
+
+ 立即支付
+
+ 立即支付
+
+
+
+ 立即支付
+
+
+
+
+
+
+
+ 添加车牌
+
+ 车辆入场后,才能绑车牌
+
+
+
+
+ 我的停车券
+
+
+
+
+
+
+
+ 车辆管理
+
+
+
+
+
+
+
+ 缴费规则
+
+
+
+
+
+
+
+ 常见问题
+
+
+
+
+
+
+
+
+ 智慧停车即将上线
+ 敬请期待
+
+
+
+
+
+
+
+ 请您敬请期待
+ 我们正在筹备一大波优惠活动
+
+
+
+
+
+ 停车券
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{item.subTitle}}
+
+
+ 售价:{{item.salePrice/100}}元{{item.price/100}}元
+ {{item.price/100}}小时
+
+
+
+
+
+ 有效期至:
+ {{item.expiredTime}}
+
+
+
+
+
+ {{content}}
+
+
+
\ No newline at end of file
diff --git a/index/passCar.wxss b/index/passCar.wxss
new file mode 100644
index 0000000..2946ad2
--- /dev/null
+++ b/index/passCar.wxss
@@ -0,0 +1,881 @@
+@import "../app.wxss";
+
+page {
+ background-color: #fff;
+}
+.container{
+ padding-bottom: 60rpx;
+}
+.con text{
+ display: block;
+ text-align: center;
+ font-size: 30rpx;
+}
+.header{
+ width: 690rpx;
+ height: 80rpx;
+ font-size: 32rpx;
+ margin: 0 auto;
+ border-radius:16rpx;
+ line-height: 80rpx;
+ letter-spacing: 3rpx;
+}
+.header image{
+ width: 60rpx;
+ vertical-align: middle;
+ margin-top:-5rpx;
+ margin-right:6rpx;
+}
+.top{
+ border-bottom:2rpx solid #f8f8f8;
+}
+.headBox {
+ width: 690rpx;
+ margin: 30rpx auto 0;
+ box-sizing: border-box;
+ display: flex;
+ background-color: white;
+}
+
+.headBox image {
+ width: 150rpx;
+ height: 150rpx;
+ margin: 10rpx 30rpx 0 0;
+ border-radius: 16rpx;
+}
+
+.titleName {
+ width: 100%;
+ line-height: 35rpx;
+ height: 35rpx;
+ color: #666;
+ font-size: 32rpx;
+ word-break: break-all;
+ text-align: justify;
+ font-weight: bold;
+}
+
+::-webkit-scrollbar {
+ width: 0;
+ height: 0;
+ color: transparent;
+}
+
+.carLocation, .locationNumber {
+ display: inline-block;
+ height: 40rpx;
+ color: #999;
+ font-size: 24rpx;
+ line-height: 30rpx;
+}
+
+.carLocation {
+ width: 206rpx;
+ font-size: 28rpx;
+}
+
+
+
+.price {
+ width: 690rpx;
+ font-size: 28rpx;
+ color: #999;
+ margin: 10rpx auto 0;
+}
+
+.time {
+ color: #999 !important;
+}
+
+.price .fl {
+ width: 15%;
+ color: #333;
+}
+
+.price .fr {
+ width: 85%;
+ color: #999;
+ line-height: 40rpx;
+ font-size: 26rpx;
+}
+
+.titleName .fr {
+ color: #999;
+ font-size: 27rpx;
+}
+
+.borderBox {
+ width: 750rpx;
+ margin-top:30rpx;
+}
+
+.borderUp {
+ width: 680rpx;
+ margin: 0 auto;
+ font-size: 36rpx;
+ border: 2rpx dashed #FD832D;
+ border-radius: 16rpx;
+ padding-bottom: 40rpx;
+ height: 202rpx;
+ margin-top: 47rpx;
+}
+
+.addicense_active {
+ width: 690rpx;
+ /* box-shadow: 0 4rpx 20rpx 0 rgba(153, 153, 153, 0.35); */
+ border-radius: 12rpx;
+ /* background: #02c0ff; *//* padding-bottom: 40rpx; */
+}
+
+.myCar {
+ display: block;
+ text-align: center;
+ font-size: 34rpx;
+ color: #02c0ff;
+ letter-spacing: 0;
+}
+
+.carNumber {
+ display: block;
+ height: 50rpx;
+ line-height: 50rpx;
+ text-align: center;
+ font-size: 26rpx;
+ color: #999;
+ letter-spacing: 0;
+ margin-top: 10rpx;
+}
+
+.addBox {
+ width: 750rpx;
+ position: relative;
+ background-color: white;
+}
+
+.add {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ font-size: 34rpx;
+ color: #666;
+ border: 2px dashed #eee;
+ padding: 30rpx 50rpx;
+ border-radius: 16rpx;
+}
+
+.add text {
+ font-size: 40rpx;
+}
+
+.bottonBox {
+ width: 750rpx;
+ margin-top: 34rpx;
+ margin-bottom: 80rpx;
+ border-top: 16rpx #f8f8f8 solid;
+}
+.bottonBox view:nth-of-type(1) image{
+ height: 45rpx;
+}
+
+.textStyle {
+ background-color: white;
+ height: 88rpx;
+ line-height: 88rpx;
+ padding-left: 82rpx;
+ border-bottom: 1px #f8f8f8 solid;
+ position: relative;
+ font-size: 30rpx;
+ color: #333;
+ letter-spacing: 1.16rpx;
+}
+
+.textStyle image {
+ width: 40rpx;
+ height: 40rpx;
+ top: 24rpx;
+ left: 27rpx;
+ position: absolute;
+}
+
+.swiper {
+ position: relative;
+ margin: 0 auto;
+ height: 262rpx;
+}
+
+.swiper-item {
+ width: 365rpx;
+ font-size: 75rpx;
+ font-weight: 400;
+ text-align: center;
+ color: rgba(255, 255, 255, 1);
+}
+
+.swiper-item .clearfix1 {
+ background: linear-gradient(127deg,rgba(252,177,74,1) 0%,rgba(254,70,20,1) 100%);
+ border-radius: 12rpx;
+ padding: 6rpx;
+}
+
+.tche {
+ width: 685rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+ margin: 0 auto;
+ background: #00c0ff;
+ border-radius: 60rpx;
+ position: relative;
+ margin-top: 30rpx;
+}
+
+.txt01 {
+ width: 667rpx;
+ height: 180rpx;
+ line-height: 180rpx;
+ float: left;
+ background: linear-gradient(127deg,rgba(252,177,74,1) 0%,rgba(254,70,20,1) 100%);
+ border-radius: 12rpx;
+ border: 3px solid #fff;
+ text-align: center;
+ font-size: 60rpx;
+}
+
+.passNumberBox {
+ width: 690rpx;
+ margin: 32rpx auto 0;
+ position: relative;
+ background-color: white;
+}
+
+.numberBox {
+ width: 100%;
+}
+
+.passNumber {
+ width: 400rpx;
+ height: 100rpx;
+ font-size: 32rpx;
+ font-weight: 600;
+ line-height: 100rpx;
+ left: 55rpx;
+ position: absolute;
+}
+
+.nopay {
+ height: 80rpx;
+ line-height: 80rpx;
+ font-weight: 400;
+}
+
+.number {
+ font-size: 48rpx;
+ color: #1f2d3d;
+ letter-spacing: 0;
+ line-height: 52rpx;
+ font-weight: 400;
+}
+
+.manage_plate {
+ width: 65%;
+ border-radius: 80rpx;
+ margin: 40rpx auto 0;
+ background: #02c0ff;
+ color: #fff;
+ text-align: center;
+ font-size: 30rpx;
+}
+
+.button_active {
+ opacity: 0.6;
+}
+
+.btn001 {
+ height: 88rpx;
+ line-height: 88rpx;
+ margin: 0 auto;
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #fff;
+ background: none;
+}
+
+.parkPrice {
+ font-size: 30rpx;
+ font-weight: 500;
+}
+
+.deleteButton {
+ font-size: 28rpx;
+ line-height: 50rpx;
+ height: 50rpx;
+ top: 50%;
+ right: 30rpx;
+ position: absolute;
+ transform: translate(0, -50%);
+ color: white;
+ background-color: #00c0ff !important;
+}
+
+.deleteButton button {
+ background-color: #00c0ff !important;
+}
+
+.detail {
+ width: 32rpx;
+ height: 32rpx;
+ right: 34rpx;
+ top: 32rpx;
+ position: absolute;
+}
+
+.detail image {
+ width: 44rpx;
+ height: 44rpx;
+ position: absolute;
+ left: 0;
+ top: 0;
+}
+
+.voucher {
+ width: 90%;
+ padding: 0 5%;
+ background-color: #fff;
+ /* background-color: #cbcbcb; */
+ height: 80rpx;
+ position: relative;
+ margin: 0 0 12rpx 0;
+ border-bottom: 2rpx #fff solid;
+ display: flex;
+ justify-content: space-between;;
+}
+
+.textV1, .textV2 {
+ height: 58rpx;
+ width: 100rpx;
+ padding-top: 26rpx;
+ text-align: center;
+ line-height: 80rxp;
+ font-size: 24rpx;
+ color: #333;
+}
+
+.textV2 {
+ margin-top: 0rpx;
+ padding: 0;
+ /* background-color: rgb(0, 192, 255); */
+ border-radius: 10rpx;
+ width: 300rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 20rpx;
+ border: 4rpx #fff solid;
+ margin-bottom: 20rpx;
+}
+
+.textV3 {
+ width: 225rpx;
+}
+.choice {
+ width: 80rpx;
+ height: 80rpx;
+ position: relative;
+}
+
+.choice image {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ width: 30rpx;
+ height: 30rpx;
+}
+
+.buy-view {
+ background: #fff;
+ position: relative;
+ height: 88rpx;
+ margin-top: 30rpx;
+}
+
+.buy {
+ background: linear-gradient(127deg,rgba(252,177,74,1) 0%,rgba(254,70,20,1) 100%);
+ height: 88rpx;
+ width: 73%;
+ margin: 0 auto;
+ color: #fff;
+ font-size: 36rpx;
+ line-height: 88rpx;
+ border-radius: 60rpx;
+ position: relative;
+ z-index: 100;
+ text-align: center;
+}
+
+.buyBox {
+ height: 88rpx;
+ line-height: 88rpx;
+ width: 98%;
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ z-index: 100000000;
+ border-radius: 60rpx;
+}
+
+.active {
+ opacity: 0.6;
+}
+
+.borderBox {
+ width: 750rpx;
+}
+
+.carmanage {
+ position: relative;
+ width: 690rpx;
+ margin: 15rpx auto 0;
+ height: 60rpx;
+ line-height: 60rpx;
+ /* border-bottom: 1rpx solid #eee; */
+}
+
+.carmanage .fr {
+ font-size: 28rpx;
+ color: #888;
+ letter-spacing: 1.16rpx;
+ text-align: right;
+}
+
+.fl {
+ float: left;
+}
+
+.fr {
+ float: right;
+}
+
+.carmanage .fl {
+ width: 400rpx;
+}
+
+.carmanage .fr image {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+ width: 44rpx;
+ height: 44rpx;
+}
+
+.carmanage image {
+ width: 40rpx;
+ vertical-align: middle;
+}
+
+.mycar {
+ display: inline-block;
+ font-size: 33rpx;
+ color: #666;
+ line-height: 35rpx;
+ letter-spacing: 1.16rpx;
+}
+
+.num {
+ display: inline-block;
+ font-size: 26rpx;
+ color: #999;
+ letter-spacing: 0;
+ margin-left: 20rpx;
+}
+
+.orderBox {
+ padding: 0 45rpx;
+ position: relative;
+}
+
+.priceBox {
+ display: inline-block;
+ width: 355rpx;
+}
+
+.priceBox text {
+ color: #333;
+ font-size: 28rpx;
+ display: block;
+ text-align: left;
+}
+
+.payBox {
+ width: 250rpxpx;
+}
+
+.payBox button {
+ width: 230rpx;
+ border: 0;
+ font-size: 32rpx;
+ margin-top: 13rpx;
+ margin-right: 20rpx;
+ background-color: lightgreen;
+ color: white;
+}
+
+input {
+ outline: none;
+ border: none;
+ list-style: none;
+}
+
+button::after {
+ border: none;
+}
+
+.right {
+ display: inline-block;
+ width: 328rpx;
+}
+
+.textRight {
+ margin-left: 0;
+ margin-right: 25rpx;
+ text-align: left;
+ font-size: 30rpx !important;
+ color: #333 !important;
+}
+
+.myCars image {
+ width: 44rpx;
+ height: 44rpx;
+ vertical-align: middle;
+ margin-right: 14rpx;
+}
+
+.myCars {
+ font-size: 34rpx;
+ color: #02c0ff;
+ letter-spacing: 0;
+ text-align: center;
+ padding-top: 58rpx;
+}
+
+.dots {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 19rpx;
+ display: flex;
+ justify-content: center;
+ height: 19rpx;
+ background: #fff;
+}
+
+.dots .dot {
+ margin: 0 8rpx;
+ width: 32rpx;
+ height: 14rpx;
+ background: #ccc;
+ border-radius: 8rpx;
+ transition: all 0.6s;
+}
+
+.dots .dot.active {
+ width: 49rpx;
+ height: 4rpx;
+ background: rgba(86, 189, 248, 1);
+ border-radius: 6rpx;
+}
+
+.coupon {
+ font-size: 28rpx;
+ color: #666;
+}
+
+.orderBox .fl {
+ line-height: 70rpx;
+ font-size: 28rpx;
+ color: #333;
+}
+
+.orderBox .fr {
+ line-height: 70rpx;
+ font-size: 28rpx;
+ color: #FD832D;
+}
+
+.jians {
+ font-size: 22rpx;
+ display: inline-block;
+ width: 34rpx;
+ height: 34rpx;
+ text-align: center;
+ background: #ff4949;
+ line-height: 34rpx;
+ color: #fff;
+ border-radius: 6rpx;
+ margin-right: 6rpx;
+}
+.jiant{
+ display: inline-block;
+ width: 44rpx;
+ height: 44rpx;
+ vertical-align: middle;
+ margin-top: -6rpx;
+ margin-right: -10rpx;
+}
+
+.img {
+ display: block;
+ width: 211rpx;
+ margin: 168rpx auto 40rpx;
+}
+
+.txt1 {
+ font-size: 22rpx;
+ color: #A6A6A6;
+ letter-spacing: 0;
+}
+
+.txt2 {
+ display: block;
+ font-size: 28rpx;
+ color: #999;
+ letter-spacing: 0;
+ text-align: center;
+ line-height: 40rpx;
+ margin-top: 10rpx;
+}
+
+.gray-bg {
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 1000;
+ background: rgba(0,0,0,.2);
+
+}
+
+.ticket-modal {
+ position: fixed;
+ left: 50%;
+ top: 50%;
+ width: 80%;
+ height: 880rpx;
+ z-index: 10000;
+ transform: translate(-50%, -50%);
+ background: #fff;
+}
+
+.nocoupon image {
+ width: 300rpx;
+ display: block;
+ margin: 3% auto 0;
+}
+
+.txt001 {
+ display: block;
+ line-height: 48rpx;
+ font-size: 34rpx;
+ color: #333;
+ letter-spacing: 0;
+ text-align: center;
+}
+
+.txt002 {
+ display: block;
+ margin-top: 1%;
+ font-size: 28rpx;
+ color: #999;
+ letter-spacing: 0;
+ line-height: 40rpx;
+ text-align: center;
+}
+
+.nocoupon button {
+ background: linear-gradient(127deg,rgba(252,177,74,1) 0%,rgba(254,70,20,1) 100%);
+ color: #fff;
+ font-size: 30rpx;
+ width: 74%;
+ border-radius: 60rpx;
+ height: 78rpx;
+ line-height: 78rpx;
+ margin-top: 100rpx;
+}
+
+.loading {
+ text-align: center;
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 26rpx;
+ color: #999;
+}
+
+.loading image {
+ width: 60rpx;
+ height: 60rpx;
+ vertical-align: middle;
+ margin-right: 10rpx;
+}
+
+.section {
+ position: relative;
+ width: 90%;
+ margin-left: 5%;
+}
+
+.mms {
+ width: 100%;
+ height: 180rpx !important;
+ background: #fff;
+ /* padding: 30rpx 0 0; */
+ margin: 0 auto 40rpx;
+ /* border-radius: 16rpx; */
+ /* border-top: 8rpx solid #02b7ff; */
+ box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.10);
+}
+
+.detail_msg {
+ display: flex;
+ padding-top: 16rpx;
+ padding-bottom: 16rpx;
+ background: linear-gradient(127deg,rgba(252,177,74,1) 0%,rgba(254,70,20,1) 100%);
+}
+
+.logo {
+ width: 60rpx;
+ height: 60rpx;
+ /* border: 1px solid #f8f8f8; */
+ border-radius: 50rpx;
+ display: block;
+ margin: 15rpx 20rpx 0 20rpx;
+}
+
+.logo image {
+ width: 60rpx;
+ height: 60rpx;
+ border-radius: 50%;
+}
+
+.info view:nth-child(1) {
+ display: flex;
+ justify-content: space-between;
+ padding: 0 4%;
+ margin-top: 15rpx;
+}
+
+.info {
+ width: 100%;
+ border-left: 1rpx #FFF dashed;
+}
+
+.info view:nth-child(1) text {
+ font-size: 32rpx;
+ line-height: 32rpx;
+ height: 32rpx;
+ color: #FFFFFF;
+ letter-spacing: 0;
+ width: 400rpx;
+ display: inline-block;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
+.info view:nth-child(2) {
+ padding-left: 4%;
+ font-size: 22rpx;
+ color: #FFFFFF;
+ letter-spacing: 0;
+ margin-top: 6rpx;
+ display: inline-block;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ width: 400rpx;
+}
+
+.info view:nth-child(3) {
+ margin-left: 20rpx;
+}
+
+.active {
+ color: #fff;
+ opacity: 0.6;
+ /* background: #02c0ff; */
+}
+
+
+.expiretime {
+ display: block;
+ width: 100%;
+ text-align: left;
+ text-indent: 1em;
+ height: 50rpx;
+ line-height: 50rpx;
+ font-size: 22rpx;
+ color: #A6A6A6;
+ letter-spacing: 0;
+}
+
+.ticket-title-tip {
+ position: relative;
+ width: 100%;
+ height: 76rpx;
+ line-height: 76rpx;
+ text-align: center;
+ color: #353535;
+ font-size: 34rpx;
+}
+
+.close-icon {
+ position: absolute;
+ right: 10rpx;
+ transform: translateY(16rpx);
+}
+
+.btns {
+ position: absolute;
+ right: 120rpx;
+ top: 50rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ text-align: right;
+ color: #FFF;
+ font-size: 40rpx;
+}
+
+.yuan {
+ color: #FFF;
+ font-size: 26rpx;
+}
+
+.gou {
+ position: absolute;
+ top:45rpx;
+ right: 30rpx;
+ width: 60rpx;
+}
+
+.swiper-box .wx-swiper-dots.wx-swiper-dots-horizontal{
+margin-bottom: 2rpx;
+}
+.swiper-box .wx-swiper-dot{
+width:40rpx;
+display: inline-flex;
+height: 6rpx;
+margin-left: 10rpx;
+border-radius:6rpx;
+justify-content:space-between;
+}
+.swiper-box .wx-swiper-dot::before{
+content: '';
+flex-grow: 1;
+background: #ccc8c8;
+}
+.swiper-box .wx-swiper-dot-active::before{
+background:#f6792b;
+}
\ No newline at end of file
diff --git a/index/searchbar.js b/index/searchbar.js
new file mode 100644
index 0000000..108f13e
--- /dev/null
+++ b/index/searchbar.js
@@ -0,0 +1,156 @@
+const navigationBarHeight = (getApp().statusBarHeight + 44) + 'px'
+const Http = require("../../../utils/HttpBasics");
+const imgurl = require("../../../utils/imgurl");
+const config = require("../../../config/config");
+let app = getApp();
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ navigationBarHeight,
+ lists: [],
+ merchantVoList:[],
+ indexId: 0,
+ businessId:0,
+ windowHeight:"",
+ page:1,
+ isFirstPage:false,
+ isLastPage:false,
+ teljpgUrl: imgurl.teljpg.url,
+ },
+ // 左侧点击事件
+ jumpIndex(e) {
+ let that = this;
+ let index = e.currentTarget.dataset.menuindex;
+ that.setData({
+ indexId: index,
+ businessId: index
+ });
+ that.setData({
+ page:1
+ })
+ that.getList(1, that.data.businessId);
+ },
+ /**
+ * 跳转到门店列表的详情页面
+ */
+ gotoDetail(e){
+ wx.navigateTo({
+ url: `/pages/index/searchbar/detail/index?id=${e.currentTarget.dataset.id}`
+ })
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ let that = this;
+ that.getBussiness();
+ that.getList(1, 0);
+ wx.showLoading({
+ title: '加载中...',
+ })
+ },
+ onShow(){
+ let that = this;
+ wx.getSystemInfo({
+ success: function (res) {
+ console.log(res.windowHeight, navigationBarHeight);
+ that.setData({
+ windowHeight: res.windowHeight + parseInt(navigationBarHeight)
+ })
+ },
+ })
+ },
+ getBussiness:function(){
+ let that = this;
+ Http.get({
+ url: config.api.businessList,
+ data:{
+ filter:1
+ }
+ }).then(res => {
+ that.setData({
+ lists: [{ id: 0, title: "全部", type: 1 }].concat(res.data)
+ });
+ })
+ .catch(err => {
+ wx.showToast({
+ title: err.errMsg,
+ icon: 'none',
+ duration: 2000,
+ mask: false
+ });
+ })
+ },
+ getList: function (page, businessId) {
+ let that = this;
+ let data;
+ if(businessId == 0){
+ data = {
+ pageNum: page,
+ pageSize: 8
+ }
+ }else{
+ data = {
+ pageNum: page,
+ pageSize: 8,
+ businessId: businessId
+ }
+ }
+ Http.get({
+ url: config.api.merchantList,
+ data: data
+ }).then(res => {
+ wx.hideLoading();
+ if (page == 1) {
+ that.setData({
+ merchantVoList: [],
+ })
+ }
+ var tmpArr = that.data.merchantVoList;
+ tmpArr.push.apply(tmpArr, res.data.list);
+ // console.log(tmpArr)
+ that.setData({
+ merchantVoList: tmpArr,
+ isFirstPage: res.data.isFirstPage,
+ isLastPage: res.data.isLastPage
+ })
+ // console.log(that.data.merchantVoList)
+ })
+ .catch(err => {
+ wx.hideLoading();
+ wx.showToast({
+ title: err.errMsg,
+ icon: 'none',
+ duration: 2000,
+ mask: false
+ });
+ })
+ },
+ phone: function (e) {
+ let that = this;
+ if (e.currentTarget.dataset.merchantlinkphone) {
+ wx.makePhoneCall({
+ phoneNumber: e.currentTarget.dataset.merchantlinkphone
+ })
+ }
+ },
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ let that = this;
+ that.data.page++;
+ that.setData({
+ page: that.data.page
+ });
+ console.log(that.data.page);
+ // 如果是最后一页
+ //就不发送请求
+ if (!that.data.isLastPage || that.data.isFirstPage && that.data.isLastPage){
+ that.getList(that.data.page, that.data.businessId);
+ }
+ }
+})
diff --git a/index/searchbar.json b/index/searchbar.json
new file mode 100644
index 0000000..8283b91
--- /dev/null
+++ b/index/searchbar.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "门店",
+ "navigationBarBackgroundColor": "#F4F5F9",
+ "navigationBarTextStyle": "black",
+ "usingComponents": {
+ "navbar": "../../../components/navbar/navbar"
+ }
+}
\ No newline at end of file
diff --git a/index/searchbar.wxml b/index/searchbar.wxml
new file mode 100644
index 0000000..b7956c2
--- /dev/null
+++ b/index/searchbar.wxml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.merchantName}}
+
+
+ {{itemName.buildingName}}{{itemName.floorName}}--{{itemName.shopNumber}}
+
+
+
+
+
+
+
+
+ 暂无数据
+
+
+
\ No newline at end of file
diff --git a/index/searchbar.wxss b/index/searchbar.wxss
new file mode 100644
index 0000000..eb3ec13
--- /dev/null
+++ b/index/searchbar.wxss
@@ -0,0 +1,158 @@
+.under_line{
+ width: 100%;
+}
+.scrollY {
+ width: 134rpx;
+ position: fixed;
+ left: 0;
+ background:#F4F5F9;
+}
+
+.text-style {
+ position: relative;
+ width: 139rpx;
+ height: 100rpx;
+ line-height: 100rpx;
+ text-align: center;
+ font-size: 30rpx;
+ font-family: PingFangSC-Semibold;
+ color: #3C3C3C;
+ background: #FFFFFF;
+ font-weight:500;
+}
+.text-styleHover{
+ position: relative;
+ width: 139rpx;
+ height: 100rpx;
+ line-height: 100rpx;
+ text-align: center;
+ font-size: 26rpx;
+ font-family: PingFangSC-Semibold;
+ color: #A6A6A6;
+}
+.text-style text{
+ font-size: 26rpx;
+}
+.active1 {
+ font-size: 26rpx!important;
+}
+.active {
+ position: absolute;
+ left: 4rpx;
+ bottom: 0rpx;
+ top:0;
+ margin: auto;
+ width:12rpx;
+ height:24rpx;
+ background:linear-gradient(127deg,rgba(252,177,74,1) 0%,rgba(254,70,20,1) 100%);
+ border-radius:7rpx;
+}
+
+.posi {
+ position: relative;
+ width: 616rpx;
+ float: right;
+}
+
+.posi>view:nth-child(2) {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ box-sizing: border-box;
+}
+
+.posi>view:nth-child(2) text:nth-child(1) {
+ font-size: 30rpx;
+ color: #a9a9a9;
+}
+
+.posi>view:nth-child(2) text:nth-child(2) {
+ font-size: 30rpx;
+ color: #a9a9a9;
+}
+
+.posi_logo {
+ position: relative;
+ width:576rpx!important;
+ height:176rpx;
+ background:rgba(255,255,255,1);
+ box-shadow:0px 4rpx 8rpx 0px rgba(0,0,0,0.04);
+ border-radius:16rpx;
+ margin: 20rpx;
+ overflow: hidden;
+}
+.tel {
+ position: absolute;
+ right: 3%;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 50rpx;
+ height: 50rpx;
+}
+.merchants{
+ width: 90%;
+ display: flex;
+ background: #fff;
+ padding-right:5%;
+ overflow: hidden;
+}
+.position{
+ text-align: center;
+ margin-top: 100rpx;
+ color: #999;
+}
+.leftBox{
+ padding: 20rpx 0;
+}
+.merchants view:nth-child(1) image {
+ display: block;
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 16rpx;
+}
+.shopVo{
+ margin-left: 20rpx;
+}
+
+.merchantName{
+ color: #3C3C3C;
+ font-size: 32rpx;
+ margin-left: 20rpx;
+ width: 60%;
+ overflow: hidden;
+ text-overflow:ellipsis;
+ white-space: nowrap;
+ margin-top: 10rpx;
+}
+.shopVo text{
+ float: left;
+}
+page {
+ padding: 0 0 30rpx;
+}
+
+.text{
+ display: block;
+ width: 25%;
+ text-align: center;
+}
+
+.view view:nth-of-type(1) {
+ font-size: 28rpx;
+ color: #888;
+}
+
+.shopVoList{
+ padding-left: 0!important;
+ display: inline-block!important;
+ width: 345rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+.shopVoList text{
+ font-size: 20rpx!important;
+ color: #b8b8b8!important;
+ margin-right: 10rpx;
+}
\ No newline at end of file
diff --git a/index/user.js b/index/user.js
new file mode 100644
index 0000000..4b8fc4a
--- /dev/null
+++ b/index/user.js
@@ -0,0 +1,288 @@
+const navigationBarHeight = (getApp().statusBarHeight + 44) + 'px'
+const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
+var config = require("../../config/config.js");
+var app = getApp();
+const Http = require("../../utils/HttpBasics");
+const QR = require("../../utils/memberqrcode.js");
+const imgurl = require("../../utils/imgurl");
+const bgColor = require("../../utils/bgColor.js")
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ navigationBarHeight,
+ banneColor: bgColor.colorFirst.user.banneColor,
+ levelBg: bgColor.colorFirst.user.levelBg,
+ view: bgColor.colorFirst.user.view,
+ redirectUrl: imgurl.redirect.url,
+ qrcodeUrl: imgurl.qrcode.url,
+ editUrl: imgurl.edit.url,
+ activeUrl: imgurl.active.url,
+ dingUrl: imgurl.ding.url,
+ quansUrl: imgurl.quans.url,
+ wmintegral: imgurl.wmintegral.url,
+ cardiconUrl: imgurl.cardicon.url,
+ myactivitygift: imgurl.myactivitygift.url,
+ myactivity: imgurl.myactivity.url,
+ cheUrl: imgurl.che.url,
+ giftUrl: imgurl.gift.url,
+ wmbarginicon: imgurl.wmbarginicon.url,
+ wmspellgroup: imgurl.wmspellgroup.url,
+ canIUse: wx.canIUse('official-account'),
+ mineFlag:"",
+ flag: 'hidden',
+ score: '0',
+ name: "",
+ birthdate: "",
+ sex: "",
+ showEdit: false,
+ ismember: false,
+ showQrcode: false,
+ canvasHidden: false,
+ maskHidden: true,
+ imagePath: '',
+ appVersion: "",
+ showmemberqrcode: false,
+ placeholder: ''
+ },
+ checkUserStatus() {
+ let that = this;
+ Http.get({
+ url: config.api.checkPhoneStatus,
+ data: {}
+ }).then(res => {
+ }).catch(err => {
+ wx.navigateTo({
+ url: `/pages/getphoneInfo/index?mineFlag=mine`,
+ })
+ })
+ },
+ /**
+ * 跳转到成长值的页面
+ */
+ gotograde: function() {
+ wx.navigateTo({
+ url: '/pages/czdetail/czdetail',
+ })
+ },
+ navigateTo() {
+ wx.navigateTo({
+ url: `/pages/main/index`
+ });
+ },
+ showVersion: function() {
+ /**
+ * 长按显示版本号
+ */
+ let that = this;
+ if (that.data.flag == 'hidden') {
+ that.setData({
+ flag: 'show'
+ });
+ }
+ },
+ gotoedit: function() {
+ wx.navigateTo({
+ url: '/pages/edit/edit',
+ })
+ },
+ onLoad() {
+ this.getLocation();
+ this.updateScene();
+ },
+ /**
+ * 获得经纬度
+ */
+ getLocation() {
+ let that = this;
+ wx.getLocation({
+ type: "wgs84",
+ success: function(res) {
+ console.log(res)
+ if (res && res.longitude && res.latitude) {
+ Http.post({
+ url: config.api.updateLBS,
+ data: {
+ latitude: res.latitude,
+ longitude: res.longitude
+ }
+ }).then(res => {
+ console.log(res)
+ })
+ }
+ },
+ fail: error => {
+ console.log(error);
+ }
+ })
+ },
+
+ /**
+ * 用户更新scene
+ */
+ updateScene(){
+ Http.post({
+ url: config.api.updateScene,
+ data: {
+ scene: app.globalData.scene
+ }
+ }).then(res => {
+ console.log(res)
+ })
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ let that = this;
+ that.checkUserStatus();
+ that.setData({
+ appVersion: extConfig.appVersion,
+ })
+ /**
+ * couponNum
+ * couponNum2
+ */
+ let num = wx.getStorageSync('couponNum');
+ let num1 = wx.getStorageSync('couponNum2');
+ wx.hideTabBarRedDot({
+ index: 3
+ });
+ wx.hideTabBarRedDot({
+ index: 3
+ });
+ if (num == 'couponNum1') {
+ wx.setStorage({
+ key: 'couponNum',
+ data: "couponNum1",
+ })
+ that.setData({
+ couponNum: "couponNum1"
+ })
+ } else if (num == 'couponNum') {
+ that.setData({
+ couponNum: "couponNum"
+ })
+ };
+ if (num1 == 'couponNum3') {
+ wx.setStorage({
+ key: 'couponNum2',
+ data: "couponNum3",
+ })
+ that.setData({
+ couponNum2: "couponNum3"
+ })
+ } else if (num1 == 'couponNum2') {
+ that.setData({
+ couponNum2: "couponNum2"
+ });
+ };
+
+ Http.get({
+ url: config.api.getScore,
+ data: {}
+ }).then(res => {
+ if (res.data.address && res.data.name && res.data.sex && res.data.birthdate) {
+ that.setData({
+ showEdit: true
+ })
+ }
+ that.setData({
+ score: res.data.score,
+ levelName: res.data.levelName,
+ })
+ if (res.data.nickName) {
+ that.setData({
+ ismember: true,
+ memberId: res.data.id
+ })
+ var size = this.setCanvasSize();
+ var initUrl = JSON.stringify({
+ flagid: res.data.id
+ });
+ that.createQrCode(initUrl, "mycanvas1", size.w, size.h);
+ }
+ })
+ .catch(err => {
+ wx.showModal({
+ title: '提示',
+ content: err.errMsg,
+ showCancel: false
+ })
+ })
+ //暂时注释
+ // that.getrun();
+ },
+ hideQrcode: function() {
+ let that = this;
+ that.setData({
+ showQrcode: false
+ })
+ },
+ //适配不同屏幕大小的canvas
+ setCanvasSize: function() {
+ var size = {};
+ try {
+ var res = wx.getSystemInfoSync();
+ var scale = 750 / 500;
+ //不同屏幕下canvas的适配比例;设计稿是750宽
+ var width = res.windowWidth / scale;
+ var height = width;
+ //canvas画布为正方形
+ size.w = width;
+ size.h = height;
+ } catch (e) {
+ // Do something when catch error
+ console.log("获取设备信息失败" + e);
+ }
+ return size;
+ },
+ createQrCode: function(url, canvasId, cavW, cavH) {
+ //调用插件中的draw方法,绘制二维码图片
+ QR.api.draw(url, canvasId, cavW, cavH);
+ },
+ qrcode: function(e) {
+ var that = this;
+ that.setData({
+ showQrcode: true
+ })
+ wx.showToast({
+ title: '生成中...',
+ icon: 'loading',
+ duration: 2000
+ });
+ var st = setTimeout(function() {
+ wx.hideToast()
+ var size = that.setCanvasSize();
+ var url = JSON.stringify({
+ END: "C",
+ TYPE: "memberCode",
+ ID: that.data.memberId,
+ })
+ that.createQrCode(url, "mycanvas1", size.w, size.h);
+ that.setData({
+ maskHidden: true
+ });
+ clearTimeout(st);
+ }, 1000)
+
+ },
+ close: function() {
+ this.setData({
+ showmemberqrcode: false,
+ })
+ }
+});
+Component({
+ pageLifetimes: {
+ show() {
+ if (typeof this.getTabBar === 'function' &&
+ this.getTabBar()) {
+ this.getTabBar().setData({
+ selected: 0
+ })
+ }
+ }
+ }
+})
diff --git a/index/user.json b/index/user.json
new file mode 100644
index 0000000..e2f3c9d
--- /dev/null
+++ b/index/user.json
@@ -0,0 +1,9 @@
+{
+ "usingComponents": {
+ "i-button": "../../dist/button/index",
+ "navbar": "../../components/navbar/navbar"
+ },
+ "navigationBarBackgroundColor": "#FD832D",
+ "navigationBarTextStyle": "white",
+ "disableScroll": true
+ }
\ No newline at end of file
diff --git a/index/user.wxml b/index/user.wxml
new file mode 100644
index 0000000..61e8e21
--- /dev/null
+++ b/index/user.wxml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{levelName}}
+
+
+
+ 我的
+ 成长值{{score}}
+ |
+
+ 更多成长值
+
+
+
+
+
+
+ 我的订单
+
+
+
+
+
+
+ 我的券包
+
+
+
+
+
+
+
+
+ 我的卡包
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我的砍价
+
+
+
+
+
+
+ 我的拼团
+
+
+
+
+
+
+ 积分商城
+
+
+
+
+
+
+ 特享礼遇
+
+
+
+
+
+ 我的活动
+
+
+
+
+
+
+ 版本号:{{appVersion}}
+
+
+
+
+
+
+
+
+
+ 会员ID{{memberId}}
+
+
\ No newline at end of file
diff --git a/index/user.wxss b/index/user.wxss
new file mode 100644
index 0000000..5e9a166
--- /dev/null
+++ b/index/user.wxss
@@ -0,0 +1,392 @@
+page{
+ overflow-y:visible!important;
+ height: 100%!important;
+ background: #f6f6f6;
+}
+.icons {
+ display: block;
+ width: 50rpx;
+ margin: 0 auto 10rpx;
+}
+
+.navigator-hover {
+ opacity: 1 !important;
+ background: #fff;
+}
+
+.version {
+ position: absolute;
+ right: 0;
+ width: 307rpx;
+ height: 50rpx;
+ bottom: 0;
+ text-align: center;
+ font-size: 15rpx;
+ color: #999;
+}
+
+.couponnum {
+ display: inline-block;
+ position: absolute;
+ top: 39rpx;
+ bottom: 0;
+ right: 20px;
+ width: 16rpx;
+ height: 16rpx;
+ border-radius: 50%;
+ background: red;
+ font-size: 22rpx;
+}
+
+.user-avatar open-data {
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+.user-name{
+ font-family: PingFangSC-Medium;
+ height: 42rpx;
+ margin-top:66rpx;
+ letter-spacing: 0.64rpx;
+ line-height: 44rpx;
+ font-size: 30rpx;
+ color: #3C3C3C;
+ font-weight:600;
+ display: flex; /*设置显示样式**/
+ align-items: center; /**子view垂直居中*/
+ vertical-align: center; /**垂直居中*/
+ justify-content: center; /**内容居中*/
+ flex-direction: row;
+}
+.user-phone {
+ font-family: PingFangSC-Regular;
+ letter-spacing: 0.64rpx;
+ line-height: 44rpx;
+ font-size: 36rpx;
+ color: #000;
+ padding:20rpx;
+ text-align: center;
+}
+.user-avatar {
+ position: absolute;
+ width: 128rpx;
+ height: 128rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ top:-64rpx;
+ left: 300rpx;
+}
+
+.chengzhang {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #FFFFFF;
+ padding: 0 8rpx;
+}
+
+.view {
+ font-size: 24rpx;
+}
+
+.view image {
+ width: 12rpx;
+ vertical-align: middle;
+ margin-top: -6rpx;
+}
+
+.bannerbg {
+ width: 100%;
+}
+
+.bannerbg image {
+ display: block;
+ width: 100%;
+}
+
+.open01 {
+ display: block;
+ width: 120rpx;
+ height: 120rpx;
+}
+.user-btns{
+ background: #fff;
+ display: flex;
+ text-align: center;
+ flex-wrap: wrap;
+}
+ .user-btns navigator{
+ width: 33.3%;
+ height: 160rpx;
+ }
+
+.user-btns:nth-of-type(3){
+ margin-bottom: 0;
+}
+.user-btns .user-btn {
+ font-size: 30rpx;
+ letter-spacing: 1.16rpx;
+}
+.top-content{
+ width: 100%;
+ height: auto;
+}
+.user_title{
+ position: relative;
+ width: 94%;
+ background: #fff;
+ border-radius: 16rpx;
+ margin: -100rpx auto 0;
+ padding: 10rpx 0;
+ box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.10);
+}
+.btns_bg{
+ width: 94%;
+ background: #fff;
+ border-radius: 16rpx;
+ margin: 30rpx auto 0;
+ padding: 20rpx 0;
+ box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.10);
+}
+.user-btns .user-btn > view {
+ padding: 20rpx 10px ;
+ font-size: 28rpx;
+ color: #888;
+ letter-spacing: 1.16rpx;
+ text-align: center;
+}
+
+.iconfont {
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ width: 30rpx;
+ height: 30rpx;
+ line-height: 44rpx;
+ color: #c7c7cc;
+ font-size: 44rpx;
+ margin: auto;
+}
+
+.look {
+ display: inline-block;
+ padding-right: 25rpx;
+}
+
+.user-out-btn {
+ background-color: #fff;
+ height: 100rpx;
+ line-height: 100rpx;
+ font-family: PingFangSC-Semibold;
+ font-size: 30rpx;
+ color: #000;
+ text-align: center;
+ border-radius: 0;
+ border: none;
+}
+
+.user-out-btn.button-hover {
+ background-color: rgba(237, 237, 237, 1);
+}
+
+.user-out-btn::after {
+ opacity: 0;
+}
+.gzh button::after {
+ border: none!important;
+}
+.gzh {
+ width: 100%;
+ height: 170rpx;
+ z-index: 10;
+ background: #fff;
+ border-radius: 16rpx;
+ overflow: hidden;
+ box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.15);
+}
+
+.act {
+ display: none;
+}
+
+.of {
+ width: 90%;
+ margin: 30rpx auto;
+ height: auto;
+ background: #fff;
+ border-radius: 16rpx;
+ overflow: hidden;
+ box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.15);
+}
+
+.activeimg {
+ width: 200rpx !important;
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ z-index: 10000;
+}
+
+.edit {
+ width: 26rpx;
+ vertical-align: middle;
+}
+.qrcode{
+ display: none;
+}
+.qrcode image {
+ width: 70rpx;
+ margin-right: 20rpx;
+}
+
+.edits {
+ margin-top: 44rpx;
+}
+
+.showQrcode {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 1000;
+ background: rgba(0, 0, 0, 0.6);
+}
+
+.qrcodes {
+ position: absolute;
+ width: 400rpx;
+ height: 440rpx;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ border-radius: 15rpx;
+ margin: auto;
+ background: #fff;
+ text-align: center;
+}
+
+.qrcodes text {
+ text-align: center;
+ font-size: 26rpx;
+ display: inline-block;
+ line-height: 40rpx;
+}
+
+.container-box {
+ width: 100%;
+ height: 100%;
+ background: 0 0 0 0.6;
+ position: relative;
+}
+
+.img-box {
+ width: 500rpx;
+ margin: 200rpx auto 0;
+ background-color: #fff;
+ border-radius: 16rpx;
+}
+
+.img-box text {
+ display: block;
+ text-align: center;
+ font-size: 28rpx;
+}
+
+
+
+.img-box image {
+ display: block;
+ width: 500rpx;
+}
+
+.input-row {
+ border-bottom: 1rpx solid #e5e5e5;
+ border-top: 1rpx solid #e5e5e5;
+ display: flex;
+ align-items: center;
+ height: 100rpx;
+ padding: 0 32rpx;
+ background-color: #fff;
+ font-size: 34rpx;
+ color: #000;
+}
+
+.input-row input {
+ margin-left: 100rpx;
+ flex: 1;
+}
+
+.mybtn {
+ width: 686rpx;
+ margin: 60rpx auto;
+}
+
+.mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 3;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+}
+
+.canvas-box {
+ position: fixed;
+ width: 500rpx;
+ height: 587rpx;
+ overflow: hidden;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ margin: auto;
+ background: #fff;
+ border-radius: 16rpx;
+}
+.showQrcode text{
+ display: block;
+ text-align: center;
+ font-size: 28rpx;
+}
+.membercode {
+ margin-top: 20rpx;
+}
+
+.top{
+ width: 100%;
+ height: 234rpx;
+}
+.usre_level{
+ height:32rpx;
+ border-radius:9px 9px 9px 0px;
+ font-family:PingFangSC-Regular;
+ font-weight:400;
+ color:rgba(255,255,255,1);
+ line-height:32rpx;
+ float: left;
+ margin-top: 8rpx;
+}
+.my{
+ font-size:24rpx;
+ font-family:PingFangSC-Regular;
+ font-weight:400;
+ color:rgba(166,166,166,1);
+ line-height:34rpx;
+}
+.chengzhang_h{
+ color: #3C3C3C;
+ font-size:24rpx;
+ font-weight: 600;
+}
+.my_line{
+ margin: 0 10rpx;
+}
+.usre_level{
+ font-size:20rpx;
+}
+.name{
+ float: left;
+}