From 240daa107e522a659b75dbb9aa3ddcbc78d14749 Mon Sep 17 00:00:00 2001 From: saplf Date: Sun, 8 Sep 2019 17:37:56 +0800 Subject: [PATCH] Small fix --- h5pack/manifest.json | 2 +- src/config.ts | 4 ++-- src/pages/home/estate/index.tsx | 7 ++---- src/pages/home/estate/model.ts | 41 +++++++++++++++++++++++--------- src/pages/home/estate/service.ts | 12 ++++++---- src/types/common.ts | 1 + src/utils/http.ts | 2 +- 7 files changed, 44 insertions(+), 25 deletions(-) diff --git a/h5pack/manifest.json b/h5pack/manifest.json index 7defa00..8f3fa22 100644 --- a/h5pack/manifest.json +++ b/h5pack/manifest.json @@ -111,7 +111,7 @@ "frameworks" : [] /*调用Native.js调用原生Objective-c API需要引用的FrameWork,如需调用GameCenter,则添加"GameKit.framework"*/ }, "google" : { - "packagename" : "org.faronear.fiv", /*Android应用包名,如io.dcloud.HelloH5*/ + "packagename" : "org.tacever.fiv", /*Android应用包名,如io.dcloud.HelloH5*/ "keystore" : "unpackage/key/fiv.keystore", /*Android应用打包使用的密钥库文件*/ "password" : "fiv2019lwhx", /*Android应用打包使用密钥库中证书的密码*/ "aliasname" : "fiv", /*Android应用打包使用密钥库中证书的别名*/ diff --git a/src/config.ts b/src/config.ts index 18b3d82..321ee44 100644 --- a/src/config.ts +++ b/src/config.ts @@ -9,8 +9,8 @@ export default { ], baseURL: 'https://server.fiv.tacever.org/v1', // baseURL: 'http://yapi.faronear.org/mock/20/v1', - linkAndroid: 'xxx', - linkIOS: '', + linkAndroid: 'https://fivhome.github.io/app/android.apk', + linkIOS: 'https://fivapp.github.io', linkTelegram: 'https://t.me/fivhome', linkEmail: 'team-fiv@outlook.com', }; diff --git a/src/pages/home/estate/index.tsx b/src/pages/home/estate/index.tsx index 13d4937..85023ef 100644 --- a/src/pages/home/estate/index.tsx +++ b/src/pages/home/estate/index.tsx @@ -19,11 +19,8 @@ const MinePage: React.FC = ({ }) => { useEffect(() => { - if (!data || errorList) { - dispatch({ type: 'homeMine/loadList', payload: false }); - } - if (!info || errorBasic) { - dispatch({ type: 'homeMine/loadBasic' }); + if (!data || errorList || !info || errorBasic) { + dispatch({ type: 'homeMine/load' }); } }, []); diff --git a/src/pages/home/estate/model.ts b/src/pages/home/estate/model.ts index 83224da..e2fc9b3 100644 --- a/src/pages/home/estate/model.ts +++ b/src/pages/home/estate/model.ts @@ -2,6 +2,7 @@ import { Model } from 'dva'; import { Mines, MineBasic } from '@/types/common'; import { getMineList, getMineBasic, refresh, RefreshData } from './service'; import { message } from 'antd'; +import { loadMineList } from '@/utils/storage'; export interface HomeMineModelState { refreshingList: boolean; @@ -27,6 +28,18 @@ const MineModel: Model = { } as HomeMineModelState, 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 }) { const { refreshingList } = yield select((state: any) => state.homeMine); if (refreshingList) return; @@ -81,8 +94,11 @@ const MineModel: Model = { }, *refresh(_, { put, call, select }) { - const { refreshingBasic } = yield select((state: any) => state.homeMine); - if (refreshingBasic) return; + const { + homeMine: { refreshingBasic, refreshingList }, + user: { user }, + } = yield select(); + if (refreshingBasic || refreshingList || !user) return; yield put({ type: 'onUpdateState', @@ -92,15 +108,17 @@ const MineModel: Model = { errorList: false, }); try { - const info = (yield call(refresh)) as RefreshData; - yield put({ - type: 'onUpdateState', - info: info.basic, - data: info.list, - refreshingBasic: false, - refreshingList: false, - errorBasic: false, - }); + const info = (yield call(refresh, user.inviter)) as RefreshData; + if (info && info.basic) { + yield put({ + type: 'onUpdateState', + info: info.basic, + data: info.list, + refreshingBasic: false, + refreshingList: false, + errorBasic: false, + }); + } } catch (e) { message.error(e.message); yield put({ @@ -108,6 +126,7 @@ const MineModel: Model = { refreshingBasic: false, refreshingList: false, errorBasic: true, + errorList: true, }); } }, diff --git a/src/pages/home/estate/service.ts b/src/pages/home/estate/service.ts index f51a2c1..e624d53 100644 --- a/src/pages/home/estate/service.ts +++ b/src/pages/home/estate/service.ts @@ -39,15 +39,17 @@ export async function getMineList(refresh = false): Promise { throw Error(msg); } -export async function refresh(): Promise { +export async function refresh(inviter: string): Promise { const { ok, data, msg, - } = await http.get('/fund/refresh'); - if (ok && data) { - storeMineList(data); - return data; + } = await http.get('/fund/refresh', { inviter }); + if (ok) { + if (data && data.list) { + storeMineList(data.list); + } + return data as any; } throw Error(msg); } diff --git a/src/types/common.ts b/src/types/common.ts index 14ca8c8..406b2b2 100644 --- a/src/types/common.ts +++ b/src/types/common.ts @@ -12,6 +12,7 @@ export interface User { email?: string; token: string; inviteCode: string; + inviter: string; } export enum SendCodeType { diff --git a/src/utils/http.ts b/src/utils/http.ts index 1e57593..768326a 100644 --- a/src/utils/http.ts +++ b/src/utils/http.ts @@ -97,7 +97,7 @@ async function filter( function groupUrl(url: string, params?: any): string { const postfix = _.keys(params || {}) - .map(key => `${key}=${encodeURIComponent(params[key]) || ''}`) + .map(key => `${key}=${encodeURIComponent(params[key] || '') || ''}`) .join('&'); if (!postfix) return url; return `${url}?${postfix}`;