Browse Source

修改bug

dev
岳鹏龙 12 months ago
parent
commit
b7327c541e
  1. 9
      src/api/login.ts
  2. 13
      src/api/user.ts
  3. 2
      src/api/votingElection.ts
  4. 75
      src/pages/login/login.vue
  5. 27
      src/pages/mine/add.vue
  6. 31
      src/pages/mine/index.vue
  7. 43
      src/pages/votingElection/index.vue
  8. 8
      src/store/user.ts

9
src/api/login.ts

@ -28,3 +28,12 @@ export function getSign(data: { meetId: string; openid: string }) {
data
})
}
//扫码时手机号获取用户信息
export function getmemberMobileGet(data: { meetId: string; openid: string; mobile: string }) {
return request.http({
url: '/api/member_mobile_get',
method: 'GET',
data
})
}

13
src/api/user.ts

@ -14,7 +14,7 @@ export interface dateListtype extends listType {
id: number
}
export function infoForOpenid(data: { openid: string; mobile: string; meetId: string }) {
export function infoForOpenid(data: { openid: string; mobile: string ; meetId: string }) {
return request.http({
url: '/api/member_mobile_get',
method: 'GET',
@ -22,7 +22,16 @@ export function infoForOpenid(data: { openid: string; mobile: string; meetId: st
})
}
export function list(data: { name: string }) {
// 手机号获取用户信息
export function getMember_mobile(data: any) {
return request.http({
url: '/api/member_mobile',
method: 'GET',
data
})
}
export function list(data: { name: string, meetId: string }) {
return request.http({
url: '/api/member_name',
method: 'GET',

2
src/api/votingElection.ts

@ -28,7 +28,7 @@ export function getMyvote(data: any) {
// 手机号获取用户信息
export function getMember_mobile(data: any) {
return request.http({
url: '/api/member_mobile_get',
url: '/api/member_mobile',
method: 'GET',
data
})

75
src/pages/login/login.vue

@ -1,14 +1,14 @@
<script setup lang="ts">
import { debounce } from 'feng-uniapp-exploit/utils/index'
import { getMobile, getSign } from '@/api/login'
import { debounce } from 'feng-uniapp-exploit/utils/index'
import { getMobile, getSign} from '@/api/login'
import useUserStore from '@/store/user'
const userStore = useUserStore()
import useUserStore from '@/store/user'
const userStore = useUserStore()
const loginCode = ref('')
const loginCode = ref('')
// code
const getLoginCode = async (): Promise<string> => {
// code
const getLoginCode = async () : Promise<string> => {
try {
const res = await uni.login({ provider: 'weixin' })
loginCode.value = res.code
@ -17,14 +17,14 @@ const getLoginCode = async (): Promise<string> => {
console.error('获取登录code失败:', error)
throw error
}
}
}
//
//
interface phoneEvent {
detail: { errMsg: string; iv: string; encryptedData: string; code: string }
}
const onGetPhoneNumber = debounce(async (e: phoneEvent) => {
interface phoneEvent {
detail : { errMsg : string; iv : string; encryptedData : string; code : string }
}
const onGetPhoneNumber = debounce(async (e : phoneEvent) => {
if (e.detail.errMsg.includes('fail')) {
uni.showToast({ title: '用户拒绝授权', icon: 'none' })
return
@ -41,7 +41,7 @@ const onGetPhoneNumber = debounce(async (e: phoneEvent) => {
getMobile({ openid: userStore.openId, code: e.detail.code })
.then((res) => {
const { data: phone } = res as { data: string }
const { data: phone } = res as { data : string }
userStore.mobile = phone
@ -55,57 +55,52 @@ const onGetPhoneNumber = debounce(async (e: phoneEvent) => {
} catch (error) {
uni.showToast({ title: '登录失败', icon: 'none' })
}
})
const meetid = ref('')
})
const onLoginSuccess = () => {
const onLoginSuccess = () => {
uni.showToast({
title: '登录成功',
icon: 'none',
success: () => {
setTimeout(() => {
userStore.showtoast = false
uni.reLaunch({ url: '/pages/votingElection/index?meetId='+ meetid.value })
uni.reLaunch({ url: '/pages/votingElection/index?meetId=' + userStore.meetId })
}, 1000)
}
})
getSign({openid: userStore.openId, meetId: meetid.value})
}
onLoad((options: any) => {
}
onLoad((options : any) => {
console.log('扫码参数1:', options);
if(options.scene){
meetid.value = options.scene
if (options.scene) {
userStore.meetId = options.scene
uni.setStorageSync('meetstorage', {
meetid: options.scene
});
}
})
})
onShow(() => {
if (userStore.mobile) {
onLoginSuccess()
}
})
onShow(() => {
// if (userStore.mobile) {
// onLoginSuccess()
// }
})
</script>
<template>
<view class="login">
<image class="logo-img" src="@/static/logo.png" mode="widthFix" />
<view class="btn_box">
<u-button
@getphonenumber="onGetPhoneNumber"
text="请签到后进行投票"
icon-color="#fff"
open-type="getPhoneNumber"
color="linear-gradient(270deg, rgba(232, 123, 7, 1) 0%, rgba(247, 205, 77, 1) 100%)"
shape="circle"
/>
<u-button @getphonenumber="onGetPhoneNumber" text="请签到后进行投票" icon-color="#fff" open-type="getPhoneNumber"
color="linear-gradient(270deg, rgba(232, 123, 7, 1) 0%, rgba(247, 205, 77, 1) 100%)" shape="circle" />
</view>
</view>
</template>
<style scoped lang="scss">
.login {
.login {
width: 100%;
height: 100vh;
overflow: hidden;
@ -119,5 +114,5 @@ onShow(() => {
width: 220rpx;
margin-bottom: 60rpx;
}
}
}
</style>

27
src/pages/mine/add.vue

@ -1,22 +1,9 @@
<script setup lang="ts">
import useUserStore from '@/store/user'
import { add as addAPi, type listType } from '@/api/user'
import { add as addAPi, type listType, getMember_mobile } from '@/api/user'
import { getSign } from '@/api/login'
const userStore = useUserStore()
const meetid = ref('')
onLoad((options: any) => {
if(options.meetId){
meetid.value = options.meetId
// let params = {
// mobile: userStore.mobile,
// openid: userStore.openId,
// meetId: options.meetId
// }
// getMember_mobile(params)
}
})
interface formListType extends listType {
openid: string
@ -46,9 +33,15 @@ const onSubmit = uni.$util.debounce(() => {
addAPi(formData).then(() => {
uni.hideLoading()
uni.showToast({ title: '签到成功,等待投票!', icon: 'none' })
setTimeout(() => uni.switchTab({ url: '/pages/mine/index?meetId='+meetid.value }), 1000)
getMember_mobile({openid: userStore.openId}).then((res:any)=> {
userStore.userInfo = res.data
getSign({ openid: userStore.openId, meetId: userStore.meetId })
})
setTimeout(() => uni.switchTab({ url: '/pages/mine/index?flash='+ true }), 500)
})
}
})
</script>

31
src/pages/mine/index.vue

@ -1,6 +1,6 @@
<script setup lang="ts">
import useUserStore from '@/store/user'
import { list as listApi, type dateListtype, update as updateApi } from '@/api/user'
import { list as listApi, type dateListtype, update as updateApi, getMember_mobile} from '@/api/user'
import { getAdminPhone } from '@/api/login'
const userStore = useUserStore()
@ -17,23 +17,6 @@ const amdinPhone = ref('')
const navto = (url: string, params = {}) => uni.$util.goToPage({ url, params })
const meetid = ref('')
const meetidparam = ref({})
onLoad((options: any) => {
console.log('扫码2:', options);
if(options.meetId){
meetid.value = options.meetId
meetidparam.value = {meetId: options.meetId}
// let params = {
// mobile: userStore.mobile,
// openid: userStore.openId,
// meetId: options.meetId
// }
// getMember_mobile(params)
}
})
const getList = uni.$util.throttle(() => {
@ -42,13 +25,13 @@ const getList = uni.$util.throttle(() => {
return
}
uni.showLoading({ mask: true, title: '加载中...' })
// uni.showLoading({ mask: true, title: '...' })
listApi({ name: keyword.value })
listApi({ name: keyword.value, meetId: userStore.meetId })
.then((res) => {
const { data } = res as { data: dateListtype[] }
list.value = data || []
uni.hideLoading()
// uni.hideLoading()
})
.catch(() => uni.hideLoading())
})
@ -56,8 +39,9 @@ const getList = uni.$util.throttle(() => {
const updateUserInfo = () => {
userStore.bindUser(list.value[activeKey.value].id as number).then(() => {
reset()
uni.showToast({ title: '提交成功,等待投票!', icon: 'none' })
userStore.getUserInfo()
uni.showToast({ title: '签到成功,等待投票!', icon: 'none' })
})
}
@ -102,6 +86,7 @@ onShow(() => {
getAdminPhone().then((res) => {
const { data } = res as { data: string }
amdinPhone.value = data || ''
})
})
@ -142,7 +127,7 @@ onPullDownRefresh(() => userStore.getUserInfo())
<ex-empty v-show="list.length <= 0" />
<view class="flex-center-evenly">
<view class="bts plain" v-if="list.length > 0" @click.stop="updateUserInfo">确认信息</view>
<view class="bts" @click="navto('pages/mine/add', meetidparam">新建信息</view>
<view class="bts" @click="navto('pages/mine/add')">新建信息</view>
</view>
</block>

43
src/pages/votingElection/index.vue

@ -2,6 +2,7 @@
import { getVoteprogress, voteMember, getMember_mobile, getIs_sign } from '../../api/votingElection'
import useUserStore from '@/store/user'
import { isEmptyObject } from '@/utils/common'
import { getSign, getmemberMobileGet } from '@/api/login'
const userStore = useUserStore()
@ -11,27 +12,29 @@ const reListRef = ref()
const xjList = ref<any>({})
const meetid = ref('')
onLoad((options: any) => {
console.log('扫码2:', options);
if(options.meetId){
meetid.value = options.meetId
// let params = {
// mobile: userStore.mobile,
// openid: userStore.openId,
// meetId: options.meetId
onLoad(() => {
// if(options.meetId){
// getmemberMobileGet({ openid: userStore.openId, mobile: userStore.mobile, meetId: userStore.meetId}).then((res: any)=> {
// console.log(res.data.length,666666666666);
// if(res.data.length === 0) {
// uni.reLaunch({ url: '/pages/mine/index?meetId='+ userStore.meetId })
// } else {
// userStore.userInfo = res.data
// getSign({ openid: userStore.openId, meetId: userStore.meetId })
// }
// getMember_mobile(params)
// })
// }
if(userStore.userInfo.length !== 0) {
getSign({ openid: userStore.openId, meetId: userStore.meetId })
}
})
const doSearch = (_formData: { page: number; limit: number }, onSuccess: Function) => {
setTimeout(()=> {
getVoteprogress(meetid.value).then((res) => {
getVoteprogress(userStore.meetId).then((res) => {
const { data } = res as { data: { candidate: any[] } }
xjList.value = data || {}
onSuccess({
@ -41,20 +44,6 @@ const doSearch = (_formData: { page: number; limit: number }, onSuccess: Functio
}
})
})
// getIs_sign({openid: userStore.openId, meetId: meetid.value}).then((res: any)=> {
// if(res.code === 0) {
// uni.showToast({
// title: '',
// icon: 'none',
// success: () => {
// setTimeout(() => {
// uni.reLaunch({ url: '/pages/login/login' })
// }, 500)
// }
// })
// } else {
// }
// })
},1000)
}
@ -140,7 +129,7 @@ const submit = () => {
}
}
const onConfirm = () => uni.reLaunch({ url: '/pages/mine/index?meetId='+ meetid.value })
const onConfirm = () => uni.reLaunch({ url: '/pages/mine/index?meetId='+ userStore.meetId })
onShow(() => {
nextTick(() => {

8
src/store/user.ts

@ -12,6 +12,7 @@ export default defineStore(
() => {
const openId = ref('')
const mobile = ref('')
const meetId = ref('')
const showtoast = ref(false)
const userInfo = ref<userInfoStoreInt>({})
@ -32,17 +33,17 @@ export default defineStore(
}
function getUserInfo() {
return new Promise<any>((resolve, reject) => {
infoForOpenid({ openid: openId.value, mobile: mobile.value })
return new Promise<any>( (resolve, reject) => {
infoForOpenid({ openid: openId.value, mobile: mobile.value, meetId: meetId.value})
.then((res) => {
const { data } = res as { data: userInfoStoreInt }
userInfo.value = data || {}
resolve({ code: 1, data, message: 'SUCCESS' })
})
.catch((err) => {
reject(err)
})
})
}
@ -75,6 +76,7 @@ export default defineStore(
return {
openId,
mobile,
meetId,
showtoast,
userInfo,
getopenid,

Loading…
Cancel
Save