mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-11-07 09:28:53 +08:00
refactor(im): 重构聊天面板UI组件并修复多处交互问题
- 将头像组件从 dicebear 外链改为本地首字+底色生成,新增 avatarColor 工具函数 - 重构订单卡片(footPrint.vue)布局,优化商品与订单信息展示结构 - 重构店铺详情卡片(storeDetail.vue),统一信息行与评分行样式 - 移除消息气泡中的昵称时间行,调整气泡背景色与头像内边距 - 修复 face 变量名与全局组件 <face> 冲突导致头像URL被当作标签渲染 - 将 unload 事件监听替换为 pagehide,兼容 Chrome 弃用策略 - 修复搜索关键词未转义正则元字符导致输入特殊字符时抛异常 - 修复 WebSocket onMessage 对无 text 字段的推送消息误调用 JSON.parse - 将 setup 中同步调用全局 mixin 方法移至 onMounted,避免代理未就绪 - 商品/订单图片统一添加 onerror 默认图兜底 - 聊天列表消息预览支持 emoji 图片渲染(textReplaceEmoji) - 搜索框增加 clearable 属性及"没有找到相关好友"空态提示 - 锁定 element-plus 版本为 2.14.1 防止自动升级引入兼容问题 - 日期格式化分隔符由斜杠改为横杠 - 提现设置页新增提现规则说明字段,满足微信审核公示要求
This commit is contained in:
@@ -20,6 +20,18 @@
|
||||
<el-input class="label-appkey" v-model="formValidate.wechatAppId" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="提现规则说明" prop="withdrawRule">
|
||||
<div style="display: flex; flex-direction: column; width: 500px;">
|
||||
<el-input
|
||||
v-model="formValidate.withdrawRule"
|
||||
type="textarea"
|
||||
:rows="6"
|
||||
placeholder="请输入提现规则说明(需包含可提现额度、每日提现次数、提现时间、到账时间等,以满足微信审核要求)"
|
||||
/>
|
||||
<div class="rule-tip">展示在移动端/小程序提现页面底部,用于满足微信审核对提现规则公示的要求。</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<div class="label-btns">
|
||||
<el-button type="primary" @click="submit('formValidateRef')">保存</el-button>
|
||||
</div>
|
||||
@@ -32,6 +44,13 @@ import { ElMessage } from "element-plus";
|
||||
import { setSetting } from "@/api/index";
|
||||
import { handleSubmit } from "./validate";
|
||||
|
||||
const DEFAULT_WITHDRAW_RULE = `1. 提现额度:单笔最低提现金额以页面展示为准,单日累计最高提现 5000 元;
|
||||
2. 提现次数:每个用户每日最多可申请提现 1 次;
|
||||
3. 提现时间:支持全天 24 小时随时发起提现申请;
|
||||
4. 到账时间:提交申请后预计 1~3 个工作日内审核并到账至您的微信零钱;
|
||||
5. 手续费说明:提现免收手续费;
|
||||
6. 如有其他疑问或遇到提现未到账,请联系在线客服协助处理。`;
|
||||
|
||||
const props = defineProps(["res", "type"]);
|
||||
|
||||
// handleSubmit(that, name) 通过 that.$refs[name] 取表单实例
|
||||
@@ -64,29 +83,49 @@ function setupSetting() {
|
||||
});
|
||||
}
|
||||
function init() {
|
||||
result.value = JSON.parse(props.res);
|
||||
result.value = JSON.parse(props.res || "{}");
|
||||
Object.keys(result.value).map((item) => {
|
||||
result.value[item] += "";
|
||||
});
|
||||
formValidate.value = { ...result.value };
|
||||
if (!formValidate.value.withdrawRule) {
|
||||
formValidate.value.withdrawRule = DEFAULT_WITHDRAW_RULE;
|
||||
}
|
||||
Object.keys(formValidate.value).forEach((item) => {
|
||||
ruleValidate[item] = [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写必填项",
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (value < 0) {
|
||||
callback(new Error("不能输入负数!"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
if (item === "minPrice") {
|
||||
ruleValidate[item] = [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写必填项",
|
||||
trigger: "blur",
|
||||
},
|
||||
trigger: "change",
|
||||
},
|
||||
];
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (Number(value) < 0) {
|
||||
callback(new Error("不能输入负数!"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
trigger: "change",
|
||||
},
|
||||
];
|
||||
} else if (item === "withdrawRule") {
|
||||
ruleValidate[item] = [
|
||||
{
|
||||
required: false,
|
||||
trigger: "blur",
|
||||
},
|
||||
];
|
||||
} else {
|
||||
ruleValidate[item] = [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写必填项",
|
||||
trigger: "blur",
|
||||
},
|
||||
];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -96,7 +135,13 @@ init();
|
||||
<style lang="scss" scoped>
|
||||
@import "./style.scss";
|
||||
:deep(.el-form-item__content){
|
||||
align-items: center;
|
||||
align-items: flex-start;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
.rule-tip {
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
line-height: 1.5;
|
||||
margin-top: 6px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user