This commit is contained in:
qiuyuan 2025-08-21 15:31:37 +08:00
parent 510ea9232f
commit a3772996ba
4 changed files with 481 additions and 77 deletions

194
pages/agreement/index.vue Normal file
View File

@ -0,0 +1,194 @@
<template>
<view class="content">
<!-- 富文本容器使用class控制样式 -->
<view class="protocol-container">
<!-- 富文本渲染组件绑定协议内容数据 -->
<u-parse :content="protocolContent"></u-parse>
</view>
</view>
</template>
<script>
export default {
data() {
return {
//
protocolContent: `
<div class="fontcontent">
<p class="title">智邻近山隐私政策</p>
<p>更新日期<span class="fontBlod">2025</span><span class="fontBlod">08</span><span class="fontBlod">02</span></p>
为使用<span class="fontBlod">智邻近山</span>您应当阅读并遵守
<span class="fontBlod">智邻近山服务协议</span>以下简称
<span class="fontBlod">本协议</span><span class="fontBlod">智邻近山隐私政策</span>请您务必审慎阅读充分理解各条款内容特别是免除或者限制智邻近山责任的条款对用户权利进行限制的条款约定争议解决方式和司法管辖的条款如第十八条相关约定以及开通或使用某项服务的单独协议或规则限制免责条款或者其他涉及您重大权益的条款可能以加粗加下划线等形式提示您重点注意</span>
</p>
<p>
除非您已充分阅读完全理解并接受本协议所有条款否则您无权使用<span class="fontBlod">智邻近山</span>服务您点击同意下一步或您使用<span class="fontBlod">智邻近山</span>服务或者以其他任何明示或者默示方式表示接受本协议的均视为您已阅读并同意签署本协议本协议即在您与<span class="fontBlod">智邻近山</span>之间产生法律效力成为对双方均具有约束力的法律文件</br>
本隐私政策将详细说明智邻近山运营方在获取管理及保护您的个人信息方面的政策及措施我们特别提示您未满十八周岁的未成年人不应该注册和使用<span class="fontBlod">智邻近山</span></br>
如果您是中国大陆地区以外的用户您订立或履行本协议还需要同时遵守您所属和/或所处国家或地区的法律</br>
<span> 协议的范围</span></br>
  1.1本协议是用户与智邻近山之间关于其使用智邻近山的服务所订立的协议智邻近山是指智邻近山和/或其相关服务可能存在的运营关联单位用户是指智邻近山的服务的使用人在本协议中更多地称为</br>
 1.2 智邻近山的服务是指智邻近山向用户提供的包括但不限于即时通讯网络媒体等产品及服务具体服务以智邻近山实际提供的为准以下简称本服务</br>
1.3本协议内容同时包括智邻近山隐私政策,且您在使用智邻近山某一特定服务时该服务可能会另有单独的协议相关业务规则等以下统称为单独协议上述内容一经正式发布即为本协议不可分割的组成部分您同样应当遵守您对前述任何单独协议的接受即视为您对本协议全部的接受您对本协议的接受即视为您对智邻近山隐私政策的接受</br>
<span> 帐号与密码安全</span></br>
2.1为了完成账号的创建登录以便我们为您提供服务您在注册登录智邻近山账户时所填写的昵称手机号码注册完成后如您使用第三方账号登录我们将就您在对应平台的头像昵称地区及性别信息征求您的授权且在您同意后才会调取相关信息以供登录使用</br>
2.2在您使用身份认证的功能或相关服务所需时根据相关法律法规您可能需要提供您的真实身份信息真实姓名身份证号码电话号码等以完成实名认证部分信息属于个人敏感信息您可以拒绝提供如果拒绝提供您将可能无法获得相关服务但不影响其他功能与服务的正常使用</br>
2.3您在使用本服务过程中可能可以为您使用的帐号设置昵称头像签名留言等信息您应当保证这些信息的内容和形式符合法律法规本协议中的法律法规指用户所属/所处地区国家现行有效的法律行政法规司法解释地方法规地方规章部门规章及其他规范性文件以及对于该等法律法规的不时修改和补充以及相关政策规定等下同公序良俗社会公德以及智邻近山平台规则且不会侵害任何主体的合法权益</br>
<span> 用户个人信息保护</span></br>
3.1保护用户个人信息是智邻近山的一项基本原则智邻近山将按照本协议及智邻近山隐私政策的规定收集使用储存和分享您的个人信息本协议对个人信息保护相关内容未作明确规定的均应以智邻近山隐私政策的内容为准</br>
3.2您在注册帐号或使用本服务的过程中可能需要填写一些必要的信息若国家法律法规有特殊规定的您需要填写真实的身份信息若您填写的信息不完整则可能无法使用本服务或在使用过程中受到限制</br>
3.3一般情况下您可根据相关产品规则浏览修改自己提交的信息但出于安全性和身份识别如号码申诉服务等的考虑您可能无法修改注册时提供的初始注册信息及其他验证信息</br>
3.4 智邻近山将尽可能运用各种安全技术和程序建立完善的管理制度来保护您的个人信息以免遭受未经授权的访问使用或披露</br>
3.5 智邻近山不会将您的个人信息转移或披露给任何第三方除非</br>
1相关法律法规或司法机关行政机关要求</br>
2为完成合并分立收购或资产转让而转移</br>
3为提供您要求的服务所必需</br>
4依据智邻近山隐私政策或其他相关协议规则可以转移或披露给任何第三方的情形</br>
<span>使用本服务的方式</span></br>
4.1本服务仅为您个人非商业性质的使用除非您与智邻近山另有约定</br>
   4.2您依本协议条款所取得的权利不可转让</br>
   4.3您不得使用任何方式包括但不限于第三方软件插件外挂系统设备等对本服务进行干扰破坏修改或施加其他影响</br>
   4.4您应当通过智邻近山提供或认可的方式使用本服务不得通过任何第三方软件插件外挂系统设备等登录或使用本服务</br>
   4.5任何人未经智邻近山授权不得使用任何第三方软件插件外挂系统爬虫等查看获取本服务中所包含的智邻近山智邻近山合作伙伴或用户的任何相关信息数据等内容同时应当严格遵守智邻近山发布的Robots协议等相关协议规则</br>
<span>按现状提供服务</span></br>
您理解并同意</br>
5.1本服务是按照现有技术和条件所能达到的现状提供的智邻近山会尽最大努力保障服务的连贯性和安全性但智邻近山不能随时预见和防范法律技术以及其他风险智邻近山对此类风险在法律允许的范围内免责包括但不限于不可抗力病毒木马黑客攻击系统不稳定第三方服务瑕疵政府行为等原因可能导致的服务中断数据丢失以及其他的损失和风险</br>
5.2因经营策略安排或调整等原因,不同地区的用户可使用的具体智邻近山服务的内容可能会存在差异具体以智邻近山实际提供的为准</br>
<span>自备设备</span></br>
6.1您应当理解您使用本服务需自行准备与相关服务有关的终端设备如电脑移动终端和必要的网络接入设备等装置并承担所需的费用如电话费上网费等费用</br>
6.2您理解并同意您使用本服务时会耗用您的终端设备和带宽等资源</br>
<span>广告</span></br>
7.1您同意智邻近山可以自行或由第三方通过短信电子邮件或电子信息等多种方式向您发送展示广告或其他信息包括商业与非商业信息广告或其他信息的具体发送及展示形式频次及内容等以智邻近山实际提供为准</br>
7.2 智邻近山将依照相关法律法规要求开展广告业务您同意对本服务中出现的广告您应审慎判断其真实性和可靠性除法律明确规定外您应对因该广告而实施的行为负责</br>
<span>服务费用</br>
8.1 智邻近山的部分服务是以收费方式提供的如您使用收费服务请遵守相关的协议</br>
8.2 智邻近山可能根据实际需要对收费服务的收费标准方式进行修改和变更智邻近山也可能会对部分免费服务开始收费前述修改变更或开始收费前智邻近山将在相应服务页面进行通知或公告如果您不同意上述修改变更或付费内容则应停止使用该服务</br>
8.3在智邻近山降低收费服务的收费标准或者将收费服务改为免费服务提供时智邻近山保留不对原付费用户提供退费或者费用调整之权利</br>
<span>第三方提供的产品或服务</br>
您在智邻近山平台上使用第三方提供的产品或服务时除遵守本协议约定外还应遵守第三方的用户协议智邻近山和第三方对可能出现的纠纷在法律规定和约定的范围内各自承担责任</br>
<span>基于软件提供服务</span></br>
若智邻近山依托软件向您提供服务您还应遵守以下约定</br>
   10.1您在使用本服务的过程中可能需要下载软件对于这些软件智邻近山给予您一项个人的不可转让及非排他性的许可您仅可为使用本服务的目的而使用这些软件</br>
   10.2为了改善用户体验保障服务的安全性及产品功能的一致性等目的智邻近山可能会对软件进行更新您应该将相关软件更新到最新版本否则智邻近山并不保证软件或服务能正常使用</br>
   10.3 智邻近山可能为不同的终端设备开发不同的软件版本您应当根据实际情况选择下载合适的版本进行安装您可以直接从智邻近山平台上获取软件也可以从得到智邻近山授权的第三方获取如果您从未经智邻近山授权的第三方获取软件或与软件名称相同的安装程序智邻近山无法保证该软件或服务能够正常使用并对因此给您造成的损失不予负责</br>
   10.4除非智邻近山书面许可您不得从事下列任一行为</br>
   1删除软件及其副本上关于著作权的信息</br>
   2对软件进行反向工程反向汇编反向编译或者以其他方式尝试发现软件的源代码</br>
   3对智邻近山拥有知识产权的内容进行使用出租出借复制修改链接转载汇编发表出版建立镜像站点等</br>
   4对软件或者软件运行过程中释放到任何终端内存中的数据软件运行过程中客户端与服务器端的交互数据以及软件运行所必需的系统数据进行复制修改增加删除挂接运行或创作任何衍生作品形式包括但不限于使用插件外挂或非经智邻近山授权的第三方工具/服务接入软件和相关系统</br>
   5通过修改或伪造软件运行中的指令数据等任何方式增加删减变动软件的功能或运行效果或者将用于上述用途的软件方法进行运营或向公众传播无论这些行为是否为商业目的</br>
   6通过非智邻近山开发授权的第三方软件插件外挂系统设备等任何方式登录或使用智邻近山软件及服务或制作发布传播非智邻近山开发授权的用于登录或使用智邻近山软件及服务的第三方软件插件外挂系统设备等</br>
<span>十一知识产权声明</span></br>
11.1 智邻近山在本服务中提供的内容包括但不限于网页文字图片音频视频图表计算机软件等的知识产权归智邻近山所有用户在使用本服务中所产生内容的知识产权归用户或相关权利人所有除非您与智邻近山另有约定</br>
   11.2除另有特别声明外智邻近山提供本服务时所依托软件的著作权专利权及其他知识产权均归智邻近山所有</br>
   11.3 智邻近山在本服务中所使用的智邻近山等商业标识其著作权或商标权归智邻近山所有</br>
   11.4上述及其他任何本服务包含的内容的知识产权均受到法律法规保护未经智邻近山用户或相关权利人书面许可任何人不得以任何形式进行使用或创造相关衍生作品</br>
<span> 十二用户违法违规行为</span></br>
12.1您在使用本服务时须遵守法律法规不得制作复制发布传播含有下列内容的信息或从事相关行为也不得为制作复制发布传播含有下列内容的信息或从事相关行为提供便利</br>
   1反对宪法所确定的基本原则的</br>
   2危害国家安全泄露国家秘密颠覆国家政权破坏国家统一的</br>
   3损害国家荣誉和利益的</br>
   4煽动民族仇恨民族歧视破坏民族团结的</br>
   5破坏国家宗教政策宣扬邪教和封建迷信的</br>
   6散布谣言扰乱社会秩序破坏社会稳定的</br>
   7散布淫秽色情赌博暴力凶杀恐怖或者教唆犯罪的</br>
   8侮辱或者诽谤他人侵害他人合法权益的</br>
   9违反法律法规底线社会主义制度底线国家利益底线公民合法权益底线社会公共秩序底线道德风尚底线和信息真实性底线的七条底线要求的</br>
   10相关法律法规或本协议相关协议规则等禁止的</br>
   12.2如果您在使用本服务过程中违反了相关法律法规或本协议约定相关国家机关或机构可能会对您提起诉讼罚款或采取其他制裁措施并要求智邻近山给予协助因此给您或者他人造成损害的您应自行承担全部责任智邻近山不承担任何责任</br>
   12.3如果您违反本协议约定智邻近山有权进行独立判断并采取相应措施包括但不限于通过技术手段删除屏蔽相关内容或断开链接等同时智邻近山有权视用户的行为性质采取包括但不限于暂停或终止向您提供服务限制中止冻结或终止您对智邻近山帐号的使用追究法律责任等措施</br>
   12.4您违反本协议约定导致任何主体损失的您应当独立承担责任智邻近山因此遭受损失的您也应当一并赔偿</br>
<span>十三遵守当地法律监管</span></br>
 13.1您在使用本服务过程中应当遵守当地相关的法律法规并尊重当地的道德和风俗习惯如果您的行为违反了当地法律法规或道德风俗您应当为此独立承担责任</br>
 13.2您应避免因使用本服务而使智邻近山违反法律法规或卷入政治和公共事件否则智邻近山有权暂停或终止对您的服务</br>
<span>十四用户发送传播的内容与投诉处理</span></br>
14.1您通过本服务发送或传播的内容包括但不限于网页文字图片音频视频图表等均由您自行承担责任</br>
14.2您发送或传播的内容应有合法来源相关内容为您所有或您已获得必要的授权</br>
14.3如果您发送或传播的内容违法违规或侵犯他人权利的智邻近山有权进行独立判断并采取删除屏蔽或断开链接等措施</br>
14.4如您被他人投诉或您投诉他人智邻近山有权将争议中相关方的主体信息联系方式投诉相关内容等必要信息提供给相关当事方或相关部门以便及时解决投诉纠纷保护各方合法权益</br>
14.5您保证对您在投诉处理程序中提供的信息材料证据等的真实性合法性有效性负责
<span>十五不可抗力及其他免责事由</span></br>
15.1您理解并同意在使用本服务的过程中可能会遇到不可抗力等风险因素使本服务受到影响不可抗力是指不能预见不能克服并不能避免且对一方或双方造成重大影响的客观事件包括但不限于自然灾害如洪水地震瘟疫流行和风暴等以及社会事件如战争动乱政府行为等出现上述情况时智邻近山将努力在第一时间与相关单位配合争取及时进行处理但是由此给您造成的损失智邻近山在法律允许的范围内免责</br>
15.2在法律允许的范围内智邻近山对以下情形导致的服务中断或受阻不承担责任</br>
1受到计算机病毒木马或其他恶意程序黑客攻击的破坏</br>
2用户或智邻近山的电脑软件系统硬件和通信线路出现故障</br>
3用户操作不当或用户通过非智邻近山授权的方式使用本服务</br>
4程序版本过时设备的老化和/或其兼容性问题</br>
5其他智邻近山无法控制或合理预见的情形</br>
15.3您理解并同意在使用本服务的过程中可能会遇到网络信息或其他用户行为带来的风险智邻近山不对任何信息的真实性适用性合法性承担责任也不对因侵权行为给您造成的损害负责这些风险包括但不限于</br>
1来自他人匿名或冒名的含有威胁诽谤令人反感或非法内容的信息</br>
2遭受他人误导欺骗或其他导致或可能导致的任何心理生理上的伤害以及经济上的损失</br>
3其他因网络信息或用户行为引起的风险</br>
15.4 智邻近山依据本协议约定获得处理违法违规内容的权利该权利不构成智邻近山的义务或承诺智邻近山不能保证及时发现违法行为或进行相应处理</br>
15.5在任何情况下您不应轻信借款索要密码或其他涉及财产的信息涉及财产操作的请一定先核实对方身份并请经常留意智邻近山有关防范诈骗犯罪的提示</br>
<span>十六协议的生效与变更</span></br>
16.1您使用本服务即视为您已阅读本协议并接受本协议的约束</br>
16.2 智邻近山有权在必要时修改本协议条款您可以在相关服务页面查阅最新版本的协议条款</br>
16.3本协议条款变更后如果您继续使用智邻近山提供的软件或服务即视为您已接受变更后的协议</br>
<span>十七服务的变更中断终止</span></br>
17.1您理解并同意智邻近山基于经营策略的调整可能会对服务内容进行变更也可能会中断中止或终止服务</br>
17.2在智邻近山发生合并分立收购资产转让时智邻近山可向第三方转让本服务下相关资产智邻近山也可在单方通知您后将本协议下部分或全部服务及相应的权利义务转交由第三方运营或履行具体受让主体以智邻近山通知的为准</br>
17.3如发生下列任何一种情形智邻近山有权不经通知而中断或终止向您提供服务</br>
1根据法律法规规定您应提交真实信息而您提供的个人资料不真实或与注册时信息不一致又未能提供合理证明</br>
2您违反相关法律法规的规定或违反本协议的约定</br>
3按照法律法规规定司法机关或主管部门的要求</br></br>
4出于安全的原因或其他必要的情形</br>
17.4 智邻近山有权按本协议8.2条的约定进行收费若您未按时足额付费智邻近山有权中断中止或终止提供服务</br>
17.5您有责任自行备份存储在本服务中的数据如果您的服务被终止智邻近山有权从服务器上永久地删除您的数据,法律法规另有规定的除外服务中止或终止后智邻近山没有义务向您提供或返还数据</br>
<span>十八管辖与法律适用</span></br>
18.1本协议的成立生效履行解释及纠纷解决等相关事宜均适用中华人民共和国大陆地区法律不包括冲突法</br>
18.2本协议签订地为中华人民共和国江苏省南通市开发区</br>
18.3若您和智邻近山之间发生任何纠纷或争议首先应友好协商解决协商不成的您同意将纠纷或争议提交本协议签订地即中国江苏省南通市开发区有管辖权的人民法院管辖</br>
18.4本协议所有条款的标题仅为阅读方便本身并无实际涵义不能作为本协议涵义解释的依据</br>
18.5本协议条款无论因何种原因部分无效或不可执行其余条款仍有效对双方具有约束力</br>
18.6若本协议有中文英文等多个语言版本相应内容不一致的均以中文版的内容为准 </br>
<span>十九其他</span></br>
19.1如果您对本协议或本服务有意见或建议可与智邻近山工作人员联系我们会给予您必要的帮助</br>
正文完
</p>
</div>
`
}
},
methods: {
//
async fetchProtocolContent() {
//
// const res = await uni.request({ url: '/api/protocol' });
// this.protocolContent = res.data;
}
},
//
onLoad() {
// this.fetchProtocolContent();
}
}
</script>
<style lang="scss">
.content {
padding: 40rpx;
}
//
.protocol-container {
padding: 30rpx;
background-color: #f8f8f8;
border-radius: 12rpx;
margin-bottom: 30rpx;
}
.fontcontent {
font-size: 24rpx;
font-weight: normal;
}
.title {
width: 100%;
text-align: center;
}
.fontBlod {
font-weight: 900;
// color:red;
}
</style>

View File

@ -34,7 +34,7 @@
</view>
</view>
<!-- 修改用户信息弹窗 -->
<u-modal :show="showEditModal" :title="isLogin ? '修改用户信息' : '微信授权手机号'" :show-confirm-button="isLogin"
<u-modal :show="showEditModal" :title="isLogin ? '修改用户信息' : '手机号快捷登录'" :show-confirm-button="isLogin"
:show-cancel-button="isLogin" @confirm="handleSubmit" @cancel="handleCancel" confirm-color="#2979ff"
cancel-color="#606266">
<view class="modal-content">
@ -43,15 +43,22 @@
<view class="auth-title">请先授权手机号以使用完整功能</view>
<button v-if="!showPhoneButton" class="auth-button" open-type="getUserInfo"
@getuserinfo="onGetUserInfo">
<image class="wechat-icon" src="/static/imgs/wechat.png"></image>
微信一键登录
<image class="auth-icon" src="/static/imgs/phone.png"></image>
手机号快捷登录
</button>
<button v-if="showPhoneButton" type="default" open-type="getPhoneNumber"
@getphonenumber="getPhoneNumber" class="auth-button phone-button">
<image class="phone-icon" src="/static/imgs/phone.png"></image>
授权获取手机号
</button>
<view class="auth-tip">授权即表示同意用户协议隐私政策</view>
<view class="auth-agreement">
<checkbox-group @change="handleAgreementChange">
<label>
<checkbox :checked="agreementChecked" color="#2979ff" style="transform:scale(0.7)"/>
我已阅读并同意<text class="agreement-link" @click.stop="goToAgreement('userAgreement')">用户协议</text><text class="agreement-link" @click.stop="goToAgreement('agreement')">隐私政策</text>
</label>
</checkbox-group>
</view>
</view>
<!-- 已登录时显示编辑表单 -->
<view v-else class="edit-section">
@ -103,14 +110,14 @@
<text class="phone-number">{{communityPhone}}</text>
</view>
</u-modal>
<Copyright/>
<Copyright/>
<Footer></Footer>
</view>
</template>
<script>
import Footer from '@/components/footer_common.vue';
import Copyright from '@/components/gx-copyright.vue';
import Copyright from '@/components/gx-copyright.vue';
import {
get,
post
@ -141,6 +148,7 @@
},
uploading: false,
displayAvatar: '/static/imgs/index/nav.png',
agreementChecked: false,
choseList: [{
key: 1,
url: "/static/imgs/service/service_list.png",
@ -150,7 +158,7 @@
{
key: 2,
url: "/static/imgs/service/service_help.png",
name: '我的求助',
name: '邻里互助',
pageUrl: 'mySeekHelp'
},
{
@ -175,6 +183,18 @@
url: "/static/imgs/service/service_phone.png",
name: '联系社区',
},
{
key: 7,
url: "/static/imgs/service/service_xieyi.png",
name: '用户协议',
pageUrl: 'userAgreement'
},
{
key: 8,
url: "/static/imgs/service/service_zhengce.png",
name: '隐私政策',
pageUrl: 'agreement'
}
],
communityPhone: '0513-59000051',
showPhoneDialog: false
@ -184,30 +204,43 @@
this.initData();
},
methods: {
//
//
handleAgreementChange(e) {
this.agreementChecked = e.detail.value.length > 0;
},
//
goToAgreement(type) {
if (type === 'user') {
uni.navigateTo({
url: '/pages/userAgreement/index'
});
} else {
uni.navigateTo({
url: '/pages/agreement/index'
});
}
},
//
onAvatarClick() {
if (!this.isLogin) {
this.showEditModal = true;
return;
}
//
if (this.uploading) return;
//
uni.chooseImage({
count: 1, //
sizeType: ['original', 'compressed'], //
sourceType: ['album', 'camera'], //
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: (res) => {
//
const tempFilePaths = res.tempFilePaths;
if (tempFilePaths && tempFilePaths.length > 0) {
// filehandleAvatarUpload
const file = {
url: tempFilePaths[0]
};
//
this.handleAvatarUpload({ file });
}
},
@ -221,10 +254,10 @@
});
},
// ...
handleCloseModal() {
this.showPhoneDialog = false;
},
//
async initData() {
const token = uni.getStorageSync('token');
@ -246,9 +279,9 @@
this.clearUserData();
}
},
//
updateUserInfo(data) {
// IMAGE_BASE_URL
const avatarUrl = data.avatar ? `${IMAGE_BASE_URL}${data.avatar}` : '/static/imgs/index/nav.png';
this.userInfo = {
nickName: data.name || data.nickName || '未命名用户',
@ -256,7 +289,6 @@
bio: data.introduce || data.bio || '这家伙很懒,什么都没有写~',
phone: data.phone || ''
};
//
this.displayAvatar = this.userInfo.avatarUrl;
this.formData = {
name: this.userInfo.nickName,
@ -268,13 +300,14 @@
}];
}
},
//
clearUserData() {
this.isLogin = false;
this.userInfo = {
nickName: '未登录用户',
avatarUrl: '/static/imgs/index/nav.png',
bio: '这家伙很懒,什么都没有写~'
bio: '这家伙很懒,什么都没有写~'
};
this.formData = {
name: '',
@ -284,13 +317,13 @@
uni.removeStorageSync('token');
uni.removeStorageSync('userInfo');
},
//
handleEditClick() {
if (!this.isLogin) {
this.showEditModal = true;
return;
}
//
this.formData = {
name: this.userInfo.nickName,
bio: this.userInfo.bio
@ -304,8 +337,17 @@
}
this.showEditModal = true;
},
//
// -
onGetUserInfo(e) {
if (!this.agreementChecked) {
uni.showToast({
title: '请先阅读并同意协议',
icon: 'none'
});
return;
}
if (e.detail.userInfo) {
this.userInfo.nickName = e.detail.userInfo.nickName;
this.userInfo.avatarUrl = e.detail.userInfo.avatarUrl;
@ -318,7 +360,8 @@
this.showEditModal = false;
}
},
// code
// code -
wxLogin() {
uni.showLoading({
title: '登录中...'
@ -332,13 +375,14 @@
fail: (err) => {
uni.hideLoading();
uni.showToast({
title: '微信登录失败',
title: '登录失败',
icon: 'none'
});
console.error('微信登录失败:', err);
console.error('登录失败:', err);
}
});
},
//
async sendLoginRequest(code) {
try {
@ -368,8 +412,17 @@
console.error('登录接口错误:', err);
}
},
//
async getPhoneNumber(e) {
if (!this.agreementChecked) {
uni.showToast({
title: '请先阅读并同意协议',
icon: 'none'
});
return;
}
if (e.detail.errMsg !== "getPhoneNumber:ok") {
uni.showToast({
title: '获取手机号失败',
@ -377,6 +430,7 @@
});
return;
}
uni.showLoading({
title: '获取手机号中...'
});
@ -398,10 +452,10 @@
console.error('绑定手机号失败:', err);
}
},
//
async loginComplete(data) {
try {
//
this.showEditModal = false;
const res = await get('/api/v1/app_auth/mine');
if (res && res.success) {
@ -423,6 +477,7 @@
console.error('登录完成处理失败:', err);
}
},
//
async handleAvatarUpload(event) {
if (!this.isLogin) {
@ -435,7 +490,6 @@
if (!file || !file.url) return;
this.uploading = true;
try {
//
const fileInfo = await new Promise((resolve, reject) => {
uni.getFileInfo({
filePath: file.url,
@ -446,9 +500,7 @@
if (fileInfo.size > 3 * 1024 * 1024) {
throw new Error('图片大小不能超过3MB');
}
//
const avatarUrl = await this.uploadAvatar(file.url);
//
await this.updateUserAvatar(avatarUrl);
uni.showToast({
title: '头像上传成功'
@ -463,6 +515,7 @@
this.uploading = false;
}
},
//
uploadAvatar(filePath) {
return new Promise((resolve, reject) => {
@ -491,19 +544,17 @@
});
});
},
//
//
async updateUserAvatar(avatarUrl) {
try {
// 1.
await post('/api/v1/app_auth/bind', {
avatar: avatarUrl,
introduce: this.formData.bio,
name: this.formData.name
});
// 2.
const res = await get('/api/v1/app_auth/mine');
if (res && res.success) {
// 3.
uni.setStorageSync('userInfo', res.data);
this.updateUserInfo(res.data);
} else {
@ -514,7 +565,8 @@
throw err;
}
},
// -
//
handleAvatarDelete() {
uni.showModal({
title: '提示',
@ -534,6 +586,7 @@
}
});
},
//
async handleSubmit() {
if (!this.isLogin) return;
@ -557,16 +610,13 @@
title: '提交中...'
});
try {
// 1.
await post('/api/v1/app_auth/bind', {
avatar: avatarUrl,
introduce: bio,
name: name
});
// 2.
const res = await get('/api/v1/app_auth/mine');
if (res && res.success) {
// 3.
uni.setStorageSync('userInfo', res.data);
this.updateUserInfo(res.data);
this.showEditModal = false;
@ -586,18 +636,20 @@
console.error('修改失败:', err);
}
},
//
handleCancel() {
this.showEditModal = false;
},
//
goPage(item) {
if (item.key === 6) { //
if (item.key === 6) {
this.handleContactCommunity();
return;
}
if (item.key === 5) { //
this.handleEditClick(); //
if (item.key === 5) {
this.handleEditClick();
return;
}
if (!this.checkLogin()) {
@ -610,13 +662,14 @@
});
}
},
//
handleContactCommunity() {
if (!this.checkLogin()) {
this.showEditModal = true;
return;
}
this.showEditModal = true;
return;
}
uni.showModal({
title: '联系社区',
content: '是否要拨打社区电话:' + this.communityPhone,
@ -629,6 +682,7 @@
}
});
},
//
callCommunityPhone() {
uni.makePhoneCall({
@ -646,6 +700,7 @@
});
this.showPhoneDialog = false;
},
//
checkLogin() {
const token = uni.getStorageSync('token');
@ -668,7 +723,7 @@
padding: 20rpx;
min-height: 100vh;
box-sizing: border-box;
padding-bottom: calc(190rpx + 100rpx + 80rpx);
padding-bottom: calc(100rpx + 50rpx);
}
.user-info-card {
background: #fff;
@ -822,7 +877,7 @@
}
}
}
/* 授权登录区域 */
/* 授权登录区域 - 修改相关文案和图标 */
.auth-section {
display: flex;
flex-direction: column;
@ -836,41 +891,42 @@
font-weight: 500;
}
.auth-button {
width: 100%;
height: 90rpx;
line-height: 90rpx;
background: #07C160;
color: #fff;
font-size: 30rpx;
border-radius: 45rpx;
margin-bottom: 30rpx;
display: flex;
align-items: center;
justify-content: center;
position: relative;
box-shadow: 0 4rpx 12rpx rgba(7, 193, 96, 0.3);
width: 100%;
height: 90rpx;
background: #2979ff;
color: #fff;
font-size: 30rpx;
border-radius: 45rpx;
margin-bottom: 20rpx;
padding: 0 30rpx;
box-sizing: border-box;
box-shadow: 0 4rpx 12rpx rgba(41, 121, 255, 0.3);
&::after {
border: none;
}
&.phone-button {
background: #2979ff;
box-shadow: 0 4rpx 12rpx rgba(41, 121, 255, 0.3);
}
&:active {
opacity: 0.9;
}
.wechat-icon,
.auth-icon,
.phone-icon {
width: 40rpx;
height: 40rpx;
margin-right: 15rpx;
}
}
.auth-tip {
font-size: 24rpx;
color: #999;
.phone-button {
background: #07C160; /* 微信绿色,保持原有成功色 */
}
.auth-agreement {
margin-top: 20rpx;
text-align: center;
font-size: 24rpx;
color: #666;
.agreement-link {
color: #2979ff;
}
}
}
.phone-dialog-content {

View File

@ -55,9 +55,9 @@
<button
@click.stop="handleAction(order, $event)"
class="order-action"
v-if="order.status == 1 || order.status == 2 || order.status == 99"
v-if="order.status !== 3 "
>
撤回
删除
</button>
</view>
</view>
@ -99,7 +99,7 @@
<script>
import Footer from '@/components/footer_common.vue';
import { get, post,put } from '@/utils/request';
import { get, post,put , del } from '@/utils/request';
import { IMAGE_BASE_URL,BASE_URL } from '@/utils/config';
import { formatTime, formatRelativeTime } from '@/utils/timeFormat';
export default {
@ -216,10 +216,10 @@
handleAction(order, e) {
e.stopPropagation();
if (order.status == 1 || order.status == 2 || order.status == 99) {
if (order.status !== 3 ) {
uni.showModal({
title: '提示',
content: '确定要撤回这个工单吗?',
content: '确定要删除这个工单吗?',
success: (res) => {
if (res.confirm) {
this.withdrawOrder(order.id);
@ -231,14 +231,14 @@
async withdrawOrder(orderId) {
try {
const res = await put(`/api/v1/app_auth/work-order/${orderId}`, {status:98});
const res = await del(`/api/v1/app_auth/work-order/${orderId}`);
if (res?.success) {
uni.showToast({ title: '工单已撤回', icon: 'success' });
uni.showToast({ title: '工单已删除', icon: 'success' });
this.resetList(); //
}
} catch (err) {
console.error('撤回工单失败:', err);
uni.showToast({ title: '撤回失败', icon: 'none' });
console.error('删除工单失败:', err);
uni.showToast({ title: '删除失败', icon: 'none' });
}
},

View File

@ -0,0 +1,154 @@
<template>
<view class="content">
<!-- 富文本容器使用class控制样式 -->
<view class="protocol-container">
<!-- 富文本渲染组件绑定协议内容数据 -->
<u-parse :content="protocolContent"></u-parse>
</view>
</view>
</template>
<script>
export default {
data() {
return {
//
protocolContent: `
<div class="fontcontent">
<p class="title">智邻近山平台用户协议</p>
<p>发布日期<span class="fontBlod">2025</span><span class="fontBlod">08</span><span class="fontBlod">2</span></p>
<span class="fontBlod">平台说明</span><br/>
1本平台为<span class="fontBlod">智邻近山社区服务平台</span>以下简称<span class="fontBlod">智邻近山</span><span class="fontBlod">我们</span>的产品及服务的购享平台用户指注册或使用本平台的年满18周岁的具有完全民事行为能力的主体可以通过本平台了解社区公告服务内容社区活动等相关内容<br/>
2用户需在注册或使用前审慎阅读本平台用户协议本协议充分理解本协议各项条款若用户不同意本协议的内容请立刻停止注册或停止使用本平台若用户继续注册或使用本平台则视为用户已知悉并同意本协议的全部内容且本协议即时生效<br/>
3我们的平台内容可能由其他用户提供或者可能含有其他小程序网站或第三方的链接这些信息内容和外部链接仅为用户提供便利不代表我们经营或参与经营这些产品或服务亦不代表用户被授予访问或使用这些产品或服务的许可用户应以自己的责任包括但不限于遵守该产品或服务的使用条款和购享意愿访问或使用这些产品或服务我们不对这些产品或服务的内容和行为负责.<br/>
<span class="fontBlod">用户注册</span><br/>
1当您按照注册页面提示填写信息阅读并同意本协议且完成全部注册程序后您可使用我们向您提供的服务并成为我们的用户但请您特别注意我们仅许可您出于个人而非商业目的使用该账户我们保留该账户以及与注册使用该账户相关的服务数据和记录的所有权包括但不限于所有注册登录服务日志客服记录和相关使用数据等<br/>
2您在注册时有权选择合法的字符组合作为自己的账户名及设置您的密码其将在注册成功后成为您的账户您设置的账号密码是您用以登录并使用我们产品和服务的凭证<br/>
3用户注册时应遵循诚实信用合法善意的原则提交注册资料若因用户提供的信息不合法不真实不准确或未及时更新导致用户无法正常使用本平台或损害用户或他人权益或造成其他不利后果的相关责任由用户承担<br/>
4用户应妥善保管及使用本平台所产生的相关信息包括但不限于注册账号登录密码验证码等并对前述信息的安全及通过用户在本平台的账户所实施的全部行为包括但不限于用户自行实施授权他人实施非因本平台原因导致的他人窃取注册账号实施负责非因本平台原因导致的注册账号及密码泄露所产生的后果及责任由用户承担<br/>
5如发现他人未经授权使用您的帐户和密码您应立即通知我们我们将协助您冻结账户更改密码或进行其他安全设置您理解我们对您的请求采取行动需要合理时间我们对在采取行动前已经产生的以及由您引发的后果包括但不限于您的任何损失不承担任何责任<br/>
6为了您更好地使用我们的各项服务保障您的账户安全我们可要求您按相关法律法规规定完成实名认证<br/>
<span class="fontBlod">账户的冻结及申诉</span><br/>
您的账户全部或部分权限或功能在如下情况可能被冻结我们将通过必要的方式例如短信电话等方式通知您<br/>
1违反本协议我们产品和服务的相关规则规范如交易规则管理规范服务说明以及其他使用协议/条款的<br/>
2违反国家法律法规政策法律文书的规定的<br/>
3您遭到他人投诉且对方已经提供了相关证据的而您未按照我们的要求提供相反证据的<br/>
4我们根据合理分析判断您的账户操作等存在异常的<br/>
5国家有权机关要求进行冻结的</span><br/>
您的账户若被冻结您可以通过申诉程序向我们申请解除上述冻结或注销为了您的账户安全您应配合如实提供身份证明及相关资料以及我们要求的其他信息或文件以便我们进行核实我们有权决定是否同意您的申诉请求<br/>
<span class="fontBlod">用户行为规范</span><br/>
1用户承诺将依法依规使用本平台不从事任何侵害国家或他人的行为<br/>
特别是用户不得制作复制发布传播含有下列内容的信息或从事相关行为也不得为制作复制发布传播含有下列内容的信息或从事相关行为提供便利<br/>
<span class="fontBlod">1反对宪法所确定的基本原则的</span><br/>
<span class="fontBlod">2危害国家安全泄露国家秘密颠覆国家政权破坏国家统一的</span><br/>
<span class="fontBlod">3损害国家荣誉和利益的</span><br/>
<span class="fontBlod">4歪曲丑化亵渎否定英雄烈士事迹和精神以侮辱诽谤或者其他方式侵害英雄烈士的姓名肖像名誉荣誉的</span><br/>
<span class="fontBlod">5宣扬恐怖主义极端主义或者煽动实施恐怖活动极端主义活动的</span><br/>
<span class="fontBlod">6煽动民族仇恨民族歧视破坏民族团结的</span><br/>
<span class="fontBlod">7破坏国家宗教政策宣扬邪教和封建迷信的</span><br/>
<span class="fontBlod">8散布谣言扰乱经济秩序和社会秩序的</span><br/>
<span class="fontBlod">9散布淫秽色情赌博暴力凶杀恐怖或者教唆犯罪的</span><br/>
<span class="fontBlod">10侮辱或者诽谤他人侵害他人名誉隐私和其他合法权益的</span><br/>
<span class="fontBlod">11违反法律法规底线社会主义制度底线国家利益底线公民合法权益底线社会公共秩序底线道德风尚底线和信息真实性底线的七条底线要求的</span><br/>
<span class="fontBlod">12相关法律法规或本协议相关协议规则等禁止的</span><br/>
同时用户应当防范和抵制制作复制发布含有下列内容的不良信息<br/>
<span class="fontBlod">1使用夸张标题内容与标题严重不符的</span><br/>
<span class="fontBlod">2炒作绯闻丑闻劣迹等的</span><br/>
<span class="fontBlod">3不当评述自然灾害重大事故等灾难的</span><br/>
<span class="fontBlod">4有性暗示性挑逗等易使人产生性联想的</span><br/>
<span class="fontBlod">5展现血腥惊悚残忍等致人身心不适的</span><br/>
<span class="fontBlod">6煽动人群歧视地域歧视等的</span><br/>
<span class="fontBlod">7宣扬低俗庸俗媚俗内容的</span><br/>
<span class="fontBlod">8可能引发未成年人模仿不安全行为和违反社会公德行为诱导未成年人不良嗜好等的</span><br/>
<span class="fontBlod">9其他对网络生态造成不良影响的内容</span><br/>
2用户使用本平台所实施的行及所做意思表示包括但不限于分享链接签到扫码兑换权益未经本平台或相关权利人书面确认对本平台或相关权利人没有约束力相关后果及责任由用户承担<br/>
3用户不得利用我们的产品和服务从事违法犯罪的活动包括分裂国家教唆他人犯罪侵犯计算机安全系统干扰或混乱网络服务等危害国家安全或有损社会公共利益的行为<br/>
4用户不得利用我们的产品和服务进行任何可能对互联网正常运转造成不利影响的行为<br/>
5如知悉用户实施违法违规行为本平台有权立即对用户做出处理包括但不限于中止或终止为用户提供产品或服务冻结或注销用户账号删除用户信息若因用户实施违法违规行为或本平台对用户所做处理给用户本平台或他人造成损失的相关责任由用户承担<br/>
<span class="fontBlod">用户信息的收集及使用</span><br/>
我们非常重视和保护您的个人信息制定了专门的个人信息保护政策在您使用我们直接向您提供的产品和服务前请您务必进行阅读<br/>
<span class="fontBlod">平台展示信息说明</span><br/>
1本平台所展示的活动说明可能会根据实际情况调整以本平台最终公示的信息为准<br/>
2除非另有说明本平台不对信息权属方在本平台上展示的信息做担保<br/>
<span class="fontBlod">不可抗力或其他免责事由</span><br/>
1用户知悉本平台对下列不可抗力所造成的的后果免责<br/>
1电力信息网络电脑或通讯系统故障<br/>
2罢工暴乱战争火灾洪水疫情<br/>
3政府管制或司法行政机关命令<br/>
4其他法律法规规定的不可抗力<br/>
2用户知悉本平台对下列情形所造成的后果免责<br/>
1用户非法或不当使用本平台<br/>
2黑客病毒木马攻击等非因本平台或用户原因造成的履行障碍<br/>
3其他平台无法预料的情形<br/>
3我们保留随时修改增减取消暂停中断或终止提供产品和服务全部或部分而无需事先告知用户的权利我们在行使前述各项权利时亦无需对用户承担任何责任<br/>
4我们保留随时更改产品和服务所涉及的我们产品的设计样式等内容的权利而无需事先通知用户<br/>
5对于用户通过我们的产品或服务中的外部链接与第三方发生的任何法律行为包括但不限于与第三方的交易由用户与该第三方自行承担全部的责任我们不承担任何责任<br/>
6用户特此承认并接受对于用户因使用我们的产品或服务而遭受的任何直接或间接的损失包括但不限于由于产品或服务内容的延误不准确错误和遗漏而产生的任何损害责任请求损失或费用我们及我们关联企业不承担责任<br/>
<span class="fontBlod">知识产权</span><br/>
1本平台所展示的信息和内容包括但不限于软件技术程序网页文字图片视频音频图表外观设计简报等的知识产权包括但不限于专利权著作权商标权及商业秘密及相关数据的权利均归本平台或信息权属方包括但不限于平台提供技术支持的软件即服务提供商SaaS服务所有未经我们事先书面许可您不能复制拷贝或者使用任何部分的内容数据代码和外观设计<br/>
2用户应确保使用本平台发布的信息真实合法准确不侵犯他人知识产权或其他合法权益否则相关责任由用户承担<br/>
3用户使用本平台所产生的信息的知识产权归用户或相关权利人所有除非用户与我们另有约定但是为了更好地促进信息分享及宣传推广您授权我们及其关联公司在我们关联的产品或服务中以及为宣传推广之目的将上述内容许可给第三方使用您对我们及其关联公司的前述授权并不改变用户发布内容的所有权及知识产权归属也并不影响您对发布内容行使相应的合法权利<br/>
4如任何组织或个人认为可能侵犯其合法权益的可向我们提出书面权利通知我们将在收到知识产权权利人合格通知后依法尽快处理<br/>
5除非另行说明我们产品和服务中全部Logo等文字图形及其组合以及我们产品或服务中的其他标识徽记我们服务的名称技术文档等的知识产权为我们及其关联公司所有<br/>
6您应尊重我们和第三方的知识产权和其他合法权利/权益并保证在发生侵犯前述权益的违法事件时保护我们及其雇员股东合作伙伴等免于因该等事件受到影响或损失我们保留在您侵犯我们及/或其他第三方的合法权利/权益时终止向您提供服务并不退还任何款项的权利<br/>
<span class="fontBlod">赔偿</span><br/>
因用户违反本协议的规定而产生的针对我们或我们关联公司的威胁或被提起的任何类型的投诉索赔诉讼政府调查和/或处罚损害赔偿用户应向我们或我们关联企业予以赔偿包括但不限于直接或间接损失律师费诉讼费差旅费等如用户违反本协议的规定导致第三人向我们主张赔偿责任的用户应当向第三人承担责任保护我们权益不受侵害<br/>
<span class="fontBlod">法律适用管辖与其他</span><br/>
1用户知悉针对用户使用本平台所实施的行为本平台均有权使用用户在本平台提供通讯信息在内的各种方式与用户沟通及发送通知若本平台使用短信电子邮件等电子方式发送信息的则自电子信息到达用户电子通讯平台服务器之时即视送达在使用您的个人信息时我们将遵守本协议第五部分的内容<br/>
2本协议的内容可能会随着客观情况政策及法律法规要求的变化进行调整如有变化本平台将在平台首页进行公示或以适当的方式通知用户若用户不同意调整内容用户应立刻停止使用本平台若用户继续使用本平台则视为用户己知悉并同意调整内容<br/>
3用户在使用我们的产品或服务时根据所涉及的服务内容可能需要同时遵守其他协议或条款如有用户仅在完全同意该条款的前提下方可使用该有关的产品或服务<br/>
4本协议的订立履行争议解决等均适用中华人民共和国法律本协议及相关产品或服务的任何附加条款构成我们与用户之间关于使用我们产品或服务的完整协议如果该协议的内容与适用的强制性法律规定不一致则以该强制性法律规定为准<br/>
5本协议自用户注册及使用本平台之时即开始生效<br/>
6因本协议的履行产生争议的双方同意交由本平台公司所在地的法院提起诉讼<br/>
7本协议的解释权及我们产品和服务的解释权江苏谷玄科技有限公司所有<br/>
正文完<br/>
</p>
</p>
</div>
`
}
},
methods: {
//
async fetchProtocolContent() {
//
// const res = await uni.request({ url: '/api/protocol' });
// this.protocolContent = res.data;
}
},
//
onLoad() {
// this.fetchProtocolContent();
}
}
</script>
<style lang="scss">
.content {
padding: 40rpx;
}
//
.protocol-container {
padding: 30rpx;
background-color: #f8f8f8;
border-radius: 12rpx;
margin-bottom: 30rpx;
}
.fontcontent{
font-size: 24rpx;
font-weight: normal;
}
.title {
width: 100%;
text-align: center;
}
.fontBlod {
font-weight: 900;
// color:red;
}
</style>