Small fix

This commit is contained in:
saplf
2019-09-08 17:37:56 +08:00
parent b65b7c611e
commit 240daa107e
7 changed files with 44 additions and 25 deletions

View File

@@ -111,7 +111,7 @@
"frameworks" : [] /*Native.jsObjective-c APIFrameWorkGameCenter"GameKit.framework"*/ "frameworks" : [] /*Native.jsObjective-c APIFrameWorkGameCenter"GameKit.framework"*/
}, },
"google" : { "google" : {
"packagename" : "org.faronear.fiv", /*Androidio.dcloud.HelloH5*/ "packagename" : "org.tacever.fiv", /*Androidio.dcloud.HelloH5*/
"keystore" : "unpackage/key/fiv.keystore", /*Android使*/ "keystore" : "unpackage/key/fiv.keystore", /*Android使*/
"password" : "fiv2019lwhx", /*Android使*/ "password" : "fiv2019lwhx", /*Android使*/
"aliasname" : "fiv", /*Android使*/ "aliasname" : "fiv", /*Android使*/

View File

@@ -9,8 +9,8 @@ export default {
], ],
baseURL: 'https://server.fiv.tacever.org/v1', baseURL: 'https://server.fiv.tacever.org/v1',
// baseURL: 'http://yapi.faronear.org/mock/20/v1', // baseURL: 'http://yapi.faronear.org/mock/20/v1',
linkAndroid: 'xxx', linkAndroid: 'https://fivhome.github.io/app/android.apk',
linkIOS: '', linkIOS: 'https://fivapp.github.io',
linkTelegram: 'https://t.me/fivhome', linkTelegram: 'https://t.me/fivhome',
linkEmail: 'team-fiv@outlook.com', linkEmail: 'team-fiv@outlook.com',
}; };

View File

@@ -19,11 +19,8 @@ const MinePage: React.FC<HomeMineModelState & DispatchProp> = ({
}) => { }) => {
useEffect(() => { useEffect(() => {
if (!data || errorList) { if (!data || errorList || !info || errorBasic) {
dispatch({ type: 'homeMine/loadList', payload: false }); dispatch({ type: 'homeMine/load' });
}
if (!info || errorBasic) {
dispatch({ type: 'homeMine/loadBasic' });
} }
}, []); }, []);

View File

@@ -2,6 +2,7 @@ import { Model } from 'dva';
import { Mines, MineBasic } from '@/types/common'; import { Mines, MineBasic } from '@/types/common';
import { getMineList, getMineBasic, refresh, RefreshData } from './service'; import { getMineList, getMineBasic, refresh, RefreshData } from './service';
import { message } from 'antd'; import { message } from 'antd';
import { loadMineList } from '@/utils/storage';
export interface HomeMineModelState { export interface HomeMineModelState {
refreshingList: boolean; refreshingList: boolean;
@@ -27,6 +28,18 @@ const MineModel: Model = {
} as HomeMineModelState, } as HomeMineModelState,
effects: { effects: {
*load(_, { put, all }) {
const cached = loadMineList();
if (cached && cached.length) {
yield all([
put({ type: 'loadList', payload: false }),
put({ type: 'loadBasic' }),
]);
} else {
yield put({ type: 'refresh' });
}
},
*loadList({ payload: refresh }, { put, call, select }) { *loadList({ payload: refresh }, { put, call, select }) {
const { refreshingList } = yield select((state: any) => state.homeMine); const { refreshingList } = yield select((state: any) => state.homeMine);
if (refreshingList) return; if (refreshingList) return;
@@ -81,8 +94,11 @@ const MineModel: Model = {
}, },
*refresh(_, { put, call, select }) { *refresh(_, { put, call, select }) {
const { refreshingBasic } = yield select((state: any) => state.homeMine); const {
if (refreshingBasic) return; homeMine: { refreshingBasic, refreshingList },
user: { user },
} = yield select();
if (refreshingBasic || refreshingList || !user) return;
yield put({ yield put({
type: 'onUpdateState', type: 'onUpdateState',
@@ -92,7 +108,8 @@ const MineModel: Model = {
errorList: false, errorList: false,
}); });
try { try {
const info = (yield call(refresh)) as RefreshData; const info = (yield call(refresh, user.inviter)) as RefreshData;
if (info && info.basic) {
yield put({ yield put({
type: 'onUpdateState', type: 'onUpdateState',
info: info.basic, info: info.basic,
@@ -101,6 +118,7 @@ const MineModel: Model = {
refreshingList: false, refreshingList: false,
errorBasic: false, errorBasic: false,
}); });
}
} catch (e) { } catch (e) {
message.error(e.message); message.error(e.message);
yield put({ yield put({
@@ -108,6 +126,7 @@ const MineModel: Model = {
refreshingBasic: false, refreshingBasic: false,
refreshingList: false, refreshingList: false,
errorBasic: true, errorBasic: true,
errorList: true,
}); });
} }
}, },

View File

@@ -39,15 +39,17 @@ export async function getMineList(refresh = false): Promise<Mines> {
throw Error(msg); throw Error(msg);
} }
export async function refresh(): Promise<RefreshData> { export async function refresh(inviter: string): Promise<RefreshData> {
const { const {
ok, ok,
data, data,
msg, msg,
} = await http.get<RefreshData>('/fund/refresh'); } = await http.get<RefreshData>('/fund/refresh', { inviter });
if (ok && data) { if (ok) {
storeMineList(data); if (data && data.list) {
return data; storeMineList(data.list);
}
return data as any;
} }
throw Error(msg); throw Error(msg);
} }

View File

@@ -12,6 +12,7 @@ export interface User {
email?: string; email?: string;
token: string; token: string;
inviteCode: string; inviteCode: string;
inviter: string;
} }
export enum SendCodeType { export enum SendCodeType {

View File

@@ -97,7 +97,7 @@ async function filter<T>(
function groupUrl(url: string, params?: any): string { function groupUrl(url: string, params?: any): string {
const postfix = _.keys(params || {}) const postfix = _.keys(params || {})
.map(key => `${key}=${encodeURIComponent(params[key]) || ''}`) .map(key => `${key}=${encodeURIComponent(params[key] || '') || ''}`)
.join('&'); .join('&');
if (!postfix) return url; if (!postfix) return url;
return `${url}?${postfix}`; return `${url}?${postfix}`;