# InternetQuestionBank **Repository Path**: haoqizhi/InternetQuestionBank ## Basic Information - **Project Name**: InternetQuestionBank - **Description**: 专门为互联网人打造的题解神器,神器在手,工作不愁 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-07-12 - **Last Updated**: 2022-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
互联网人题解神器,神器在手,offer我有
随手刷题 | 无广告绿色免费 | 个性推荐 | 每日自动推送 | 多维度丰富领域知识

# 目录
- [安装](https://www.yuque.com/docs/share/b3e2c390-0441-46a1-a3da-ae6b9d108f2e)
- [特点](#特点)
- [技术栈](#技术栈)
- [UML](#UML)
- [设计概览](#设计概览)
- [API设计](#API设计(读写职责分离))
- [配套后台管理系统](#配套后台管理系统)
- [作者和贡献者们](#作者和贡献者们)
- [相关开源物料](#相关开源物料)
- [题库合作伙伴](#题库合作伙伴)
- [用户群&联系我们](#QQ群和钉钉群)
- [友情开源项目](#友情开源项目)
- [许可](#许可)
# 特点
1. 汇聚优秀的开源题目,以技术社区为主线展开的刷题 APP
2. 根据用户的喜好,去推送相关的最新题目,不会再刷到 “牛头不对马嘴”无用的题目
3. 我们绑定了微信服务号,每日定时推送给用户最新的题目,让你能在每天清晨就开启活力新一天
4. 刷题 APP 无广告,无硬性推广,一切盈利皆在赞助/官网流量
5. 我们还有很多有意思的待开发 feature,比如大佬带萌新模式,还将开启校园/企业的通道,让每一个学生/员工都能每时每刻提高自己
6. 剑指题解开源项目,从原型图到小程序,UI 图,UML,API 文档,第三方 API 对接说明书,使用说明都将免费开源,欢迎各位同僚二开,让这个行业变得更好,我们将用心地辅助你们解决在技术上的难题。
# 技术栈
- [uniapp](https://uniapp.dcloud.io/)
- [unicloud](https://unicloud.dcloud.net.cn/home)
- [unicloud 前端网页托管服务](https://unicloud.dcloud.net.cn/home)
- [vue3](https://vue3js.cn/)
- [typescript](https://www.tslang.cn/)
关于技术栈的选型可以参考我们的语雀文档
周边物料的开源,还需要感谢 mockPlus 以及语雀:
# UML
由于此部分在开发新 feature 的工作中可能会进行变更或者本就有实质性的错误,欢迎向我们反馈错误,我们将感激不尽。
## 类图
## 拉取任务
Vue 页面将这样去调用,这样我们在 API 查询层将做好数据的处理,确保 Vue 拿到的是可以直接渲染的干净数据。
```js
import { getTestList } from "../../api/test";
const data = getTestList();
```
我们写入操作将通过云函数直接调用,唯一设计不同的地方在于,我们将云函数这个概念改变了,一个云函数可能要做一个版本的接口。
在我们的初步技术调研过程中,由于 Uni 官方并没有提供给用户云函数开发框架,但是我们在插件市场中找到了一款名为 explain 的开发框架,它可以迅速的帮助我们实现 restapi 风格的单路由云函数,这款框架我们不多做介绍,文档在这里:[explain.js 快速开发 uni 云函数的框架](https://ext.dcloud.net.cn/plugin?id=3312)
```js
// 注册用户根据手机号
addUserByPhone() {
return handleMustRequireParam(
[{
key: "username",
value: "用户名",
},
{
key: "password",
value: "密码",
},
],
this.event.params
)
.then(async () => {
const {
username,
password
} = this.event.params;
if (!/^1[3456789]\d{9}$/.test(username)) {
return appErrorMessage("用户名格式不正确");
} else if (password === "" || password.length < 6) {
return appErrorMessage("密码格式不正确");
} else {
// 校验手机号
return await uniID.register({
username,
password,
});
}
})
.catch((err) => {
return err;
});
}
```
那么我们如果要调用 testPrint 这个模块中的增加操作
```js
uniCloud.callFunction({
name: "application",
data: {
route: "api/user",
method: "POST",
params: {
username: "",
password: "",
},
},
});
```
想要了解更多API相关内容,请移步我们的[API文档](https://www.yuque.com/mlgrgm/lmm8g4/bgxcw3)
# 配套后台管理系统
后台管理系统开放角色为:管理员, 普通用户,认证答题官(具有发布权限),目前版本仍然在完善中,而且大可放心的是,后台管理系统仍然使用unicloud进行快速开发,在读取我们没有使用jql,而是直接在页面渲染client-db组件。
关于为什么和app的技术栈不一样,我这边简单归纳了几点,首先我希望后台管理系统是大家一起维护提pr的,作为一款管理产品,拓展不会太宽,是要求门槛很低且需要快速开发的,所以我选择了上手较快的云开发产品
关于已经有小程序账号的用户如何进入管理后台:[请移步这个文档](https://www.yuque.com/mlgrgm/lmm8g4/pg6t14)
剑指题解后台管理系统: http://sword.admin.yinzhuoei.com/#/pages/login/login
源代码:https://github.com/swordCodePractice/swordUserAdmin
# 作者和贡献者们
感谢为《剑指题解》这个优秀项目贡献自己一份力的小伙伴们:
秋云ucharts跨端图表库 |