需要开发 IM
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
<script setup>
|
||||
import { navigateTo } from '@/utils/router'
|
||||
|
||||
const isShow = defineModel({
|
||||
type: Boolean,
|
||||
default: false
|
||||
@@ -20,9 +22,13 @@
|
||||
@click="isShow = false"
|
||||
></image>
|
||||
<text class="text">我已阅读并同意</text>
|
||||
<text class="on">《用户权益》</text>
|
||||
<text class="on" @click="navigateTo('/pages/login/protocol')">
|
||||
《用户权益》
|
||||
</text>
|
||||
<text class="text">与</text>
|
||||
<text class="on">《隐私政策》</text>
|
||||
<text class="on" @click="navigateTo('/pages/login/regime')">
|
||||
《隐私政策》
|
||||
</text>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
38
components/app-article-detail/app-article-detail.vue
Normal file
38
components/app-article-detail/app-article-detail.vue
Normal file
@@ -0,0 +1,38 @@
|
||||
<script setup>
|
||||
import { getArticleDetail } from '@/api'
|
||||
import { onMounted, ref } from 'vue'
|
||||
|
||||
const props = defineProps({
|
||||
/** 文章类型
|
||||
* user_rights: 用户权益
|
||||
* privacy_policy: 隐私政策
|
||||
* company_info: 公司介绍
|
||||
*/
|
||||
type: {
|
||||
type: String,
|
||||
default: 'user_rights'
|
||||
}
|
||||
})
|
||||
|
||||
const articleDetails = ref('')
|
||||
const getData = async () => {
|
||||
const res = await getArticleDetail(props.type)
|
||||
articleDetails.value = res.data.articleDetails
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getData()
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="app-article-detail">
|
||||
<mp-html :content="articleDetails"></mp-html>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.app-article-detail {
|
||||
padding: 32rpx 24rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -1,5 +1,10 @@
|
||||
<script setup>
|
||||
const props = defineProps()
|
||||
const props = defineProps({
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: '请输入内容'
|
||||
}
|
||||
})
|
||||
|
||||
const placeholderStyle = `font-family: PingFang SC, PingFang SC; font-weight: 500; color: #666666; font-size: 24rpx; font-style: normal; text-transform: none;`
|
||||
|
||||
@@ -19,7 +24,7 @@
|
||||
<input
|
||||
v-model="name"
|
||||
:placeholder-style="placeholderStyle"
|
||||
placeholder="请输入内容"
|
||||
:placeholder="props.placeholder"
|
||||
class="search-box"
|
||||
/>
|
||||
<button class="search-btn">搜索</button>
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
/** 是否显示左侧返回按钮 */
|
||||
showBack: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
/** 导航栏颜色 */
|
||||
targetColor: {
|
||||
type: String,
|
||||
@@ -39,7 +44,7 @@
|
||||
const emits = defineEmits(['onBack'])
|
||||
|
||||
// 判断是否传入了名为 "back" 的插槽
|
||||
const hasBackSlot = !!slots.back
|
||||
const hasBackSlot = computed(() => !!slots.back)
|
||||
/** 全局存储当前滚动位置(供 computed 使用) */
|
||||
const currentScrollTop = ref(0)
|
||||
/** 缓存 rpx 转 px 的比例 */
|
||||
@@ -118,9 +123,10 @@
|
||||
</view>
|
||||
<view class="nav-bar-box">
|
||||
<!-- 左侧插槽 -->
|
||||
<view @click="onBack">
|
||||
<view @click="props.showBack && onBack()">
|
||||
<!-- -->
|
||||
<image
|
||||
v-if="!hasBackSlot"
|
||||
v-if="props.showBack && !hasBackSlot"
|
||||
src="/static/images/login/back.png"
|
||||
mode="heightFix"
|
||||
class="top_left-icon"
|
||||
|
||||
Reference in New Issue
Block a user