# app-server **Repository Path**: scarecrow-lucifer/app-server ## Basic Information - **Project Name**: app-server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-28 - **Last Updated**: 2021-12-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目接口文档 ## 流程图 ### 用户注册流程 image-20211115105450436 ### 用户登录流程 image-20211115105359605 ## 环境搭建 ### 数据库 * `docker-compose.yaml: mysql服务器` ```yaml version: "3" services: app-mysql: image: mysql:5.7 ports: - 3307:3306 container_name: app-mysql volumes: - ./components/app-mysql/data:/var/lib/mysql - ./components/app-mysql/init:/docker-entrypoint-initdb.d - /etc/localtime:/etc/localtime environment: MYSQL_ROOT_PASSWORD: openIM restart: always ``` * `init.sql: 初始化脚本` ```sql CREATE DATABASE IF NOT EXISTS app_server DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE app_server; DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `uid` varchar(256) NOT NULL, `user_name` varchar(256) NULL DEFAULT NULL COMMENT '用户名', `password` varchar(256) NULL DEFAULT NULL COMMENT '密码', `gender` tinyint(4) NULL DEFAULT NULL COMMENT '性别0:女,1:男', `phone_number` varchar(256) NULL DEFAULT NULL COMMENT '手机号', `email` varchar(256) NULL DEFAULT NULL COMMENT '邮箱', `birth` datetime(0) NULL DEFAULT NULL COMMENT '生日', `token` varchar(256) NULL DEFAULT NULL COMMENT 'token,需从sdk获取', `expired_time` datetime(0) NULL DEFAULT NULL COMMENT 'token 过期时间', PRIMARY KEY (`uid`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; ``` ## 接口文档 ### 发送验证码 #### 描述 > AppServer 是基于手机号进行登录注册,因此为了保证手机号的准确归属人,必须进行短信验证码的校验 #### 请求URL * `http://192.168.3.101/auth/code` #### 请求方式 * `POST` #### 请求示例 ```json { "phoneNumber": "xxxx" } ``` #### 请求参数 | 参数名 | 必选 | 类型 | 说明 | | :---------: | :--: | :----: | :------------------------------------------------------- | | phoneNumber | 是 | string | 手机号,用于进行账号的注册和登录,必须保证其格式的合法性 | #### 返回示例 ```json { "errCode": 0 } ``` #### 返回参数 | 参数名 | 类型 | 说明 | | :------ | :----- | ---------------- | | errCode | int | 0:成功,非0:失败 | | errMsg | string | 错误信息 | ### 校验验证码 #### 描述 > AppServer 对短信验证码进行校验 #### 请求URL * `http://192.168.3.101/auth/verify` #### 请求方式 * `POST` #### 请求示例 ```json { "phoneNumber": "xxxx", "verificationCode": "xxxx" } ``` #### 请求参数 | 参数名 | 必选 | 类型 | 说明 | | :--------------: | :--: | :----: | :------------------------------------------------------- | | phoneNumber | 是 | string | 手机号,用于进行账号的注册和登录,必须保证其格式的合法性 | | verificationCode | 是 | string | 验证码 | #### 返回示例 ```json { "errCode": 0, "data": { "verifyCode": 1 } } ``` #### 返回参数 | 参数名 | 类型 | 说明 | | :--------- | :----- | ---------------- | | errCode | int | 0:成功,非0:失败 | | errMsg | string | 错误信息 | | verifyCode | int | 1验证成功 | ### 设置登录密码 #### 描述 > AppServer 用户注册流程中注册用户信息并为用户设置登录密码 #### 请求URL * `http://192.168.3.101/auth/password` #### 请求方式 * `POST` #### 请求示例 ```json { "phoneNumber": "xxxx", "password": "xxxx", "verificationCode": "xxxx", "platform": 1 } ``` #### 请求参数 | 参数名 | 必选 | 类型 | 说明 | | :--------------: | :--: | :----: | :------------------------------------------------------- | | phoneNumber | 是 | string | 手机号,用于进行账号的注册和登录,必须保证其格式的合法性 | | password | 是 | string | 密码 经过MD5转码后的字符串数据 | | verificationCode | 是 | string | 验证码 | | platform | 是 | int | 平台 1:ios 2:非ios | #### 返回示例 ```json { "errCode": 0, "data": { "uid": "xxxx", "token": "xxxx" } } ``` #### 返回参数 | 参数名 | 类型 | 说明 | | :------ | :----- | ---------------- | | errCode | int | 0:成功,非0:失败 | | errMsg | string | 错误信息 | | uid | string | 注册的用户 UID | | token | string | 生成的用户 token | ### 用户登录 #### 描述 > AppServer 用户登录流程,校验用户凭证是否正确;校验通过后返回 uid、token 用于 AppClient 发起 SDK 初始化 #### 请求URL * `http://192.168.3.101/auth/login` #### 请求方式 * `POST` #### 请求示例 ```json { "phoneNumber": "xxxx", "password": "xxxx", "platform": 1 } ``` #### 请求参数 | 参数名 | 必选 | 类型 | 说明 | | :---------: | :--: | :----: | :------------------------------------------------------- | | phoneNumber | 是 | string | 手机号,用于进行账号的注册和登录,必须保证其格式的合法性 | | password | 是 | string | 密码 经过MD5转码后的字符串数据 | | platform | 是 | int | 平台 1:ios 2:非ios | #### 返回示例 ```json { "errCode": 0, "data": { "uid": "xxxx", "token": "xxxx" } } ``` #### 返回参数 | 参数名 | 类型 | 说明 | | :------ | :----- | ---------------- | | errCode | int | 0:成功,非0:失败 | | errMsg | string | 错误信息 | | uid | string | 注册的用户 UID | | token | string | 生成的用户 token |