Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 29520d0daa | |||
| f5c0df688c | |||
|
|
38cc93cba4 | ||
| ccef999bbe | |||
| 589eec1d80 | |||
| 242744c0f9 | |||
| e67e1edf12 | |||
| 8f50f42f8c | |||
| 65149c38cd | |||
| c26e306b3a | |||
| 9e24edad28 | |||
| 67b3e63de9 |
28
project.config.json
Normal file
28
project.config.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"appid": "wx24c1b58020a5ce66",
|
||||||
|
"compileType": "miniprogram",
|
||||||
|
"libVersion": "3.3.3",
|
||||||
|
"packOptions": {
|
||||||
|
"ignore": [],
|
||||||
|
"include": []
|
||||||
|
},
|
||||||
|
"setting": {
|
||||||
|
"coverView": true,
|
||||||
|
"es6": true,
|
||||||
|
"postcss": true,
|
||||||
|
"minified": true,
|
||||||
|
"enhance": true,
|
||||||
|
"showShadowRootInWxmlPanel": true,
|
||||||
|
"packNpmRelationList": [],
|
||||||
|
"babelSetting": {
|
||||||
|
"ignore": [],
|
||||||
|
"disablePlugins": [],
|
||||||
|
"outputPath": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"condition": {},
|
||||||
|
"editorSetting": {
|
||||||
|
"tabIndent": "insertSpaces",
|
||||||
|
"tabSize": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
7
project.private.config.json
Normal file
7
project.private.config.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||||
|
"projectname": "jwl-applet",
|
||||||
|
"setting": {
|
||||||
|
"compileHotReLoad": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -72,4 +72,47 @@ export function canRecieveGift(data) {
|
|||||||
data,
|
data,
|
||||||
noToken: true
|
noToken: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//查询中奖信息
|
||||||
|
export function queryWinnerInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: 'activity/applet/activity/winner/info',
|
||||||
|
method: 'get',
|
||||||
|
data,
|
||||||
|
noToken: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询助力信息
|
||||||
|
export function queryHelpInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: 'activity/applet/activity/help/info',
|
||||||
|
method: 'get',
|
||||||
|
data,
|
||||||
|
noToken: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//保存助力信息
|
||||||
|
export function saveHelpInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: 'activity/applet/activity/help/save',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
noToken: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//微信登录获取手机号
|
||||||
|
export function wxLogin(data) {
|
||||||
|
return request({
|
||||||
|
url: 'activity/applet/activity/wx/login',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
noToken: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -197,6 +197,13 @@
|
|||||||
"navigationBarTitleText" : "核销二维码",
|
"navigationBarTitleText" : "核销二维码",
|
||||||
"enablePullDownRefresh" : false
|
"enablePullDownRefresh" : false
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/me/help",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "好友助力",
|
||||||
|
"enablePullDownRefresh": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view style="padding-bottom: 50px;background-color: #9e0f00;">
|
<view style="padding-bottom: 50px;background-color: #9e0f00;">
|
||||||
<image class="wp100" mode="widthFix" src="https://jwl-jiakao-bq.oss-cn-hangzhou.aliyuncs.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87/ggl_header.png"></image>
|
<image class="wp100" mode="widthFix" src="https://jwl-jiakao-bq.oss-cn-hangzhou.aliyuncs.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87/ggl_header.png"></image>
|
||||||
<view class="tip">您今日还剩{{actiNum}}次刮奖机会,共有{{total}}人参加活动</view>
|
<view class="tip">您今日还剩{{actiNum}}次刮奖机会,共有{{total}}人参加活动</view>
|
||||||
<view class="scraping">
|
<view class="scraping">
|
||||||
<scraping-card style="z-index: 20;" :result="result" watermark="刮一刮" title="刮一刮赢取大奖" ref="reset" @complete="handleComplete" >
|
<scraping-card style="z-index: 20;" :result="result" watermark="刮一刮" title="刮一刮赢取大奖" ref="reset" @complete="handleComplete" >
|
||||||
@@ -48,7 +48,9 @@
|
|||||||
actiNum: 0,
|
actiNum: 0,
|
||||||
total: 0,
|
total: 0,
|
||||||
winningList: [],
|
winningList: [],
|
||||||
activityRule: undefined
|
activityRule: undefined,
|
||||||
|
startTime: undefined,
|
||||||
|
endTime: undefined
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(op) {
|
onLoad(op) {
|
||||||
@@ -115,6 +117,9 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleComplete() {
|
handleComplete() {
|
||||||
|
if(){
|
||||||
|
|
||||||
|
}
|
||||||
saveWinner({
|
saveWinner({
|
||||||
phone: useUserStore().userInfo?.phone || '',
|
phone: useUserStore().userInfo?.phone || '',
|
||||||
detailId: this.detailId,
|
detailId: this.detailId,
|
||||||
@@ -123,10 +128,14 @@
|
|||||||
this.btnText = '再刮一次!'
|
this.btnText = '再刮一次!'
|
||||||
if(resp.code == 200) {
|
if(resp.code == 200) {
|
||||||
this.getActivityNum()
|
this.getActivityNum()
|
||||||
uni.showToast({
|
if(this.result != '谢谢惠顾'){
|
||||||
icon: 'none',
|
let help = ",完成助力即可领取奖品!"
|
||||||
title: `恭喜获得${this.result}`
|
uni.showToast({
|
||||||
})
|
icon: 'none',
|
||||||
|
title: `恭喜获得${this.result}` + help
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
this.showBtn = true
|
this.showBtn = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -136,6 +145,8 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
||||||
|
|
||||||
.tip {
|
.tip {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-top: -80px;
|
margin-top: -80px;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<!-- <view v-if="getLoading" class="wp100 relative" style="height: 100vh;">
|
<view v-if="getLoading" class="wp100 relative" style="height: 100vh;">
|
||||||
<image class="wp100" mode="widthFix"
|
<image class="wp100" mode="widthFix"
|
||||||
src="https://oss-bq.ahduima.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87/%E8%80%83%E8%AF%95%E6%8F%90%E9%86%92_20230906135037.png">
|
src="https://oss-bq.ahduima.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87/%E8%80%83%E8%AF%95%E6%8F%90%E9%86%92_20230906135037.png">
|
||||||
</image>
|
</image>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
src="https://oss-bq.ahduima.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87/%E9%87%91%E6%AD%A6%E8%81%94_20230831123333.png"
|
src="https://oss-bq.ahduima.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87/%E9%87%91%E6%AD%A6%E8%81%94_20230831123333.png"
|
||||||
mode="widthFix"></image>
|
mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view>
|
||||||
<view v-if="!getLoading">
|
<view v-if="!getLoading">
|
||||||
<!-- <j-navbar :isBack="false">金武联驾考</j-navbar> -->
|
<!-- <j-navbar :isBack="false">金武联驾考</j-navbar> -->
|
||||||
<u-sticky bgColor="#fff">
|
<u-sticky bgColor="#fff">
|
||||||
|
|||||||
259
src/pages/me/help.vue
Normal file
259
src/pages/me/help.vue
Normal file
@@ -0,0 +1,259 @@
|
|||||||
|
<template>
|
||||||
|
<view style="padding-bottom: 50px;background-color: #C5121B;">
|
||||||
|
<image class="wp100 img" mode="widthFix"
|
||||||
|
src="https://oss-bq.ahduima.com/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87/%E5%8A%A9%E5%8A%9B%E4%B8%BB%E5%9B%BE.jpg">
|
||||||
|
</image>
|
||||||
|
<view class="relative tip">邀请好友帮助你进行助力即可有机会领取奖品</view>
|
||||||
|
<view class="relative help_div">
|
||||||
|
<!-- -->
|
||||||
|
<view v-if="type == 1" class="relative help_card">
|
||||||
|
<view class="relative help_tip">
|
||||||
|
还差{{diffNum}}位好友助力即可领取奖品:
|
||||||
|
</view>
|
||||||
|
<view v-if="winnerInfo.awards != undefined" class="relative help_tip" style="font-size: 40rpx;">
|
||||||
|
{{winnerInfo.awards}}
|
||||||
|
</view>
|
||||||
|
<view class="p20">
|
||||||
|
<u-grid :border="false" col="3">
|
||||||
|
<u-grid-item v-for="(item, index) in helpUserList" :key="index">
|
||||||
|
<u-avatar v-if="item.id" class="p10tb border" size="120rpx" :src="item.avatarUrl"></u-avatar>
|
||||||
|
<view v-else class="p10tb">
|
||||||
|
<view class="avatar-text">
|
||||||
|
<u-avatar bg-color="#fff" color="#ccc" size="120rpx" text="邀"></u-avatar>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-grid-item>
|
||||||
|
</u-grid>
|
||||||
|
</view>
|
||||||
|
<view class="help_btn">
|
||||||
|
<button open-type="share" class="help_btn_font"> 邀请好友助力</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view v-if="type == 2" class="relative help_card">
|
||||||
|
<view class="relative help_list" style="top: 200rpx;">
|
||||||
|
<view v-if="winnerInfo?.activityName" class="help_tip"
|
||||||
|
style="font-size: 40rpx; margin: 25rpx 0rpx;">
|
||||||
|
{{winnerInfo?.activityName}}
|
||||||
|
</view>
|
||||||
|
<view v-if="winnerInfo.schoolName != undefined" class="help_tip">
|
||||||
|
举办单位:{{winnerInfo.schoolName}}
|
||||||
|
</view>
|
||||||
|
<view v-if="winnerInfo.awards != undefined" class="help_tip" style="font-size: 45rpx;margin: 25rpx 0rpx;">
|
||||||
|
奖品:{{winnerInfo.awards}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="help_btn">
|
||||||
|
<button class="help_btn_font" open-type="chooseAvatar" @chooseavatar="handleHelp"
|
||||||
|
:disabled="disBtn">帮好友助力</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import useUserStore from '@/jtools/store/user'
|
||||||
|
import {
|
||||||
|
queryActivityDetail,
|
||||||
|
queryHelpInfo,
|
||||||
|
saveHelpInfo,
|
||||||
|
queryWinnerInfo
|
||||||
|
} from '@/jtools/api/activity'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
winnerId: undefined,
|
||||||
|
helpUserList: [],
|
||||||
|
drawNum: 0,
|
||||||
|
phone: undefined,
|
||||||
|
type: 2,
|
||||||
|
winnerInfo: undefined,
|
||||||
|
disBtn: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(op) {
|
||||||
|
this.winnerId = op.id
|
||||||
|
// this.type = op.type ? Number(op.type) : 1
|
||||||
|
this.phone = useUserStore().userInfo?.phone || undefined
|
||||||
|
console.log(this.phone)
|
||||||
|
this.getWinnerInfo()
|
||||||
|
this.getHelpInfo()
|
||||||
|
this.disBtn = false
|
||||||
|
|
||||||
|
},
|
||||||
|
onShareAppMessage(res) {
|
||||||
|
if (res.from === 'button') { // 来自页面内分享按钮
|
||||||
|
console.log(res.target)
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
title: '我正在参与领奖活动柜,请帮我助力',
|
||||||
|
path: '/pages/me/help?id=' + this.winnerId + '&type=2'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
if(this.type == 1){
|
||||||
|
this.getWinnerInfo()
|
||||||
|
this.getHelpInfo()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
methods: {
|
||||||
|
//查询中奖信息
|
||||||
|
getWinnerInfo() {
|
||||||
|
queryWinnerInfo({
|
||||||
|
winnerId: this.winnerId
|
||||||
|
}).then(resp => {
|
||||||
|
if (resp.code == 200) {
|
||||||
|
console.log(resp)
|
||||||
|
this.winnerInfo = resp.data;
|
||||||
|
if (this.phone && this.winnerInfo.phone == this.phone) {
|
||||||
|
this.type = 1
|
||||||
|
} else {
|
||||||
|
this.type = 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
//查询助力信息
|
||||||
|
getHelpInfo() {
|
||||||
|
queryHelpInfo({
|
||||||
|
winnerId: this.winnerId
|
||||||
|
}).then(resp => {
|
||||||
|
if (resp.code == 200) {
|
||||||
|
this.drawNum = resp.data.helpNum;
|
||||||
|
const list = resp.data.helpUsers.map(item => ({
|
||||||
|
...item,
|
||||||
|
avatarUrl: 'https://jwl.ahduima.com' + item.avatarUrl
|
||||||
|
}));
|
||||||
|
this.diffNum = (this.drawNum - list.length) < 0 ? 0 : (this.drawNum - list.length);
|
||||||
|
const arr = new Array(this.diffNum).fill({})
|
||||||
|
this.helpUserList = [...list,...arr]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//点击助力
|
||||||
|
handleHelp(e) {
|
||||||
|
this.disBtn = false
|
||||||
|
uni.login({
|
||||||
|
provider: 'weixin', //使用微信登录
|
||||||
|
success: (loginRes) => {
|
||||||
|
console.log(loginRes);
|
||||||
|
uni.uploadFile({
|
||||||
|
url: 'https://jwl.ahduima.com/activity/applet/activity/help/save',
|
||||||
|
// url: 'http://192.168.1.6:8089/applet/activity/help/save',
|
||||||
|
filePath: e.detail.avatarUrl,
|
||||||
|
name: 'file',
|
||||||
|
formData: {
|
||||||
|
'code': loginRes.code,
|
||||||
|
'winnerId': this.winnerId,
|
||||||
|
},
|
||||||
|
success: (uploadFileRes) => {
|
||||||
|
console.log(uploadFileRes.data);
|
||||||
|
let resp = JSON.parse(uploadFileRes.data);
|
||||||
|
console.log(resp);
|
||||||
|
|
||||||
|
if (resp.code == 200) {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: `助力成功`
|
||||||
|
})
|
||||||
|
this.disBtn = true
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'error',
|
||||||
|
title: resp.msg
|
||||||
|
})
|
||||||
|
this.disBtn = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.img {
|
||||||
|
top: -130rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tip {
|
||||||
|
height: 75px;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FEFEFE;
|
||||||
|
line-height: 48px;
|
||||||
|
top: -520rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-text {
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px dashed #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.help_div {
|
||||||
|
width: 710rpx;
|
||||||
|
height: 996rpx;
|
||||||
|
top: -560rpx;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
background: linear-gradient(0deg, #F33D2F 100%, rgba(197, 18, 27, 0.01) 0%);
|
||||||
|
border-radius: 40rpx;
|
||||||
|
|
||||||
|
|
||||||
|
.help_card {
|
||||||
|
width: 630rpx;
|
||||||
|
height: 886rpx;
|
||||||
|
margin: 0rpx 39rpx;
|
||||||
|
top: 55rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
|
||||||
|
.help_tip {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #010101;
|
||||||
|
line-height: 55rpx;
|
||||||
|
top: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.help_list {
|
||||||
|
margin: 68rpx 25rpx 25rpx 20rpx;
|
||||||
|
height: 580rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.help_btn {
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 75rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
width: 500rpx;
|
||||||
|
height: 86rpx;
|
||||||
|
background: linear-gradient(0deg, #DE4224 0%, #B81706 100%);
|
||||||
|
border-radius: 43rpx;
|
||||||
|
|
||||||
|
.help_btn_font {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FFFFFF;
|
||||||
|
line-height: 86rpx;
|
||||||
|
background: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -13,8 +13,10 @@
|
|||||||
<view>有效期至:{{ item.endTime }}</view>
|
<view>有效期至:{{ item.endTime }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="ml20" style="width: 120rpx;">
|
<view class="ml20" style="width: 120rpx;">
|
||||||
<img v-if="item.status" src="/static/image/mine/writeoff.png" style="width: 120rpx;height: 120rpx;" />
|
<view v-if="item.status == 0" class="btn" @tap="handleHelp(item)">助力</view>
|
||||||
<view v-else class="btn" @tap="handleWriteoff(item)">核销</view>
|
<view v-else-if="item.status == 1" class="btn" @tap="handleWriteoff(item)">核销</view>
|
||||||
|
<img v-else-if="item.status == 2" src="/static/image/mine/writeoff.png" style="width: 120rpx;height: 120rpx;" />
|
||||||
|
<img v-else src="/static/image/mine/outtime.png" style="width: 120rpx;height: 120rpx;" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-list-item>
|
</u-list-item>
|
||||||
@@ -61,6 +63,11 @@
|
|||||||
url: `/pages/me/qrCode?id=${item.id}`
|
url: `/pages/me/qrCode?id=${item.id}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
handleHelp(item){
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/me/help?id=${item.id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
BIN
src/static/image/mine/outtime.png
Normal file
BIN
src/static/image/mine/outtime.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user