- 新增地址类型定义,增强前端地址数据结构 - 新增地址编辑页面,支持地址智能识别和定位选点功能 - 地址编辑支持省市区选择及默认地址设置 - 新增地址列表页面,支持地址展示、删除、编辑和选择功能 - 实现售后申请页面,支持选择售后类型和退款原因 - 售后申请支持商品选择、退款金额计算和凭证上传 - 新增售后详情页面,支持售后状态展示及申请取消 - 优化页面加载和用户交互体验,增加错误提示和权限处理
179 lines
6.8 KiB
TypeScript
179 lines
6.8 KiB
TypeScript
import { useEffect, useState } from 'react'
|
||
import Taro from '@tarojs/taro'
|
||
import { Loading } from '@nutui/nutui-react-taro'
|
||
import { RichText, View } from '@tarojs/components'
|
||
import { wxParse } from '@/utils/common'
|
||
import './agreement.scss'
|
||
|
||
/** 用户服务协议内容 */
|
||
const TERMS_CONTENT = `
|
||
<h2>用户服务协议</h2>
|
||
<p><strong>最后更新日期:2026年5月16日</strong></p>
|
||
|
||
<h3>一、协议的范围与接受</h3>
|
||
<p>欢迎使用鑫龙家电(以下简称"本小程序")。本小程序由南宁市网宿信息科技有限公司(以下简称"我们")开发并运营。请您在使用本小程序服务之前,仔细阅读并充分理解本协议的全部内容。您点击"同意"或实际使用本小程序服务,即视为您已阅读、理解并同意接受本协议的约束。</p>
|
||
|
||
<h3>二、服务内容</h3>
|
||
<p>本小程序为用户提供以下服务:</p>
|
||
<ul>
|
||
<li>体育用品在线浏览与购买</li>
|
||
<li>商品搜索、收藏与分享</li>
|
||
<li>订单管理与物流查询</li>
|
||
<li>会员积分与优惠活动</li>
|
||
<li>在线客服咨询</li>
|
||
</ul>
|
||
|
||
<h3>三、账号注册与安全</h3>
|
||
<p>1. 您需要使用微信账号授权登录本小程序。您应确保提供的个人信息真实、准确、完整。</p>
|
||
<p>2. 您应妥善保管自己的账号信息,对使用您账号进行的所有行为承担法律责任。</p>
|
||
<p>3. 如发现账号异常,请立即联系我们。</p>
|
||
|
||
<h3>四、用户行为规范</h3>
|
||
<p>您在使用本小程序时,应当遵守法律法规,不得从事以下行为:</p>
|
||
<ul>
|
||
<li>发布违法违规信息</li>
|
||
<li>侵犯他人知识产权或其他合法权益</li>
|
||
<li>恶意刷单、虚假交易</li>
|
||
<li>利用漏洞或技术手段干扰本小程序正常运行</li>
|
||
</ul>
|
||
|
||
<h3>五、订单与支付</h3>
|
||
<p>1. 您下单后,我们将根据您提供的收货信息安排发货。</p>
|
||
<p>2. 商品价格以您下单时的页面显示为准。</p>
|
||
<p>3. 您可以选择微信支付等方式完成付款。</p>
|
||
|
||
<h3>六、售后服务</h3>
|
||
<p>我们提供7天无理由退换货服务(特殊商品除外)。如有售后问题,请联系在线客服。</p>
|
||
|
||
<h3>七、免责声明</h3>
|
||
<p>1. 因不可抗力导致的服务中断,我们不承担责任。</p>
|
||
<p>2. 因您自身原因导致的损失,我们不承担责任。</p>
|
||
|
||
<h3>八、协议的变更</h3>
|
||
<p>我们可能会根据业务需要修改本协议。修改后的协议将在本小程序内公布,您继续使用服务视为接受修改后的协议。</p>
|
||
|
||
<h3>九、联系我们</h3>
|
||
<p>如您对本协议有任何疑问,请联系:</p>
|
||
<p>客服电话:0771-5386339</p>
|
||
<p>客服邮箱:support@paopao.com</p>
|
||
`
|
||
|
||
/** 隐私政策内容 */
|
||
const PRIVACY_CONTENT = `
|
||
<h2>隐私政策</h2>
|
||
<p><strong>最后更新日期:2026年5月16日</strong></p>
|
||
|
||
<p>南宁市网宿信息科技有限公司(以下简称"我们")非常重视您的个人信息保护。本隐私政策说明我们如何收集、使用、存储和保护您的个人信息。</p>
|
||
|
||
<h3>一、我们收集的信息</h3>
|
||
<p>为了向您提供服务,我们可能需要收集以下信息:</p>
|
||
|
||
<h4>1. 您主动提供的信息</h4>
|
||
<ul>
|
||
<li><strong>账号信息</strong>:微信昵称、头像、OpenID(用于登录识别)</li>
|
||
<li><strong>收货信息</strong>:收货人姓名、手机号码、详细地址(用于商品配送)</li>
|
||
<li><strong>联系信息</strong>:您在与客服沟通时提供的信息</li>
|
||
</ul>
|
||
|
||
<h4>2. 我们自动收集的信息</h4>
|
||
<ul>
|
||
<li><strong>设备信息</strong>:设备型号、操作系统版本</li>
|
||
<li><strong>日志信息</strong>:访问时间、浏览记录、操作记录</li>
|
||
<li><strong>位置信息</strong>:经您授权后获取的地理位置(用于推荐附近门店)</li>
|
||
</ul>
|
||
|
||
<h3>二、我们如何使用您的信息</h3>
|
||
<p>我们收集您的信息用于以下目的:</p>
|
||
<ul>
|
||
<li><strong>用户识别与登录</strong>:使用微信 OpenID 识别您的身份,实现免密登录</li>
|
||
<li><strong>商品配送</strong>:使用收货地址信息完成订单配送</li>
|
||
<li><strong>订单管理</strong>:处理您的订单、退换货申请</li>
|
||
<li><strong>客户服务</strong>:响应您的咨询、投诉和建议</li>
|
||
<li><strong>安全风控</strong>:防范欺诈、保障交易安全</li>
|
||
<li><strong>服务优化</strong>:分析用户行为,改进产品体验</li>
|
||
</ul>
|
||
|
||
<h3>三、信息的存储与保护</h3>
|
||
<p>1. 我们采用加密技术保护您的个人信息安全。</p>
|
||
<p>2. 您的个人信息存储在中国大陆境内的服务器上。</p>
|
||
<p>3. 我们仅在实现服务目的所必需的期限内保留您的信息。</p>
|
||
|
||
<h3>四、信息的共享与披露</h3>
|
||
<p>我们不会向第三方出售您的个人信息。仅在以下情况下可能共享:</p>
|
||
<ul>
|
||
<li>经您明确同意</li>
|
||
<li>为完成商品配送,向物流公司提供必要的收货信息</li>
|
||
<li>根据法律法规要求或政府机关的合法要求</li>
|
||
</ul>
|
||
|
||
<h3>五、您的权利</h3>
|
||
<p>您享有以下权利:</p>
|
||
<ul>
|
||
<li>查询、更正您的个人信息</li>
|
||
<li>删除您的个人信息</li>
|
||
<li>撤回授权同意</li>
|
||
<li>注销账号</li>
|
||
</ul>
|
||
<p>如需行使上述权利,请联系我们的客服。</p>
|
||
|
||
<h3>六、未成年人保护</h3>
|
||
<p>我们非常重视未成年人的个人信息保护。如果您是未成年人,请在监护人指导下使用本小程序。</p>
|
||
|
||
<h3>七、政策更新</h3>
|
||
<p>我们可能会适时更新本隐私政策。更新后的政策将在本小程序内公布。</p>
|
||
|
||
<h3>八、联系我们</h3>
|
||
<p>如您对本隐私政策有任何疑问,请联系:</p>
|
||
<p>客服电话:0771-5386339</p>
|
||
<p>客服邮箱:privacy@paopao.com</p>
|
||
`
|
||
|
||
const Agreement = () => {
|
||
const [loading, setLoading] = useState(true)
|
||
const [content, setContent] = useState<string>('')
|
||
const [title, setTitle] = useState<string>('')
|
||
|
||
useEffect(() => {
|
||
const init = async () => {
|
||
try {
|
||
// 获取页面参数 type=terms 或 type=privacy
|
||
const pages = Taro.getCurrentPages()
|
||
const current = pages[pages.length - 1]
|
||
const type = (current as any)?.options?.type || 'terms'
|
||
|
||
if (type === 'privacy') {
|
||
setTitle('隐私政策')
|
||
setContent(wxParse(PRIVACY_CONTENT))
|
||
} else {
|
||
setTitle('用户服务协议')
|
||
setContent(wxParse(TERMS_CONTENT))
|
||
}
|
||
} catch (e) {
|
||
console.error('load agreement failed', e)
|
||
setContent('<p>协议内容加载失败</p>')
|
||
} finally {
|
||
setLoading(false)
|
||
}
|
||
}
|
||
init()
|
||
}, [])
|
||
|
||
// 动态设置导航栏标题
|
||
useEffect(() => {
|
||
if (title) {
|
||
Taro.setNavigationBarTitle({ title })
|
||
}
|
||
}, [title])
|
||
|
||
if (loading) {
|
||
return <Loading className='px-2'>加载中</Loading>
|
||
}
|
||
|
||
return (
|
||
<View className='agreement-page'>
|
||
<RichText nodes={content} />
|
||
</View>
|
||
)
|
||
}
|
||
export default Agreement
|