Browse Source

隐私协议/优化

master
xuhuajiao 5 months ago
parent
commit
8e4abf2ac9
  1. 29
      api/user.js
  2. 8
      pages.json
  3. 2
      pages/home/home.vue
  4. 92
      pages/register/register.vue
  5. 284
      subpkg/pages/agreement/agreement.vue
  6. 124
      subpkg/pages/feedback/feedback.vue
  7. 4
      utils/config.js

29
api/user.js

@ -154,3 +154,32 @@ export function FetchDecryptPhone(data) {
data data
}); });
} }
// 获取微信小程序全局access_token
// ?libcode=
export function FetchAccessToken(data) {
return request({
url: '/api/weixin/getAccessToken',
data
});
}
// 文本内容安全检测
// POST /api/weixin/msgSecCheck?libcode=xxx
// {
// "content": "待检测的文本内容",
// "version": 2,
// "scene": 2,
// "openid": "",
// "title": "用户评论标题",
// "nickname": "张三",
// "signature": "个性签名内容",
// "accessToken": "access_token"
// }
export function FetchMsgSecCheck(data) {
return request({
url: '/api/weixin/msgSecCheck',
method: 'POST',
data
});
}

8
pages.json

@ -168,8 +168,14 @@
"style": { "style": {
"navigationBarTitleText": "预约座位记录" "navigationBarTitleText": "预约座位记录"
} }
},
{
"path": "pages/agreement/agreement",
"style": {
"navigationBarTitleText": "平台协议"
}
} }
]
]
} }
] ]
} }

2
pages/home/home.vue

@ -226,7 +226,6 @@ export default {
return { return {
isLoading: true, isLoading: true,
recommendedBooks: [], recommendedBooks: [],
token: "",
userInfo: {}, userInfo: {},
isBindLibraryCard: false, isBindLibraryCard: false,
readerCardList: [], // 多个借阅证 readerCardList: [], // 多个借阅证
@ -370,6 +369,7 @@ export default {
let item = displayBooks[i]; let item = displayBooks[i];
if (item.imgPath) { if (item.imgPath) {
const imageUrl = this.baseUrl + '/api/fileRelevant/getImg?imgType=2&imgId=' + item.imgPath; const imageUrl = this.baseUrl + '/api/fileRelevant/getImg?imgType=2&imgId=' + item.imgPath;
console.log('imageUrl:', imageUrl);
try { try {
const base64 = await this.urlToBase64(imageUrl); const base64 = await this.urlToBase64(imageUrl);
item.base64Cover = base64; item.base64Cover = base64;

92
pages/register/register.vue

@ -89,6 +89,18 @@
<button class="submit-btn" type="primary" @click="submit" :loading="loading"> <button class="submit-btn" type="primary" @click="submit" :loading="loading">
{{ loading ? '提交中...' : '确认办理' }} {{ loading ? '提交中...' : '确认办理' }}
</button> </button>
<!-- 同意协议 -->
<view class="agreement-item">
<view class="radio-box" :class="{ checked: agreed }" @click="agreed = !agreed">
<view class="radio-inner" v-if="agreed"></view>
</view>
<text class="agreement-text">
我已阅读并同意遵守
<text class="agreement-link" @click="openAgreement">《爱图智服服务协议》</text>
</text>
</view>
</view> </view>
<!-- 温馨提示 --> <!-- 温馨提示 -->
@ -122,7 +134,8 @@ export default {
}, },
showPwd: false, showPwd: false,
showConfirmPwd: false, showConfirmPwd: false,
loading: false
loading: false,
agreed: false
}; };
}, },
@ -261,6 +274,30 @@ export default {
return true; return true;
}, },
// 显示协议弹窗
showAgreementModal() {
uni.showModal({
title: '提示',
content: '请先阅读并同意《爱图智服服务协议》',
confirmText: '同意',
cancelText: '不同意',
success: (res) => {
if (res.confirm) {
// 用户同意,选中radio并继续提交
this.agreed = true;
this.submitForm();
}
}
});
},
// 跳转到协议详情页面
openAgreement() {
uni.navigateTo({
url: '/subpkg/pages/agreement/agreement'
});
},
async submit() { async submit() {
// 防止重复点击 // 防止重复点击
if (this.loading) return; if (this.loading) return;
@ -273,6 +310,18 @@ export default {
return; return;
} }
// 如果未同意协议,显示协议弹窗
if (!this.agreed) {
this.showAgreementModal();
return;
}
// 已同意协议,直接提交
await this.submitForm();
},
// 实际提交表单
async submitForm() {
this.loading = true; this.loading = true;
try { try {
const openId = await getOpenId(); const openId = await getOpenId();
@ -401,6 +450,47 @@ page {
} }
} }
/* 同意协议 */
.agreement-item {
display: flex;
align-items: center;
margin-top: 16px;
.radio-box {
width: 22rpx;
height: 22rpx;
border: 2rpx solid #ccc;
border-radius: 50%;
margin-right: 10rpx;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s;
&.checked {
border-color: #01a4fe;
background-color: #01a4fe;
}
.radio-inner {
width: 12rpx;
height: 12rpx;
background-color: #fff;
border-radius: 50%;
}
}
.agreement-text {
font-size: 12px;
color: #666;
flex: 1;
}
.agreement-link {
color: #01a4fe;
}
}
/* 温馨提示 */ /* 温馨提示 */
.tips-card { .tips-card {
margin: 0 12px; margin: 0 12px;

284
subpkg/pages/agreement/agreement.vue

@ -0,0 +1,284 @@
<template>
<view class="agreement-page">
<scroll-view scroll-y class="agreement-content">
<view class="chapter">
<view class="chapter-title">导言</view>
<view class="chapter-content">
<view class="paragraph">欢迎您使用武汉飞天爱图智服软件及服务!</view>
<view class="paragraph">为使用爱图智服软件(以下简称"<text class="bold">本软件</text>")及服务,您应当阅读并遵守《武汉飞天爱图智服软件许可及服务协议》(以下简称"<text class="bold">本协议</text>"),以及《爱图智服服务协议》。请您务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款,以及开通或使用某项服务的单独协议,并选择接受或不接受。<text>限制、免责条款可能以加粗形式提示您注意。</text></view>
<view class="paragraph">除非您已阅读并接受本协议所有条款,否则您无权使用本软件及相关服务。您的下载、安装、使用、获取爱图智服读者证账号、登录等行为即视为您已阅读并同意上述协议的约束。</view>
<view class="paragraph">如果您未满18周岁,请在法定监护人的陪同下阅读本协议及其他上述协议,并特别注意未成年人使用条款。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">一、协议的范围</view>
<view class="chapter-content">
<view class="paragraph"><text class="bold">1.1 协议适用主体范围</text></view>
<view class="paragraph">本协议是您与武汉飞天之间关于您使用本软件,以及使用图书馆相关服务所订立的协议。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">二、关于本服务</view>
<view class="chapter-content">
<view class="paragraph"><text class="bold">2.1 本服务的内容</text></view>
<view class="paragraph">本服务内容是指武汉飞天向用户提供的爱图智服图书馆服务(以下简称"<text class="bold">爱图智服</text>"),支持与公共图书馆业务管理系统对接,为用户提供<text class="highlight">注册读者证、图书查询、续借、借阅记录查询、图书馆服务缴费、图书馆活动报名</text>等功能及服务。</view>
<view class="paragraph"><text class="bold">2.2 本服务的形式</text></view>
<view class="paragraph">您使用本服务需要为微信注册用户,如您不是图书馆注册读者可通过在线缴纳100元押金注册成为图书馆读者(须所在地图书馆开通本项服务),图书馆注册读者可通过爱图智服将读者证与微信账号绑定,绑定后可利用微信账号通过爱图智服使用图书馆服务。对于这些服务,武汉飞天给予您一项个人的、不可转让及非排他性的许可。</view>
<view class="paragraph"><text class="bold">2.3 本服务许可的范围</text></view>
<view class="paragraph indent">2.3.1 武汉飞天给予您一项个人的、不可转让及非排他性的许可,以使用本软件。您可以为非商业目的使用本服务。</view>
<view class="paragraph indent">2.3.2 本条及本协议其他条款未明示授权的其他一切权利仍由武汉飞天保留,您在行使这些权利时须另外取得武汉飞天的书面许可。武汉飞天如果未行使前述任何权利,并不构成对该权利的放弃。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">三、软件与服务的获取</view>
<view class="chapter-content">
<view class="paragraph bold">您可以在微信内搜索"爱图智服"获取本软件服务。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">四、用户个人信息保护</view>
<view class="chapter-content">
<view class="paragraph"><text class="bold">4.1</text> 保护用户个人信息是武汉飞天的一项基本原则,武汉飞天将会采取合理的措施保护用户的个人信息。除法律法规规定的情形外,未经用户许可武汉飞天不会向第三方公开、透露用户个人信息。武汉飞天对相关信息采用专业加密存储与传输方式,保障用户个人信息的安全。</view>
<view class="paragraph"><text class="bold">4.2</text> 您在注册图书馆帐号或使用本服务的过程中,需要提供一些必要的信息,例如:真实姓名、身份证号码、手机号码。若国家法律法规或政策有特殊规定的,您需要提供真实的身份信息。若您提供的信息不完整,则无法使用本服务或在使用过程中受到限制。</view>
<view class="paragraph"><text class="bold">4.3</text> 武汉飞天将运用各种安全技术和程序建立完善的管理制度来保护您的个人信息,以免遭受未经授权的访问、使用或披露。</view>
<view class="paragraph"><text class="bold">4.4</text> 未经您的同意,武汉飞天不会向武汉飞天以外的任何公司、组织和个人披露您的个人信息,但法律法规另有规定的除外。</view>
<view class="paragraph"><text class="bold">4.5</text> 武汉飞天非常重视对未成年人个人信息的保护。若您是18周岁以下的未成年人,在使用武汉飞天的服务前,应事先取得您家长或法定监护人的书面同意。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">五、主权利义务条款</view>
<view class="chapter-content">
<view class="section-title">5.1 帐号使用规范</view>
<view class="paragraph indent">5.1.1 您在使用本服务前需要授权爱图智服使用您的支付宝账号信息。</view>
<view class="paragraph indent bold">5.1.2 爱图智服帐号的所有权归武汉飞天公司所有,用户完成申请注册手续后,仅获得爱图智服帐号的使用权,且该使用权仅属于初始申请注册人。同时,初始申请注册人不得赠与、借用、租用、转让或售卖爱图智服帐号或者以其他方式许可非初始申请注册人使用爱图智服帐号。非初始申请注册人不得通过受赠、继承、承租、受让或者其他任何方式使用爱图智服帐号。</view>
<view class="paragraph indent bold">5.1.3 用户有责任妥善保管注册帐户信息及帐户密码的安全,用户需要对注册帐户以及密码下的行为承担法律责任。用户同意在任何情况下不向他人透露帐户及密码信息。当在您怀疑他人在使用您的帐号时,您应立即通知武汉飞天公司。</view>
<view class="section-title">5.2 用户注意事项</view>
<view class="paragraph indent">5.2.1 您理解并同意:为了向您提供有效的服务,本服务会利用您终端设备的处理器和带宽等资源。本软件使用过程中可能产生数据流量的费用,用户需自行向运营商了解相关资费信息,并自行承担相关费用。</view>
<view class="paragraph indent">5.2.2 您在使用本软件某一特定服务时,该服务可能会另有单独的协议、相关业务规则等(以下统称为"单独协议"),您在使用该项服务前请阅读并同意相关的单独协议;您使用前述特定服务,即视为您接受相关单独协议。</view>
<view class="paragraph indent bold">5.2.3 您理解并同意武汉飞天将会尽其商业上的合理努力保障您在本软件及服务中的数据存储安全,但是,武汉飞天并不能就此提供完全保证,包括但不限于以下情形:</view>
<view class="paragraph indent2 bold">5.2.3.1 武汉飞天不对您在爱图智服服务中相关数据的删除或储存失败负责;</view>
<view class="paragraph indent2 bold">5.2.3.2 武汉飞天有权根据实际情况自行决定单个用户在本软件及服务中数据的最长储存期限,并在服务器上为其分配数据最大存储空间等。您可根据自己的需要自行备份本软件及服务中的相关数据;</view>
<view class="paragraph indent2 bold">5.2.3.3 如果您停止使用本软件及服务或服务被终止或取消,武汉飞天可以从服务器上永久地删除您的数据。服务停止、终止或取消后,武汉飞天没有义务向您返还任何数据。</view>
<view class="paragraph indent bold">5.2.4 用户在使用本软件及服务时,须自行承担如下来自武汉飞天不可掌控的风险内容,包括但不限于:</view>
<view class="paragraph indent2 bold">5.2.4.1 由于不可抗拒因素可能引起的个人信息丢失、泄漏等风险;</view>
<view class="paragraph indent2 bold">5.2.4.2 用户在使用本软件访问第三方网站时,因第三方网站及相关内容所可能导致的风险,由用户自行承担;</view>
<view class="paragraph indent2 bold">5.2.4.3 由于无线网络信号不稳定、无线网络带宽小等原因,所引起的武汉飞天爱图智服登录失败、资料同步不完整、页面打开速度慢等风险。</view>
<view class="section-title">5.3 第三方产品和服务</view>
<view class="paragraph indent">5.3.1 您在使用本软件第三方提供的产品或服务时,除遵守本协议约定外,还应遵守第三方的用户协议。武汉飞天和第三方对可能出现的纠纷在法律规定和约定的范围内各自承担责任。</view>
<view class="paragraph indent bold">5.3.2 因用户使用本软件或要求武汉飞天提供特定服务时,本软件可能会调用第三方系统或者通过第三方支持用户的使用或访问,使用或访问的结果由该第三方提供,武汉飞天不保证通过第三方提供服务及内容的安全性、准确性、有效性及其他不确定的风险,由此若引发的任何争议及损害,与武汉飞天无关,武汉飞天不承担任何责任。</view>
<view class="paragraph indent bold">5.3.3 您理解并同意,武汉飞天有权决定将本软件作商业用途,包括但不限于开发、使用本软件的部分服务为第三方作推广等,武汉飞天承诺在推广过程中严格按照本协议约定保护您的个人信息,同时您亦可以根据系统设置选择屏蔽、拒绝接收相关推广信息。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">六、用户行为规范</view>
<view class="chapter-content">
<view class="section-title bold">6.1 信息内容规范</view>
<view class="paragraph indent bold">6.1.1 本条所述信息内容是指用户使用本软件及服务过程中所发布、传播的任何内容。</view>
<view class="paragraph indent bold">6.1.2 您理解并同意,爱图智服一直致力于为用户提供文明健康、规范有序的网络环境,您不得利用爱图智服帐号及服务制作、复制、发布、传播如下干扰爱图智服正常运营,以及侵犯其他用户或第三方合法权益的内容,包括但不限于:</view>
<view class="paragraph indent2 bold">6.1.2.1 发布、传送、传播、储存违反国家法律法规禁止的内容:</view>
<view class="paragraph indent3 bold">(1)违反宪法确定的基本原则的;</view>
<view class="paragraph indent3 bold">(2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;</view>
<view class="paragraph indent3 bold">(3)损害国家荣誉和利益的;</view>
<view class="paragraph indent3 bold">(4)煽动民族仇恨、民族歧视,破坏民族团结的;</view>
<view class="paragraph indent3 bold">(5)破坏国家宗教政策,宣扬邪教和封建迷信的;</view>
<view class="paragraph indent3 bold">(4)煽动民族仇恨、民族歧视,破坏民族团结的;</view>
<view class="paragraph indent3 bold">(4)煽动民族仇恨、民族歧视,破坏民族团结的;</view>
<view class="paragraph indent3 bold">(4)煽动民族仇恨、民族歧视,破坏民族团结的;</view>
<view class="paragraph indent3 bold">(5)破坏国家宗教政策,宣扬邪教和封建迷信的;</view>
<view class="paragraph indent3 bold">(6)散布谣言,扰乱社会秩序,破坏社会稳定的;</view>
<view class="paragraph indent3 bold">(7)散布淫秽、色情、赌博、暴力、恐怖或者教唆犯罪的;</view>
<view class="paragraph indent3 bold">(8)侮辱或者诽谤他人,侵害他人合法权益的;</view>
<view class="paragraph indent3 bold">(9)煽动非法集会、结社、游行、示威、聚众扰乱社会秩序;</view>
<view class="paragraph indent3 bold">(10)以非法民间组织名义活动的;</view>
<view class="paragraph indent3 bold">(11)不符合《即时通信工具公众信息服务发展管理暂行规定》及遵守法律法规、社会主义制度、国家利益、公民合法利益、公共秩序、社会道德风尚和信息真实性等"<text class="bold">七条底线</text>"要求的;</view>
<view class="paragraph indent3 bold">(12)含有法律、行政法规禁止的其他内容的。</view>
<view class="paragraph indent2 bold">6.1.2.2 发布、传送、传播、储存侵害他人名誉权、肖像权、知识产权、商业秘密等合法权利的内容;</view>
<view class="paragraph indent2 bold">6.1.2.3 涉及他人隐私、个人信息或资料的;</view>
<view class="paragraph indent2 bold">6.1.2.4 发表、传送、传播骚扰、广告信息、过度营销信息及垃圾信息或含有任何性或性暗示的;</view>
<view class="paragraph indent2 bold">6.1.2.5 其他违反法律法规、政策及公序良俗、社会公德或干扰爱图智服正常运营和侵犯其他用户或第三方合法权益内容的信息。</view>
<view class="section-title bold">6.2 软件使用规范</view>
<view class="paragraph indent bold">6.2.1 除非法律允许或武汉飞天书面许可,您使用本软件过程中不得从事下列行为:</view>
<view class="paragraph indent2 bold">6.2.1.1 对本软件进行反向工程、反向汇编、反向编译,或者以其他方式尝试发现本软件的源代码;</view>
<view class="paragraph indent2 bold">6.2.1.2 对武汉飞天拥有知识产权的内容进行使用、出租、出借、复制、修改、链接、转载、汇编、发表、出版、建立镜像站点等;</view>
<view class="paragraph indent2 bold">6.2.1.3 对本软件或者本软件运行过程中释放到任何终端内存中的数据、软件运行过程中客户端与服务器端的交互数据,以及本软件运行所必需的系统数据,进行复制、修改、增加、删除、挂接运行或创作任何衍生作品;</view>
<view class="paragraph indent2 bold">6.2.1.4 通过修改或伪造软件运行中的指令、数据,增加、删减、变动软件的功能或运行效果,或者将用于上述用途的软件、方法进行运营或向公众传播,无论这些行为是否为商业目的;</view>
<view class="paragraph indent2 bold">6.2.1.5 通过非武汉飞天开发、授权的第三方软件、插件、外挂、系统,登录或使用爱图智服服务,或制作、发布、传播上述工具;</view>
<view class="paragraph indent2 bold">6.2.1.6 自行或者授权他人、第三方软件对本软件及其组件、模块、数据进行干扰;</view>
<view class="paragraph indent2 bold">6.2.1.7 其他未经武汉飞天明示授权的行为。</view>
<view class="section-title">6.3 服务运营规范</view>
<view class="paragraph bold">除非法律允许或武汉飞天书面许可,您使用本服务过程中不得从事下列行为:</view>
<view class="paragraph indent bold">6.3.1 提交、发布虚假信息,或冒充、利用他人名义的;</view>
<view class="paragraph indent bold">6.3.2 虚构事实、隐瞒真相以误导、欺骗他人的;</view>
<view class="paragraph indent bold">6.3.3 侵害他人名誉权、肖像权、知识产权、商业秘密等合法权利的;</view>
<view class="paragraph indent bold">6.3.4 利用爱图智服账号及服务从事任何违法犯罪活动的;</view>
<view class="paragraph indent bold">6.3.5 制作、发布与以上行为相关的方法、工具,或对此类方法、工具进行运营或传播,无论这些行为是否为商业目的;</view>
<view class="paragraph indent bold">6.3.6 其他违反法律法规规定、侵犯其他用户合法权益、干扰产品正常运营或武汉飞天未明示授权的行为。</view>
<view class="section-title">6.4 对自己行为负责</view>
<view class="paragraph bold">您充分了解并同意,您必须为自己注册帐号下的一切行为负责,包括您所发表的任何内容以及由此产生的任何后果。您应对本服务中的内容自行加以判断,并承担因使用内容而引起的所有风险,包括因对内容的正确性、完整性或实用性的依赖而产生的风险。武汉飞天无法且不会对因前述风险而导致的任何损失或损害承担责任。</view>
<view class="section-title">6.5 违约处理</view>
<view class="paragraph indent bold">6.5.1 如果武汉飞天发现或收到他人举报或投诉用户违反本协议约定的,武汉飞天有权不经通知随时对相关内容进行删除、屏蔽,并视行为情节对违规帐号处以包括但不限于警告、限制或禁止使用部分或全部功能、帐号封禁直至注销的处罚,并公告处理结果。</view>
<view class="paragraph indent bold">6.5.2 您理解并同意,武汉飞天有权依合理判断对违反有关法律法规或本协议规定的行为进行处罚,对违法违规的任何用户采取适当的法律行动,并依据法律法规保存有关信息向有关部门报告等,用户应独自承担由此而产生的一切法律责任。</view>
<view class="paragraph indent bold">6.5.3 您理解并同意,因您违反本协议或相关服务条款的规定,导致或产生第三方主张的任何索赔、要求或损失,您应当独立承担责任;武汉飞天因此遭受损失的,您也应当一并赔偿。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">七、知识产权声明</view>
<view class="chapter-content">
<view class="paragraph"><text class="bold">7.1</text> 武汉飞天智能工程有限责任公司是爱图智服软件的知识产权权利人。本软件的一切著作权、商标权、专利权、商业秘密等知识产权,以及与本软件相关的所有信息内容(包括但不限于文字、图片、音频、视频、图表、界面设计、版面框架、有关数据或电子文档等)均受中华人民共和国法律法规和相应的国际条约保护,武汉飞天享有上述知识产权,但相关权利人依照法律规定应享有的权利除外。</view>
<view class="paragraph"><text class="bold">7.2</text> 未经武汉飞天或相关权利人书面同意,您不得为任何商业或非商业目的自行或许可任何第三方实施、利用、转让上述知识产权。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">八、终端安全责任</view>
<view class="chapter-content">
<view class="paragraph"><text class="bold">8.1</text> 您理解并同意,本软件同大多数互联网软件一样,可能会受多种因素影响,包括但不限于用户原因、图书馆相关规定、网络服务质量、社会环境等;也可能会受各种安全问题的侵扰,包括但不限于他人非法利用用户资料,进行现实中的骚扰;用户下载安装的其他软件或访问的其他网站中可能含有病毒、木马程序或其他恶意程序,威胁您的终端设备信息和数据安全,继而影响本服务的正常使用等。因此,您应加强信息安全及个人信息的保护意识,注意密码保护,以免遭受损失。</view>
<view class="paragraph"><text class="bold">8.2</text> 您不得制作、发布、使用、传播用于窃取爱图智服帐号及他人个人信息、财产的恶意程序。</view>
<view class="paragraph"><text class="bold">8.3</text> 维护软件安全与正常使用是武汉飞天和您的共同责任,武汉飞天将按照行业标准合理审慎地采取必要技术措施保护您的个人信息和数据安全,但是您承认和同意武汉飞天并不能就此提供完全保证。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">九、第三方软件或技术</view>
<view class="chapter-content">
<view class="paragraph "><text class="bold">9.1</text> 本软件可能会使用第三方软件或技术,这种使用已经获得合法授权。</view>
<view class="paragraph bold"><text class="bold">9.2</text> 如因本软件使用的第三方软件或技术引发的任何纠纷,应由该第三方负责解决,武汉飞天不承担任何责任。武汉飞天不对第三方软件或技术提供客服支持,若您需要获取支持,请与第三方联系。</view>
</view>
</view>
<view class="chapter">
<view class="chapter-title">十、其他</view>
<view class="chapter-content">
<view class="paragraph "><text class="bold">10.1</text> <text class="bold"> 您使用本软件即视为您已阅读并同意受本协议的约束。武汉飞天有权在必要时修改本协议条款。</text>您可以在本软件的最新版本中查阅相关协议条款。本协议条款变更后,如果您继续使用本软件,即视为您已接受修改后的协议。如果您不接受修改后的协议,应当停止使用本软件。</view>
<view class="paragraph"><text class="bold">10.2</text> 本协议签订地为中华人民共和国湖北省武汉市江汉区。</view>
<view class="paragraph"><text class="bold">10.3</text> 本协议的成立、生效、履行、解释及纠纷解决,适用中华人民共和国大陆地区法律(不包括冲突法)。</view>
<view class="paragraph"><text class="bold">10.4</text> 若您和武汉飞天之间发生任何纠纷或争议,首先应友好协商解决;协商不成的,您同意将纠纷或争议提交本协议签订地有管辖权的人民法院管辖。</view>
<view class="paragraph"><text class="bold">10.5</text> 本协议所有条款的标题仅为阅读方便,本身并无实际涵义,不能作为本协议涵义解释的依据。</view>
<view class="paragraph"><text class="bold">10.6</text> 本协议条款无论因何种原因部分无效或不可执行,其余条款仍有效,对双方具有约束力。</view>
</view>
</view>
<view class="footer">
<text class="company">武汉飞天计算机软件开发有限公司</text>
</view>
</scroll-view>
</view>
</template>
<script>
export default {
onLoad() {
uni.setNavigationBarTitle({
title: '爱图平台协议'
});
}
};
</script>
<style lang="scss" scoped>
.agreement-page {
min-height: 100vh;
background-color: #f5f7fa;
}
.agreement-content {
width: calc(100% - 24px);
height: calc(100vh - 24px);
padding: 12px;
}
.chapter {
// background-color: #fff;
// border-radius: 12rpx;
// padding: 30rpx;
// margin-bottom: 24rpx;
// box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
}
.chapter-title {
font-size: 30rpx;
font-weight: bold;
color: #000;
margin-bottom: 20rpx;
padding-bottom: 16rpx;
border-bottom: 2rpx solid #e8f5ff;
}
.section-title {
font-size: 28rpx;
font-weight: bold;
color: #333;
margin: 24rpx 0 16rpx;
}
.chapter-content {
font-size: 26rpx;
color: #555;
line-height: 1.8;
}
.paragraph {
margin-bottom: 16rpx;
text-align: justify;
&.indent {
padding-left: 32rpx;
}
&.indent2 {
padding-left: 64rpx;
}
&.indent3 {
padding-left: 96rpx;
}
&.warning {
color: #ff6b35;
background-color: #fff7ed;
padding: 16rpx;
border-radius: 8rpx;
border-left: 4rpx solid #ff6b35;
}
}
.bold {
font-weight: bold;
color: #333;
}
.highlight {
color: #01a4fe;
font-weight: 500;
}
.footer {
text-align: right;
padding: 40rpx 0;
.company {
font-size: 26rpx;
color: #000;
font-weight: bold;
}
}
</style>

124
subpkg/pages/feedback/feedback.vue

@ -53,7 +53,7 @@
</template> </template>
<script> <script>
import { FetchReaderMessage } from '@/api/user';
import { FetchReaderMessage,FetchAccessToken,FetchMsgSecCheck } from '@/api/user';
import config from '@/utils/config'; import config from '@/utils/config';
import { getCurrentReaderCard,getOpenId } from '@/utils/storage'; import { getCurrentReaderCard,getOpenId } from '@/utils/storage';
@ -155,30 +155,97 @@ export default {
uni.showLoading({ uni.showLoading({
title: '提交中' title: '提交中'
}); });
try {
const openId = await getOpenId();
if (!openId) {
uni.showToast({ title: '获取用户信息失败', icon: 'none' });
this.isLoading = false;
return;
}
try {
const openId = await getOpenId();
if (!openId) {
uni.showToast({ title: '获取用户信息失败', icon: 'none' });
return;
}
// 1. 获取 access_token
const tokenRes = await FetchAccessToken({ libcode: config.LIB_CODE });
if (!tokenRes || tokenRes.code !== 200 || !tokenRes.data) {
uni.showToast({ title: '获取访问令牌失败', icon: 'none' });
return;
}
const accessToken = tokenRes.data.access_token;
const res = await FetchReaderMessage({
libcode: config.LIB_CODE,
openid: openId,
phone,
readCardNo: readerCard,
readName: name,
suggestion: content,
title: subject
});
// 2. 敏感信息检测
const secCheckRes = await FetchMsgSecCheck({
libcode: config.LIB_CODE,
content: content,
version: 2,
scene: 2,
openid: openId,
title: subject,
nickname: name,
accessToken: accessToken
});
console.log('敏感信息检测结果:', secCheckRes);
// {"code":200,"message":"操作成功","data":{"errcode":0,"result":{"suggest":"risky","label":20003},"trace_id":"6a13c316-710640ab-04e22c75","errmsg":"ok","detail":[{"errcode":0,"prob":90,"suggest":"risky","label":20003,"strategy":"content_model"},{"errcode":0,"strategy":"keyword"}]},"timestamp":1779680023278}
// 1. 检查接口调用是否成功
if (!secCheckRes || secCheckRes.code !== 200) {
uni.showToast({ title: secCheckRes?.message || '敏感信息检测失败', icon: 'none' });
return;
}
// 2. 检查微信官方 errcode(仅当 errcode 为 0 时,结果有效)
const { errcode, errmsg, result } = secCheckRes.data || {};
if (errcode !== 0) {
uni.showToast({ title: errmsg || `检测失败,错误码: ${errcode}`, icon: 'none' });
return;
}
// 3. 检查是否返回了检测结果
if (!result) {
uni.showToast({ title: '未获取到检测结果', icon: 'none' });
return;
}
console.log('敏感信息检测结果:', result);
// result:{
// label: 20003, // 100 正常;10001 广告;20001 时政;20002 色情;20003 辱骂;20006 违法犯罪;20008 欺诈;20012 低俗;20013 版权;21000 其他
// suggest: "risky" // risky、pass、review
// }
// 4. 根据检测结果判断是否允许提交
const labelMap = {
100: '正常',
10001: '广告',
20001: '时政',
20002: '色情',
20003: '辱骂',
20006: '违法犯罪',
20008: '欺诈',
20012: '低俗',
20013: '版权',
21000: '其他'
};
if (result.suggest !== 'pass') {
const labelText = labelMap[result.label] || '敏感内容';
uni.showToast({ title: `内容包含${labelText},请修改后重试`, icon: 'none' });
return;
}
// 3. 检测通过,提交反馈
const res = await FetchReaderMessage({
libcode: config.LIB_CODE,
openid: openId,
phone,
readCardNo: readerCard,
readName: name,
suggestion: content,
title: subject
});
if (res.code !== 200) {
uni.showToast({ title: res.message || '留言提交失败', icon: 'none' });
return;
}
if (res.code !== 200) {
uni.showToast({ title: res.message || '留言提交失败', icon: 'none' });
this.isLoading = false;
return;
}else{
// 设置刷新标记 // 设置刷新标记
uni.setStorageSync('needRefreshFeedback', true); uni.setStorageSync('needRefreshFeedback', true);
@ -186,14 +253,13 @@ export default {
setTimeout(() => { setTimeout(() => {
uni.navigateBack(); uni.navigateBack();
}, 1500); }, 1500);
}
} catch (err) {
console.error('留言提交失败', err);
uni.showToast({ title: err.message || '留言提交失败', icon: 'none' });
} finally {
this.isLoading = false;
}
} catch (err) {
console.error('留言提交失败', err);
uni.showToast({ title: err.message || '留言提交失败', icon: 'none' });
} finally {
uni.hideLoading();
}
} }
} }
}; };

4
utils/config.js

@ -1,8 +1,8 @@
const config = { const config = {
// 本地 // 本地
baseUrl: 'http://192.168.99.63:14000',
// baseUrl: 'http://192.168.99.63:14000',
// 线上 // 线上
// baseUrl: 'https://wechatapi.aiyxlib.com',
baseUrl: 'https://wechatapi.aiyxlib.com',
LIB_CODE: '1201' LIB_CODE: '1201'
}; };

Loading…
Cancel
Save