||||\n-|-|-|\n:discourse2: | 摘要 | Discourse Surveys 插件允许您使用简单的 Markdown 语法直接在您的 Discourse 论坛帖子中创建调查。\n:hammer_and_wrench: | 仓库链接 | \u003chttps://github.com/discourse/discourse-surveys\u003e\n:open_book: | 安装指南 | 如何在 Discourse 中安装插件\n\nDiscourse Surveys 插件允许您使用简单的 Markdown 语法直接在您的 Discourse 论坛帖子中创建调查。该插件目前支持多种问题类型,例如单选按钮、复选框、下拉列表、数字输入、文本区域、星级评分以及赞成/反对评分。\n\n## 功能\n\n- 7 种不同的字段类型:单选按钮、复选框、下拉列表、文本区域、数字选择、星级评分和赞成/反对\n\n- 必填/可选字段:将字段标记为必填以确保完成\n\n- Emoji 支持:在调查选项中使用表情符号\n\n- HTML 支持:问题和选项中的富文本格式\n\n- 用户身份验证:为匿名用户自动提示登录\n\n- 响应跟踪:防止同一用户重复提交\n\n- 权限感知:尊重主题和类别的权限\n\n- 移动响应式:在所有设备上无缝工作\n\n## 用法\n\n### 基本调查结构\n\n所有调查都必须用 [survey] 标签包裹:\n\nmarkdown\n\n[survey name=\"my-survey\" title=\"客户反馈调查\"]\n\n<!-- 在此处放置调查字段 -->\n\n[/survey]\n\n\n\n### 调查属性\n\n- name: 调查的唯一标识符(默认为 “survey”)\n\n- title: 显示在调查顶部的可选标题\n\n- public: 设置可见性(未来功能)\n\n- status: 调查状态(未来功能)\n\n### 字段类型\n\n#### 1. 单选按钮(单选)\n\nmarkdown\n\n[radio question=\"你最喜欢的颜色是什么?\"]\n\n- 红色\n\n- 蓝色\n\n- 绿色\n\n- 黄色\n\n[/radio]\n\n\n\n#### 2. 复选框(多选)\n\nmarkdown\n\n[checkbox question=\"您使用哪些功能?(选择所有适用的)\"]\n\n- 电子邮件通知\n\n- 移动应用\n\n- 桌面通知\n\n- API 访问\n\n[/checkbox]\n\n\n\n#### 3. 下拉选择\n\nmarkdown\n\n[dropdown question=\"您的年龄段是?\"]\n\n- 18 岁以下\n\n- 18-24\n\n- 25-34\n\n- 35-44\n\n- 45-54\n\n- 55 岁以上\n\n[/dropdown]\n\n\n\n#### 4. 文本区域(长文本)\n\nmarkdown\n\n[textarea question=\"请提供详细反馈:\" required=\"false\"]\n\n[/textarea]\n\n\n\n#### 5. 数字选择\n\nmarkdown\n\n[number question=\"请将此功能评为 1-10 分:\" min=\"1\" max=\"10\"]\n\n[/number]\n\n\n\n#### 6. 星级评分\n\nmarkdown\n\n[star question=\"您对整体体验的评价如何?\"]\n\n[/star]\n\n\n\n#### 7. 赞成/反对\n\nmarkdown\n\n[thumbs question=\"您会推荐给其他人吗?\"]\n\n[/thumbs]\n\n\n\n### 字段属性\n\n所有字段类型都支持以下属性:\n\n- question: 问题文本(必填)\n\n- required: 字段是否必须填写(true/false,默认为 true)\n\n- min: 数字字段的最小值\n\n- max: 数字字段的最大值\n\n### 完整示例\n\n### 基本调查 Markdown\n\n下面是一个包含所有可用字段的基本调查 Markdown 示例:\n\n\n[survey name=\"awesome-survey-thumbs\" title=\"超棒的调查\"]\n\n[radio question=\"选择任意一个选项:\"]\n- 猫\n- 狗\n[/radio]\n\n[checkbox question=\"选择多个选项:\"]\n- 红色\n- 蓝色\n- 绿色\n[/checkbox]\n\n[dropdown question=\"性别:\"]\n- 男性\n- 女性\n[/dropdown]\n\n[number question=\"请从 1 到 10 为此调查评分:\"]\n[/number]\n\n[textarea question=\"您对 xyz 的反馈是什么?\" required=\"false\"]\n[/textarea]\n\n[star question=\"您如何评价整体体验?\"]\n[/star]\n\n[thumbs question=\"您对我们的服务满意吗?\"]\n[/thumbs]\n\n[/survey]\n\n\n### 调查渲染\n\n下面是上述 Markdown 在 Discourse 中渲染的示例:\n\n
markdown\n\n[radio question=\"选择你最喜欢的动物:\"]\n\n- 🐈 猫\n\n- 🐶 狗\n\n- 🐦 鸟\n\n- 🐠 鱼\n\n[/radio]\n\n\n\n### 问题中的 HTML 格式\n\nmarkdown\n\n[radio question=\"你更喜欢哪个 \u003cstrong\u003e编程语言\u003c/strong\u003e?\"]\n\n- JavaScript\n\n- Python\n\n- Ruby\n\n- Go\n\n[/radio]\n\n\n\n### 混合必填和可选字段\n\nmarkdown\n\n[survey name=\"mixed-survey\"]\n\n[radio question=\"您的角色是什么?\" required=\"true\"]\n\n- 开发者\n\n- 设计师\n\n- 经理\n\n- 其他\n\n[/radio]\n\n[textarea question=\"任何其他想法?\" required=\"false\"]\n\n[/textarea]\n\n[/survey]\n\n\n\n## 调查结果\n\n目前,此插件没有用于直接查看调查结果的后端用户界面。相反,您可以依赖 Data Explorer 查询来获取和分析调查回复。这是一个示例查询:\n\nsql\n-- [params]\n-- text :survey_name = survey\n\nSELECT s.id, s.name, s.post_id, sf.question, COALESCE(sr.value, sfo.html) AS value, sr.user_id, sr.created_at as responded_at\nFROM surveys s\nJOIN survey_fields sf ON sf.survey_id = s.id\nJOIN survey_responses sr ON sr.survey_field_id = sf.id\nLEFT JOIN survey_field_options sfo ON sfo.id = sr.survey_field_option_id\nWHERE s.name = :survey_name\nORDER BY s.id DESC\n\n\n## 权限和安全\n\n- 需要登录:匿名用户在提交回复前必须登录\n\n- 每位用户仅限一次回复:每位用户只能对每个调查提交一次回复\n\n- 主题权限:用户必须具有阅读主题的权限才能查看调查\n\n- 发帖权限:用户必须在主题中具有发帖权限才能提交回复\n\n- 已存档主题:已存档主题中的调查不能接受新的回复\n\n- 已删除帖子:位于已删除帖子中的调查将不再可访问\n\n## 限制\n\n- 每个帖子只允许一个调查\n\n- 调查结构在收到回复后无法修改\n\n- 所有调查字段问题在单个调查中必须是唯一的\n\n- 调查字段问题不能为空\n\n## 技术细节\n\n### 数据库架构\n\n该插件创建四个主要的数据库表:\n\n- surveys: 主要调查记录\n\n- survey_fields: 调查中的各个字段\n\n- survey_field_options: 选择类字段的选项\n\n- survey_responses: 用户对调查字段的回复\n\n### 样式\n\n该插件包含适应您主题的响应式 CSS。可以通过定位以下 CSS 类来添加自定义样式:\n\n- .survey - 主调查容器\n\n- .survey-field - 单个字段包装器\n\n- .field-[type] - 特定字段类型的容器\n\n- .submit-response - 提交按钮"
