优化小程序版本更新检测逻辑,增强用户体验。新增扫码功能,支持用户通过扫一扫获取信息并展示解析结果,提升交互性。更新样式以适应新功能,确保界面友好。

This commit is contained in:
2026-02-13 09:59:08 +08:00
parent 808c959a20
commit 0f9633b8f0
5 changed files with 121 additions and 74 deletions

View File

@@ -40,6 +40,7 @@ Page({
// 菜单列表
menuList: [
{ id: 'scan', title: '扫一扫', icon: '📷', iconBg: 'gray' },
{ id: 'orders', title: '我的订单', icon: '📦', count: 0 },
{ id: 'referral', title: '推广中心', icon: '🎁', iconBg: 'gold', badge: '90%佣金' },
{ id: 'withdrawRecords', title: '提现记录', icon: '📋', iconBg: 'gray' },
@@ -64,7 +65,11 @@ Page({
// 修改昵称弹窗
showNicknameModal: false,
editingNickname: ''
editingNickname: '',
// 扫一扫结果弹窗
showScanResultModal: false,
scanResult: ''
},
onLoad() {
@@ -608,12 +613,17 @@ Page({
// 点击菜单
handleMenuTap(e) {
const id = e.currentTarget.dataset.id
if (id === 'scan') {
this.doScanCode()
return
}
if (!this.data.isLoggedIn && id !== 'about') {
this.showLogin()
return
}
const routes = {
orders: '/pages/purchases/purchases',
referral: '/pages/referral/referral',
@@ -621,12 +631,47 @@ Page({
about: '/pages/about/about',
settings: '/pages/settings/settings'
}
if (routes[id]) {
wx.navigateTo({ url: routes[id] })
}
},
// 扫一扫:调起扫码,展示解析值
doScanCode() {
wx.scanCode({
onlyFromCamera: false,
scanType: ['qrCode', 'barCode'],
success: (res) => {
const result = res.result || ''
this.setData({
showScanResultModal: true,
scanResult: result
})
},
fail: (err) => {
if (err.errMsg && !err.errMsg.includes('cancel')) {
wx.showToast({ title: '扫码失败', icon: 'none' })
}
}
})
},
// 关闭扫码结果弹窗
closeScanResultModal() {
this.setData({ showScanResultModal: false, scanResult: '' })
},
// 复制扫码结果
copyScanResult() {
const text = this.data.scanResult || ''
if (!text) return
wx.setClipboardData({
data: text,
success: () => wx.showToast({ title: '已复制', icon: 'success' })
})
},
goToRead(e) {
const id = e.currentTarget.dataset.id
const mid = e.currentTarget.dataset.mid