73 lines
2.1 KiB
JavaScript
73 lines
2.1 KiB
JavaScript
const { login } = require('../../utils_new/auth');
|
|
const config = require('../../config/index');
|
|
|
|
Page({
|
|
data: {
|
|
baseUrl: 'https://ai-c.maimanji.com',
|
|
statusBarHeight: 20,
|
|
navBarHeight: 44,
|
|
totalNavHeight: 64
|
|
},
|
|
onLoad() {
|
|
const sys = wx.getSystemInfoSync();
|
|
const menu = wx.getMenuButtonBoundingClientRect();
|
|
const statusBarHeight = sys.statusBarHeight || 20;
|
|
const navBarHeight = menu.height + (menu.top - statusBarHeight) * 2;
|
|
this.setData({
|
|
statusBarHeight,
|
|
navBarHeight,
|
|
totalNavHeight: statusBarHeight + navBarHeight
|
|
});
|
|
this.load();
|
|
},
|
|
onShow() {
|
|
const defaultBaseUrl = String(config.API_BASE_URL || '').replace(/\/api$/, '') || 'https://ai-c.maimanji.com';
|
|
const baseUrl = wx.getStorageSync('baseUrl') || defaultBaseUrl;
|
|
this.setData({ baseUrl });
|
|
},
|
|
onBack() {
|
|
wx.navigateBack({ delta: 1 });
|
|
},
|
|
onBaseUrl(e) {
|
|
this.setData({ baseUrl: e.detail.value });
|
|
},
|
|
setOnline() {
|
|
this.setData({ baseUrl: 'https://ai-c.maimanji.com' });
|
|
},
|
|
setLocalhost() {
|
|
this.setData({ baseUrl: 'http://localhost:3000' });
|
|
},
|
|
save() {
|
|
const baseUrl = (this.data.baseUrl || '').trim().replace(/\/$/, '');
|
|
if (!baseUrl.startsWith('http')) {
|
|
wx.showToast({ title: '请输入正确的URL', icon: 'none' });
|
|
return;
|
|
}
|
|
wx.setStorageSync('baseUrl', baseUrl);
|
|
const app = getApp();
|
|
if (app?.globalData) app.globalData.baseUrl = baseUrl;
|
|
wx.showToast({ title: '已保存', icon: 'success' });
|
|
},
|
|
logout() {
|
|
wx.removeStorageSync('token');
|
|
const app = getApp();
|
|
if (app?.globalData) app.globalData.token = '';
|
|
wx.showToast({ title: '已退出', icon: 'success' });
|
|
},
|
|
async syncProfile() {
|
|
try {
|
|
const userInfo = await new Promise((resolve, reject) => {
|
|
wx.getUserProfile({
|
|
desc: '用于完善个人信息',
|
|
success: (res) => resolve(res.userInfo),
|
|
fail: reject
|
|
});
|
|
});
|
|
await login(userInfo);
|
|
wx.showToast({ title: '已同步', icon: 'success' });
|
|
} catch (e) {
|
|
wx.showToast({ title: '取消或失败', icon: 'none' });
|
|
}
|
|
}
|
|
});
|