83 lines
1.8 KiB
Vue
83 lines
1.8 KiB
Vue
<template>
|
|
<view class="page">
|
|
<base-background />
|
|
<!-- 使用自定义导航栏组件 -->
|
|
<custom-navbar ref="customNavbar" title="带图片背景的基础界面" />
|
|
<view :style="{ backgroundColor: CommonEnum.BASE_COLOR }" class="header">
|
|
<!-- 状态展示 -->
|
|
<status-display v-if="loading" loading-text="加载中..." type="loading" />
|
|
<!-- 页面内容将在这里添加 -->
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import { CommonEnum } from "@/enum/common.js";
|
|
import { MonkEnum } from "@/enum/monk.js";
|
|
import { getMonkList } from "@/api/monk/monk.js";
|
|
|
|
import SearchBox from "../../components/search-box/search-box.vue";
|
|
|
|
export default {
|
|
components: {
|
|
MonkSearchBox: SearchBox,
|
|
},
|
|
data() {
|
|
return {
|
|
bgc: {
|
|
backgroundColor: "#F5F0E7",
|
|
},
|
|
CommonEnum,
|
|
MonkEnum,
|
|
monkList: [],
|
|
searchName: "",
|
|
};
|
|
},
|
|
onLoad() {
|
|
this.fetchMonkList();
|
|
},
|
|
methods: {
|
|
async fetchMonkList() {
|
|
try {
|
|
const res = await getMonkList({ name: this.searchName });
|
|
if (res.code === 200 && Array.isArray(res.rows)) {
|
|
this.monkList = res.rows;
|
|
} else {
|
|
uni.showToast({
|
|
title: res.msg || "获取失败",
|
|
icon: "none",
|
|
});
|
|
}
|
|
} catch (e) {
|
|
uni.showToast({
|
|
title: "网络错误",
|
|
icon: "none",
|
|
});
|
|
}
|
|
},
|
|
|
|
// 去除 HTML 标签,返回纯文本
|
|
stripHtmlTags(html) {
|
|
if (!html) return ""; // 处理空值
|
|
return html.replace(/<[^>]+>/g, ""); // 正则替换所有 HTML 标签
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.page {
|
|
width: 100%;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.header {
|
|
width: 100%;
|
|
min-height: 100vh;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
padding: 0 15rpx 40rpx 15rpx;
|
|
}
|
|
</style>
|