From 9ffdfa652af78b4e748d712963991e30c516fc9e Mon Sep 17 00:00:00 2001
From: ghusermoon <2673031505@qq.com>
Date: Wed, 8 Jul 2020 18:14:41 +0800
Subject: [PATCH 1/2] api
---
README.md | 2 +-
common/api/user.js | 4 +-
components/mine/coupon/index.vue | 131 +++++++++
components/uni-swipe-action-item/bindingx.js | 245 ----------------
components/uni-swipe-action-item/index.wxs | 204 -------------
components/uni-swipe-action-item/mpalipay.js | 160 -----------
components/uni-swipe-action-item/mpother.js | 158 ----------
components/uni-swipe-action-item/mpwxs.js | 97 -------
.../uni-swipe-action-item.vue | 270 ------------------
.../uni-swipe-action/uni-swipe-action.vue | 58 ----
pageE/mine/EditUserInfo.vue | 3 +
pageE/mine/Integral.vue | 16 +-
pageE/mine/MemberServe.vue | 83 +-----
pageE/mine/MemberServeCoupon.vue | 161 +++++++++++
pageE/mine/MineInfo.vue | 2 +-
pageE/mine/MineProgress.vue | 172 +++++++++++
pageE/tool/MineCoupon.vue | 105 +++++++
pages.json | 26 ++
pages/mine/index.vue | 6 +-
static/image/mine/25.png | Bin 0 -> 7662 bytes
static/image/mine/26.png | Bin 0 -> 15540 bytes
static/image/mine/27.png | Bin 0 -> 15426 bytes
static/image/mine/28.png | Bin 0 -> 43106 bytes
static/image/mine/29.png | Bin 0 -> 40569 bytes
static/image/mine/30.png | Bin 0 -> 1695 bytes
static/image/mine/31.png | Bin 0 -> 1688 bytes
static/image/mine/32.png | Bin 0 -> 4175 bytes
static/image/mine/33.png | Bin 0 -> 284904 bytes
static/image/mine/34.png | Bin 0 -> 4605 bytes
static/js/common.js | 8 +-
30 files changed, 640 insertions(+), 1271 deletions(-)
create mode 100644 components/mine/coupon/index.vue
delete mode 100644 components/uni-swipe-action-item/bindingx.js
delete mode 100644 components/uni-swipe-action-item/index.wxs
delete mode 100644 components/uni-swipe-action-item/mpalipay.js
delete mode 100644 components/uni-swipe-action-item/mpother.js
delete mode 100644 components/uni-swipe-action-item/mpwxs.js
delete mode 100644 components/uni-swipe-action-item/uni-swipe-action-item.vue
delete mode 100644 components/uni-swipe-action/uni-swipe-action.vue
create mode 100644 pageE/mine/MemberServeCoupon.vue
create mode 100644 pageE/mine/MineProgress.vue
create mode 100644 pageE/tool/MineCoupon.vue
create mode 100644 static/image/mine/25.png
create mode 100644 static/image/mine/26.png
create mode 100644 static/image/mine/27.png
create mode 100644 static/image/mine/28.png
create mode 100644 static/image/mine/29.png
create mode 100644 static/image/mine/30.png
create mode 100644 static/image/mine/31.png
create mode 100644 static/image/mine/32.png
create mode 100644 static/image/mine/33.png
create mode 100644 static/image/mine/34.png
diff --git a/README.md b/README.md
index 73e2455..d7273e7 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@ unescapeHTML(temp){}
* @param { String } url 服务器 url
* @param { String } filePath 要上传文件资源的路径
* @param { String } type 上传文件验证类型 默认: img 可选: video
-* @return { object } promise 对象 resolve 为文件服务器地址 reject 为错误信息
+* @return { object } promise 对象 resolve 返回文件服务器地址 reject 返回错误信息
*/
uploadFile({ url, filePath, type = 'img' } = {}) {}
```
\ No newline at end of file
diff --git a/common/api/user.js b/common/api/user.js
index eea1a1c..a2bf0a0 100644
--- a/common/api/user.js
+++ b/common/api/user.js
@@ -218,13 +218,13 @@ export default {
},
// 意见反馈列表
getFeedbackList({ page }) {
- return vm.$u.post('Feedback/feedbackList', {
+ return vm.$u.post('Member/feedbackList', {
page: page,
});
},
// 意见反馈-写意见
writeFeedback({ fb_content, fb_images }) {
- return vm.$u.post('Feedback/writeFeedback', {
+ return vm.$u.post('Member/writeFeedback', {
fb_content: fb_content,
fb_images: fb_images,
});
diff --git a/components/mine/coupon/index.vue b/components/mine/coupon/index.vue
new file mode 100644
index 0000000..3448072
--- /dev/null
+++ b/components/mine/coupon/index.vue
@@ -0,0 +1,131 @@
+
+
+
+
+
+ {{ couponInfo.index&1 ? '店铺优惠券' : '平台优惠券' }}
+
+
+
+ ¥10
+ 满100使用
+
+ 仅限 nike官方旗舰店 鞋子商品使用
+ 兑换积分:200积分
+ 有效期2018.09.06-2018.10.06
+
+
+ 立即兑换
+ 立即使用
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/uni-swipe-action-item/bindingx.js b/components/uni-swipe-action-item/bindingx.js
deleted file mode 100644
index 59c592e..0000000
--- a/components/uni-swipe-action-item/bindingx.js
+++ /dev/null
@@ -1,245 +0,0 @@
-const BindingX = uni.requireNativePlugin('bindingx');
-const dom = uni.requireNativePlugin('dom');
-const animation = uni.requireNativePlugin('animation');
-
-export default {
- data() {
- return {
- right: 0,
- button: [],
- preventGesture: false
- }
- },
-
- watch: {
- show(newVal) {
- if (!this.position || JSON.stringify(this.position) === '{}') return;
- if (this.autoClose) return
- if (this.isInAnimation) return
- if (newVal) {
- this.open()
- } else {
- this.close()
- }
- },
- },
- created() {
- if (this.swipeaction.children !== undefined) {
- this.swipeaction.children.push(this)
- }
- },
- mounted() {
- this.boxSelector = this.getEl(this.$refs['selector-box-hock']);
- this.selector = this.getEl(this.$refs['selector-content-hock']);
- this.buttonSelector = this.getEl(this.$refs['selector-button-hock']);
- this.position = {}
- this.x = 0
- setTimeout(() => {
- this.getSelectorQuery()
- }, 200)
- },
- beforeDestroy() {
- if (this.timing) {
- BindingX.unbind({
- token: this.timing.token,
- eventType: 'timing'
- })
- }
- if (this.eventpan) {
- BindingX.unbind({
- token: this.eventpan.token,
- eventType: 'pan'
- })
- }
- this.swipeaction.children.forEach((item, index) => {
- if (item === this) {
- this.swipeaction.children.splice(index, 1)
- }
- })
- },
- methods: {
- onClick(index, item) {
- this.$emit('click', {
- content: item,
- index
- })
- },
- touchstart(e) {
- if (this.isInAnimation) return
- if (this.stop) return
- this.stop = true
- if (this.autoClose) {
- this.swipeaction.closeOther(this)
- }
- let endWidth = this.right
- let boxStep = `(x+${this.x})`
- let pageX = `${boxStep}> ${-endWidth} && ${boxStep} < 0?${boxStep}:(x+${this.x} < 0? ${-endWidth}:0)`
-
- let props = [{
- element: this.selector,
- property: 'transform.translateX',
- expression: pageX
- }]
-
- let left = 0
- for (let i = 0; i < this.options.length; i++) {
- let buttonSelectors = this.getEl(this.$refs['button-hock'][i]);
- if (this.button.length === 0 || !this.button[i] || !this.button[i].width) return
- let moveMix = endWidth - left
- left += this.button[i].width
- let step = `(${this.x}+x)/${endWidth}`
- let moveX = `(${step}) * ${moveMix}`
- let pageButtonX = `${moveX}&& (x+${this.x} > ${-endWidth})?${moveX}:${-moveMix}`
- props.push({
- element: buttonSelectors,
- property: 'transform.translateX',
- expression: pageButtonX
- })
- }
-
- this.eventpan = this._bind(this.boxSelector, props, 'pan', (e) => {
- if (e.state === 'end') {
- this.x = e.deltaX + this.x;
- if (this.x < -endWidth) {
- this.x = -endWidth
- }
- if (this.x > 0) {
- this.x = 0
- }
- this.stop = false
- this.bindTiming();
- }
- })
- },
- touchend(e) {
- this.$nextTick(() => {
- if (this.isopen && !this.isDrag && !this.isInAnimation) {
- this.close()
- }
- })
- },
- bindTiming() {
- if (this.isopen) {
- this.move(this.x, -this.right)
- } else {
- this.move(this.x, -40)
- }
- },
- move(left, value) {
- if (left >= value) {
- this.close()
- } else {
- this.open()
- }
- },
- /**
- * 开启swipe
- */
- open() {
- this.animation(true)
- },
- /**
- * 关闭swipe
- */
- close() {
- this.animation(false)
- },
- /**
- * 开启关闭动画
- * @param {Object} type
- */
- animation(type) {
- this.isDrag = true
- let endWidth = this.right
- let time = 200
- this.isInAnimation = true;
-
- let exit = `t>${time}`;
- let translate_x_expression = `easeOutExpo(t,${this.x},${type?(-endWidth-this.x):(-this.x)},${time})`
- let props = [{
- element: this.selector,
- property: 'transform.translateX',
- expression: translate_x_expression
- }]
-
- let left = 0
- for (let i = 0; i < this.options.length; i++) {
- let buttonSelectors = this.getEl(this.$refs['button-hock'][i]);
- if (this.button.length === 0 || !this.button[i] || !this.button[i].width) return
- let moveMix = endWidth - left
- left += this.button[i].width
- let step = `${this.x}/${endWidth}`
- let moveX = `(${step}) * ${moveMix}`
- let pageButtonX = `easeOutExpo(t,${moveX},${type ? -moveMix + '-' + moveX: 0 + '-' + moveX},${time})`
- props.push({
- element: buttonSelectors,
- property: 'transform.translateX',
- expression: pageButtonX
- })
- }
-
- this.timing = BindingX.bind({
- eventType: 'timing',
- exitExpression: exit,
- props: props
- }, (e) => {
- if (e.state === 'end' || e.state === 'exit') {
- this.x = type ? -endWidth : 0
- this.isInAnimation = false;
-
- this.isopen = this.isopen || false
- if (this.isopen !== type) {
- this.$emit('change', type)
- }
- this.isopen = type
- this.isDrag = false
- }
- });
- },
- /**
- * 绑定 BindingX
- * @param {Object} anchor
- * @param {Object} props
- * @param {Object} fn
- */
- _bind(anchor, props, eventType, fn) {
- return BindingX.bind({
- anchor,
- eventType,
- props
- }, (e) => {
- typeof(fn) === 'function' && fn(e)
- });
- },
- /**
- * 获取ref
- * @param {Object} el
- */
- getEl(el) {
- return el.ref
- },
- /**
- * 获取节点信息
- */
- getSelectorQuery() {
- dom.getComponentRect(this.$refs['selector-content-hock'], (data) => {
- if (this.position.content) return
- this.position.content = data.size
- })
- for (let i = 0; i < this.options.length; i++) {
- dom.getComponentRect(this.$refs['button-hock'][i], (data) => {
- if (!this.button) {
- this.button = []
- }
- if (this.options.length === this.button.length) return
- this.button.push(data.size)
- this.right += data.size.width
- if (this.autoClose) return
- if (this.show) {
- this.open()
- }
- })
- }
- }
- }
-}
diff --git a/components/uni-swipe-action-item/index.wxs b/components/uni-swipe-action-item/index.wxs
deleted file mode 100644
index 79c6f9e..0000000
--- a/components/uni-swipe-action-item/index.wxs
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * 监听页面内值的变化,主要用于动态开关swipe-action
- * @param {Object} newValue
- * @param {Object} oldValue
- * @param {Object} ownerInstance
- * @param {Object} instance
- */
-function sizeReady(newValue, oldValue, ownerInstance, instance) {
- var state = instance.getState()
- state.position = JSON.parse(newValue)
- if (!state.position || state.position.length === 0) return
- var show = state.position[0].show
- state.left = state.left || state.position[0].left;
- // 通过用户变量,开启或关闭
- if (show) {
- openState(true, instance, ownerInstance)
- } else {
- openState(false, instance, ownerInstance)
- }
-}
-
-/**
- * 开始触摸操作
- * @param {Object} e
- * @param {Object} ins
- */
-function touchstart(e, ins) {
- var instance = e.instance;
- var state = instance.getState();
- var pageX = e.touches[0].pageX;
- // 开始触摸时移除动画类
- instance.removeClass('ani');
- var owner = ins.selectAllComponents('.button-hock')
- for (var i = 0; i < owner.length; i++) {
- owner[i].removeClass('ani');
- }
- // state.position = JSON.parse(instance.getDataset().position);
- state.left = state.left || state.position[0].left;
- // 获取最终按钮组的宽度
- state.width = pageX - state.left;
- ins.callMethod('closeSwipe')
-}
-
-/**
- * 开始滑动操作
- * @param {Object} e
- * @param {Object} ownerInstance
- */
-function touchmove(e, ownerInstance) {
- var instance = e.instance;
- var disabled = instance.getDataset().disabled
- var state = instance.getState()
- // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复
- disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false;
-
- if (disabled) return
- var pageX = e.touches[0].pageX;
- move(pageX - state.width, instance, ownerInstance)
-}
-
-/**
- * 结束触摸操作
- * @param {Object} e
- * @param {Object} ownerInstance
- */
-function touchend(e, ownerInstance) {
- var instance = e.instance;
- var disabled = instance.getDataset().disabled
- var state = instance.getState()
-
- // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复
- disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false;
-
- if (disabled) return
- // 滑动过程中触摸结束,通过阙值判断是开启还是关闭
- // fixed by mehaotian 定时器解决点击按钮,touchend 触发比 click 事件时机早的问题 ,主要是 ios13
- moveDirection(state.left, -40, instance, ownerInstance)
-}
-
-/**
- * 设置移动距离
- * @param {Object} value
- * @param {Object} instance
- * @param {Object} ownerInstance
- */
-function move(value, instance, ownerInstance) {
- var state = instance.getState()
- // 获取可滑动范围
- var x = Math.max(-state.position[1].width, Math.min((value), 0));
- state.left = x;
- instance.setStyle({
- transform: 'translateX(' + x + 'px)',
- '-webkit-transform': 'translateX(' + x + 'px)'
- })
- // 折叠按钮动画
- buttonFold(x, instance, ownerInstance)
-}
-
-/**
- * 移动方向判断
- * @param {Object} left
- * @param {Object} value
- * @param {Object} ownerInstance
- * @param {Object} ins
- */
-function moveDirection(left, value, ins, ownerInstance) {
- var state = ins.getState()
- var position = state.position
- var isopen = state.isopen
- if (!position[1].width) {
- openState(false, ins, ownerInstance)
- return
- }
- // 如果已经是打开状态,进行判断是否关闭,还是保留打开状态
- if (isopen) {
- if (-left <= position[1].width) {
- openState(false, ins, ownerInstance)
- } else {
- openState(true, ins, ownerInstance)
- }
- return
- }
- // 如果是关闭状态,进行判断是否打开,还是保留关闭状态
- if (left <= value) {
- openState(true, ins, ownerInstance)
- } else {
- openState(false, ins, ownerInstance)
- }
-}
-
-/**
- * 设置按钮移动距离
- * @param {Object} value
- * @param {Object} instance
- * @param {Object} ownerInstance
- */
-function buttonFold(value, instance, ownerInstance) {
- var ins = ownerInstance.selectAllComponents('.button-hock');
- var state = instance.getState();
- var position = state.position;
- var arr = [];
- var w = 0;
- for (var i = 0; i < ins.length; i++) {
- if (!ins[i].getDataset().button) return
- var btnData = JSON.parse(ins[i].getDataset().button)
-
- // fix by mehaotian TODO 在 app-vue 中,字符串转对象,需要转两次,这里先这么兼容
- if (typeof(btnData) === 'string') {
- btnData = JSON.parse(btnData)
- }
-
- var button = btnData[i] && btnData[i].width || 0
- w += button
- arr.push(-w)
- // 动态计算按钮组每个按钮的折叠动画移动距离
- var distance = arr[i - 1] + value * (arr[i - 1] / position[1].width)
- if (i != 0) {
- ins[i].setStyle({
- transform: 'translateX(' + distance + 'px)',
- })
- }
- }
-}
-
-/**
- * 开启状态
- * @param {Boolean} type
- * @param {Object} ins
- * @param {Object} ownerInstance
- */
-function openState(type, ins, ownerInstance) {
- var state = ins.getState()
- var position = state.position
- if (state.isopen === undefined) {
- state.isopen = false
- }
- // 只有状态有改变才会通知页面改变状态
- if (state.isopen !== type) {
- // 通知页面,已经打开
- ownerInstance.callMethod('change', {
- open: type
- })
- }
- // 设置打开和移动状态
- state.isopen = type
-
-
- // 添加动画类
- ins.addClass('ani');
- var owner = ownerInstance.selectAllComponents('.button-hock')
- for (var i = 0; i < owner.length; i++) {
- owner[i].addClass('ani');
- }
- // 设置最终移动位置
- move(type ? -position[1].width : 0, ins, ownerInstance)
-
-}
-
-module.exports = {
- sizeReady: sizeReady,
- touchstart: touchstart,
- touchmove: touchmove,
- touchend: touchend
-}
diff --git a/components/uni-swipe-action-item/mpalipay.js b/components/uni-swipe-action-item/mpalipay.js
deleted file mode 100644
index 8537b24..0000000
--- a/components/uni-swipe-action-item/mpalipay.js
+++ /dev/null
@@ -1,160 +0,0 @@
-export default {
- data() {
- return {
- isshow: false,
- viewWidth: 0,
- buttonWidth: 0,
- disabledView: false,
- x: 0,
- transition: false
- }
- },
- watch: {
- show(newVal) {
- if (this.autoClose) return
- if (newVal) {
- this.open()
- } else {
- this.close()
- }
- },
- },
- created() {
- if (this.swipeaction.children !== undefined) {
- this.swipeaction.children.push(this)
- }
- },
- beforeDestroy() {
- this.swipeaction.children.forEach((item, index) => {
- if (item === this) {
- this.swipeaction.children.splice(index, 1)
- }
- })
- },
- mounted() {
- this.isopen = false
- this.transition = true
- setTimeout(() => {
- this.getQuerySelect()
- }, 50)
-
- },
- methods: {
- onClick(index, item) {
- this.$emit('click', {
- content: item,
- index
- })
- },
- touchstart(e) {
- let {
- pageX,
- pageY
- } = e.changedTouches[0]
- this.transition = false
- this.startX = pageX
- if (this.autoClose) {
- this.swipeaction.closeOther(this)
- }
- },
- touchmove(e) {
- let {
- pageX,
- } = e.changedTouches[0]
- this.slide = this.getSlide(pageX)
- if (this.slide === 0) {
- this.disabledView = false
- }
-
- },
- touchend(e) {
- this.stop = false
- this.transition = true
- if (this.isopen) {
- if (this.moveX === -this.buttonWidth) {
- this.close()
- return
- }
- this.move()
- } else {
- if (this.moveX === 0) {
- this.close()
- return
- }
- this.move()
- }
- },
- open() {
- this.x = this.moveX
- this.$nextTick(() => {
- this.x = -this.buttonWidth
- this.moveX = this.x
-
- if(!this.isopen){
- this.isopen = true
- this.$emit('change', true)
- }
- })
- },
- close() {
- this.x = this.moveX
- this.$nextTick(() => {
- this.x = 0
- this.moveX = this.x
- if(this.isopen){
- this.isopen = false
- this.$emit('change', false)
- }
- })
- },
- move() {
- if (this.slide === 0) {
- this.open()
- } else {
- this.close()
- }
- },
- onChange(e) {
- let x = e.detail.x
- this.moveX = x
- if (x >= this.buttonWidth) {
- this.disabledView = true
- this.$nextTick(() => {
- this.x = this.buttonWidth
- })
- }
- },
- getSlide(x) {
- if (x >= this.startX) {
- this.startX = x
- return 1
- } else {
- this.startX = x
- return 0
- }
-
- },
- getQuerySelect() {
- const query = uni.createSelectorQuery().in(this);
- query.selectAll('.viewWidth-hook').boundingClientRect(data => {
-
- this.viewWidth = data[0].width
- this.buttonWidth = data[1].width
- this.transition = false
- this.$nextTick(() => {
- this.transition = true
- })
-
- if (!this.buttonWidth) {
- this.disabledView = true
- }
-
- if (this.autoClose) return
- if (this.show) {
- this.open()
- }
- }).exec();
-
- }
- }
-}
diff --git a/components/uni-swipe-action-item/mpother.js b/components/uni-swipe-action-item/mpother.js
deleted file mode 100644
index ae97ba6..0000000
--- a/components/uni-swipe-action-item/mpother.js
+++ /dev/null
@@ -1,158 +0,0 @@
-// #ifdef APP-NVUE
-const dom = weex.requireModule('dom');
-// #endif
-export default {
- data() {
- return {
- uniShow: false,
- left: 0
- }
- },
- computed: {
- moveLeft() {
- return `translateX(${this.left}px)`
- }
- },
- watch: {
- show(newVal) {
- if (!this.position || JSON.stringify(this.position) === '{}') return;
- if (this.autoClose) return
- if (newVal) {
- this.$emit('change', true)
- this.open()
- } else {
- this.$emit('change', false)
- this.close()
- }
- }
- },
- mounted() {
- this.position = {}
- if (this.swipeaction.children !== undefined) {
- this.swipeaction.children.push(this)
- }
- setTimeout(() => {
- this.getSelectorQuery()
- }, 100)
- },
- beforeDestoy() {
- this.swipeaction.children.forEach((item, index) => {
- if (item === this) {
- this.swipeaction.children.splice(index, 1)
- }
- })
- },
- methods: {
- onClick(index, item) {
- this.$emit('click', {
- content: item,
- index
- })
- this.close()
- },
- touchstart(e) {
- const {
- pageX
- } = e.touches[0]
- if (this.disabled) return
- const left = this.position.content.left
- if (this.autoClose) {
- this.swipeaction.closeOther(this)
- }
- this.width = pageX - left
- if (this.isopen) return
- if (this.uniShow) {
- this.uniShow = false
- this.isopen = true
- this.openleft = this.left + this.position.button.width
- }
- },
- touchmove(e, index) {
- if (this.disabled) return
- const {
- pageX
- } = e.touches[0]
- this.setPosition(pageX)
- },
- touchend() {
- if (this.disabled) return
- if (this.isopen) {
- this.move(this.openleft, 0)
- return
- }
- this.move(this.left, -40)
- },
- setPosition(x, y) {
- if (!this.position.button.width) {
- return
- }
- // this.left = x - this.width
- this.setValue(x - this.width)
- },
- setValue(value) {
- // 设置最大最小值
- this.left = Math.max(-this.position.button.width, Math.min(parseInt(value), 0))
- this.position.content.left = this.left
- if (this.isopen) {
- this.openleft = this.left + this.position.button.width
- }
- },
- move(left, value) {
- if (left >= value) {
- this.$emit('change', false)
- this.close()
- } else {
- this.$emit('change', true)
- this.open()
- }
- },
- open() {
- this.uniShow = true
- this.left = -this.position.button.width
- this.setValue(-this.position.button.width)
- },
- close() {
- this.uniShow = true
- this.setValue(0)
- setTimeout(() => {
- this.uniShow = false
- this.isopen = false
- }, 300)
- },
- getSelectorQuery() {
- // #ifndef APP-NVUE
- const views = uni.createSelectorQuery()
- .in(this)
- views
- .selectAll('.selector-query-hock')
- .boundingClientRect(data => {
- this.position.content = data[1]
- this.position.button = data[0]
- if (this.autoClose) return
- if (this.show) {
- this.open()
- } else {
- this.close()
- }
- })
- .exec()
- // #endif
- // #ifdef APP-NVUE
- dom.getComponentRect(this.$refs['selector-content-hock'], (data) => {
- if (this.position.content) return
- this.position.content = data.size
- })
- dom.getComponentRect(this.$refs['selector-button-hock'], (data) => {
- if (this.position.button) return
- this.position.button = data.size
- if (this.autoClose) return
- if (this.show) {
- this.open()
- } else {
- this.close()
- }
- })
- // #endif
- }
- }
-}
diff --git a/components/uni-swipe-action-item/mpwxs.js b/components/uni-swipe-action-item/mpwxs.js
deleted file mode 100644
index 3073ff8..0000000
--- a/components/uni-swipe-action-item/mpwxs.js
+++ /dev/null
@@ -1,97 +0,0 @@
-export default {
- data() {
- return {
- position: [],
- button: []
- }
- },
- computed: {
- pos() {
- return JSON.stringify(this.position)
- },
- btn() {
- return JSON.stringify(this.button)
- }
- },
- watch: {
- show(newVal) {
- if (this.autoClose) return
- let valueObj = this.position[0]
- if (!valueObj) {
- this.init()
- return
- }
- valueObj.show = newVal
- this.$set(this.position, 0, valueObj)
- }
- },
- created() {
- if (this.swipeaction.children !== undefined) {
- this.swipeaction.children.push(this)
- }
- },
- mounted() {
- this.init()
-
- },
- beforeDestroy() {
- this.swipeaction.children.forEach((item, index) => {
- if (item === this) {
- this.swipeaction.children.splice(index, 1)
- }
- })
- },
- methods: {
- init() {
-
- setTimeout(() => {
- this.getSize()
- this.getButtonSize()
- }, 50)
- },
- closeSwipe(e) {
- if (!this.autoClose) return
- this.swipeaction.closeOther(this)
- },
-
- change(e) {
- this.$emit('change', e.open)
- let valueObj = this.position[0]
- if (valueObj.show !== e.open) {
- valueObj.show = e.open
- this.$set(this.position, 0, valueObj)
- }
- },
- onClick(index, item) {
- this.$emit('click', {
- content: item,
- index
- })
- },
- appTouchStart(){},
- appTouchEnd(){},
- getSize() {
- const views = uni.createSelectorQuery().in(this)
- views
- .selectAll('.selector-query-hock')
- .boundingClientRect(data => {
- if (this.autoClose) {
- data[0].show = false
- } else {
- data[0].show = this.show
- }
- this.position = data
- })
- .exec()
- },
- getButtonSize() {
- const views = uni.createSelectorQuery().in(this)
- views
- .selectAll('.button-hock')
- .boundingClientRect(data => {
- this.button = data
- })
- .exec()
- }
- }
-}
diff --git a/components/uni-swipe-action-item/uni-swipe-action-item.vue b/components/uni-swipe-action-item/uni-swipe-action-item.vue
deleted file mode 100644
index 9a0f8f2..0000000
--- a/components/uni-swipe-action-item/uni-swipe-action-item.vue
+++ /dev/null
@@ -1,270 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- {{ item.text }}
-
-
-
-
-
-
-
-
-
- {{ item.text }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.text }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.text }}
-
-
-
-
-
-
-
-
diff --git a/components/uni-swipe-action/uni-swipe-action.vue b/components/uni-swipe-action/uni-swipe-action.vue
deleted file mode 100644
index 9ad5c5e..0000000
--- a/components/uni-swipe-action/uni-swipe-action.vue
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/pageE/mine/EditUserInfo.vue b/pageE/mine/EditUserInfo.vue
index 182127c..91fc9c1 100644
--- a/pageE/mine/EditUserInfo.vue
+++ b/pageE/mine/EditUserInfo.vue
@@ -66,6 +66,9 @@ export default {
onLoad() {
this.getUserInfo();
},
+ onNavigationBarButtonTap(e) {
+ if( e.index == 0 ) uni.navigateBack();
+ },
methods: {
changeAvatar() {
const url = this.$u.http.config.baseUrl + '/Upload/uploadfile';
diff --git a/pageE/mine/Integral.vue b/pageE/mine/Integral.vue
index 3fd33e8..17d828d 100644
--- a/pageE/mine/Integral.vue
+++ b/pageE/mine/Integral.vue
@@ -9,9 +9,12 @@
经验值
{{ memberInfo.member_exppoints }}
-
+
预计进度
- {{ memberInfo.next_grade_exppoints_diff }}
+
+
+
+
@@ -47,6 +50,11 @@ export default {
}
})
},
+ viewProgress() {
+ this.$u.route({
+ url: '/pageE/mine/MineProgress'
+ })
+ },
},
};
@@ -74,6 +82,10 @@ export default {
font-size: 48rpx;
font-weight: 500;
color: rgba(255,255,255,1);
+ > image {
+ width: 52rpx;
+ height: 35rpx;
+ }
}
}
}
diff --git a/pageE/mine/MemberServe.vue b/pageE/mine/MemberServe.vue
index 24f2c59..575dfa1 100644
--- a/pageE/mine/MemberServe.vue
+++ b/pageE/mine/MemberServe.vue
@@ -1,8 +1,8 @@
-
+
-
+
@@ -15,7 +15,7 @@
经验值
{{ memberInfo.member_exppoints }}
-
+
预计进度
{{ memberInfo.next_grade_exppoints_diff }}
@@ -26,21 +26,9 @@
-
-
-
-
- 萌店十元优惠券
-
-
- 2020.05.17-2020.06.17
-
- 299积分
-
- 兑换
-
-
-
+
+
+
@@ -61,6 +49,7 @@
@@ -171,55 +167,6 @@ export default {
}
.coupon {
height: 100%;
- .coupon-item {
- padding: 30rpx;
- background-color: #ffffff;
- display: flex;
- align-items: flex-end;
- margin-bottom: 2rpx;
- > img {
- width: 180rpx;
- height: 160rpx;
- border-radius: 10rpx;
- margin-right: 30rpx;
- }
- .coupon-main {
- .coupon-title {
- font-size: 30rpx;
- color: rgba(51,51,51,1);
- }
- .coupon-date {
- display: flex;
- align-items: center;
- margin: 29rpx 0 20rpx;
- > img {
- width: 24rpx;
- height: 24rpx;
- margin-right: 15rpx;
- }
- > view {
- font-size: 24rpx;
- color: rgba(153,153,153,1);
- }
- }
- .coupon-integral {
- font-size: 30rpx;
- font-weight: 500;
- color: rgba(255,120,15,1);
- }
- }
- .coupon-btn {
- margin-left: auto;
- width: 85rpx;
- // height: 42rpx;
- border: 2rpx solid rgba(255,120,15,1);
- border-radius: 10rpx;
- font-size: 26rpx;
- color: rgba(255,120,15,1);
- line-height: 42rpx;
- text-align: center;
- }
- }
}
.details {
height: 100%;
diff --git a/pageE/mine/MemberServeCoupon.vue b/pageE/mine/MemberServeCoupon.vue
new file mode 100644
index 0000000..796aad4
--- /dev/null
+++ b/pageE/mine/MemberServeCoupon.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pageE/mine/MineInfo.vue b/pageE/mine/MineInfo.vue
index 574cf6a..a5ee6f0 100644
--- a/pageE/mine/MineInfo.vue
+++ b/pageE/mine/MineInfo.vue
@@ -41,7 +41,7 @@ export default {
userInfo: {}
}
},
- onLoad() {
+ onShow() {
this.getUserInfo();
},
onNavigationBarButtonTap() {
diff --git a/pageE/mine/MineProgress.vue b/pageE/mine/MineProgress.vue
new file mode 100644
index 0000000..fa87ee8
--- /dev/null
+++ b/pageE/mine/MineProgress.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+ 等级定义
+
+
+
+ lv{{ rank.level }}
+ 经验值:{{ rank.max == '--' ? rank.min + '及以上' : rank.min + '~' + rank.max }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pageE/tool/MineCoupon.vue b/pageE/tool/MineCoupon.vue
new file mode 100644
index 0000000..724cd48
--- /dev/null
+++ b/pageE/tool/MineCoupon.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages.json b/pages.json
index e723fd0..d7ac6c5 100644
--- a/pages.json
+++ b/pages.json
@@ -329,6 +329,19 @@
}
}
},
+ {
+ "path": "tool/MineCoupon",
+ "style": {
+ "navigationBarTitleText": "优惠券",
+ "app-plus": {
+ "titleSize": "36px",
+ "titleNView": {
+ "titleColor": "#333333",
+ "backgroundColor": "#FFFFFF"
+ }
+ }
+ }
+ },
{
"path": "more/MineHelp",
"style": {
@@ -474,6 +487,19 @@
}
}
},
+ {
+ "path": "mine/MineProgress",
+ "style": {
+ "navigationBarTitleText": "预计进度",
+ "app-plus": {
+ "titleSize": "36px",
+ "titleNView": {
+ "titleColor": "#333333",
+ "backgroundColor": "#FFFFFF"
+ }
+ }
+ }
+ },
{
"path": "tool/Manicure",
"style": {
diff --git a/pages/mine/index.vue b/pages/mine/index.vue
index d95d286..d870fd4 100644
--- a/pages/mine/index.vue
+++ b/pages/mine/index.vue
@@ -92,6 +92,10 @@
足迹
+
+
+ 优惠券
+
@@ -131,7 +135,7 @@ export default {
return value ? value.replace(/^(\d{3})\d*(\d{4})$/, '$1****$2') : '';
}
},
- onLoad() {
+ onShow() {
this.getUserInfo();
},
onNavigationBarButtonTap() {
diff --git a/static/image/mine/25.png b/static/image/mine/25.png
new file mode 100644
index 0000000000000000000000000000000000000000..4702a8ecd2ab80564f62e41001754835b3193394
GIT binary patch
literal 7662
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
G?SBBtp={a!
literal 0
HcmV?d00001
diff --git a/static/image/mine/27.png b/static/image/mine/27.png
new file mode 100644
index 0000000000000000000000000000000000000000..22bde9b3ecb3b33061bfad00e55bb4ce29eb7c6a
GIT binary patch
literal 15426
zcmeHOc|4Ts+h?M5T9`xWlx5;qQAn%ClBq_DB&5X%rxIl=LfN0wIhlxbQi`#(NXAZx
z!OZ!kRhBlg=BNzWlI+`i&GQVNIj_&Vd_L#>yzl$@_1`o1+|PYq_jP@*<-VTly0B-r
z{=6R+{~#nJG;ik)s;Q8W=usgd;a|mO!brw>Ws;B(NoXf^%ic3q9rgZU&Yp+lzm)e^
zXU>i<6%BsfSZwl#1xI}(e_kC|+q1hy*+wbH?1V(|N(K8Fs#HqYFWK~p*}5G4#r~B2@B5BdvW7d7ubd_nM%CMO4fYR^TJKsk(`|2&-%QV`Kur^MH%z96dr(3M%JHk3d(I{uv~5G$o12@HObytkx1&raX@G|ogT{w?
zCL{LyOKV$b=5Nhh%j8{dN62AhI3bK4U7E_mG?y%wHpKDZHJ2cIL{8ovEBp%fI~uRR
z3LWQ9^xuLhKTay-Wn-b_$zvLE$W`6I?W>`!+@cl>Jv+h@E)jpfMd
zEmPf)%=}zW=5n*&>|TQMs3M2cwLtIXiG9^4NZuXURjG$gztr>m$dIqdN%j*s#8w+`
z@8MyMjT<*tQ9CxjQ7QTQnEv37c-D0UW%nD^Fw>#ewa%=L9Z}=l6G=$BYo5!-upOGX%{NGeCaceCQ>Q3*HUI?
zf>_nLBYmAAMz|$}kQ$NHl|fBkYnZ+F_L!STd}Mg~Z>`itH?X-6Qk5>{_ITdUwn^g2
zM4nE!%g$zO7C6q9#vVNr?OVTXPRUg&`TCaFU6P_v8HOI^{;DrGZz)-nsL(A8cHpXJT3HTE4wDTGRdWQU?czT)pDt
zm)nCRc@jnB#6B`&3l6CG<%XD8%sE<;S+HCo=JjJ!FTS>*hl{gCUivz1F*i?pL1y2y
z)$hPCwx7_oDyZp6t$l+5$@}ZaXS34M(#CV?o7f@o-*9jVpwtqyw6vaFlGiP&_ISU1
z=o7=t+zKwr^w?oIGqM{=1hHu`duet%Hh7%xS1uEGV8I#*h$zd{wxeWFqqWE#IpL)?P_{v*x
zlT+rnku~rxs7m8@8L98$ToakL;1}TZ*Dz-3N(Spx52JyvlxkSYh|$
zCF39a%
z6LMW(Fl0H~Fy|#DN2SC;p^5wPe{voCR_)kFGn$vGCU7*Bis!3E6Wzv{OgTAXf?JvR
zy{uFVj1W43%w^{uP+9zJ5N8R1%%MttmXc6K2Tg*E|%E*;m8Psrs~oJe;ML8UZ%iizdJPphA!a`po>c~my(cXVxn@QYLXsQN(
zRQ0gawT05x*|m7+E&V}bda18~`<0a1bj8%`Lr3oWvDIpY-(In5YS>I>LNg;Rl-}i-
zlz^F2n>z&0?Zt*cx6YLR+(#pasg`_QL+oCy*rXhIyk#ApW27(Agji$cLZ8jC{`YrY
zDlIMTx?XxLt(-hgz2f_3IZB(P)IfCjtJN>KJyH9sM>!Kd#QQ8&yTql@^0#+c_!ZyL
zNL_Cd9lHC2q#9{m`U?7M1C3vzPukgWL%_I=pF8)i
z&W_~$`AwpWHI3$7Q|}*8E^b;ONbN}_gyvS(WksV6Kg~GuWbBLjf@>w8&Q(@cdaxrK
zpC~jX5;HumYi{P_OUA&aU#lstp`l^y-Q&lPtNNHPgF9paZb2Wr(bC
zEh6z!|LgR?fA%k(2vT@dGJ-kM3QbqYTx0!W*Ng)rPqG%&f~!c%s&>=}@I6hHVGm2I
zjmNtkZ|AdsL!Q$<_NKi{ulO1L!Ls<%B|}3)Df*Y>3XkNvGMS(KxeWP}WlmCf^DYF4
zMBQfA0xPwM;A+Pl$6JY!7)L1`1UrQ$|M*N5w~qJ)7*hDWM)E~OGTnDFv6Fg{NMRj+
z5HI5NQwSNBka+5)gPC_a%vRLAYmT#ci{b+)9^rP`QoNJyGN+KV-j>uxO=$pfQ%vk=
zpsTVQ8oVGg;Foy7M(8h+&E0V%w%Tjh3O!+O&dQp+g*9EK;RO9Zz?8|bMm^sBJUEB_oN19pu
zic(G$J6b4;hhqzms`veCWKq-|*hwL=evAkda3c9I!`*crI!1AW9hx1@G34{5APZxf
zQg1P-=@2EJ_I;FijF%xtjzBn=HWS@q(PdyO^~wDo&|lcB+fouwL%$|p*HULdbkzgKU$75jysHp~TZlRi=P#|GWUk
z+7cI|+qUebkZP6L&3I0{+Ye`7eR&oJh?4+_hj~|b;y7{rE>IrnnY)3v#6?&^>(xUG
z%#>rM^Cdt)-_0Nx`z3}X=i(?7CX51AeZ!mYVsYiF*kNTzcRXk&HH~5jdt8gl#vNmd
zuK|=wEu6kgz9fWP0|}~balpIMDPAMVo>OZ~y(COf1+mb6sXUJ#o8&LyVAr(cA{M~u
z9FdfHQybt8DU#VR?YP+ee*i;fTVQvZza9bE?(b^yHZ^VyH@(nB+2H?Na
zS@AnaZJE8(6vt7NVuX>xdgtSQPLUF~Oc-%Atf-mxPY{^w%Ey2%dNDb6{+tITip4*mFLYWGEDpx6nT>VM;IH
z6ENlqXqkXh;d50`P5+9qAyx1p{l2@f1i?N4T59p9pYbfYuLdxRw%mq}RWLx#WZG4n
z-6HJ?gt7U0*iD9F40@qM{&fu=3F$DSGHDB{659clvM<-9;LIyW3FL5FJ1L&`jtvvk
zG101_0SCajdSDI14R2rpq5w0CfDq%*-6^9)tJ&}?UPdC~nt;N&$8Dfgc
zoA)qR*Kz^)z9LW^`^Dd?j~8`dqTu`sM;)9hg(gGqiv#-=nq2z4eO?nW_Vj~~^peLz
zbJ7_7pS56<^8fB~a3(>5^!Ev@Q5}*q{t>1_`|XAu%LbbmJv4E%Dmx4&h%*?p`Uh>e
zpjZew_k*Rm)T2*!-e>YG)sAIVe~tT1n{RDSuLgrUHgh>%^*O%a_6y}v@@=S~_(a*)
zD{+UpXbSf2d6q>G&o$g#31;T=rw%OE#EiurpkZ5HI2kp&9AWr1i}F=$5*hHI2{En*
zJq-;WCGOE6j?2C0h1){n9>kxtw1gArSezM{%Y>0gTo6pLu?CYj>A)UBoIRhrZ~3xG
z1)MMCmsGGv<9pVnEI0LzzcYi2VR>e%a0{B(}?qBe&5Lt8$U&n6L$>0YL
zT`0kFMEqdM{t(R2%sY?KNCq0+a#rGLjGGT*vOy;>Zx{m(*xOa?2;b46Z`p_oBgy;E
zp+5HF4q)r8BNo3+d0fNs}
zkCCy<3@9&U)kg9t-wrFtw*H)=$0w0TxjjJOHaT7og$LzVN+oSdPH@TbgRo-QR~|Ea
z$W@rU>eSimQ*00>q`(Z?iYhF*yM6_@__BSrcpBdr7xPGa^?5huLjBhoeb!qx0gdV5~5PiH;$=L7dTF9d=LgNeJAjg03S;HNUEOJxV}6XyLxcc;mwByQHl6aXM)L#;@~&|`s)Oo
zGiEP@2@gRP=l3|@#b074HiV=Vp;}n3^eO(B6Q*J=PwFpNH&Cfhtj3>+2m^3uomsDl
zSBHs%s_z0;t9Kncffvt&C}u*IK(_HEJ|i|kO~Cg<{;iVSWzYyIH_xt&?uTw=Y0=^5
zZ83w*0VvJTjqAoiX;C4^9KLP%<*4$%!0E5H*@B8sT>*qi4?VsBC(P{-ddhw}sEV2Z
zGYCC*_kQie;mbw|V0F{-IRiyYqY(U>K{|`&WcWCc1^j3gS7F$C15tkpZLbb)3$Zs~
zlv1k9HlSk_i4a?w`IX`*CZ$6*$-`Pf99>ZG_Je7)x)D&mzRMX+NG*aDJnjT$FT`p5
zZP578=J17>IVBPfx(MU`75RP_nb6tqcM-6(|En3$X0@l6goKui@@fI5%;kTY4c$hH
z|CYz-X_l+CTtw8>4mEPZZoPNGS4KaMcEa*rg0`I^4*pqZ(=SB9VQkmy=Ru7Yd*&>|
zE6T(~9q^fbjbhs;9LNNGc>mih1|x91uKL<^p5_~56>85ZF2X)j<6i@|ABV6i;glT>
z&1?K++lm?BaK%GyMDUhl;{ET3{97f-@fE9+Aj*?#*~ZGgo@Ik}t^Cku`q+H`0=-j%
z)%&cmuNaK~D2}-v3ZT-=%~9q_cNbtm3sIzDU*}O-B3mFjoaMXuA(l>Y;oX`QCqT!;
zQ-uq_fZcUO6NN!KB>y~?sfpu5lQ?&n(e`mMmKa@
zmR`huVOt?OFvAK9K)*Z1?+Lnp5vRzRN9?|w<#f$-sFTrC9_s3V-c^N=%eyri9|0M#J{d<0bnJTegdMgvz|1bbLH%Si=?7X
zayCv|7lnW{*C*V^vVnB))N^qEe)rT9#_V6_`nq`mQGQeHG3EHKQZm~ooJK>l%F|U8
zOvd)e7^LrpJtZZl^DWb5dM6P!1ewE*_eQ&@leT~AVLG%<-c(v*A;I9Uv4%KF1nyy)
zk86|5#`%N28LKa*;_S_&Z<(fSVshEH>oFceS^V
zG*#!{4G)E4+qxktb{i2U1j2}$+avtgucqm;8FPTIPJ@c{F;3dVTXm1}!=qUNnKf+=%i&VKj$En(@6k-$@z4@rJ
zBYh%JXWZG|Uf}KPJ9<09()HQ?{?9&*v3@Dc&lzOyDyW+s+vCy|rit?%>Rw2jnL(Pa
zNBcW><@kE`^8usrcL*&0Y%W6AD&$DZ%t=0%t)--Z)h?4FLTr$XvTlLG+*o2
zavbL=Htht~xUe*_{CYXpy3@6a(UZ(%R&6g%>KoQ8KU9{8eSm9;g3@)3u7aL2X-lux
zc+cn(N3P7%&W+{dgiMw9zngkJ%bWXwUsQ`3g+;gFjSt*d|FLzUaymnHzSU_eB_)bY
z9b2o5EQ`?wqzXG|{HYDPHINr>y19z%F#BlNPq$P`pkpJr++8VFpziblpo;DLhp6<(
zXz=QyGf6I5^`opU4a>qiYHeSjHFY|Y18)a?{PbjhZtt|po(W~=%Ft=#LM=A#n_IdG
zZ#-JIHs0+i)9Rwe`mODw5jSdRSjU*=XU>tq*hqN~mGa}w!0GaoRTooq!s=Del&Iz=
zzd!XvHa3X9qEGgX4}LlOJ&ifp+1W>oeVQa)9Mbhw<4ZC}vgv2GOmk)T<)vfhHf?qzJd0kd8
zIW2|de5E&)JvOA@-rmj#rL*gf%42OB93d#SA3PrXs3|wnvNPD7L
zLXj`%v94b6j5ewXu1-~$ptIoJ=!M7?stbc{jk&DyjNKFcLRrM_FH6f@j$tdF<8;*4
z*1pfp$mq^qd?GrV3d=g{voo?1Und$)c@t=_*}PZkQI^-HDnuWuxD(0T?PEdBNZ=RD
z3AgMZaYuUKkRe7nF4|#Wmd2oACwEBH+9<}v2`33JQhHWl;pn}PkdX3Tn`>^1Z!(!n
zT+56%B`9phGLtixrw<1gKt0Dc=+x1Olqu{6o(*KGSj!UGbsrT@;6s8qLl6M_kjlac
zck;GFg(aCj7F3`6sa~H^--;k&1$UK#sy662tU}uB-!Jo~QIjJ@t~)a%xb?5sB+u~^iD*Q%(+Zjn|yd~v4|J5BmB
zIOsF>G~Bc^&Qnnp+C2Q1#(x{y9<&N8Ss7aKWehsEo~hN&JsK-RWWUyR5Qy^|8KPDu
zQje~3E#vh?cSmdXh5`EP*{z$}ULM$veW?qX?6bPu^xpJ-Hl^=d>+612TPkbJo2q>;
ziQG7Nq_eQ3QE_^7d
zd3;!~XKNW!F0I#1zvh))a~JH_M}~Fn3A0kvfl`JE@@hf1vR`Dr<+VylH#6Qh6eWh@
z8Ed}_t>Sb^_6qzBKCeoGMCZwd#$m-V_LlIC<`!@)^zoAV`Z!obrQ`{Z(h5B~ZUw95
zD{@Byu4xOD6H{&zct~dh((|@Qojy>YQW6D)Y3`eT;g>e7LBe0fHh9!J>8r8YGdmtf
z`WXHRYt}b_1JP6n&B=}vY}DJ+_yU?PMvWPpPTl=OF8W$3*1_nm`72g)9!EyXp%rwX
z`T6+xRhHOMT`6L@qub6xd<0Sv#_?AUYVuyptPke36!O&FYVHv+OgY(^=ZG4i
zT0^hcur1dN_kDm@KEhB5YMMpssyX~HQzcfCSatuM=_>Tqin|*{>W
z4O;it?0qX>A?D4#KW4UJUPp#qHIo_hyW7~ATHju*$Xj)GLB3MZzO3h!GvGffhMOPF
zFixOCIBqA>4~H`|+Srocho!4*tK3?!Zo5c{9mYFRH57byUb
zgN@O8CI#uAVp4LFn4e9^-13~7z3VXQV>ol5ac94Ghr-xuXO)%Z2h8tOLvOIqPQBgK
J)U7tZ{2P!x+^+xt
literal 0
HcmV?d00001
diff --git a/static/image/mine/28.png b/static/image/mine/28.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba0b54d476e6115218cd66fd8a532148a9c950d4
GIT binary patch
literal 43106
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