Browse Source

first commit

twt 3 years ago
commit
358a71e632
100 changed files with 16252 additions and 0 deletions
  1. 16 0
      .hbuilderx/launch.json
  2. 17 0
      App.vue
  3. 209 0
      api/carOwner.js
  4. 21 0
      api/createShop.js
  5. 216 0
      api/home.js
  6. 32 0
      api/jikeActivity.js
  7. 22 0
      api/order.js
  8. 55 0
      api/user.js
  9. 192 0
      common/MD5.js
  10. 47 0
      common/common.js
  11. 144 0
      common/http.js
  12. 204 0
      common/request.js
  13. 20 0
      index.html
  14. 30 0
      main.js
  15. 82 0
      manifest.json
  16. 103 0
      pages.json
  17. 215 0
      pages/home/home.vue
  18. 122 0
      pages/index/home.vue
  19. 122 0
      pages/index/index.vue
  20. 92 0
      pages/index/map.vue
  21. 63 0
      pages/index/signOut.vue
  22. 230 0
      pages/login/empower.vue
  23. 357 0
      pages/login/iphoneLogin.vue
  24. 221 0
      pages/login/login.vue
  25. 120 0
      pages/pay/pay.vue
  26. 63 0
      pages/user/scanCode.vue
  27. 25 0
      pages/user/user.vue
  28. BIN
      static/homeImg/pic_def.png
  29. BIN
      static/homeImg/pic_def2.png
  30. BIN
      static/img/euro.png
  31. BIN
      static/img/index1.png
  32. BIN
      static/img/index2.png
  33. BIN
      static/img/lQDPDhs0QZY4xBXNAtDNAZWw7dBth6OpB2gCJkosywCAAA_405_720.jpg
  34. BIN
      static/img/login_icon_checked.png
  35. BIN
      static/img/login_icon_uncheck.png
  36. BIN
      static/img/login_text.png
  37. BIN
      static/img/me1.png
  38. BIN
      static/img/me2.png
  39. 28 0
      store/index.js
  40. 76 0
      uni.scss
  41. 0 0
      unpackage/dist/dev/.automator/mp-weixin/.automator.json
  42. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  43. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  44. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  45. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map
  46. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/home.js.map
  47. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  48. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/map.js.map
  49. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/signOut.js.map
  50. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/empower.js.map
  51. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/iphoneLogin.js.map
  52. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  53. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/pay/pay.js.map
  54. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/scanCode.js.map
  55. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/user.js.map
  56. 4 0
      unpackage/dist/dev/mp-weixin/app.js
  57. 28 0
      unpackage/dist/dev/mp-weixin/app.json
  58. 3 0
      unpackage/dist/dev/mp-weixin/app.wxss
  59. 151 0
      unpackage/dist/dev/mp-weixin/common/main.js
  60. 17 0
      unpackage/dist/dev/mp-weixin/common/main.wxss
  61. 158 0
      unpackage/dist/dev/mp-weixin/common/runtime.js
  62. 9504 0
      unpackage/dist/dev/mp-weixin/common/vendor.js
  63. 344 0
      unpackage/dist/dev/mp-weixin/pages/home/home.js
  64. 4 0
      unpackage/dist/dev/mp-weixin/pages/home/home.json
  65. 1 0
      unpackage/dist/dev/mp-weixin/pages/home/home.wxml
  66. 253 0
      unpackage/dist/dev/mp-weixin/pages/index/home.js
  67. 4 0
      unpackage/dist/dev/mp-weixin/pages/index/home.json
  68. 1 0
      unpackage/dist/dev/mp-weixin/pages/index/home.wxml
  69. 27 0
      unpackage/dist/dev/mp-weixin/pages/index/home.wxss
  70. 259 0
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  71. 4 0
      unpackage/dist/dev/mp-weixin/pages/index/index.json
  72. 1 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  73. 27 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  74. 232 0
      unpackage/dist/dev/mp-weixin/pages/index/map.js
  75. 4 0
      unpackage/dist/dev/mp-weixin/pages/index/map.json
  76. 1 0
      unpackage/dist/dev/mp-weixin/pages/index/map.wxml
  77. 28 0
      unpackage/dist/dev/mp-weixin/pages/index/map.wxss
  78. 203 0
      unpackage/dist/dev/mp-weixin/pages/index/signOut.js
  79. 4 0
      unpackage/dist/dev/mp-weixin/pages/index/signOut.json
  80. 1 0
      unpackage/dist/dev/mp-weixin/pages/index/signOut.wxml
  81. 28 0
      unpackage/dist/dev/mp-weixin/pages/index/signOut.wxss
  82. 357 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.js
  83. 4 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.json
  84. 1 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.wxml
  85. 36 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.wxss
  86. 418 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.js
  87. 4 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.json
  88. 1 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxml
  89. 90 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxss
  90. 312 0
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  91. 4 0
      unpackage/dist/dev/mp-weixin/pages/login/login.json
  92. 1 0
      unpackage/dist/dev/mp-weixin/pages/login/login.wxml
  93. 68 0
      unpackage/dist/dev/mp-weixin/pages/login/login.wxss
  94. 249 0
      unpackage/dist/dev/mp-weixin/pages/pay/pay.js
  95. 4 0
      unpackage/dist/dev/mp-weixin/pages/pay/pay.json
  96. 1 0
      unpackage/dist/dev/mp-weixin/pages/pay/pay.wxml
  97. 34 0
      unpackage/dist/dev/mp-weixin/pages/pay/pay.wxss
  98. 215 0
      unpackage/dist/dev/mp-weixin/pages/user/scanCode.js
  99. 4 0
      unpackage/dist/dev/mp-weixin/pages/user/scanCode.json
  100. 0 0
      unpackage/dist/dev/mp-weixin/pages/user/scanCode.wxml

+ 16 - 0
.hbuilderx/launch.json

@@ -0,0 +1,16 @@
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+  // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+    "version": "0.0",
+    "configurations": [{
+     	"default" : 
+     	{
+     		"launchtype" : "local"
+     	},
+     	"mp-weixin" : 
+     	{
+     		"launchtype" : "local"
+     	},
+     	"type" : "uniCloud"
+     }
+    ]
+}

+ 17 - 0
App.vue

@@ -0,0 +1,17 @@
+<script>
+	export default {
+		onLaunch: function() {
+			console.log('App Launch')
+		},
+		onShow: function() {
+			console.log('App Show')
+		},
+		onHide: function() {
+			console.log('App Hide')
+		}
+	}
+</script>
+
+<style>
+	/*每个页面公共css */
+</style>

+ 209 - 0
api/carOwner.js

@@ -0,0 +1,209 @@
+import { fetchGet, fetchPost } from '../http'
+import config from '../config'
+
+// 跳转至营销
+export const toMarketing = (code) => {
+  location.href = config.baseURL + 'jump/toMarketing?code=' + code
+}
+
+// 跳转至车主微信
+export const toCarOwner = (code) => {
+  location.href = config.baseURL + 'jump/toCarOwner?code=' + code
+}
+
+// 校验是否可跳转至营销
+export const checkMarketing = (params) => {
+  return fetchPost('/jump/checkMarketing', params)
+}
+
+// 校验是否可跳转至车主微信
+export const checkCarOwner = (params) => {
+  return fetchPost('/jump/checkCarOwner', params)
+}
+
+// 查询汽车品牌接口包含热门的-张杰
+export const queryCarModelGroupPackage = (params = {}) => {
+  return fetchPost('/carInfoOwner/queryCarModelGroupPackage', params)
+}
+
+// 车辆列表-张杰
+export const carInfoPage = (params = {}) => {
+  return fetchGet('/carInfoOwner/carInfoPage', params)
+}
+
+// 首页数据
+export const getHomeData = (params = {}) => {
+  return fetchGet('/carOwnerHome/homeData', params)
+}
+
+// 查询车型列表-张杰
+export const queryCarModelOwner = (params = {}) => {
+  return fetchPost('/carInfoOwner/queryCarModelOwner', params)
+}
+
+// 查询车厂列表-张杰
+export const queryCarFactoryListOwner = (params = {}) => {
+  return fetchPost('/carInfoOwner/queryCarFactoryListOwner', params)
+}
+
+// 查询车系列表
+export const queryCarSeriesOwner = (params = {}) => {
+  return fetchPost('/carInfoOwner/queryCarSeriesOwner', params)
+}
+
+// 保养信息查询-张杰
+export const queryPlanOwner = (params = {}) => {
+  return fetchGet('/carInfoOwner/queryPlanOwner', params)
+}
+
+// 车型查询条件排量,发动机型号,年款,底盘号等-张杰
+export const querySearchDicOwner = (params = {}) => {
+  return fetchPost('/carInfoOwner/querySearchDicOwner', params)
+}
+
+// 车型查询-张杰
+export const queryCarModleListOwner = (params = {}) => {
+  return fetchPost('/carInfoOwner/queryCarModleListOwner', params)
+}
+
+// 历史消费列 世荣
+export const queryConsumptionList = (params) => {
+  return fetchPost('/weiXinCardInfoController/queryConsumptionList', params)
+}
+
+// 历史消费列 世荣
+export const queryCardTimeAndMondyList = (params) => {
+  return fetchPost('/weiXinCardInfoController/queryCardTimeAndMondyList', params)
+}
+
+// 门店列表 世荣
+export const queryShopList = (params) => {
+  return fetchPost('/weiXinCardInfoController/queryShopList', params)
+}
+
+// 查询历史消费详情 世荣
+export const queryConsumptionDetail = (params) => {
+  return fetchPost('/weiXinCardInfoController/queryConsumptionDetail', params)
+}
+// 添加车辆信息-张杰
+export const addCarOwner = (params) => {
+  return fetchPost('/carInfoOwner/addCarOwner', params)
+}
+// 检测报告详情
+export const getTestReportDetails = (params, options) => {
+  return fetchGet('/checkSheet/getTestReportDetails', params, options)
+}
+// 检测报告列表
+export const getTestList = (params) => {
+  return fetchGet('/checkSheet/getTestList', params)
+}
+// 查询业务类型列表 飞虎
+export const listBigTags = (params) => {
+  return fetchGet('/reservation/listBigTags', params)
+}
+// 查询预约订单 飞虎
+export const listOrderSheet = (params) => {
+  return fetchGet('/reservation/listOrderSheet', params)
+}
+// 预约订单详情 飞虎
+export const orderSheetDetails = (params) => {
+  return fetchGet('/reservation/orderSheetDetails', params)
+}
+// 店铺详情 飞虎
+export const getShopInfo = (params) => {
+  return fetchGet('/reservation/getShopInfo', params)
+}
+// xinxi  飞虎
+export const getInfo = (params) => {
+  return fetchGet('/reservation/getInfo', params)
+}
+// 预约订单取消 飞虎
+export const updateState = (params) => {
+  return fetchPost('/reservation/carOwner/updateState', params)
+}
+// 预约订单延期 飞虎
+export const updateTimeOfAppointment = (params) => {
+  return fetchPost('/reservation/carOwner/updateTimeOfAppointment', params)
+}
+// 查询预约项目列表 飞虎
+export const listItemWxInfo = (params) => {
+  return fetchGet('/reservation/listItemWxInfo', params)
+}
+// 保存预约订单 飞虎
+export const saveOrderSheet = (params) => {
+  return fetchPost('/reservation/saveOrderSheet', params)
+}
+// 车主合伙人详细信息
+export const queryPartnerDetail = (params) => {
+  return fetchGet('/carInfoOwner/queryPartnerDetail', params)
+}
+// 客户转介绍 王加山
+export const getIndexData = (params) => {
+  return fetchGet('/mCustomer/getIndexData', params)
+}
+// 客户转提现基础信息 王加山
+export const getWithdrawalInfo = (params) => {
+  return fetchGet('/mCustomer/getWithdrawalInfo', params)
+}
+// 客户转提现申请提现 王加山
+export const applyWithdrawal = (params) => {
+  return fetchPost('/mCustomer/applyWithdrawal', params)
+}
+// 客户转介绍说明 王加山
+export const getExplain = (params) => {
+  return fetchGet('/mCustomer/getExplain', params)
+}
+// 客户转介绍我的人脉 王加山
+export const getContactsList = (params) => {
+  return fetchGet('/mCustomer/getContactsList', params)
+}
+// 客户转介绍返利记录 王加山
+export const getRebateList = (params) => {
+  return fetchGet('/mCustomer/getRebateList', params)
+}
+// 客户转介绍提现明细 王加山
+export const getWithdrawalDetail = (params) => {
+  return fetchGet('/mCustomer/getWithdrawalDetail', params)
+}
+// 下线人脉-张杰
+export const listPJBonusPage = (params) => {
+  return fetchGet('/carInfoOwner/listPJBonusPage', params)
+}
+// 分红记录-张杰
+export const listBonusPage = (params) => {
+  return fetchGet('/carInfoOwner/listBonusPage', params)
+}
+// 我的优惠券
+export const listCoupon = (params) => {
+  return fetchGet('/coupon/listCoupon', params)
+}
+// 优惠券
+export const getCouponList = (params) => {
+  return fetchGet('/coupon/getCouponList', params)
+}
+// 优惠券详情
+export const detailsCoupon = (params) => {
+  return fetchGet('/coupon/detailsCoupon', params)
+}// 优惠券详情
+export const detailsCouponDetails = (params) => {
+  return fetchGet('/coupon/detailsCouponDetails', params)
+}
+// 优惠券领取
+export const getCoupons = (params) => {
+  return fetchGet('/coupon/getCoupons', params)
+}
+export const getCustInfo = (params) => {
+  return fetchGet('/weixin/getCustInfo', params)
+}
+// 查询抽奖信息
+export const getLuckDrawDetails = (params) => {
+  return fetchPost('/marketingLuckDraw/getLuckDrawDetails', params)
+}
+// 抽奖
+export const doLuckDraw = (params) => {
+  return fetchPost('/marketingLuckDraw/doLuckDraw', params)
+}
+// 查询抽奖历史
+export const listLuckyDrawCustomerDetailPage = (params) => {
+  return fetchPost('/marketingLuckDraw/listLuckyDrawCustomerDetailPage', params)
+}

+ 21 - 0
api/createShop.js

@@ -0,0 +1,21 @@
+import { fetchGet, fetchPost } from '../http'
+
+// 进入详情页-官飞虎
+export const promotion = (params = {}) => {
+  return fetchGet('/promotion/index', params)
+}
+
+// 获取购买类型-官飞虎
+export const getPlan = (params) => {
+  return fetchGet('/promotion/getPlan', params)
+}
+
+// 获取地址-官飞虎
+export const getRegion = (params) => {
+  return fetchGet('/promotion/getRegion', params)
+}
+
+// 支付-官飞虎
+export const pay = (params) => {
+  return fetchPost('/promotion/pay', params)
+}

+ 216 - 0
api/home.js

@@ -0,0 +1,216 @@
+//import { fetchPost, fetchGet, } from '../common/request.js'
+import request from '../common/request.js'
+var fetchGet=request.fetchGet
+var fetchPost=request.fetchPost
+export const getFeatureItemList = (params) => {
+	console.log("getFeatureItemList")
+	//console.log(request.fetchGet)
+  return fetchGet('/home/getFeatureItemList', params)
+}
+
+export const bindShopId = (params) => {
+  return fetchPost('/bind/bindShopId', params)
+}
+export const phoneLogin = (params) => {
+  return fetchPost('/bind/phoneLogin', params)
+}
+
+export const initGet = (params) => {
+  return fetchGet('/home/getHomeData', params)
+}
+export const initgetGroupItemList = (params) => {
+  return fetchGet('/home/getGroupItemList', params)
+}
+
+export const searchList = (params) => {
+  return fetchGet('/home/getShops', params)
+}
+
+export const choiceShop = (params) => {
+  return fetchPost('/home/choiceShop', params)
+}
+
+export const receiveVoucher = (params) => {
+  return fetchPost('/home/receiveVoucher', params)
+}
+
+
+
+export const getSnapUpItemList = (params) => {
+  return fetchGet('/home/getSnapUpItemList', params)
+}
+export const getExperienceCardInformation = (params) => {
+  return fetchGet('/home/getExperienceCardInformation', params)
+}
+export const getScoreListForPage = (params) => {
+  return fetchGet('/home/getScoreListForPage', params)
+}
+
+export const isHaveExperienceCard = (params) => {
+  return fetchGet('/home/isHaveExperienceCard', params)
+}
+
+export const followOrderManager = (params) => {
+  return fetchPost('/home/followOrderManager', params)
+}
+
+export const getBeauticianData = (params) => {
+  return fetchGet('/detail/getBeauticianData', params)
+}
+
+export const getVipCardById = (params) => {
+  return fetchGet('/detail/getVipCardById', params)
+}
+
+export const getVipCardList = (params) => {
+  return fetchGet('/home/getVipCardList', params)
+}
+
+export const getGroupItemSheetDetail = (params) => {
+  return fetchGet('/detail/getGroupItemSheetDetail', params)
+}
+
+export const getSnapUpItemDetail = (params) => {
+  return fetchGet('/detail/getSnapUpItemDetail', params)
+}
+
+export const getItemDetail = (params) => {
+  return fetchGet('/detail/getItemDetail', params)
+}
+
+export const getBeauticianDetail = (params) => {
+  return fetchGet('/detail/getBeauticianDetail', params)
+}
+
+export const pay = (params) => {
+  return fetchPost('/pay/pay', params)
+}
+
+export const getMyVoucherList = (params) => {
+  return fetchGet('/detail/getMyVoucherList', params)
+}
+
+export const getCustomerRedMoneyList = (params) => {
+  return fetchGet('/detail/getCustomerRedMoneyList', params)
+}
+
+export const getOrderCarList = (params) => {
+  return fetchGet('/detail/getOrderCarList', params)
+}
+
+// 新增车辆-石延杰
+export const addCar = (params) => {
+  return fetchPost('/detail/addCar', params)
+}
+
+export const getCheckOutForItem = (params) => {
+  return fetchGet('/detail/getCheckOutForItem', params)
+}
+
+export const getOrderManagerList = (params) => {
+  return fetchGet('/detail/getOrderManagerList', params)
+}
+
+export const getCheckOutForGroupItem = (params) => {
+  return fetchGet('/detail/getCheckOutForGroupItem', params)
+}
+
+export const getCheckOutItemForExperienceCard = (params) => {
+  return fetchGet('/detail/getCheckOutItemForExperienceCard', params)
+}
+
+export const getExperienceCardDetail = (params) => {
+  return fetchGet('/detail/getExperienceCardDetail', params)
+}
+export const queryExperienceCardDetail = (params) => {
+  return fetchGet('/detail/queryExperienceCardDetail', params)
+}
+
+export const getCustomerVipCardList = (params) => {
+  return fetchGet('/detail/getCustomerVipCardList', params)
+}
+
+export const getCheckOutItemForSnapUpItem = (params) => {
+  return fetchGet('/detail/getCheckOutItemForSnapUpItem', params)
+}
+
+export const sendSms = (params) => {
+  return fetchGet('/bind/sendSms', params)
+}
+export const ownerSendSms = (params) => {
+  return fetchGet('/bindOwner/sendSms', params)
+}
+// 查询已购项目列表-石延杰
+export const getHavePurchaseItemList = (params) => {
+  return fetchGet('/detail/getHavePurchaseItemList', params)
+}
+
+// 查询已店铺信息-石延杰
+export const getMarketingShopInfo = (params) => {
+  return fetchGet('/my/marketingShopInfo', params)
+}
+
+// 退出登录-石延杰
+export const returnLogin = (params) => {
+  return fetchGet('/carOwnerHome/returnLogin', params)
+}
+
+// 预约
+export const addOrder = (params) => {
+  return fetchPost('/detail/addOrder', params)
+}
+
+// 评价
+export const addScore = (params) => {
+  return fetchPost('/detail/addScore', params)
+}
+
+// 评价详情
+export const getScore = (params) => {
+  return fetchGet('/detail/getScore', params)
+}
+
+// 查询预约时间列表-石延杰
+export const getOrderTimes = (params) => {
+  return fetchGet('/detail/getOrderTimes', params)
+}
+// 图片上传-石延杰
+/* export const upload = (params) => {
+  return upLoadPost('/upload', params)
+} */
+//
+// 领取红包-石延杰
+export const receiveRedEnvelopes = (params) => {
+  return fetchPost('/home/receiveRedEnvelopes', params)
+}
+
+//
+export const getVoucherDetail = (params) => {
+  return fetchGet('/detail/getVoucherDetail', params)
+}
+
+//
+export const setRedPageNum = (params) => {
+  return fetchPost('/detail/setRedPageNum', params)
+}
+//
+export const redEnvelopesDetails = (params) => {
+  return fetchGet('/home/redEnvelopesDetails', params)
+}
+
+export const getGroupItemSheetInfo = (params) => {
+  return fetchGet('/detail/getGroupItemSheetInfo', params)
+}
+
+// 管
+export const getGroupItemSheet = (params) => {
+  return fetchGet('/pay/getGroupItemSheet', params)
+}
+
+export const getMessageTypeList = (params) => {
+  return fetchGet('/my/getMessageTypeList', params)
+}
+
+export const getMessageDetailList = (params) => {
+  return fetchGet('/my/getMessageDetailList', params)
+}

+ 32 - 0
api/jikeActivity.js

@@ -0,0 +1,32 @@
+import { fetchGet, fetchPost } from '../http'
+import config from '../config'
+
+// 获取活动详情-官飞虎
+export const getActivityDetails = (params) => {
+  return fetchPost('/collector/getActivityDetails', params)
+}
+
+// 获取门店列表-官飞虎
+export const getShopList = (params) => {
+  return fetchPost('/collector/getShopList', params)
+}
+// 获取门店列表-官飞虎
+export const registrationOfActivities = (params) => {
+  return fetchPost('/collector/registrationOfActivities', params)
+}
+// 获取门店列表-官飞虎
+export const setShopId = (params) => {
+  return fetchPost('/collector/setShopId', params)
+}
+// 查询浏览记录 - 陈四荣
+export const getActivityLooks = (params) => {
+  return fetchPost('/collector/getActivityLooks', params)
+}
+// 集客手机号输入 - 陈四荣
+export const signInActivities = (params) => {
+  return fetchPost('/collector/signInActivities', params)
+}
+//- 陈四荣 单位变输入变搜索
+export const getCustomerUnitList = (params) => {
+  return fetchPost('/collector/getCustomerUnitList', params)
+}

+ 22 - 0
api/order.js

@@ -0,0 +1,22 @@
+import { fetchGet, fetchPost } from '../http'
+// 订单列表-石延杰
+export const getMarketingSheetList = (params) => {
+  return fetchGet('/my/getMarketingSheetList', params)
+}
+// 订单详情-石延杰
+export const getMarketingSheetDetail = (params) => {
+  return fetchGet('/my/getMarketingSheetDetail', params)
+}
+// 取消订单-石延杰
+export const unOrder = (params) => {
+  return fetchGet('/order/unOrder', params)
+}
+// 取消订单-石延杰
+export const updateState = (params) => {
+  return fetchPost('/detail/updateState', params)
+}
+
+// 取消订单-管
+export const toPay = (params) => {
+  return fetchGet('/pay/toPay', params)
+}

+ 55 - 0
api/user.js

@@ -0,0 +1,55 @@
+import { fetchGet, fetchPost } from '../http'
+
+export const bindShopId = (params) => {
+  return fetchPost('/bind/bindShopId', params)
+}
+export const phoneLogin = (params) => {
+  return fetchPost('/bind/phoneLogin', params)
+}
+export const ownerPhoneLogin = (params) => {
+  return fetchPost('/bindOwner/phoneLogin', params)
+}
+
+// 分享
+export const share = (params) => {
+  return fetchPost('/share/share', params)
+}
+
+// 授权
+export const sign = (params) => {
+  return fetchPost('/sign/get', params)
+}
+
+// 查看分享
+export const look = (params) => {
+  return fetchPost('/share/look', params)
+}
+// 查询订单数目-石延杰
+export const getMarketingSheetSize = (params) => {
+  return fetchGet('/my/getMarketingSheetSize', params)
+}
+
+// 我的店铺红包-石延杰
+export const getRedEnvelopes = (params) => {
+  return fetchGet('/my/getRedEnvelopes', params)
+}
+
+// 我的会员卡名称列表 -石延杰
+export const getMyCardNames = (params) => {
+  return fetchGet('/my/getMyCardNames', params)
+}
+
+// 我的某张会员卡收支明细 -石延杰
+export const getMyCardDetailByCardId = (params) => {
+  return fetchGet('/my/getMyCardDetailByCardId', params)
+}
+
+// 分页查询拼团列表-石延杰
+export const getGroupItemList = (params) => {
+  return fetchGet('/my/getGroupItemList', params)
+}
+
+// 我的相关信息-石延杰
+export const getMyInfo = (params) => {
+  return fetchGet('/my/getMyInfo', params)
+}

+ 192 - 0
common/MD5.js

@@ -0,0 +1,192 @@
+function md5(string) {
+  var x = Array();
+  var k, AA, BB, CC, DD, a, b, c, d;
+  var S11 = 7, S12 = 12, S13 = 17, S14 = 22;
+  var S21 = 5, S22 = 9, S23 = 14, S24 = 20;
+  var S31 = 4, S32 = 11, S33 = 16, S34 = 23;
+  var S41 = 6, S42 = 10, S43 = 15, S44 = 21;
+  string = Utf8Encode(string);
+  x = ConvertToWordArray(string);
+  a = 0x67452301;
+  b = 0xEFCDAB89;
+  c = 0x98BADCFE;
+  d = 0x10325476;
+  for (k = 0; k < x.length; k += 16) {
+    AA = a;
+    BB = b;
+    CC = c;
+    DD = d;
+    a = FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);
+    d = FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);
+    c = FF(c, d, a, b, x[k + 2], S13, 0x242070DB);
+    b = FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);
+    a = FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);
+    d = FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);
+    c = FF(c, d, a, b, x[k + 6], S13, 0xA8304613);
+    b = FF(b, c, d, a, x[k + 7], S14, 0xFD469501);
+    a = FF(a, b, c, d, x[k + 8], S11, 0x698098D8);
+    d = FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);
+    c = FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
+    b = FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);
+    a = FF(a, b, c, d, x[k + 12], S11, 0x6B901122);
+    d = FF(d, a, b, c, x[k + 13], S12, 0xFD987193);
+    c = FF(c, d, a, b, x[k + 14], S13, 0xA679438E);
+    b = FF(b, c, d, a, x[k + 15], S14, 0x49B40821);
+    a = GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);
+    d = GG(d, a, b, c, x[k + 6], S22, 0xC040B340);
+    c = GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);
+    b = GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);
+    a = GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);
+    d = GG(d, a, b, c, x[k + 10], S22, 0x2441453);
+    c = GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);
+    b = GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);
+    a = GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);
+    d = GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);
+    c = GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);
+    b = GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);
+    a = GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);
+    d = GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);
+    c = GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);
+    b = GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);
+    a = HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);
+    d = HH(d, a, b, c, x[k + 8], S32, 0x8771F681);
+    c = HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);
+    b = HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);
+    a = HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);
+    d = HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);
+    c = HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);
+    b = HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);
+    a = HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);
+    d = HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);
+    c = HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);
+    b = HH(b, c, d, a, x[k + 6], S34, 0x4881D05);
+    a = HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);
+    d = HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);
+    c = HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);
+    b = HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);
+    a = II(a, b, c, d, x[k + 0], S41, 0xF4292244);
+    d = II(d, a, b, c, x[k + 7], S42, 0x432AFF97);
+    c = II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);
+    b = II(b, c, d, a, x[k + 5], S44, 0xFC93A039);
+    a = II(a, b, c, d, x[k + 12], S41, 0x655B59C3);
+    d = II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);
+    c = II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);
+    b = II(b, c, d, a, x[k + 1], S44, 0x85845DD1);
+    a = II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);
+    d = II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);
+    c = II(c, d, a, b, x[k + 6], S43, 0xA3014314);
+    b = II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);
+    a = II(a, b, c, d, x[k + 4], S41, 0xF7537E82);
+    d = II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);
+    c = II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);
+    b = II(b, c, d, a, x[k + 9], S44, 0xEB86D391);
+    a = AddUnsigned(a, AA);
+    b = AddUnsigned(b, BB);
+    c = AddUnsigned(c, CC);
+    d = AddUnsigned(d, DD);
+  }
+  var temp = WordToHex(a) + WordToHex(b) + WordToHex(c) + WordToHex(d);
+  return temp.toUpperCase();
+}
+function RotateLeft(lValue, iShiftBits) {
+  return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
+}
+function AddUnsigned(lX, lY) {
+  var lX4, lY4, lX8, lY8, lResult;
+  lX8 = (lX & 0x80000000);
+  lY8 = (lY & 0x80000000);
+  lX4 = (lX & 0x40000000);
+  lY4 = (lY & 0x40000000);
+  lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);
+  if (lX4 & lY4) {
+    return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
+  }
+  if (lX4 | lY4) {
+    if (lResult & 0x40000000) {
+      return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
+    } else {
+      return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
+    }
+  } else {
+    return (lResult ^ lX8 ^ lY8);
+  }
+}
+function F(x, y, z) {
+  return (x & y) | ((~x) & z);
+}
+function G(x, y, z) {
+  return (x & z) | (y & (~z));
+}
+function H(x, y, z) {
+  return (x ^ y ^ z);
+}
+function I(x, y, z) {
+  return (y ^ (x | (~z)));
+}
+function FF(a, b, c, d, x, s, ac) {
+  a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
+  return AddUnsigned(RotateLeft(a, s), b);
+}
+function GG(a, b, c, d, x, s, ac) {
+  a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
+  return AddUnsigned(RotateLeft(a, s), b);
+}
+function HH(a, b, c, d, x, s, ac) {
+  a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
+  return AddUnsigned(RotateLeft(a, s), b);
+}
+function II(a, b, c, d, x, s, ac) {
+  a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
+  return AddUnsigned(RotateLeft(a, s), b);
+}
+function ConvertToWordArray(string) {
+  var lWordCount;
+  var lMessageLength = string.length;
+  var lNumberOfWords_temp1 = lMessageLength + 8;
+  var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
+  var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
+  var lWordArray = Array(lNumberOfWords - 1);
+  var lBytePosition = 0;
+  var lByteCount = 0;
+  while (lByteCount < lMessageLength) {
+    lWordCount = (lByteCount - (lByteCount % 4)) / 4;
+    lBytePosition = (lByteCount % 4) * 8;
+    lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition));
+    lByteCount++;
+  }
+  lWordCount = (lByteCount - (lByteCount % 4)) / 4;
+  lBytePosition = (lByteCount % 4) * 8;
+  lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
+  lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
+  lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
+  return lWordArray;
+}
+function WordToHex(lValue) {
+  var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount;
+  for (lCount = 0; lCount <= 3; lCount++) {
+    lByte = (lValue >>> (lCount * 8)) & 255;
+    WordToHexValue_temp = "0" + lByte.toString(16);
+    WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
+  }
+  return WordToHexValue;
+}
+function Utf8Encode(string) {
+  var utftext = "";
+  for (var n = 0; n < string.length; n++) {
+    var c = string.charCodeAt(n);
+    if (c < 128) {
+      utftext += String.fromCharCode(c);
+    } else if ((c > 127) && (c < 2048)) {
+      utftext += String.fromCharCode((c >> 6) | 192);
+      utftext += String.fromCharCode((c & 63) | 128);
+    } else {
+      utftext += String.fromCharCode((c >> 12) | 224);
+      utftext += String.fromCharCode(((c >> 6) & 63) | 128);
+      utftext += String.fromCharCode((c & 63) | 128);
+    }
+  }
+  return utftext;
+}
+export default {
+  md5: md5
+}

+ 47 - 0
common/common.js

@@ -0,0 +1,47 @@
+
+const isUserId = function() {
+	var userId=uni.getStorageSync("logodata").uid;
+	//console.log("userId---"+userId)
+	if(!userId){
+		   uni.navigateTo({
+			  url:'../login/login'
+		   })
+	 }
+}
+/* const uid =function() {
+	var userId=uni.getStorageSync("logodata").uid;
+	return
+} */
+
+// 防止处理多次点击
+function noMultipleClicks(methods, info) {
+    // methods是点击后需要执行的函数, info是函数需要传的参数
+    let that = this;
+    if (that.noClick) {
+        // 第一次点击
+        that.noClick= false;
+        if((info && info !== '') || info ==0) {
+            // info是执行函数需要传的参数
+            methods(info);
+        } else {
+            methods();
+        }
+        setTimeout(()=> {
+            that.noClick= true;
+        }, 3000)
+    } else {
+        //  这里是重复点击的判断
+    }
+}
+
+export default {
+    commonData:{
+        companyType:1,
+    },
+    isUserId,
+	
+	noMultipleClicks,      // 禁止多次点击
+}
+
+
+

+ 144 - 0
common/http.js

@@ -0,0 +1,144 @@
+import store from './store/store'
+import { getHashQuery } from './utils'
+
+axios.defaults.timeout = config.timeout // 响应时间
+axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
+axios.defaults.baseURL = process.env.NODE_ENV === 'development' ? '/api' : config.baseURL // 配置接口地址
+// axios.defaults.baseURL = config.baseURL // 配置接口地址
+//
+axios.defaults.transformRequest = [function (data) {
+  return qs.stringify(data)
+}]
+// POST传参序列化(添加请求拦截器)
+axios.interceptors.request.use((conf) => {
+  if (location.href.indexOf('shareID') > -1) {
+    if (conf.method === 'post') {
+      // let data = qs.parse(conf.data)
+      conf.data = {
+        ...conf.data,
+        shareID: getHashQuery('shareID')
+      }
+    } else if (conf.method === 'get') {
+      conf.params = {
+        ...conf.params,
+        shareID: getHashQuery('shareID')
+      }
+    }
+  }
+  conf.params = {
+    ...conf.params,
+    _t: new Date().getTime()
+  }
+  if (store.state.user && store.state.user.code) {
+    conf.headers.code = store.state.user.code
+    if (conf.headers.noAuth) {
+      delete conf.headers.noAuth
+    }
+  } else {
+    if (process.env.NODE_ENV === 'development') {
+      conf.headers.code = '4E400B1990904F46B649D5F0C00A3F85'
+    } else if (conf.headers.noAuth) {
+      delete conf.headers.noAuth
+    } else {
+      location.href = config.authorizaURL + '?path=' + encodeURIComponent(location.hash.slice(2, location.hash.length)) // 跳授权页
+      return Promise.reject('no-code')
+    }
+  }
+  // if (['get', 'delete', 'GET', 'DELETE'].indexOf(conf.method) > -1) {
+  //   let ret={}
+  //   for (let it in conf.params) {
+  //     ret[it]= conf.params[it].replace(/\[/g,'%5B').replace(/\]/g,'%5D')
+  //   }
+  //   conf.params=ret
+  // }
+  return conf
+}, (error) => {
+  Vue.$vux.toast.show({
+    text: '参数校验失败',
+    type: 'warn',
+    position: 'middle'
+  })
+  return Promise.reject(error)
+})
+
+// 返回状态判断(添加响应拦截器)
+axios.interceptors.response.use((res) => {
+  // console.log(res.config.url.indexOf('/pay/getGroupItemSheet')=== -1)
+  // 对响应数据做些事
+  if (res.data.code === 0) {
+    return Promise.resolve(res.data)
+  } else {
+    // console.log(res)
+    let times = 10
+    if (res.config.url.indexOf('/pay/getGroupItemSheet') === -1 && times > 0) {
+      Vue.$vux.toast.show({
+        text: res.data.msg || '服务器错误',
+        type: 'warn',
+        position: 'middle'
+      })
+      return Promise.reject(res)
+      times--
+    }
+  }
+}, (error) => {
+  console.log(error)
+  if (error !== 'no-code') {
+    Vue.$vux.toast.show({
+      text: '服务器错误',
+      type: 'warn',
+      position: 'middle'
+    })
+  }
+  return Promise.reject(error)
+})
+
+export function fetchPost (url, params, options = {}) {
+  return new Promise((resolve, reject) => {
+    axios.post(url, params, options)
+      .then(response => {
+        resolve(response)
+      }, err => {
+        reject(err)
+      })
+      .catch((error) => {
+        reject(error)
+      })
+  })
+}
+
+export function upLoadPost (url, params) {
+  return new Promise((resolve, reject) => {
+    axios.post(url, params, {
+      headers: {
+        'Content-Type': 'multipart/form-data'
+      }
+    })
+      .then(response => {
+        resolve(response)
+      }, err => {
+        reject(err)
+      })
+      .catch((error) => {
+        reject(error)
+      })
+  })
+}
+
+export function fetchGet (url, param, options) {
+  return new Promise((resolve, reject) => {
+    axios.get(url, { params: param, ...options })
+      .then(response => {
+        resolve(response)
+      }, err => {
+        reject(err)
+      })
+      .catch((error) => {
+        reject(error)
+      })
+  })
+}
+
+export default {
+  fetchPost,
+  fetchGet
+}

+ 204 - 0
common/request.js

@@ -0,0 +1,204 @@
+ const baseURL = 'https://api.dms.66km.com/'
+//const baseURL='http://wx.32che.cn/'
+//const baseURL='http://58.56.15.138:20189/'
+
+  // baseURL: 'http://192.168.0.140:20187',
+//authorizaURL: 'https://api.dms.66km.com/weixin/authorize',
+//const authorizaURL='http://wx.32che.cn/weixin/authorize'
+  //authorizaURL: 'http://58.56.15.138:20187/weixin/authorizeSimulation',
+  // authorizaURL: 'http://192.168.0.140:20187/weixin/authorizeSimulation',
+//const code='B527DBDDC89D4A29902D1C7CE34814FB'
+
+//const webURL='http://192.168.0.215:9588/#/'
+//const webURL='http://dms.32che.cn/#/'
+const webURL='https://minh5.66km.com/#/'
+
+
+
+import md5 from './MD5.js'
+
+
+const fetchPost = (url = '', params = {}, header = {
+}) => {
+    return new Promise((resolve, reject) => {
+		header['Content-Type']='application/x-www-form-urlencoded';
+		header['code'] = code
+		params = {
+		  ...params,
+		  _t: new Date().getTime()
+		}
+        uni.request({
+            method: 'POST',
+            url: baseURL + url,
+            data: params,
+            header: header,
+            dataType: 'json',         
+        }).then((response) => {
+           setTimeout(function() {
+                uni.hideLoading();
+            }, 200); 
+			  let [error, res] = response;
+			if(res.data.code==403){
+				uni.showToast({
+				     title: res.data.msg,
+				 	 icon:'none',
+				     duration: 3000,
+				 });
+				 uni.clearStorageSync()
+				 uni.navigateTo({
+					url:'../login/login'
+				}) 
+			}else if(res.data.code==409){
+				 // getToken(url,date,type,header)
+			}
+          		
+            resolve(res.data);
+        }).catch(error => {
+            let [err, res] = error;
+            reject(err)
+        }) 
+    });
+}
+const fetchGet = (url = '', params = {}, header = {
+}) => {
+    return new Promise((resolve, reject) => {
+		header['Content-Type']='application/x-www-form-urlencoded';
+		header['code'] = code
+		params = {
+		  ...params,
+		  _t: new Date().getTime()
+		}
+        uni.request({
+            method: 'GET',
+            url: baseURL + url,
+            data: params,
+            header: header,
+            dataType: 'json',         
+        }).then((response) => {
+           setTimeout(function() {
+                uni.hideLoading();
+            }, 200); 
+			let [error, res] = response;
+            resolve(res.data);
+        }).catch(error => {
+            let [err, res] = error;
+            reject(err)
+        }) 
+    });
+}
+ 
+
+const http = (url = '', date = {}, type = 'POST', header = {
+}) => {
+    return new Promise((resolve, reject) => {
+		header={};
+		const wxOpendata = uni.getStorageSync("wxOpendata");
+		if(wxOpendata){
+			header['code']=wxOpendata.code;
+			
+		}else{
+			header['code']='';
+			
+		}
+		
+		//header['token']='98A9FED8814B457288166BDF623F33D1';
+		//header['uid']='795957B6-8F4B-4E7F-96FE-1F26E5BA21A1'; 
+		header['Content-Type']='application/x-www-form-urlencoded';
+		console.log(baseURL + url)
+        uni.request({
+            method: type,
+            url: baseURL + url,
+            data: date,
+            header: header,
+            dataType: 'json',         
+        }).then((response) => {
+           /* setTimeout(function() {
+                uni.hideLoading();
+            }, 200); */
+            let [error, res] = response;
+		 
+			if(res.data.code==401||res.data.code==403){
+				 uni.showToast({
+				     title: res.data.msg,
+				 	 icon:'none',
+				     duration: 3000,
+				 });
+				 uni.clearStorageSync()
+				 /* uni.navigateTo({
+					url:'../login/login'
+				}) */
+			}else if(res.data.code==409){
+				 // getToken(url,date,type,header)
+			}
+            resolve(res.data);
+        }).catch(error => {
+            let [err, res] = error;
+            reject(err)
+        }) 
+    });
+}
+
+
+function getToken(url,date,type,header){
+	var header={};
+    //var userId=uni.getStorageSync("devData").userId;
+	//var devData=uni.getStorageSync("devData")
+	header['Content-Type']='application/x-www-form-urlencoded';
+	uni.request({
+	    method: "POST",
+	    url: baseURL + '/sys/getTokenByUserID',
+	    data: {
+			userId:userId
+		},
+	    header: header,
+	    dataType: 'json',         
+	}).then((response) => {
+	    let [error, res] = response;
+		var accessToken=res.data.data.accessToken.accessToken;
+		devData.accessToken=accessToken;
+		uni.setStorage({
+			   key: 'devData',
+			   data:devData,
+			   success: function () {
+				   refresh(url,date,type,header) //刷新接口
+			   }
+		 });
+		  // console.log(accessToken)
+	}).catch(error => {
+	   
+	}) 
+}
+
+function refresh(url,date,type,header){
+	uni.request({
+	    method: type,
+	    url: baseURL + url,
+	    data: date,
+	    header: header,
+	    dataType: 'json',         
+	}).then((response) => {
+	   setTimeout(function() {
+	        uni.hideLoading();
+	    }, 200); 
+	    let [error, res] = response;
+	  
+		if(res.data.code==403){
+			uni.showToast({
+			     title: res.data.msg,
+			 	 icon:'none',
+			     duration: 3000,
+			 });
+			 uni.navigateTo({
+				url:'../login/login'
+			}) 
+		}
+	    resolve(res.data);
+	}).catch(error => {
+	    let [err, res] = error;
+	    reject(err)
+	})
+}
+
+export default {
+	http,baseURL,fetchGet,fetchPost,webURL
+}

+ 20 - 0
index.html

@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title></title>
+    <!--preload-links-->
+    <!--app-context-->
+  </head>
+  <body>
+    <div id="app"><!--app-html--></div>
+    <script type="module" src="/main.js"></script>
+  </body>
+</html>

+ 30 - 0
main.js

@@ -0,0 +1,30 @@
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+Vue.config.productionTip = false
+
+import request from 'common/request.js'
+import common from 'common/common.js'
+Vue.prototype.$http = request.http
+Vue.prototype.$request =request
+Vue.prototype.$webURL = request.webURL
+App.mpType = 'app'
+const app = new Vue({
+    ...App
+})
+app.$mount()
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+export function createApp() {
+  const app = createSSRApp(App)
+  return {
+    app
+  }
+}
+// #endif
+
+// 防止多次点击
+Vue.prototype.$noMultipleClicks = common.noMultipleClicks;

+ 82 - 0
manifest.json

@@ -0,0 +1,82 @@
+{
+    "name" : "66applet",
+    "appid" : "__UNI__F009444",
+    "description" : "",
+    "versionName" : "1.0.0",
+    "versionCode" : "100",
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        "safearea" : {
+            "bottom" : {
+                "offset" : "none"
+            }
+        },
+        /* 模块配置 */
+        "modules" : {},
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ]
+            },
+            /* ios打包配置 */
+            "ios" : {},
+            /* SDK配置 */
+            "sdkConfigs" : {}
+        }
+    },
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "wx89476d27c81a7a13",
+        "setting" : {
+            "urlCheck" : false
+        },
+        "usingComponents" : true,
+        "permission" : {
+            "scope.userLocation" : {
+                "desc" : "获取地址"
+            }
+        }
+    },
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "2"
+}

+ 103 - 0
pages.json

@@ -0,0 +1,103 @@
+{
+	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+		
+		{
+			"path": "pages/index/index",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/login/empower",
+			"style": {
+				"navigationBarTitleText": "授权登录"
+			}
+		},
+		{
+			"path": "pages/index/signOut",
+			"style": {
+				"navigationBarTitleText": "退出登录"
+			}
+		},
+		{
+			"path": "pages/index/map",
+			"style": {
+				"navigationBarTitleText": "导航"
+			}
+		},
+		{
+			"path": "pages/index/home",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/user/scanCode",
+			"style": {
+				"navigationBarTitleText": "扫码"
+			}
+		},
+		{
+			"path": "pages/pay/pay",
+			"style": {
+				"navigationBarTitleText": "微信支付"
+			}
+		},
+		
+		
+		
+		{
+			"path": "pages/login/login",
+			"style": {
+				"navigationBarTitleText": "登录"
+			}
+		},
+		
+		{
+			"path": "pages/login/iphoneLogin",
+			"style": {
+				"navigationBarTitleText": "手机号登录"
+			}
+		},
+		
+		
+		{
+			"path": "pages/home/home",
+			"style": {
+				"navigationBarTitleText": "首页"
+			}
+		},
+		{
+			"path": "pages/user/user",
+			"style": {
+				"navigationBarTitleText": "我的"
+			}
+		}
+	],
+	/* "tabBar": {
+		"color": "#8a8a8a",
+		"selectedColor": "#FF4F00",
+		"borderStyle": "black",
+		"backgroundColor": "#ffffff",
+		"list": [{
+				"pagePath": "pages/index/index",
+				"iconPath": "static/img/index1.png",
+				"selectedIconPath": "static/img/index2.png",
+				"text": "首页"
+			},
+			{
+				"pagePath": "pages/user/user",
+				"iconPath": "static/img/me1.png",
+				"selectedIconPath": "static/img/me2.png",
+				"text": "我的"
+			}
+	
+		]
+	}, */
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	}
+}

+ 215 - 0
pages/home/home.vue

@@ -0,0 +1,215 @@
+<template>
+	<view class="content">
+		
+	</view>
+</template>
+
+<script>
+	import {
+	  initGet,
+	  getFeatureItemList,
+	  isHaveExperienceCard,
+	  followOrderManager,
+	  setRedPageNum,
+	  getMarketingShopInfo
+	} from '../../api/home'
+	export default {
+		data() {
+			return {
+				url: 'http://192.168.0.215:9588',
+				
+				followSize: '',
+				servicesSize: '',
+				sweepCodebth: false,
+				redData: {},
+				experienceCard:'',
+				redEnvelopes: false,
+				marketingShopInfo: {},
+				snapUpItem: {},
+				featureItemlists: [],
+				vipCardList: [],
+				hotItemlist: [],
+				newItemlist: [],
+				voucherList: [],
+				orderManagerList: [],
+				scoreList: [],
+				groupItem: {},
+				demo01_index: 1,
+				yishouXianliang: 0,
+				show: false,
+				loadings: false,
+				title: '恭喜',
+				text: '加载中',
+				memberItemList: [],
+				demo01_list: [],
+				openTeSe: true,
+				needdata: '',
+				options: {
+				  orderTime: ''
+				},
+				items: [
+				  { key: '资质认证' },
+				  { key: '优质商家' },
+				  { key: '品质保证' },
+				  { key: '品质保障' }
+				
+				],
+				percent1: 0,
+				// 门店信息
+				marketingInfo: {},
+				popupSHow:false,
+				defaultImg: require("../../static/homeImg/pic_def.png"),
+				defaultImg2: require("../../static/homeImg/pic_def2.png")
+			}
+		},
+		onLoad() {
+			var that=this;
+			var params={ lat:'',lng:'',}
+			uni.getLocation({
+				type: 'wgs84',
+				geocode:true,//设置该参数为true可直接获取经纬度及城市信息
+				success: function (res) {
+					console.log(res)
+					params.lat=res.latitude
+					params.lng=res.longitude
+					that.init(params)
+				},
+				fail: function () {
+					
+					params.lat=res.latitude
+					params.lng=res.longitude
+					that.init(params)
+				}
+			});
+			//console.log(this.$request.fetchGet)
+			/* this.$request.fetchGet('home/getFeatureItemList', {
+				
+				
+			}).then(res => {
+				
+			})
+            getFeatureItemList().then(res => {
+				  
+			}) */
+		},
+		methods: {
+           init (params) {
+              //alert(params.shopId)
+           
+             this.loadings = true
+           
+             initGet(params).then(res => {
+           
+               this.loadings = false
+               this.needdata = res.data;
+                //return false
+               this.experienceCard = res.data.experienceCard
+           
+                // 头部部分 门店信息
+                this.marketingShopInfo = res.data.marketingShopInfo
+               // 轮播图
+               this.demo01_list = []
+               if (this.marketingShopInfo.shopPhotos) {
+                 this.marketingShopInfo.shopPhotos.forEach(item => {
+                   this.demo01_list.push({
+                     url: 'javascript:',
+                     img: item.photoPath
+                   })
+                 })
+               }
+               if(this.marketingShopInfo.shopPhotos.length==0){
+                 this.demo01_list.push({
+                   url: 'javascript:',
+                   img: 'http://phone.66km.cn:8088/thFiles/1175E99A-BB94-43CC-8B00-7E3ECA8EB355.png'
+                 })
+               }
+               /* this.demo01_list.push({
+                 url: 'javascript:',
+                 img: 'http://phone.66km.cn:8088/marketing/8EF7F827-91E3-4A51-8244-21DA15FDA34E.jpeg'
+               }) */
+           
+               // 限量抢购(1个)
+               if (res.data.snapUpItem) {
+                 this.snapUpItem = res.data.snapUpItem
+                 // 已售的 百分数
+                 if(this.snapUpItem.buyCount<0){
+                   this.snapUpItem.buyCount=-this.snapUpItem.buyCount
+                 }
+                 this.yishouXianliang = ((this.snapUpItem.buyCount / this.snapUpItem.count).toFixed(2)) * 100
+                 this.percent1 = ((this.snapUpItem.buyCount / this.snapUpItem.count).toFixed(2)) * 100 || 0
+               }
+           
+               // 特色项目列表
+               if (res.data.featureItemlist && res.data.featureItemlist.length) {
+                 this.featureItemlists = res.data.featureItemlist
+               }
+           
+               // vip 会员卡
+               if (res.data.vipCardList && res.data.vipCardList.length) {
+                 this.vipCardList = res.data.vipCardList
+               }
+           
+               // 热门项目
+               if (res.data.hotItemlist && res.data.hotItemlist.length) {
+                 this.hotItemlist = res.data.hotItemlist
+               }
+               // 最新项目
+               if (res.data.newItemlist && res.data.newItemlist.length) {
+                 this.newItemlist = res.data.newItemlist
+               }
+               // 领取优惠
+               if (res.data.voucherList && res.data.voucherList.length) {
+                 this.voucherList = res.data.voucherList
+                 this.voucherList.forEach(item => {
+                   this.$set(item, 'nowlingqu', '立即领取')
+                 })
+               }
+               // 拼团活动
+               if (res.data.groupItem) {
+                 this.groupItem = res.data.groupItem
+               }
+               // 顾客评价
+               if (res.data.scoreList && res.data.scoreList.length) {
+                 this.scoreList = res.data.scoreList
+               }
+           
+               if (res.data.orderManagerList && res.data.orderManagerList.length) {
+                 this.orderManagerList = res.data.orderManagerList
+               }
+               this.followSize = res.data.followSize
+               this.servicesSize = res.data.servicesSize
+               // 会员专区
+               if (res.data.memberItemList && res.data.memberItemList.length) {
+                 this.memberItemList = res.data.memberItemList
+               }
+           
+               if (res.data.noHaveRedEnvelopesFlag === '1') {
+                 this.redEnvelopes = true
+                 let json = {
+                   redEnvelopesId: res.data.redEnvelopesId
+                 }
+                 // this.redData = {
+                 //   redEnvelopesId: '0C6BD78E-AE07-4D4C-96FF-69A3986980F2'
+                 // }
+                 setRedPageNum(json).then(res => {
+                   if (!res.code) {
+                     this.redData = res.data
+                   }
+                   // console.log(this.redData )
+                 }).catch(err => {
+                   console.log(err)
+                 })
+               }
+               // this.$refs.viewBox.scrollTo(this.$store.state.user.SetScrollTop)
+             }).catch(err => {
+               this.loadings = false
+               console.log(err)
+             })
+           },
+		}
+	}
+</script>
+
+<style>
+	
+</style>

+ 122 - 0
pages/index/home.vue

@@ -0,0 +1,122 @@
+<template>
+	<view class="content">
+		<view class="box">
+			<web-view :src="url" @message="message"></web-view> 
+		</view>
+		<!-- <view>12zf</view> -->
+		 
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				url: '',
+				
+				wxOpendata:'',
+				id:'',
+			}
+		},
+		onLoad(opt) {
+			var that=this;
+			this.wxOpendata=uni.getStorageSync("wxOpendata");
+			uni.getLocation({
+			    type: 'wgs84',
+			    success: function (res) {
+			       if(opt.id){
+			       	that.url=that.$webURL+'paySuccess?orderId='+opt.id+'&hideHeader=true&codeapp='+that.wxOpendata.code+'&lat='+res.latitude+'&lng='+res.longitude
+			       }else{
+			       	if(!that.wxOpendata.shopID){
+			       		uni.navigateTo({
+			       			url:'../login/empower'
+			       		})
+			       	}
+			       	if(that.wxOpendata.code){
+			       		//this.url='http://dms.32che.cn/#/carOwner/index?codeapp='+this.wxOpendata.code+ '&shopId='+this.wxOpendata.shopID
+			       		that.url=that.$webURL+'?codeapp='+that.wxOpendata.code+ '&shopId='+that.wxOpendata.shopID+'&lat='+res.latitude+'&lng='+res.longitude
+			       	}
+			       }
+					
+			    },
+				fail(err) {
+					if(opt.id){
+						that.url=that.$webURL+'paySuccess?orderId='+opt.id+'&hideHeader=true&codeapp='+that.wxOpendata.code+'&lat=""&lng=""'
+					}else{
+						if(!that.wxOpendata.shopID){
+							uni.navigateTo({
+								url:'../login/empower'
+							})
+						}
+						if(that.wxOpendata.code){
+							//this.url='http://dms.32che.cn/#/carOwner/index?codeapp='+this.wxOpendata.code+ '&shopId='+this.wxOpendata.shopID
+							that.url=that.$webURL+'?codeapp='+that.wxOpendata.code+ '&shopId='+that.wxOpendata.shopID+'&lat=""&lng=""'
+						}
+					}
+				}
+			});
+			
+			/* if(opt.id){
+				this.url=this.$webURL+'paySuccess?orderId='+opt.id+'&hideHeader=true&codeapp='+this.wxOpendata.code
+			}else{
+				if(!this.wxOpendata.shopID){
+					uni.navigateTo({
+						url:'../login/empower'
+					})
+				}
+				if(this.wxOpendata.code){
+					//this.url='http://dms.32che.cn/#/carOwner/index?codeapp='+this.wxOpendata.code+ '&shopId='+this.wxOpendata.shopID
+					this.url=this.$webURL+'?codeapp='+this.wxOpendata.code+ '&shopId='+this.wxOpendata.shopID
+				}
+			} */
+			
+			/* if(opt.shopId){
+				this.url2='http://wx.32che.cn/weixin/authorize?path=/carOwner/index&isCarOwner=true&shopId='+opt.shopId
+			} */
+           
+		   
+		
+		   
+		},
+		
+		
+		methods: {
+            message(event){
+                console.log(event);
+            }
+		}
+	}
+</script>
+
+<style>
+	.content {
+		/* display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center; */
+		
+	}
+	.box{
+		padding-bottom: env(safe-area-inset-bottom);
+		
+	}
+
+	.logo {
+		height: 200rpx;
+		width: 200rpx;
+		margin-top: 200rpx;
+		margin-left: auto;
+		margin-right: auto;
+		margin-bottom: 50rpx;
+	}
+
+	.text-area {
+		display: flex;
+		justify-content: center;
+	}
+
+	.title {
+		font-size: 36rpx;
+		color: #8f8f94;
+	}
+</style>

+ 122 - 0
pages/index/index.vue

@@ -0,0 +1,122 @@
+<template>
+	<view class="content">
+		<view class="box">
+			<web-view :src="url" @message="message"></web-view> 
+		</view>
+		<!-- <view>12zf</view> -->
+		 
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				url: '',
+				
+				wxOpendata:'',
+				logindata:'',
+				id:'',
+			}
+		},
+		onLoad(opt) {
+			var that=this;
+			this.wxOpendata=uni.getStorageSync("wxOpendata");
+			this.logindata=uni.getStorageSync("logindata")
+			uni.getLocation({
+			    type: 'gcj02',
+			    success: function (res) {
+			        console.log('当前位置的经度:' + res.longitude);
+			        console.log('当前位置的纬度:' + res.latitude);
+					if(opt.id){
+						that.url=that.$webURL+'paySuccess?orderId='+opt.id+'&hideHeader=true&codeapp='+that.wxOpendata.code+'&lat='+res.latitude+'&lng='+res.longitude
+					}else{
+						/* if(!that.wxOpendata.shopID||!that.logindata){
+							uni.navigateTo({
+								url:'../login/empower'
+							})
+						} */
+						
+						if(that.wxOpendata.code){
+							//this.url='http://dms.32che.cn/#/carOwner/index?codeapp='+this.wxOpendata.code+ '&shopId='+this.wxOpendata.shopID
+							that.url=that.$webURL+'carOwner/index?codeapp='+that.wxOpendata.code+ '&shopId='+that.wxOpendata.shopID+'&lat='+res.latitude+'&lng='+res.longitude
+						}else{
+							that.url=that.$webURL+'carOwner/index?codeapp=&shopId=&lat='+res.latitude+'&lng='+res.longitude
+						}
+					}
+			    },
+				fail(err) {
+					console.log(err)
+				    if(opt.id){
+				    	that.url=that.$webURL+'paySuccess?orderId='+opt.id+'&hideHeader=true&codeapp='+that.wxOpendata.code+'&lat=""&lng=""'
+				    }else{
+				    	if(!that.wxOpendata.shopID){
+				    		uni.navigateTo({
+				    			url:'../login/empower'
+				    		})
+				    	}
+				    	if(that.wxOpendata.code){
+				    		//this.url='http://dms.32che.cn/#/carOwner/index?codeapp='+this.wxOpendata.code+ '&shopId='+this.wxOpendata.shopID
+				    		that.url=that.$webURL+'carOwner/index?codeapp='+that.wxOpendata.code+ '&shopId='+that.wxOpendata.shopID+'&lat=""&lng=""'
+				    	}
+				    }
+				}
+			});
+			
+			console.log(opt)
+			//opt.id='3A9DBC40-D5D4-43A6-8ACA-5CF909771512'
+			
+			
+			/* if(opt.shopId){
+				this.url2='http://wx.32che.cn/weixin/authorize?path=/carOwner/index&isCarOwner=true&shopId='+opt.shopId
+			} */
+           //http://192.168.0.215:9588/#/carOwner/index?codeapp=D8E849B9EE0D4A07812BB0186E77B993&lat=36.68013&lng=117.06533
+		   
+		
+		   
+		},
+		
+		
+		methods: {
+			goUrl(){
+				
+			},
+            message(event){
+                console.log(event);
+            }
+		}
+	}
+</script>
+
+<style>
+	.content {
+		/* display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center; */
+		
+	}
+	.box{
+		padding-bottom: env(safe-area-inset-bottom);
+		
+	}
+
+	.logo {
+		height: 200rpx;
+		width: 200rpx;
+		margin-top: 200rpx;
+		margin-left: auto;
+		margin-right: auto;
+		margin-bottom: 50rpx;
+	}
+
+	.text-area {
+		display: flex;
+		justify-content: center;
+	}
+
+	.title {
+		font-size: 36rpx;
+		color: #8f8f94;
+	}
+</style>

+ 92 - 0
pages/index/map.vue

@@ -0,0 +1,92 @@
+<template>
+	<view class="content">
+		<!-- <view class="box">
+			   <map style="width: 100%; height: 100vh;"
+				scale="14"  show-location="true"
+				:latitude="latitude" :longitude="longitude" :markers="covers">
+		      </map> 
+		</view> -->
+		
+		 <view id="firstScreenPage">
+		 	<view class="loader-inner ball-beat">
+		 	
+		 	   <view></view> <view></view> <view></view>
+		 	
+		 	</view>
+		 
+		 </view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				covers: [{
+				        latitude:'',
+				        longitude: '',
+						
+						title:'',
+					   
+				 }],
+				 longitude:'',
+				 latitude:'',
+			}
+		},
+		onLoad(opt) {
+			 //uni.showLoading({ title: '加载中'});
+			var that=this;
+			this.latitude=opt.lat
+		    this.longitude=opt.lng
+		    this.covers[0].latitude=opt.lat
+		    this.covers[0].longitude=opt.lng
+			this.covers[0].title=opt.content
+			console.log(this.covers[0])
+			 uni.openLocation({
+				latitude:Number( this.latitude),
+				longitude: Number(this.longitude),
+				name: this.covers[0].title,
+				//address: that.shopdata.address,
+				success: function() {
+					console.log('success');
+				},
+				fail(err) {
+					console.log(err)
+				},
+				complete(){
+					uni.navigateBack({
+						delta:1
+					})
+				}
+			}); 
+		},
+		
+		
+		methods: {
+            
+		}
+	}
+</script>
+
+<style>
+	.content {
+		/* display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center; */
+		
+	}
+	.box{
+	
+		
+	}
+#firstScreenPage { top:50%; left:50%; position: absolute; -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); z-index:100; }
+	
+	@-webkit-keyframes ball-beat { 50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } }
+	
+	@keyframes ball-beat { 50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } }
+	
+	.ball-beat > view { background-color: #279fcf; width: 15px; height: 15px; border-radius: 100% !important; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; display: inline-block; -webkit-animation: ball-beat 0.7s 0s infinite linear; animation: ball-beat 0.7s 0s infinite linear; }
+	
+	.ball-beat > view:nth-child(2n-1) { -webkit-animation-delay: 0.35s !important; animation-delay: 0.35s !important; }
+</style>

+ 63 - 0
pages/index/signOut.vue

@@ -0,0 +1,63 @@
+<template>
+	<view class="content">
+		<!-- <view class="box">
+			   <map style="width: 100%; height: 100vh;"
+				scale="14"  show-location="true"
+				:latitude="latitude" :longitude="longitude" :markers="covers">
+		      </map> 
+		</view> -->
+		
+		 <view id="firstScreenPage">
+		 	<view class="loader-inner ball-beat">
+		 	
+		 	   <view></view> <view></view> <view></view>
+		 	
+		 	</view>
+		 
+		 </view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		onLoad(opt) {
+			  uni.clearStorageSync();
+			  uni.navigateTo({
+			  	url:'../login/empower'
+			  })
+		},
+		
+		
+		methods: {
+            
+		}
+	}
+</script>
+
+<style>
+	.content {
+		/* display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center; */
+		
+	}
+	.box{
+	
+		
+	}
+#firstScreenPage { top:50%; left:50%; position: absolute; -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); z-index:100; }
+	
+	@-webkit-keyframes ball-beat { 50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } }
+	
+	@keyframes ball-beat { 50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } }
+	
+	.ball-beat > view { background-color: #279fcf; width: 15px; height: 15px; border-radius: 100% !important; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; display: inline-block; -webkit-animation: ball-beat 0.7s 0s infinite linear; animation: ball-beat 0.7s 0s infinite linear; }
+	
+	.ball-beat > view:nth-child(2n-1) { -webkit-animation-delay: 0.35s !important; animation-delay: 0.35s !important; }
+</style>

+ 230 - 0
pages/login/empower.vue

@@ -0,0 +1,230 @@
+<template>
+	<view class="container" >
+	<view ><!-- vsv-if="!wxOpendata&&isload" -->
+		<view class="logoBox">
+			<image src="../../static/img/euro.png" mode="" class="euroImg"></image>
+		</view>
+		<view class="title1">请完成微信授权以继续使用</view>
+		<button class="wxlogin"  @click="wxgologin">授权微信用户信息</button>
+		<view class="title2" @click="goIndex">取消授权</view>
+	</view>
+	
+   </view>
+
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			
+			wxdata:'',
+			wxCode:'',
+			openID:'',
+			session_key:'',
+			wxPhoneData:'',
+			type:'',
+			wxOpendata:'',
+			isload:false,
+			shopID:'',
+		}
+	},
+	onLoad(opt) {
+      this.type=opt.type;
+	  this.wxOpendata=uni.getStorageSync("wxOpendata");
+	  if(opt.shopId){
+		  this.shopID=opt.shopId
+	  }
+	  if( this.wxOpendata){
+		  uni.switchTab({
+		  	url:'../index/index'
+		  })
+	  }else{
+		  this.isload=true;
+	  }
+	},
+	methods: {
+		goIndex(){
+			uni.switchTab({
+				url:'../index/index'
+			}) 
+		},
+		 getPhoneNumber: function(e) {
+		                console.log(e);
+			this.wxPhoneData=e.detail;
+			this.gologin()
+		     //this.wxgologin()         
+		 },
+        privacyClick(){
+			this.privacyCk=!this.privacyCk
+		},
+		iphoneLogin(){
+			uni.navigateTo({
+				url:'iphoneLogin'
+			})
+		},
+		wxgologin(){
+			var that=this;
+			uni.getUserProfile({
+				lang:'zh_CN',
+				desc:'登录',
+				success:(res)=>{
+					console.log(res);
+					that.wxdata=res;
+					 uni.setStorage({
+						key: 'wxdata',
+						data: res,
+						success: function () {
+						    that.ipLogin()
+						 
+						}
+					}); 
+				},
+				fail:(res)=>{
+					console.log(res)
+				}
+			});
+		},
+		ipLogin(){
+			var that=this;
+			 uni.showLoading({ title: '加载中'});
+			 uni.login({
+			   provider: 'weixin',
+			   success: function (loginRes) {
+			     console.log(loginRes)
+				that.wxCode=loginRes.code
+				that.getWxOpenID()
+					//that.gologin()
+				 
+			   
+			   }
+			 });
+			
+		},
+		gologin(){
+			/* if(this.wxPhoneData&&this.wxCode){
+				this.getWxOpenID()
+			} */
+		},
+		getWxOpenID(){
+		
+			var that=this;
+			 this.$http('km66MiniApp/sys/getWxOpenID', {
+			   code:this.wxCode,
+			   shopID:this.shopID,
+			   nickName:this.wxdata.userInfo.nickName,
+			   headUrl:this.wxdata.userInfo.avatarUrl,
+			 },'GET').then(res => {
+				console.log(res)
+				this.openID=res.data.openid;
+				this.session_key=res.data.session_key;
+				this.shopID=res.data.shopID
+				console.log(this.openID)
+				uni.setStorage({
+					key: 'wxOpendata',
+					data: res.data,
+					success: function (rrr) {
+					   // that.ipLogin()
+					   uni.hideLoading();
+					   if(that.shopID){
+						   uni.redirectTo({
+						    	url:'login?shopId='+that.shopID
+						    })
+					   }else{
+						   uni.navigateTo({
+						   	url:'../user/scanCode'
+						   })
+					   }
+					   
+					  /* if(!that.type){
+						  uni.switchTab({
+						  	url:'../index/index'
+						  }) 
+					  }else{
+						  uni.redirectTo({
+						  	url:'login'
+						  }) 
+					  } */
+					}
+				}); 
+				//this.Login()
+			})
+		},
+		Login(){
+			var that=this;
+			this.$http('miniApp/sys/wxLogin', {
+			   openID:this.openID,
+			   encrypData:this.wxPhoneData.encryptedData,
+			   iv:this.wxPhoneData.iv,
+			   sessionKey:this.session_key,
+			   nickName:this.wxdata.userInfo.nickName,
+			   headUrl:this.wxdata.userInfo.avatarUrl,
+			 },).then(res => {
+				//console.log(res)
+				uni.hideLoading();
+				if(res.code==0){
+					uni.setStorage({
+						key: 'logodata',
+						data: res.data,
+						success: function () {
+						 
+						}
+					}); 
+					uni.showToast({
+					     title: '登录成功',
+					 	 icon:'none',
+					     duration: 3000
+					 });
+					 uni.switchTab({
+						 url:'../index/index'
+					 }) 
+				}else{
+					uni.showToast({
+					     title: res.msg,
+					 	 icon:'none',
+					     duration: 3000
+					 });
+				}
+				
+			})
+		}
+	}
+}
+</script>
+
+<style scoped>
+ .euroImg{
+	 width: 290rpx;
+	 height: 361rpx;
+ }
+ .logoBox{
+	 text-align: center;
+	 padding-top: 160rpx;
+ }
+ .title1{
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+	 padding-top: 150rpx;
+ }
+ .wxlogin{
+	 width: 658rpx;
+	 height: 88rpx;
+	 background: linear-gradient(113deg, #FF630F 0%, #FF450F 100%);
+	 border-radius: 10rpx;
+	 line-height: 88rpx;
+	 text-align: center;
+	 color: #FFFFFF;
+	 font-size: 30rpx;
+	 margin-top: 20rpx;
+ }
+ .title2{
+	 width: 100vw;
+	 position: fixed;
+	 left: 0;
+	 bottom: 50rpx;
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+ }
+</style>

+ 357 - 0
pages/login/iphoneLogin.vue

@@ -0,0 +1,357 @@
+<template>
+	<view class="container">
+		<view class="tis">登录后更精彩</view>
+		<view class="cont">
+			<input type="number" value="" v-model="phone" placeholder-style="color:#999999" placeholder="请输入手机号码" class="phoneInput" @input="input()" />
+
+			<view class="yzmBox">
+				<input type="number" value="" v-model="code" placeholder-style="color:#999999" placeholder="请输入验证码" class="yzmInput"
+					@input="yzminput()" />
+				<view @click="sendSms" class="yzmBtn" :class="{green:isgreen}">{{yzmTxt}}</view>
+			</view>
+
+			<view class="loginBtn" :class="{okBtn:show}" @click="gologin">验证并登录</view>
+			<view class="privacy" @click="privacyClick">
+				<image src="../../static/img/login_icon_checked.png" mode="" class="imgPrivacy" v-show="privacyCk">
+				</image>
+				<view class="nock" v-show="!privacyCk"></view>
+				<span>同意</span> <span class="span1" @click.stop="goTreaty">《服务协议》</span>
+				<span>与</span> <span class="span1" @click.stop="goIntimity">《隐私政策》 </span>
+			</view>
+		</view>
+	</view>
+
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				privacyCk: true,
+				phone: '',
+				isYzm: true,
+				yzmTxt: '获取验证码',
+				isgreen: false,
+				timer: null,
+				show: false,
+				cont: '',
+				code: '',
+				wxdata: '',
+				wxCode: '',
+				openID: '',
+				wxOpendata: '',
+			}
+		},
+		onLoad() {
+
+			this.wxOpendata = uni.getStorageSync("wxOpendata");
+		},
+		methods: {
+
+			goTreaty() {
+				uni.navigateTo({
+					url: '../me/treaty'
+				})
+			},
+			goIntimity() {
+				uni.navigateTo({
+					url: '../me/intimity'
+				})
+			},
+
+			getWxdata() {
+				var that = this;
+				uni.getUserProfile({
+					lang: 'zh_CN',
+					desc: '登录',
+					success: (res) => {
+						console.log(res);
+						that.wxdata = res;
+						uni.setStorage({
+							key: 'wxdata',
+							data: res,
+							success: function() {
+								that.ipLogin()
+							}
+						});
+					},
+					fail: (res) => {
+						console.log(res)
+					}
+				});
+			},
+			gologin() {
+				if (this.privacyCk == false) {
+					
+					uni.showToast({
+						title: '您需要先同意相关服务协议与隐私政策',
+						icon: 'none',
+						duration: 3000
+					});
+					return
+				}
+				if (this.show) {
+					if (this.wxOpendata) {
+						this.openID = this.wxOpendata.openid;
+						this.wxdata = uni.getStorageSync("wxdata")
+						if (this.wxdata) {
+							this.phoneLogin()
+						} else {
+							this.getWxdata()
+						}
+
+					} else {
+						this.getWxdata()
+					}
+
+				}
+
+			},
+			ipLogin() {
+				var that = this;
+				uni.showLoading({
+					title: '加载中'
+				});
+				uni.login({
+					provider: 'weixin',
+					success: function(loginRes) {
+						console.log(loginRes)
+						that.wxCode = loginRes.code
+						that.getWxOpenID()
+					}
+				});
+
+
+
+			},
+			getWxOpenID() {
+				this.$http('worldKeepCar/sys/getWxOpenID', {
+					code: this.wxCode,
+				}, 'GET').then(res => {
+					//console.log(res)
+					this.openID = res.data.openid;
+					// console.log(this.openID)
+					this.phoneLogin()
+				})
+			},
+			phoneLogin() {
+				this.$http('km66MiniApp/sys/phoneLogin', {
+					phone: this.phone,
+					code: this.code,
+					nickName: this.wxdata.userInfo.nickName,
+					headUrl: this.wxdata.userInfo.avatarUrl,
+					openID: this.openID,
+					shopID:this.wxOpendata.shopID,
+				}, ).then(res => {
+
+					uni.hideLoading();
+					if (res.code == 0) {
+						uni.setStorage({
+							key: 'logindata',
+							data:true,
+							success: function() {
+								that.ipLogin()
+							}
+						});
+						uni.showToast({
+							title: '登录成功',
+							icon: 'none',
+							duration: 3000
+						});
+						/* uni.switchTab({
+							url: '../homePage/homePage'
+						}) */
+						uni.navigateTo({
+							url:'../index/index'
+						})
+					} else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none',
+							duration: 3000
+						});
+					}
+				})
+			},
+			input(phone) {
+				console.log(this.phone);
+				if (this.phone != '') {
+					this.isgreen = true;
+				}
+			},
+			yzminput() {
+				if (this.code != '' && this.phone != '') {
+					this.show = true;
+				}
+			},
+			sendSms() {
+				if (!this.isYzm) {
+					return false;
+				}
+				this.isYzm = false;
+				//this.clearIntervalDjs();
+				//return false;
+				if (this.phone === '') {
+					this.isYzm = true
+					uni.showToast({
+						title: '手机号不可为空',
+						icon: 'none',
+						duration: 3000
+					});
+				} else {
+					var reg = /^1[3456789]\d{9}$/;
+					if (!reg.test(this.phone)) {
+						uni.showToast({
+							title: '手机号格式不正确',
+							icon: 'none',
+							duration: 3000
+						});
+						this.isYzm = true
+					} else {
+						this.$http('km66MiniApp/sys/sendSms', {
+							phone: this.phone,
+							shopID:'1B43BADD-B670-4B27-B6C1-604523287EAF',
+						}, 'GET').then(res => {
+							this.isYzm = false;
+							/* uni.showToast({
+							     title: '发送成功',
+							 	 icon:'none',
+							     duration: 3000
+							 }); */
+							this.clearIntervalDjs()
+						})
+					}
+				}
+
+
+			},
+			clearIntervalDjs() {
+				const TIME_COUNT = 60;
+				if (!this.timer) {
+					this.cont = TIME_COUNT;
+					this.isYzm = false;
+					this.timer = setInterval(() => {
+						if (this.cont > 0 && this.cont <= TIME_COUNT) {
+							this.cont--;
+							this.yzmTxt = this.cont + 'S'
+						} else {
+							this.isYzm = true;
+							clearInterval(this.timer);
+							this.timer = null;
+							this.yzmTxt = "获取验证码"
+						}
+					}, 1000)
+				}
+			},
+			privacyClick() {
+				this.privacyCk = !this.privacyCk
+			},
+			blur1() {
+
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.tis {
+		color: #333333;
+		font-size: 44rpx;
+		padding-top: 78rpx;
+		padding-left: 58rpx;
+	}
+
+	.cont {
+		padding: 58rpx;
+	}
+
+	.phoneInput {
+		width: 604rpx;
+		height: 88rpx;
+		border-radius: 44rpx;
+		border: 2rpx solid #EEEEEE;
+		line-height: 88rpx;
+		color: #333333;
+		font-size: 30rpx;
+		padding-left: 30rpx;
+	}
+
+	.yzmBox {
+		width: 604rpx;
+		height: 88rpx;
+		border-radius: 44rpx;
+		border: 2rpx solid #EEEEEE;
+		line-height: 88rpx;
+		color: #999999;
+		font-size: 30rpx;
+		padding-left: 30rpx;
+		margin-top: 30rpx;
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.yzmInput {
+		line-height: 88rpx;
+		color: #333333;
+		font-size: 30rpx;
+		height: 88rpx;
+	}
+
+	.yzmBtn {
+		padding-right: 30rpx;
+		border-left: 2rpx solid #EEEEEE;
+		padding-left: 20rpx;
+		height: 35rpx;
+		line-height: 35rpx;
+		margin-top: 26rpx;
+	}
+
+	.loginBtn {
+		width: 634rpx;
+		height: 88rpx;
+		background: #F5F5F5;
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		margin-top: 30rpx;
+		color: #999999;
+		font-size: 30rpx;
+	}
+
+	.privacy {
+		display: flex;
+		/* justify-content: center; */
+		font-size: 24rpx;
+		color: #CCCCCC;
+		padding-top: 34rpx;
+	}
+
+	.imgPrivacy {
+		width: 28rpx;
+		height: 28rpx;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+
+	.span1 {
+		color: #FF4F00;
+	}
+
+	.nock {
+		width: 22rpx;
+		height: 22rpx;
+		border-radius: 50%;
+		border: 2px solid #AEAEAE;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+
+	.green {
+		color: #FF4F00;
+	}
+
+	.okBtn {
+		background: #FF4F00;
+		color: #FFFFFF;
+	}
+</style>

+ 221 - 0
pages/login/login.vue

@@ -0,0 +1,221 @@
+<template>
+	<view>
+	<view class="container" :style="'height:'+ screenHeight +'px !important;'" v-if="isload">
+		   <!-- <image :src="bgImg" mode="" class="bgimg"></image> -->
+			
+			<view class="box" >
+				<!-- <image src="../../static/img/login_text.png" mode="" class="loginLogo"></image> -->
+				 <view class="" >
+					 <button class="wxlogin" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" >微信用户快捷登录</button>
+				 </view> 
+				
+				<view class="iphoneLogin" @click="iphoneLogin">使用手机号登录</view>
+				<view>
+					
+					
+				</view>
+				<view class="privacy" @click="privacyClick">
+					<image src="../../static/img/login_icon_checked.png" mode="" class="imgPrivacy" v-show="privacyCk"></image>
+					<view class="nock" v-show="!privacyCk"></view>
+					<span>同意</span> <span class="span1" @click.stop="goTreaty">《服务协议》</span>
+					<span>与</span> <span class="span1" @click.stop="goIntimity">《隐私政策》 </span>
+				</view>
+			</view>
+	</view>	
+	</view>
+	
+
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			screenHeight: '',
+			privacyCk:true,
+			wxdata:'',
+			wxCode:'',
+			openID:'',
+			session_key:'',
+			wxPhoneData:'',
+			wxOpendata:'',
+			isload:true,
+			shopId:'',
+		}
+	},
+	onLoad(opt) {
+       this.screenHeight = uni.getSystemInfoSync().windowHeight;
+	   // console.log( this.screenHeight)
+	   this.wxOpendata=uni.getStorageSync("wxOpendata");
+	   this.wxdata=uni.getStorageSync("wxdata");
+	   /* if(this.wxOpendata){
+	   	  this.isload=true;
+	   }else{
+	   		 uni.redirectTo({
+	   			url:'empower?type=1'
+	   		}) 
+	   } */
+	   this.shopId=opt.shopId
+	   this.wxOpendata.shopID=this.shopId;
+	   uni.setStorage({
+	   	key: 'wxOpendata',
+	   	data: this.wxOpendata,
+	   	success: function () {
+	   	 
+	   	}
+	   }); 
+	},
+	methods: {
+		goTreaty(){
+			uni.navigateTo({
+				url:'../me/treaty'
+			})
+		},
+		goIntimity(){
+			uni.navigateTo({
+				url:'../me/intimity'
+			})
+		},
+		 getPhoneNumber: function(e) {
+		     console.log(e.detail);
+			this.wxPhoneData=e.detail;
+			this.gologin()
+		             
+		 },
+		 gologin(){
+			 /* if (this.privacyCk == false) {
+			 	
+			 	uni.showToast({
+			 		title: '您需要先同意相关服务协议与隐私政策',
+			 		icon: 'none',
+			 		duration: 3000
+			 	});
+			 	return
+			 } */
+			 var that=this;
+			 this.$http('km66MiniApp/sys/wxLogin', {
+			    openID:this.wxOpendata.openid,
+			    encrypData:this.wxPhoneData.encryptedData,
+			    iv:this.wxPhoneData.iv,
+			    sessionKey:this.wxOpendata.session_key,
+			    nickName:this.wxdata.userInfo.nickName,
+			    headUrl:this.wxdata.userInfo.avatarUrl,
+				shopID:this.shopId,
+				//shopID:"1F12DB68-D8E8-4B76-9E20-287ACB72889F",
+			  },).then(res => {
+			 	//console.log(res)
+			 	uni.hideLoading();
+			 	if(res.code==0){
+			 		uni.setStorage({
+			 			key: 'logindata',
+			 			data: true,
+			 			success: function () {
+			 			 
+			 			}
+			 		}); 
+			 		uni.showToast({
+			 		     title: '登录成功',
+			 		 	 icon:'none',
+			 		     duration: 3000
+			 		 });
+			 		/* uni.switchTab({
+			 			 url:'../home/home'
+			 		 }) */
+					 uni.navigateTo({
+					 	url:'../index/index'
+					 })
+			 	}else{
+			 		uni.showToast({
+			 		     title: res.msg,
+			 		 	 icon:'none',
+			 		     duration: 3000
+			 		 });
+			 	}
+			 	
+			 })
+		 	
+		 },
+        privacyClick(){
+			this.privacyCk=!this.privacyCk
+		},
+		iphoneLogin(){
+			uni.navigateTo({
+				url:'iphoneLogin'
+			})
+		},
+		
+		
+		
+	}
+}
+</script>
+
+<style scoped>
+ .bgimg {
+        display: contents;
+        overflow: hidden;
+        position: relative;
+    }
+	.container{
+	        width: 100%;
+	        min-height: 100%;
+			background: url('http://123.56.219.146:10086/keepCar/keepCarHome.png') ; 
+			background-size: 100%;
+	}
+	.loginLogo{
+		width: 220rpx;height: 133rpx;
+		
+	}
+	.box{
+		padding-top: 20vh;
+		padding-left: 58rpx;
+		padding-right: 58rpx;
+	}
+	.wxlogin{
+		width: 634rpx;
+		height: 88rpx;
+		
+background: linear-gradient(135deg, #FD5300 0%, #FF270A 100%) #FF2400;
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 200rpx;
+	}
+	.iphoneLogin{
+		width: 634rpx;
+		height: 88rpx;
+		background: rgba(255,255,255,0.3);
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 50rpx;
+	}
+	.privacy{
+		display: flex;
+		justify-content: center;
+		font-size: 24rpx;
+		color: #CCCCCC;
+		padding-top: 34rpx;
+	}
+	.imgPrivacy{
+		width: 28rpx;
+		height: 28rpx;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+	.span1{
+		color: #FF4F00;
+	}
+	.nock{
+		width: 22rpx;
+		height: 22rpx;
+		border-radius: 50%;
+		border:2px solid #AEAEAE;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+</style>

File diff suppressed because it is too large
+ 120 - 0
pages/pay/pay.vue


+ 63 - 0
pages/user/scanCode.vue

@@ -0,0 +1,63 @@
+<template>
+	<view class="content">
+		<image @click="scan" class="img" mode="widthFix" src="../../static/img/lQDPDhs0QZY4xBXNAtDNAZWw7dBth6OpB2gCJkosywCAAA_405_720.jpg" ></image>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				url: '',
+				shopid:'',
+			}
+		},
+		onLoad() {
+            
+		},
+		methods: {
+           scan(){
+			   var that=this;
+			   uni.scanCode({
+			       success: function (res) {
+			           console.log('条码类型:' + res.scanType);
+			           console.log('条码内容:' + res.result);
+					   that.url=res.result;
+					   that.shopId=that.getHashQuery('shopId')
+					   console.log(that.shopId)
+					   that.gologin()
+			       }
+			   });
+		   },
+		   gologin(){
+			 uni.navigateTo({
+			 	url:'../login/login?shopId='+this.shopId
+			 })  
+		   },
+		   getHashQuery (query) {
+		     if (this.url.indexOf(query) > -1) {
+		       let cur = this.url.slice(this.url.indexOf(query) + query.length + 1, this.url.length)
+		       if (cur.indexOf('&') > -1) {
+		         return cur.slice(0, cur.indexOf('&'))
+		       } else {
+		         return cur
+		       }
+		     } else {
+		       return false
+		     }
+		   }
+		}
+	}
+</script>
+
+<style scoped>
+	.content{
+		height: 100vh;
+		background: #000000;
+		display: flex;
+		align-items: flex-end;
+	}
+	.img{
+		width: 750rpx;
+	}
+</style>

+ 25 - 0
pages/user/user.vue

@@ -0,0 +1,25 @@
+<template>
+	<view class="content">
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		onLoad() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style>
+	
+</style>

BIN
static/homeImg/pic_def.png


BIN
static/homeImg/pic_def2.png


BIN
static/img/euro.png


BIN
static/img/index1.png


BIN
static/img/index2.png


BIN
static/img/lQDPDhs0QZY4xBXNAtDNAZWw7dBth6OpB2gCJkosywCAAA_405_720.jpg


BIN
static/img/login_icon_checked.png


BIN
static/img/login_icon_uncheck.png


BIN
static/img/login_text.png


BIN
static/img/me1.png


BIN
static/img/me2.png


+ 28 - 0
store/index.js

@@ -0,0 +1,28 @@
+ import Vue from 'vue'
+ import Vuex from 'vuex'
+
+Vue.use(Vuex)
+const store = new Vuex.Store({
+    state: {
+		couponstate:true,
+	},
+	getters:{
+		getcouponstate(state){
+			return state.couponstate
+	   },
+	  
+    },
+    mutations: {
+		mutationscouponstate(state,data){
+			state.couponstate=data
+		},
+		
+	},
+    actions: {
+		actionscouponstate(context,playload){
+			context.commit('mutationscouponstate',playload)
+		},
+		
+	}
+})
+export default store

+ 76 - 0
uni.scss

@@ -0,0 +1,76 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+
+/* 颜色变量 */
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color:#333;//基本色
+$uni-text-color-inverse:#fff;//反色
+$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable:#c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:12px;
+$uni-font-size-base:14px;
+$uni-font-size-lg:16;
+
+/* 图片尺寸 */
+$uni-img-size-sm:20px;
+$uni-img-size-base:26px;
+$uni-img-size-lg:40px;
+
+/* Border Radius */
+$uni-border-radius-sm: 2px;
+$uni-border-radius-base: 3px;
+$uni-border-radius-lg: 6px;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 5px;
+$uni-spacing-row-base: 10px;
+$uni-spacing-row-lg: 15px;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 4px;
+$uni-spacing-col-base: 8px;
+$uni-spacing-col-lg: 12px;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:20px;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:26px;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:15px;

+ 0 - 0
unpackage/dist/dev/.automator/mp-weixin/.automator.json


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/home.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/map.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/signOut.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/empower.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/iphoneLogin.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/pay/pay.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/scanCode.js.map


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/user.js.map


+ 4 - 0
unpackage/dist/dev/mp-weixin/app.js

@@ -0,0 +1,4 @@
+
+require('./common/runtime.js')
+require('./common/vendor.js')
+require('./common/main.js')

+ 28 - 0
unpackage/dist/dev/mp-weixin/app.json

@@ -0,0 +1,28 @@
+{
+  "pages": [
+    "pages/index/index",
+    "pages/login/empower",
+    "pages/index/signOut",
+    "pages/index/map",
+    "pages/index/home",
+    "pages/user/scanCode",
+    "pages/pay/pay",
+    "pages/login/login",
+    "pages/login/iphoneLogin",
+    "pages/home/home",
+    "pages/user/user"
+  ],
+  "subPackages": [],
+  "window": {
+    "navigationBarTextStyle": "black",
+    "navigationBarTitleText": "",
+    "navigationBarBackgroundColor": "#F8F8F8",
+    "backgroundColor": "#F8F8F8"
+  },
+  "permission": {
+    "scope.userLocation": {
+      "desc": "获取地址"
+    }
+  },
+  "usingComponents": {}
+}

+ 3 - 0
unpackage/dist/dev/mp-weixin/app.wxss

@@ -0,0 +1,3 @@
+@import './common/main.wxss';
+
+[data-custom-hidden="true"],[bind-data-custom-hidden="true"]{display: none !important;}

File diff suppressed because it is too large
+ 151 - 0
unpackage/dist/dev/mp-weixin/common/main.js


+ 17 - 0
unpackage/dist/dev/mp-weixin/common/main.wxss

@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/*每个页面公共css */
+

+ 158 - 0
unpackage/dist/dev/mp-weixin/common/runtime.js

@@ -0,0 +1,158 @@
+
+  !function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}();
+  /******/ (function(modules) { // webpackBootstrap
+/******/ 	// install a JSONP callback for chunk loading
+/******/ 	function webpackJsonpCallback(data) {
+/******/ 		var chunkIds = data[0];
+/******/ 		var moreModules = data[1];
+/******/ 		var executeModules = data[2];
+/******/
+/******/ 		// add "moreModules" to the modules object,
+/******/ 		// then flag all "chunkIds" as loaded and fire callback
+/******/ 		var moduleId, chunkId, i = 0, resolves = [];
+/******/ 		for(;i < chunkIds.length; i++) {
+/******/ 			chunkId = chunkIds[i];
+/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ 				resolves.push(installedChunks[chunkId][0]);
+/******/ 			}
+/******/ 			installedChunks[chunkId] = 0;
+/******/ 		}
+/******/ 		for(moduleId in moreModules) {
+/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				modules[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ 		while(resolves.length) {
+/******/ 			resolves.shift()();
+/******/ 		}
+/******/
+/******/ 		// add entry modules from loaded chunk to deferred list
+/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
+/******/
+/******/ 		// run deferred modules when all chunks ready
+/******/ 		return checkDeferredModules();
+/******/ 	};
+/******/ 	function checkDeferredModules() {
+/******/ 		var result;
+/******/ 		for(var i = 0; i < deferredModules.length; i++) {
+/******/ 			var deferredModule = deferredModules[i];
+/******/ 			var fulfilled = true;
+/******/ 			for(var j = 1; j < deferredModule.length; j++) {
+/******/ 				var depId = deferredModule[j];
+/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
+/******/ 			}
+/******/ 			if(fulfilled) {
+/******/ 				deferredModules.splice(i--, 1);
+/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		return result;
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// object to store loaded and loading chunks
+/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ 	// Promise = chunk loading, 0 = chunk loaded
+/******/ 	var installedChunks = {
+/******/ 		"common/runtime": 0
+/******/ 	};
+/******/
+/******/ 	var deferredModules = [];
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/ 	var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || [];
+/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ 	jsonpArray.push = webpackJsonpCallback;
+/******/ 	jsonpArray = jsonpArray.slice();
+/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ 	var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ 	// run deferred modules from other chunks
+/******/ 	checkDeferredModules();
+/******/ })
+/************************************************************************/
+/******/ ([]);
+//# sourceMappingURL=../../.sourcemap/mp-weixin/common/runtime.js.map
+  

File diff suppressed because it is too large
+ 9504 - 0
unpackage/dist/dev/mp-weixin/common/vendor.js


File diff suppressed because it is too large
+ 344 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "首页",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.wxml

@@ -0,0 +1 @@
+<view class="content"></view>

File diff suppressed because it is too large
+ 253 - 0
unpackage/dist/dev/mp-weixin/pages/index/home.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/index/home.json

@@ -0,0 +1,4 @@
+{
+  "navigationStyle": "custom",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/index/home.wxml

@@ -0,0 +1 @@
+<view class="content"><view class="box"><web-view src="{{url}}" data-event-opts="{{[['message',[['message',['$event']]]]]}}" bindmessage="__e"></web-view></view></view>

+ 27 - 0
unpackage/dist/dev/mp-weixin/pages/index/home.wxss

@@ -0,0 +1,27 @@
+
+.content {
+	/* display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center; */
+}
+.box{
+	padding-bottom: env(safe-area-inset-bottom);
+}
+.logo {
+	height: 200rpx;
+	width: 200rpx;
+	margin-top: 200rpx;
+	margin-left: auto;
+	margin-right: auto;
+	margin-bottom: 50rpx;
+}
+.text-area {
+	display: flex;
+	justify-content: center;
+}
+.title {
+	font-size: 36rpx;
+	color: #8f8f94;
+}
+

File diff suppressed because it is too large
+ 259 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationStyle": "custom",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml

@@ -0,0 +1 @@
+<view class="content"><view class="box"><web-view src="{{url}}" data-event-opts="{{[['message',[['message',['$event']]]]]}}" bindmessage="__e"></web-view></view></view>

+ 27 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -0,0 +1,27 @@
+
+.content {
+	/* display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center; */
+}
+.box{
+	padding-bottom: env(safe-area-inset-bottom);
+}
+.logo {
+	height: 200rpx;
+	width: 200rpx;
+	margin-top: 200rpx;
+	margin-left: auto;
+	margin-right: auto;
+	margin-bottom: 50rpx;
+}
+.text-area {
+	display: flex;
+	justify-content: center;
+}
+.title {
+	font-size: 36rpx;
+	color: #8f8f94;
+}
+

File diff suppressed because it is too large
+ 232 - 0
unpackage/dist/dev/mp-weixin/pages/index/map.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/index/map.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "导航",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/index/map.wxml

@@ -0,0 +1 @@
+<view class="content"><view id="firstScreenPage"><view class="loader-inner ball-beat"><view></view><view></view><view></view></view></view></view>

+ 28 - 0
unpackage/dist/dev/mp-weixin/pages/index/map.wxss

@@ -0,0 +1,28 @@
+
+.content {
+		/* display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center; */
+}
+.box{
+}
+#firstScreenPage { top:50%; left:50%; position: absolute; -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); z-index:100;
+}
+@-webkit-keyframes ball-beat {
+50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75);
+}
+100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1);
+}
+}
+@keyframes ball-beat {
+50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75);
+}
+100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1);
+}
+}
+.ball-beat > view { background-color: #279fcf; width: 15px; height: 15px; border-radius: 100% !important; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; display: inline-block; -webkit-animation: ball-beat 0.7s 0s infinite linear; animation: ball-beat 0.7s 0s infinite linear;
+}
+.ball-beat > view:nth-child(2n-1) { -webkit-animation-delay: 0.35s !important; animation-delay: 0.35s !important;
+}
+

File diff suppressed because it is too large
+ 203 - 0
unpackage/dist/dev/mp-weixin/pages/index/signOut.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/index/signOut.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "退出登录",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/index/signOut.wxml

@@ -0,0 +1 @@
+<view class="content"><view id="firstScreenPage"><view class="loader-inner ball-beat"><view></view><view></view><view></view></view></view></view>

+ 28 - 0
unpackage/dist/dev/mp-weixin/pages/index/signOut.wxss

@@ -0,0 +1,28 @@
+
+.content {
+		/* display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center; */
+}
+.box{
+}
+#firstScreenPage { top:50%; left:50%; position: absolute; -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); z-index:100;
+}
+@-webkit-keyframes ball-beat {
+50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75);
+}
+100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1);
+}
+}
+@keyframes ball-beat {
+50% { opacity: 0.2; -webkit-transform: scale(0.75); transform: scale(0.75);
+}
+100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1);
+}
+}
+.ball-beat > view { background-color: #279fcf; width: 15px; height: 15px; border-radius: 100% !important; margin: 2px; -webkit-animation-fill-mode: both; animation-fill-mode: both; display: inline-block; -webkit-animation: ball-beat 0.7s 0s infinite linear; animation: ball-beat 0.7s 0s infinite linear;
+}
+.ball-beat > view:nth-child(2n-1) { -webkit-animation-delay: 0.35s !important; animation-delay: 0.35s !important;
+}
+

File diff suppressed because it is too large
+ 357 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "授权登录",
+  "usingComponents": {}
+}

File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.wxml


+ 36 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.wxss

@@ -0,0 +1,36 @@
+
+.euroImg.data-v-63a3418e{
+	 width: 290rpx;
+	 height: 361rpx;
+}
+.logoBox.data-v-63a3418e{
+	 text-align: center;
+	 padding-top: 160rpx;
+}
+.title1.data-v-63a3418e{
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+	 padding-top: 150rpx;
+}
+.wxlogin.data-v-63a3418e{
+	 width: 658rpx;
+	 height: 88rpx;
+	 background: linear-gradient(113deg, #FF630F 0%, #FF450F 100%);
+	 border-radius: 10rpx;
+	 line-height: 88rpx;
+	 text-align: center;
+	 color: #FFFFFF;
+	 font-size: 30rpx;
+	 margin-top: 20rpx;
+}
+.title2.data-v-63a3418e{
+	 width: 100vw;
+	 position: fixed;
+	 left: 0;
+	 bottom: 50rpx;
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+}
+

File diff suppressed because it is too large
+ 418 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "手机号登录",
+  "usingComponents": {}
+}

File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxml


+ 90 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxss

@@ -0,0 +1,90 @@
+
+.tis.data-v-037223f5 {
+	color: #333333;
+	font-size: 44rpx;
+	padding-top: 78rpx;
+	padding-left: 58rpx;
+}
+.cont.data-v-037223f5 {
+	padding: 58rpx;
+}
+.phoneInput.data-v-037223f5 {
+	width: 604rpx;
+	height: 88rpx;
+	border-radius: 44rpx;
+	border: 2rpx solid #EEEEEE;
+	line-height: 88rpx;
+	color: #333333;
+	font-size: 30rpx;
+	padding-left: 30rpx;
+}
+.yzmBox.data-v-037223f5 {
+	width: 604rpx;
+	height: 88rpx;
+	border-radius: 44rpx;
+	border: 2rpx solid #EEEEEE;
+	line-height: 88rpx;
+	color: #999999;
+	font-size: 30rpx;
+	padding-left: 30rpx;
+	margin-top: 30rpx;
+	display: flex;
+	justify-content: space-between;
+}
+.yzmInput.data-v-037223f5 {
+	line-height: 88rpx;
+	color: #333333;
+	font-size: 30rpx;
+	height: 88rpx;
+}
+.yzmBtn.data-v-037223f5 {
+	padding-right: 30rpx;
+	border-left: 2rpx solid #EEEEEE;
+	padding-left: 20rpx;
+	height: 35rpx;
+	line-height: 35rpx;
+	margin-top: 26rpx;
+}
+.loginBtn.data-v-037223f5 {
+	width: 634rpx;
+	height: 88rpx;
+	background: #F5F5F5;
+	border-radius: 44rpx;
+	line-height: 88rpx;
+	text-align: center;
+	margin-top: 30rpx;
+	color: #999999;
+	font-size: 30rpx;
+}
+.privacy.data-v-037223f5 {
+	display: flex;
+	/* justify-content: center; */
+	font-size: 24rpx;
+	color: #CCCCCC;
+	padding-top: 34rpx;
+}
+.imgPrivacy.data-v-037223f5 {
+	width: 28rpx;
+	height: 28rpx;
+	margin-top: 2rpx;
+	margin-right: 10rpx;
+}
+.span1.data-v-037223f5 {
+	color: #FF4F00;
+}
+.nock.data-v-037223f5 {
+	width: 22rpx;
+	height: 22rpx;
+	border-radius: 50%;
+	border: 2px solid #AEAEAE;
+	margin-top: 2rpx;
+	margin-right: 10rpx;
+}
+.green.data-v-037223f5 {
+	color: #FF4F00;
+}
+.okBtn.data-v-037223f5 {
+	background: #FF4F00;
+	color: #FFFFFF;
+}
+

File diff suppressed because it is too large
+ 312 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "登录",
+  "usingComponents": {}
+}

File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.wxml


+ 68 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.wxss

@@ -0,0 +1,68 @@
+
+.bgimg.data-v-b237504c {
+        display: contents;
+        overflow: hidden;
+        position: relative;
+}
+.container.data-v-b237504c{
+	        width: 100%;
+	        min-height: 100%;
+			background: url('http://123.56.219.146:10086/keepCar/keepCarHome.png') ; 
+			background-size: 100%;
+}
+.loginLogo.data-v-b237504c{
+		width: 220rpx;height: 133rpx;
+}
+.box.data-v-b237504c{
+		padding-top: 20vh;
+		padding-left: 58rpx;
+		padding-right: 58rpx;
+}
+.wxlogin.data-v-b237504c{
+		width: 634rpx;
+		height: 88rpx;
+		
+background: linear-gradient(135deg, #FD5300 0%, #FF270A 100%) #FF2400;
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 200rpx;
+}
+.iphoneLogin.data-v-b237504c{
+		width: 634rpx;
+		height: 88rpx;
+		background: rgba(255,255,255,0.3);
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 50rpx;
+}
+.privacy.data-v-b237504c{
+		display: flex;
+		justify-content: center;
+		font-size: 24rpx;
+		color: #CCCCCC;
+		padding-top: 34rpx;
+}
+.imgPrivacy.data-v-b237504c{
+		width: 28rpx;
+		height: 28rpx;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+}
+.span1.data-v-b237504c{
+		color: #FF4F00;
+}
+.nock.data-v-b237504c{
+		width: 22rpx;
+		height: 22rpx;
+		border-radius: 50%;
+		border:2px solid #AEAEAE;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+}
+

File diff suppressed because it is too large
+ 249 - 0
unpackage/dist/dev/mp-weixin/pages/pay/pay.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/pay/pay.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "微信支付",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/pay/pay.wxml

@@ -0,0 +1 @@
+<view class="content data-v-c10d0c50"><view class="boxtop data-v-c10d0c50"><view class="money data-v-c10d0c50">{{"¥"+money}}</view><view class="moneyMS data-v-c10d0c50">在线支付金额</view></view></view>

+ 34 - 0
unpackage/dist/dev/mp-weixin/pages/pay/pay.wxss

@@ -0,0 +1,34 @@
+
+.settlement.data-v-c10d0c50{
+		width: 203rpx;
+		height: 74rpx;
+		background: #FF4F00;
+		border-radius: 37rpx;
+		text-align: center;
+		line-height: 74rpx;
+		font-size: 30rpx;
+		font-family: PingFangSC-Medium, PingFang SC;
+		font-weight: 500;
+		color: #FEFFFE;
+		margin-top: 23rpx;
+		margin-right: 32rpx;
+}
+.content.data-v-c10d0c50{
+		height: 100vh;
+		background:#F4F5F7 ;
+}
+.boxtop.data-v-c10d0c50{
+		background: #FFFFFF;
+		text-align: center;
+}
+.money.data-v-c10d0c50{
+		color: #FF4F00;
+		font-size: 50rpx;
+		padding-top: 50rpx;
+}
+.moneyMS.data-v-c10d0c50{
+		color: #999999;
+       font-size: 28rpx;
+	   padding: 20rpx;
+}
+

File diff suppressed because it is too large
+ 215 - 0
unpackage/dist/dev/mp-weixin/pages/user/scanCode.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/user/scanCode.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "扫码",
+  "usingComponents": {}
+}

+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/user/scanCode.wxml


Some files were not shown because too many files changed in this diff