移除前端中的会员卡和支付相关,新增微信一键登录

This commit is contained in:
2026-07-14 18:50:35 +08:00
parent 13b99428de
commit 6cc72ae0f7
26 changed files with 331 additions and 9159 deletions
@@ -1,5 +1,5 @@
<template>
<!-- 状态栏占位区 App 端生效H5/小程序无状态栏概念 -->
<template>
<!-- 状态栏占位区为刘海屏和安全区域留出空间 -->
<view class="tab-page__status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
<!-- 导航栏主体 -->
<view class="tab-page__header">
@@ -38,15 +38,9 @@ const isAnimating = ref(false)
const statusBarHeight = ref(0)
onMounted(() => {
// #ifdef APP-PLUS
// App 端获取真实状态栏高度(px)
// 所有平台获取状态栏高度,为刘海屏/状态栏留出安全空间
const sysInfo = uni.getSystemInfoSync()
statusBarHeight.value = sysInfo.statusBarHeight || 0
// #endif
// #ifndef APP-PLUS
// H5/小程序:状态栏由浏览器或框架处理,不额外占位
statusBarHeight.value = 0
// #endif
if (props.showBack) {
isAnimating.value = true
@@ -65,9 +59,13 @@ function goBack() {
</script>
<style lang="scss" scoped>
/* 状态栏占位:仅在 App 端有高度,H5/小程序为 0,背景继承页面 */
/* 状态栏占位:适配所有平台,包含刘海屏安全区域 */
.tab-page__status-bar {
width: 100%;
/* iOS 刘海屏额外安全区域 */
padding-top: constant(safe-area-inset-top); /* iOS 11.0-11.2 */
padding-top: env(safe-area-inset-top); /* iOS 11.2+ */
box-sizing: content-box;
}
.tab-page__header {
@@ -61,11 +61,13 @@ const qrScanSignIn = () => {
console.log('扫码结果:', res)
const qrContent = res.result
// 解析二维码内容获取 courseId
// 解析二维码内容获取 courseId 和课程名称
let courseId = null
let courseName = ''
try {
const parsed = JSON.parse(qrContent)
courseId = Number(parsed.courseId)
courseId = Number(parsed.id || parsed.courseId)
courseName = parsed.courseName || ''
} catch {
const num = Number(qrContent)
if (!isNaN(num)) {
@@ -89,7 +91,7 @@ const qrScanSignIn = () => {
const result = await qrSignInGroupCourse(courseId, memberId)
uni.hideLoading()
if (result.success) {
uni.showToast({ title: '签到成功', icon: 'success' })
uni.showToast({ title: courseName ? `${courseName}」签到成功` : '签到成功', icon: 'success' })
setTimeout(() => {
uni.navigateTo({ url: '/pages/memberInfo/myCourses' })
}, 1200)
@@ -99,7 +101,11 @@ const qrScanSignIn = () => {
} catch (e) {
uni.hideLoading()
console.error('团课签到失败:', e)
const errMsg = e?.message || e?.data?.message || '签到失败'
let errMsg = e?.message || e?.data?.message || '签到失败'
// 附加课程名称(如果已知)
if (courseName && !errMsg.includes(courseName)) {
errMsg = `${courseName}${errMsg}`
}
uni.showToast({ title: errMsg, icon: 'none', duration: 3000 })
}
},