Merge pull request #29 from orziz/main

feat: fix typescript
pull/32/head
orzi! 3 years ago committed by GitHub
commit d6171b667c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,29 +1,16 @@
import request from '@/utils/request'; import { request } from '@/utils/request';
/** 用户登录 */
/** export const userLogin = (params: NetParams.AuthUserLogin): Promise<NetReq.AuthUserLogin> => {
*
* @param {Object} params
* - @param {string} username
* - @param {string} password
* @returns Promise
*/
export const userLogin = (params: NetParams.AuthUserLogin = {}) => {
return request({ return request({
method: 'post', method: 'post',
url: '/auth/login', url: '/auth/login',
data: params, data: params,
}) as unknown as Promise<NetReq.AuthUserLogin>; });
}; };
/** /** 注册用户 */
* export const userRegister = (params: NetParams.AuthUserRegister): Promise<NetReq.AuthUserRegister> => {
* @param {Object} params
* - @param {string} username
* - @param {string} password
* @returns Promise
*/
export const userRegister = (params = {}) => {
return request({ return request({
method: 'post', method: 'post',
url: '/auth/register', url: '/auth/register',
@ -31,12 +18,8 @@ export const userRegister = (params = {}) => {
}); });
}; };
/** /** 用户信息 */
* export const userInfo = (token: NetParams.AuthUserInfo = ""): Promise<NetReq.AuthUserInfo> => {
* @param {Object} params
* @returns Promise
*/
export const userInfo = (token = '') => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/info', url: '/user/info',
@ -46,14 +29,8 @@ export const userInfo = (token = '') => {
}); });
}; };
/** /** 修改用户密码,该接口暂时未使用 */
* export const updateUserPassword = (data: NetParams.AuthUpdateUserPassword): Promise<NetReq.AuthUpdateUserPassword> => {
* @param {Object} params
* - @param {string} password
* - @param {string} old_password
* @returns Promise
*/
export const updateUserPassword = (data: any) => {
return request({ return request({
method: 'post', method: 'post',
url: '/api/user/password', url: '/api/user/password',

@ -1,132 +1,88 @@
import request from '@/utils/request'; import { request } from '@/utils/request';
/** /** 获取动态列表 */
* export const getPosts = (params: NetParams.PostGetPosts): Promise<NetReq.PostGetPosts> => {
* @param {Object} params
* @returns Promise
*/
export const getPosts = (params: NetParams.PostGetPosts) => {
return request({ return request({
method: 'get', method: 'get',
url: '/posts', url: '/posts',
params params
}) as unknown as Promise<NetReq.PostGetPosts>; });
}; };
/** /** 获取标签列表 */
* export const getTags = (params: NetParams.PostGetTags): Promise<NetReq.PostGetTags> => {
* @param {Object} params
* @returns Promise
*/
export const getTags = (params: NetParams.PostGetTags) => {
return request({ return request({
method: 'get', method: 'get',
url: '/tags', url: '/tags',
params params
}) as unknown as Promise<NetReq.PostGetTags>; });
}; };
/** /** 获取动态详情 */
* export const getPost = (params: NetParams.PostGetPost): Promise<NetReq.PostGetPost> => {
* @param {Object} params
* @returns Promise
*/
export const getPost = (params: NetParams.PostGetPost) => {
return request({ return request({
method: 'get', method: 'get',
url: '/post', url: '/post',
params params
}) as unknown as Promise<NetReq.PostGetPost>; });
}; };
/** /** 获取动态点赞状态 */
* export const getPostStar = (params: NetParams.PostPostStar): Promise<NetReq.PostGetPostStar> => {
* @param {Object} params
* @returns Promise
*/
export const getPostStar = (params: NetParams.PostPostStar) => {
return request({ return request({
method: 'get', method: 'get',
url: '/post/star', url: '/post/star',
params params
}) as unknown as Promise<NetReq.PostGetPostStar>; });
}; };
/** /** 动态点赞 */
* export const postStar = (data: NetParams.PostPostStar): Promise<NetReq.PostPostStar> => {
* @param {Object} data
* @returns Promise
*/
export const postStar = (data: NetParams.PostPostStar) => {
return request({ return request({
method: 'post', method: 'post',
url: '/post/star', url: '/post/star',
data data
}) as unknown as Promise<NetReq.PostPostStar>; });
}; };
/** /** 获取动态收藏状态 */
* export const getPostCollection = (params: NetParams.PostGetPostCollection): Promise<NetReq.PostGetPostCollection> => {
* @param {Object} params
* @returns Promise
*/
export const getPostCollection = (params: NetParams.PostGetPostCollection) => {
return request({ return request({
method: 'get', method: 'get',
url: '/post/collection', url: '/post/collection',
params params
}) as unknown as Promise<NetReq.PostGetPostCollection>; });
}; };
/** /** 动态收藏 */
* export const postCollection = (data: NetParams.PostPostCollection): Promise<NetReq.PostPostCollection> => {
* @param {Object} data
* @returns Promise
*/
export const postCollection = (data: NetParams.PostPostCollection) => {
return request({ return request({
method: 'post', method: 'post',
url: '/post/collection', url: '/post/collection',
data data
}) as unknown as Promise<NetReq.PostPostCollection>; });
}; };
/** /** 获取动态评论列表 */
* export const getPostComments = (params: NetParams.PostGetPostComments): Promise<NetReq.PostGetPostComments> => {
* @param {Object} params
* @returns Promise
*/
export const getPostComments = (params: NetParams.PostGetPostComments) => {
return request({ return request({
method: 'get', method: 'get',
url: '/post/comments', url: '/post/comments',
params params
}) as unknown as Promise<NetReq.PostGetPostComments>; });
}; };
/** /** 发布动态 */
* export const createPost = (data: NetParams.PostCreatePost): Promise<NetReq.PostCreatePost> => {
* @param {Object} data
* - @param {array} contents
* - @param {array} users at
* - @param {array} tags
* @returns Promise
*/
export const createPost = (data: NetParams.PostCreatePost) => {
return request({ return request({
method: 'post', method: 'post',
url: '/post', url: '/post',
data data
}) as unknown as Promise<NetReq.PostCreatePost>; });
}; };
/** /** 删除动态 */
* export const deletePost = (data: NetParams.PostDeletePost): Promise<NetReq.PostDeletePost> => {
* @param {Object} data
* - @param {number} id
* @returns Promise
*/
export const deletePost = (data: any) => {
return request({ return request({
method: 'delete', method: 'delete',
url: '/post', url: '/post',
@ -134,42 +90,26 @@ export const deletePost = (data: any) => {
}); });
}; };
/** /** 锁定/解锁动态 */
* / export const lockPost = (data: NetParams.PostLockPost): Promise<NetReq.PostLockPost> => {
* @param {Object} data
* - @param {number} id
* @returns Promise
*/
export const lockPost = (data: NetParams.PostLockPost) => {
return request({ return request({
method: 'post', method: 'post',
url: '/post/lock', url: '/post/lock',
data data
}) as unknown as Promise<NetReq.PostLockPost>; });
}; };
/** /** 置顶/取消置顶动态 */
* / export const stickPost = (data: NetParams.PostStickPost): Promise<NetReq.PostStickPost> => {
* @param {Object} data
* - @param {number} id
* @returns Promise
*/
export const stickPost = (data: NetParams.PostStickPost) => {
return request({ return request({
method: 'post', method: 'post',
url: '/post/stick', url: '/post/stick',
data data
}) as unknown as Promise<NetReq.PostStickPost>; });
}; };
/** /** 发布动态评论 */
* export const createComment = (data: NetParams.PostCreateComment): Promise<NetReq.PostCreateComment> => {
* @param {Object} data
* - @param {array} contents
* - @param {array} users at
* @returns Promise
*/
export const createComment = (data: any) => {
return request({ return request({
method: 'post', method: 'post',
url: '/post/comment', url: '/post/comment',
@ -177,13 +117,8 @@ export const createComment = (data: any) => {
}); });
}; };
/** /** 删除评论 */
* export const deleteComment = (data: NetParams.PostDeleteComment): Promise<NetReq.PostDeleteComment> => {
* @param {Object} data
* - @param {number} id
* @returns Promise
*/
export const deleteComment = (data: any) => {
return request({ return request({
method: 'delete', method: 'delete',
url: '/post/comment', url: '/post/comment',
@ -191,15 +126,8 @@ export const deleteComment = (data: any) => {
}); });
}; };
/** /** 发布评论回复 */
* export const createCommentReply = (data: NetParams.PostCreateCommentReply): Promise<NetReq.PostCreateCommentReply> => {
* @param {Object} data
* - @param {string} content
* - @param {number} comment_id ID
* - @param {number} at_user_id atID
* @returns Promise
*/
export const createCommentReply = (data: any) => {
return request({ return request({
method: 'post', method: 'post',
url: '/post/comment/reply', url: '/post/comment/reply',
@ -207,13 +135,8 @@ export const createCommentReply = (data: any) => {
}); });
}; };
/** /** 删除评论回复 */
* export const deleteCommentReply = (data: NetParams.PostDeleteCommentReply): Promise<NetReq.PostDeleteCommentReply> => {
* @param {Object} data
* - @param {number} id ID
* @returns Promise
*/
export const deleteCommentReply = (data: any) => {
return request({ return request({
method: 'delete', method: 'delete',
url: '/post/comment/reply', url: '/post/comment/reply',

@ -1,16 +1,12 @@
import request from '@/utils/request'; import { request } from '@/utils/request';
/** /** 获取验证码 */
* export const getCaptcha = (params: NetParams.UserGetCaptcha = {}): Promise<NetReq.UserGetCaptcha> => {
* @param {Object} params
* @returns Promise
*/
export const getCaptcha = (params: NetParams.UserGetCaptcha = {}) => {
return request({ return request({
method: 'get', method: 'get',
url: '/captcha', url: '/captcha',
params params
}) as unknown as Promise<NetReq.UserGetCaptcha>; });
}; };
/** /**
@ -31,12 +27,12 @@ export const sendCaptcha = (data: any) => {
* @param {Object} data * @param {Object} data
* @returns Promise * @returns Promise
*/ */
export const sendUserWhisper = (data: NetParams.UserWhisper) => { export const sendUserWhisper = (data: NetParams.UserWhisper): Promise<NetParams.UserWhisper> => {
return request({ return request({
method: 'post', method: 'post',
url: '/user/whisper', url: '/user/whisper',
data data
}) as unknown as Promise<NetParams.UserWhisper>; });
}; };
/** /**
@ -44,20 +40,16 @@ export const sendUserWhisper = (data: NetParams.UserWhisper) => {
* @param {Object} data * @param {Object} data
* @returns Promise * @returns Promise
*/ */
export const bindUserPhone = (data: NetParams.UserBindUserPhone) => { export const bindUserPhone = (data: NetParams.UserBindUserPhone): Promise<NetParams.UserBindUserPhone> => {
return request({ return request({
method: 'post', method: 'post',
url: '/user/phone', url: '/user/phone',
data data
}) as unknown as Promise<NetParams.UserBindUserPhone>; });
}; };
/** /** 更改密码 */
* export const changePassword = (data: NetParams.UserChangePassword): Promise<NetReq.UserChangePassword> => {
* @param {Object} data
* @returns Promise
*/
export const changePassword = (data: any) => {
return request({ return request({
method: 'post', method: 'post',
url: '/user/password', url: '/user/password',
@ -65,12 +57,8 @@ export const changePassword = (data: any) => {
}); });
}; };
/** /** 更改昵称 */
* export const changeNickname = (data: NetParams.UserChangeNickname): Promise<NetReq.UserChangeNickname> => {
* @param {Object} data
* @returns Promise
*/
export const changeNickname = (data: any) => {
return request({ return request({
method: 'post', method: 'post',
url: '/user/nickname', url: '/user/nickname',
@ -91,30 +79,22 @@ export const changeAvatar = (data: any) => {
}); });
}; };
/** /** 获取未读消息数 */
* export const getUnreadMsgCount = (params: NetParams.UserGetUnreadMsgCount = {}): Promise<NetReq.UserGetUnreadMsgCount> => {
* @param {Object} params
* @returns Promise
*/
export const getUnreadMsgCount = (params: NetParams.UserGetUnreadMsgCount = {}) => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/msgcount/unread', url: '/user/msgcount/unread',
params params
}) as unknown as Promise<NetReq.UserGetUnreadMsgCount>; });
}; };
/** /** 获取消息列表 */
* export const getMessages = (params: NetParams.UserGetMessages): Promise<NetReq.UserGetMessages> => {
* @param {Object} params
* @returns Promise
*/
export const getMessages = (params: NetParams.UserGetMessages) => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/messages', url: '/user/messages',
params params
}) as unknown as Promise<NetReq.UserGetMessages>; });
}; };
/** /**
@ -130,69 +110,49 @@ export const readMessage = (data: any) => {
}); });
}; };
/** /** 获取收藏列表 */
* export const getCollections = (params: NetParams.UserGetCollections): Promise<NetReq.UserGetCollections> => {
* @param {Object} params
* @returns Promise
*/
export const getCollections = (params: NetParams.UserGetCollections) => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/collections', url: '/user/collections',
params params
}) as unknown as Promise<NetReq.UserGetCollections>; });
}; };
/** /** 获取点赞列表 */
* export const getStars = (params: NetParams.UserGetStars): Promise<NetReq.UserGetStars> => {
* @param {Object} params
* @returns Promise
*/
export const getStars = (params: NetParams.UserGetStars) => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/stars', url: '/user/stars',
params params
}) as unknown as Promise<NetReq.UserGetStars>; });
}; };
/** /** 获取用户基础信息 */
* export const getUserProfile = (params: NetParams.UserGetUserProfile): Promise<NetReq.UserGetUserProfile> => {
* @param {Object} params
* @returns Promise
*/
export const getUserProfile = (params: NetParams.UserGetUserProfile) => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/profile', url: '/user/profile',
params params
}) as unknown as Promise<NetReq.UserGetUserProfile>; });
}; };
/** /** 获取用户帖子列表 */
* export const getUserPosts = (params: NetParams.UserGetUserPosts): Promise<NetReq.UserGetUserPosts> => {
* @param {Object} params
* @returns Promise
*/
export const getUserPosts = (params: NetParams.UserGetUserPosts) => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/posts', url: '/user/posts',
params params
}) as unknown as Promise<NetReq.UserGetUserPosts>; });
}; };
/** /** 获取账单列表 */
* export const getBills = (params: NetParams.UserGetBills): Promise<NetReq.UserGetBills> => {
* @param {Object} params
* @returns Promise
*/
export const getBills = (params: NetParams.UserGetBills) => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/wallet/bills', url: '/user/wallet/bills',
params params
}) as unknown as Promise<NetReq.UserGetBills>; });
}; };
/** /**
@ -200,12 +160,12 @@ export const getBills = (params: NetParams.UserGetBills) => {
* @param {Object} data * @param {Object} data
* @returns Promise * @returns Promise
*/ */
export const reqRecharge = (data: NetParams.UserReqRecharge) => { export const reqRecharge = (data: NetParams.UserReqRecharge): Promise<NetReq.UserReqRecharge> => {
return request({ return request({
method: 'post', method: 'post',
url: '/user/recharge', url: '/user/recharge',
data data
}) as unknown as Promise<NetReq.UserReqRecharge>; });
}; };
/** /**
@ -213,12 +173,12 @@ export const reqRecharge = (data: NetParams.UserReqRecharge) => {
* @param {Object} params * @param {Object} params
* @returns Promise * @returns Promise
*/ */
export const getRecharge = (params: NetParams.UserGetRecharge) => { export const getRecharge = (params: NetParams.UserGetRecharge): Promise<NetReq.UserGetRecharge> => {
return request({ return request({
method: 'get', method: 'get',
url: '/user/recharge', url: '/user/recharge',
params params
}) as unknown as Promise<NetReq.UserGetRecharge>; });
}; };
/** /**
@ -226,12 +186,12 @@ export const getRecharge = (params: NetParams.UserGetRecharge) => {
* @param {Object} params * @param {Object} params
* @returns Promise * @returns Promise
*/ */
export const getSuggestUsers = (params: { k: string }) => { export const getSuggestUsers = (params: { k: string }): Promise<NetReq.UserGetSuggestUsers> => {
return request({ return request({
method: 'get', method: 'get',
url: '/suggest/users', url: '/suggest/users',
params params
}) as unknown as Promise<NetReq.UserGetSuggestUsers>; });
}; };
/** /**
@ -239,12 +199,12 @@ export const getSuggestUsers = (params: { k: string }) => {
* @param {Object} params * @param {Object} params
* @returns Promise * @returns Promise
*/ */
export const getSuggestTags = (params: { k: string }) => { export const getSuggestTags = (params: { k: string }): Promise<NetReq.UserGetSuggestTags> => {
return request({ return request({
method: 'get', method: 'get',
url: '/suggest/tags', url: '/suggest/tags',
params params
}) as unknown as Promise<NetReq.UserGetSuggestTags>; });
}; };
/** /**
@ -252,12 +212,12 @@ export const getSuggestTags = (params: { k: string }) => {
* @param {Object} params * @param {Object} params
* @returns Promise * @returns Promise
*/ */
export const precheckAttachment = (params: NetParams.UserPrecheckAttachment) => { export const precheckAttachment = (params: NetParams.UserPrecheckAttachment): Promise<NetReq.UserPrecheckAttachment> => {
return request({ return request({
method: 'get', method: 'get',
url: '/attachment/precheck', url: '/attachment/precheck',
params params
}) as unknown as Promise<NetReq.UserPrecheckAttachment>; });
}; };
/** /**
@ -265,10 +225,10 @@ export const precheckAttachment = (params: NetParams.UserPrecheckAttachment) =>
* @param {Object} params * @param {Object} params
* @returns Promise * @returns Promise
*/ */
export const getAttachment = (params: NetParams.UserGetAttachment) => { export const getAttachment = (params: NetParams.UserGetAttachment): Promise<NetReq.UserGetAttachment> => {
return request({ return request({
method: 'get', method: 'get',
url: '/attachment', url: '/attachment',
params params
}) as unknown as Promise<NetReq.UserGetAttachment>; });
}; };

@ -120,13 +120,13 @@ const props = withDefaults(defineProps<{
}>(), {}) }>(), {})
const comment = computed(() => { const comment = computed(() => {
let comment = Object.assign( let comment: Item.CommentComponentProps = Object.assign(
{ {
texts: [], texts: [],
imgs: [], imgs: [],
}, },
props.comment props.comment
) as {texts: Item.CommentProps[], imgs: Item.CommentProps[]} & Item.CommentProps; );
comment.contents.map((content :any) => { comment.contents.map((content :any) => {
if (+content.type === 1 || +content.type === 2) { if (+content.type === 1 || +content.type === 2) {
comment.texts.push(content); comment.texts.push(content);

@ -265,7 +265,7 @@ const finishUpload = ({ file, event }: any): any => {
imageContents.value.push({ imageContents.value.push({
id: file.id, id: file.id,
content: data.data.content, content: data.data.content,
}); } as Item.CommentItemProps);
} }
} }
} catch (error) { } catch (error) {

@ -265,7 +265,7 @@ const uploadType = ref('public/image');
const fileQueue = ref<UploadFileInfo[]>([]); const fileQueue = ref<UploadFileInfo[]>([]);
const imageContents = ref<Item.CommentItemProps[]>([]); const imageContents = ref<Item.CommentItemProps[]>([]);
const videoContents = ref<Item.CommentItemProps[]>([]); const videoContents = ref<Item.CommentItemProps[]>([]);
const attachmentContents = ref<Item.CommentItemProps[]>([]); const attachmentContents = ref<Item.AttachmentProps[]>([]);
const uploadGateway = import.meta.env.VITE_HOST + '/attachment'; const uploadGateway = import.meta.env.VITE_HOST + '/attachment';
const uploadToken = ref(); const uploadToken = ref();
@ -402,19 +402,19 @@ const finishUpload = ({ file, event }: any): any => {
imageContents.value.push({ imageContents.value.push({
id: file.id, id: file.id,
content: data.data.content, content: data.data.content,
}); } as Item.CommentItemProps);
} }
if (uploadType.value === 'public/video') { if (uploadType.value === 'public/video') {
videoContents.value.push({ videoContents.value.push({
id: file.id, id: file.id,
content: data.data.content, content: data.data.content,
}); } as Item.CommentItemProps);
} }
if (uploadType.value === 'attachment') { if (uploadType.value === 'attachment') {
attachmentContents.value.push({ attachmentContents.value.push({
id: file.id, id: file.id,
content: data.data.content, content: data.data.content,
}); } as Item.AttachmentProps);
} }
} }
} catch (error) { } catch (error) {

@ -42,7 +42,7 @@ import { precheckAttachment, getAttachment } from '@/api/user';
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
attachments: Item.AttachmentProps[]; attachments: Item.PostItemProps[];
price?: number; price?: number;
}>(), }>(),
{ {
@ -54,7 +54,7 @@ const showDownloadModal = ref(false);
const downloadTip = ref<any>(''); const downloadTip = ref<any>('');
const attachmentID = ref(0); const attachmentID = ref(0);
const download = (attachment: Item.AttachmentProps) => { const download = (attachment: Item.PostItemProps) => {
showDownloadModal.value = true; showDownloadModal.value = true;
attachmentID.value = attachment.id; attachmentID.value = attachment.id;

@ -197,7 +197,7 @@ const emit = defineEmits<{
const post = computed({ const post = computed({
get: () => { get: () => {
let post: Required<Item.PostProps> = Object.assign( let post: Item.PostComponentProps = Object.assign(
{ {
texts: [], texts: [],
imgs: [], imgs: [],

@ -230,7 +230,7 @@ const defaultImg =
const thumbnail = const thumbnail =
'?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png'; '?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png';
const props = withDefaults(defineProps<{ const props = withDefaults(defineProps<{
imgs: Item.PostProps[], imgs: Item.PostItemProps[],
}>(), { }>(), {
imgs: () => [] imgs: () => []
}); });

@ -101,7 +101,7 @@ const props = withDefaults(defineProps<{
}>(), {}); }>(), {});
const post = computed(() => { const post = computed(() => {
let post: Required<Item.PostProps> = Object.assign( let post: Item.PostComponentProps = Object.assign(
{ {
texts: [], texts: [],
imgs: [], imgs: [],

@ -17,7 +17,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { LinkOutline } from '@vicons/ionicons5'; import { LinkOutline } from '@vicons/ionicons5';
const props = withDefaults(defineProps<{ const props = withDefaults(defineProps<{
links: Item.PostProps[] links: Item.PostItemProps[]
}>(), { }>(), {
links: () => [] links: () => []
}); });

@ -22,7 +22,7 @@ import NVideo from 'nonesir-video';
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
videos: Item.PostProps[]; videos: Item.PostItemProps[];
full?: boolean; full?: boolean;
}>(), }>(),
{ {

@ -1,8 +1,26 @@
declare module NetParams { declare module NetParams {
interface AuthUserLogin { interface AuthUserLogin {
username?: string, /** 用户名 */
password?: string username: string,
/** 密码 */
password: string
}
interface AuthUserRegister {
/** 用户名 */
username: string,
/** 密码 */
password: string
}
type AuthUserInfo = string
interface AuthUpdateUserPassword {
/** 新密码 */
password: string,
/** 旧密码 */
old_password: string
} }
interface UserGetCollections { interface UserGetCollections {
@ -28,6 +46,7 @@ declare module NetParams {
} }
interface UserGetUserPosts { interface UserGetUserPosts {
/** 用户名 */
username: string, username: string,
page: number, page: number,
page_size: number page_size: number
@ -69,6 +88,18 @@ declare module NetParams {
content: string content: string
} }
interface UserChangePassword {
/** 新密码 */
password: string,
/** 旧密码 */
old_password: string
}
interface UserChangeNickname {
/** 昵称 */
nickname: string
}
interface PostGetPost { interface PostGetPost {
id: number id: number
} }
@ -92,11 +123,11 @@ declare module NetParams {
id: number id: number
} }
interface PostGetPostCollection { interface PostPostStar {
id: number id: number
} }
interface PostPostStar { interface PostGetPostCollection {
id: number id: number
} }
@ -114,14 +145,44 @@ declare module NetParams {
} }
interface PostCreatePost { interface PostCreatePost {
contents: { /** 帖子内容列表 */
content: string, contents: Partial<Item.PostItemProps>[],
type: number, /** 标签列表 */
sort: number
}[],
tags: string[], tags: string[],
/** 艾特用户列表 */
users: string[], users: string[],
/** 附件价格 */
attachment_price: number attachment_price: number
} }
interface PostDeletePost {
id: number
}
interface PostCreateComment {
/** 内容ID */
post_id: number,
/** 帖子内容列表 */
contents: Partial<Item.CommentItemProps>[],
/** 艾特用户列表 */
users: string[]
}
interface PostDeleteComment {
id: number
}
interface PostCreateCommentReply {
/** 艾特的用户UID */
at_user_id: number,
/** 回复的评论ID */
comment_id: number,
/** 回复内容 */
content: string
}
interface PostDeleteCommentReply{
id: number
}
} }

@ -1,12 +1,27 @@
declare module NetReq { declare module NetReq {
interface AuthUserLogin { interface AuthUserLogin {
token?: string token: string
}
interface AuthUserRegister {
/** 用户UID */
id: number,
/** 用户名 */
username: string
}
type AuthUserInfo = Item.UserInfo
interface AuthUpdateUserPassword {
} }
interface UserGetCollections { interface UserGetCollections {
list: any[], /** 帖子列表 */
pager: AnyObject list: Item.PostProps[],
/** 页码信息 */
pager: Item.PagerProps
} }
type UserGetSuggestUsers = string[] type UserGetSuggestUsers = string[]
@ -23,17 +38,23 @@ declare module NetReq {
} }
interface UserGetMessages { interface UserGetMessages {
/** 消息列表 */
list: Item.MessageProps[], list: Item.MessageProps[],
/** 页码信息 */
pager: Item.PagerProps pager: Item.PagerProps
} }
interface UserGetUserPosts { interface UserGetUserPosts {
/** 帖子列表 */
list: Item.PostProps[], list: Item.PostProps[],
/** 页码信息 */
pager: Item.PagerProps pager: Item.PagerProps
} }
interface UserGetStars { interface UserGetStars {
/** 帖子列表 */
list: Item.PostProps[], list: Item.PostProps[],
/** 页码信息 */
pager: Item.PagerProps pager: Item.PagerProps
} }
@ -41,6 +62,7 @@ declare module NetReq {
interface UserGetBills { interface UserGetBills {
list: Item.BillProps[], list: Item.BillProps[],
/** 页码信息 */
pager: Item.PagerProps pager: Item.PagerProps
} }
@ -59,33 +81,46 @@ declare module NetReq {
interface UserGetCaptcha { interface UserGetCaptcha {
id: string, id: string,
/** 头像图片 base64 */
b64s: string b64s: string
} }
interface UserChangeNickname {
}
interface UserChangePassword {
}
type PostGetPost = Item.PostProps type PostGetPost = Item.PostProps
interface PostGetPosts { interface PostGetPosts {
/** 帖子列表 */
list: Item.PostProps[], list: Item.PostProps[],
/** 页码信息 */
pager: Item.PagerProps pager: Item.PagerProps
} }
interface PostLockPost { interface PostLockPost {
lock_status: number /** 锁定状态0为未锁定1为锁定 */
lock_status: 0 | 1
} }
interface PostStickPost { interface PostStickPost {
top_status: number /** 置顶状态0为未置顶1为置顶 */
top_status: 0 | 1
} }
interface PostGetPostStar { interface PostGetPostStar {
status: boolean status: boolean
} }
interface PostGetPostCollection { interface PostPostStar {
status: boolean status: boolean
} }
interface PostPostStar { interface PostGetPostCollection {
status: boolean status: boolean
} }
@ -96,9 +131,28 @@ declare module NetReq {
type PostGetTags = Item.TagProps[] type PostGetTags = Item.TagProps[]
interface PostGetPostComments { interface PostGetPostComments {
list: Item.PostProps[] /** 评论列表 */
list: Item.CommentProps[],
/** 页码信息 */
pager: Item.PagerProps
} }
type PostCreatePost = Item.PostProps type PostCreatePost = Item.PostProps
interface PostDeletePost {
}
type PostCreateComment = Item.CommentProps
interface PostDeleteComment {
}
type PostCreateCommentReply = Item.ReplyProps
interface PostDeleteCommentReply{
}
} }

@ -1,85 +1,282 @@
declare module Item { declare module Item {
interface UserInfo { interface UserInfo {
/** 用户UID */
id: number, id: number,
/** 用户名 */
username: string, username: string,
/** 用户昵称 */
nickname: string, nickname: string,
avatar: string /** 用户头像 */
avatar: string,
/** 用户手机号 */
phone?: string,
/** 是否为管理员 */
is_admin: boolean,
/** 用户余额(分) */
balance?: number,
/** 用户状态 */
status?: 0 | 1
} }
/** 评论内容 */
interface CommentItemProps { interface CommentItemProps {
id: number | string, /** 内容ID */
content: string id: number,
/** 评论ID */
comment_id: number,
/** 评论者UID */
user_id: number,
/** 类别1为标题2为文字段落3为图片地址4为视频地址5为语音地址6为链接地址 */
type: number,
/** 内容 */
content: string,
/** 排序,越小越靠前 */
sort: number,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
} }
interface CommentProps extends CommentItemProps { /** 评论数据 */
type: number, interface CommentProps {
id: number,
post_id: number,
/** 评论者UID */
user_id: number,
/** 评论者用户信息 */
user: UserInfo, user: UserInfo,
contents: CommentProps[], /** 评论内容 */
contents: CommentItemProps[],
/** 回复列表 */
replies: ReplyProps[], replies: ReplyProps[],
/** 评论者IP地址 */
ip?: string,
/** 评论者城市地址 */
ip_loc: string, ip_loc: string,
created_on: number /** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
} }
interface CommentComponentProps extends CommentProps {
/** 文字评论列表 */
texts: CommentItemProps[],
/** 图片评论列表 */
imgs: CommentItemProps[]
}
/** 回复内容 */
interface ReplyProps { interface ReplyProps {
/** 内容ID */
id: number, id: number,
/** 评论ID */
comment_id: number,
/** 回复人ID */
user_id: number, user_id: number,
/** 回复人用户数据 */
user: UserInfo, user: UserInfo,
/** 艾特人ID */
at_user_id: number, at_user_id: number,
/** 艾特人用户数据 */
at_user: UserInfo, at_user: UserInfo,
/** 内容 */
content: string, content: string,
/** 回复人IP地址 */
ip?: string,
/** 回复人城市地址 */
ip_loc: string, ip_loc: string,
created_on: number /** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
} }
interface PostProps { /** 帖子内容 */
interface PostItemProps {
/** 内容ID */
id: number, id: number,
/** 类型1为标题2为文字段落3为图片地址4为视频地址5为语音地址6为链接地址7为附件资源8为收费资源 */
type: number, type: number,
/** POST ID */
post_id: number,
/** 内容 */
content: string,
/** 排序,越小越靠前 */
sort: number,
/** 用户UID */
user_id?: number,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1,
}
/** 帖子 */
interface PostProps {
id: number,
/** 发帖人UID */
user_id: number,
/** 发帖人用户数据 */
user: UserInfo, user: UserInfo,
/** 附件价格(分) */
attachment_price: number, attachment_price: number,
/** 发帖时IP地址 */
ip?: string,
/** 发帖时城市地址 */
ip_loc: string, ip_loc: string,
created_on: number, /** 最新回复时间 */
latest_replied_on: number, latest_replied_on: number,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 点赞数 */
upvote_count: number, upvote_count: number,
/** 评论数 */
comment_count: number, comment_count: number,
/** 收藏数 */
collection_count: number, collection_count: number,
content: string, /** 内容列表 */
contents: PostProps[], contents: PostItemProps[],
/** 标签列表 */
tags: {[key: string]: number} | string,
/** 是否锁定 */
is_lock: number, is_lock: number,
/** 是否置顶 */
is_top: number, is_top: number,
texts?: PostProps[], /** 是否精华 */
imgs?: PostProps[], is_essence: number,
videos?: PostProps[], /** 是否删除0为未删除1为已删除 */
links?: PostProps[], is_del?: 0 | 1
attachments?: PostProps[], }
charge_attachments?: PostProps[]
/** 组件用帖子 */
interface PostComponentProps extends PostProps {
/** 文字段落列表 */
texts: PostItemProps[],
/** 图片列表 */
imgs: PostItemProps[],
/** 视频列表 */
videos: PostItemProps[],
/** 链接列表 */
links: PostItemProps[],
/** 附件列表 */
attachments: PostItemProps[],
/** 收费附件列表 */
charge_attachments: PostItemProps[]
} }
interface MessageProps { interface MessageProps {
id: number, id: number,
/** 类型1为动态2为评论3为回复4为私信99为系统通知 */
type: number, type: number,
is_read: number, /** 摘要说明 */
sender_user: UserInfo breif: string,
post: PostProps, /** 详细内容 */
content: string,
/** 是否已读0为未读1为已读 */
is_read: 0 | 1,
/** 发送人UID */
sender_user_id: number,
/** 发送人用户数据 */
sender_user: UserInfo,
/** 接收方UID */
receiver_user_id: number,
/** 帖子ID */
post_id: number, post_id: number,
/** 帖子内容 */
post: PostProps,
/** 评论ID */
comment_id: number,
/** 评论内容 */
comment: CommentProps,
/** 回复ID */
reply_id: number,
/** 回复内容 */
replay: ReplyProps,
/** 创建时间 */
created_on: number, created_on: number,
breif: string /** 修改时间 */
content?: string modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
} }
interface AttachmentProps { interface AttachmentProps {
id: number, id: number,
type: number /** 类别1为图片2为视频3为其他附件 */
type: 1 | 2 | 3,
/** 发布者用户UID */
user_id: number,
/** 发布者用户数据 */
user: UserInfo,
/** 文件大小 */
file_size: number,
/** 图片宽度 */
img_width?: number,
/** 图片高度 */
img_height?: number,
/** 内容 */
content: string,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
} }
interface TagProps { interface TagProps {
id: number, id: number,
quote_num: number, /** 创建者UID */
user_id: number,
/** 创建者用户数据 */
user: UserInfo,
/** 标签名 */
tag: string, tag: string,
user: UserInfo /** 引用数 */
quote_num: number,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
} }
interface PagerProps { interface PagerProps {
/** 当前页码 */
page: number,
/** 每页条数 */
page_size: number,
/** 总条数 */
total_rows: number total_rows: number
} }

@ -1,4 +1,4 @@
import axios from 'axios'; import axios, { AxiosRequestConfig, AxiosRequestHeaders, Method } from 'axios';
const service = axios.create({ const service = axios.create({
baseURL: import.meta.env.VITE_HOST, baseURL: import.meta.env.VITE_HOST,
@ -48,3 +48,7 @@ service.interceptors.response.use(
); );
export default service; export default service;
export function request<T, R>(config: AxiosRequestConfig<T>): Promise<R> {
return service(config) as unknown as Promise<R>;
}

@ -54,7 +54,7 @@ const route = useRoute();
const post = ref<Item.PostProps>({} as Item.PostProps); const post = ref<Item.PostProps>({} as Item.PostProps);
const loading = ref(false); const loading = ref(false);
const commentLoading = ref(false); const commentLoading = ref(false);
const comments = ref<Item.PostProps[]>([]); const comments = ref<Item.CommentProps[]>([]);
const postId = computed(() => +(route.query.id as string)); const postId = computed(() => +(route.query.id as string));
const loadPost = () => { const loadPost = () => {

@ -285,9 +285,9 @@ const modelData = reactive({
imgCaptcha: '', imgCaptcha: '',
phone: '', phone: '',
phone_captcha: '', phone_captcha: '',
password: null, password: "",
old_password: null, old_password: "",
reenteredPassword: null, reenteredPassword: "",
}); });
const beforeUpload = async (data: any) => { const beforeUpload = async (data: any) => {

Loading…
Cancel
Save