diff --git a/src/app.ts b/src/app.ts index 3dac6e9..ad5b942 100644 --- a/src/app.ts +++ b/src/app.ts @@ -48,9 +48,10 @@ App({ loginType: '', // 1:患者 2:医生 first: true, - // anyWhere: true, anyWhere: false, + doctorUnReadCount: 0, + userInfo: {}, DiagnoseType: [ { @@ -135,27 +136,31 @@ App({ } this.startLogin() }, - startLogin() { + startLogin(): Promise { const that = this - wx.login({ - success(res) { - wx.ajax({ - method: 'GET', - url: '?r=igg4/user/init-login', - data: { - code: res.code, - }, - }).then((res) => { - that.globalData.loginState = res.loginState - that.globalData.isReg = res.isReg - that.globalData.isLogin = res.isLogin - that.globalData.loginType = res.loginType - if (!Object.keys(that.globalData.scene)?.length) { - that.globalData.anyWhere = res.anyWhere - } - that.getUserInfo() - }) - }, + return new Promise((resolve) => { + wx.login({ + success(res) { + wx.ajax({ + method: 'GET', + url: '?r=igg4/user/init-login', + data: { + code: res.code, + }, + }).then((res) => { + that.globalData.loginState = res.loginState + that.globalData.isReg = res.isReg + that.globalData.isLogin = res.isLogin + that.globalData.loginType = res.loginType + if (!Object.keys(that.globalData.scene)?.length) { + that.globalData.anyWhere = res.anyWhere + } + that.getUserInfo(null, true, () => { + resolve() + }) + }) + }, + }) }) }, waitLogin({ isReg = true, loginPage = false, pub = false } = { isReg: true, loginPage: false, pub: false }) { @@ -588,6 +593,23 @@ App({ }) }) }, + setTabbarNoticeMessage() { + wx.ajax({ + method: 'GET', + url: '?r=igg4/doctor/message-interact/get-unread-count', + data: {}, + }).then((res: any) => { + this.globalData.doctorUnReadCount = res || 0 + const pages = getCurrentPages() + const currentPage = pages[pages.length - 1] + if (currentPage) { + const tabbar = (currentPage as any).selectComponent('#doctor-tabbar') + if (tabbar) { + tabbar.setData({ unReadCount: this.globalData.doctorUnReadCount }) + } + } + }) + }, getTheme() { return new Promise((resolve) => { const checkUserType = () => { diff --git a/src/components/pickerArea/index.scss b/src/components/pickerArea/index.scss index ef037ef..fd8f3dc 100644 --- a/src/components/pickerArea/index.scss +++ b/src/components/pickerArea/index.scss @@ -135,8 +135,18 @@ } } -.theme1 { - --color: rgba(224, 71, 117, 1); +.PATIENT { + --color: #0eb66d; +} + +.DRUG { + --color: rgba(89, 86, 233, 1); + .btn { + background: linear-gradient(270deg, #5956E9 0%, #B384F4 100%); + } + .s-item.active { + background: linear-gradient(270deg, #5956E9 0%, #B384F4 100%); + } } .theme2 { diff --git a/src/components/pickerArea/index.ts b/src/components/pickerArea/index.ts index 1bb1e4f..534f919 100644 --- a/src/components/pickerArea/index.ts +++ b/src/components/pickerArea/index.ts @@ -24,7 +24,7 @@ Component({ }, theme: { type: String, - value: 'theme1', + value: 'PATIENT', }, }, observers: { diff --git a/src/components/pickerArea/index.wxml b/src/components/pickerArea/index.wxml index c5b3a53..8544553 100644 --- a/src/components/pickerArea/index.wxml +++ b/src/components/pickerArea/index.wxml @@ -36,7 +36,7 @@ data-name="{{item.label}}" > {{item.label}} - + @@ -73,11 +73,7 @@ {{index===0 ? key : ''}} {{item.name}} - + diff --git a/src/components/toast/index.scss b/src/components/toast/index.scss index 7da7acd..22769e1 100644 --- a/src/components/toast/index.scss +++ b/src/components/toast/index.scss @@ -3032,8 +3032,8 @@ border-radius: 24rpx; .title { margin-top: 24rpx; - font-size: 40rpx; - color: #211d2e; + font-size: 36rpx; + color: rgba(33, 33, 32, 1); font-weight: bold; line-height: 56rpx; text-align: center; @@ -3042,8 +3042,7 @@ margin-top: 24rpx; text-align: center; .link { - font-size: 32rpx; - color: #b982ff; + font-size: 36rpx; } } .footer { @@ -3060,18 +3059,39 @@ } .cancel { padding: 18rpx 0; - color: #b982ff; - border: 1px solid #b982ff; } .sure { padding: 0; - background: linear-gradient(344deg, #ffbcf9 0%, #b982ff 100%); color: #ffffff; display: flex; align-items: center; justify-content: center; } } + .content .link { + color: #0eb66d; + } + .cancel { + color: #0eb66d; + border: 1px solid #0eb66d; + } + .sure { + background: linear-gradient(270deg, #0eb66d 0%, #34d399 100%); + } + &.doctor { + .content .link { + color: rgba(22, 121, 203, 1); + } + .cancel { + color: rgba(22, 121, 203, 1); + border: 1px solid rgba(22, 121, 203, 1); + border-radius: 12rpx; + } + .sure { + background: linear-gradient(90deg, #293b9f 0%, #1679cb 100%); + border-radius: 12rpx; + } + } } .popup9 { @@ -3104,8 +3124,7 @@ } } -.popup10, -.popup11 { +.popup10 { padding: 48rpx 50rpx 48rpx; width: 650rpx; box-sizing: border-box; diff --git a/src/components/toast/index.ts b/src/components/toast/index.ts index 1a03d9c..b724215 100644 --- a/src/components/toast/index.ts +++ b/src/components/toast/index.ts @@ -114,9 +114,9 @@ Component({ this.triggerEvent('del') }, routerTo(e) { - const { path } = e.currentTarget.dataset + const { url } = e.currentTarget.dataset wx.navigateTo({ - url: path, + url: url, }) this.handleCancel() }, diff --git a/src/components/toast/index.wxml b/src/components/toast/index.wxml index 1336281..4068a7f 100644 --- a/src/components/toast/index.wxml +++ b/src/components/toast/index.wxml @@ -217,7 +217,7 @@ 诺和关怀邀请您分享自己的故事。 - + 去看看 @@ -235,7 +235,7 @@ 期待您的故事 - + 看看我能做些什么 @@ -261,7 +261,7 @@ - + 看看我能做些什么 @@ -286,7 +286,7 @@ {{params.countIntegralNum}}能量 免费兑换礼品 - 去领取 + 去领取 @@ -364,7 +364,7 @@ 随访专员定期和您电话沟通 提醒您健康管理 - + 《电话随访知情同意书》 @@ -885,11 +885,15 @@ - + 我已阅读并同意 - 《隐私政策》 + 《用户协议》 + 《隐私政策》 + + 《个人信息共享知情同意书》 + 取消 确定 @@ -909,12 +913,7 @@ 我已阅读并同意 - 《用户协议》 - 《隐私政策》 - - - 《个人信息共享知情同意书》 - + 《隐私保护协议》 取消 @@ -1068,12 +1067,26 @@ - + + + + + + - + diff --git a/src/doc/pages/doc1/index.json b/src/doc/pages/doc1/index.json index 0af6714..965cbd7 100644 --- a/src/doc/pages/doc1/index.json +++ b/src/doc/pages/doc1/index.json @@ -1,5 +1,5 @@ { - "navigationBarTitleText": "个人信息及隐私保护政策", + "navigationBarTitleText": "隐私保护协议", "usingComponents": { "mp-html": "mp-html" } diff --git a/src/doc/pages/doc1/index.ts b/src/doc/pages/doc1/index.ts index 5785479..6f3ac3b 100644 --- a/src/doc/pages/doc1/index.ts +++ b/src/doc/pages/doc1/index.ts @@ -2,7 +2,7 @@ const _app = getApp() Page({ data: { - doc: `


生效日期:2025年4月

给力加油站(以下简称“我们”)非常注重保护用户(“您”)的个人信息及隐私。我们希望通过本《个人信息及隐私保护政策》(以下简称本“隐私政策”或本“政策”)向您清晰地介绍在使用我们的产品/服务时,我们如何处理您的个人信息的方式。

我们提供的服务包括给力加油站医生端小程序、微信公众号向您提供的各项服务(以下简称“本服务”),适用本隐私政策。

请您在使用本服务前,务必仔细阅读并充分理解本隐私政策。我们将逐一说明我们收集您的个人信息的类型及其对应的用途,以便您了解我们针对某一特定功能或服务所收集的具体个人信息的类别、使用理由及收集方式。

本隐私政策将帮您了解以下信息:

1. 我们如何收集和使用您的个人信息

2. 我们基于何种目的或场景,收集和使用您的个人信息

3. 我们如何使用Cookie等同类技术

4. 我们如何委托处理、共享、转让、公开披露您的个人信息

5. 我们如何保存、保护您的个人信息

6. 您查阅、更正、删除、注销个人信息的权利

7. 未成年人保护

8. 本隐私政策变更及通知

9. 如何联系我们

10. 名词定义和解释

一、 我们如何收集和使用您的个人信息

(一) 我们会根据本隐私政策的约定,为实现本平台服务而对所收集的个人信息进行使用。

(二) 我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:合法、正当、必要和诚信原则,目的明确和直接相关原则,公开透明原则、准确性原则、问责性原则、数据安全原则等。同时,我们承诺采取必要的措施保障您的个人信息的安全。

二、 我们基于何种目的或场景,收集和使用您的个人信息

出于本隐私政策所描述的目的或场景,当您使用本平台服务时,我们可能会收集有关您的如下个人信息。若您不同意提供下列信息,有权拒绝提供或撤回同意,但您可能无法继续使用本平台的全部或部分服务:

(一) 注册登录账号

1. 当您关注给力加油站微信公众号时,我们会收集您的微信openID以及您关注、取消关注本公众号的行为数据,以便我们识别用户身份。

2. 当您登录使用给力加油站小程序时,您需要输入您的手机号码,通过手机号码加短信验证码的方式进行登录;或通过您的微信openID获取手机号进行手机号快捷登录。

(二) 向您提供本平台服务

您仅能查看本人管理患者的信息和数据。

1. 数据看板

当您在给力加油站平台登录后,您可以查看关键统计数据及图表看板;

2. 患者ADL评分查看

您可以查看患者的ADL测评评分;包括具体评分数和得分变化情况;

3. 互动

您可以查看用户通过系统标准问答库内选择点击后发送给您的问题,您可以从标准问答库内选择合适文本内容进行应答;

4. 就诊地图

就诊地图为全国患者提供就医信息的检索,查询全国的就诊信息,我们会收集并在就诊地图内展示您所在医院、您的出诊时间及个人介绍。我们会向您本人收集,并通过就诊地图功能公开展示您提供的此类个人信息;关于医生个人简介和门诊信息,平台将收集医院公示的信息作为参考,并由您本人确认。

(三) 如果您对我们收集和使用您的个人信息的法律依据有任何疑问或需要提供进一步的信息,请通过本隐私政策第九章节「如何联系我们」提供的联系方式与我们联系。

(四) 本平台向您提供的服务可能将不断更新和发展,如果您选择使用本隐私政策中尚未列明的其他功能或服务时,我们会在收集您的个人信息前通过推送通知、更为显著的弹窗等方式向您详细说明信息收集的目的、方式、范围并征求您的同意。

三、 我们如何使用小程序原生能力技术

(一) 依托于微信小程序提供的原生能力

为了帮助提升您的产品体验,我们会使用微信提供的账号体系能力来避免您重复登录。所有的信息获取都会经过您的授权同意才会使用。

四、 我们如何委托处理、共享、转让、公开披露您的个人信息

(一) 委托处理

我们会聘请服务提供商来协助我们提供客户支持。对我们委托的公司、组织和个人,我们会要求他们按照本个人信息保护政策来处理您的个人信息。

(二) 共享

我们不会将任何个人信息出售给第三方。我们不会向给力加油站小程序、微信公众号运营公司以外的任何公司、组织和个人提供您的个人信息,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下共享:获得您的单独同意后,我们会与我们所披露的有关个人信息处理者共享您的相关个人信息;

(三) 转让

我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下转让:获得您的单独同意后,我们会向我们所披露的有关个人信息处理者转让您的相关个人信息;

(四) 公开披露

我们仅会在获得您明确同意后,公开披露您的个人信息。

五、 我们如何保存、保护您的个人信息

(一) 保存地点

我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。目前,我们不会将上述信息传输至其他地区。

(二) 保存时间

我们会采取一切合理可行的措施,确保未收集无关的个人信息。 给力加油站小程序、微信公众号中个人信息储存必要期限是给力加油站小程序、微信公众号为您终止服务后3年。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。

(三) 保护措施

我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。我们会部署访问控制机制,确保只有授权人员才可访问个人信息。

(四) 安全事件处理

在发生个人信息安全事件后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您。

六、 您查阅、更正、删除、注销个人信息的权利

我们非常重视并保护您对于个人信息处理活动中的知情权、决定权、限制权、拒绝权等权利,并为您提供了行使在个人信息处理活动中相关权利的方法。

(一) 查阅权和更正权

除法律法规规定的情形除外,您有权随时查阅和更正您的个人信息,您可以通过在本平台的【我的】-【个人信息】查阅或更正您的个人信息,包括手机号、姓名、头像、医院、门诊时间、个人简介等信息。

(二) 删除权

1. 您可通过微信的缓存清理功能,删除您在本平台的缓存记录提供的相关个人信息。

2. 如果您需要删除您在使用本平台过程中产生的其他个人信息,在您的合理要求并经验证核实您的身份后,我们会处理您的请求。您可以通过本隐私政策「第九章节、如何联系我们」方式向我们进行反馈。

3. 在以下情形中,您可以向我们提出删除个人信息的请求:

(1) 我们永久不再为您提供产品或服务;

(2) 您撤回对我们收集、使用您的个人信息的同意;

(3) 我们处理个人信息的行为违反法律、行政法规;

(4) 我们处理个人信息的行为违反了与您的约定;

(5) 您注销了用户帐号;

(6) 法律、行政法规规定的其他情形。

4. 您同意并理解,您删除某些您已提交的个人信息可能导致您无法使用本平台的部分或者全部服务。

(三) 注销权

如您希望注销本平台及服务,您可以通过发送邮件到supportpr@hbraas.com进行账号的注销。

一旦您注销账户,我们将停止为您提供服务。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。当您选择注销账户后,我们将停止为您提供服务,并依据您的要求,删除您的个人信息。

七、 未成年人保护

我们非常重视对未成年人个人信息的保护,本平台的注册用户仅包括供医疗卫生专业人士。不涉及18周岁以下的未成年人注册为本平台账户。若您是未成年人,不得予以注册。

八、 本隐私政策变更及通知

(一) 为了向您提供更好的功能与/或服务,我们的产品/服务将不时更新与变化,因此,我们将适时修订及变更隐私政策。

(二) 未经您明确同意,我们不会削减您按照本隐私政策所应享有的权利。我们会在本页面上发布对本政策所做的任何变更。

(三) 对于重大变更,我们可能还会提供本平台公告、推送通知或更为显著的弹窗等方式,向您发送隐私政策的最新版本。

九、 如何联系我们

若您对本服务有任何疑问、意见或建议,您可以通过以下方式与我们联系:

邮箱:supportpr@hbraas.com

一般情况下,我们将在7天内回复。

十、 名词定义与解释

本平台:通过电子化信息平台运营和提供的数字化产品和服务,电子化信息平台包括但不限于 给力加油站小程序、微信公众号提供数字化产品和服务的系统或平台等,具体以用户实际注册、访问或使用为准(对于该等数字化产品和服务,本协议统称为“电子化信息平台”或“平台”或“本平台”)

个人信息:以电子或者其他方式记录的与已识别或可识别的自然人有关的各种信息,不包括匿名化处理后的信息。如姓名等;

OPENID:OPENID是微信用户在注册公众号后的唯一独立加密用户身份标识,此处OPENID是指本平台用户注册后的唯一加密用户身份标识。

`, + doc: `


本版本更新日期:     年   月   日

本版本生效日期:     年   月   日


愈见昕生”(以下亦称“我们”)非常注重保护用户(“您”)的个人信息及隐私。我们希望通过本《愈见昕生小程序隐私政策》(以下简称“本隐私政策”或本“政策”)向您清晰地介绍在使用我们的产品/服务时,我们如何处理您的个人信息。您及您的隐私对于我们至关重要,我们非常重视您的隐私和个人信息的保护。


请您在使用本产品/服务前,务必仔细阅读并充分理解本隐私政策。我们将逐一说明我们收集您的个人信息的类型及其对应的用途,以便您了解我们针对某一特定功能或服务所收集的具体个人信息的类别、使用理由及收集方式。


您在完成勾选并点击“同意”按钮后,本隐私政策即构成对双方有约束力的法律文件,即表示您同意我们按照本隐私政策收集、使用、处理和存储您的相关个人信息。


【本隐私政策的适用范围】

本隐私政策适用于您通过任何方式使用愈见昕生小程序平台或我们通过其他方式与您沟通合作时提供的全部功能和/或服务(以下合称为“本平台服务”)而收集或存储的信息。我们希望通过本隐私政策向您说明在您使用本平台服务时或我们通过其他方式与您沟通合作时,我们是如何收集、存储、使用、加工、传输、提供、公开、删除这些信息,以及我们将为您提供查阅、更正、限制、拒绝、删除、注销这些信息的方式。


本隐私政策将帮您了解以下信息:

1. 我们如何收集和使用您的个人信息

2. 我们基于何种目的或场景,收集和使用您的个人信息

3. 我们如何使用Cookie等同类技术

4. 我们如何委托处理、共享、转让、公开披露您的个人信息

5. 我们如何保存、保护您的个人信息

6. 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

7. 未成年人保护

8. 本隐私政策变更及通知

9. 如何联系我们

10. 名词定义和解释



一、 我们如何收集和使用您的个人信息


(一)我们会根据本隐私政策的约定,为实现本平台服务而对所收集的个人信息进行使用。


(二)我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:合法、正当、必要和诚信原则,目的明确和直接相关原则,公开透明原则、准确性原则、问责性原则、数据安全原则等。同时,我们承诺将按业界成熟的安全标准,采取必要的措施保障您的个人信息的安全。


(三)我们对您个人信息的使用建立在下述一项或多项合法依据之上:您的同意、对公开信息的合理使用、为履行双方所签署的合同所必须及为遵守我们的法律义务。


二、 我们基于何种目的或场景,收集和使用您的个人信息


出于本隐私政策所描述的目的或场景,当您使用本平台服务时,我们可能会收集有关您的如下个人信息。若您不同意提供下列信息,有权拒绝提供,但您可能无法继续使用本平台的全部或部分服务:


(一) 注册、登录

当您需要使用本平台服务时,您首先需要注册本平台账号。为注册本平台账号,您需要提供您的手机号,以及选择性提供工作证明、头像、昵称,您后续可以自主在【我的】页中填写或修改您的头像、昵称。如果您不提供上述信息,将影响您使用本平台的基本功能。


(二) 向您提供的本平台服务

您仅能查看本人管理患者的信息和数据。


1.页面浏览

当您在本平台浏览页面时,我们会收集您的本平台账号UID信息、微信OpenID,用来展示您的权益内容,以方便您的便捷使用。


2.数据看板

当您在本平台登录后,您可以查看关键统计数据及图表看板。


3.患者列表和档案查看

当您在本平台登录后,您可以查看绑定患者的列表和档案信息。


4.患者SSI评分查看

您可以查看患者的SSI评测评分,包括具体分值和得分变化情况。


5.互动服务

您可以查看用户通过系统标准问答库内选择的发送给您的问题,从标准问答库内选择合适的文本内容进行应答。


6.下载文件

我们将会收集您的本平台账号UID信息,以判断您是否有对应的文件下载权限。


7.获得通知

您在本平台上查看通知时,我们将会收集您的本平台账号UID信息,以匹配该账号可以获得的通知内容。


8.为您提供安全保障及更佳的服务体验

当您使用本平台服务时,我们会自动收集您对我们服务的详细使用情况,作为有关网络日志保存。包括浏览、点击查看、分享信息、访问日期和时间、浏览的内容及时长、浏览记录等。为了保障您的账号安全以及系统运行安全,防止欺诈、网络病毒、网络攻击等安全风险,本平台服务将满足法律法规和我们协议规则的相关要求,同时,我们会根据不同操作系统为您提供最佳的浏览体验。


(三) 如果您对我们收集和使用您的个人信息的法律依据有任何疑问或需要提供进一步的信息,请通过本隐私政策第九章节「如何联系我们」提供的联系方式与我们联系。


(四) 当我们要将您的个人信息用于本隐私政策未载明的其他目的时,会事先征求您的同意。请您知悉,本平台向您提供的服务可能将不断更新和发展,如果您选择使用本隐私政策中尚未列明的其他功能或服务时,我们会在收集您的个人信息前通过推送通知、更为显著的弹窗等方式向您详细说明信息收集的目的、方式、范围并征求您的同意。


三、 我们如何使用Cookie等同类技术


(一)依托于微信小程序提供的原生能力

为了帮助提升您的产品体验,我们会使用微信提供的一些原生能力来避免您重复登录,并存储您所在城市信息等数据,进而帮助判断您的登录状态、更好的为您提供服务、判断账户或数据安全。所有的信息获取都会经过您的授权同意才会使用,并且我们不会主动共享或转让您的信息至任何第三方,不会对外公开披露您的任何信息,您可以通过移除小程序的方式删除您已授权的信息。


(二)Cookies 的使用

我们提供的产品服务中,为了能够让您获得更好的浏览体验,我们会在您的微信内置浏览器上记录Cookies信息,指定给您的Cookies是唯一的,它只能被将Cookies发布给您的域中的Web服务器读取。大部分手机的微信内置浏览器会自动接受Cookies,我们不会将Cookies用于本隐私政策所述目的之外的任何用途。您可以在微信“我-设置-通用-存储空间-缓存”中清除保存的所有 Cookies,但如果您这么做,您可能需要在每一次访问小程序内嵌网站时重新授权获取相关信息,而且您之前的相关记录信息也会被删除,并且可能会对您所使用服务的安全性有一定影响。


四、 我们如何委托处理、共享、转让、公开披露您的个人信息


(一) 委托处理

如涉及,我们会聘请服务提供商来协助我们提供客户支持。对我们委托处理个人信息的公司、组织和个人,我们会与其签署严格的个人信息保护条款和保密协定,要求他们按照我们的要求、本个人信息保护政策以及其他任何相关的个人信息保护、保密和信息安全措施来处理您的个人信息,并且对他们的个人信息处理活动进行监督。

(二) 共享

我们不会将任何个人信息出售给第三方。我们不会向本小程序运营公司以外的任何公司、组织和个人提供您的个人信息,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下共享:获得您的单独同意后,我们会与我们所披露的有关个人信息处理者共享您的相关个人信息;

d) 我们可能会根据法律法规规定,或按政府主管部门的强制性要求,向有关主管部门提供您的个人信息。


(三) 转让

我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下转让:获得您的单独同意后,我们会向我们所披露的有关个人信息处理者转让您的相关个人信息;

b) 在涉及合并、分立、解散、被宣告破产时,如涉及到个人信息转让,我们会向您告知接收方的名称或者姓名和联系方式。如接收方变更原先的处理目的、处理方式的,我们将要求该接收方重新取得您的同意。


(四) 公开披露

我们仅会在获得您明确同意后,公开披露您的个人信息。


五、 我们如何保存、保护您的个人信息


(一) 保存地点

我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。目前,我们不会将上述信息传输至其他地区,如果我们向其他地区传输,我们将遵循相关国家规定或者征求您的同意。


(二) 保存时间

我们会采取一切合理可行的措施,确保未收集无关的个人信息。愈见昕生小程序中个人信息储存必要期限是愈见昕生小程序为您终止服务后3年。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。


(三) 保护措施

我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。例如,我们会使用加密技术(例如SSL)确保数据的保密性;我们会使用受信赖的保护机制防止数据遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训课程,加强员工对于保护个人信息重要性的认识。互联网环境并非百分之百安全,我们将尽力确保或担保您发送给我们的任何信息的安全性。


(四) 数据安全能力

我们会使用不低于行业同行的加密技术、匿名化处理及相关合理可行的手段保护您的个人信息,并使用安全保护机制防止您的个人信息遭到恶意攻击。

我们会建立专门的安全部门、安全管理制度、数据安全流程保障您的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问您的个人信息,并适时对数据和技术进行安全审计。

(五) 安全事件处理

在不幸发生个人信息安全事件后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。 同时,我们还将按照监管部门要求,主动上报个人信息安全事件的处置情况。


六、 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

我们非常重视并保护您对于个人信息处理活动中的知情权、决定权、限制权、拒绝权等权利,并为您提供了行使在个人信息处理活动中相关权利的方法。


(一) 查阅权和更正权

除法律法规规定的情形除外,您有权随时查阅和更正您的个人信息,您可以通过在本平台的【我的】查阅或修改您的个人信息,包括头像、昵称。


(二) 限制或拒绝权

对于您个人信息的收集和使用,您可以在本平台上随时通过以下方式撤回授权同意,以限制或拒绝我们收集或使用您的个人信息:


您可以通过「第九章节、如何联系我们」进行相应的同意撤回。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。在注销账号之后,我们将停止为您提供本平台服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。


(三) 删除权

1.您可通过微信的缓存清理功能,删除您在本平台的缓存记录提供的相关个人信息。

2.如果您需要删除您在使用本平台过程中产生的其他个人信息,在您的合理要求并经验证核实您的身份后,我们会处理您的请求。您可以通过本隐私政策「第九章节、如何联系我们」方式向我们进行反馈。

3.在以下情形中,您可以向我们提出删除个人信息的请求:

(1) 我们永久不再为您提供产品或服务;

(2) 您撤回对我们收集、使用您的个人信息的同意;

(3) 我们处理个人信息的行为违反法律、行政法规;

(4) 我们处理个人信息的行为违反了与您的约定;

(5) 您注销了用户帐号;

(6) 法律、行政法规规定的其他情形。

您同意并理解,您删除某些您已提交的个人信息可能导致您无法使用本平台的部分或者全部服务。


(四) 注销权

您可以通过「第九章节、如何联系我们」进行账户注销。一旦您注销账户,我们将停止为您提供服务。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。当您选择注销账户后,我们将停止为您提供服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。



七、 未成年人保护


我们非常重视对未成年人个人信息的保护,本平台服务主要面向成年人。如果我们发现收集了未成年人的个人信息,我们将尽快删除相关信息。如果您是未成年人的监护人,并且您认为我们收集了未成年人的个人信息,请您及时与我们联系,我们将采取措施删除相关信息。


八、 本隐私政策变更及通知


(一)为了向您提供更好的功能与服务,本平台服务将不时更新与变化,因此,我们将适时修订及变更隐私政策。


(二)未经您明确同意,我们不会削减您按照本隐私政策所应享有的权利。我们会在本页面上发布对本政策所做的任何变更。


(三)对于重大变更,我们可能还会提供本平台公告、推送通知或更为显著的弹窗等方式,向您发送隐私政策的最新版本。本政策重大变更包括但不限于:

1.我们的服务模式发生重大变化。如处理个人信息的目的、处理的个人信息类型、个人信息的使用方式等;

2.我们在所有权结构、组织架构等方面发生重大变化。如业务调整、破产并购等引起的所有者变更等;

3.个人信息共享、转让或公开披露的主要对象发生变化;

4.您参与个人信息处理方面的权利及其行使方式发生重大变化;

5.我们的联络方式及投诉渠道发生变化;

6.个人信息安全影响评估报告表明存在高风险时。


九、 如何联系我们


如果您对本隐私协议有任何疑问、意见或建议,或者您需要行使您的个人信息权利,请通过以下方式与我们联系:[电子邮箱地址] service@hbraas.com

我们将在收到您的联系信息后,尽快回复您并处理您的问题。


十、 名词定义与解释


本平台:通过电子化信息平台运营和提供的数字化产品和服务,电子化信息平台包括但不限于愈见昕生小程序、愈见昕生微信公众号提供数字化产品和服务的系统或平台等,具体以用户实际注册、访问或使用为准(对于该等数字化产品和服务,本协议统称为“电子化信息平台”或“平台”或“本平台”)


个人信息:以电子或者其他方式记录的与已识别或可识别的自然人有关的各种信息,不包括匿名化处理后的信息。如姓名、出生日期、身份证件号码、个人生物识别信息、住址、通信通讯联系方式、通信记录和内容、账号密码、财产信息、征信信息、行踪轨迹、住宿信息、健康生理信息、交易信息等。


敏感个人信息:敏感个人信息是指一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息,包括生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等信息,以及不满十四周岁未成年人的个人信息。例如,个人敏感信息包括身份证件号码、个人生物识别信息、银行账号、通信内容、健康生理信息等。本平台不涉及敏感信息收集。


OpenID:微信OpenID是用户在微信平台上的唯一标识符,用于身份验证和跨平台登录。此处OpenID是指本平台用户注册后的唯一加密用户身份标识。



                                                        愈见昕生

`, }, onLoad() {}, }) diff --git a/src/doc/pages/privacyAgreement/index.ts b/src/doc/pages/privacyAgreement/index.ts index 44527a9..438f0b6 100644 --- a/src/doc/pages/privacyAgreement/index.ts +++ b/src/doc/pages/privacyAgreement/index.ts @@ -3,9 +3,9 @@ const _app = getApp() Page({ data: { active: 0, - doc1: `

TED关爱小助手小程序隐私政策

本版本更新日期:2025年9月12日

本版本生效日期:2025年9月12日

“TED关爱小助手”(以下亦称“我们”)非常注重保护用户(“您”)的个人信息及隐私。我们希望通过本《TED关爱小助手小程序隐私政策》(以下简称“本隐私政策”或本“政策”)向您清晰地介绍在使用我们的产品/服务时,我们如何处理您的个人信息。您及您的隐私对于我们至关重要,我们非常重视您的隐私和个人信息的保护。

请您在使用本产品/服务前,务必仔细阅读并充分理解本隐私政策。我们将逐一说明我们收集您的个人信息的类型及其对应的用途,以便您了解我们针对某一特定功能或服务所收集的具体个人信息的类别、使用理由及收集方式。

您在完成勾选并点击“同意”按钮后,本隐私政策即构成对双方有约束力的法律文件,即表示您同意我们按照本隐私政策收集、使用、处理和存储您的相关个人信息。

【本隐私政策的适用范围】

本隐私政策适用于您通过任何方式使用TED关爱小助手小程序平台或我们通过其他方式与您沟通合作时提供的全部功能和/或服务(以下合称为“本平台服务”)而收集或存储的信息。我们希望通过本隐私政策向您说明在您使用本平台服务时或我们通过其他方式与您沟通合作时,我们是如何收集、存储、使用、加工、传输、提供、公开、删除这些信息,以及我们将为您提供查阅、更正、限制、拒绝、删除、注销这些信息的方式。

本隐私政策将帮您了解以下信息:

1. 我们如何收集和使用您的个人信息

2. 我们基于何种目的或场景,收集和使用您的个人信息

3. 我们如何使用Cookie等同类技术

4. 我们如何委托处理、共享、转让、公开披露您的个人信息

5. 我们如何保存、保护您的个人信息

6. 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

7. 未成年人保护

8. 本隐私政策变更及通知

9. 如何联系我们

10. 名词定义和解释

一、 我们如何收集和使用您的个人信息

(一)我们会根据本隐私政策的约定,为实现本平台服务而对所收集的个人信息进行使用。

(二)我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:合法、正当、必要和诚信原则,目的明确和直接相关原则,公开透明原则、准确性原则、问责性原则、数据安全原则等。同时,我们承诺将按业界成熟的安全标准,采取必要的措施保障您的个人信息的安全。

(三)我们对您个人信息的使用建立在下述一项或多项合法依据之上:您的同意、对公开信息的合理使用、为履行双方所签署的合同所必须及为遵守我们的法律义务。

二、 我们基于何种目的或场景,收集和使用您的个人信息

出于本隐私政策所描述的目的或场景,当您使用本平台服务时,我们可能会收集有关您的如下个人信息。若您不同意提供下列信息,有权拒绝提供,但您可能无法继续使用本平台的全部或部分服务:

(一) 注册、登录

当您需要使用本平台服务时,您首先需要注册本平台账号。为注册本平台账号,您需要提供您的手机号,以及选择性提供头像、昵称,您后续可以自主在【我的】页中填写或修改您的头像、昵称。如果您不提供上述信息,将影响您使用本平台的基本功能。

(二) 向您提供的本平台服务

1. 注册成为用户

为完成账号的创建,您需要提供姓名、手机号码、年龄、性别等信息,以完成账号注册,您后续可以自主在【我的】-【个人信息】中填写或更正您的信息。

2.活动参加

您在本平台上报名活动后,我们将会收集您的本平台账号UID信息、报名时间,我们基于此信息更新您的活动状态更新,以方便您的活动参与。

3.QOL测评工具

您可以使用QOL测评服务评估您的症状变化,我们将记录您在使用本服务期间的所有测评结果,并为您生成健康报告。

4.了解TED教育服务

我们为您提供疾病知识服务,我们将记录您在使用本服务期间的内容浏览状态。

5.互动服务

您在绑定专属医生后,可以使用医患互动服务。

6.为您提供安全保障及更佳的服务体验

当您使用本平台服务时,我们会自动收集您对我们服务的详细使用情况,作为有关网络日志保存。包括浏览、点击查看、分享信息、访问日期和时间、浏览的内容及时长、浏览记录等。为了保障您的账号安全以及系统运行安全,防止欺诈、网络病毒、网络攻击等安全风险,本平台服务将满足法律法规和我们协议规则的相关要求,同时,我们会根据不同操作系统为您提供最佳的浏览体验。

(三) 如果您对我们收集和使用您的个人信息的法律依据有任何疑问或需要提供进一步的信息,请通过本隐私政策第九章节「如何联系我们」提供的联系方式与我们联系。

(四) 当我们要将您的个人信息用于本隐私政策未载明的其他目的时,会事先征求您的同意。请您知悉,本平台向您提供的服务可能将不断更新和发展,如果您选择使用本隐私政策中尚未列明的其他功能或服务时,我们会在收集您的个人信息前通过推送通知、更为显著的弹窗等方式向您详细说明信息收集的目的、方式、范围并征求您的同意。

三、 我们如何使用Cookie等同类技术

(一)依托于微信小程序提供的原生能力

为了帮助提升您的产品体验,我们会使用微信提供的一些原生能力来避免您重复登录,并存储您所在城市信息等数据,进而帮助判断您的登录状态、更好的为您提供服务、判断账户或数据安全。所有的信息获取都会经过您的授权同意才会使用,并且我们不会主动共享或转让您的信息至任何第三方,不会对外公开披露您的任何信息,您可以通过移除小程序的方式删除您已授权的信息。

(二)Cookies 的使用

我们提供的产品服务中,为了能够让您获得更好的浏览体验,我们会在您的微信内置浏览器上记录Cookies信息,指定给您的Cookies是唯一的,它只能被将Cookies发布给您的域中的Web服务器读取。大部分手机的微信内置浏览器会自动接受Cookies,我们不会将Cookies用于本隐私政策所述目的之外的任何用途。您可以在微信“我-设置-通用-存储空间-缓存”中清除保存的所有 Cookies,但如果您这么做,您可能需要在每一次访问小程序内嵌网站时重新授权获取相关信息,而且您之前的相关记录信息也会被删除,并且可能会对您所使用服务的安全性有一定影响。

四、 我们如何委托处理、共享、转让、公开披露您的个人信息

(一) 委托处理

如涉及,我们会聘请服务提供商来协助我们提供客户支持。对我们委托处理个人信息的公司、组织和个人,我们会与其签署严格的个人信息保护条款和保密协定,要求他们按照我们的要求、本个人信息保护政策以及其他任何相关的个人信息保护、保密和信息安全措施来处理您的个人信息,并且对他们的个人信息处理活动进行监督。

(二) 共享

我们不会将任何个人信息出售给第三方。我们不会向本小程序运营公司以外的任何公司、组织和个人提供您的个人信息,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下共享:获得您的单独同意后,我们会与我们所披露的有关个人信息处理者共享您的相关个人信息;

d) 我们可能会根据法律法规规定,或按政府主管部门的强制性要求,向有关主管部门提供您的个人信息。

(三) 转让

我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下转让:获得您的单独同意后,我们会向我们所披露的有关个人信息处理者转让您的相关个人信息;

b) 在涉及合并、分立、解散、被宣告破产时,如涉及到个人信息转让,我们会向您告知接收方的名称或者姓名和联系方式。如接收方变更原先的处理目的、处理方式的,我们将要求该接收方重新取得您的同意。

(四) 公开披露

我们仅会在获得您明确同意后,公开披露您的个人信息。

五、 我们如何保存、保护您的个人信息

(一) 保存地点

我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。目前,我们不会将上述信息传输至其他地区,如果我们向其他地区传输,我们将遵循相关国家规定或者征求您的同意。

(二) 保存时间

我们会采取一切合理可行的措施,确保未收集无关的个人信息。TED关爱中心小程序中个人信息储存必要期限是TED关爱中心小程序为您终止服务后3年。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。

(三) 保护措施

我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。例如,我们会使用加密技术(例如SSL)确保数据的保密性;我们会使用受信赖的保护机制防止数据遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训课程,加强员工对于保护个人信息重要性的认识。互联网环境并非百分之百安全,我们将尽力确保或担保您发送给我们的任何信息的安全性。

(四) 数据安全能力

我们会使用不低于行业同行的加密技术、匿名化处理及相关合理可行的手段保护您的个人信息,并使用安全保护机制防止您的个人信息遭到恶意攻击。

我们会建立专门的安全部门、安全管理制度、数据安全流程保障您的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问您的个人信息,并适时对数据和技术进行安全审计。

(五) 安全事件处理

在不幸发生个人信息安全事件后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。 同时,我们还将按照监管部门要求,主动上报个人信息安全事件的处置情况。

六、 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

我们非常重视并保护您对于个人信息处理活动中的知情权、决定权、限制权、拒绝权等权利,并为您提供了行使在个人信息处理活动中相关权利的方法。

(一) 查阅权和更正权

除法律法规规定的情形除外,您有权随时查阅和更正您的个人信息,您可以通过在本平台的【我的】查阅或修改您的个人信息,包括头像、昵称。

(二) 限制或拒绝权

对于您个人信息的收集和使用,您可以在本平台上随时通过以下方式撤回授权同意,以限制或拒绝我们收集或使用您的个人信息:

您可以通过第九章节、如何联系我们进行相应的同意撤回。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。在注销账号之后,我们将停止为您提供本平台服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。

(三) 删除权

1.您可通过微信的缓存清理功能,删除您在本平台的缓存记录提供的相关个人信息。

2.如果您需要删除您在使用本平台过程中产生的其他个人信息,在您的合理要求并经验证核实您的身份后,我们会处理您的请求。您可以通过本隐私政策「第九章节、如何联系我们方式向我们进行反馈。

3.在以下情形中,您可以向我们提出删除个人信息的请求:

(1) 我们永久不再为您提供产品或服务;

(2) 您撤回对我们收集、使用您的个人信息的同意;

(3) 我们处理个人信息的行为违反法律、行政法规;

(4) 我们处理个人信息的行为违反了与您的约定;

(5) 您注销了用户帐号;

(6) 法律、行政法规规定的其他情形。

您同意并理解,您删除某些您已提交的个人信息可能导致您无法使用本平台的部分或者全部服务。

(四) 注销权

您可以通过第九章节、如何联系我们」进行账户注销。一旦您注销账户,我们将停止为您提供服务。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。当您选择注销账户后,我们将停止为您提供服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。

七、 未成年人保护

我们非常重视对未成年人个人信息的保护,本平台服务主要面向成年人。如果我们发现收集了未成年人的个人信息,我们将尽快删除相关信息。如果您是未成年人的监护人,并且您认为我们收集了未成年人的个人信息,请您及时与我们联系,我们将采取措施删除相关信息。

八、 本隐私政策变更及通知

(一)为了向您提供更好的功能与服务,本平台服务将不时更新与变化,因此,我们将适时修订及变更隐私政策。

(二)未经您明确同意,我们不会削减您按照本隐私政策所应享有的权利。我们会在本页面上发布对本政策所做的任何变更。

(三)对于重大变更,我们可能还会提供本平台公告、推送通知或更为显著的弹窗等方式,向您发送隐私政策的最新版本。本政策重大变更包括但不限于:

1.我们的服务模式发生重大变化。如处理个人信息的目的、处理的个人信息类型、个人信息的使用方式等;

2.我们在所有权结构、组织架构等方面发生重大变化。如业务调整、破产并购等引起的所有者变更等;

3.个人信息共享、转让或公开披露的主要对象发生变化;

4.您参与个人信息处理方面的权利及其行使方式发生重大变化;

5.我们的联络方式及投诉渠道发生变化;

6.个人信息安全影响评估报告表明存在高风险时。

九、 如何联系我们

如果您对本隐私协议有任何疑问、意见或建议,或者您需要行使您的个人信息权利,请通过以下方式与我们联系:
[电子邮箱地址]
service@hbraas.com

我们将在收到您的联系信息后,尽快回复您并处理您的问题。

十、 名词定义与解释

本平台:通过电子化信息平台运营和提供的数字化产品和服务,电子化信息平台包括但不限于TED关爱小助手小程序、TED关爱中心微信公众号提供数字化产品和服务的系统或平台等,具体以用户实际注册、访问或使用为准(对于该等数字化产品和服务,本协议统称为“电子化信息平台”或“平台”或“本平台”)

个人信息:以电子或者其他方式记录的与已识别或可识别的自然人有关的各种信息,不包括匿名化处理后的信息。如姓名、出生日期、身份证件号码、个人生物识别信息、住址、通信通讯联系方式、通信记录和内容、账号密码、财产信息、征信信息、行踪轨迹、住宿信息、健康生理信息、交易信息等。

敏感个人信息:敏感个人信息是指一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息,包括生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等信息,以及不满十四周岁未成年人的个人信息。例如,个人敏感信息包括身份证件号码、个人生物识别信息、银行账号、通信内容、健康生理信息等。本平台不涉及敏感信息收集。

OpenID:微信OpenID是用户在微信平台上的唯一标识符,用于身份验证和跨平台登录。此处OpenID是指本平台用户注册后的唯一加密用户身份标识。

TED关爱小助手

`, - doc2: `

用户协议

本版本更新日期:2025年9月12日

本版本生效日期:2025年9月12日

欢迎您使用TED关爱小助手平台(以下简称 “本平台” 或 “平台”)为保障您在使用平台服务过程中的合法权益,规范双方权利与义务,请您在注册、使用本平台服务前,仔细阅读本用户协议(以下简称 “本协议”)全部内容。一旦您注册、登录或使用本平台,即视为您已阅读、理解并同意本协议的所有内容。

一、定义与适用范围

1.本平台:指为甲状腺相关眼病(TED)患者提供健康管理、医疗信息服务等功能的数字化服务平台,包括但不限于对应的小程序、公众号等。

2.用户:指注册、登录并使用本平台服务的自然人,即甲状腺相关眼病(TED)患者或经患者授权使用平台服务的相关人员。

3.平台服务:指我们通过本平台向用户提供的所有功能与服务,包括但不限于健康档案管理、专属医生绑定与信息交互、医疗知识科普等服务。

本协议适用于用户对本平台所有服务的使用行为,用户在使用平台不同服务时,除需遵守本协议外,还应遵守我们针对具体服务制定的相关规则与指引。

二、用户注册与账号管理

1.注册要求:用户在注册平台账号时,应提供真实、准确、完整的个人信息,包括但不限于姓名、出生日期、联系方式、疾病诊断信息等。若用户提供的信息发生变更,应及时更新,确保信息的有效性与准确性。

2.账号安全:您的账户为您自行设置并由您保管,建议您务必保管好您的账户。 账户因您主动泄露或因您遭受他人攻击、诈骗等行为导致的损失及后果,本公司不承担责任,您应通过司法、行政等救济途径向侵权行为人追偿。

3.如发现账号存在异常登录或使用情况,应立即通知我们,并配合采取必要的措施保障账号安全。因用户自身原因导致账号信息泄露或账号被盗用产生的后果,由用户自行承担。

4.账号注销:用户有权根据自身需求申请注销账号。账号注销后,除法律法规另有规定或为履行相关义务外,我们将对用户的个人信息进行删除或匿名化处理,且无法恢复。

三、平台服务内容与使用规则

1.服务内容

Ø 健康档案管理:用户可在平台录入、查看和管理个人健康档案信息,包括但不限于病史、诊断结果、治疗记录、健康数据等。平台将为用户提供便捷的档案管理功能,帮助用户系统地记录和跟踪健康状况。

Ø 专属医生绑定与信息交互:用户可自主选择绑定专属医生,绑定后,平台将按照《个人信息共享知情同意书》的约定,将用户相关信息共享给绑定医生。

Ø 医疗知识科普:平台将定期发布与甲状腺相关眼病(TED)相关的医疗知识、治疗进展、护理方法等科普内容,帮助用户更好地了解疾病,提升自我管理能力。

2. 使用规则

Ø 用户应在法律法规允许的范围内使用平台服务,不得利用平台从事任何违法违规活动,包括但不限于传播虚假信息、进行诈骗、侵犯他人知识产权等。

Ø 用户在使用平台服务过程中,不得干扰、破坏平台的正常运行,不得实施任何可能影响平台服务质量、安全或稳定性的行为,如恶意攻击、数据篡改、滥用接口等。

Ø 用户不得将平台服务用于商业目的或未经我们书面许可的其他用途。若用户违反上述使用规则,我们有权立即停止向其提供服务,并保留追究其法律责任的权利。

四、双方权利与义务

1.用户权利

Ø 用户有权自主选择使用平台提供的各项服务,有权对平台服务提出意见和建议。

Ø 用户有权按照本协议约定,查询、更正个人在平台的相关信息,有权撤回对个人信息共享的同意(具体规则详见《个人信息共享知情同意书》)。

Ø 用户在使用平台服务过程中,若合法权益受到侵害,有权要求我们采取合理措施予以解决。

2. 用户义务

Ø 用户应遵守本协议及平台相关规则,按照平台指引正确使用服务,不得违反法律法规及社会公序良俗。

Ø 用户应妥善保管个人账号及信息,对使用该账号进行的所有活动和行为负责。

Ø 用户应积极配合我们开展的服务优化、安全保障等工作,如实提供相关信息和反馈。

3.我们的权利

Ø 我们有权根据法律法规变化、业务发展需求等情况,对平台服务内容、功能、本协议及相关规则进行调整、修改或更新。

Ø 若用户违反本协议或平台相关规则,我们有权采取包括但不限于限制账号功能、暂停或终止服务、删除违规内容等措施,并保留追究其法律责任的权利。

4. 我们的义务

Ø 我们将按照法律法规要求,采取合理的技术和管理措施,保障平台服务的正常运行,确保用户信息安全。

Ø 我们将持续优化平台服务,为用户提供准确、有用的医疗信息和服务,及时处理用户的咨询、投诉和建议。

五、隐私保护

我们非常重视用户的个人信息保护,将严格按照《中华人民共和国个人信息保护法》及其他相关法律法规的规定,处理用户的个人信息。具体信息收集、使用、共享、存储、保护等规则详见《隐私政策》,请您在使用平台服务前仔细阅读。

六、免责声明

1.由于不可抗力(包括但不限于自然灾害、政府行为、网络攻击、病毒侵袭等)或其他不可预见、不可避免的原因,导致平台服务中断、数据丢失或其他异常情况,我们不承担责任,但将尽力减少损失并及时通知用户。

2.对于用户通过平台获取的任何信息内容,仅供参考,不构成具体的医疗诊断或治疗方案。用户应根据自身实际情况,结合专业医生的诊断进行治疗,因用户依据平台信息进行自我诊断或治疗产生的一切后果,由用户自行承担。

3.我们对平台上第三方提供的链接、内容或服务不承担任何责任。用户通过平台访问第三方内容或服务时,应自行注意相关风险,并遵守第三方的相关规定。

`, - doc3: `

个人信息知情同意书

本版本更新日期:2025年9月12日

本版本生效日期:2025年9月12日

【甲状腺相关眼病患者支持项目“TED关爱小助手”】(以下简称“本平台”)非常注重保护用户(“您”)的个人信息及隐私。为保障您的合法权益,请您在使用本平台过程中,仔细阅读并确认您已充分理解并同意本知情同意书的所有内容。

一、信息共享目的

本平台旨在为甲状腺相关眼病(TED)患者提供便捷、高效的健康管理服务。将您的个人信息共享给您主动绑定的专属医生,是为了使医生能够更全面、及时地了解您的健康状况,包括但不限于病史、诊断进展、检查项目等。

二、共享信息范围

1.基本个人信息:您注册本平台时填写的姓名、年龄、入组日期。

2.健康档案信息:您在平台上录入的疾病诊断信息、检查检验项目、治疗过程进展、就诊记录等。

三、信息共享主体

仅当您在本平台主动完成专属医生绑定操作后,您的上述个人信息将被共享给您绑定的专属医生。本平台承诺不会将您的个人信息共享给未经您主动绑定的任何第三方。

四、信息接收方的责任与义务

您绑定的专属医生需严格遵守国家相关法律法规及医疗行业规范,对获取的您的个人信息予以保密。在使用您的个人信息时,仅可将其用于为您提供医疗服务相关目的,不得用于任何其他商业或非医疗用途,不得泄露、篡改、损毁您的个人信息。如因专属医生违反相关规定导致您的个人信息泄露或遭受其他损害,其将承担相应的法律责任。

五、您的权利

1.自主选择权:您有权自主决定是否在本平台绑定专属医生,从而决定是否将个人信息进行共享。若您选择不绑定专属医生,您仍可正常使用本平台除与医生信息交互相关的其他功能。

2.信息查询与更正权:您可随时登录本平台,查询已共享给专属医生的个人信息,并对其中存在错误或需要更新的信息进行更正。

3.注销账号:您可以通过本平台提供的“注销账号”功能与医生解绑,账号注销后,专属医生将无法再查看到您的信息。访问路径【我的】-【个人信息】。

六、信息安全保障

本平台高度重视您的个人信息安全,采取了一系列合理且必要的技术与管理措施,包括但不限于数据加密、访问控制等,以防止您的个人信息被泄露、篡改或丢失。

七、其他条款

1.本知情同意书的签订、生效、履行、解释及争议解决均适用中华人民共和国法律。

2.如您在使用本平台过程中与我们就本知情同意书或个人信息共享事宜发生任何争议,双方应首先友好协商解决;协商不成的,任何一方均有权向本平台运营方所在地有管辖权的人民法院提起诉讼。

3.本平台有权根据法律法规的变化、业务发展需求等情况对本知情同意书进行修订。修订后的内容将通过在本平台显著位置发布公告等方式通知您。若您继续使用本平台及相关服务,即视为您已充分阅读、理解并接受修订后的内容。

`, + doc1: `

本版本更新日期:    年   月   日

本版本生效日期:    年   月   日



愈见昕生”(以下亦称“我们”)非常注重保护用户(“您”)的个人信息及隐私。我们希望通过本《愈见昕生小程序隐私政策》(以下简称“本隐私政策”或本“政策”)向您清晰地介绍在使用我们的产品/服务时,我们如何处理您的个人信息。您及您的隐私对于我们至关重要,我们非常重视您的隐私和个人信息的保护。


请您在使用本产品/服务前,务必仔细阅读并充分理解本隐私政策。我们将逐一说明我们收集您的个人信息的类型及其对应的用途,以便您了解我们针对某一特定功能或服务所收集的具体个人信息的类别、使用理由及收集方式。


您在完成勾选并点击“同意”按钮后,本隐私政策即构成对双方有约束力的法律文件,即表示您同意我们按照本隐私政策收集、使用、处理和存储您的相关个人信息。


【本隐私政策的适用范围】

本隐私政策适用于您通过任何方式使用愈见昕生小程序平台或我们通过其他方式与您沟通合作时提供的全部功能和/或服务(以下合称为“本平台服务”)而收集或存储的信息。我们希望通过本隐私政策向您说明在您使用本平台服务时或我们通过其他方式与您沟通合作时,我们是如何收集、存储、使用、加工、传输、提供、公开、删除这些信息,以及我们将为您提供查阅、更正、限制、拒绝、删除、注销这些信息的方式。


本隐私政策将帮您了解以下信息:

1. 我们如何收集和使用您的个人信息

2. 我们基于何种目的或场景,收集和使用您的个人信息

3. 我们如何使用Cookie等同类技术

4. 我们如何委托处理、共享、转让、公开披露您的个人信息

5. 我们如何保存、保护您的个人信息

6. 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

7. 未成年人保护

8. 本隐私政策变更及通知

9. 如何联系我们

10. 名词定义和解释



一、 我们如何收集和使用您的个人信息


(一)我们会根据本隐私政策的约定,为实现本平台服务而对所收集的个人信息进行使用。


(二)我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:合法、正当、必要和诚信原则,目的明确和直接相关原则,公开透明原则、准确性原则、问责性原则、数据安全原则等。同时,我们承诺将按业界成熟的安全标准,采取必要的措施保障您的个人信息的安全。


(三)我们对您个人信息的使用建立在下述一项或多项合法依据之上:您的同意、对公开信息的合理使用、为履行双方所签署的合同所必须及为遵守我们的法律义务。


二、 我们基于何种目的或场景,收集和使用您的个人信息


出于本隐私政策所描述的目的或场景,当您使用本平台服务时,我们可能会收集有关您的如下个人信息。若您不同意提供下列信息,有权拒绝提供,但您可能无法继续使用本平台的全部或部分服务:


(一) 注册、登录

当您需要使用本平台服务时,您首先需要注册本平台账号。为注册本平台账号,您需要提供您的手机号,通过手机号码加短信验证码的方式进行登录;或通过您的微信openID获取手机号进行手机号快捷登录。以及选择性提供头像、昵称,您后续可以自主在【我的】页中填写或修改您的头像、昵称。如果您不提供上述信息,将影响您使用本平台的基本功能。

当您关注愈见昕生微信公众号时,我们会收集您的微信openID以及您关注、取消关注本公众号的行为数据,以便我们识别用户身份。


(二) 向您提供的本平台服务

1. 注册成为用户

为完成账号的创建,您需要提供姓名、手机号码、年龄、性别等信息,以完成账号注册,您后续可以自主在【我的】-【个人信息】中填写或更正您的信息。


2. 健康档案

您可以使用健康档案,记录自己的用药、门诊记录,获得平台的用药及复诊提醒。


3.活动参加

您在本平台上报名活动后,我们将会收集您的本平台账号UID信息、报名时间,我们基于此信息更新您的活动状态更新,以方便您的活动参与。


4.SSI测评/激素记录工具

您可以使用SSI测评/激素记录服务评估您的症状变化,我们将记录您在使用本服务期间的所有测评结果,并为您生成健康报告。


5.了解IgG4-RD教育服务

我们为您提供疾病知识服务,我们将记录您在使用本服务期间的内容浏览状态。


6.互动服务

您在绑定专属医生后,可以使用医患互动服务。


7.就诊地图

为了您可以在就诊地图模块快速查看附近处的医院及就诊医生信息,我们将向您请求地理位置获取的授权,您可在开启权限后使用该功能。若未开启,不影响您的功能使用。


8.为您提供安全保障及更佳的服务体验

当您使用本平台服务时,我们会自动收集您对我们服务的详细使用情况,作为有关网络日志保存。包括浏览、点击查看、分享信息、访问日期和时间、浏览的内容及时长、浏览记录等。为了保障您的账号安全以及系统运行安全,防止欺诈、网络病毒、网络攻击等安全风险,本平台服务将满足法律法规和我们协议规则的相关要求,同时,我们会根据不同操作系统为您提供最佳的浏览体验。



(三) 如果您对我们收集和使用您的个人信息的法律依据有任何疑问或需要提供进一步的信息,请通过本隐私政策第九章节「如何联系我们」提供的联系方式与我们联系。


(四) 当我们要将您的个人信息用于本隐私政策未载明的其他目的时,会事先征求您的同意。请您知悉,本平台向您提供的服务可能将不断更新和发展,如果您选择使用本隐私政策中尚未列明的其他功能或服务时,我们会在收集您的个人信息前通过推送通知、更为显著的弹窗等方式向您详细说明信息收集的目的、方式、范围并征求您的同意。



三、 我们如何使用Cookie等同类技术


(一)依托于微信小程序提供的原生能力

为了帮助提升您的产品体验,我们会使用微信提供的一些原生能力来避免您重复登录,并存储您所在城市信息等数据,进而帮助判断您的登录状态、更好的为您提供服务、判断账户或数据安全。所有的信息获取都会经过您的授权同意才会使用,并且我们不会主动共享或转让您的信息至任何第三方,不会对外公开披露您的任何信息,您可以通过移除小程序的方式删除您已授权的信息。


(二)Cookies 的使用

我们提供的产品服务中,为了能够让您获得更好的浏览体验,我们会在您的微信内置浏览器上记录Cookies信息,指定给您的Cookies是唯一的,它只能被将Cookies发布给您的域中的Web服务器读取。大部分手机的微信内置浏览器会自动接受Cookies,我们不会将Cookies用于本隐私政策所述目的之外的任何用途。您可以在微信“我-设置-通用-存储空间-缓存”中清除保存的所有 Cookies,但如果您这么做,您可能需要在每一次访问小程序内嵌网站时重新授权获取相关信息,而且您之前的相关记录信息也会被删除,并且可能会对您所使用服务的安全性有一定影响。


四、 我们如何委托处理、共享、转让、公开披露您的个人信息


(一) 委托处理

如涉及,我们会聘请服务提供商来协助我们提供客户支持。对我们委托处理个人信息的公司、组织和个人,我们会与其签署严格的个人信息保护条款和保密协定,要求他们按照我们的要求、本个人信息保护政策以及其他任何相关的个人信息保护、保密和信息安全措施来处理您的个人信息,并且对他们的个人信息处理活动进行监督。

(二) 共享

我们不会将任何个人信息出售给第三方。我们不会向本小程序运营公司以外的任何公司、组织和个人提供您的个人信息,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下共享:获得您的单独同意后,我们会与我们所披露的有关个人信息处理者共享您的相关个人信息;

d) 我们可能会根据法律法规规定,或按政府主管部门的强制性要求,向有关主管部门提供您的个人信息。


(三) 转让

我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下转让:获得您的单独同意后,我们会向我们所披露的有关个人信息处理者转让您的相关个人信息;

b) 在涉及合并、分立、解散、被宣告破产时,如涉及到个人信息转让,我们会向您告知接收方的名称或者姓名和联系方式。如接收方变更原先的处理目的、处理方式的,我们将要求该接收方重新取得您的同意。


(四) 公开披露

我们仅会在获得您明确同意后,公开披露您的个人信息。


五、 我们如何保存、保护您的个人信息


(一) 保存地点

我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。目前,我们不会将上述信息传输至其他地区,如果我们向其他地区传输,我们将遵循相关国家规定或者征求您的同意。


(二) 保存时间

我们会采取一切合理可行的措施,确保未收集无关的个人信息。愈见昕生小程序中个人信息储存必要期限是愈见昕生小程序为您终止服务后3年。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。


(三) 保护措施

我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。例如,我们会使用加密技术(例如SSL)确保数据的保密性;我们会使用受信赖的保护机制防止数据遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训课程,加强员工对于保护个人信息重要性的认识。互联网环境并非百分之百安全,我们将尽力确保或担保您发送给我们的任何信息的安全性。


(四) 数据安全能力

我们会使用不低于行业同行的加密技术、匿名化处理及相关合理可行的手段保护您的个人信息,并使用安全保护机制防止您的个人信息遭到恶意攻击。

我们会建立专门的安全部门、安全管理制度、数据安全流程保障您的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问您的个人信息,并适时对数据和技术进行安全审计。

(五) 安全事件处理

在不幸发生个人信息安全事件后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。 同时,我们还将按照监管部门要求,主动上报个人信息安全事件的处置情况。


六、 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

我们非常重视并保护您对于个人信息处理活动中的知情权、决定权、限制权、拒绝权等权利,并为您提供了行使在个人信息处理活动中相关权利的方法。


(一) 查阅权和更正权

除法律法规规定的情形除外,您有权随时查阅和更正您的个人信息,您可以通过在本平台的【我的】查阅或修改您的个人信息,包括头像、昵称。


(二) 限制或拒绝权

对于您个人信息的收集和使用,您可以在本平台上随时通过以下方式撤回授权同意,以限制或拒绝我们收集或使用您的个人信息:


您可以通过「第九章节、如何联系我们」进行相应的同意撤回。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。在注销账号之后,我们将停止为您提供本平台服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。


(三) 删除权

1.您可通过微信的缓存清理功能,删除您在本平台的缓存记录提供的相关个人信息。

2.如果您需要删除您在使用本平台过程中产生的其他个人信息,在您的合理要求并经验证核实您的身份后,我们会处理您的请求。您可以通过本隐私政策「第九章节、如何联系我们」方式向我们进行反馈。

3.在以下情形中,您可以向我们提出删除个人信息的请求:

(1) 我们永久不再为您提供产品或服务;

(2) 您撤回对我们收集、使用您的个人信息的同意;

(3) 我们处理个人信息的行为违反法律、行政法规;

(4) 我们处理个人信息的行为违反了与您的约定;

(5) 您注销了用户帐号;

(6) 法律、行政法规规定的其他情形。

您同意并理解,您删除某些您已提交的个人信息可能导致您无法使用本平台的部分或者全部服务。


(四) 注销权

您可以通过「第九章节、如何联系我们」进行账户注销。一旦您注销账户,我们将停止为您提供服务。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。当您选择注销账户后,我们将停止为您提供服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。



七、 未成年人保护


我们非常重视对未成年人个人信息的保护,本平台服务主要面向成年人。如果我们发现收集了未成年人的个人信息,我们将尽快删除相关信息。如果您是未成年人的监护人,并且您认为我们收集了未成年人的个人信息,请您及时与我们联系,我们将采取措施删除相关信息。


八、 本隐私政策变更及通知


(一)为了向您提供更好的功能与服务,本平台服务将不时更新与变化,因此,我们将适时修订及变更隐私政策。


(二)未经您明确同意,我们不会削减您按照本隐私政策所应享有的权利。我们会在本页面上发布对本政策所做的任何变更。


(三)对于重大变更,我们可能还会提供本平台公告、推送通知或更为显著的弹窗等方式,向您发送隐私政策的最新版本。本政策重大变更包括但不限于:

1.我们的服务模式发生重大变化。如处理个人信息的目的、处理的个人信息类型、个人信息的使用方式等;

2.我们在所有权结构、组织架构等方面发生重大变化。如业务调整、破产并购等引起的所有者变更等;

3.个人信息共享、转让或公开披露的主要对象发生变化;

4.您参与个人信息处理方面的权利及其行使方式发生重大变化;

5.我们的联络方式及投诉渠道发生变化;

6.个人信息安全影响评估报告表明存在高风险时。


九、 如何联系我们


如果您对本隐私协议有任何疑问、意见或建议,或者您需要行使您的个人信息权利,请通过以下方式与我们联系:[电子邮箱地址] service@hbraas.com

我们将在收到您的联系信息后,尽快回复您并处理您的问题。


十、 名词定义与解释


本平台:通过电子化信息平台运营和提供的数字化产品和服务,电子化信息平台包括但不限于愈见昕生小程序、愈见昕生微信公众号提供数字化产品和服务的系统或平台等,具体以用户实际注册、访问或使用为准(对于该等数字化产品和服务,本协议统称为“电子化信息平台”或“平台”或“本平台”)


个人信息:以电子或者其他方式记录的与已识别或可识别的自然人有关的各种信息,不包括匿名化处理后的信息。如姓名、出生日期、身份证件号码、个人生物识别信息、住址、通信通讯联系方式、通信记录和内容、账号密码、财产信息、征信信息、行踪轨迹、住宿信息、健康生理信息、交易信息等。


敏感个人信息:敏感个人信息是指一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息,包括生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等信息,以及不满十四周岁未成年人的个人信息。例如,个人敏感信息包括身份证件号码、个人生物识别信息、银行账号、通信内容、健康生理信息等。本平台不涉及敏感信息收集。


OpenID:微信OpenID是用户在微信平台上的唯一标识符,用于身份验证和跨平台登录。此处OpenID是指本平台用户注册后的唯一加密用户身份标识。



                                                        愈见昕生

`, + doc2: `

本版本更新日期:      年   月   日

本版本生效日期:      年   月   日


欢迎您使用愈见昕生平台(以下简称 “本平台” 或 “平台”)为保障您在使用平台服务过程中的合法权益,规范双方权利与义务,请您在注册、使用本平台服务前,仔细阅读本用户协议(以下简称 “本协议”)全部内容。一旦您注册、登录或使用本平台,即视为您已阅读、理解并同意本协议的所有内容。


一、定义与适用范围

1.本平台:指为IgG4相关性疾病(IgG4-RD)患者提供健康管理、医疗信息服务等功能的数字化服务平台,包括但不限于对应的小程序、公众号等。

2.用户:指注册、登录并使用本平台服务的自然人,即IgG4相关性疾病(IgG4-RD)患者或经患者授权使用平台服务的相关人员。

3.平台服务:指我们通过本平台向用户提供的所有功能与服务,包括但不限于健康档案管理、专属医生绑定与信息交互、医疗知识科普等服务。

本协议适用于用户对本平台所有服务的使用行为,用户在使用平台不同服务时,除需遵守本协议外,还应遵守我们针对具体服务制定的相关规则与指引。

二、用户注册与账号管理

1.注册要求:用户在注册平台账号时,应提供真实、准确、完整的个人信息,包括但不限于姓名、出生日期、联系方式、疾病诊断信息等。若用户提供的信息发生变更,应及时更新,确保信息的有效性与准确性。

2.账号安全:您的账户为您自行设置并由您保管,建议您务必保管好您的账户。 账户因您主动泄露或因您遭受他人攻击、诈骗等行为导致的损失及后果,本公司不承担责任,您应通过司法、行政等救济途径向侵权行为人追偿。

3.如发现账号存在异常登录或使用情况,应立即通知我们,并配合采取必要的措施保障账号安全。因用户自身原因导致账号信息泄露或账号被盗用产生的后果,由用户自行承担。

4.账号注销:用户有权根据自身需求申请注销账号。账号注销后,除法律法规另有规定或为履行相关义务外,我们将对用户的个人信息进行删除或匿名化处理,且无法恢复。

三、平台服务内容与使用规则

1.服务内容

Ø 健康档案管理:用户可在平台录入、查看和管理个人健康档案信息,包括但不限于病史、诊断结果、治疗记录、健康数据等。平台将为用户提供便捷的档案管理功能,帮助用户系统地记录和跟踪健康状况。

Ø 专属医生绑定与信息交互:用户可自主选择绑定专属医生,绑定后,平台将按照《个人信息共享知情同意书》的约定,将用户相关信息共享给绑定医生。

Ø 医疗知识科普:平台将定期发布与IgG4相关性疾病(IgG4-RD)相关的医疗知识、治疗进展、护理方法等科普内容,帮助用户更好地了解疾病,提升自我管理能力。

2. 使用规则

Ø 用户应在法律法规允许的范围内使用平台服务,不得利用平台从事任何违法违规活动,包括但不限于传播虚假信息、进行诈骗、侵犯他人知识产权等。

Ø 用户在使用平台服务过程中,不得干扰、破坏平台的正常运行,不得实施任何可能影响平台服务质量、安全或稳定性的行为,如恶意攻击、数据篡改、滥用接口等。

Ø 用户不得将平台服务用于商业目的或未经我们书面许可的其他用途。若用户违反上述使用规则,我们有权立即停止向其提供服务,并保留追究其法律责任的权利。


四、双方权利与义务

1.用户权利

Ø 用户有权自主选择使用平台提供的各项服务,有权对平台服务提出意见和建议。

Ø 用户有权按照本协议约定,查询、更正个人在平台的相关信息,有权撤回对个人信息共享的同意(具体规则详见《个人信息共享知情同意书》)。

Ø 用户在使用平台服务过程中,若合法权益受到侵害,有权要求我们采取合理措施予以解决。

2. 用户义务

Ø 用户应遵守本协议及平台相关规则,按照平台指引正确使用服务,不得违反法律法规及社会公序良俗。

Ø 用户应妥善保管个人账号及信息,对使用该账号进行的所有活动和行为负责。

Ø 用户应积极配合我们开展的服务优化、安全保障等工作,如实提供相关信息和反馈。

3.我们的权利

Ø 我们有权根据法律法规变化、业务发展需求等情况,对平台服务内容、功能、本协议及相关规则进行调整、修改或更新。

Ø 若用户违反本协议或平台相关规则,我们有权采取包括但不限于限制账号功能、暂停或终止服务、删除违规内容等措施,并保留追究其法律责任的权利。

4. 我们的义务

Ø 我们将按照法律法规要求,采取合理的技术和管理措施,保障平台服务的正常运行,确保用户信息安全。

Ø 我们将持续优化平台服务,为用户提供准确、有用的医疗信息和服务,及时处理用户的咨询、投诉和建议。

五、隐私保护

我们非常重视用户的个人信息保护,将严格按照《中华人民共和国个人信息保护法》及其他相关法律法规的规定,处理用户的个人信息。具体信息收集、使用、共享、存储、保护等规则详见《隐私政策》,请您在使用平台服务前仔细阅读。

六、免责声明

1.由于不可抗力(包括但不限于自然灾害、政府行为、网络攻击、病毒侵袭等)或其他不可预见、不可避免的原因,导致平台服务中断、数据丢失或其他异常情况,我们不承担责任,但将尽力减少损失并及时通知用户。

2.对于用户通过平台获取的任何信息内容,仅供参考,不构成具体的医疗诊断或治疗方案。用户应根据自身实际情况,结合专业医生的诊断进行治疗,因用户依据平台信息进行自我诊断或治疗产生的一切后果,由用户自行承担。

3.我们对平台上第三方提供的链接、内容或服务不承担任何责任。用户通过平台访问第三方内容或服务时,应自行注意相关风险,并遵守第三方的相关规定。


愈见昕生


`, + doc3: `

本版本更新日期:    年   月   日

本版本生效日期:    年   月   日


【IgG4-RD患者支持项目“愈见昕生”】(以下简称“本平台”)非常注重保护用户(“您”)的个人信息及隐私。为保障您的合法权益,请您在使用本平台过程中,仔细阅读并确认您已充分理解并同意本知情同意书的所有内容。

一、信息共享目的

本平台旨在为IgG4 相关性疾病(IgG4-RD)患者提供便捷、高效的健康管理服务。将您的个人信息共享给您主动绑定的专属医生,是为了使医生能够更全面、及时地了解您的健康状况,包括但不限于病史、诊断进展、检查项目等。

二、共享信息范围

1.基本个人信息:您注册本平台时填写的姓名、年龄、入组日期。

2.健康档案信息:您在平台上录入的疾病诊断信息、检查检验项目、治疗过程进展、就诊记录等。

三、信息共享主体

仅当您在本平台主动完成专属医生绑定操作后,您的上述个人信息将被共享给您绑定的专属医生。本平台承诺不会将您的个人信息共享给未经您主动绑定的任何第三方。

四、信息接收方的责任与义务

您绑定的专属医生需严格遵守国家相关法律法规及医疗行业规范,对获取的您的个人信息予以保密。在使用您的个人信息时,仅可将其用于为您提供医疗服务相关目的,不得用于任何其他商业或非医疗用途,不得泄露、篡改、损毁您的个人信息。如因专属医生违反相关规定导致您的个人信息泄露或遭受其他损害,其将承担相应的法律责任。

五、您的权利

1.自主选择权:您有权自主决定是否在本平台绑定专属医生,从而决定是否将个人信息进行共享。若您选择不绑定专属医生,您仍可正常使用本平台除与医生信息交互相关的其他功能。

2.信息查询与更正权:您可随时登录本平台,查询已共享给专属医生的个人信息,并对其中存在错误或需要更新的信息进行更正。

3.注销账号:您可以通过本平台提供的“注销账号”功能与医生解绑,账号注销后,专属医生将无法再查看到您的信息。访问路径【我的】-【个人信息】。

六、信息安全保障

本平台高度重视您的个人信息安全,采取了一系列合理且必要的技术与管理措施,包括但不限于数据加密、访问控制等,以防止您的个人信息被泄露、篡改或丢失。

七、其他条款

1.本知情同意书的签订、生效、履行、解释及争议解决均适用中华人民共和国法律。

2.如您在使用本平台过程中与我们就本知情同意书或个人信息共享事宜发生任何争议,双方应首先友好协商解决;协商不成的,任何一方均有权向本平台运营方所在地有管辖权的人民法院提起诉讼。

3.本平台有权根据法律法规的变化、业务发展需求等情况对本知情同意书进行修订。修订后的内容将通过在本平台显著位置发布公告等方式通知您。若您继续使用本平台及相关服务,即视为您已充分阅读、理解并接受修订后的内容。


愈见昕生

`, }, onLoad(options) { this.setData({ diff --git a/src/doctor/components/tabbar/index.ts b/src/doctor/components/tabbar/index.ts index 603a357..2b7c11f 100644 --- a/src/doctor/components/tabbar/index.ts +++ b/src/doctor/components/tabbar/index.ts @@ -10,7 +10,7 @@ Component({ data: { imageUrl: app.globalData.imageUrl, Timestamp: app.globalData.Timestamp, - unReadCount: 0, + unReadCount: app.globalData.doctorUnReadCount || 0, tablist: [ { name: '首页', @@ -32,7 +32,12 @@ Component({ }, lifetimes: { attached() { - this.getList() + this.setData({ unReadCount: app.globalData.doctorUnReadCount || 0 }) + }, + }, + pageLifetimes: { + show() { + this.setData({ unReadCount: app.globalData.doctorUnReadCount || 0 }) }, }, methods: { @@ -44,15 +49,5 @@ Component({ url: tab.path, }) }, - getList() { - wx.ajax({ - method: 'GET', - url: '?r=igg4/doctor/message-interact/get-interact-patient-list', - }).then((res: any) => { - this.setData({ - unReadCount: res.unReadCount, - }) - }) - }, }, }) diff --git a/src/doctor/pages/d_changeDoctor/index.ts b/src/doctor/pages/d_changeDoctor/index.ts index 273c7cf..0dd1521 100644 --- a/src/doctor/pages/d_changeDoctor/index.ts +++ b/src/doctor/pages/d_changeDoctor/index.ts @@ -93,9 +93,9 @@ Page({ url: '/doctor/pages/d_home/index', }) }, - handleLink() { + handleLink(e: any) { wx.navigateTo({ - url: '/doc/pages/doc1/index', + url: e.currentTarget.dataset.url, }) }, handleCheck() { diff --git a/src/doctor/pages/d_changeDoctor/index.wxml b/src/doctor/pages/d_changeDoctor/index.wxml index 9d29b1d..eb6c97d 100644 --- a/src/doctor/pages/d_changeDoctor/index.wxml +++ b/src/doctor/pages/d_changeDoctor/index.wxml @@ -5,7 +5,7 @@ "愈见昕生"是北京白求恩公益基金会发起的 IgG4-RD 患者健康管理平台。 加入平台前,请您仔细阅读 - 《隐私保护协议》 + 《隐私保护协议》 ,了解您的权益及个人信息处理方式。我们将严格依法保护您的个人信息安全。
@@ -36,7 +36,7 @@ 我同意依照此 - 《隐私政策》 + 《隐私政策》 规定收集我的个人敏感信息
diff --git a/src/doctor/pages/d_home/index.ts b/src/doctor/pages/d_home/index.ts index 5ff4593..a571abb 100644 --- a/src/doctor/pages/d_home/index.ts +++ b/src/doctor/pages/d_home/index.ts @@ -37,6 +37,7 @@ Page({ this.getDoctorInfo() this.getDetail() this.getList1_1() + app.setTabbarNoticeMessage() }) }, getDoctorInfo() { @@ -146,6 +147,7 @@ Page({ name: '患者数', type: 'bar', stack: 'a', + barMaxWidth: 40, // 柱子最大不会超过 40px label: { show: true, color: 'rgba(33, 33, 32, 1)', diff --git a/src/doctor/pages/d_home/index.wxml b/src/doctor/pages/d_home/index.wxml index 763b91e..4e8a192 100644 --- a/src/doctor/pages/d_home/index.wxml +++ b/src/doctor/pages/d_home/index.wxml @@ -65,6 +65,6 @@
- + diff --git a/src/doctor/pages/d_interactive/index.ts b/src/doctor/pages/d_interactive/index.ts index b3e92dd..a0983b9 100644 --- a/src/doctor/pages/d_interactive/index.ts +++ b/src/doctor/pages/d_interactive/index.ts @@ -16,6 +16,7 @@ Page({ app.waitLogin().then((_res) => { app.mpBehavior({ doctor: true, PageName: 'PG_DoctorIMList' }) this.getList() + app.setTabbarNoticeMessage() }) }, handleTapSearch() { diff --git a/src/doctor/pages/d_interactive/index.wxml b/src/doctor/pages/d_interactive/index.wxml index f834411..9b578ec 100644 --- a/src/doctor/pages/d_interactive/index.wxml +++ b/src/doctor/pages/d_interactive/index.wxml @@ -48,4 +48,4 @@
- + diff --git a/src/doctor/pages/d_login/index.ts b/src/doctor/pages/d_login/index.ts index bee72e4..ae806b7 100644 --- a/src/doctor/pages/d_login/index.ts +++ b/src/doctor/pages/d_login/index.ts @@ -4,9 +4,10 @@ let timer = null as null | number Page({ data: { popupShow: false, - popupType: 'popup11', + popupType: 'popup10', popupParams: { close: false, + isDoctor: true, } as any, mobile: '', @@ -77,10 +78,11 @@ Page({ } this.setData({ popupShow: true, - popupType: 'popup11', + popupType: 'popup10', popupParams: { close: false, customPhone, + isDoctor: true, }, }) }) @@ -166,7 +168,7 @@ Page({ }, handlePopupOk() { const { popupType } = this.data - if (popupType == 'popup11') { + if (popupType == 'popup10') { this.setData({ check: true, popupShow: false, diff --git a/src/doctor/pages/d_login/index.wxml b/src/doctor/pages/d_login/index.wxml index 4d6e52b..46be374 100644 --- a/src/doctor/pages/d_login/index.wxml +++ b/src/doctor/pages/d_login/index.wxml @@ -47,7 +47,7 @@ 我同意依照此 - 《隐私政策》 + 《隐私保护协议》 规定收集我的个人敏感信息 diff --git a/src/doctor/pages/d_my/index.ts b/src/doctor/pages/d_my/index.ts index 3b0e2b2..1c829bf 100644 --- a/src/doctor/pages/d_my/index.ts +++ b/src/doctor/pages/d_my/index.ts @@ -72,7 +72,7 @@ Page({ this.setData({ toastShow: true, toastType: 'follow', toastParams: { close: true } }) }, handleFeedback() { - this.setData({ toastShow: true, toastType: 'feedback', toastParams: { close: true } }) + this.setData({ toastShow: true, toastType: 'doctor-feedback', toastParams: { close: true } }) }, handleToastClose() { this.setData({ toastShow: false, toastType: '' }) diff --git a/src/doctor/pages/d_my/index.wxml b/src/doctor/pages/d_my/index.wxml index 2f431e8..8c71300 100644 --- a/src/doctor/pages/d_my/index.wxml +++ b/src/doctor/pages/d_my/index.wxml @@ -54,4 +54,4 @@ bind:cancel="handleToastClose" > - + diff --git a/src/doctor/pages/d_patient/index.wxml b/src/doctor/pages/d_patient/index.wxml index 055fe48..a1f6269 100644 --- a/src/doctor/pages/d_patient/index.wxml +++ b/src/doctor/pages/d_patient/index.wxml @@ -37,4 +37,4 @@ - + diff --git a/src/doctor/pages/d_patientDetail/index.scss b/src/doctor/pages/d_patientDetail/index.scss index c9da55e..8e861f1 100644 --- a/src/doctor/pages/d_patientDetail/index.scss +++ b/src/doctor/pages/d_patientDetail/index.scss @@ -60,13 +60,14 @@ page { } } .label { + flex-shrink: 0; + width: 7em; font-size: 36rpx; color: rgba(33, 33, 32, 1); font-weight: bold; } .content { text-align: right; - max-width: 6em; font-size: 36rpx; color: rgba(33, 33, 32, 1); } @@ -92,6 +93,7 @@ page { font-size: 36rpx; color: rgba(22, 121, 203, 1); border: 1px solid rgba(22, 121, 203, 1); + background-color: #fff; } .send { flex: 1; diff --git a/src/doctor/pages/d_patientDetail/index.ts b/src/doctor/pages/d_patientDetail/index.ts index bd1ef45..9ef2427 100644 --- a/src/doctor/pages/d_patientDetail/index.ts +++ b/src/doctor/pages/d_patientDetail/index.ts @@ -240,7 +240,9 @@ Page({ res.DiagnosisTimeRangeName = this.data.diagnosisTimeRangeMap[res.DiagnosisTimeRange] || '' if (res.HealthQA && res.HealthQA.hasSubmitted && res.HealthQA.questions) { res.HealthQA.questions.forEach((q: any) => { - if (Array.isArray(q.AnswerText)) { + q.isAnswerArray = Array.isArray(q.AnswerText) + if (q.isAnswerArray) { + q.AnswerTextArr = q.AnswerText q.AnswerTextStr = q.AnswerText.join('、') + (q.OtherText ? `(${q.OtherText})` : '') } else { q.AnswerTextStr = q.AnswerText + (q.OtherText ? `(${q.OtherText})` : '') diff --git a/src/doctor/pages/d_patientDetail/index.wxml b/src/doctor/pages/d_patientDetail/index.wxml index f9a65f9..16f876e 100644 --- a/src/doctor/pages/d_patientDetail/index.wxml +++ b/src/doctor/pages/d_patientDetail/index.wxml @@ -16,22 +16,18 @@ - - IgG4相关性疾病病程 - {{detail.DiagnosisTimeRangeName}} - - - 疾病阶段 - {{detail.HealthQA.questions[1].AnswerTextStr}} - - - 正在使用的药物 - {{detail.HealthQA.questions[2].AnswerTextStr}} - - - 被确诊受累的器官 - {{detail.HealthQA.questions[0].AnswerTextStr}} - + + + {{item.QuestionContent}} + + {{item.AnswerTextStr}} + + {{ans}}({{item.OtherText}}) + + + 未作答 + + 备注 {{detail.DoctorRemark || '无'}} diff --git a/src/images/1/drug-man-active.png b/src/images/1/drug-man-active.png new file mode 100644 index 0000000..434f0b7 Binary files /dev/null and b/src/images/1/drug-man-active.png differ diff --git a/src/images/1/drug-woman-active.png b/src/images/1/drug-woman-active.png new file mode 100644 index 0000000..bc0d9d7 Binary files /dev/null and b/src/images/1/drug-woman-active.png differ diff --git a/src/images/bg22.png b/src/images/bg22.png index 8b84665..d1fcd2f 100644 Binary files a/src/images/bg22.png and b/src/images/bg22.png differ diff --git a/src/images/bg30.png b/src/images/bg30.png new file mode 100644 index 0000000..372a207 Binary files /dev/null and b/src/images/bg30.png differ diff --git a/src/images/bg31.png b/src/images/bg31.png new file mode 100644 index 0000000..196d4ed Binary files /dev/null and b/src/images/bg31.png differ diff --git a/src/images/bg32.png b/src/images/bg32.png new file mode 100644 index 0000000..7648f98 Binary files /dev/null and b/src/images/bg32.png differ diff --git a/src/images/bg33.png b/src/images/bg33.png new file mode 100644 index 0000000..0b38695 Binary files /dev/null and b/src/images/bg33.png differ diff --git a/src/images/icon86.png b/src/images/icon86.png new file mode 100644 index 0000000..1a49694 Binary files /dev/null and b/src/images/icon86.png differ diff --git a/src/images/icon87.png b/src/images/icon87.png new file mode 100644 index 0000000..3692c78 Binary files /dev/null and b/src/images/icon87.png differ diff --git a/src/images/icon88.png b/src/images/icon88.png new file mode 100644 index 0000000..14f1031 Binary files /dev/null and b/src/images/icon88.png differ diff --git a/src/images/icon89.png b/src/images/icon89.png new file mode 100644 index 0000000..f7df0b6 Binary files /dev/null and b/src/images/icon89.png differ diff --git a/src/images/kkd2.png b/src/images/kkd2.png index 8d74012..d5e2f4e 100644 Binary files a/src/images/kkd2.png and b/src/images/kkd2.png differ diff --git a/src/pages/doctor/index.wxml b/src/pages/doctor/index.wxml index 7c4b035..635b246 100644 --- a/src/pages/doctor/index.wxml +++ b/src/pages/doctor/index.wxml @@ -8,6 +8,7 @@ pid="{{ProvinceId}}" cid="{{CityId}}" cname="{{CityName}}" + theme="{{theme}}" bind:tap="handleTapSite" bind:ok="handleChangeSite" bind:show="handleSiteShareShow" diff --git a/src/pages/enterInfo/index.json b/src/pages/enterInfo/index.json index f7f22ba..247bd83 100644 --- a/src/pages/enterInfo/index.json +++ b/src/pages/enterInfo/index.json @@ -1,5 +1,5 @@ { - "navigationBarTitleText": "", + "navigationBarTitleText": "注册", "navigationStyle": "custom", "disableSwipeBack": true, "usingComponents": { diff --git a/src/pages/enterInfo/index.scss b/src/pages/enterInfo/index.scss index 1626dfe..c950291 100644 --- a/src/pages/enterInfo/index.scss +++ b/src/pages/enterInfo/index.scss @@ -103,7 +103,7 @@ flex: 1; padding: 24rpx 32rpx; height: 40rpx; - font-size: 32rpx; + font-size: 36rpx; color: #222222; background: #f6f6f6; border-radius: 24rpx; @@ -112,7 +112,7 @@ padding: 12rpx 24rpx; opacity: 1; border: 2rpx solid #cccccc; - font-size: 28rpx; + font-size: 36rpx; color: #999999; display: flex; align-items: center; diff --git a/src/pages/enterInfo/index.ts b/src/pages/enterInfo/index.ts index 13a3f6a..f74cb8f 100644 --- a/src/pages/enterInfo/index.ts +++ b/src/pages/enterInfo/index.ts @@ -8,7 +8,6 @@ Page({ gender: '', birth: '', ageRange: '', - diagnosisTimeRange: '', diagnosisTime: '', diagnoseType: '', @@ -58,12 +57,6 @@ Page({ ageRange: id, }) }, - handleSelectDiagnosisTimeRange(e: WechatMiniprogram.CustomEvent) { - const { id } = e.currentTarget.dataset - this.setData({ - diagnosisTimeRange: id, - }) - }, bindChangeDate(e: WechatMiniprogram.CustomEvent) { const { key } = e.currentTarget.dataset this.setData({ @@ -95,13 +88,12 @@ Page({ handleSubmit() { if (this.data.submiting) return app.mpBehavior({ PageName: 'BTN_PATIENTINFONEXT' }) - const { name, gender, ageRange, diagnosisTimeRange, relationType } = this.data + const { name, gender, ageRange, relationType } = this.data const { registrationSource, registChannel, regBusinessId, WorkerId } = app.globalData const { doctorId, inviteChan, recDoctorId: recommendDoctorId } = app.globalData.scene let toast = '' if (!gender) toast = '请选择性别' if (!ageRange) toast = '请选择年龄范围' - if (!diagnosisTimeRange) toast = '请选择确诊时间范围' if (!name) toast = '姓名不能为空' if (toast) { wx.showToast({ title: toast, icon: 'none' }) @@ -121,7 +113,6 @@ Page({ name, gender, ageRange, - diagnosisTimeRange, relationType, registrationSource, registChannel, diff --git a/src/pages/enterInfo/index.wxml b/src/pages/enterInfo/index.wxml index e5e83ed..4437f69 100644 --- a/src/pages/enterInfo/index.wxml +++ b/src/pages/enterInfo/index.wxml @@ -1,9 +1,10 @@ - + + 患者身份 @@ -34,30 +35,6 @@ {{"70 - 79 岁"}} {{"≥80 岁"}} - 从首次确诊IgG4相关性疾病,到现在多久了 - - - 6个月以内 - - - 6个月-3年 - - - 3年以上 - - 输入真实姓名,便于医生识别随访 diff --git a/src/pages/login/index.ts b/src/pages/login/index.ts index 6df9dc7..37c345a 100644 --- a/src/pages/login/index.ts +++ b/src/pages/login/index.ts @@ -111,6 +111,7 @@ Page({ this.setData({ toastShow: true, toastType: 'popup11', + toastParams: { isDoctor: false }, }) }, submitCallback() { diff --git a/src/pages/login/index.wxml b/src/pages/login/index.wxml index 55b292a..2346981 100644 --- a/src/pages/login/index.wxml +++ b/src/pages/login/index.wxml @@ -29,7 +29,9 @@ > 我已阅读并同意 - 《个人信息及隐私协议政策》 + 《用户协议》 + 和 + 《隐私政策》 @@ -48,9 +50,10 @@ data-key="check2" > - 我特此同意依照此 - 《个人信息及隐私保护政策》 - 规定收集我的个人敏感信息 + 我同意依照 + 《隐私政策》 + 《个人信息及隐私保护政策》 + 规定收集和共享我的个人敏感信息 diff --git a/src/pages/personalInformation/index.scss b/src/pages/personalInformation/index.scss index a7d48f9..73d9ed0 100644 --- a/src/pages/personalInformation/index.scss +++ b/src/pages/personalInformation/index.scss @@ -107,7 +107,7 @@ flex: 1; padding: 24rpx 32rpx; height: 40rpx; - font-size: 32rpx; + font-size: 36rpx; color: #222222; background: #f6f6f6; border-radius: 24rpx; @@ -116,7 +116,7 @@ padding: 12rpx 24rpx; opacity: 1; border: 2rpx solid #cccccc; - font-size: 28rpx; + font-size: 36rpx; color: #999999; display: flex; align-items: center; @@ -164,8 +164,8 @@ line-height: 96rpx; border-radius: 16rpx; font-size: 36rpx; - background: #FFFFFF; - box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0,0,0,0.05); + background: #ffffff; + box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.05); color: rgba(34, 34, 34, 1); &.danger { color: rgba(14, 182, 109, 1); @@ -174,3 +174,33 @@ } } } + +#drug-page { + .switch .item { + background: rgba(246, 246, 246, 1); + } + .switch .item.active { + background-color: #fff; + border-color: rgba(89, 86, 233, 1); + .name { + color: rgba(89, 86, 233, 1); + } + } + .row { + .item { + border-color: rgba(246, 246, 246, 1); + background: rgba(246, 246, 246, 1); + } + .active { + border-color: rgba(89, 86, 233, 1); + background-color: #fff; + color: rgba(89, 86, 233, 1); + } + } + .change-phone { + color: rgba(89, 86, 233, 1); + } + .action-btn { + color: rgba(89, 86, 233, 1); + } +} diff --git a/src/pages/personalInformation/index.wxml b/src/pages/personalInformation/index.wxml index 7a9911c..e65af20 100644 --- a/src/pages/personalInformation/index.wxml +++ b/src/pages/personalInformation/index.wxml @@ -1,6 +1,7 @@ + 患者身份 - + 本人 - + 亲友 @@ -26,14 +27,14 @@ diff --git a/src/pages/qaForm/index.json b/src/pages/qaForm/index.json index 0268769..f04fac5 100644 --- a/src/pages/qaForm/index.json +++ b/src/pages/qaForm/index.json @@ -1,4 +1,7 @@ { "navigationBarTitleText": "健康档案", - "usingComponents": {} + "navigationBarBackgroundColor": "#F6F6F6", + "usingComponents": { + "van-icon": "@vant/weapp/icon/index" + } } diff --git a/src/pages/qaForm/index.scss b/src/pages/qaForm/index.scss index 4aa36ee..303c7c0 100644 --- a/src/pages/qaForm/index.scss +++ b/src/pages/qaForm/index.scss @@ -1,150 +1,233 @@ page { - background-color: rgba(246, 246, 246, 1); + background-color: #f6f6f6; } .page { - .page-header { - padding: 32rpx 40rpx; + padding: 32rpx 32rpx 80rpx; + .card { + margin-bottom: 32rpx; + padding: 32rpx; background-color: #fff; - font-size: 36rpx; - color: rgba(34, 34, 34, 1); - } - .progress { - margin: 32rpx 40rpx 0; - display: flex; - gap: 14rpx; - .p-item { - flex: 1; - height: 12rpx; - background-color: #fff; - border-radius: 56rpx; - &.active { - background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); - } - } - } - .question-section { - padding-bottom: 220rpx; - .list-title { - margin: 24rpx 40rpx 0; - font-size: 44rpx; + border-radius: 24rpx; + .c-title { + font-size: 36rpx; color: rgba(34, 34, 34, 1); + font-weight: bold; + } + .tip { + margin-top: 16rpx; + padding: 22rpx 24rpx; + background-color: rgba(248, 248, 248, 1); + border-radius: 16rpx; + font-size: 28rpx; + color: rgba(34, 34, 34, 0.7); } - .list { - margin: 0 40rpx 0; - padding-bottom: 16rpx; - .list-item { - margin-top: 24rpx; - padding: 38rpx 32rpx; - background-color: #fff; - box-sizing: border-box; + .radio-group { + margin-top: 32rpx; + display: grid; + grid-template-columns: repeat(1, 1fr); + gap: 24rpx; + .radio-item { + padding: 32rpx; + background-color: rgba(248, 248, 248, 1); border-radius: 24rpx; display: flex; align-items: center; - gap: 20rpx; - border: 2px solid transparent; + gap: 24rpx; + .radio { + width: 40rpx; + height: 40rpx; + border-radius: 50%; + border: 1px solid rgba(34, 34, 34, 0.2); + } + .content { + font-size: 36rpx; + color: rgba(34, 34, 34, 0.7); + } &.active { - border-color: #0eb66d; - .check-icon { - border: none; - background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); - .icon-inner { - opacity: 1; + .radio { + position: relative; + border-color: rgba(14, 182, 109, 1); + background-color: rgba(14, 182, 109, 1); + &::after { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + content: ''; + width: 20rpx; + height: 20rpx; + border-radius: 50%; + background-color: #fff; } } + .content { + color: rgba(34, 34, 34, 1); + } } - .check-icon { + } + } + .check-group { + margin-top: 32rpx; + display: grid; + gap: 24rpx; + &.col1 { + grid-template-columns: repeat(1, 1fr); + } + &.col2 { + grid-template-columns: repeat(2, 1fr); + } + .check-item { + display: flex; + align-items: center; + gap: 24rpx; + padding: 26rpx 24rpx; + border-radius: 16rpx; + background-color: rgba(248, 248, 248, 1); + .check { flex-shrink: 0; - width: 44rpx; - height: 44rpx; + width: 40rpx; + height: 40rpx; border-radius: 8rpx; - border: 1px solid rgba(187, 187, 187, 1); + border: 1px solid rgba(34, 34, 34, 0.2); display: flex; align-items: center; justify-content: center; - box-sizing: border-box; - .icon-inner { - width: 22rpx; - height: 12rpx; - border-left: 4rpx solid #fff; - border-bottom: 4rpx solid #fff; - transform: rotate(-45deg) translate(2rpx, -4rpx); - opacity: 0; + .icon { + display: none; } } .content { - font-size: 40rpx; + font-size: 36rpx; color: rgba(34, 34, 34, 1); } + &.active { + .check { + border-color: rgba(14, 182, 109, 1); + background-color: rgba(14, 182, 109, 1); + .icon { + color: #fff; + display: block; + } + } + } } } - .other-section { - margin: 24rpx 40rpx 0; - .other-input { - width: 100%; - padding: 24rpx 32rpx; - background-color: #fff; - border-radius: 24rpx; - box-sizing: border-box; + .date { + margin-top: 32rpx; + padding: 28rpx 32rpx; + display: flex; + align-items: center; + justify-content: space-between; + background-color: rgba(246, 246, 246, 1); + border-radius: 16rpx; + gap: 20rpx; + color: rgba(34, 34, 34, 0.2); + .icon { + flex-shrink: 0; + width: 40rpx; + height: 40rpx; + } + .content { + flex: 1; font-size: 36rpx; - color: rgba(34, 34, 34, 1); - min-height: 120rpx; + color: rgba(34, 34, 34, 0.7); + &.active { + color: rgba(34, 34, 34, 1); + } } } - } - .footer { - position: fixed; - bottom: 0; - left: 0; - box-sizing: border-box; - padding: 32rpx 40rpx 40rpx; - background-color: #fff; - width: 100%; - display: flex; - gap: 30rpx; - box-shadow: 0 -10rpx 10rpx rgba(204, 204, 204, 0.3); - .prev { - flex: 1; - height: 96rpx; + .textarea { + margin-top: 32rpx; + padding: 26rpx 32rpx; + background-color: rgba(248, 248, 248, 1); + border-radius: 24rpx; + min-height: 160rpx; + width: 100%; box-sizing: border-box; - border: 1px solid rgba(14, 182, 109, 1); - font-size: 40rpx; - border-radius: 12rpx; - color: rgba(14, 182, 109, 1); - display: flex; - align-items: center; - justify-content: center; + font-size: 32rpx; + color: rgba(34, 34, 34, 1); } - .next { - flex: 1; - height: 96rpx; - box-sizing: border-box; - font-size: 40rpx; - border-radius: 12rpx; - color: #fff; - background: linear-gradient(0deg, rgba(14, 182, 109, 1), rgba(0, 210, 119, 1)); + .input { + margin-top: 32rpx; + padding: 26rpx 32rpx; + background-color: rgba(248, 248, 248, 1); + border-radius: 24rpx; + } + .place-input { + color: rgba(34, 34, 34, 0.4); + } + .image-group { + margin-top: 32rpx; display: flex; - align-items: center; - justify-content: center; + flex-wrap: wrap; + gap: 20rpx; + .image-item { + position: relative; + width: 200rpx; + height: 200rpx; + .img { + width: 100%; + height: 100%; + border-radius: 16rpx; + } + .del { + position: absolute; + top: -12rpx; + right: -12rpx; + width: 44rpx; + height: 44rpx; + background-color: rgba(0, 0, 0, 0.5); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 24rpx; + } + } + .image-add { + width: 200rpx; + height: 200rpx; + background-color: rgba(248, 248, 248, 1); + border-radius: 16rpx; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 12rpx; + .add-icon { + font-size: 56rpx; + color: rgba(34, 34, 34, 0.3); + } + .add-text { + font-size: 24rpx; + color: rgba(34, 34, 34, 0.4); + } + } } } + .submit { + height: 96rpx; + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); + border-radius: 16rpx; + font-size: 40rpx; + color: rgba(255, 255, 255, 1); + } } #drug-page { - .p-item.active { - background: linear-gradient(270deg, #b384f4 0%, #5956e9 100%); - } - .list-item.active { + .radio-item.active .radio { border-color: rgba(89, 86, 233, 1); - .check-icon { - border-color: transparent; - background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%); - } + background-color: rgba(89, 86, 233, 1); } - .prev { + .check-item.active .check { border-color: rgba(89, 86, 233, 1); - color: rgba(89, 86, 233, 1); + background-color: rgba(89, 86, 233, 1); } - .next { - background: linear-gradient(90deg, #b384f4 0%, #5956e9 100%); + .submit { + background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%); } } diff --git a/src/pages/qaForm/index.ts b/src/pages/qaForm/index.ts index a1be539..5790fa5 100644 --- a/src/pages/qaForm/index.ts +++ b/src/pages/qaForm/index.ts @@ -5,23 +5,33 @@ interface IOption { value: string } +interface ICondition { + questionNo: number + values: number[] +} + interface IQuestion { QuestionNo: number QuestionContent: string QuestionType: number HasOther: number + Description: string + Columns: number Options: Record - Answer: number[] | number - OtherText: string optionList: IOption[] + Answer: any + OtherText: string + DateValue: string + TextValue: string + Images: any[] + Condition: ICondition | null + visible: boolean + displayNo: number } Page({ data: { - currentIndex: 0, questions: [] as IQuestion[], - hasSubmitted: false, - latestSubmitTime: '', isSubmitting: false, backPage: '', }, @@ -30,136 +40,232 @@ Page({ this.setData({ backPage: options.backPage || '', }) - app.waitLogin().then(() => { - this.getQuestionnaire() + app.waitLogin({}).then(() => { + this.loadQuestionnaire() }) }, - getQuestionnaire() { + loadQuestionnaire() { wx.ajax({ method: 'GET', - url: '?r=igg4/health-question/get-patient-questionnaire', + url: '?r=igg4/health-question/questionnaire-list', data: {}, - }).then((res: any) => { - const questions: IQuestion[] = (res.questions || []).map((q: any) => { + }).then((questionRes: any) => { + const questionList = questionRes.questions || questionRes.list || [] + const questions: IQuestion[] = (Array.isArray(questionList) ? questionList : []).map((q: any) => { const optionList: IOption[] = Object.entries(q.Options || {}).map(([key, value]) => ({ key, value: value as string, })) - let Answer: number[] | number = q.QuestionType === 2 ? [] : 0 - let OtherText = '' - if (q.Answer !== undefined && q.Answer !== null) { - Answer = q.Answer - OtherText = q.OtherText || '' + let condition: ICondition | null = null + if (q.Condition && q.Condition.questionNo) { + condition = { + questionNo: q.Condition.questionNo, + values: q.Condition.values || [], + } } return { QuestionNo: q.QuestionNo, QuestionContent: q.QuestionContent, QuestionType: q.QuestionType, - HasOther: q.HasOther, - Options: q.Options, - Answer, - OtherText, + HasOther: q.HasOther || 0, + Description: q.Description || '', + Columns: q.QuestionNo == 2 ? 2 : 1, + Options: q.Options || {}, optionList, + Answer: q.QuestionType === 2 ? [] : '', + OtherText: '', + DateValue: '', + TextValue: '', + Images: [], + Condition: condition, + visible: !condition, + displayNo: 0, } }) - this.setData({ - questions, - hasSubmitted: res.hasSubmitted || false, - latestSubmitTime: res.latestSubmitTime || '', + this.setData({ questions }) + this.updateVisibility() + this.loadAnswers() + }) + }, + + loadAnswers() { + wx.ajax({ + method: 'GET', + url: '?r=igg4/health-question/get-patient-questionnaire', + data: {}, + }).then((res: any) => { + const answers = res.questions || [] + if (!answers.length) return + const questions = this.data.questions + const updates: Record = {} + questions.forEach((q, i) => { + const found = answers.find((a: any) => a.QuestionNo === q.QuestionNo) + if (!found) return + const answer = found.Answer + if (answer === null || answer === undefined) return + if (q.QuestionType === 1) { + updates[`questions[${i}].Answer`] = Number(answer) + } else if (q.QuestionType === 2) { + const arr = Array.isArray(answer) ? answer : String(answer).split(',').map(Number) + updates[`questions[${i}].Answer`] = arr + } else if (q.QuestionType === 3) { + updates[`questions[${i}].DateValue`] = answer + updates[`questions[${i}].Answer`] = answer + } else if (q.QuestionType === 4) { + updates[`questions[${i}].TextValue`] = answer + updates[`questions[${i}].Answer`] = answer + } else if (q.QuestionType === 5) { + const imgs = Array.isArray(answer) ? answer : [] + updates[`questions[${i}].Images`] = imgs + updates[`questions[${i}].Answer`] = imgs + } + if (found.OtherText) { + updates[`questions[${i}].OtherText`] = found.OtherText + } }) + if (Object.keys(updates).length) { + this.setData(updates) + } + this.updateVisibility() + }) + }, + + updateVisibility() { + const { questions } = this.data + const updates: Record = {} + let no = 0 + questions.forEach((q, i) => { + let visible = true + if (q.Condition) { + const parentQ = questions.find((p) => p.QuestionNo === q.Condition.questionNo) + if (parentQ) { + if (parentQ.QuestionType === 2 && Array.isArray(parentQ.Answer)) { + visible = q.Condition.values.some((v) => parentQ.Answer.includes(v)) + } else { + visible = q.Condition.values.includes(Number(parentQ.Answer)) + } + } else { + visible = false + } + } + if (q.visible !== visible) { + updates[`questions[${i}].visible`] = visible + } + if (visible) no++ + if (q.displayNo !== no) { + updates[`questions[${i}].displayNo`] = no + } }) + if (Object.keys(updates).length) { + this.setData(updates) + } }, - handleSelect(e: any) { - const { key } = e.currentTarget.dataset - const { currentIndex, questions } = this.data - const question = questions[currentIndex] + handleRadioSelect(e: any) { + const { index, key } = e.currentTarget.dataset const numKey = Number(key) + this.setData({ + [`questions[${index}].Answer`]: numKey, + }) + this.updateVisibility() + }, - if (question.QuestionType === 2) { - let answer = [...(question.Answer as number[])] - const idx = answer.indexOf(numKey) - if (idx > -1) { - answer.splice(idx, 1) - } else { - answer.push(numKey) - } - this.setData({ - [`questions[${currentIndex}].Answer`]: answer, - }) + handleCheckSelect(e: any) { + const { index, key } = e.currentTarget.dataset + const numKey = Number(key) + const answer = [...this.data.questions[index].Answer] + const idx = answer.indexOf(numKey) + if (idx > -1) { + answer.splice(idx, 1) } else { - this.setData({ - [`questions[${currentIndex}].Answer`]: numKey, - }) + answer.push(numKey) } + this.setData({ + [`questions[${index}].Answer`]: answer, + }) + this.updateVisibility() }, - handleOtherInput(e: any) { - const { currentIndex } = this.data + handleDateChange(e: any) { + const { index } = e.currentTarget.dataset this.setData({ - [`questions[${currentIndex}].OtherText`]: e.detail.value, + [`questions[${index}].DateValue`]: e.detail.value, + [`questions[${index}].Answer`]: e.detail.value, }) + this.updateVisibility() }, - handlePrev() { - const { currentIndex } = this.data - if (currentIndex > 0) { - this.setData({ - currentIndex: currentIndex - 1, - }) - } + handleTextInput(e: any) { + const { index } = e.currentTarget.dataset + this.setData({ + [`questions[${index}].TextValue`]: e.detail.value, + [`questions[${index}].Answer`]: e.detail.value, + }) }, - handleNext() { - const { currentIndex, questions } = this.data - const question = questions[currentIndex] - if (!this.validateQuestion(question)) return + handleOtherInput(e: any) { + const { index } = e.currentTarget.dataset + this.setData({ + [`questions[${index}].OtherText`]: e.detail.value, + }) + }, - if (currentIndex < questions.length - 1) { - this.setData({ - currentIndex: currentIndex + 1, - }) - } else { - this.handleSubmit() - } + handleImageUpload(e: any) { + const { index } = e.currentTarget.dataset + const that = this + wx.chooseMedia({ + count: 9 - that.data.questions[index].Images.length, + mediaType: ['image'], + sourceType: ['album', 'camera'], + success(res) { + const newImages = [...that.data.questions[index].Images] + res.tempFiles.forEach((file: any) => { + newImages.push({ url: file.tempFilePath, name: 'image.jpg' }) + }) + that.setData({ + [`questions[${index}].Images`]: newImages, + [`questions[${index}].Answer`]: newImages, + }) + }, + }) }, - validateQuestion(question: IQuestion): boolean { - if (question.QuestionType === 2) { - const answer = question.Answer as number[] - if (!answer || !answer.length) { - wx.showToast({ title: '请至少选择一项', icon: 'none' }) - return false - } - if (answer.includes(99) && !question.OtherText.trim()) { - wx.showToast({ title: '请填写其他内容', icon: 'none' }) - return false - } - } else { - const answer = question.Answer as number - if (!answer) { - wx.showToast({ title: '请选择一项', icon: 'none' }) - return false - } - if (answer === 99 && !question.OtherText.trim()) { - wx.showToast({ title: '请填写其他内容', icon: 'none' }) - return false - } - } - return true + handleImageDelete(e: any) { + const { index, imgindex } = e.currentTarget.dataset + const images = [...this.data.questions[index].Images] + images.splice(imgindex, 1) + this.setData({ + [`questions[${index}].Images`]: images, + [`questions[${index}].Answer`]: images, + }) + }, + + hasAnswer(q: IQuestion): boolean { + if (q.QuestionType === 1) return !!q.Answer || q.Answer === 0 + if (q.QuestionType === 2) return Array.isArray(q.Answer) && q.Answer.length > 0 + if (q.QuestionType === 3) return !!q.DateValue + if (q.QuestionType === 4) return !!q.TextValue && q.TextValue.trim().length > 0 + if (q.QuestionType === 5) return Array.isArray(q.Images) && q.Images.length > 0 + return false }, handleSubmit() { const { questions, isSubmitting } = this.data if (isSubmitting) return - const answers = questions.map((q) => { + const answeredQuestions = questions.filter((q) => q.visible && this.hasAnswer(q)) + if (!answeredQuestions.length) { + wx.showToast({ title: '请至少回答一个问题', icon: 'none' }) + return + } + + const answers = answeredQuestions.map((q) => { const item: any = { questionNo: q.QuestionNo, answer: q.Answer, } - if (q.HasOther === 1 && q.OtherText) { + if (q.OtherText) { item.otherText = q.OtherText } return item @@ -173,15 +279,20 @@ Page({ loading: true, }) .then(() => { - wx.showToast({ title: '提交成功', icon: 'success' }) - const { backPage } = this.data - setTimeout(() => { - if (backPage) { - wx.reLaunch({ url: decodeURIComponent(backPage) }) - } else { - wx.navigateBack() - } - }, 1500) + app.startLogin().then(() => { + app.getUserInfo(this, true, () => { + app.getTheme().then((res) => { + this.setData({ theme: res }) + wx.showToast({ title: '提交成功', icon: 'success' }) + const { backPage } = this.data + if (backPage) { + wx.reLaunch({ url: decodeURIComponent(backPage) }) + } else { + wx.navigateBack() + } + }) + }) + }) }) .finally(() => { this.setData({ isSubmitting: false }) diff --git a/src/pages/qaForm/index.wxml b/src/pages/qaForm/index.wxml index 6ad98bb..bad1398 100644 --- a/src/pages/qaForm/index.wxml +++ b/src/pages/qaForm/index.wxml @@ -1,45 +1,115 @@ - 您好!为了更好地了解您的病情,请您完成以下{{questions.length}}个简单问题,便于医生评估您的近期状况: - - - + + + {{item.displayNo}}. {{item.QuestionContent}} + {{item.Description}} - - - {{question.QuestionContent}} - + + - - + + {{opt.value}} + + + + + + + + + - {{item.value}} + {{opt.value}} - - + + + + + + + {{item.DateValue || '请选择时间'}} + + + + + + + + + + + + + + + + + + 添加图片 + - - - 上一步 - {{currentIndex === questions.length - 1 ? '完成' : '继续'}} - + 提交 diff --git a/src/pages/signIn/index.json b/src/pages/signIn/index.json index e1192b3..d0fc987 100644 --- a/src/pages/signIn/index.json +++ b/src/pages/signIn/index.json @@ -2,6 +2,6 @@ "navigationStyle": "custom", "usingComponents": { "navBar": "/components/navBar/navBar", - "van-icon": "@vant/weapp/icon/index" + "van-icon": "@vant/weapp/icon/index" } } diff --git a/src/pages/signIn/index.scss b/src/pages/signIn/index.scss index 0a5de46..9ddfa53 100644 --- a/src/pages/signIn/index.scss +++ b/src/pages/signIn/index.scss @@ -64,3 +64,9 @@ page { justify-content: center; } } + +#drug-page{ + .submit{ + background: linear-gradient(270deg, #5956E9 0%, #B384F4 100%); + } +} diff --git a/src/pages/signIn/index.ts b/src/pages/signIn/index.ts index 3e99f12..0545046 100644 --- a/src/pages/signIn/index.ts +++ b/src/pages/signIn/index.ts @@ -42,6 +42,7 @@ Page({ }).then(() => { wx.showToast({ icon: 'none', title: '保存成功' }) app.getUserInfo(this, true) + wx.navigateBack() }) }, handleBack() { diff --git a/src/pages/signIn/index.wxml b/src/pages/signIn/index.wxml index 5f8f17c..675dae8 100644 --- a/src/pages/signIn/index.wxml +++ b/src/pages/signIn/index.wxml @@ -1,16 +1,16 @@ - + 我的本次就诊时间 - + {{currentVisitDate || '请选择'}} @@ -18,7 +18,7 @@ 我的下次就诊时间 - + {{nextVisitDate || '请选择'}} diff --git a/src/public/pages/informedStart/index.ts b/src/public/pages/informedStart/index.ts index 4410a3b..de12f74 100644 --- a/src/public/pages/informedStart/index.ts +++ b/src/public/pages/informedStart/index.ts @@ -31,9 +31,9 @@ Page({ wx.hideLoading() }) }, - handleLink1() { + handleLink1(e: any) { wx.navigateTo({ - url: '/doc/pages/doc1/index', + url: e.currentTarget.dataset.url, }) }, handleCheck() { diff --git a/src/public/pages/informedStart/index.wxml b/src/public/pages/informedStart/index.wxml index 3ec3d80..4d9a101 100644 --- a/src/public/pages/informedStart/index.wxml +++ b/src/public/pages/informedStart/index.wxml @@ -16,9 +16,9 @@ 愈见昕生是中国罕见病联盟/北京罕见病诊疗与保障学会发起的gMG患者健康全程管理平台; 在您加入愈见昕生平台之前,请您阅读并充分理解 - 《隐私协议保护政策》 + 《隐私协议保护政策》 ,了解您的权益及相关数据处理方法,我们将严格按照法律法规及 - 《隐私协议保护政策》 + 《隐私协议保护政策》 的相关规定,保证您的个人信息不受侵犯。 @@ -26,7 +26,7 @@ 我特此同意依照此 - 《隐私协议保护政策》 + 《隐私协议保护政策》 规定收集我的个人敏感信息 diff --git a/typings/index.d.ts b/typings/index.d.ts index 2b204f6..b7e0f5c 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -69,7 +69,7 @@ interface IAppOption { getCode: () => Promise doLogin: () => Promise waitLogin: (obj?: { isReg?: boolean; loginPage?: boolean; pub?: boolean }) => Promise - startLogin: () => void + startLogin: () => Promise getUserInfo: (self?, update?: boolean, callback?: (userinfo) => void) => void mpBehavior: (data: { PageName: string; doctor?: boolean }) => void globalSystemInfo?: globalSystemInfo diff --git a/健康档案-接口文档.md b/健康档案-接口文档.md new file mode 100644 index 0000000..9deb17b --- /dev/null +++ b/健康档案-接口文档.md @@ -0,0 +1,9 @@ +# 健康问卷问题 + +{"target_id":"d41445e2-ce89-4300-ad6c-763538701281","user_id":223104,"recent_user_id":223104,"project_id":"1460f681-044b-4f46-b62f-193b91174404","local_target_id":"d41445e2-ce89-4300-ad6c-763538701281","local_parent_id":"6053d1c2-b278-446e-9a73-986ea84d9ea7","mark":"developing","target_type":"api","example_type":"0","name":"健康问卷问题","method":"GET","sort":14,"status":1,"create_dtime":1779076063,"update_dtime":"2026-05-21 10:23:11","local_server_id":"","extend_server_id":"","extend_server_data":null,"local_server_data":null,"modifier_id":"UUSO6D8EE7AB","created_uuid":"UUSO6D8EE7AB","create_users":{"create_user":"charlie","update_user":"charlie"},"attribute_info":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","request":{"url":"https://m.igg4.hbraas.com/?r=igg4/health-question/questionnaire-list","description":"","body":{"mode":"none","parameter":[],"raw":"","raw_para":[],"raw_schema":{"type":"object"}},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"","is_checked":1,"key":"r","type":"Text","not_null":1,"field_type":"String","value":"igg4/health-question/questionnaire-list","key_var":"","value_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"https://{{m}}/?r=igg4/health-question/questionnaire-list"},"response":{"success":{"raw":"{\n\t\"code\": 0,\n\t\"data\": {\n\t\t\"questions\": [\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 1,\n\t\t\t\t\"QuestionContent\": \"您首次发病的时间\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 3,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 2,\n\t\t\t\t\"QuestionContent\": \"您首次发病的部位\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 2,\n\t\t\t\t\"HasOther\": 1,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"OptionsNeedText\": [\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"淋巴结\",\n\t\t\t\t\t\"2\": \"颌下腺\",\n\t\t\t\t\t\"3\": \"泪腺\",\n\t\t\t\t\t\"4\": \"胰腺\",\n\t\t\t\t\t\"5\": \"肺\",\n\t\t\t\t\t\"6\": \"胆管\",\n\t\t\t\t\t\"7\": \"鼻窦\",\n\t\t\t\t\t\"8\": \"腮腺\",\n\t\t\t\t\t\"9\": \"腹膜后组织\",\n\t\t\t\t\t\"10\": \"大动脉\",\n\t\t\t\t\t\"11\": \"肾脏\",\n\t\t\t\t\t\"12\": \"皮肤\",\n\t\t\t\t\t\"13\": \"甲状腺\",\n\t\t\t\t\t\"14\": \"垂体\",\n\t\t\t\t\t\"15\": \"硬脑膜/硬脊膜\",\n\t\t\t\t\t\"16\": \"心包和纵隔\",\n\t\t\t\t\t\"99\": \"其他\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 3,\n\t\t\t\t\"QuestionContent\": \"您是否已确诊lgG4相关性疾病\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 1,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"是,已确诊\",\n\t\t\t\t\t\"2\": \"否,未确诊\",\n\t\t\t\t\t\"3\": \"不确定\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 5,\n\t\t\t\t\"QuestionContent\": \"从您第一次被诊断为IgG4相关性疾病,到现在大概多久了?\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 1,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"6个月以内\",\n\t\t\t\t\t\"2\": \"6个月-3年\",\n\t\t\t\t\t\"3\": \"3年以上\"\n\t\t\t\t},\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 3,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t1\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 4,\n\t\t\t\t\"QuestionContent\": \"您目前正在使用的药物有哪些?\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 2,\n\t\t\t\t\"HasOther\": 1,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"OptionsNeedText\": [\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"没有使用激素\",\n\t\t\t\t\t\"2\": \"激素\",\n\t\t\t\t\t\"3\": \"免疫抑制剂\",\n\t\t\t\t\t\"4\": \"靶向CD19生物制剂(伊奈利珠单抗)\",\n\t\t\t\t\t\"5\": \"靶向CD20生物制剂(利妥昔单抗等)\",\n\t\t\t\t\t\"99\": \"其他\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 6,\n\t\t\t\t\"QuestionContent\": \"您最近一周,每日激素使用剂量\",\n\t\t\t\t\"Description\": \"此处按醋酸泼尼松片用量计算,每片为5mg,若其他激素药物根据规格做等量换算,如5mg醋酸泼尼松=4mg甲泼尼龙*\",\n\t\t\t\t\"QuestionType\": 4,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 4,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t2\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 7,\n\t\t\t\t\"QuestionContent\": \"您正在使用的免疫抑制剂名称\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 2,\n\t\t\t\t\"HasOther\": 1,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"OptionsNeedText\": [\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 4,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t3\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"吗替麦考酚酯\",\n\t\t\t\t\t\"2\": \"硫唑嘌呤\",\n\t\t\t\t\t\"3\": \"环磷酰胺\",\n\t\t\t\t\t\"4\": \"来氟米特\",\n\t\t\t\t\t\"5\": \"甲氨蝶呤\",\n\t\t\t\t\t\"6\": \"环孢素A\",\n\t\t\t\t\t\"7\": \"他克莫司\",\n\t\t\t\t\t\"8\": \"艾拉莫德\",\n\t\t\t\t\t\"99\": \"其他\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 8,\n\t\t\t\t\"QuestionContent\": \"请上传您的处方证明\",\n\t\t\t\t\"Description\": \"完善个人信息,可获得【医生】更多关注\",\n\t\t\t\t\"QuestionType\": 5,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 4,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t3\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}","parameter":[{"key":"code","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data","value":"","description":"","not_null":1,"field_type":"Object","type":"Object","is_checked":1},{"key":"data.questions","value":"","description":"问题列表","not_null":1,"field_type":"Array","type":"Text","is_checked":1},{"key":"data.questions.QuestionNo","value":"1","description":"问题序号","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.questions.QuestionContent","value":"您首次发病的时间","description":"问题","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.Description","value":"","description":"问题说明","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.QuestionType","value":"3","description":"类型 1-单选,2-多选,3-日期,4-文本,5-图片","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.questions.HasOther","value":"0","description":"是否有其他选项 1-有 0-没有","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.questions.Required","value":"0","description":"答案可否为空 0-可以为空,1-不能为空","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"description":"需要填写文本的选项值","field_type":"Array","is_checked":1,"key":"data.questions.OptionsNeedText","value":"","not_null":1,"type":"Text"},{"description":"选项值","field_type":"String","is_checked":1,"key":"data.questions.Options","value":"","not_null":1,"type":"Text"},{"description":"此问题出现的条件","field_type":"Object","is_checked":1,"key":"data.questions.Condition","value":"","not_null":1,"type":"Text"},{"description":"问题序号","field_type":"Integer","is_checked":1,"key":"data.questions.Condition.QuestionNo","value":"","not_null":1,"type":"Text"},{"description":"问题选项值","field_type":"Array","is_checked":1,"key":"data.questions.Condition.values","value":"","not_null":1,"type":"Text"}],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"6053d1c2-b278-446e-9a73-986ea84d9ea7"} + +# 提交健康问卷 +{"target_id":"65ed2ac8-5f37-4d2b-ac37-56082e895fdf","user_id":223104,"recent_user_id":223104,"project_id":"1460f681-044b-4f46-b62f-193b91174404","local_target_id":"65ed2ac8-5f37-4d2b-ac37-56082e895fdf","local_parent_id":"6053d1c2-b278-446e-9a73-986ea84d9ea7","mark":"developing","target_type":"api","example_type":"0","name":"提交健康问卷","method":"POST","sort":15,"status":1,"create_dtime":1779078955,"update_dtime":"2026-05-21 09:49:07","local_server_id":"","extend_server_id":"","extend_server_data":null,"local_server_data":null,"modifier_id":"UUSO6D8EE7AB","created_uuid":"UUSO6D8EE7AB","create_users":{"create_user":"charlie","update_user":"charlie"},"attribute_info":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","request":{"url":"https://m.igg4.hbraas.com/?r=igg4/health-question/submit-questionnaire","description":"## 不同问题类型的提交格式\n\n### 提交接口\n\n**接口地址**: `POST igg4/health-question/submit-questionnaire`\n\n**通用格式**:\n```json\n{\n \"answers\": [\n {\n \"questionNo\": 1,\n \"answer\": \"答案值\",\n \"otherText\": \"额外说明文本\"\n }\n ]\n}\n```\n\n### 各类型详细格式\n\n| 类型 | 问题类型编号 | answer 格式 | 示例 |\n|------|-------------|-------------|------|\n| **单选** | 1 | 数字或对象 | `2` 或 `{\"value\": 2, \"text\": \"说明\"}` |\n| **多选** | 2 | 对象数组 | `[{\"value\": 1, \"text\": \"说明1\"}, {\"value\": 2, \"text\": \"说明2\"}]` |\n| **日期** | 3 | 字符串 | `\"2024-01-15\"` |\n| **文本** | 4 | 字符串 | `\"具体症状描述\"` |\n| **图片** | 5 | 对象数组 | `[{\"url\": \"/uploads/1.jpg\", \"name\": \"报告1.jpg\"}]` |\n\n### 详细示例\n\n#### 1. 单选题(Simple格式)\n```json\n{\n \"questionNo\": 2,\n \"answer\": 1,\n \"otherText\": \"\"\n}\n```\n\n#### 2. 单选题(带文本说明)\n```json\n{\n \"questionNo\": 2,\n \"answer\": {\"value\": 2, \"text\": \"复发日期是2024年3月\"},\n \"otherText\": \"\"\n}\n```\n\n#### 3. 多选题(每个选项带文本说明)\n```json\n{\n \"questionNo\": 1,\n \"answer\": [\n {\"value\": 1, \"text\": \"左眼视力下降明显\"},\n {\"value\": 3, \"text\": \"口干明显,需要频繁喝水\"},\n {\"value\": 99, \"text\": \"皮肤瘙痒\"}\n ],\n \"otherText\": \"\"\n}\n```\n\n#### 4. 多选题(部分选项带文本说明)\n```json\n{\n \"questionNo\": 4,\n \"answer\": [\n {\"value\": 2, \"text\": \"泼尼松 10mg/天\"},\n 3,\n {\"value\": 4, \"text\": \"利妥昔单抗 500mg\"}\n ],\n \"otherText\": \"\"\n}\n```\n\n#### 5. 日期题\n```json\n{\n \"questionNo\": 3,\n \"answer\": \"2024-03-15\",\n \"otherText\": \"\"\n}\n```\n\n#### 6. 文本题\n```json\n{\n \"questionNo\": 6,\n \"answer\": \"患者报告近一个月出现持续性疲劳,伴有轻微关节疼痛\",\n \"otherText\": \"\"\n}\n```\n\n#### 7. 图片上传题\n```json\n{\n \"questionNo\": 8,\n \"answer\": [\n {\"url\": \"/uploads/reports/blood_test.jpg\", \"name\": \"血常规检查.jpg\"},\n {\"url\": \"/uploads/reports/liver_scan.jpg\", \"name\": \"肝脏B超.jpg\"}\n ],\n \"otherText\": \"\"\n}\n```\n\n### 完整提交示例\n\n```json\nPOST health-question/submit-questionnaire\n{\n \"answers\": [\n {\n \"questionNo\": 1,\n \"answer\": [\n {\"value\": 3, \"text\": \"左眼视力下降\"},\n {\"value\": 8, \"text\": \"口干明显\"}\n ],\n \"otherText\": \"\"\n },\n {\n \"questionNo\": 2,\n \"answer\": 2,\n \"otherText\": \"\"\n },\n {\n \"questionNo\": 3,\n \"answer\": \"2024-03-01\",\n \"otherText\": \"\"\n },\n {\n \"questionNo\": 4,\n \"answer\": [\n {\"value\": 2, \"text\": \"泼尼松 15mg/天\"},\n {\"value\": 3, \"text\": \"环孢素 50mg bid\"}\n ],\n \"otherText\": \"\"\n },\n {\n \"questionNo\": 5,\n \"answer\": 2,\n \"otherText\": \"\"\n },\n {\n \"questionNo\": 6,\n \"answer\": [\n {\"value\": 1, \"text\": \"轻度疲劳,可以正常活动\"},\n {\"value\": 3, \"text\": \"右膝关节偶尔疼痛\"}\n ],\n \"otherText\": \"\"\n },\n {\n \"questionNo\": 7,\n \"answer\": \"2024-04-10\",\n \"otherText\": \"\"\n },\n {\n \"questionNo\": 8,\n \"answer\": [\n {\"url\": \"/uploads/reports/lab_20240415.jpg\", \"name\": \"实验室检查.jpg\"}\n ],\n \"otherText\": \"\"\n }\n ]\n}\n```","body":{"mode":"json","parameter":[],"raw":"{\r\n \"answers\": [\r\n {\r\n \"questionNo\": 1,\r\n \"answer\": \"2024-03-01\"\r\n },\r\n {\r\n \"questionNo\": 2,\r\n \"answer\": [2,3,99],\r\n \"otherText\": \"肚子\"\r\n },\r\n {\r\n \"questionNo\": 3,\r\n \"answer\": 3\r\n },\r\n {\r\n \"questionNo\": 4,\r\n \"answer\": [\r\n 2,3,4,99\r\n ],\r\n \"otherText\": \"呵呵yaowu\"\r\n },\r\n {\r\n \"questionNo\": 7,\r\n \"answer\": [\r\n {\"value\": 1},\r\n {\"value\": 3},99\r\n ],\r\n \"otherText\": \"qitazhiji\"\r\n },\r\n {\r\n \"questionNo\": 8,\r\n \"answer\": [\r\n {\"url\": \"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/33625fb3874133ce08e8bb79eba10d2e_17790889563616.png\"}\r\n ],\r\n \"otherText\": \"\"\r\n }\r\n ]\r\n}","raw_para":[{"key":"answers","value":"","description":"","not_null":1,"field_type":"Array","type":"Text","is_checked":1},{"key":"answers.questionNo","value":"1","description":"问题号","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"answers.answer","value":"1","description":"答案 多选为数组,单选为数字,日期为时间,图片为图片url对象数组","not_null":1,"field_type":"Array","type":"Text","is_checked":1},{"description":"答案 其他文本","field_type":"String","is_checked":1,"key":"answers.otherText","value":"","not_null":1,"type":"Text"}],"raw_schema":{"type":"object"}},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"","is_checked":1,"key":"r","type":"Text","not_null":1,"field_type":"String","value":"igg4/health-question/submit-questionnaire","key_var":"","value_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"https://{{m}}/?r=igg4/health-question/submit-questionnaire"},"response":{"success":{"raw":"{\n\t\"code\": 0,\n\t\"data\": {\n\t\t\"UserId\": \"4\",\n\t\t\"PatientId\": 1,\n\t\t\"PatientName\": \"查处\",\n\t\t\"AuditStatus\": 0,\n\t\t\"UserType\": 3,\n\t\t\"RelationType\": 1,\n\t\t\"UserImg\": \"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/2e344a04caa95332ca809ec487325915_16888035774582.png\",\n\t\t\"Telephone\": \"18513583927\",\n\t\t\"EntryThreePeriod\": 0,\n\t\t\"EntryFourPeriod\": 0,\n\t\t\"MedicineAuditSwitch\": \"0\",\n\t\t\"has7DayAdl\": 0,\n\t\t\"isFollow\": 0,\n\t\t\"isShowFollowGuide\": 1,\n\t\t\"UserRegTime\": \"2026-05-12 10:24:39\",\n\t\t\"AdlNotifySwitch\": 1,\n\t\t\"OpenTraining\": 0,\n\t\t\"IsRootUser\": 1,\n\t\t\"AgeYear\": 0,\n\t\t\"AgeMonth\": 0,\n\t\t\"Birth\": \"\",\n\t\t\"Gender\": 1,\n\t\t\"AgeRange\": 1,\n\t\t\"DiagnosisTimeRange\": 1,\n\t\t\"AntibodyType\": 0,\n\t\t\"ThyroidAbnormal\": 0,\n\t\t\"PreviousConvulsion\": 0,\n\t\t\"TraditionalImmunosuppressant\": 0,\n\t\t\"MedicalInsuranceType\": 0,\n\t\t\"DiagnosisTime\": \"\",\n\t\t\"DiagnoseType\": 0,\n\t\t\"DiagnoseImg\": \"\",\n\t\t\"CommitTime\": null,\n\t\t\"RejectReason\": \"\",\n\t\t\"IsSick\": 1,\n\t\t\"PatientCanFollowUp\": 3,\n\t\t\"IsUseDrugs\": 2,\n\t\t\"UseDrugsAuditStatus\": 0,\n\t\t\"UseDrugsAuditTime\": null,\n\t\t\"UseDrugsRejectReason\": \"\",\n\t\t\"UseDrugsImg\": \"\",\n\t\t\"UseDrugsCommitTime\": null,\n\t\t\"JoinDays\": 1,\n\t\t\"HasSelf\": true,\n\t\t\"DiagnosisCertificate\": \"\",\n\t\t\"InviteDoctorId\": 0,\n\t\t\"ExclusiveDoctorId\": null,\n\t\t\"ExclusiveDoctorImg\": null,\n\t\t\"ExclusiveDoctorName\": null,\n\t\t\"ExclusiveDoctorHospitalId\": null,\n\t\t\"ExclusiveDoctorHospitalName\": null,\n\t\t\"ExclusiveDoctorHospitalClassification\": null,\n\t\t\"ExclusiveDoctorHospitalClassificationName\": null,\n\t\t\"ExclusiveDoctorHospitalLevel\": null,\n\t\t\"ExclusiveDoctorHospitalLevelName\": null,\n\t\t\"EntryTwoPeriod\": 0,\n\t\t\"IsHasRecommendDoctor\": 2\n\t}\n}","parameter":[{"key":"code","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data","value":"","description":"","not_null":1,"field_type":"Object","type":"Object","is_checked":1},{"key":"data.UserId","value":"4","description":"UserId","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.PatientId","value":"1","description":"PatientId","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.PatientName","value":"查处","description":"患者姓名","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.AuditStatus","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.UserType","value":"3","description":"用户类型 1-空白用户,2-注册用户,3-疾病患者,4-用药患者","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.RelationType","value":"1","description":"与患者的关系 1-本人,2-亲友","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.UserImg","value":"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/2e344a04caa95332ca809ec487325915_16888035774582.png","description":"用户头像","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.Telephone","value":"18513583927","description":"手机号","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.EntryThreePeriod","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.EntryFourPeriod","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.MedicineAuditSwitch","value":"0","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.has7DayAdl","value":"0","description":"7天内是否有adl 1-有,0-没有","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.isFollow","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.isShowFollowGuide","value":"1","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.UserRegTime","value":"2026-05-12 10:24:39","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.AdlNotifySwitch","value":"1","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.OpenTraining","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.IsRootUser","value":"1","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.AgeYear","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.AgeMonth","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.Birth","value":"","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.Gender","value":"1","description":"性别 1-男 2-女","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.AgeRange","value":"1","description":"年龄范围1-<40岁,2-40-49岁,3-50-59岁,4-60-69岁,5-70-79岁,6-80岁以上","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.DiagnosisTimeRange","value":"1","description":"确诊时间范围 1-6个月以内 2-6个月-3年 3-3年以上","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.AntibodyType","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.ThyroidAbnormal","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.PreviousConvulsion","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.TraditionalImmunosuppressant","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.MedicalInsuranceType","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.DiagnosisTime","value":"","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.DiagnoseType","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.DiagnoseImg","value":"","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.CommitTime","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.RejectReason","value":"","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.IsSick","value":"1","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.PatientCanFollowUp","value":"3","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.IsUseDrugs","value":"2","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.UseDrugsAuditStatus","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.UseDrugsAuditTime","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.UseDrugsRejectReason","value":"","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.UseDrugsImg","value":"","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.UseDrugsCommitTime","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.JoinDays","value":"1","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.HasSelf","value":"true","description":"","not_null":1,"field_type":"Boolean","type":"Text","is_checked":1},{"key":"data.DiagnosisCertificate","value":"","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.InviteDoctorId","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorId","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorImg","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorName","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorHospitalId","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorHospitalName","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorHospitalClassification","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorHospitalClassificationName","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorHospitalLevel","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.ExclusiveDoctorHospitalLevelName","value":"null","description":"","not_null":1,"field_type":"Null","type":"Text","is_checked":1},{"key":"data.EntryTwoPeriod","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.IsHasRecommendDoctor","value":"2","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1}],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"6053d1c2-b278-446e-9a73-986ea84d9ea7"} + +# 获取患者的问卷答案 +{"target_id":"0fafdb00-73d7-4a1f-ac53-03e2fed1b53e","user_id":223104,"recent_user_id":223104,"project_id":"1460f681-044b-4f46-b62f-193b91174404","local_target_id":"0fafdb00-73d7-4a1f-ac53-03e2fed1b53e","local_parent_id":"6053d1c2-b278-446e-9a73-986ea84d9ea7","mark":"developing","target_type":"api","example_type":"0","name":"获取患者的问卷答案","method":"GET","sort":16,"status":1,"create_dtime":1779076210,"update_dtime":"2026-05-21 10:11:09","local_server_id":"","extend_server_id":"","extend_server_data":null,"local_server_data":null,"modifier_id":"UUSO6D8EE7AB","created_uuid":"UUSO6D8EE7AB","create_users":{"create_user":"charlie","update_user":"charlie"},"attribute_info":[],"enable_server_mock":-1,"mock_server_url":"","mock_url":"","request":{"url":"https://m.igg4.hbraas.com/?r=igg4/health-question/get-patient-questionnaire","description":"","body":{"mode":"none","parameter":[],"raw":"","raw_para":[],"raw_schema":{"type":"object"}},"event":{"pre_script":"","test":""},"auth":{"type":"noauth","kv":{"key":"","value":""},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","app":"","delegation":"","timestamp":"","includePayloadHash":-1},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":-1},"ntlm":{"username":"","password":"","domain":"","workstation":"","disableRetryRequest":1},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"","addEmptyParamsToSign":-1,"includeBodyHash":-1,"addParamsToHeader":-1,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""}},"header":{"parameter":[]},"query":{"parameter":[{"description":"","is_checked":1,"key":"r","type":"Text","not_null":1,"field_type":"String","value":"igg4/health-question/get-patient-questionnaire","key_var":"","value_var":""}]},"cookie":{"parameter":[]},"resful":{"parameter":[]},"origin_url":"https://{{m}}/?r=igg4/health-question/get-patient-questionnaire"},"response":{"success":{"raw":"{\n\t\"code\": 0,\n\t\"data\": {\n\t\t\"patientId\": 1,\n\t\t\"hasSubmitted\": true,\n\t\t\"latestSubmitTime\": \"2026-05-20 23:21:28\",\n\t\t\"questions\": [\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 1,\n\t\t\t\t\"QuestionContent\": \"您首次发病的时间\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 3,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Answer\": \"2024-03-01\",\n\t\t\t\t\"AnswerText\": \"2024-03-01\",\n\t\t\t\t\"OtherText\": \"\",\n\t\t\t\t\"SubmitTime\": \"2026-05-20 23:21:28\",\n\t\t\t\t\"Version\": \"2\",\n\t\t\t\t\"UserId\": \"4\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 2,\n\t\t\t\t\"QuestionContent\": \"您首次发病的部位\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 2,\n\t\t\t\t\"HasOther\": 1,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"OptionsNeedText\": [\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"淋巴结\",\n\t\t\t\t\t\"2\": \"颌下腺\",\n\t\t\t\t\t\"3\": \"泪腺\",\n\t\t\t\t\t\"4\": \"胰腺\",\n\t\t\t\t\t\"5\": \"肺\",\n\t\t\t\t\t\"6\": \"胆管\",\n\t\t\t\t\t\"7\": \"鼻窦\",\n\t\t\t\t\t\"8\": \"腮腺\",\n\t\t\t\t\t\"9\": \"腹膜后组织\",\n\t\t\t\t\t\"10\": \"大动脉\",\n\t\t\t\t\t\"11\": \"肾脏\",\n\t\t\t\t\t\"12\": \"皮肤\",\n\t\t\t\t\t\"13\": \"甲状腺\",\n\t\t\t\t\t\"14\": \"垂体\",\n\t\t\t\t\t\"15\": \"硬脑膜/硬脊膜\",\n\t\t\t\t\t\"16\": \"心包和纵隔\",\n\t\t\t\t\t\"99\": \"其他\"\n\t\t\t\t},\n\t\t\t\t\"Answer\": [\n\t\t\t\t\t2,\n\t\t\t\t\t3,\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"AnswerText\": [\n\t\t\t\t\t\"颌下腺\",\n\t\t\t\t\t\"泪腺\",\n\t\t\t\t\t\"其他\"\n\t\t\t\t],\n\t\t\t\t\"OtherText\": \"肚子\",\n\t\t\t\t\"SubmitTime\": \"2026-05-20 23:21:28\",\n\t\t\t\t\"Version\": \"2\",\n\t\t\t\t\"UserId\": \"4\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 3,\n\t\t\t\t\"QuestionContent\": \"您是否已确诊lgG4相关性疾病\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 1,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"是,已确诊\",\n\t\t\t\t\t\"2\": \"否,未确诊\",\n\t\t\t\t\t\"3\": \"不确定\"\n\t\t\t\t},\n\t\t\t\t\"Answer\": \"3\",\n\t\t\t\t\"AnswerText\": \"不确定\",\n\t\t\t\t\"OtherText\": \"\",\n\t\t\t\t\"SubmitTime\": \"2026-05-20 23:21:28\",\n\t\t\t\t\"Version\": \"2\",\n\t\t\t\t\"UserId\": \"4\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 5,\n\t\t\t\t\"QuestionContent\": \"从您第一次被诊断为IgG4相关性疾病,到现在大概多久了?\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 1,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"6个月以内\",\n\t\t\t\t\t\"2\": \"6个月-3年\",\n\t\t\t\t\t\"3\": \"3年以上\"\n\t\t\t\t},\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 3,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t1\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"Answer\": null,\n\t\t\t\t\"AnswerText\": null,\n\t\t\t\t\"OtherText\": null,\n\t\t\t\t\"SubmitTime\": null,\n\t\t\t\t\"Version\": null,\n\t\t\t\t\"UserId\": null\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 4,\n\t\t\t\t\"QuestionContent\": \"您目前正在使用的药物有哪些?\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 2,\n\t\t\t\t\"HasOther\": 1,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"OptionsNeedText\": [\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"没有使用激素\",\n\t\t\t\t\t\"2\": \"激素\",\n\t\t\t\t\t\"3\": \"免疫抑制剂\",\n\t\t\t\t\t\"4\": \"靶向CD19生物制剂(伊奈利珠单抗)\",\n\t\t\t\t\t\"5\": \"靶向CD20生物制剂(利妥昔单抗等)\",\n\t\t\t\t\t\"99\": \"其他\"\n\t\t\t\t},\n\t\t\t\t\"Answer\": [\n\t\t\t\t\t2,\n\t\t\t\t\t3,\n\t\t\t\t\t4,\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"AnswerText\": [\n\t\t\t\t\t\"激素\",\n\t\t\t\t\t\"免疫抑制剂\",\n\t\t\t\t\t\"靶向CD19生物制剂(伊奈利珠单抗)\",\n\t\t\t\t\t\"其他\"\n\t\t\t\t],\n\t\t\t\t\"OtherText\": \"呵呵yaowu\",\n\t\t\t\t\"SubmitTime\": \"2026-05-20 23:21:28\",\n\t\t\t\t\"Version\": \"2\",\n\t\t\t\t\"UserId\": \"4\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 6,\n\t\t\t\t\"QuestionContent\": \"您最近一周,每日激素使用剂量\",\n\t\t\t\t\"Description\": \"此处按醋酸泼尼松片用量计算,每片为5mg,若其他激素药物根据规格做等量换算,如5mg醋酸泼尼松=4mg甲泼尼龙*\",\n\t\t\t\t\"QuestionType\": 4,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 4,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t2\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"Answer\": null,\n\t\t\t\t\"AnswerText\": null,\n\t\t\t\t\"OtherText\": null,\n\t\t\t\t\"SubmitTime\": null,\n\t\t\t\t\"Version\": null,\n\t\t\t\t\"UserId\": null\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 7,\n\t\t\t\t\"QuestionContent\": \"您正在使用的免疫抑制剂名称\",\n\t\t\t\t\"Description\": \"\",\n\t\t\t\t\"QuestionType\": 2,\n\t\t\t\t\"HasOther\": 1,\n\t\t\t\t\"Required\": 0,\n\t\t\t\t\"OptionsNeedText\": [\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 4,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t3\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"Options\": {\n\t\t\t\t\t\"1\": \"吗替麦考酚酯\",\n\t\t\t\t\t\"2\": \"硫唑嘌呤\",\n\t\t\t\t\t\"3\": \"环磷酰胺\",\n\t\t\t\t\t\"4\": \"来氟米特\",\n\t\t\t\t\t\"5\": \"甲氨蝶呤\",\n\t\t\t\t\t\"6\": \"环孢素A\",\n\t\t\t\t\t\"7\": \"他克莫司\",\n\t\t\t\t\t\"8\": \"艾拉莫德\",\n\t\t\t\t\t\"99\": \"其他\"\n\t\t\t\t},\n\t\t\t\t\"Answer\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"value\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"value\": 3\n\t\t\t\t\t},\n\t\t\t\t\t99\n\t\t\t\t],\n\t\t\t\t\"AnswerText\": [\n\t\t\t\t\t\"吗替麦考酚酯\",\n\t\t\t\t\t\"环磷酰胺\",\n\t\t\t\t\t\"其他\"\n\t\t\t\t],\n\t\t\t\t\"OtherText\": \"qitazhiji\",\n\t\t\t\t\"SubmitTime\": \"2026-05-20 23:21:28\",\n\t\t\t\t\"Version\": \"2\",\n\t\t\t\t\"UserId\": \"4\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"QuestionNo\": 8,\n\t\t\t\t\"QuestionContent\": \"请上传您的处方证明\",\n\t\t\t\t\"Description\": \"完善个人信息,可获得【医生】更多关注\",\n\t\t\t\t\"QuestionType\": 5,\n\t\t\t\t\"HasOther\": 0,\n\t\t\t\t\"Required\": 1,\n\t\t\t\t\"Condition\": {\n\t\t\t\t\t\"questionNo\": 4,\n\t\t\t\t\t\"values\": [\n\t\t\t\t\t\t3\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"Answer\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"url\": \"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/33625fb3874133ce08e8bb79eba10d2e_17790889563616.png\"\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"AnswerText\": [\n\t\t\t\t\t\"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/33625fb3874133ce08e8bb79eba10d2e_17790889563616.png\"\n\t\t\t\t],\n\t\t\t\t\"OtherText\": \"\",\n\t\t\t\t\"SubmitTime\": \"2026-05-20 23:21:28\",\n\t\t\t\t\"Version\": \"2\",\n\t\t\t\t\"UserId\": \"4\"\n\t\t\t}\n\t\t],\n\t\t\"patientName\": \"charlie\"\n\t}\n}","parameter":[{"key":"code","value":"0","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data","value":"","description":"","not_null":1,"field_type":"Object","type":"Object","is_checked":1},{"key":"data.patientId","value":"1","description":"","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.hasSubmitted","value":"true","description":"患者是否提交过问卷","not_null":1,"field_type":"Boolean","type":"Text","is_checked":1},{"key":"data.latestSubmitTime","value":"2026-05-20 23:21:28","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions","value":"","description":"问题列表","not_null":1,"field_type":"Array","type":"Text","is_checked":1},{"key":"data.questions.QuestionNo","value":"1","description":"问题序号","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.questions.QuestionContent","value":"您首次发病的时间","description":"问题","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.Description","value":"","description":"问题说明","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.QuestionType","value":"3","description":"类型 1-单选,2-多选,3-日期,4-文本,5-图片","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.questions.HasOther","value":"0","description":"是否有其他选项 1-有 0-没有","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.questions.Required","value":"0","description":"答案可否为空 0-可以为空,1-不能为空","not_null":1,"field_type":"Integer","type":"Text","is_checked":1},{"key":"data.questions.Answer","value":"2024-03-01","description":"答案 多选为数组,单选为数字,日期为文本,","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.AnswerText","value":"2024-03-01","description":"答案文本","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.OtherText","value":"","description":"其他文本","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.SubmitTime","value":"2026-05-20 23:21:28","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.Version","value":"2","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.questions.UserId","value":"4","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1},{"key":"data.patientName","value":"charlie","description":"","not_null":1,"field_type":"String","type":"Text","is_checked":1}],"expect":{"name":"成功","isDefault":1,"code":200,"contentType":"json","verifyType":"schema","schema":[],"mock":""}},"error":{"raw":"","parameter":[],"expect":{"name":"失败","isDefault":-1,"code":404,"contentType":"json","verifyType":"schema","schema":[],"mock":""}}},"parent_id":"6053d1c2-b278-446e-9a73-986ea84d9ea7"}