# NK嵌入式课设 **Repository Path**: kpl0111/nk-embedded-course-design ## Basic Information - **Project Name**: NK嵌入式课设 - **Description**: NK嵌入式课设飞书小程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-08 - **Last Updated**: 2025-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NK嵌入式课设 #### 介绍 NK嵌入式课设飞书小程序 [飞数多维表格链接](https://byd3anf1gt.feishu.cn/base/Rd6CbHMAKau4oxsbSBPchvSfnNb) #### 预期界面 ![小程序预期界面](./src/pic/NK嵌入式课设小程序预期界面.png) #### 当前进度 + [x] 界面设计 + [x] 登录界面 + [x] 主页界面 + [x] 问解通道界面 + [x] 角色界面 + [x] 文件上传界面 + [x] 功能响应 + [x] API + [x] 查询 + [x] 添加 + [x] 更新 + [x] 显示目标详情 + [x] 添加问题 + [x] 回答问题 + [x] 添加标签 + [x] 修改目标 + [x] 完成任务 + [ ] 上传附件 主要界面 ![](./src/pic/主页面.png) 功能界面 ![](./src/pic/功能页面.png) #### 项目介绍 文件结构 ``` ├── app.js ************************************************小程序全局的js文件,主要用于注册全局变量 ├── app.json *************************************************小程序的全局配置,主要用于注册页面,每新添加一个页面都要在此添加路径 ├── src *************************************************小程序的资源路径,主要是一些图片资源 ├── config *************************************************配置飞书表格信息 │ ├── appConfig.js ******************************************小程序配置信息 │ ├── tableConfig.js ***************************************飞书表格配置信息 ├── utils *************************************************API接口文件夹 │ ├── feishuAPI.js *******************************************飞书API接口函数 ├── pages *************************************************页面存放路径 │ ├── home *************************************************主页 │ │ ├── home.ttml │ │ ├── home.ttss │ │ ├── home.js │ ├── qa ************************************************* 问解通道 │ │ ├── qa.ttml │ │ ├── qa.ttss │ │ ├── qa.js │ ├── role *************************************************角色 │ │ ├── role.ttml │ │ ├── role.ttss │ │ ├── role.js │ ├── upload *************************************************上传成果 │ │ ├── upload.ttml │ │ ├── upload.ttss │ │ ├── upload.js │ ├── qaDetail *************************************************问解通道卡片详情 │ │ ├── qaDetail.ttml │ │ ├── qaDetail.ttss │ │ ├── qaDetail.js │ ├── post *************************************************添加问题 │ │ ├── post.ttml │ │ ├── post.ttss │ │ ├── post.js │ ├── updateGoal *************************************************修改目标 │ │ ├── updateGoal.ttml │ │ ├── updateGoal.ttss │ │ ├── updateGoal.js │ ├── test *************************************************测试页面 │ │ ├── test.ttml │ │ ├── test.ttss │ │ ├── test.js ``` #### 关于上传附件 飞书的上传附件API本身只属于服务端API,在小程序等客户端无法调用,飞书为了安全考虑,将鉴权和数据传输部分进行解耦,将上传附件分为两个步骤, 1. 在服务端将文件上传到指定的飞书文档空间,然后会返回一个token,相当于附件在飞书空间的链接 2. 在客户端,将token上传到指定的表格字段,相当于是上传了一个链接 所以说只通过小程序是无法完成上传附件操作的,需要经过服务器做跳转,大概步骤如下: 1. 在[飞书开发者后台](https://open.feishu.cn/app)安全设置中,将服务器固定IP添加到白名单,这样服务器就可以使用服务端API进行上传操作![](./src/pic/添加白名单.png) 2. 小程序中点击上传附件时先将文件上传到指定服务器 3. 服务器调用飞书服务端API上传素材获取token并将token返回给小程序 4. 小程序使用token来进行上传素材 #### 更新日志 #### 2025.1.17 + 基本完成小程序功能 + 将问题的是否完成标签和其他标签隔离,添加问题默认未完成,回答之后默认已完成,同时添加提问人,解答人字段