Skip to content

Commit

Permalink
feat: store page
Browse files Browse the repository at this point in the history
  • Loading branch information
lovegaoshi committed Nov 27, 2024
1 parent 504f836 commit 3fdc865
Show file tree
Hide file tree
Showing 11 changed files with 7,887 additions and 4,022 deletions.
2 changes: 1 addition & 1 deletion docs/docs/developer/add-fetcher.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Alternatively one may simply ignore these two fetch functions, as long as regexF

There are two common functions written for `paginatedFetch` in `paginatedfetch.ts`, `fetchPaginatedAPI` and `fetchAwaitPaginatedAPI`. `fetchAwaitPaginatedAPI` stops the first time a duplicate is found in `favList`, while `fetchPaginatedAPI` resolves all pages regardless. Both have the same props, where:

`url,` the API url. this must have a {pn} to be replaced by a page number, starting from 1.
`url,` the API url. this must have a `pn` to be replaced by a page number, starting from 1.

`getMediaCount,` the total number of songs to be fetched from the API. this can be a hardcoded number to limit the total number of fetched songs, or more commonly a field from the response.

Expand Down
12 changes: 7 additions & 5 deletions docs/docs/developer/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ sidebar_position: 1

APM is written in react-native. With some react or web dev experience you can start in no time. To develop, download and install if you havent already:

`npm (node 18+)`
```
npm (node 22)
`yarn (yarn v1.22)`
yarn (yarn v4)`
`xcode/android studio`
xcode/android studio
`git`
git
```

Then run the following:

Expand All @@ -34,4 +36,4 @@ APM has an automatic android compile action in `android-weekly.yml` that builds

APM uses semantic versioning.

When releasing, edit the app version in `version.ts` and `androidManifest.xml`, then push to main with a v{x}.{y}.{z} tag. `android-release.yml` will release as the latest package.
When releasing, edit the app version in `version.ts` and `androidManifest.xml`, then push to main with a `v{x}.{y}.{z}` tag. `android-release.yml` will release as the latest package.
8 changes: 8 additions & 0 deletions docs/docs/store/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "APM Pro",
"position": 4,
"link": {
"type": "generated-index",
"description": "Pro functionality of APM."
}
}
15 changes: 15 additions & 0 deletions docs/docs/store/buy-apm-pro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
sidebar_position: 1
---

# APM 高级版本

![azusa-please](pathname://https://img.nga.178.com/attachments/mon_202201/31/-zue37Q2p-ixpkXsZ7tT3cS9y-af.gif)

感谢您有兴趣用真钱支持APM的开发与维护。您的$2.99会对APM的开发给予莫大的鼓励。

为了回馈您的支持,APM将关闭目前3秒的打开广告。如果您仍有兴趣观赏APM的广告,可以在设置-开屏广告下观赏。

您可以在[这个Stripe页面](https://buy.stripe.com/3cs17p4Lj6KZ9B64gg)购买APM的高级版本。请在Bili ID一栏下填入您的bilibili帐号纯数字id,以及在APM内登入您的bilibili帐号,即可永久开启APM的高级功能。

您可以在[此处](https://github.com/lovegaoshi/azusa-player-mobile/issues), 或者[通过邮箱](mailto:[email protected])联系APM的客服支持。
4 changes: 2 additions & 2 deletions docs/docusaurus.config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion

const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
const lightCodeTheme = require('prism-react-renderer').themes.github;
const darkCodeTheme = require('prism-react-renderer').themes.dracula;

/** @type {import('@docusaurus/types').Config} */
const config = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Because one BVID may have multiple sub videos, each `VideoInfo` is extracted by

There are two common functions written for `paginatedFetch` in `paginatedfetch.ts`, `fetchPaginatedAPI` and `fetchAwaitPaginatedAPI`. `fetchAwaitPaginatedAPI` stops the first time a duplicate is found in `favList`, while `fetchPaginatedAPI` resolves all pages regardless. Both have the same props, where:

`url,` the API url. this must have a {pn} to be replaced by a page number, starting from 1.
`url,` the API url. this must have a `pn` to be replaced by a page number, starting from 1.

`getMediaCount,` the total number of songs to be fetched from the API. this can be a hardcoded number to limit the total number of fetched songs, or more commonly a field from the response.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,36 @@ sidebar_position: 1

# Developing APM

APM is written in react-native. To develop, download and install:
APM is written in react-native. With some react or web dev experience you can start in no time. To develop, download and install if you havent already:

npm (node 18+)
```
npm (node 22)
yarn (yarn v1)
yarn (yarn v4)`
xcode/android studio
git
```

then run the following command:
Then run the following:

## Build via Github Actions
```
git clone https://github.com/lovegaoshi/azusa-player-mobile.git
yarn build
yarn
```

android-release.yml monitors pushes with tags v{x.y.z} and automatically build and release.
android-weekly runs weekly or manually to publish a release. For nightly or publishing a dev version, this is it.
For iOS development, run

## Versioning
`cd ios && pod install && cd ..`

versions are located in `Version.ts` and `build.gradle`. APM automatically updates storage to the app's version, and uses this version number to compare for new updates. [Semantic versioning](https://semver.org/) is recommended.
and follow iOS compilation instructions [here](https://github.com/lovegaoshi/azusa-player-mobile/issues/34).

# Compile, Versioning and Release

APM has an automatic android compile action in `android-weekly.yml` that builds and releases on manual trigger, weekly on main, and push from dev as a pre-release package.

APM uses semantic versioning.

When releasing, edit the app version in `version.ts` and `androidManifest.xml`, then push to main with a `v{x}.{y}.{z}` tag. `android-release.yml` will release as the latest package.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "APM Pro",
"position": 4,
"link": {
"type": "generated-index",
"description": "Pro functionality of APM."
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
sidebar_position: 1
---

# APM Pro

![azusa-please](pathname://https://img.nga.178.com/attachments/mon_202201/31/-zue37Q2p-ixpkXsZ7tT3cS9y-af.gif)

Thank you for your interest supporting APM's development and maintenance with real money. With a low price of $2.99, your support will be the most meaningful to me as APM's developer and maintainer.

To give back to your support, APM will no longer display the 3 seconds opening splash ad with its pro feature. However if you would still like to view these splash ads, you may do so under settings - splash ad.

You may purchase APM Pro under (this page via Stripe)[(https://buy.stripe.com/3cs17p4Lj6KZ9B64gg)]. Please use your bilibili account id (numbers only) under the `Bili ID` field. When you login using your bilibili account credentials in APM, you will permanantly gain APM's pro feature.

For custom support, please [submit your ticket here](<(https://github.com/lovegaoshi/azusa-player-mobile/issues)>) or [email us here](mailto:[email protected]).
Loading

0 comments on commit 3fdc865

Please sign in to comment.