优化后,再次提交

This commit is contained in:
王利强
2026-05-03 09:08:56 +08:00
parent 721ef0ad54
commit 805747d1d9
1243 changed files with 46213 additions and 221 deletions

View File

@@ -0,0 +1,93 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_three_one_api_info = require("../../request/three_one_api/info.js");
const _sfc_main = {
__name: "account",
setup(__props) {
const saving = common_vendor.ref(false);
const showOldPwd = common_vendor.ref(false);
const showNewPwd = common_vendor.ref(false);
const showConfirmPwd = common_vendor.ref(false);
const formData = common_vendor.reactive({
oldPassword: "",
newPassword: "",
confirmPassword: ""
});
const handleSave = async () => {
if (!formData.oldPassword) {
common_vendor.index.showToast({ title: "请输入旧密码", icon: "none" });
return;
}
if (!formData.newPassword) {
common_vendor.index.showToast({ title: "请输入新密码", icon: "none" });
return;
}
if (formData.newPassword.length < 6) {
common_vendor.index.showToast({ title: "新密码长度至少6位", icon: "none" });
return;
}
if (!formData.confirmPassword) {
common_vendor.index.showToast({ title: "请确认新密码", icon: "none" });
return;
}
if (formData.newPassword !== formData.confirmPassword) {
common_vendor.index.showToast({ title: "两次输入的密码不一致", icon: "none" });
return;
}
if (formData.oldPassword === formData.newPassword) {
common_vendor.index.showToast({ title: "新密码不能与旧密码相同", icon: "none" });
return;
}
saving.value = true;
try {
const params = {
oldPassword: formData.oldPassword,
newPassword: formData.newPassword,
confirmPassword: formData.confirmPassword
};
const res = await request_three_one_api_info.updatePassword(params);
if (res.code === 0) {
common_vendor.index.showToast({ title: "密码修改成功", icon: "success" });
formData.oldPassword = "";
formData.newPassword = "";
formData.confirmPassword = "";
setTimeout(() => {
common_vendor.index.navigateBack();
}, 1500);
} else {
common_vendor.index.showToast({ title: res.msg || "修改失败", icon: "none" });
}
} catch (err) {
common_vendor.index.__f__("error", "at pages/personalcenter/account.vue:131", "修改密码失败:", err);
common_vendor.index.showToast({ title: "修改失败", icon: "none" });
} finally {
saving.value = false;
}
};
return (_ctx, _cache) => {
return {
a: showOldPwd.value ? "text" : "password",
b: formData.oldPassword,
c: common_vendor.o(($event) => formData.oldPassword = $event.detail.value),
d: common_vendor.n(showOldPwd.value ? "cuIcon-attention" : "cuIcon-attentionforbid"),
e: common_vendor.o(($event) => showOldPwd.value = !showOldPwd.value),
f: showNewPwd.value ? "text" : "password",
g: formData.newPassword,
h: common_vendor.o(($event) => formData.newPassword = $event.detail.value),
i: common_vendor.n(showNewPwd.value ? "cuIcon-attention" : "cuIcon-attentionforbid"),
j: common_vendor.o(($event) => showNewPwd.value = !showNewPwd.value),
k: showConfirmPwd.value ? "text" : "password",
l: formData.confirmPassword,
m: common_vendor.o(($event) => formData.confirmPassword = $event.detail.value),
n: common_vendor.n(showConfirmPwd.value ? "cuIcon-attention" : "cuIcon-attentionforbid"),
o: common_vendor.o(($event) => showConfirmPwd.value = !showConfirmPwd.value),
p: common_vendor.o(handleSave),
q: saving.value,
r: common_vendor.gei(_ctx, "")
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-5e16536a"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/personalcenter/account.js.map

View File

@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "账号安全",
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view class="{{['page', 'data-v-5e16536a', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{r}}"><view class="padding bg-white margin-top data-v-5e16536a"><view class="form-item solid-bottom data-v-5e16536a"><view class="form-label data-v-5e16536a">旧密码</view><view class="form-input-wrap data-v-5e16536a"><block wx:if="{{r0}}"><input class="form-input data-v-5e16536a" type="{{a}}" placeholder="请输入旧密码" value="{{b}}" bindinput="{{c}}"/></block><view class="pwd-toggle data-v-5e16536a" bindtap="{{e}}"><text class="{{['data-v-5e16536a', d]}}"></text></view></view></view><view class="form-item solid-bottom data-v-5e16536a"><view class="form-label data-v-5e16536a">新密码</view><view class="form-input-wrap data-v-5e16536a"><block wx:if="{{r0}}"><input class="form-input data-v-5e16536a" type="{{f}}" placeholder="请输入新密码" value="{{g}}" bindinput="{{h}}"/></block><view class="pwd-toggle data-v-5e16536a" bindtap="{{j}}"><text class="{{['data-v-5e16536a', i]}}"></text></view></view></view><view class="form-item data-v-5e16536a"><view class="form-label data-v-5e16536a">确认密码</view><view class="form-input-wrap data-v-5e16536a"><block wx:if="{{r0}}"><input class="form-input data-v-5e16536a" type="{{k}}" placeholder="请再次输入新密码" value="{{l}}" bindinput="{{m}}"/></block><view class="pwd-toggle data-v-5e16536a" bindtap="{{o}}"><text class="{{['data-v-5e16536a', n]}}"></text></view></view></view></view><view class="tips data-v-5e16536a"><text class="text-gray text-sm data-v-5e16536a">密码长度至少6位建议包含字母和数字</text></view><view class="padding data-v-5e16536a"><button class="bg-blue round data-v-5e16536a" bindtap="{{p}}" loading="{{q}}">保存</button></view></view>

View File

@@ -0,0 +1,58 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* uni.scss */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.page.data-v-5e16536a {
min-height: 100vh;
background: #EBF2FC;
}
.form-item.data-v-5e16536a {
padding: 30rpx 0;
}
.form-label.data-v-5e16536a {
font-size: 28rpx;
color: #333;
margin-bottom: 20rpx;
}
.form-input-wrap.data-v-5e16536a {
display: flex;
align-items: center;
background: #f5f5f5;
border-radius: 12rpx;
padding: 0 20rpx;
}
.form-input.data-v-5e16536a {
flex: 1;
height: 80rpx;
font-size: 28rpx;
}
.pwd-toggle.data-v-5e16536a {
padding: 10rpx;
font-size: 36rpx;
color: #999;
}
.tips.data-v-5e16536a {
padding: 20rpx 30rpx;
}

View File

@@ -0,0 +1,145 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_request = require("../../request/request.js");
const request_three_one_api_info = require("../../request/three_one_api/info.js");
const defaultAvatar = "https://ossweb-img.qq.com/images/lol/web201310/skin/big81005.jpg";
const _sfc_main = {
__name: "edit",
setup(__props) {
const saving = common_vendor.ref(false);
const avatarPreview = common_vendor.ref("");
const userInfo = common_vendor.reactive({
avatar: "",
// 保存相对路径,用于提交
nickName: "",
phonenumber: "",
email: "",
sex: "0"
// '0'-男 '1'-女
});
const getImageUrl = (path) => {
if (!path)
return "";
return request_request.toImageUrl(path);
};
common_vendor.onMounted(() => {
loadProfileDetail();
});
const loadProfileDetail = async () => {
try {
common_vendor.index.showLoading({ title: "加载中..." });
const res = await request_three_one_api_info.getProfileDetail();
common_vendor.index.hideLoading();
if (res.code === 0 && res.data) {
userInfo.avatar = res.data.avatar || "";
userInfo.nickName = res.data.nickName || "";
userInfo.phonenumber = res.data.phonenumber || "";
userInfo.email = res.data.email || "";
userInfo.sex = res.data.sex || "0";
}
} catch (err) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/personalcenter/edit.vue:111", "获取个人信息失败:", err);
}
};
const chooseAvatar = () => {
common_vendor.index.chooseImage({
count: 1,
sizeType: ["compressed"],
sourceType: ["album", "camera"],
success: (res) => {
const tempFilePath = res.tempFilePaths[0];
avatarPreview.value = tempFilePath;
uploadAvatar(tempFilePath);
}
});
};
const uploadAvatar = (filePath) => {
common_vendor.index.showLoading({ title: "上传中..." });
common_vendor.index.uploadFile({
url: request_request.baseUrl + "/frontend/attachment/upload",
filePath,
name: "file",
header: {
"Authorization": request_request.getToken()
},
success: (uploadRes) => {
common_vendor.index.hideLoading();
try {
const data = JSON.parse(uploadRes.data);
if (data.code === 0 && data.data) {
userInfo.avatar = data.data.url || data.data;
common_vendor.index.showToast({ title: "上传成功", icon: "success" });
} else {
avatarPreview.value = "";
common_vendor.index.showToast({ title: data.msg || "上传失败", icon: "none" });
}
} catch (e) {
avatarPreview.value = "";
common_vendor.index.showToast({ title: "上传失败", icon: "none" });
}
},
fail: () => {
common_vendor.index.hideLoading();
avatarPreview.value = "";
common_vendor.index.showToast({ title: "上传失败", icon: "none" });
}
});
};
const handleSave = async () => {
if (!userInfo.nickName) {
common_vendor.index.showToast({ title: "请输入昵称", icon: "none" });
return;
}
saving.value = true;
try {
const params = {
nickName: userInfo.nickName,
phonenumber: userInfo.phonenumber,
email: userInfo.email,
sex: userInfo.sex,
avatar: userInfo.avatar
// 提交相对路径
};
const res = await request_three_one_api_info.updateProfile(params);
if (res.code === 0) {
common_vendor.index.showToast({ title: "保存成功", icon: "success" });
setTimeout(() => {
common_vendor.index.navigateBack();
}, 1500);
} else {
common_vendor.index.showToast({ title: res.msg || "保存失败", icon: "none" });
}
} catch (err) {
common_vendor.index.__f__("error", "at pages/personalcenter/edit.vue:195", "保存失败:", err);
common_vendor.index.showToast({ title: "保存失败", icon: "none" });
} finally {
saving.value = false;
}
};
return (_ctx, _cache) => {
return {
a: avatarPreview.value || getImageUrl(userInfo.avatar) || defaultAvatar,
b: common_vendor.o(chooseAvatar),
c: userInfo.nickName,
d: common_vendor.o(($event) => userInfo.nickName = $event.detail.value),
e: userInfo.phonenumber,
f: common_vendor.o(($event) => userInfo.phonenumber = $event.detail.value),
g: userInfo.email,
h: common_vendor.o(($event) => userInfo.email = $event.detail.value),
i: userInfo.sex === "0" ? 1 : "",
j: userInfo.sex === "0" ? 1 : "",
k: common_vendor.o(($event) => userInfo.sex = "0"),
l: userInfo.sex === "1" ? 1 : "",
m: userInfo.sex === "1" ? 1 : "",
n: common_vendor.o(($event) => userInfo.sex = "1"),
o: common_vendor.o(handleSave),
p: saving.value,
q: common_vendor.gei(_ctx, "")
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-249675c2"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/personalcenter/edit.js.map

View File

@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "编辑资料",
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view class="{{['page', 'data-v-249675c2', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{q}}"><view class="padding bg-white data-v-249675c2"><view class="flex justify-between align-center padding-tb solid-bottom data-v-249675c2" bindtap="{{b}}"><view class="text-black data-v-249675c2">头像</view><view class="flex align-center data-v-249675c2"><image class="avatar data-v-249675c2" src="{{a}}" mode="aspectFill"></image><view class="lg text-gray cuIcon-right margin-left-xs data-v-249675c2"></view></view></view><view class="flex justify-between align-center padding-tb solid-bottom data-v-249675c2"><view class="text-black label-text data-v-249675c2">昵称</view><view class="flex align-center flex-sub justify-end data-v-249675c2"><input class="input-right data-v-249675c2" placeholder="请输入昵称" value="{{c}}" bindinput="{{d}}"/><view class="lg text-gray cuIcon-right margin-left-xs data-v-249675c2"></view></view></view><view class="flex justify-between align-center padding-tb solid-bottom data-v-249675c2"><view class="text-black label-text data-v-249675c2">电话号码</view><view class="flex align-center flex-sub justify-end data-v-249675c2"><input class="input-right data-v-249675c2" placeholder="请输入电话号码" type="number" value="{{e}}" bindinput="{{f}}"/><view class="lg text-gray cuIcon-right margin-left-xs data-v-249675c2"></view></view></view><view class="flex justify-between align-center padding-tb solid-bottom data-v-249675c2"><view class="text-black label-text data-v-249675c2">邮箱</view><view class="flex align-center flex-sub justify-end data-v-249675c2"><input class="input-right data-v-249675c2" placeholder="请输入邮箱" value="{{g}}" bindinput="{{h}}"/><view class="lg text-gray cuIcon-right margin-left-xs data-v-249675c2"></view></view></view><view class="flex justify-between align-center padding-tb solid-bottom data-v-249675c2"><view class="text-black data-v-249675c2">性别</view><view class="flex align-center data-v-249675c2"><view class="gender-switch data-v-249675c2"><view class="{{['gender-item', 'data-v-249675c2', i && 'gender-active', j && 'gender-male']}}" bindtap="{{k}}"><text class="cuIcon-male data-v-249675c2"></text></view><view class="{{['gender-item', 'data-v-249675c2', l && 'gender-active', m && 'gender-female']}}" bindtap="{{n}}"><text class="cuIcon-female data-v-249675c2"></text></view></view></view></view><button class="bg-blue round margin-top-xl data-v-249675c2" bindtap="{{o}}" loading="{{p}}">保存</button></view></view>

View File

@@ -0,0 +1,79 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* uni.scss */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.page.data-v-249675c2 {
min-height: 100vh;
background: #f5f5f5;
}
.avatar.data-v-249675c2 {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
}
.label-text.data-v-249675c2 {
flex-shrink: 0;
margin-right: 20rpx;
}
.input-right.data-v-249675c2 {
text-align: right;
font-size: 28rpx;
color: #333;
}
.padding-tb.data-v-249675c2 {
padding: 30rpx 0;
}
.gender-switch.data-v-249675c2 {
display: flex;
align-items: center;
background: #f0f0f0;
border-radius: 40rpx;
padding: 4rpx;
}
.gender-item.data-v-249675c2 {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: #999;
transition: all 0.3s;
}
.gender-active.data-v-249675c2 {
color: #fff;
}
.gender-male.data-v-249675c2 {
background: #2667E9;
}
.gender-female.data-v-249675c2 {
background: #ff6b81;
}
.line-blue.data-v-249675c2 {
border: 1rpx solid #2667E9;
color: #2667E9;
background: #fff;
}

View File

@@ -0,0 +1,14 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {};
function _sfc_render(_ctx, _cache) {
return {
a: common_assets._imports_0$3,
b: common_assets._imports_1$2,
c: common_vendor.gei(_ctx, "")
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/personalcenter/helpcenter.js.map

View File

@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "帮助中心",
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view class="{{[virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{c}}"><view class="justify-around flex margin-top-xl"><view><image src="{{a}}" style="width:100rpx;height:100rpx"></image></view><view><image src="{{b}}" style="width:100rpx;height:100rpx"></image></view></view><view class="margin-top-xl flex text-gray text-center justify-center"><view>工作时间:</view><view>09:00-22:00</view></view></view>

View File

@@ -0,0 +1,80 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const request_request = require("../../request/request.js");
const request_three_one_api_info = require("../../request/three_one_api/info.js");
const defaultAvatar = "https://ossweb-img.qq.com/images/lol/web201310/skin/big99008.jpg";
const _sfc_main = {
__name: "my",
setup(__props) {
const userInfo = common_vendor.reactive({
avatar: "",
nickName: "",
phonenumber: ""
});
const getImageUrl = (path) => {
if (!path)
return "";
return request_request.toImageUrl(path);
};
const loadUserInfo = async () => {
try {
const res = await request_three_one_api_info.getProfileDetail();
if (res.code === 0 && res.data) {
userInfo.avatar = res.data.avatar || "";
userInfo.nickName = res.data.nickName || "";
userInfo.phonenumber = res.data.phonenumber || "";
}
} catch (e) {
common_vendor.index.__f__("error", "at pages/personalcenter/my.vue:124", "获取用户信息失败:", e);
}
};
common_vendor.onShow(() => {
loadUserInfo();
});
const editinfo = () => {
common_vendor.index.navigateTo({
url: "/pages/personalcenter/edit"
});
};
const Account = () => {
common_vendor.index.navigateTo({
url: "/pages/personalcenter/account"
});
};
const handleLogout = () => {
common_vendor.index.showModal({
title: "提示",
content: "确定要退出登录吗?",
success: function(res) {
if (res.confirm) {
common_vendor.index.__f__("log", "at pages/personalcenter/my.vue:170", "用户点击确定");
common_vendor.index.clearStorageSync();
common_vendor.index.reLaunch({
url: "/pages/login/login"
});
} else if (res.cancel) {
common_vendor.index.__f__("log", "at pages/personalcenter/my.vue:176", "用户点击取消");
}
}
});
};
return (_ctx, _cache) => {
return {
a: getImageUrl(userInfo.avatar) || defaultAvatar,
b: common_vendor.t(userInfo.nickName || "未设置昵称"),
c: common_vendor.t(userInfo.phonenumber || "未绑定手机"),
d: common_vendor.o(($event) => editinfo()),
e: common_assets._imports_0$2,
f: common_vendor.o(($event) => editinfo()),
g: common_assets._imports_1$1,
h: common_vendor.o(($event) => Account()),
i: common_vendor.o(($event) => handleLogout()),
j: common_vendor.gei(_ctx, "")
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-02345808"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/personalcenter/my.js.map

View File

@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "我的",
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view class="{{['page-wrapper', 'data-v-02345808', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{j}}"><view class="header-bg data-v-02345808"><view class="blur-circle circle-1 data-v-02345808"></view><view class="blur-circle circle-2 data-v-02345808"></view><view class="blur-circle circle-3 data-v-02345808"></view><view class="user-info-section data-v-02345808"><view class="user-avatar data-v-02345808"><image class="avatar-img data-v-02345808" src="{{a}}" mode="aspectFill"></image></view><view class="user-details data-v-02345808"><view class="user-name data-v-02345808">{{b}}</view><view class="user-phone data-v-02345808">{{c}}</view></view><button class="edit-btn data-v-02345808" bindtap="{{d}}">编辑资料</button></view></view><view class="content-area data-v-02345808"><view class="menu-card data-v-02345808"><view class="menu-item data-v-02345808" bindtap="{{f}}"><view class="menu-left data-v-02345808"><image src="{{e}}" class="menu-icon data-v-02345808"></image><text class="menu-text data-v-02345808">编辑个人信息</text></view><text class="cuIcon-right menu-arrow data-v-02345808"></text></view><view class="menu-item data-v-02345808" bindtap="{{h}}"><view class="menu-left data-v-02345808"><image src="{{g}}" class="menu-icon data-v-02345808"></image><text class="menu-text data-v-02345808">修改登录密码</text></view><text class="cuIcon-right menu-arrow data-v-02345808"></text></view></view><button class="logout-btn data-v-02345808" bindtap="{{i}}">退出登录</button></view></view>

View File

@@ -0,0 +1,179 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* uni.scss */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.page-wrapper.data-v-02345808 {
min-height: 100vh;
background: #EBF2FC;
}
.header-bg.data-v-02345808 {
position: relative;
height: 400rpx;
background: linear-gradient(180deg, #3B7FED 0%, #007AFF 50%, #8BB8F8 100%);
padding-top: 60rpx;
overflow: hidden;
}
.header-bg .blur-circle.data-v-02345808 {
position: absolute;
border-radius: 50%;
filter: blur(60rpx);
opacity: 0.5;
}
.header-bg .circle-1.data-v-02345808 {
width: 300rpx;
height: 300rpx;
background: rgba(100, 180, 255, 0.6);
top: -50rpx;
left: -50rpx;
}
.header-bg .circle-2.data-v-02345808 {
width: 250rpx;
height: 250rpx;
background: rgba(150, 200, 255, 0.5);
top: 100rpx;
right: -30rpx;
}
.header-bg .circle-3.data-v-02345808 {
width: 200rpx;
height: 200rpx;
background: rgba(180, 220, 255, 0.4);
bottom: 50rpx;
left: 200rpx;
}
.header-title.data-v-02345808 {
text-align: center;
font-size: 36rpx;
font-weight: 600;
color: #fff;
position: relative;
z-index: 5;
}
.user-info-section.data-v-02345808 {
display: flex;
align-items: center;
padding: 60rpx 40rpx 0;
position: relative;
z-index: 5;
}
.user-info-section .user-avatar.data-v-02345808 {
width: 120rpx;
height: 120rpx;
border-radius: 50%;
overflow: hidden;
border: 4rpx solid rgba(255, 255, 255, 0.5);
box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.15);
}
.user-info-section .user-avatar .avatar-img.data-v-02345808 {
width: 100%;
height: 100%;
}
.user-info-section .user-details.data-v-02345808 {
flex: 1;
margin-left: 24rpx;
}
.user-info-section .user-details .user-name.data-v-02345808 {
font-size: 36rpx;
font-weight: 600;
color: #fff;
margin-bottom: 8rpx;
}
.user-info-section .user-details .user-phone.data-v-02345808 {
font-size: 26rpx;
color: rgba(255, 255, 255, 0.85);
}
.user-info-section .edit-btn.data-v-02345808 {
background: rgba(255, 255, 255, 0.25);
border: 2rpx solid rgba(255, 255, 255, 0.5);
border-radius: 32rpx;
font-size: 26rpx;
color: #fff;
-webkit-backdrop-filter: blur(10rpx);
backdrop-filter: blur(10rpx);
}
.user-info-section .edit-btn.data-v-02345808::after {
border: none;
}
.content-area.data-v-02345808 {
position: relative;
margin-top: -60rpx;
padding: 0 30rpx 50rpx;
z-index: 10;
}
.menu-card.data-v-02345808 {
background: #fff;
border-radius: 24rpx;
padding: 10rpx 0;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
}
.menu-item.data-v-02345808 {
display: flex;
align-items: center;
justify-content: space-between;
padding: 32rpx 36rpx;
border-bottom: 1rpx solid #F5F5F5;
}
.menu-item.data-v-02345808:last-child {
border-bottom: none;
}
.menu-item .menu-left.data-v-02345808 {
display: flex;
align-items: center;
}
.menu-item .menu-left .menu-icon.data-v-02345808 {
width: 44rpx;
height: 44rpx;
margin-right: 24rpx;
}
.menu-item .menu-left .menu-text.data-v-02345808 {
font-size: 30rpx;
color: #333;
}
.menu-item .menu-right.data-v-02345808 {
display: flex;
align-items: center;
}
.menu-item .menu-right .menu-value.data-v-02345808 {
font-size: 28rpx;
color: #999;
margin-right: 8rpx;
}
.menu-item .menu-arrow.data-v-02345808 {
font-size: 28rpx;
color: #ccc;
}
.logout-btn.data-v-02345808 {
margin-top: 60rpx;
height: 96rpx;
line-height: 96rpx;
background: linear-gradient(135deg, #3B7FED 0%, #5A9CF5 100%);
border-radius: 48rpx;
font-size: 32rpx;
font-weight: 500;
color: #fff;
box-shadow: 0 8rpx 24rpx rgba(59, 127, 237, 0.35);
}
.logout-btn.data-v-02345808::after {
border: none;
}

View File

@@ -0,0 +1,45 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_up_switch2 = common_vendor.resolveComponent("up-switch");
_easycom_up_switch2();
}
const _easycom_up_switch = () => "../../uni_modules/uview-plus/components/u-switch/u-switch.js";
if (!Math) {
_easycom_up_switch();
}
const _sfc_main = {
__name: "notification",
setup(__props) {
const value = common_vendor.ref(false);
const change = (e) => {
common_vendor.index.__f__("log", "at pages/personalcenter/notification.vue:26", "change", e);
};
return (_ctx, _cache) => {
return {
a: common_vendor.o(change),
b: common_vendor.o(($event) => value.value = $event),
c: common_vendor.p({
activeColor: "#07C160",
modelValue: value.value
}),
d: common_vendor.o(change),
e: common_vendor.o(($event) => value.value = $event),
f: common_vendor.p({
activeColor: "#07C160",
modelValue: value.value
}),
g: common_vendor.o(change),
h: common_vendor.o(($event) => value.value = $event),
i: common_vendor.p({
activeColor: "#07C160",
modelValue: value.value
}),
j: common_vendor.gei(_ctx, "")
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7f3eb145"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/personalcenter/notification.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "新消息通知",
"usingComponents": {
"up-switch": "../../uni_modules/uview-plus/components/u-switch/u-switch"
}
}

View File

@@ -0,0 +1 @@
<view class="{{['page', 'padding', 'data-v-7f3eb145', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{j}}"><view class="padding bg-white radius data-v-7f3eb145"><view class="flex justify-between padding-bottom solid-bottom data-v-7f3eb145"><view class="data-v-7f3eb145">横幅消息通知</view><up-switch wx:if="{{c}}" class="data-v-7f3eb145" virtualHostClass="data-v-7f3eb145" bindchange="{{a}}" u-i="7f3eb145-0" bind:__l="__l" bindupdateModelValue="{{b}}" u-p="{{c}}"></up-switch></view><view class="flex justify-between padding-bottom padding-top solid-bottom data-v-7f3eb145"><view class="data-v-7f3eb145">系统声音</view><up-switch wx:if="{{f}}" class="data-v-7f3eb145" virtualHostClass="data-v-7f3eb145" bindchange="{{d}}" u-i="7f3eb145-1" bind:__l="__l" bindupdateModelValue="{{e}}" u-p="{{f}}"></up-switch></view><view class="flex justify-between padding-bottom padding-top solid-bottom data-v-7f3eb145"><view class="data-v-7f3eb145">系统震动</view><up-switch wx:if="{{i}}" class="data-v-7f3eb145" virtualHostClass="data-v-7f3eb145" bindchange="{{g}}" u-i="7f3eb145-2" bind:__l="__l" bindupdateModelValue="{{h}}" u-p="{{i}}"></up-switch></view></view></view>

View File

@@ -0,0 +1,30 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* uni.scss */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.page.data-v-7f3eb145 {
min-height: 100vh;
background: #EBF2FC;
}

View File

@@ -0,0 +1,45 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_up_switch2 = common_vendor.resolveComponent("up-switch");
_easycom_up_switch2();
}
const _easycom_up_switch = () => "../../uni_modules/uview-plus/components/u-switch/u-switch.js";
if (!Math) {
_easycom_up_switch();
}
const _sfc_main = {
__name: "settings",
setup(__props) {
const value = common_vendor.ref(false);
const change = (e) => {
common_vendor.index.__f__("log", "at pages/personalcenter/settings.vue:26", "change", e);
};
return (_ctx, _cache) => {
return {
a: common_vendor.o(change),
b: common_vendor.o(($event) => value.value = $event),
c: common_vendor.p({
activeColor: "#07C160",
modelValue: value.value
}),
d: common_vendor.o(change),
e: common_vendor.o(($event) => value.value = $event),
f: common_vendor.p({
activeColor: "#07C160",
modelValue: value.value
}),
g: common_vendor.o(change),
h: common_vendor.o(($event) => value.value = $event),
i: common_vendor.p({
activeColor: "#07C160",
modelValue: value.value
}),
j: common_vendor.gei(_ctx, "")
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8a628c0f"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/personalcenter/settings.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "通用设置",
"usingComponents": {
"up-switch": "../../uni_modules/uview-plus/components/u-switch/u-switch"
}
}

View File

@@ -0,0 +1 @@
<view class="{{['page', 'padding', 'data-v-8a628c0f', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{j}}"><view class="padding bg-white radius data-v-8a628c0f"><view class="flex justify-between padding-bottom solid-bottom data-v-8a628c0f"><view class="data-v-8a628c0f">截屏后提示</view><up-switch wx:if="{{c}}" class="data-v-8a628c0f" virtualHostClass="data-v-8a628c0f" bindchange="{{a}}" u-i="8a628c0f-0" bind:__l="__l" bindupdateModelValue="{{b}}" u-p="{{c}}"></up-switch></view><view class="flex justify-between padding-bottom padding-top solid-bottom data-v-8a628c0f"><view class="data-v-8a628c0f">开启屏幕旋转</view><up-switch wx:if="{{f}}" class="data-v-8a628c0f" virtualHostClass="data-v-8a628c0f" bindchange="{{d}}" u-i="8a628c0f-1" bind:__l="__l" bindupdateModelValue="{{e}}" u-p="{{f}}"></up-switch></view><view class="flex justify-between padding-bottom padding-top solid-bottom data-v-8a628c0f"><view class="data-v-8a628c0f">获取地理位置</view><up-switch wx:if="{{i}}" class="data-v-8a628c0f" virtualHostClass="data-v-8a628c0f" bindchange="{{g}}" u-i="8a628c0f-2" bind:__l="__l" bindupdateModelValue="{{h}}" u-p="{{i}}"></up-switch></view></view></view>

View File

@@ -0,0 +1,30 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* uni.scss */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.page.data-v-8a628c0f {
min-height: 100vh;
background: #EBF2FC;
}