Skip to content

Commit 78b2956

Browse files
committed
refactor: 修改rn-storage的写法, 不允许简化写法
1 parent 11587b5 commit 78b2956

File tree

2 files changed

+60
-73
lines changed

2 files changed

+60
-73
lines changed

src/shared/api/rn-storage.api.ts

+3-22
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,10 @@ const storage = new Storage({
2929
});
3030

3131
const rnStorage = {
32-
set: async (key: string | {}, data?: any) => {
32+
set: async (key: string, data: any) => {
3333
try {
3434
if (!!key && typeof key === 'string' && !_isNil(data)) {
3535
await storage.save({ key, data });
36-
} else if (!!key && typeof key === 'object' && !data) {
37-
for (const subKey in key) {
38-
if (key.hasOwnProperty(subKey)) {
39-
await storage.save({
40-
key: subKey,
41-
data: key[subKey],
42-
});
43-
}
44-
}
4536
}
4637
} catch (e) {
4738
console.error(e);
@@ -50,7 +41,7 @@ const rnStorage = {
5041
return data;
5142
},
5243
get: async (key: string, defaultVal?: any) => {
53-
let res;
44+
let res: any;
5445
try {
5546
res = await storage.load({
5647
key,
@@ -74,24 +65,14 @@ const rnStorage = {
7465
* 持久化存储, 永不过期
7566
* TODO: 移除key允许为对象的写法
7667
*/
77-
save: async (key: string | {}, data?: {}) => {
68+
save: async (key: string, data: any) => {
7869
try {
7970
if (!!key && typeof key === 'string' && !_isNil(data)) {
8071
await storage.save({
8172
key,
8273
data,
8374
expires: null,
8475
});
85-
} else if (!!key && typeof key === 'object' && !data) {
86-
for (const subKey in key) {
87-
if (key.hasOwnProperty(subKey)) {
88-
await storage.save({
89-
key: subKey,
90-
data: key[subKey],
91-
expires: null,
92-
});
93-
}
94-
}
9576
}
9677
} catch (e) {
9778
console.error(e);

src/shared/redux/actions/user.ts

+57-51
Original file line numberDiff line numberDiff line change
@@ -86,25 +86,27 @@ function loginSuccess(dispatch, getState) {
8686
}, 0);
8787
}
8888

89-
export const login = function(username: string, password: string): TRPGAction {
90-
return function(dispatch, getState) {
89+
export const login = function (username: string, password: string): TRPGAction {
90+
return function (dispatch, getState) {
9191
password = md5(password);
9292
const isApp = config.platform === 'app';
9393
dispatch({ type: LOGIN_REQUEST });
9494
return api.emit(
9595
'player::login',
9696
{ username, password, platform: config.platform, isApp },
97-
function(data) {
97+
function (data) {
9898
dispatch(hideLoading());
9999

100100
if (data.result) {
101101
// 登录成功
102102
const { uuid, token, app_token } = data.info;
103103
if (isApp) {
104104
// 如果是app的话,则永久储存
105-
rnStorage.save({ uuid, token: app_token });
105+
rnStorage.save('uuid', uuid);
106+
rnStorage.save('token', app_token);
106107
} else {
107-
rnStorage.set({ uuid, token });
108+
rnStorage.set('uuid', uuid);
109+
rnStorage.set('token', token);
108110
}
109111
console.log('set user token, user:', uuid);
110112
data.info.avatar = config.file.getAbsolutePath!(data.info.avatar);
@@ -127,18 +129,18 @@ export const login = function(username: string, password: string): TRPGAction {
127129
};
128130
};
129131

130-
export const loginWithToken = function(
132+
export const loginWithToken = function (
131133
uuid: string,
132134
token: string,
133135
channel: any = null
134136
): TRPGAction {
135-
return function(dispatch, getState) {
137+
return function (dispatch, getState) {
136138
const isApp = config.platform === 'app';
137139
dispatch({ type: LOGIN_REQUEST });
138140
return api.emit(
139141
'player::loginWithToken',
140142
{ uuid, token, platform: config.platform, isApp, channel },
141-
function(data) {
143+
function (data) {
142144
if (data.result) {
143145
data.info.avatar = config.file.getAbsolutePath!(data.info.avatar);
144146
dispatch({ type: LOGIN_TOKEN_SUCCESS, payload: data.info, isApp });
@@ -164,23 +166,23 @@ export const loginWithToken = function(
164166
};
165167

166168
// 重新获取一次用户登录后的数据
167-
export const updateAllInfo = function(): TRPGAction {
168-
return function(dispatch, getState) {
169+
export const updateAllInfo = function (): TRPGAction {
170+
return function (dispatch, getState) {
169171
if (getState().user.isLogin === true) {
170172
loginSuccess(dispatch, getState);
171173
}
172174
};
173175
};
174176

175-
export const logout = function(): TRPGAction {
177+
export const logout = function (): TRPGAction {
176178
const isApp = config.platform === 'app';
177-
return function(dispatch, getState) {
179+
return function (dispatch, getState) {
178180
const info = getState().user.info;
179181
const uuid = info.uuid;
180182
const token = isApp ? info.app_token : info.token;
181183
dispatch(showLoading());
182184
dispatch({ type: LOGOUT });
183-
api.emit('player::logout', { uuid, token, isApp }, function(data) {
185+
api.emit('player::logout', { uuid, token, isApp }, function (data) {
184186
dispatch(hideLoading());
185187
if (data.result) {
186188
rnStorage.remove('uuid');
@@ -196,15 +198,17 @@ export const logout = function(): TRPGAction {
196198
};
197199
};
198200

199-
export const register = function(
201+
export const register = function (
200202
username: string,
201203
password: string,
202204
onSuccess: () => void
203205
): TRPGAction {
204206
password = md5(password);
205-
return function(dispatch, getState) {
207+
return function (dispatch, getState) {
206208
dispatch({ type: REGISTER_REQUEST });
207-
return api.emit('player::register', { username, password }, function(data) {
209+
return api.emit('player::register', { username, password }, function (
210+
data
211+
) {
208212
dispatch(hideLoading());
209213
console.log(data);
210214
if (data.result) {
@@ -227,8 +231,8 @@ export const register = function(
227231
/**
228232
* 获取用于web鉴权的jwt
229233
*/
230-
export const fetchWebToken = function(): TRPGAction {
231-
return function(dispatch, getState) {
234+
export const fetchWebToken = function (): TRPGAction {
235+
return function (dispatch, getState) {
232236
return api.emit('player::getWebToken', null, (data) => {
233237
const token = data.jwt ?? null;
234238
if (_isNil(token)) {
@@ -250,7 +254,7 @@ export const fetchWebToken = function(): TRPGAction {
250254
*/
251255
function getUserInitData(): TRPGAction {
252256
return (dispatch, getState) => {
253-
return api.emit('player::getUserInitData', {}, function(data) {
257+
return api.emit('player::getUserInitData', {}, function (data) {
254258
if (!data.result) {
255259
console.error(data.msg);
256260
return;
@@ -293,12 +297,12 @@ function getUserInitData(): TRPGAction {
293297
};
294298
}
295299

296-
export const findUser = function(text: string, type: string): TRPGAction {
297-
return function(dispatch, getState) {
300+
export const findUser = function (text: string, type: string): TRPGAction {
301+
return function (dispatch, getState) {
298302
dispatch({ type: FIND_USER_REQUEST });
299303

300304
console.log({ text, type });
301-
return api.emit('player::findUser', { text, type }, function(data) {
305+
return api.emit('player::findUser', { text, type }, function (data) {
302306
console.log('findUser', data);
303307
if (data.result) {
304308
const list = data.results;
@@ -319,12 +323,12 @@ export const findUser = function(text: string, type: string): TRPGAction {
319323
};
320324
};
321325

322-
export const updateInfo = function(
326+
export const updateInfo = function (
323327
updatedData: {},
324328
onSuccess?: () => void
325329
): TRPGAction {
326-
return function(dispatch, getState) {
327-
return api.emit('player::updateInfo', updatedData, function(data) {
330+
return function (dispatch, getState) {
331+
return api.emit('player::updateInfo', updatedData, function (data) {
328332
if (data.result) {
329333
data.user.avatar = config.file.getAbsolutePath!(data.user.avatar);
330334
dispatch({ type: UPDATE_INFO_SUCCESS, payload: data.user });
@@ -336,19 +340,19 @@ export const updateInfo = function(
336340
};
337341
};
338342

339-
export const changePassword = function(
343+
export const changePassword = function (
340344
oldPassword: string,
341345
newPassword: string,
342346
onSuccess?: () => void,
343347
onError?: (msg: string) => void
344348
): TRPGAction {
345349
oldPassword = md5(oldPassword);
346350
newPassword = md5(newPassword);
347-
return function(dispatch, getState) {
351+
return function (dispatch, getState) {
348352
return api.emit(
349353
'player::changePassword',
350354
{ oldPassword, newPassword },
351-
function(data) {
355+
function (data) {
352356
if (data.result) {
353357
console.log('密码修改成功');
354358
onSuccess && onSuccess();
@@ -365,9 +369,9 @@ export const changePassword = function(
365369
* 发送好友请求
366370
* @param uuid 目标用户UUID
367371
*/
368-
export const sendFriendRequest = function(uuid: string): TRPGAction {
369-
return function(dispatch, getState) {
370-
return api.emit('player::sendFriendInvite', { to: uuid }, function(data) {
372+
export const sendFriendRequest = function (uuid: string): TRPGAction {
373+
return function (dispatch, getState) {
374+
return api.emit('player::sendFriendInvite', { to: uuid }, function (data) {
371375
if (data.result) {
372376
dispatch(showToast('请求已发送'));
373377
dispatch({
@@ -383,29 +387,31 @@ export const sendFriendRequest = function(uuid: string): TRPGAction {
383387
};
384388
export const sendFriendInvite = sendFriendRequest; // 兼容旧名字
385389

386-
export const agreeFriendInvite = function(inviteUUID: string): TRPGAction {
387-
return function(dispatch, getState) {
388-
return api.emit('player::agreeFriendInvite', { uuid: inviteUUID }, function(
389-
data
390-
) {
391-
if (data.result) {
392-
checkUser(data.invite.from_uuid);
393-
dispatch({ type: AGREE_FRIEND_INVITE_SUCCESS, payload: data.invite });
394-
getFriendInviteInfoCache.refresh(inviteUUID); // 操作成功后重新获取邀请信息缓存
395-
} else {
396-
console.error(data.msg);
397-
dispatch(showAlert(data.msg));
390+
export const agreeFriendInvite = function (inviteUUID: string): TRPGAction {
391+
return function (dispatch, getState) {
392+
return api.emit(
393+
'player::agreeFriendInvite',
394+
{ uuid: inviteUUID },
395+
function (data) {
396+
if (data.result) {
397+
checkUser(data.invite.from_uuid);
398+
dispatch({ type: AGREE_FRIEND_INVITE_SUCCESS, payload: data.invite });
399+
getFriendInviteInfoCache.refresh(inviteUUID); // 操作成功后重新获取邀请信息缓存
400+
} else {
401+
console.error(data.msg);
402+
dispatch(showAlert(data.msg));
403+
}
398404
}
399-
});
405+
);
400406
};
401407
};
402408

403-
export const refuseFriendInvite = function(inviteUUID: string): TRPGAction {
404-
return function(dispatch, getState) {
409+
export const refuseFriendInvite = function (inviteUUID: string): TRPGAction {
410+
return function (dispatch, getState) {
405411
return api.emit(
406412
'player::refuseFriendInvite',
407413
{ uuid: inviteUUID },
408-
function(data) {
414+
function (data) {
409415
if (data.result) {
410416
dispatch({ type: REFUSE_FRIEND_INVITE_SUCCESS, payload: data.res });
411417
getFriendInviteInfoCache.refresh(inviteUUID); // 操作成功后重新获取邀请信息缓存
@@ -417,7 +423,7 @@ export const refuseFriendInvite = function(inviteUUID: string): TRPGAction {
417423
};
418424
};
419425

420-
export const addFriendInvite = function(invite: any): TRPGAction {
426+
export const addFriendInvite = function (invite: any): TRPGAction {
421427
return { type: ADD_FRIEND_INVITE, payload: invite };
422428
};
423429

@@ -445,16 +451,16 @@ export const requestRemoveFriendInvite = createAsyncThunk<
445451
}
446452
});
447453

448-
export const saveSettings = function(): TRPGAction {
449-
return function(dispatch, getState) {
454+
export const saveSettings = function (): TRPGAction {
455+
return function (dispatch, getState) {
450456
const settings = getState().settings;
451457
return api.emit(
452458
'player::saveSettings',
453459
{
454460
userSettings: settings.user,
455461
systemSettings: settings.system,
456462
},
457-
function(data) {
463+
function (data) {
458464
if (!data.result) {
459465
console.error(data);
460466
}

0 commit comments

Comments
 (0)