Fix custom endpoints
This commit is contained in:
parent
f110df1206
commit
dbd0880295
@ -8,6 +8,7 @@ import {
|
||||
TouchableOpacity,
|
||||
Linking,
|
||||
Image,
|
||||
NativeModules,
|
||||
} from 'react-native';
|
||||
|
||||
import {
|
||||
@ -70,6 +71,12 @@ export default class App extends Component {
|
||||
};
|
||||
|
||||
checkUpdate = async () => {
|
||||
return await this.doUpdate({
|
||||
update: true,
|
||||
pdiffUrl: 'http://localhost:8888/1.pdiff',
|
||||
hash: 'test',
|
||||
});
|
||||
|
||||
let info;
|
||||
try {
|
||||
info = await checkUpdate(appKey);
|
||||
@ -108,17 +115,17 @@ export default class App extends Component {
|
||||
render() {
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<Text style={styles.welcome}>欢迎使用热更新服务</Text>
|
||||
<Text style={styles.welcome}>443欢迎使用热更新服务</Text>
|
||||
<Image
|
||||
resizeMode={'contain'}
|
||||
source={require('./assets/shoucang.png')}
|
||||
source={require('./assets/shezhi.png')}
|
||||
style={styles.image}
|
||||
/>
|
||||
<Text style={styles.instructions}>
|
||||
这是版本一 {'\n'}
|
||||
当前包版本号: {packageVersion}
|
||||
当前原生包版本号: {packageVersion}
|
||||
{'\n'}
|
||||
当前版本Hash: {currentVersion || '(空)'}
|
||||
当前热更新版本Hash: {currentVersion || '(空)'}
|
||||
{'\n'}
|
||||
</Text>
|
||||
<TouchableOpacity onPress={this.checkUpdate}>
|
||||
|
@ -29,6 +29,9 @@ let backupEndpointsQueryUrl =
|
||||
'https://cdn.jsdelivr.net/gh/reactnativecn/react-native-pushy@master/endpoints.json';
|
||||
|
||||
export async function tryBackupEndpoints() {
|
||||
if (!backupEndpoints.length && !backupEndpointsQueryUrl) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
await ping(getStatusUrl(), true);
|
||||
logger('current endpoint ok');
|
||||
@ -73,10 +76,14 @@ export function getCheckUrl(APPKEY, endpoint = currentEndpoint) {
|
||||
return `${endpoint}/checkUpdate/${APPKEY}`;
|
||||
}
|
||||
|
||||
export function setCustomEndpoints(mainEndpoint, backups) {
|
||||
currentEndpoint = mainEndpoint;
|
||||
export function setCustomEndpoints({ main, backups, backupQueryUrl }) {
|
||||
currentEndpoint = main;
|
||||
backupEndpointsQueryUrl = null;
|
||||
if (Array.isArray(backups) && backups.length > 0) {
|
||||
backupEndpoints = backups;
|
||||
pickFatestAvailableEndpoint();
|
||||
}
|
||||
if (typeof backupQueryUrl === 'string') {
|
||||
backupEndpointsQueryUrl = backupQueryUrl;
|
||||
}
|
||||
}
|
||||
|
21
lib/index.d.ts
vendored
21
lib/index.d.ts
vendored
@ -21,7 +21,7 @@ export interface UpdateAvailableResult {
|
||||
metaInfo: string;
|
||||
pdiffUrl: string;
|
||||
diffUrl?: string;
|
||||
};
|
||||
}
|
||||
|
||||
export type CheckResult =
|
||||
| ExpiredResult
|
||||
@ -40,7 +40,18 @@ export function switchVersionLater(hash: string): void;
|
||||
|
||||
export function markSuccess(): void;
|
||||
|
||||
export function setCustomEndpoints(
|
||||
mainEndpoint: string,
|
||||
backupEndpoints?: string[],
|
||||
): void;
|
||||
/**
|
||||
* @param {string} main - The main api endpoint
|
||||
* @param {string[]} [backups] - The back up endpoints.
|
||||
* @param {string} [backupQueryUrl] - An url that return a json file containing an array of endpoint.
|
||||
* like: ["https://backup.api/1", "https://backup.api/2"]
|
||||
*/
|
||||
export function setCustomEndpoints({
|
||||
main,
|
||||
backups,
|
||||
backupQueryUrl,
|
||||
}: {
|
||||
main: string;
|
||||
backUps?: string[];
|
||||
backupQueryUrl?: string;
|
||||
}): void;
|
||||
|
Loading…
x
Reference in New Issue
Block a user