beelink/src/api/index.ts

374 lines
7.8 KiB
TypeScript
Raw Normal View History

2020-10-10 02:19:38 +00:00
import router from '@/router';
import store from '@/store';
2020-10-14 07:30:29 +00:00
import { LiveList, LoginData, UserInfo, VideoInfo } from '@/types';
2020-10-10 02:19:38 +00:00
import { saveValue } from '@/utils/common';
import { message } from 'ant-design-vue';
2020-10-15 06:51:34 +00:00
import { del, get, post, put, setToken } from './base'
2020-09-24 07:33:12 +00:00
2020-10-09 01:45:13 +00:00
2020-10-10 00:59:54 +00:00
/**
*
* @param phone
* @param password
*/
2020-10-10 02:19:38 +00:00
export async function loginpass(phone: string, password: string){
const res = await post<LoginData>("login",{type: 2,username: phone, password: password});
console.log(res.code)
if(res.code == 1){
message.error(res.msg)
}else{
console.log(res.data)
2020-10-14 07:30:29 +00:00
if(!saveValue("token", res.data.api_token) && !saveValue("memberid", res.data.memberid) ){
2020-10-10 02:19:38 +00:00
message.error("存储错误, 请允许网页使用本地存储!")
}else{
setToken();
2020-10-14 01:32:12 +00:00
store.commit("login", true);
2020-10-10 06:34:23 +00:00
store.dispatch("setUserInfo");
2020-10-10 02:19:38 +00:00
router.push("/mine/archives")
}
}
2020-10-09 06:31:10 +00:00
}
2020-10-10 00:59:54 +00:00
/**
2020-10-10 02:19:38 +00:00
*
2020-10-10 00:59:54 +00:00
*/
2020-10-10 02:19:38 +00:00
export async function userinfo(){
const user = await get<UserInfo>('personalInfo');
2020-10-14 07:30:29 +00:00
// console.log(user.data.img)
2020-10-10 06:34:23 +00:00
if(user.code == 1001){
2020-10-15 01:21:00 +00:00
router.push("/")
2020-10-10 06:34:23 +00:00
return '未登录';
}
2020-10-10 02:19:38 +00:00
return {
2020-10-14 07:30:29 +00:00
head: user.data.img,
username: user.data.name,
language: user.data.language,
currency: user.data.currency,
zoneStr: user.data.zoneStr,
memberid: user.data.memberid,
country: user.data.country,
live: user.data.live,
mtongue: user.data.mtongue,
tlanguage: user.data.tlanguage,
willsay: user.data.willsay,
interest: user.data.interest,
mobile: user.data.mobile,
email: user.data.email,
birthday: user.data.birthday,
video: user.data.video,
desc: user.data.desc,
money: user.data.money
2020-10-10 02:19:38 +00:00
}
}
2020-10-12 02:50:58 +00:00
/**
*
*/
interface Wallect {
wallectid: number;
memberid: number;
type: number;
account: string;
mname: string;
bankcode: string;
bankname: string;
deleted_at: null;
created_at: string;
updated_at: string;
typeName: string;
}
export async function getwallect(){
const res = await get<Array<Wallect>>('wallect')
console.log(res)
}
/**
*
*/
interface Teacherliked {
memberid: number;
name: string;
img: string;
live: string;
birthday: string;
mtongue: string;
interest: string;
}
export async function getteacherliked(){
const res = await get<Array<Teacherliked>>('teacherliked');
console.log(res)
}
/**
*
*/
interface VideoList{
videoid: number;
memberid: number;
title: string;
img: string;
fileid: string;
fileurl: string;
fileduration: string;
status: number;
desc: string;
deleted_at: null;
created_at: string;
updated_at: string;
statusname: string;
}
2020-10-14 07:30:29 +00:00
export async function getvideolist(): Promise<VideoList[]> {
2020-10-12 02:50:58 +00:00
const res = await get<Array<VideoList>>('video')
console.log(res)
2020-10-14 07:30:29 +00:00
return res.data
2020-10-12 02:50:58 +00:00
}
/**
*
*/
2020-10-14 00:57:57 +00:00
2020-10-14 07:30:29 +00:00
export async function getlivelist(data?:any):Promise<LiveList[]> {
2020-10-14 00:57:57 +00:00
const res = await get<Array<LiveList>>('live',data);
// console.log(res);
return res.data
2020-10-12 09:27:05 +00:00
}
/**
*
*/
2020-10-14 02:25:49 +00:00
interface StatisticList{
liveInfo: any;
videoInfo: any;
studentInfo: any;
}
2020-10-12 09:27:05 +00:00
export async function getstatisticlist() {
const res = await get<StatisticList>('statistics');
// console.log(res)
return {
2020-10-14 07:30:29 +00:00
liveInfo: res.data.liveInfo,
videoInfo:res.data.videoInfo,
studentInfo:res.data.studentInfo
2020-10-12 09:27:05 +00:00
}
2020-10-14 00:57:57 +00:00
}
/**
*
*/
interface Liveaddrule{
2020-10-15 06:51:34 +00:00
code: number,
msg: string
2020-10-14 02:25:49 +00:00
}
export async function liveadd(data:any) {
2020-10-14 00:57:57 +00:00
const res = await post<Liveaddrule>('live',data);
console.log(res)
2020-10-14 07:30:29 +00:00
}
/**
*
*/
2020-10-15 08:17:39 +00:00
export async function videoadd( form: any,data: any) {
2020-10-14 07:30:29 +00:00
const res=await post<Liveaddrule>('video',data)
2020-10-14 10:52:50 +00:00
if(res.code==0){
message.success("发布成功")
2020-10-15 08:17:39 +00:00
form.value = {
title: "",
img: "",
fileid: "",
fileurl: "",
fileduration: "",
desc: "",
video:[""],
}
2020-10-14 10:52:50 +00:00
}
2020-10-14 07:30:29 +00:00
}
/**
*
*/
interface VideoDetail{
videoid: number;
memberid: number;
title: string;
img: string;
fileid: string;
fileurl: string;
fileduration: string;
status: number;
desc: string;
deleted_at: null;
created_at: string;
updated_at: string;
2020-10-14 08:27:24 +00:00
share:number,
watch:number
2020-10-14 07:30:29 +00:00
}
2020-10-14 10:52:50 +00:00
export async function videodetail(data?:any,ifupdate?:number) {
2020-10-14 07:30:29 +00:00
const res=await get<VideoDetail>('video/'+data)
2020-10-14 10:52:50 +00:00
if(ifupdate){
console.log(111)
return{
title: res.data.title,
img: res.data.img,
fileid: res.data.fileid,
fileurl: res.data.fileurl,
fileduration: res.data.fileduration,
desc:res.data.desc,
video:[res.data.fileurl],
}
}else{
return {
videoid: res.data.videoid,
memberid: res.data.memberid,
title: res.data.title,
img: res.data.img,
fileid: res.data.fileid,
fileurl: res.data.fileurl,
fileduration: res.data.fileduration,
status: res.data.status,
desc: res.data.desc,
deleted_at: res.data.deleted_at,
created_at: res.data.created_at,
updated_at: res.data.updated_at,
watch:res.data.watch,
share:res.data.share
}
2020-10-14 08:27:24 +00:00
}
2020-10-14 10:52:50 +00:00
2020-10-14 07:30:29 +00:00
}
2020-10-14 08:27:24 +00:00
2020-10-14 07:30:29 +00:00
/**
*
*/
export async function videodel(data:any) {
2020-10-14 10:52:50 +00:00
const res = await del<Liveaddrule>('video/'+data);
if(res.code==0){
message.success("删除成功")
}
2020-10-14 07:30:29 +00:00
console.log(res)
2020-10-14 02:25:49 +00:00
}
/**
*
* @param phone
* @param type 1 0
*/
interface SendSms{
code: number;
msg: string;
}
export async function sendsms(phone: string, type: number): Promise<boolean>{
const res = await post<SendSms>("SendSms", {phone, type});
console.log(res);
if(res.code == 0){
message.success(res.msg);
return true;
}else{
message.error(res.msg);
return false;
}
}
2020-10-14 08:21:40 +00:00
/**
2020-10-14 10:55:15 +00:00
*
2020-10-14 08:21:40 +00:00
*/
interface Countries{
id: number;
name: string;
country_code: string;
}
interface Willsay{
languageid: number;
name: string
}
export async function getarchives(): Promise<[Countries[],Willsay[]]>{
return [(await get<Countries[]>("countries")).data, (await get<Willsay[]>("willsay")).data];
}
2020-10-14 10:55:15 +00:00
/**
*
*/
interface Language {
dictionaryid: number;
name: string;
alias: string;
code :string;
position: number;
publish: number;
value: string;
deleted_at: null;
created_at: string;
updated_at: string;
}
export async function getlanguages(): Promise<Language[]>{
return (await get<Language[]>("languages")).data;
2020-10-15 06:51:34 +00:00
}
/**
*
*/
export async function putmember(data: unknown): Promise<Liveaddrule>{
return (await put<Liveaddrule>(`member/${store.state.userinfo.memberid}`, data) )
2020-10-15 11:06:30 +00:00
}
/**
*
*
*/
interface LiveInfo {
liveid: number;
title: string;
img: string;
fileid: string;
fileurl: string;
fileduration: string;
vodid: string;
vodurl: string;
vodduration: string;
dateline: string;
livetime: number;
livenumber: number;
status: number;
desc: string;
deleted_at: null;
created_at: string;
updated_at: string;
}
interface StudentList {
memberid: number;
name: string;
img: string;
}
export async function getliveinfo(id: number){
const liveinfo = (await get<LiveInfo>(`live/${id}`)).data;
const studentlist = (await get<StudentList[]>("studentLive",{id})).data;
return {...liveinfo,studentlist}
2020-10-14 10:55:15 +00:00
}