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 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 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({ return request.http({
url: '/api/member_mobile_get', url: '/api/member_mobile_get',
method: '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({ return request.http({
url: '/api/member_name', url: '/api/member_name',
method: 'GET', method: 'GET',

2
src/api/votingElection.ts

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

75
src/pages/login/login.vue

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

27
src/pages/mine/add.vue

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

31
src/pages/mine/index.vue

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

43
src/pages/votingElection/index.vue

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

8
src/store/user.ts

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

Loading…
Cancel
Save