首页默认静默登陆、聊天页面

This commit is contained in:
李琦
2026-01-14 18:44:20 +08:00
parent 11ade5d7ae
commit 7ed22e2d58
2 changed files with 310 additions and 1367 deletions

53
App.vue
View File

@@ -41,7 +41,7 @@
if (!token || !userInfo) {
// 未登录,获取系统配置,判断是否需要静默登录
try {
const configRes = await getSystemConfig({
const configRes = getSystemConfig({
method: "get",
data: {
store_id: uni.getStorageSync('store_id') || '11001'
@@ -51,13 +51,13 @@
// 根据配置决定是否静默登录
// 注意:需要根据实际接口返回格式解析 need_login 字段
const isGuest = isGuestMode();
let needLogin = true; // 默认需要登录页
let needLogin = false; // 默认需要登录页
if (isGuest && (configRes.data.code === 0 || configRes.data.code === '0')) {
// 新格式:从 result 中获取
const configData = configRes.data.result || {};
needLogin = configData.need_login !== false; // false 表示静默登录
} else if (!isGuest && (configRes.data.errcode === 0 || configRes.data.errcode === '0')) {
} else if (!isGuest && (configRes.data?.errcode === 0 || configRes.data?.errcode === '0')) {
// 旧格式:从 data 中获取
const configData = configRes.data.data || {};
needLogin = configData.need_login !== false; // false 表示静默登录
@@ -151,6 +151,53 @@
if (e === undefined)
return {};
// 检查是否已登录,如果未登录才检查配置并决定是否静默登录
const token = uni.getStorageSync('token');
const userInfo = uni.getStorageSync('userinfo');
if (!token || !userInfo) {
// 未登录,获取系统配置,判断是否需要静默登录
try {
const configRes = getSystemConfig({
method: "get",
data: {
store_id: uni.getStorageSync('store_id') || '11001'
}
});
// 根据配置决定是否静默登录
// 注意:需要根据实际接口返回格式解析 need_login 字段
const isGuest = isGuestMode();
let needLogin = false; // 默认需要登录页
if (isGuest && (configRes.data.code === 0 || configRes.data.code === '0')) {
// 新格式:从 result 中获取
const configData = configRes.data.result || {};
needLogin = configData.need_login !== false; // false 表示静默登录
} else if (!isGuest && (configRes.data?.errcode === 0 || configRes.data?.errcode === '0')) {
// 旧格式:从 data 中获取
const configData = configRes.data.data || {};
needLogin = configData.need_login !== false; // false 表示静默登录
}
// 如果配置为静默登录need_login: false直接执行静默登录
if (!needLogin) {
// 执行静默登录(不显示提示,不跳转)
silentLogin().then((loginResult) => {
if (loginResult.success) {
console.log('静默登录成功');
} else {
console.error('静默登录失败:', loginResult.message);
}
}).catch((error) => {
console.error('静默登录异常:', error);
});
}
// 如果配置为需要登录页need_login: true不执行任何操作等待用户手动登录
} catch (error) {
// 配置接口调用失败,不影响应用启动,仅记录日志
console.error('获取系统配置失败:', error);
}
}
const scene = decodeURIComponent(e.query.scene)
// 这里接收扫码参数
if (scene) {

File diff suppressed because it is too large Load Diff