From f25f97b3ac1568e0a7f860415fc2e2c61ee81dcd Mon Sep 17 00:00:00 2001 From: Harvey Date: Wed, 24 Nov 2021 16:08:08 +0800 Subject: [PATCH] update --- packages/artplayer-document/README.md | 24 +- .../en/Basic Services/1.User Registration.md | 61 ++ .../en/Basic Services/10.Sign agreement.md | 3 + .../Basic Services/11.Get loan information.md | 3 + .../en/Basic Services/12.Get repayment VA.md | 3 + .../en/Basic Services/13.Push notification.md | 3 + .../en/Basic Services/14.Eligible Check.md | 3 + .../15.Get the token for uploading image.md | 3 + ...6.Upload Image - By sending file stream.md | 3 + ...d Image - By using base64 or url format.md | 3 + .../Basic Services/18.Get the redirect url.md | 3 + .../2.Authorization list inquiry.md | 3 + .../3.Get the authorization detail page.md | 3 + .../4.Call back for authorization status.md | 3 + .../en/Basic Services/5.Bank card inquiry.md | 3 + .../docs/en/Basic Services/6.Get bank list.md | 3 + .../7.Bank card verification.md | 3 + .../docs/en/Basic Services/8.Submit loan.md | 3 + .../9.Loan agreement inquiry.md | 3 + .../docs/en/Basic Services/_category_.json | 5 + .../docs/en/Data dictionary.md | 195 +++++++ .../artplayer-document/docs/en/Overview.md | 72 +++ .../docs/en/Parameters Instructions.md | 81 +++ .../artplayer-document/docs/en/UML Diagram.md | 24 + packages/artplayer-document/docs/intro.md | 35 -- .../docs/tutorial-basics/_category_.json | 4 - .../docs/tutorial-basics/congratulations.md | 21 - .../tutorial-basics/create-a-blog-post.md | 34 -- .../docs/tutorial-basics/create-a-document.md | 55 -- .../docs/tutorial-basics/create-a-page.md | 43 -- .../docs/tutorial-basics/deploy-your-site.md | 31 - .../tutorial-basics/markdown-features.mdx | 144 ----- .../docs/tutorial-extras/_category_.json | 4 - .../tutorial-extras/manage-docs-versions.md | 55 -- .../tutorial-extras/translate-your-site.md | 88 --- .../Basic Services/1.User Registration.md | 62 ++ .../zh-cn/Basic Services/10.Sign agreement.md | 4 + .../Basic Services/11.Get loan information.md | 4 + .../Basic Services/12.Get repayment VA.md | 4 + .../Basic Services/13.Push notification.md | 4 + .../zh-cn/Basic Services/14.Eligible Check.md | 3 + .../15.Get the token for uploading image.md | 3 + ...6.Upload Image - By sending file stream.md | 3 + ...d Image - By using base64 or url format.md | 3 + .../Basic Services/18.Get the redirect url.md | 3 + .../2.Authorization list inquiry.md | 4 + .../3.Get the authorization detail page.md | 4 + .../4.Call back for authorization status.md | 4 + .../Basic Services/5.Bank card inquiry.md | 4 + .../zh-cn/Basic Services/6.Get bank list.md | 4 + .../7.Bank card verification.md | 4 + .../zh-cn/Basic Services/8.Submit loan.md | 4 + .../9.Loan agreement inquiry.md | 4 + .../docs/zh-cn/Basic Services/_category_.json | 5 + .../docs/zh-cn/Data dictionary.md | 195 +++++++ .../artplayer-document/docs/zh-cn/Overview.md | 80 +++ .../docs/zh-cn/Parameters Instructions.md | 100 ++++ .../docs/zh-cn/UML Diagram.md | 24 + .../artplayer-document/docusaurus.config.js | 134 ++--- packages/artplayer-document/package.json | 26 +- packages/artplayer-document/sidebars.js | 33 +- .../src/components/HomepageFeatures.js | 64 --- .../components/HomepageFeatures.module.css | 11 - .../artplayer-document/src/css/custom.css | 34 +- .../artplayer-document/src/pages/index.js | 40 -- .../src/pages/index.module.css | 23 - .../src/pages/markdown-page.md | 7 - .../artplayer-document/src/script/bugfix.js | 36 ++ .../artplayer-document/src/script/main.js | 3 + .../src/theme/SearchBar/algolia.css | 533 ++++++++++++++++++ .../src/theme/SearchBar/index.js | 110 ++++ .../src/theme/SearchBar/lib/DocSearch.js | 306 ++++++++++ .../src/theme/SearchBar/lib/lunar-search.js | 146 +++++ .../src/theme/SearchBar/lib/templates.js | 114 ++++ .../src/theme/SearchBar/lib/utils.js | 270 +++++++++ .../src/theme/SearchBar/styles.css | 40 ++ .../static/img/ApplyForLloan.png | Bin 0 -> 30261 bytes .../static/img/Authorization.png | Bin 0 -> 49427 bytes .../static/img/ContractContract.png | Bin 0 -> 34904 bytes .../static/img/RepaymentInformation.png | Bin 0 -> 41409 bytes .../static/img/SubmitBankCard.png | Bin 0 -> 48858 bytes .../static/img/docusaurus.png | Bin 5142 -> 0 bytes .../artplayer-document/static/img/favicon.ico | Bin 3626 -> 4286 bytes .../artplayer-document/static/img/logo.png | Bin 0 -> 3760 bytes .../artplayer-document/static/img/logo.svg | 1 - .../img/tutorial/docsVersionDropdown.png | Bin 25102 -> 0 bytes .../static/img/tutorial/localeDropdown.png | Bin 30020 -> 0 bytes .../static/img/undraw_docusaurus_mountain.svg | 170 ------ .../static/img/undraw_docusaurus_react.svg | 169 ------ .../static/img/undraw_docusaurus_tree.svg | 1 - 90 files changed, 2694 insertions(+), 1133 deletions(-) create mode 100644 packages/artplayer-document/docs/en/Basic Services/1.User Registration.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/10.Sign agreement.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/11.Get loan information.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/12.Get repayment VA.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/13.Push notification.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/14.Eligible Check.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/15.Get the token for uploading image.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/16.Upload Image - By sending file stream.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/17.Upload Image - By using base64 or url format.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/18.Get the redirect url.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/2.Authorization list inquiry.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/3.Get the authorization detail page.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/4.Call back for authorization status.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/5.Bank card inquiry.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/6.Get bank list.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/7.Bank card verification.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/8.Submit loan.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/9.Loan agreement inquiry.md create mode 100644 packages/artplayer-document/docs/en/Basic Services/_category_.json create mode 100644 packages/artplayer-document/docs/en/Data dictionary.md create mode 100644 packages/artplayer-document/docs/en/Overview.md create mode 100644 packages/artplayer-document/docs/en/Parameters Instructions.md create mode 100644 packages/artplayer-document/docs/en/UML Diagram.md delete mode 100644 packages/artplayer-document/docs/intro.md delete mode 100644 packages/artplayer-document/docs/tutorial-basics/_category_.json delete mode 100644 packages/artplayer-document/docs/tutorial-basics/congratulations.md delete mode 100644 packages/artplayer-document/docs/tutorial-basics/create-a-blog-post.md delete mode 100644 packages/artplayer-document/docs/tutorial-basics/create-a-document.md delete mode 100644 packages/artplayer-document/docs/tutorial-basics/create-a-page.md delete mode 100644 packages/artplayer-document/docs/tutorial-basics/deploy-your-site.md delete mode 100644 packages/artplayer-document/docs/tutorial-basics/markdown-features.mdx delete mode 100644 packages/artplayer-document/docs/tutorial-extras/_category_.json delete mode 100644 packages/artplayer-document/docs/tutorial-extras/manage-docs-versions.md delete mode 100644 packages/artplayer-document/docs/tutorial-extras/translate-your-site.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/1.User Registration.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/10.Sign agreement.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/11.Get loan information.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/12.Get repayment VA.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/13.Push notification.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/14.Eligible Check.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/15.Get the token for uploading image.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/16.Upload Image - By sending file stream.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/17.Upload Image - By using base64 or url format.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/18.Get the redirect url.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/2.Authorization list inquiry.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/3.Get the authorization detail page.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/4.Call back for authorization status.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/5.Bank card inquiry.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/6.Get bank list.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/7.Bank card verification.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/8.Submit loan.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/9.Loan agreement inquiry.md create mode 100644 packages/artplayer-document/docs/zh-cn/Basic Services/_category_.json create mode 100644 packages/artplayer-document/docs/zh-cn/Data dictionary.md create mode 100644 packages/artplayer-document/docs/zh-cn/Overview.md create mode 100644 packages/artplayer-document/docs/zh-cn/Parameters Instructions.md create mode 100644 packages/artplayer-document/docs/zh-cn/UML Diagram.md delete mode 100644 packages/artplayer-document/src/components/HomepageFeatures.js delete mode 100644 packages/artplayer-document/src/components/HomepageFeatures.module.css delete mode 100644 packages/artplayer-document/src/pages/index.js delete mode 100644 packages/artplayer-document/src/pages/index.module.css delete mode 100644 packages/artplayer-document/src/pages/markdown-page.md create mode 100644 packages/artplayer-document/src/script/bugfix.js create mode 100644 packages/artplayer-document/src/script/main.js create mode 100644 packages/artplayer-document/src/theme/SearchBar/algolia.css create mode 100644 packages/artplayer-document/src/theme/SearchBar/index.js create mode 100644 packages/artplayer-document/src/theme/SearchBar/lib/DocSearch.js create mode 100644 packages/artplayer-document/src/theme/SearchBar/lib/lunar-search.js create mode 100644 packages/artplayer-document/src/theme/SearchBar/lib/templates.js create mode 100644 packages/artplayer-document/src/theme/SearchBar/lib/utils.js create mode 100644 packages/artplayer-document/src/theme/SearchBar/styles.css create mode 100644 packages/artplayer-document/static/img/ApplyForLloan.png create mode 100644 packages/artplayer-document/static/img/Authorization.png create mode 100644 packages/artplayer-document/static/img/ContractContract.png create mode 100644 packages/artplayer-document/static/img/RepaymentInformation.png create mode 100644 packages/artplayer-document/static/img/SubmitBankCard.png delete mode 100644 packages/artplayer-document/static/img/docusaurus.png create mode 100644 packages/artplayer-document/static/img/logo.png delete mode 100644 packages/artplayer-document/static/img/logo.svg delete mode 100644 packages/artplayer-document/static/img/tutorial/docsVersionDropdown.png delete mode 100644 packages/artplayer-document/static/img/tutorial/localeDropdown.png delete mode 100644 packages/artplayer-document/static/img/undraw_docusaurus_mountain.svg delete mode 100644 packages/artplayer-document/static/img/undraw_docusaurus_react.svg delete mode 100644 packages/artplayer-document/static/img/undraw_docusaurus_tree.svg diff --git a/packages/artplayer-document/README.md b/packages/artplayer-document/README.md index 55d0c3ef4..231a499c0 100644 --- a/packages/artplayer-document/README.md +++ b/packages/artplayer-document/README.md @@ -2,32 +2,32 @@ This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. -### Installation +## Installation -``` -$ yarn +```console +yarn install ``` -### Local Development +## Local Development -``` -$ yarn start +```console +yarn start ``` This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. -### Build +## Build -``` -$ yarn build +```console +yarn build ``` This command generates static content into the `build` directory and can be served using any static contents hosting service. -### Deployment +## Deployment -``` -$ GIT_USER= USE_SSH=true yarn deploy +```console +GIT_USER= USE_SSH=true yarn deploy ``` If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/packages/artplayer-document/docs/en/Basic Services/1.User Registration.md b/packages/artplayer-document/docs/en/Basic Services/1.User Registration.md new file mode 100644 index 000000000..7a76ef2fc --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/1.User Registration.md @@ -0,0 +1,61 @@ +--- +sidebar_position: 1 +--- + +All other services can be used only after user + +## Description + +**Provider:** `Awda` + +**Service url:** `/welab-sun/api/user/register` + +**Dependency:** `NO` + +**Request method** `POST` + +## Request body + +| Param | Type | Required | Description | +| ------- | ------ | -------- | ---------------------- | +| body | | Yes | | +| -mobile | String | Yes | Customer mobile number | +| -name | String | Yes | Customer name | +| -nik | String | Yes | Customer NIK | +| -email | String | Yes | Customer email | + +Request Sample: + +```json +{ + "body":{ + "email": "xxx", + "mobile": "xxx", + "name": "xxx", + "nik": "xxx" + }, + "timestamp":"1488363493", + "signature":"B3C14758F4AF52AE8AA0D4CD1493B137", + "appId":"111", + "v":"1.0" +} +``` + +## Response (Json format) + +| Param | Type | Required | Description | +| ------- | ------- | -------- | ------------ | +| code | Integer | Yes | Status code | +| message | String | Yes | Code message | +| result | Object | No | Return data | + + +Sample response for success request: + +```json +{ + "code":0, + "message":"Permintaan berhasil", + "result":null +} +``` \ No newline at end of file diff --git a/packages/artplayer-document/docs/en/Basic Services/10.Sign agreement.md b/packages/artplayer-document/docs/en/Basic Services/10.Sign agreement.md new file mode 100644 index 000000000..41ecc564c --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/10.Sign agreement.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 10 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/11.Get loan information.md b/packages/artplayer-document/docs/en/Basic Services/11.Get loan information.md new file mode 100644 index 000000000..33551c0da --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/11.Get loan information.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 11 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/12.Get repayment VA.md b/packages/artplayer-document/docs/en/Basic Services/12.Get repayment VA.md new file mode 100644 index 000000000..724edadf8 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/12.Get repayment VA.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 12 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/13.Push notification.md b/packages/artplayer-document/docs/en/Basic Services/13.Push notification.md new file mode 100644 index 000000000..6562f53ed --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/13.Push notification.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 13 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/14.Eligible Check.md b/packages/artplayer-document/docs/en/Basic Services/14.Eligible Check.md new file mode 100644 index 000000000..c008ed653 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/14.Eligible Check.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 14 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/15.Get the token for uploading image.md b/packages/artplayer-document/docs/en/Basic Services/15.Get the token for uploading image.md new file mode 100644 index 000000000..9095cc478 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/15.Get the token for uploading image.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 15 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/16.Upload Image - By sending file stream.md b/packages/artplayer-document/docs/en/Basic Services/16.Upload Image - By sending file stream.md new file mode 100644 index 000000000..cd77a8173 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/16.Upload Image - By sending file stream.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 16 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/17.Upload Image - By using base64 or url format.md b/packages/artplayer-document/docs/en/Basic Services/17.Upload Image - By using base64 or url format.md new file mode 100644 index 000000000..7ea4b7053 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/17.Upload Image - By using base64 or url format.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 17 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/18.Get the redirect url.md b/packages/artplayer-document/docs/en/Basic Services/18.Get the redirect url.md new file mode 100644 index 000000000..973ce7047 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/18.Get the redirect url.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 18 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/2.Authorization list inquiry.md b/packages/artplayer-document/docs/en/Basic Services/2.Authorization list inquiry.md new file mode 100644 index 000000000..718a60373 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/2.Authorization list inquiry.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 2 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/3.Get the authorization detail page.md b/packages/artplayer-document/docs/en/Basic Services/3.Get the authorization detail page.md new file mode 100644 index 000000000..20cfccebd --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/3.Get the authorization detail page.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 3 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/4.Call back for authorization status.md b/packages/artplayer-document/docs/en/Basic Services/4.Call back for authorization status.md new file mode 100644 index 000000000..4a245f210 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/4.Call back for authorization status.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 4 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/5.Bank card inquiry.md b/packages/artplayer-document/docs/en/Basic Services/5.Bank card inquiry.md new file mode 100644 index 000000000..a4002d439 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/5.Bank card inquiry.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 5 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/6.Get bank list.md b/packages/artplayer-document/docs/en/Basic Services/6.Get bank list.md new file mode 100644 index 000000000..71253e6f3 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/6.Get bank list.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 6 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/7.Bank card verification.md b/packages/artplayer-document/docs/en/Basic Services/7.Bank card verification.md new file mode 100644 index 000000000..e015f7fb4 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/7.Bank card verification.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 7 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/8.Submit loan.md b/packages/artplayer-document/docs/en/Basic Services/8.Submit loan.md new file mode 100644 index 000000000..17894bb5e --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/8.Submit loan.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 8 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/9.Loan agreement inquiry.md b/packages/artplayer-document/docs/en/Basic Services/9.Loan agreement inquiry.md new file mode 100644 index 000000000..a42365a41 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/9.Loan agreement inquiry.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 9 +--- diff --git a/packages/artplayer-document/docs/en/Basic Services/_category_.json b/packages/artplayer-document/docs/en/Basic Services/_category_.json new file mode 100644 index 000000000..d7807c523 --- /dev/null +++ b/packages/artplayer-document/docs/en/Basic Services/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Basic Services", + "position": 5, + "collapsed": false +} \ No newline at end of file diff --git a/packages/artplayer-document/docs/en/Data dictionary.md b/packages/artplayer-document/docs/en/Data dictionary.md new file mode 100644 index 000000000..e662a4926 --- /dev/null +++ b/packages/artplayer-document/docs/en/Data dictionary.md @@ -0,0 +1,195 @@ +--- +title: Data dictionary +sidebar_position: 4 +--- + +## Marriage + +| Code | Description | Note | +| ---- | ------------- | ---- | +| 10 | Belum Menikah | | +| 11 | Menikah | | +| 12 | Cerai | | + +## Education + +| Code | Description | Note | +| ---- | ------------------ | ---- | +| 14 | Sekolah Dasar | | +| 16 | SMP | | +| 13 | SMA | | +| 15 | Diploma/Politehnik | | +| 10 | Sarjana | | +| 11 | Master | | +| 12 | Doctor | | +| 17 | Lain-Lain | | + +## House Ownership + +| Code | Description | Note | +| ---- | -------------- | ---- | +| 10 | Rumah Sendiri | | +| 11 | Rumah Keluarga | | +| 12 | Rumah Dinas | | +| 13 | Sewa/Kontrak | | +| 14 | Kost | | +| 15 | Status Kredit | | +| 16 | Lain-Lain | | + +## Religion + +| Code | Description | Note | +| ---- | ----------------- | ---- | +| 10 | Islam | | +| 11 | Kristen Protestan | | +| 12 | Kristen Katolik | | +| 13 | Hindu | | +| 14 | Budha | | +| 15 | Kong Hu Cu | | + +## Work Type + +| Code | Description | Note | +| ---- | ------------- | ---- | +| 10 | Tetap | | +| 11 | Kontrak | | +| 12 | Outsourcing | | +| 13 | Pekerja Lepas | | +| 14 | Pemilik Usaha | | + +## Position + +| Code | Description | Note | +| ---- | ------------------------ | ---- | +| 10 | Direktur/General Manager | | +| 11 | Manajer | | +| 12 | Asisten Manajer | | +| 13 | Staf | | +| 14 | Pemilik | | + +## Industry + +| Code | Description | Note | +| ---- | ------------------------------------------- | ---- | +| 10 | Perdagangan Eceran / Grosir | | +| 11 | Perbankan / Keuangan / Asuransi / Investasi | | +| 12 | Manufaktur | | +| 13 | Properti / Konstruksi | | +| 14 | Pertambangan / Minyak / Gas | | +| 15 | Pendidikan | | +| 16 | Telekomunikasi | | +| 17 | Pariwisata / Hotel / Perhotelan | | +| 18 | Angkutan | | +| 19 | PNS (Pemerintah) | | +| 20 | Konsultan / Akuntansi / Jasa Profesional | | +| 21 | BUMN (Badan Usaha Milik Negara) | | +| 22 | Perkebunan / Pertanian | | +| 23 | TNI / Polisi (Militer / Polisi) | | +| 24 | Hukum | | +| 25 | Teknologi | | +| 26 | Media / Hiburan | | +| 27 | Pemasaran iklan | | +| 28 | Makanan & Minuman | | +| 29 | Layanan medis | | +| 30 | Perikanan | | + +## Office Ownership + +| Code | Description | Note | +| ---- | ------------- | ---- | +| 10 | Milik Sendiri | | +| 11 | Sewa | | + +## Company Size + +| Code | Description | Note | +| ---- | ----------- | ---- | +| 10 | 1-5 | | +| 11 | 5-10 | | +| 12 | 10-25 | | +| 13 | 25-50 | | +| 14 | >50 | | + +## Occupation + +| Code | Description | Note | +| ---- | ------------------------- | ---- | +| 11 | Pensiunan/Purnawirawan | | +| 12 | Pelayaran/Pelaut | | +| 13 | Guru/Pendidikan | | +| 14 | Jasa | | +| 15 | Dokter/Bidan/Mantri | | +| 16 | Ojek Motor | | +| 17 | Sopir | | +| 18 | Peternak | | +| 19 | Pelajar/Mahasiswa | | +| 20 | Buruh/PRT | | +| 21 | Pengrajin Tangan | | +| 23 | Pedagang | | +| 24 | Produksi | | +| 26 | Sewa/Rent | | +| 27 | Transportasi & Komunikasi | | +| 28 | Hiburan | | +| 29 | Pendidikan Non Formal | | +| 30 | Hotel | | +| 31 | Perangkat Desa | | +| 32 | TNI/Polri | | +| 33 | Atlet | | +| 34 | Pengobatan Alternatif | | +| 2 | ABRI | | +| 3 | Pengacara | | +| 35 | Jurnalis / Wartawan | | +| 37 | Profesi | | +| 36 | Wartawan | | +| 6 | Lain-Lain | | +| 38 | Pekerja Lepas | | + +## Income source + +| Code | Description | Note | +| ---- | ---------------------------------- | ---- | +| 10 | Gaji/Upah | | +| 11 | Laba Usaha | | +| 12 | Uang Tabungan | | +| 13 | Menjual/Menggadaikan Aset | | +| 14 | Dari Keluarga/Teman/Sumber Lainnya | | + +## Relationship with emergency contact + +| Code | Description | Note | +| ---- | --------------- | ---- | +| 10 | Pasangan | | +| 11 | Orang Tua | | +| 12 | Saudara Kandung | | +| 13 | Anak | | +| 14 | Teman Kantor | | + +## Apply reason + +| Code | Description | Note | +| ---- | ----------------------------------------- | ---- | +| 10 | Pembelian Handphone / Laptop / Elektronik | | +| 11 | Tagihan Rutin | | +| 12 | Liburan / Rekreasi | | +| 13 | Pembayaran Pajak | | +| 14 | Asuransi | | +| 15 | Pengobatan Medis | | +| 16 | Pendidikan | | +| 17 | Konsumsi Rumah Tangga | | +| 18 | Modal Usaha | | +| 19 | Multiguna | | + +## Document type + +| Code | Description | Note | +| ----------------------- | ------------------------------------ | ---- | +| bank_statement_3_months | Bank statement for the last 3 months | | +| company_id_card | | | +| ID_PNS | | | +| receiptri | | | +| salary_certificate | | | +| salary_slip_3_months | Salary slip for the last 3 months | | +| self_SKU_SIUP_TDP | | | +| SK_PNS | | | +| driver_license | | | +| KTP | | | \ No newline at end of file diff --git a/packages/artplayer-document/docs/en/Overview.md b/packages/artplayer-document/docs/en/Overview.md new file mode 100644 index 000000000..eaf2ee917 --- /dev/null +++ b/packages/artplayer-document/docs/en/Overview.md @@ -0,0 +1,72 @@ +--- +title: Overview +sidebar_position: 1 +slug: / +--- + +## Integration Guides + +- Require confirmation from AWDA to implement to production after complete UAT for all services. + +- You can use API tools to test some services during your development。 + +- You can check the response code or contact us when you have problems during the testing + +- All services using POST method to send request(Including Inquiry) + +- All requests and responses are JSON format. NOTE: Header Content-Type -> application/json UTF-8 encoding + +- All requests require signature + +## Document Change Control + +| Version | Date | Authors | Summary of changes | +| ------- | ---------- | ------- | -------------------- | +| 1.0.0 | 2019.06.03 | ZHIBO | Thumbnails image url | + +## API Summary + +| **Service name** | **Description** | +| -----------------| --------------- | +| user registration|

Provider : AWDA

User : Third party

Mandatory : YES

Description : All other services can be used only after user registration success

| +| Authorization list inquiry|

Provider : AWDA

User : Third party

Mandatory : NO

Description : Get the authorization list and check the authorization status

| +| Get the authorization detail page|

Provider : AWDA

User : Third party

Mandatory : NO

Description : Customer complete the authorization in the pages

+| Call back for authorization status|

Provider : AWDA

User : Third party

Mandatory : NO

Description : To receive the authorization status

| +| Bank card inquiry|

Provider : AWDA

User : Third party

Mandatory : YES

Description : To inquiry bank card status

| +| Get bank list|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Get the bank list for bank card input

| +| Bank card verification|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Verify and submit bank card

| +| Submit loan|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Submit loan info, including (personal info, work info and emergency contact)

| +| Loan agreement inquiry|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Get loan agreement

| +| Sign agreement|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Sign agreement (Confirm disbursement)

| +| Get loan information|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Get loan info based on loan number (include repayment schedule if disbursed)

| +| Get repayment VA|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Get the repayment VA

| +| Push notification|

Provider: Third party

User : AWDA

Mandatory: NO

Description : Push the loan status update to Third party

| +| Eligible Check|

Provider : AWDA

User : Third party

Mandatory : YES

Description : Verify Customer

| +| Get the token for uploading image|

Provider : AWDA

User : Third party

Mandatory : NO

Description : To get the token which used for api Upload Image (1)

| +| Upload Image (1)|

Provider : AWDA

User : Third party

Mandatory : NO

Description : By sending file stream with token

| +| Upload Image (2)|

Provider : AWDA

User : Third party

Mandatory : NO

Description : By sending base64 or url format

| +| Get the redirect url
(For H5 pages of Digital Signature, Loan detail and Repayment detail) |

Provider : AWDA

User : Third party

Mandatory : NO

Description : Redirect to the specific H5 pages

| + +## Environment information + +- Testing environment:`https://sea-staging.wolaidai.com` +- Production environment:`https://japi.maucash.id` +- Note: All APIs URL will be environment `url` + `service url` + +## List Of Response Code + +| Code|Description| +| ----|----| +| 0 | Success| +| 1000| System is busy| +| 1001| Repeat request| +| 1002| Unvalid token| +| 1003| Timestamp error or expired (only valid within 60s)| +| 1004| Signature error| +| 1005| appId invalid| +| 1006| Parameters cannot be empty| +| 1007| Parameters error| +| 1008| User already existed| +| 1009| User not found| +| 1010| Loan not found| +| 1012| Authorization info not found| \ No newline at end of file diff --git a/packages/artplayer-document/docs/en/Parameters Instructions.md b/packages/artplayer-document/docs/en/Parameters Instructions.md new file mode 100644 index 000000000..14f36b450 --- /dev/null +++ b/packages/artplayer-document/docs/en/Parameters Instructions.md @@ -0,0 +1,81 @@ +--- +title: Parameters Instructions +sidebar_position: 3 +--- + +### Instructions for API request parameters + +:::note +NOTE: The following parameters is included in all services (different values). If no parameters for body then pass blank, like body:”” +::: + +| Name|Description|Type|Mandatory|Notes| +| ----|----|----|----|----| +| body|Business parameters|Object|N|Some APIs may require body| +| timestamp|Timestamp|Long|Y|Accurate into a second| +| appId|Apply from AWDA|String|Y| +| v|Version code|String|N|Default 1.0| +| signature|Signature|String|Y|All requests need signature| + +example: + +```json +{ + "body": "1111", + "timestamp": 1488363493, + "signature": "B3C14758F4AF52AE8AA0D4CD1493B137", + "appId": "111", + "v":"1.0" +} +``` + +### Rules for signature + +Rules for signature: + +- Step 1:Sort the parameters alphabetically by key name. Result will be: appId、body、timestamp、v +- Step 2:Combine key and value of all the parameters. Result will be: appId:123456body:{"orderNo":"1234567"}timestamp:1558923813v:1.0 +- Step 3:Add secret to the last of the result from step 2, which will become the signature. Result will be: appId:123456body:{"orderNo":"1234567"}timestamp:1558923813v:1.0yoursecret +- Step 4:MD5 encryption of the signature string. Result will be: `B6F6E3F9ADF4D7558F54BC8B7D9869CC` + + +### Java Sample Codes for Signature + +```java +String[] keys = new String[map.size()]; +int i = 0; +for (Map.Entry entry : map.entrySet()) { + keys[i++] = entry.getKey(); +} +Arrays.sort(keys); +StringBuilder stringBuilder = new StringBuilder(); +for (String key : keys) { + stringBuilder.append(key); + stringBuilder.append(":"); + stringBuilder.append(map.get(key)); +} +stringBuilder.append(secret); +String str=stringBuilder.toString(); +String encodeStr = DigestUtils.md5Hex(str).toUpperCase(); +return encodeStr ; +``` + +### API Response + +| Parameters|DescriptionType|Mandatory|Notes| +| ----|----|----|----|----| +| code|Status code|Integer|Y|

0: Success

Other codes all represent failure, find more details in Code List

| +| message|Status description|String|Y|Code description| +| result|Return data|Object|N|When code=0, there will be business data returned inside result object| + +### Sample response for success request: + +```json +{ + "code": 0, + "message": "Permintaan berhasil", + "result": { + "state": true + } +} +``` \ No newline at end of file diff --git a/packages/artplayer-document/docs/en/UML Diagram.md b/packages/artplayer-document/docs/en/UML Diagram.md new file mode 100644 index 000000000..e124bffa1 --- /dev/null +++ b/packages/artplayer-document/docs/en/UML Diagram.md @@ -0,0 +1,24 @@ +--- +title: UML Diagram +sidebar_position: 2 +--- + +### Authorization + +![logo](/img/Authorization.png) + +### Submit Bank Card + +![logo](/img/SubmitBankCard.png) + +### Submit Loan + +![logo](/img/ApplyForLloan.png) + +### Sign Contract + +![logo](/img/ContractContract.png) + +### Payment Inquiry + +![logo](/img/RepaymentInformation.png) diff --git a/packages/artplayer-document/docs/intro.md b/packages/artplayer-document/docs/intro.md deleted file mode 100644 index 8417aebee..000000000 --- a/packages/artplayer-document/docs/intro.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Tutorial Intro - -Let's discover **Docusaurus in less than 5 minutes**. - -## Getting Started - -Get started by **creating a new site**. - -Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**. - -## Generate a new site - -Generate a new Docusaurus site using the **classic template**: - -```shell -npm init docusaurus@latest my-website classic -``` - -## Start your site - -Run the development server: - -```shell -cd my-website - -npx docusaurus start -``` - -Your site starts at `http://localhost:3000`. - -Open `docs/intro.md` and edit some lines: the site **reloads automatically** and displays your changes. diff --git a/packages/artplayer-document/docs/tutorial-basics/_category_.json b/packages/artplayer-document/docs/tutorial-basics/_category_.json deleted file mode 100644 index 135e4a685..000000000 --- a/packages/artplayer-document/docs/tutorial-basics/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Tutorial - Basics", - "position": 2 -} diff --git a/packages/artplayer-document/docs/tutorial-basics/congratulations.md b/packages/artplayer-document/docs/tutorial-basics/congratulations.md deleted file mode 100644 index 9ef99bbad..000000000 --- a/packages/artplayer-document/docs/tutorial-basics/congratulations.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -sidebar_position: 6 ---- - -# Congratulations! - -You have just learned the **basics of Docusaurus** and made some changes to the **initial template**. - -Docusaurus has **much more to offer**! - -Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**. - -Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610) - -## What's next? - -- Read the [official documentation](https://docusaurus.io/). -- Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout) -- Add a [search bar](https://docusaurus.io/docs/search) -- Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase) -- Get involved in the [Docusaurus Community](https://docusaurus.io/community/support) diff --git a/packages/artplayer-document/docs/tutorial-basics/create-a-blog-post.md b/packages/artplayer-document/docs/tutorial-basics/create-a-blog-post.md deleted file mode 100644 index 0d50aaf31..000000000 --- a/packages/artplayer-document/docs/tutorial-basics/create-a-blog-post.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Create a Blog Post - -Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed... - -## Create your first Post - -Create a file at `blog/2021-02-28-greetings.md`: - -```md title="blog/2021-02-28-greetings.md" ---- -slug: greetings -title: Greetings! -authors: - - name: Joel Marcey - title: Co-creator of Docusaurus 1 - url: https://github.com/JoelMarcey - image_url: https://github.com/JoelMarcey.png - - name: Sébastien Lorber - title: Docusaurus maintainer - url: https://sebastienlorber.com - image_url: https://github.com/slorber.png -tags: [greetings] ---- - -Congratulations, you have made your first post! - -Feel free to play around and edit this post as much you like. -``` - -A new blog post is now available at `http://localhost:3000/blog/greetings`. diff --git a/packages/artplayer-document/docs/tutorial-basics/create-a-document.md b/packages/artplayer-document/docs/tutorial-basics/create-a-document.md deleted file mode 100644 index b4a072ecd..000000000 --- a/packages/artplayer-document/docs/tutorial-basics/create-a-document.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Create a Document - -Documents are **groups of pages** connected through: - -- a **sidebar** -- **previous/next navigation** -- **versioning** - -## Create your first Doc - -Create a markdown file at `docs/hello.md`: - -```md title="docs/hello.md" -# Hello - -This is my **first Docusaurus document**! -``` - -A new document is now available at `http://localhost:3000/docs/hello`. - -## Configure the Sidebar - -Docusaurus automatically **creates a sidebar** from the `docs` folder. - -Add metadatas to customize the sidebar label and position: - -```md title="docs/hello.md" {1-4} ---- -sidebar_label: 'Hi!' -sidebar_position: 3 ---- - -# Hello - -This is my **first Docusaurus document**! -``` - -It is also possible to create your sidebar explicitly in `sidebars.js`: - -```diff title="sidebars.js" -module.exports = { - tutorialSidebar: [ - { - type: 'category', - label: 'Tutorial', -- items: [...], -+ items: ['hello'], - }, - ], -}; -``` diff --git a/packages/artplayer-document/docs/tutorial-basics/create-a-page.md b/packages/artplayer-document/docs/tutorial-basics/create-a-page.md deleted file mode 100644 index e112b0059..000000000 --- a/packages/artplayer-document/docs/tutorial-basics/create-a-page.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Create a Page - -Add **Markdown or React** files to `src/pages` to create a **standalone page**: - -- `src/pages/index.js` -> `localhost:3000/` -- `src/pages/foo.md` -> `localhost:3000/foo` -- `src/pages/foo/bar.js` -> `localhost:3000/foo/bar` - -## Create your first React Page - -Create a file at `src/pages/my-react-page.js`: - -```jsx title="src/pages/my-react-page.js" -import React from 'react'; -import Layout from '@theme/Layout'; - -export default function MyReactPage() { - return ( - -

My React page

-

This is a React page

-
- ); -} -``` - -A new page is now available at `http://localhost:3000/my-react-page`. - -## Create your first Markdown Page - -Create a file at `src/pages/my-markdown-page.md`: - -```mdx title="src/pages/my-markdown-page.md" -# My Markdown page - -This is a Markdown page -``` - -A new page is now available at `http://localhost:3000/my-markdown-page`. diff --git a/packages/artplayer-document/docs/tutorial-basics/deploy-your-site.md b/packages/artplayer-document/docs/tutorial-basics/deploy-your-site.md deleted file mode 100644 index 492eae027..000000000 --- a/packages/artplayer-document/docs/tutorial-basics/deploy-your-site.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -sidebar_position: 5 ---- - -# Deploy your site - -Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**). - -It builds your site as simple **static HTML, JavaScript and CSS files**. - -## Build your site - -Build your site **for production**: - -```bash -npm run build -``` - -The static files are generated in the `build` folder. - -## Deploy your site - -Test your production build locally: - -```bash -npm run serve -``` - -The `build` folder is now served at `http://localhost:3000/`. - -You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**). diff --git a/packages/artplayer-document/docs/tutorial-basics/markdown-features.mdx b/packages/artplayer-document/docs/tutorial-basics/markdown-features.mdx deleted file mode 100644 index 885562605..000000000 --- a/packages/artplayer-document/docs/tutorial-basics/markdown-features.mdx +++ /dev/null @@ -1,144 +0,0 @@ ---- -sidebar_position: 4 ---- - -# Markdown Features - -Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**. - -## Front Matter - -Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/): - -```text title="my-doc.md" -// highlight-start ---- -id: my-doc-id -title: My document title -description: My document description -slug: /my-custom-url ---- -// highlight-end - -## Markdown heading - -Markdown text with [links](./hello.md) -``` - -## Links - -Regular Markdown links are supported, using url paths or relative file paths. - -```md -Let's see how to [Create a page](/create-a-page). -``` - -```md -Let's see how to [Create a page](./create-a-page.md). -``` - -**Result:** Let's see how to [Create a page](./create-a-page.md). - -## Images - -Regular Markdown images are supported. - -Add an image at `static/img/docusaurus.png` and display it in Markdown: - -```md -![Docusaurus logo](/img/docusaurus.png) -``` - -![Docusaurus logo](/img/docusaurus.png) - -## Code Blocks - -Markdown code blocks are supported with Syntax highlighting. - - ```jsx title="src/components/HelloDocusaurus.js" - function HelloDocusaurus() { - return ( -

Hello, Docusaurus!

- ) - } - ``` - -```jsx title="src/components/HelloDocusaurus.js" -function HelloDocusaurus() { - return

Hello, Docusaurus!

; -} -``` - -## Admonitions - -Docusaurus has a special syntax to create admonitions and callouts: - - :::tip My tip - - Use this awesome feature option - - ::: - - :::danger Take care - - This action is dangerous - - ::: - -:::tip My tip - -Use this awesome feature option - -::: - -:::danger Take care - -This action is dangerous - -::: - -## MDX and React Components - -[MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**: - -```jsx -export const Highlight = ({children, color}) => ( - { - alert(`You clicked the color ${color} with label ${children}`) - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! -``` - -export const Highlight = ({children, color}) => ( - { - alert(`You clicked the color ${color} with label ${children}`); - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! diff --git a/packages/artplayer-document/docs/tutorial-extras/_category_.json b/packages/artplayer-document/docs/tutorial-extras/_category_.json deleted file mode 100644 index ca3f8e064..000000000 --- a/packages/artplayer-document/docs/tutorial-extras/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "Tutorial - Extras", - "position": 3 -} diff --git a/packages/artplayer-document/docs/tutorial-extras/manage-docs-versions.md b/packages/artplayer-document/docs/tutorial-extras/manage-docs-versions.md deleted file mode 100644 index 6335b0ac9..000000000 --- a/packages/artplayer-document/docs/tutorial-extras/manage-docs-versions.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Manage Docs Versions - -Docusaurus can manage multiple versions of your docs. - -## Create a docs version - -Release a version 1.0 of your project: - -```bash -npm run docusaurus docs:version 1.0 -``` - -The `docs` folder is copied into `versioned_docs/version-1.0` and `versions.json` is created. - -Your docs now have 2 versions: - -- `1.0` at `http://localhost:3000/docs/` for the version 1.0 docs -- `current` at `http://localhost:3000/docs/next/` for the **upcoming, unreleased docs** - -## Add a Version Dropdown - -To navigate seamlessly across versions, add a version dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -module.exports = { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'docsVersionDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The docs version dropdown appears in your navbar: - -![Docs Version Dropdown](/img/tutorial/docsVersionDropdown.png) - -## Update an existing version - -It is possible to edit versioned docs in their respective folder: - -- `versioned_docs/version-1.0/hello.md` updates `http://localhost:3000/docs/hello` -- `docs/hello.md` updates `http://localhost:3000/docs/next/hello` diff --git a/packages/artplayer-document/docs/tutorial-extras/translate-your-site.md b/packages/artplayer-document/docs/tutorial-extras/translate-your-site.md deleted file mode 100644 index a25c089ed..000000000 --- a/packages/artplayer-document/docs/tutorial-extras/translate-your-site.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Translate your site - -Let's translate `docs/intro.md` to French. - -## Configure i18n - -Modify `docusaurus.config.js` to add support for the `fr` locale: - -```js title="docusaurus.config.js" -module.exports = { - i18n: { - defaultLocale: 'en', - locales: ['en', 'fr'], - }, -}; -``` - -## Translate a doc - -Copy the `docs/intro.md` file to the `i18n/fr` folder: - -```bash -mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/ - -cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md -``` - -Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French. - -## Start your localized site - -Start your site on the French locale: - -```bash -npm run start -- --locale fr -``` - -Your localized site is accessible at `http://localhost:3000/fr/` and the `Getting Started` page is translated. - -:::caution - -In development, you can only use one locale at a same time. - -::: - -## Add a Locale Dropdown - -To navigate seamlessly across languages, add a locale dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -module.exports = { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'localeDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The locale dropdown now appears in your navbar: - -![Locale Dropdown](/img/tutorial/localeDropdown.png) - -## Build your localized site - -Build your site for a specific locale: - -```bash -npm run build -- --locale fr -``` - -Or build your site to include all the locales at once: - -```bash -npm run build -``` diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/1.User Registration.md b/packages/artplayer-document/docs/zh-cn/Basic Services/1.User Registration.md new file mode 100644 index 000000000..07d9222c4 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/1.User Registration.md @@ -0,0 +1,62 @@ +--- +title: 用户创建 +sidebar_position: 1 +--- + +用户创建,只有在用户创建成功后才能调用其他业务接口,例如:绑卡、授权 + +## 接口描述 + +**接口提供方:** `Awda` + +**接口地址:** `/welab-sun/api/user/register` + +**前置调用:** `NO` + +**请求方式** `POST` + +## 参数说明 + +| 参数名称 | 中文含义 | 类型 | 必选 | 备注 | +| -------- | -------- | ------ | ---- | ---- | +| body | | | 是 | | +| -mobile | 手机号 | String | 是 | | +| -name | 用户姓名 | String | 是 | | +| -nik | 身份证 | String | 是 | | +| -email | 邮箱 | String | 是 | | + +请求参数 - 例: + +```json +{ + "body":{ + "email": "xxx", + "mobile": "xxx", + "name": "xxx", + "nik": "xxx" + }, + "timestamp":"1488363493", + "signature":"B3C14758F4AF52AE8AA0D4CD1493B137", + "appId":"111", + "v":"1.0" +} +``` + +## 响应数据(返回结果,Json格式) + +| 参数名称 | 中文含义 | 类型 | 必选 | 备注 | +| -------- | ---------- | ------- | ---- | ---- | +| code | 返回码 | Integer | 是 | | +| message | 返回信息 | String | 是 | | +| result | 返回结果集 | Object | 否 | | + + +正确响应的JSON - 例: + +```json +{ + "code":0, + "message":"Permintaan berhasil", + "result":null +} +``` \ No newline at end of file diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/10.Sign agreement.md b/packages/artplayer-document/docs/zh-cn/Basic Services/10.Sign agreement.md new file mode 100644 index 000000000..2501ea5e0 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/10.Sign agreement.md @@ -0,0 +1,4 @@ +--- +title: 签约(确认放款) +sidebar_position: 10 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/11.Get loan information.md b/packages/artplayer-document/docs/zh-cn/Basic Services/11.Get loan information.md new file mode 100644 index 000000000..5cf3184c6 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/11.Get loan information.md @@ -0,0 +1,4 @@ +--- +title: 贷款信息查询 +sidebar_position: 11 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/12.Get repayment VA.md b/packages/artplayer-document/docs/zh-cn/Basic Services/12.Get repayment VA.md new file mode 100644 index 000000000..3858b1798 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/12.Get repayment VA.md @@ -0,0 +1,4 @@ +--- +title: 用户还款虚拟账号查询 +sidebar_position: 12 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/13.Push notification.md b/packages/artplayer-document/docs/zh-cn/Basic Services/13.Push notification.md new file mode 100644 index 000000000..bf66e12d3 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/13.Push notification.md @@ -0,0 +1,4 @@ +--- +title: 推送通知 +sidebar_position: 13 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/14.Eligible Check.md b/packages/artplayer-document/docs/zh-cn/Basic Services/14.Eligible Check.md new file mode 100644 index 000000000..c008ed653 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/14.Eligible Check.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 14 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/15.Get the token for uploading image.md b/packages/artplayer-document/docs/zh-cn/Basic Services/15.Get the token for uploading image.md new file mode 100644 index 000000000..9095cc478 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/15.Get the token for uploading image.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 15 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/16.Upload Image - By sending file stream.md b/packages/artplayer-document/docs/zh-cn/Basic Services/16.Upload Image - By sending file stream.md new file mode 100644 index 000000000..cd77a8173 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/16.Upload Image - By sending file stream.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 16 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/17.Upload Image - By using base64 or url format.md b/packages/artplayer-document/docs/zh-cn/Basic Services/17.Upload Image - By using base64 or url format.md new file mode 100644 index 000000000..7ea4b7053 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/17.Upload Image - By using base64 or url format.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 17 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/18.Get the redirect url.md b/packages/artplayer-document/docs/zh-cn/Basic Services/18.Get the redirect url.md new file mode 100644 index 000000000..973ce7047 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/18.Get the redirect url.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 18 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/2.Authorization list inquiry.md b/packages/artplayer-document/docs/zh-cn/Basic Services/2.Authorization list inquiry.md new file mode 100644 index 000000000..6612d62ee --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/2.Authorization list inquiry.md @@ -0,0 +1,4 @@ +--- +title: 查询授权列表 +sidebar_position: 2 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/3.Get the authorization detail page.md b/packages/artplayer-document/docs/zh-cn/Basic Services/3.Get the authorization detail page.md new file mode 100644 index 000000000..ccabc4507 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/3.Get the authorization detail page.md @@ -0,0 +1,4 @@ +--- +title: 获取授权地址 +sidebar_position: 3 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/4.Call back for authorization status.md b/packages/artplayer-document/docs/zh-cn/Basic Services/4.Call back for authorization status.md new file mode 100644 index 000000000..42d190387 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/4.Call back for authorization status.md @@ -0,0 +1,4 @@ +--- +title: 授权回调通知 +sidebar_position: 4 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/5.Bank card inquiry.md b/packages/artplayer-document/docs/zh-cn/Basic Services/5.Bank card inquiry.md new file mode 100644 index 000000000..9f98cde4b --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/5.Bank card inquiry.md @@ -0,0 +1,4 @@ +--- +title: 绑卡信息查询 +sidebar_position: 5 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/6.Get bank list.md b/packages/artplayer-document/docs/zh-cn/Basic Services/6.Get bank list.md new file mode 100644 index 000000000..c28d7e73b --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/6.Get bank list.md @@ -0,0 +1,4 @@ +--- +title: 银行列表查询 +sidebar_position: 6 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/7.Bank card verification.md b/packages/artplayer-document/docs/zh-cn/Basic Services/7.Bank card verification.md new file mode 100644 index 000000000..8e6093e4f --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/7.Bank card verification.md @@ -0,0 +1,4 @@ +--- +title: 绑定银行卡 +sidebar_position: 7 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/8.Submit loan.md b/packages/artplayer-document/docs/zh-cn/Basic Services/8.Submit loan.md new file mode 100644 index 000000000..6843de236 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/8.Submit loan.md @@ -0,0 +1,4 @@ +--- +title: 申请借款 +sidebar_position: 8 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/9.Loan agreement inquiry.md b/packages/artplayer-document/docs/zh-cn/Basic Services/9.Loan agreement inquiry.md new file mode 100644 index 000000000..b61844f7f --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/9.Loan agreement inquiry.md @@ -0,0 +1,4 @@ +--- +title: 查看合同 +sidebar_position: 9 +--- diff --git a/packages/artplayer-document/docs/zh-cn/Basic Services/_category_.json b/packages/artplayer-document/docs/zh-cn/Basic Services/_category_.json new file mode 100644 index 000000000..b854c06c2 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Basic Services/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "基本接口", + "position": 5, + "collapsed": false +} diff --git a/packages/artplayer-document/docs/zh-cn/Data dictionary.md b/packages/artplayer-document/docs/zh-cn/Data dictionary.md new file mode 100644 index 000000000..e0c57037f --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Data dictionary.md @@ -0,0 +1,195 @@ +--- +title: 数据字典 +sidebar_position: 4 +--- + +## 婚姻状况 + +| 编码 | 描述 | 备注 | +| ---- | ------------- | ---- | +| 10 | Belum Menikah | | +| 11 | Menikah | | +| 12 | Cerai | | + +## 教育程度 + +| 编码 | 描述 | 备注 | +| ---- | ------------------ | ---- | +| 14 | Sekolah Dasar | | +| 16 | SMP | | +| 13 | SMA | | +| 15 | Diploma/Politehnik | | +| 10 | Sarjana | | +| 11 | Master | | +| 12 | Doctor | | +| 17 | Lain-Lain | | + +## 宅所有权 + +| 编码 | 描述 | 备注 | +| ---- | -------------- | ---- | +| 10 | Rumah Sendiri | | +| 11 | Rumah Keluarga | | +| 12 | Rumah Dinas | | +| 13 | Sewa/Kontrak | | +| 14 | Kost | | +| 15 | Status Kredit | | +| 16 | Lain-Lain | | + +## 宗教 + +| 编码 | 描述 | 备注 | +| ---- | ----------------- | ---- | +| 10 | Islam | | +| 11 | Kristen Protestan | | +| 12 | Kristen Katolik | | +| 13 | Hindu | | +| 14 | Budha | | +| 15 | Kong Hu Cu | | + +## 工作类型 + +| 编码 | 描述 | 备注 | +| ---- | ------------- | ---- | +| 10 | Tetap | | +| 11 | Kontrak | | +| 12 | Outsourcing | | +| 13 | Pekerja Lepas | | +| 14 | Pemilik Usaha | | + +## 职位 + +| 编码 | 描述 | 备注 | +| ---- | ------------------------ | ---- | +| 10 | Direktur/General Manager | | +| 11 | Manajer | | +| 12 | Asisten Manajer | | +| 13 | Staf | | +| 14 | Pemilik | | + +## 行业 + +| 编码 | 描述 | 备注 | +| ---- | ------------------------------------------- | ---- | +| 10 | Perdagangan Eceran / Grosir | | +| 11 | Perbankan / Keuangan / Asuransi / Investasi | | +| 12 | Manufaktur | | +| 13 | Properti / Konstruksi | | +| 14 | Pertambangan / Minyak / Gas | | +| 15 | Pendidikan | | +| 16 | Telekomunikasi | | +| 17 | Pariwisata / Hotel / Perhotelan | | +| 18 | Angkutan | | +| 19 | PNS (Pemerintah) | | +| 20 | Konsultan / Akuntansi / Jasa Profesional | | +| 21 | BUMN (Badan Usaha Milik Negara) | | +| 22 | Perkebunan / Pertanian | | +| 23 | TNI / Polisi (Militer / Polisi) | | +| 24 | Hukum | | +| 25 | Teknologi | | +| 26 | Media / Hiburan | | +| 27 | Pemasaran iklan | | +| 28 | Makanan & Minuman | | +| 29 | Layanan medis | | +| 30 | Perikanan | | + +## 办公场所所有权 + +| 编码 | 描述 | 备注 | +| ---- | ------------- | ---- | +| 10 | Milik Sendiri | | +| 11 | Sewa | | + +## 公司人数 + +| 编码 | 描述 | 备注 | +| ---- | ----- | ---- | +| 10 | 1-5 | | +| 11 | 5-10 | | +| 12 | 10-25 | | +| 13 | 25-50 | | +| 14 | >50 | | + +## 职业 + +| 编码 | 描述 | 备注 | +| ---- | ------------------------- | ---- | +| 11 | Pensiunan/Purnawirawan | | +| 12 | Pelayaran/Pelaut | | +| 13 | Guru/Pendidikan | | +| 14 | Jasa | | +| 15 | Dokter/Bidan/Mantri | | +| 16 | Ojek Motor | | +| 17 | Sopir | | +| 18 | Peternak | | +| 19 | Pelajar/Mahasiswa | | +| 20 | Buruh/PRT | | +| 21 | Pengrajin Tangan | | +| 23 | Pedagang | | +| 24 | Produksi | | +| 26 | Sewa/Rent | | +| 27 | Transportasi & Komunikasi | | +| 28 | Hiburan | | +| 29 | Pendidikan Non Formal | | +| 30 | Hotel | | +| 31 | Perangkat Desa | | +| 32 | TNI/Polri | | +| 33 | Atlet | | +| 34 | Pengobatan Alternatif | | +| 2 | ABRI | | +| 3 | Pengacara | | +| 35 | Jurnalis / Wartawan | | +| 37 | Profesi | | +| 36 | Wartawan | | +| 6 | Lain-Lain | | +| 38 | Pekerja Lepas | | + +## 收入来源 + +| 编码 | 描述 | 备注 | +| ---- | ---------------------------------- | ---- | +| 10 | Gaji/Upah | | +| 11 | Laba Usaha | | +| 12 | Uang Tabungan | | +| 13 | Menjual/Menggadaikan Aset | | +| 14 | Dari Keluarga/Teman/Sumber Lainnya | | + +## 紧急联系人关系 + +| 编码 | 描述 | 备注 | +| ---- | --------------- | ---- | +| 10 | Pasangan | | +| 11 | Orang Tua | | +| 12 | Saudara Kandung | | +| 13 | Anak | | +| 14 | Teman Kantor | | + +## 借款原因 + +| 编码 | 描述 | 备注 | +| ---- | ----------------------------------------- | ---- | +| 10 | Pembelian Handphone / Laptop / Elektronik | | +| 11 | Tagihan Rutin | | +| 12 | Liburan / Rekreasi | | +| 13 | Pembayaran Pajak | | +| 14 | Asuransi | | +| 15 | Pengobatan Medis | | +| 16 | Pendidikan | | +| 17 | Konsumsi Rumah Tangga | | +| 18 | Modal Usaha | | +| 19 | Multiguna | | + +## 文档类型 + +| 编码 | 描述 | 备注 | +| ----------------------- | ------------------------------------ | ---- | +| bank_statement_3_months | Bank statement for the last 3 months | | +| company_id_card | | | +| ID_PNS | | | +| receiptri | | | +| salary_certificate | | | +| salary_slip_3_months | Salary slip for the last 3 months | | +| self_SKU_SIUP_TDP | | | +| SK_PNS | | | +| driver_license | | | +| KTP | | | \ No newline at end of file diff --git a/packages/artplayer-document/docs/zh-cn/Overview.md b/packages/artplayer-document/docs/zh-cn/Overview.md new file mode 100644 index 000000000..f41bb0866 --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Overview.md @@ -0,0 +1,80 @@ +--- +title: 前言 +sidebar_position: 1 +slug: /zh-cn +--- + +## 必读 + +- 在生产环境发布前前,请先通过测试环境调试完所有接口及流程后待我方确认无误方可上生产环境 + +- 在开发过程中,可以使用接口调试工具来在线调试某些接口。 + +- 在开发出现问题时,可以通过接口调用的返回码查看失败原因或联系我方技术支持人员 + +- 所有接口都采用POST方式(包括查询接口) + +- 请求和响应的数据都为JSON格式。注:请设置Header的Content-Type为application/json,采用UTF-8字符编码 + +- 所有的接口必须进行接口签名 + +## 更新日志 + +| 版本 | 日期 | 项目负责人 | 描述 | +| ------- | ---------- | ------- | ------- | +| 1.0.0 | 2019.06.03 | 吕志博 | 初始版本 | + +## 接口说明 + +| **接口名称** | **描述** | +| -----------------| --------------- | +| user registration|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 用户创建,必须先创建用户成功后才能调用其他接口

| +| Authorization list inquiry|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 否

接口描述 : 获取授权列表及用户个人授权状态

| +| Get the authorization detail page|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 否

接口描述 : 授权第三方授权页面地址

+| Call back for authorization status|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 否

接口描述 : 通知授权结果

| +| Bank card inquiry|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 查询绑卡信息

| +| Get bank list|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 获取支持绑卡的银行列表

| +| Bank card verification|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 用户绑定用于接收平台放款的银行卡

| +| Submit loan|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 提交进件信息,进件信息包含(用户个人信息、身份信息、工作信息、紧急联系人信息)

| +| Loan agreement inquiry|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 查看贷款合同

| +| Sign agreement|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 合同签约(确认放款)

| +| Get loan information|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 根据贷款编号查询贷款当前信息(如已放款则包含还款计划)

| +| Get repayment VA|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : 用户还款虚拟账号查询

| +| Push notification|

Provider: Third party

User : AWDA

是否必须对接: 否

接口描述 : 推送贷款状态变更消息

| +| Eligible Check|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 是

接口描述 : Verify Customer

| +| Get the token for uploading image|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 否

接口描述 : To get the token which used for api Upload Image (1)

| +| Upload Image (1)|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 否

接口描述 : By sending file stream with token

| +| Upload Image (2)|

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 否

接口描述 : By sending base64 or url format

| +| Get the redirect url
(For H5 pages of Digital Signature, Loan detail and Repayment detail) |

接口提供方: AWDA

接口调用方 : 合作方

是否必须对接 : 否

接口描述 : Redirect to the specific H5 pages

| + +## 环境地址说明 + +测试环境域名:`https://sea-staging.wolaidai.com` + +生产环境域名:`https://japi.maucash.id` + +注:所有接口调用真实地址为 `环境域名+接口地址` + +## 全局状态码说明 + +| 返回码| 描述| +| ----|----| +| 0 |请求成功| +| 100| 系统繁忙| +| 300| 请求超时| +| 400| 参数错误| +| 404| 网络异常| +| 600| 数据不存在| +| 999| 其他未知错误| +| 1001| 重复请求| +| 1002| 无效的token| +| 1003| 时间戳有误或已失效(仅处理60S内的请求)| +| 1004| 签名校验不通过| +| 1005| 商户号错误| +| 1006| 参数不能为空| +| 1007| 参数有误| +| 1008| 用户已存在| +| 1009| 用户不存在| +| 1010| 订单不存在| +| 1011| 系统繁忙| +| 1012| 授权信息获取失败| \ No newline at end of file diff --git a/packages/artplayer-document/docs/zh-cn/Parameters Instructions.md b/packages/artplayer-document/docs/zh-cn/Parameters Instructions.md new file mode 100644 index 000000000..4f4c7500d --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/Parameters Instructions.md @@ -0,0 +1,100 @@ +--- +title: 入参及出参说明 +sidebar_position: 3 +--- + +### API请求参数说明 + +:::note +注:所有的API接口都包含如下参数(不同的接口只是参数body值不一样),以下具体接口只针对body进行描述若接口,当没有业务参数的时候, body需要赋值为空字符串,即body: "" +::: + +| 参数名称 | 描述 | 类型 | 必填 | 备注 | +| --------- | --------------- | ------ | ---- | -------------------- | +| body | 业务参数 | Object | 否 | 具体接口决定是否必传 | +| timestamp | 时间戳 | Long | 是 | 精确到秒 | +| appId | 平台分配的appId | String | 是 | +| v | 接口版本号 | String | 否 | 默认1.0 | +| signature | 签名 | String | 是 | 见签名生成 | + +例: + +```json +{ + "body": "1111", + "timestamp": 1488363493, + "signature": "B3C14758F4AF52AE8AA0D4CD1493B137", + "appId": "111", + "v":"1.0" +} +``` + +### 接口签名规则 + +签名生成的通用步骤如下: + +- 第一步:将参与签名的参数按照键值(key)进行字典排序 +- 第二步:将排序过后的参数,进行key和value字符串拼接 +- 第三步:将拼接后的字符串末尾加上secret秘钥,合成签名字符串 +- 第四步:对签名字符串进行MD5加密,生成32位的字符串转换为大写 + +### 签名生成过程 + +第一步:将参与签名的参数按照键值(key)进行字典排序 + +例如:将上述请求参数中的body、timestamp、appId、v 进行字典排序。结果为:appId、body、timestamp (精确到秒)、v + +第二步:将排序过后的参数,进行key和value字符串拼接 + +将参数中的key和value按照key的顺序进行字符串拼接。若body为对象的话转成JSON字符串进行签名即可 + +例:appId:123456body:{"orderNo":"1234567"}timestamp:1558923813v:1.0 + +第三步:将拼接后的字符串尾部加上secret秘钥,合成签名字符串 + +将第二步的字符窜首尾拼接上secret。结果为:appId:123456body:{"orderNo":"1234567"}timestamp:1558923813v:1.0yousecret + +第四步:对签名字符串进行MD5加密,生成32位的字符串,并转换大写 + +对生成签名字符串进行MD5加密。结果为:B6F6E3F9ADF4D7558F54BC8B7D9869CC + +### Java 签名代码 + +```java +String[] keys = new String[map.size()]; +int i = 0; +for (Map.Entry entry : map.entrySet()) { + keys[i++] = entry.getKey(); +} +Arrays.sort(keys); +StringBuilder stringBuilder = new StringBuilder(); +for (String key : keys) { + stringBuilder.append(key); + stringBuilder.append(":"); + stringBuilder.append(map.get(key)); +} +stringBuilder.append(secret); +String str=stringBuilder.toString(); +String encodeStr = DigestUtils.md5Hex(str).toUpperCase(); +return encodeStr ; +``` + +### API响应结果说明 + +| 参数名称 | 描述 | 类型 | 必填 | 备注 | +| -------- | -------- | ------- | ---- | --------------------------------------------------- | +| code | 状态码 | Integer | 是 |

0:执行成功

其他编码均为失败,详见码表

| +| message | 状态描述 | String | 是 | 用于描述code | +| result | 详细信息 | Object | 否 | 当code为0时 result为返回的业务数据。 | + +正确响应的JSON - 例: + +```json +{ + "code": 0, + "message": "Permintaan berhasil", + "result": { + "state": true + } +} +``` \ No newline at end of file diff --git a/packages/artplayer-document/docs/zh-cn/UML Diagram.md b/packages/artplayer-document/docs/zh-cn/UML Diagram.md new file mode 100644 index 000000000..ad54c20ce --- /dev/null +++ b/packages/artplayer-document/docs/zh-cn/UML Diagram.md @@ -0,0 +1,24 @@ +--- +title: 参考对接UML时序图 +sidebar_position: 2 +--- + +### Wedefend授权 + +![logo](/img/Authorization.png) + +### 绑定银行卡 + +![logo](/img/SubmitBankCard.png) + +### 申请借款 + +![logo](/img/ApplyForLloan.png) + +### 合同签约 + +![logo](/img/ContractContract.png) + +### 还款信息 + +![logo](/img/RepaymentInformation.png) \ No newline at end of file diff --git a/packages/artplayer-document/docusaurus.config.js b/packages/artplayer-document/docusaurus.config.js index abef4eec9..dd7ed5aca 100644 --- a/packages/artplayer-document/docusaurus.config.js +++ b/packages/artplayer-document/docusaurus.config.js @@ -1,106 +1,84 @@ const lightCodeTheme = require('prism-react-renderer/themes/github'); const darkCodeTheme = require('prism-react-renderer/themes/dracula'); -const config = { - title: 'Artplayer.js Document', - tagline: 'ArtPlayer.js is an modern and full featured HTML5 video player', +module.exports = { + title: 'Artplayer.js', + tagline: 'Public Product Api Document', url: 'https://artplayer.org', baseUrl: '/document/', onBrokenLinks: 'ignore', onBrokenMarkdownLinks: 'ignore', favicon: 'img/favicon.ico', - organizationName: 'zhw2590582', - projectName: 'artplayer', - presets: [ - [ - '@docusaurus/preset-classic', - { - docs: { - sidebarPath: require.resolve('./sidebars.js'), - editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/', - }, - blog: { - showReadingTime: true, - editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/blog/', - }, - theme: { - customCss: require.resolve('./src/css/custom.css'), - }, - }, - ], - ], + clientModules: [require.resolve('./src/script/main.js')], themeConfig: { + hideableSidebar: true, navbar: { - title: 'My Site', - logo: { - alt: 'My Site Logo', - src: 'img/logo.svg', - }, + title: 'Artplayer.js', items: [ { - type: 'doc', - docId: 'intro', + href: 'https://artplayer.org', position: 'left', - label: 'Tutorial', + label: 'Online Editor', }, - { to: '/blog', label: 'Blog', position: 'left' }, { - href: 'https://github.com/facebook/docusaurus', - label: 'GitHub', + href: 'https://github.com/zhw2590582/ArtPlayer', + position: 'left', + label: 'Github', + }, + { + label: 'QQ群: 320881312', position: 'right', }, + { + label: 'v 4.x.x', + position: 'right', + items: [ + { + label: 'v 3.x.x', + href: 'https://artplayer.org/document_v3/', + }, + ], + }, + { + label: 'English', + position: 'right', + items: [ + { + label: 'English', + href: '/', + }, + { + label: '中文', + href: '/zh-cn/', + }, + ], + }, ], }, footer: { style: 'dark', - links: [ - { - title: 'Docs', - items: [ - { - label: 'Tutorial', - to: '/docs/intro', - }, - ], - }, - { - title: 'Community', - items: [ - { - label: 'Stack Overflow', - href: 'https://stackoverflow.com/questions/tagged/docusaurus', - }, - { - label: 'Discord', - href: 'https://discordapp.com/invite/docusaurus', - }, - { - label: 'Twitter', - href: 'https://twitter.com/docusaurus', - }, - ], - }, - { - title: 'More', - items: [ - { - label: 'Blog', - to: '/blog', - }, - { - label: 'GitHub', - href: 'https://github.com/facebook/docusaurus', - }, - ], - }, - ], - copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`, + copyright: `Copyright © ${new Date().getFullYear()} Artplayer.js, Inc. Built with Docusaurus.`, }, prism: { theme: lightCodeTheme, darkTheme: darkCodeTheme, }, }, + plugins: [require.resolve('docusaurus-lunr-search')], + presets: [ + [ + '@docusaurus/preset-classic', + { + docs: { + path: './docs', + routeBasePath: '/', + sidebarPath: require.resolve('./sidebars.js'), + }, + blog: false, + theme: { + customCss: require.resolve('./src/css/custom.css'), + }, + }, + ], + ], }; - -module.exports = config; diff --git a/packages/artplayer-document/package.json b/packages/artplayer-document/package.json index 4a3c461e7..941e57204 100644 --- a/packages/artplayer-document/package.json +++ b/packages/artplayer-document/package.json @@ -1,23 +1,25 @@ { "name": "artplayer-document", - "version": "4.0.0", + "version": "1.0.0", + "private": true, "scripts": { "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids" + "start": "npx docusaurus start", + "build": "npx docusaurus build", + "swizzle": "npx docusaurus swizzle", + "deploy": "npx docusaurus deploy", + "clear": "npx docusaurus clear", + "serve": "npx docusaurus serve", + "write-translations": "npx docusaurus write-translations", + "write-heading-ids": "npx docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "2.0.0-beta.9", - "@docusaurus/preset-classic": "2.0.0-beta.9", + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/preset-classic": "2.0.0-beta.3", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", + "docusaurus-lunr-search": "^2.1.14", "file-loader": "^6.2.0", "prism-react-renderer": "^1.2.1", "react": "^17.0.1", @@ -36,4 +38,4 @@ "last 1 safari version" ] } -} \ No newline at end of file +} diff --git a/packages/artplayer-document/sidebars.js b/packages/artplayer-document/sidebars.js index fd342f2cd..25226f070 100644 --- a/packages/artplayer-document/sidebars.js +++ b/packages/artplayer-document/sidebars.js @@ -1,31 +1,4 @@ -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ - -// @ts-check - -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -const sidebars = { - // By default, Docusaurus generates a sidebar from the docs folder structure - tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], - - // But you can create a sidebar manually - /* - tutorialSidebar: [ - { - type: 'category', - label: 'Tutorial', - items: ['hello'], - }, - ], - */ +module.exports = { + en: [{ type: "autogenerated", dirName: "en" }], + "zh-cn": [{ type: "autogenerated", dirName: "zh-cn" }], }; - -module.exports = sidebars; diff --git a/packages/artplayer-document/src/components/HomepageFeatures.js b/packages/artplayer-document/src/components/HomepageFeatures.js deleted file mode 100644 index 16f820b10..000000000 --- a/packages/artplayer-document/src/components/HomepageFeatures.js +++ /dev/null @@ -1,64 +0,0 @@ -import React from 'react'; -import clsx from 'clsx'; -import styles from './HomepageFeatures.module.css'; - -const FeatureList = [ - { - title: 'Easy to Use', - Svg: require('../../static/img/undraw_docusaurus_mountain.svg').default, - description: ( - <> - Docusaurus was designed from the ground up to be easily installed and - used to get your website up and running quickly. - - ), - }, - { - title: 'Focus on What Matters', - Svg: require('../../static/img/undraw_docusaurus_tree.svg').default, - description: ( - <> - Docusaurus lets you focus on your docs, and we'll do the chores. Go - ahead and move your docs into the docs directory. - - ), - }, - { - title: 'Powered by React', - Svg: require('../../static/img/undraw_docusaurus_react.svg').default, - description: ( - <> - Extend or customize your website layout by reusing React. Docusaurus can - be extended while reusing the same header and footer. - - ), - }, -]; - -function Feature({Svg, title, description}) { - return ( -
-
- -
-
-

{title}

-

{description}

-
-
- ); -} - -export default function HomepageFeatures() { - return ( -
-
-
- {FeatureList.map((props, idx) => ( - - ))} -
-
-
- ); -} diff --git a/packages/artplayer-document/src/components/HomepageFeatures.module.css b/packages/artplayer-document/src/components/HomepageFeatures.module.css deleted file mode 100644 index b248eb2e5..000000000 --- a/packages/artplayer-document/src/components/HomepageFeatures.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/packages/artplayer-document/src/css/custom.css b/packages/artplayer-document/src/css/custom.css index 6abe14854..29d8472dd 100644 --- a/packages/artplayer-document/src/css/custom.css +++ b/packages/artplayer-document/src/css/custom.css @@ -1,3 +1,4 @@ +/* stylelint-disable docusaurus/copyright-header */ /** * Any CSS included here will be global. The classic template * bundles Infima by default. Infima is a CSS framework designed to @@ -23,6 +24,37 @@ padding: 0 var(--ifm-pre-padding); } -html[data-theme='dark'] .docusaurus-highlight-code-line { +html[data-theme="dark"] .docusaurus-highlight-code-line { background-color: rgba(0, 0, 0, 0.3); } + +table { + display: table; + font-size: 15px; +} + +table th { + text-align: left; +} + +table thead tr { + border-bottom-width: 1px !important; +} + +table p { + margin-bottom: 0px; +} + +.markdown li > p { + margin-top: 10px; + margin-bottom: 10px; +} + +.markdown > p { + margin-bottom: 10px; +} + +.navbar__search { + padding-left: 1rem; + padding-left: var(--ifm-navbar-padding-horizontal); +} diff --git a/packages/artplayer-document/src/pages/index.js b/packages/artplayer-document/src/pages/index.js deleted file mode 100644 index 27c21e8f9..000000000 --- a/packages/artplayer-document/src/pages/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; -import clsx from 'clsx'; -import Layout from '@theme/Layout'; -import Link from '@docusaurus/Link'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import styles from './index.module.css'; -import HomepageFeatures from '../components/HomepageFeatures'; - -function HomepageHeader() { - const {siteConfig} = useDocusaurusContext(); - return ( -
-
-

{siteConfig.title}

-

{siteConfig.tagline}

-
- - Docusaurus Tutorial - 5min ⏱️ - -
-
-
- ); -} - -export default function Home() { - const {siteConfig} = useDocusaurusContext(); - return ( - - -
- -
-
- ); -} diff --git a/packages/artplayer-document/src/pages/index.module.css b/packages/artplayer-document/src/pages/index.module.css deleted file mode 100644 index 666feb6a1..000000000 --- a/packages/artplayer-document/src/pages/index.module.css +++ /dev/null @@ -1,23 +0,0 @@ -/** - * CSS files with the .module.css suffix will be treated as CSS modules - * and scoped locally. - */ - -.heroBanner { - padding: 4rem 0; - text-align: center; - position: relative; - overflow: hidden; -} - -@media screen and (max-width: 966px) { - .heroBanner { - padding: 2rem; - } -} - -.buttons { - display: flex; - align-items: center; - justify-content: center; -} diff --git a/packages/artplayer-document/src/pages/markdown-page.md b/packages/artplayer-document/src/pages/markdown-page.md deleted file mode 100644 index 9756c5b66..000000000 --- a/packages/artplayer-document/src/pages/markdown-page.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Markdown page example ---- - -# Markdown page example - -You don't need React to write simple standalone pages. diff --git a/packages/artplayer-document/src/script/bugfix.js b/packages/artplayer-document/src/script/bugfix.js new file mode 100644 index 000000000..553eff901 --- /dev/null +++ b/packages/artplayer-document/src/script/bugfix.js @@ -0,0 +1,36 @@ +const i18n = { + English: "中文", +}; + +function changeI18n() { + const zh = window.location.pathname.startsWith("/zh-cn/"); + const links = Array.from(document.querySelectorAll(".navbar__link")); + links.forEach((item) => { + const text = item.textContent.trim(); + if (zh) { + if (i18n[text]) { + item.textContent = i18n[text]; + item.dataset.en = text; + } + } else { + if (item.dataset.en && item.dataset.en !== text) { + item.textContent = item.dataset.en; + } + } + }); +} + +window.addEventListener("load", () => { + setTimeout(changeI18n, 300); + document.addEventListener("click", (event) => { + const { className } = event.target; + if (!className || typeof className !== "string") return; + if ( + className.includes("navbar__link") || + className.includes("dropdown__link") || + className.includes("navbar__title") + ) { + setTimeout(changeI18n, 300); + } + }); +}); diff --git a/packages/artplayer-document/src/script/main.js b/packages/artplayer-document/src/script/main.js new file mode 100644 index 000000000..e9183aa00 --- /dev/null +++ b/packages/artplayer-document/src/script/main.js @@ -0,0 +1,3 @@ +if (typeof window !== "undefined") { + require("./bugfix"); +} diff --git a/packages/artplayer-document/src/theme/SearchBar/algolia.css b/packages/artplayer-document/src/theme/SearchBar/algolia.css new file mode 100644 index 000000000..8f3038edc --- /dev/null +++ b/packages/artplayer-document/src/theme/SearchBar/algolia.css @@ -0,0 +1,533 @@ +/** + * Copyright (c) 2017-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* Bottom border of each suggestion */ +.algolia-docsearch-suggestion { + border-bottom-color: #3a3dd1; +} +/* Main category headers */ +.algolia-docsearch-suggestion--category-header { + background-color: #4b54de; +} +/* Highlighted search terms */ +.algolia-docsearch-suggestion--highlight { + color: #3a33d1; +} +/* Highligted search terms in the main category headers */ +.algolia-docsearch-suggestion--category-header + .algolia-docsearch-suggestion--highlight { + background-color: #4d47d5; +} +/* Currently selected suggestion */ +.aa-cursor .algolia-docsearch-suggestion--content { + color: #272296; +} +.aa-cursor .algolia-docsearch-suggestion { + background: #ebebfb; +} + +/* For bigger screens, when displaying results in two columns */ +@media (min-width: 768px) { + /* Bottom border of each suggestion */ + .algolia-docsearch-suggestion { + border-bottom-color: #7671df; + } + /* Left column, with secondary category header */ + .algolia-docsearch-suggestion--subcategory-column { + border-right-color: #7671df; + color: #4e4726; + } +} + +.searchbox { + display: inline-block; + position: relative; + width: 200px; + height: 32px !important; + white-space: nowrap; + box-sizing: border-box; + visibility: visible !important; +} + +.searchbox .algolia-autocomplete { + display: block; + width: 100%; + height: 100%; +} + +.searchbox__wrapper { + width: 100%; + height: 100%; + z-index: 999; + position: relative; +} + +.searchbox__input { + display: inline-block; + box-sizing: border-box; + -webkit-transition: box-shadow 0.4s ease, background 0.4s ease; + transition: box-shadow 0.4s ease, background 0.4s ease; + border: 0; + border-radius: 16px; + box-shadow: inset 0 0 0 1px #cccccc; + background: #ffffff !important; + padding: 0; + padding-right: 26px; + padding-left: 32px; + width: 100%; + height: 100%; + vertical-align: middle; + white-space: normal; + font-size: 12px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.searchbox__input::-webkit-search-decoration, +.searchbox__input::-webkit-search-cancel-button, +.searchbox__input::-webkit-search-results-button, +.searchbox__input::-webkit-search-results-decoration { + display: none; +} + +.searchbox__input:hover { + box-shadow: inset 0 0 0 1px #b3b3b3; +} + +.searchbox__input:focus, +.searchbox__input:active { + outline: 0; + box-shadow: inset 0 0 0 1px #aaaaaa; + background: #ffffff; +} + +.searchbox__input::-webkit-input-placeholder { + color: #aaaaaa; +} + +.searchbox__input::-moz-placeholder { + color: #aaaaaa; +} + +.searchbox__input:-ms-input-placeholder { + color: #aaaaaa; +} + +.searchbox__input::placeholder { + color: #aaaaaa; +} + +.searchbox__submit { + position: absolute; + top: 0; + margin: 0; + border: 0; + border-radius: 16px 0 0 16px; + background-color: rgba(69, 142, 225, 0); + padding: 0; + width: 32px; + height: 100%; + vertical-align: middle; + text-align: center; + font-size: inherit; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + right: inherit; + left: 0; +} + +.searchbox__submit::before { + display: inline-block; + margin-right: -4px; + height: 100%; + vertical-align: middle; + content: ''; +} + +.searchbox__submit:hover, +.searchbox__submit:active { + cursor: pointer; +} + +.searchbox__submit:focus { + outline: 0; +} + +.searchbox__submit svg { + width: 14px; + height: 14px; + vertical-align: middle; + fill: #6d7e96; +} + +.searchbox__reset { + display: block; + position: absolute; + top: 8px; + right: 8px; + margin: 0; + border: 0; + background: none; + cursor: pointer; + padding: 0; + font-size: inherit; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + fill: rgba(0, 0, 0, 0.5); +} + +.searchbox__reset.hide { + display: none; +} + +.searchbox__reset:focus { + outline: 0; +} + +.searchbox__reset svg { + display: block; + margin: 4px; + width: 8px; + height: 8px; +} + +.searchbox__input:valid ~ .searchbox__reset { + display: block; + -webkit-animation-name: sbx-reset-in; + animation-name: sbx-reset-in; + -webkit-animation-duration: 0.15s; + animation-duration: 0.15s; +} + +@-webkit-keyframes sbx-reset-in { + 0% { + -webkit-transform: translate3d(-20%, 0, 0); + transform: translate3d(-20%, 0, 0); + opacity: 0; + } + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes sbx-reset-in { + 0% { + -webkit-transform: translate3d(-20%, 0, 0); + transform: translate3d(-20%, 0, 0); + opacity: 0; + } + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.algolia-autocomplete .ds-dropdown-menu:before { + display: block; + position: absolute; + content: ''; + width: 14px; + height: 14px; + background: #373940; + z-index: 1000; + top: -7px; + border-top: 1px solid #373940; + border-right: 1px solid #373940; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + border-radius: 2px; +} + +.algolia-autocomplete .ds-dropdown-menu { + box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2), 0 2px 3px 0 rgba(0, 0, 0, 0.1); +} + +@media (min-width: 601px) { + .algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu { + right: 0 !important; + left: inherit !important; + } + + .algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before { + right: 48px; + } + + .algolia-autocomplete .ds-dropdown-menu { + position: relative; + top: -6px; + border-radius: 4px; + margin: 6px 0 0; + padding: 0; + text-align: left; + height: auto; + position: relative; + background: transparent; + border: none; + z-index: 999; + max-width: 600px; + min-width: 500px; + } +} + +@media (max-width: 600px) { + .algolia-autocomplete .ds-dropdown-menu { + z-index: 100; + position: fixed !important; + top: 50px !important; + left: auto !important; + right: 1rem !important; + width: 600px; + max-width: calc(100% - 2rem); + max-height: calc(100% - 5rem); + display: block; + } + + .algolia-autocomplete .ds-dropdown-menu:before { + right: 6rem; + } +} + +.algolia-autocomplete .ds-dropdown-menu .ds-suggestions { + position: relative; + z-index: 1000; +} + +.algolia-autocomplete .ds-dropdown-menu .ds-suggestion { + cursor: pointer; +} + +.algolia-autocomplete .ds-dropdown-menu [class^='ds-dataset-'] { + position: relative; + border-radius: 4px; + overflow: auto; + padding: 0; + background: #ffffff; +} + +.algolia-autocomplete .ds-dropdown-menu * { + box-sizing: border-box; +} + +.algolia-autocomplete .algolia-docsearch-suggestion { + display: block; + position: relative; + padding: 0; + overflow: hidden; + text-decoration: none; +} + +.algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--wrapper { + background: #f1f1f1; + box-shadow: inset -2px 0 0 #61dafb; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--highlight { + background: #ffe564; + padding: 0.1em 0.05em; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion--category-header + .algolia-docsearch-suggestion--category-header-lvl0 + .algolia-docsearch-suggestion--highlight, +.algolia-autocomplete + .algolia-docsearch-suggestion--category-header + .algolia-docsearch-suggestion--category-header-lvl1 + .algolia-docsearch-suggestion--highlight { + color: inherit; + background: inherit; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion--text + .algolia-docsearch-suggestion--highlight { + padding: 0 0 1px; + background: inherit; + box-shadow: inset 0 -2px 0 0 rgba(69, 142, 225, 0.8); + color: inherit; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content { + display: block; + float: right; + width: 70%; + position: relative; + padding: 5.33333px 0 5.33333px 10.66667px; + cursor: pointer; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content:before { + content: ''; + position: absolute; + display: block; + top: 0; + height: 100%; + width: 1px; + background: #ececec; + left: -1px; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--category-header { + position: relative; + display: none; + font-size: 14px; + letter-spacing: 0.08em; + font-weight: 700; + background-color: #373940; + text-transform: uppercase; + color: #fff; + margin: 0; + padding: 5px 8px; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--wrapper { + background-color: #fff; + width: 100%; + float: left; + padding: 8px 0 0 0; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column { + float: left; + width: 30%; + display: none; + padding-left: 0; + text-align: right; + position: relative; + padding: 5.33333px 10.66667px; + color: #777; + font-size: 0.9em; + word-wrap: break-word; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before { + content: ''; + position: absolute; + display: block; + top: 0; + height: 100%; + width: 1px; + background: #ececec; + right: 0; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main + .algolia-docsearch-suggestion--category-header, +.algolia-autocomplete + .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary { + display: block; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion--subcategory-column + .algolia-docsearch-suggestion--highlight { + background-color: inherit; + color: inherit; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline { + display: none; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--title { + margin-bottom: 4px; + color: #02060c; + font-size: 0.9em; + font-weight: bold; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--text { + display: block; + line-height: 1.2em; + font-size: 0.85em; + color: #63676d; + padding-right: 2px; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--no-results { + width: 100%; + padding: 8px 0; + text-align: center; + font-size: 1.2em; + background-color: #373940; + margin-top: -8px; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion--no-results + .algolia-docsearch-suggestion--text { + color: #ffffff; + margin-top: 4px; +} + +.algolia-autocomplete .algolia-docsearch-suggestion--no-results::before { + display: none; +} + +.algolia-autocomplete .algolia-docsearch-suggestion code { + padding: 1px 5px; + font-size: 90%; + border: none; + color: #222222; + background-color: #ebebeb; + border-radius: 3px; + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion + code + .algolia-docsearch-suggestion--highlight { + background: none; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main + .algolia-docsearch-suggestion--category-header { + color: white; + display: block; +} + +.algolia-autocomplete + .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary + .algolia-docsearch-suggestion--subcategory-column { + display: block; +} + +.algolia-autocomplete .algolia-docsearch-footer { + background-color: #fff; + width: 100%; + height: 30px; + z-index: 2000; + float: right; + font-size: 0; + line-height: 0; +} + +.algolia-autocomplete .algolia-docsearch-footer--logo { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 18'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='-36.87%25' x2='129.43%25' y1='134.94%25' y2='-27.7%25'%3E%3Cstop stop-color='%252300AEFF' offset='0%25'/%3E%3Cstop stop-color='%25233369E7' offset='100%25'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='url(%2523a)' d='M59.4.02h13.3a2.37 2.37 0 0 1 2.38 2.37V15.6a2.37 2.37 0 0 1-2.38 2.36H59.4a2.37 2.37 0 0 1-2.38-2.36V2.38A2.37 2.37 0 0 1 59.4.02z'/%3E%3Cpath fill='%2523FFF' d='M66.26 4.56c-2.82 0-5.1 2.27-5.1 5.08 0 2.8 2.28 5.07 5.1 5.07 2.8 0 5.1-2.26 5.1-5.07 0-2.8-2.28-5.07-5.1-5.07zm0 8.65c-2 0-3.6-1.6-3.6-3.56 0-1.97 1.6-3.58 3.6-3.58 1.98 0 3.6 1.6 3.6 3.58a3.58 3.58 0 0 1-3.6 3.57zm0-6.4v2.66c0 .07.08.13.15.1l2.4-1.24c.04-.02.06-.1.03-.14a2.96 2.96 0 0 0-2.46-1.5c-.06 0-.1.05-.1.1zm-3.33-1.96l-.3-.3a.78.78 0 0 0-1.12 0l-.36.36a.77.77 0 0 0 0 1.1l.3.3c.05.05.13.04.17 0 .2-.25.4-.5.6-.7.23-.23.46-.43.7-.6.07-.04.07-.1.03-.16zm5-.8V3.4a.78.78 0 0 0-.78-.78h-1.83a.78.78 0 0 0-.78.78v.63c0 .07.06.12.14.1a5.74 5.74 0 0 1 1.58-.22c.52 0 1.04.07 1.54.2a.1.1 0 0 0 .13-.1z'/%3E%3Cpath fill='%2523182359' d='M102.16 13.76c0 1.46-.37 2.52-1.12 3.2-.75.67-1.9 1-3.44 1-.56 0-1.74-.1-2.67-.3l.34-1.7c.78.17 1.82.2 2.36.2.86 0 1.48-.16 1.84-.5.37-.36.55-.88.55-1.57v-.35a6.37 6.37 0 0 1-.84.3 4.15 4.15 0 0 1-1.2.17 4.5 4.5 0 0 1-1.6-.28 3.38 3.38 0 0 1-1.26-.82 3.74 3.74 0 0 1-.8-1.35c-.2-.54-.3-1.5-.3-2.2 0-.67.1-1.5.3-2.06a3.92 3.92 0 0 1 .9-1.43 4.12 4.12 0 0 1 1.45-.92 5.3 5.3 0 0 1 1.94-.37c.7 0 1.35.1 1.97.2a15.86 15.86 0 0 1 1.6.33v8.46zm-5.95-4.2c0 .9.2 1.88.6 2.3.4.4.9.62 1.53.62.34 0 .66-.05.96-.15a2.75 2.75 0 0 0 .73-.33V6.7a8.53 8.53 0 0 0-1.42-.17c-.76-.02-1.36.3-1.77.8-.4.5-.62 1.4-.62 2.23zm16.13 0c0 .72-.1 1.26-.32 1.85a4.4 4.4 0 0 1-.9 1.53c-.38.42-.85.75-1.4.98-.54.24-1.4.37-1.8.37-.43 0-1.27-.13-1.8-.36a4.1 4.1 0 0 1-1.4-.97 4.5 4.5 0 0 1-.92-1.52 5.04 5.04 0 0 1-.33-1.84c0-.72.1-1.4.32-2 .22-.6.53-1.1.92-1.5.4-.43.86-.75 1.4-.98a4.55 4.55 0 0 1 1.78-.34 4.7 4.7 0 0 1 1.8.34c.54.23 1 .55 1.4.97.38.42.68.92.9 1.5.23.6.35 1.3.35 2zm-2.2 0c0-.92-.2-1.7-.6-2.22-.38-.54-.94-.8-1.64-.8-.72 0-1.27.26-1.67.8-.4.54-.58 1.3-.58 2.22 0 .93.2 1.56.6 2.1.38.54.94.8 1.64.8s1.25-.26 1.65-.8c.4-.55.6-1.17.6-2.1zm6.97 4.7c-3.5.02-3.5-2.8-3.5-3.27L113.57.92l2.15-.34v10c0 .25 0 1.87 1.37 1.88v1.8zm3.77 0h-2.15v-9.2l2.15-.33v9.54zM119.8 3.74c.7 0 1.3-.58 1.3-1.3 0-.7-.58-1.3-1.3-1.3-.73 0-1.3.6-1.3 1.3 0 .72.58 1.3 1.3 1.3zm6.43 1c.7 0 1.3.1 1.78.27.5.18.88.42 1.17.73.28.3.5.74.6 1.18.13.46.2.95.2 1.5v5.47a25.24 25.24 0 0 1-1.5.25c-.67.1-1.42.15-2.25.15a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.37-.27-.9-.27-1.44 0-.52.1-.85.3-1.2.2-.37.48-.67.83-.9a3.6 3.6 0 0 1 1.23-.5 7.07 7.07 0 0 1 2.2-.1l.83.16v-.35c0-.25-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.18-.34-.3-.58-.4a2.54 2.54 0 0 0-.92-.17c-.5 0-.94.06-1.35.13-.4.08-.75.16-1 .25l-.27-1.74c.27-.1.67-.18 1.2-.28a9.34 9.34 0 0 1 1.65-.14zm.18 7.74c.66 0 1.15-.04 1.5-.1V10.2a5.1 5.1 0 0 0-2-.1c-.23.03-.45.1-.64.2a1.17 1.17 0 0 0-.47.38c-.13.17-.18.26-.18.52 0 .5.17.8.5.98.32.2.74.3 1.3.3zM84.1 4.8c.72 0 1.3.08 1.8.26.48.17.87.42 1.15.73.3.3.5.72.6 1.17.14.45.2.94.2 1.47v5.48a25.24 25.24 0 0 1-1.5.26c-.67.1-1.42.14-2.25.14a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.38-.27-.9-.27-1.44 0-.53.1-.86.3-1.22.2-.36.5-.65.84-.88a3.6 3.6 0 0 1 1.24-.5 7.07 7.07 0 0 1 2.2-.1c.26.03.54.08.84.15v-.35c0-.24-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.17-.34-.3-.58-.4a2.54 2.54 0 0 0-.9-.15c-.5 0-.96.05-1.37.12-.4.07-.75.15-1 .24l-.26-1.75c.27-.08.67-.17 1.18-.26a8.9 8.9 0 0 1 1.66-.15zm.2 7.73c.65 0 1.14-.04 1.48-.1v-2.17a5.1 5.1 0 0 0-1.98-.1c-.24.03-.46.1-.65.18a1.17 1.17 0 0 0-.47.4c-.12.17-.17.26-.17.52 0 .5.18.8.5.98.32.2.75.3 1.3.3zm8.68 1.74c-3.5 0-3.5-2.82-3.5-3.28L89.45.92 91.6.6v10c0 .25 0 1.87 1.38 1.88v1.8z'/%3E%3Cpath fill='%25231D3657' d='M5.03 11.03c0 .7-.26 1.24-.76 1.64-.5.4-1.2.6-2.1.6-.88 0-1.6-.14-2.17-.42v-1.2c.36.16.74.3 1.14.38.4.1.78.15 1.13.15.5 0 .88-.1 1.12-.3a.94.94 0 0 0 .35-.77.98.98 0 0 0-.33-.74c-.22-.2-.68-.44-1.37-.72-.72-.3-1.22-.62-1.52-1C.23 8.27.1 7.82.1 7.3c0-.65.22-1.17.7-1.55.46-.37 1.08-.56 1.86-.56.76 0 1.5.16 2.25.48l-.4 1.05c-.7-.3-1.32-.44-1.87-.44-.4 0-.73.08-.94.26a.9.9 0 0 0-.33.72c0 .2.04.38.12.52.08.15.22.3.42.4.2.14.55.3 1.06.52.58.24 1 .47 1.27.67.27.2.47.44.6.7.12.26.18.57.18.92zM9 13.27c-.92 0-1.64-.27-2.16-.8-.52-.55-.78-1.3-.78-2.24 0-.97.24-1.73.72-2.3.5-.54 1.15-.82 2-.82.78 0 1.4.25 1.85.72.46.48.7 1.14.7 1.97v.67H7.35c0 .58.17 1.02.46 1.33.3.3.7.47 1.24.47.36 0 .68-.04.98-.1a5.1 5.1 0 0 0 .98-.33v1.02a3.87 3.87 0 0 1-.94.32 5.72 5.72 0 0 1-1.08.1zm-.22-5.2c-.4 0-.73.12-.97.38s-.37.62-.42 1.1h2.7c0-.48-.13-.85-.36-1.1-.23-.26-.54-.38-.94-.38zm7.7 5.1l-.26-.84h-.05c-.28.36-.57.6-.86.74-.28.13-.65.2-1.1.2-.6 0-1.05-.16-1.38-.48-.32-.32-.5-.77-.5-1.34 0-.62.24-1.08.7-1.4.45-.3 1.14-.47 2.07-.5l1.02-.03V9.2c0-.37-.1-.65-.27-.84-.17-.2-.45-.28-.82-.28-.3 0-.6.04-.88.13a6.68 6.68 0 0 0-.8.33l-.4-.9a4.4 4.4 0 0 1 1.05-.4 4.86 4.86 0 0 1 1.08-.12c.76 0 1.33.18 1.7.5.4.33.6.85.6 1.56v4h-.9zm-1.9-.87c.47 0 .83-.13 1.1-.38.3-.26.43-.62.43-1.08v-.52l-.76.03c-.6.03-1.02.13-1.3.3s-.4.45-.4.82c0 .26.08.47.24.6.16.16.4.23.7.23zm7.57-5.2c.25 0 .46.03.62.06l-.12 1.18a2.38 2.38 0 0 0-.56-.06c-.5 0-.92.16-1.24.5-.3.32-.47.75-.47 1.27v3.1h-1.27V7.23h1l.16 1.05h.05c.2-.36.45-.64.77-.85a1.83 1.83 0 0 1 1.02-.3zm4.12 6.17c-.9 0-1.58-.27-2.05-.8-.47-.52-.7-1.27-.7-2.25 0-1 .24-1.77.73-2.3.5-.54 1.2-.8 2.12-.8.63 0 1.2.1 1.7.34l-.4 1c-.52-.2-.96-.3-1.3-.3-1.04 0-1.55.68-1.55 2.05 0 .67.13 1.17.38 1.5.26.34.64.5 1.13.5a3.23 3.23 0 0 0 1.6-.4v1.1a2.53 2.53 0 0 1-.73.28 4.36 4.36 0 0 1-.93.08zm8.28-.1h-1.27V9.5c0-.45-.1-.8-.28-1.02-.18-.23-.47-.34-.88-.34-.53 0-.9.16-1.16.48-.25.3-.38.85-.38 1.6v2.94h-1.26V4.8h1.26v2.12c0 .34-.02.7-.06 1.1h.08a1.76 1.76 0 0 1 .72-.67c.3-.16.66-.24 1.07-.24 1.43 0 2.15.74 2.15 2.2v3.86zM42.2 7.1c.74 0 1.32.28 1.73.82.4.53.62 1.3.62 2.26 0 .97-.2 1.73-.63 2.27-.42.54-1 .82-1.75.82s-1.33-.27-1.75-.8h-.08l-.23.7h-.94V4.8h1.26v2l-.02.64-.03.56h.05c.4-.6 1-.9 1.78-.9zm-.33 1.04c-.5 0-.88.15-1.1.45-.22.3-.34.8-.35 1.5v.08c0 .72.12 1.24.35 1.57.23.32.6.48 1.12.48.44 0 .78-.17 1-.53.24-.35.36-.87.36-1.53 0-1.35-.47-2.03-1.4-2.03zm3.24-.92h1.4l1.2 3.37c.18.47.3.92.36 1.34h.04l.18-.72 1.37-4H51l-2.53 6.73c-.46 1.23-1.23 1.85-2.3 1.85-.3 0-.56-.03-.83-.1v-1c.2.05.4.08.65.08.6 0 1.03-.36 1.28-1.06l.22-.56-2.4-5.94z'/%3E%3C/g%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; + overflow: hidden; + text-indent: -9000px; + width: 110px; + height: 100%; + display: block; + margin-left: auto; + margin-right: 5px; +} diff --git a/packages/artplayer-document/src/theme/SearchBar/index.js b/packages/artplayer-document/src/theme/SearchBar/index.js new file mode 100644 index 000000000..53f73d3ff --- /dev/null +++ b/packages/artplayer-document/src/theme/SearchBar/index.js @@ -0,0 +1,110 @@ +/** + * Copyright (c) 2017-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React, { useRef, useCallback } from "react"; +import classnames from "classnames"; +import { useHistory } from "@docusaurus/router"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import { usePluginData } from '@docusaurus/useGlobalData'; +const Search = props => { + const initialized = useRef(false); + const searchBarRef = useRef(null); + const history = useHistory(); + const { siteConfig = {} } = useDocusaurusContext(); + const { baseUrl } = siteConfig; + const initAlgolia = (searchDocs, searchIndex, DocSearch) => { + new DocSearch({ + searchDocs, + searchIndex, + inputSelector: "#search_input_react", + // Override algolia's default selection event, allowing us to do client-side + // navigation and avoiding a full page refresh. + handleSelected: (_input, _event, suggestion) => { + const url = baseUrl + suggestion.url; + // Use an anchor tag to parse the absolute url into a relative url + // Alternatively, we can use new URL(suggestion.url) but its not supported in IE + const a = document.createElement("a"); + a.href = url; + // Algolia use closest parent element id #__docusaurus when a h1 page title does not have an id + // So, we can safely remove it. See https://github.com/facebook/docusaurus/issues/1828 for more details. + + history.push(url); + } + }); + }; + + const pluginData = usePluginData('docusaurus-lunr-search'); + const getSearchDoc = () => + process.env.NODE_ENV === "production" + ? fetch(`${baseUrl}${pluginData.fileNames.searchDoc}`).then((content) => content.json()) + : Promise.resolve([]); + + const getLunrIndex = () => + process.env.NODE_ENV === "production" + ? fetch(`${baseUrl}${pluginData.fileNames.lunrIndex}`).then((content) => content.json()) + : Promise.resolve([]); + + const loadAlgolia = () => { + if (!initialized.current) { + Promise.all([ + getSearchDoc(), + getLunrIndex(), + import("./lib/DocSearch"), + import("./algolia.css") + ]).then(([searchDocs, searchIndex, { default: DocSearch }]) => { + if( searchDocs.length === 0) { + return; + } + initAlgolia(searchDocs, searchIndex, DocSearch); + }); + initialized.current = true; + } + }; + + const toggleSearchIconClick = useCallback( + e => { + if (!searchBarRef.current.contains(e.target)) { + searchBarRef.current.focus(); + } + props.handleSearchBarToggle && props.handleSearchBarToggle(!props.isSearchBarExpanded); + }, + [props.isSearchBarExpanded] + ); + + return ( +
+ + +
+ ); +}; + +export default Search; diff --git a/packages/artplayer-document/src/theme/SearchBar/lib/DocSearch.js b/packages/artplayer-document/src/theme/SearchBar/lib/DocSearch.js new file mode 100644 index 000000000..ffdca6a59 --- /dev/null +++ b/packages/artplayer-document/src/theme/SearchBar/lib/DocSearch.js @@ -0,0 +1,306 @@ +import Hogan from "hogan.js"; +import LunrSearchAdapter from "./lunar-search"; +import autocomplete from "autocomplete.js"; +import templates from "./templates"; +import utils from "./utils"; +import $ from "autocomplete.js/zepto"; + +/** + * Adds an autocomplete dropdown to an input field + * @function DocSearch + * @param {Object} options.searchDocs Search Documents + * @param {Object} options.searchIndex Lune searchIndexes + * @param {string} options.inputSelector CSS selector that targets the input + * value. + * @param {Object} [options.autocompleteOptions] Options to pass to the underlying autocomplete instance + * @return {Object} + */ +class DocSearch { + constructor({ + searchDocs, + searchIndex, + inputSelector, + debug = false, + queryDataCallback = null, + autocompleteOptions = { + debug: false, + hint: false, + autoselect: true + }, + transformData = false, + queryHook = false, + handleSelected = false, + enhancedSearchInput = false, + layout = "collumns" + }) { + this.input = DocSearch.getInputFromSelector(inputSelector); + this.queryDataCallback = queryDataCallback || null; + const autocompleteOptionsDebug = + autocompleteOptions && autocompleteOptions.debug + ? autocompleteOptions.debug + : false; + // eslint-disable-next-line no-param-reassign + autocompleteOptions.debug = debug || autocompleteOptionsDebug; + this.autocompleteOptions = autocompleteOptions; + this.autocompleteOptions.cssClasses = + this.autocompleteOptions.cssClasses || {}; + this.autocompleteOptions.cssClasses.prefix = + this.autocompleteOptions.cssClasses.prefix || "ds"; + const inputAriaLabel = + this.input && + typeof this.input.attr === "function" && + this.input.attr("aria-label"); + this.autocompleteOptions.ariaLabel = + this.autocompleteOptions.ariaLabel || inputAriaLabel || "search input"; + + this.isSimpleLayout = layout === "simple"; + + this.client = new LunrSearchAdapter(searchDocs, searchIndex); + + if (enhancedSearchInput) { + this.input = DocSearch.injectSearchBox(this.input); + } + this.autocomplete = autocomplete(this.input, autocompleteOptions, [ + { + source: this.getAutocompleteSource(transformData, queryHook), + templates: { + suggestion: DocSearch.getSuggestionTemplate(this.isSimpleLayout), + footer: templates.footer, + empty: DocSearch.getEmptyTemplate() + } + } + ]); + + const customHandleSelected = handleSelected; + this.handleSelected = customHandleSelected || this.handleSelected; + + // We prevent default link clicking if a custom handleSelected is defined + if (customHandleSelected) { + $(".algolia-autocomplete").on("click", ".ds-suggestions a", event => { + event.preventDefault(); + }); + } + + this.autocomplete.on( + "autocomplete:selected", + this.handleSelected.bind(null, this.autocomplete.autocomplete) + ); + + this.autocomplete.on( + "autocomplete:shown", + this.handleShown.bind(null, this.input) + ); + + if (enhancedSearchInput) { + DocSearch.bindSearchBoxEvent(); + } + } + + static injectSearchBox(input) { + input.before(templates.searchBox); + const newInput = input + .prev() + .prev() + .find("input"); + input.remove(); + return newInput; + } + + static bindSearchBoxEvent() { + $('.searchbox [type="reset"]').on("click", function () { + $("input#docsearch").focus(); + $(this).addClass("hide"); + autocomplete.autocomplete.setVal(""); + }); + + $("input#docsearch").on("keyup", () => { + const searchbox = document.querySelector("input#docsearch"); + const reset = document.querySelector('.searchbox [type="reset"]'); + reset.className = "searchbox__reset"; + if (searchbox.value.length === 0) { + reset.className += " hide"; + } + }); + } + + /** + * Returns the matching input from a CSS selector, null if none matches + * @function getInputFromSelector + * @param {string} selector CSS selector that matches the search + * input of the page + * @returns {void} + */ + static getInputFromSelector(selector) { + const input = $(selector).filter("input"); + return input.length ? $(input[0]) : null; + } + + /** + * Returns the `source` method to be passed to autocomplete.js. It will query + * the Algolia index and call the callbacks with the formatted hits. + * @function getAutocompleteSource + * @param {function} transformData An optional function to transform the hits + * @param {function} queryHook An optional function to transform the query + * @returns {function} Method to be passed as the `source` option of + * autocomplete + */ + getAutocompleteSource(transformData, queryHook) { + return (query, callback) => { + if (queryHook) { + // eslint-disable-next-line no-param-reassign + query = queryHook(query) || query; + } + this.client.search(query).then(hits => { + if ( + this.queryDataCallback && + typeof this.queryDataCallback == "function" + ) { + this.queryDataCallback(hits); + } + if (transformData) { + hits = transformData(hits) || hits; + } + callback(DocSearch.formatHits(hits)); + }); + }; + } + + // Given a list of hits returned by the API, will reformat them to be used in + // a Hogan template + static formatHits(receivedHits) { + const clonedHits = utils.deepClone(receivedHits); + const hits = clonedHits.map(hit => { + if (hit._highlightResult) { + // eslint-disable-next-line no-param-reassign + hit._highlightResult = utils.mergeKeyWithParent( + hit._highlightResult, + "hierarchy" + ); + } + return utils.mergeKeyWithParent(hit, "hierarchy"); + }); + + // Group hits by category / subcategory + let groupedHits = utils.groupBy(hits, "lvl0"); + $.each(groupedHits, (level, collection) => { + const groupedHitsByLvl1 = utils.groupBy(collection, "lvl1"); + const flattenedHits = utils.flattenAndFlagFirst( + groupedHitsByLvl1, + "isSubCategoryHeader" + ); + groupedHits[level] = flattenedHits; + }); + groupedHits = utils.flattenAndFlagFirst(groupedHits, "isCategoryHeader"); + + // Translate hits into smaller objects to be send to the template + return groupedHits.map(hit => { + const url = DocSearch.formatURL(hit); + const category = utils.getHighlightedValue(hit, "lvl0"); + const subcategory = utils.getHighlightedValue(hit, "lvl1") || category; + const displayTitle = utils + .compact([ + utils.getHighlightedValue(hit, "lvl2") || subcategory, + utils.getHighlightedValue(hit, "lvl3"), + utils.getHighlightedValue(hit, "lvl4"), + utils.getHighlightedValue(hit, "lvl5"), + utils.getHighlightedValue(hit, "lvl6") + ]) + .join( + '' + ); + const text = utils.getSnippetedValue(hit, "content"); + const isTextOrSubcategoryNonEmpty = + (subcategory && subcategory !== "") || + (displayTitle && displayTitle !== ""); + const isLvl1EmptyOrDuplicate = + !subcategory || subcategory === "" || subcategory === category; + const isLvl2 = + displayTitle && displayTitle !== "" && displayTitle !== subcategory; + const isLvl1 = + !isLvl2 && + (subcategory && subcategory !== "" && subcategory !== category); + const isLvl0 = !isLvl1 && !isLvl2; + + return { + isLvl0, + isLvl1, + isLvl2, + isLvl1EmptyOrDuplicate, + isCategoryHeader: hit.isCategoryHeader, + isSubCategoryHeader: hit.isSubCategoryHeader, + isTextOrSubcategoryNonEmpty, + category, + subcategory, + title: displayTitle, + text, + url + }; + }); + } + + static formatURL(hit) { + const { url, anchor } = hit; + if (url) { + const containsAnchor = url.indexOf("#") !== -1; + if (containsAnchor) return url; + else if (anchor) return `${hit.url}#${hit.anchor}`; + return url; + } else if (anchor) return `#${hit.anchor}`; + /* eslint-disable */ + console.warn("no anchor nor url for : ", JSON.stringify(hit)); + /* eslint-enable */ + return null; + } + + static getEmptyTemplate() { + return args => Hogan.compile(templates.empty).render(args); + } + + static getSuggestionTemplate(isSimpleLayout) { + const stringTemplate = isSimpleLayout + ? templates.suggestionSimple + : templates.suggestion; + const template = Hogan.compile(stringTemplate); + return suggestion => template.render(suggestion); + } + + handleSelected(input, event, suggestion, datasetNumber, context = {}) { + // Do nothing if click on the suggestion, as it's already a , the + // browser will take care of it. This allow Ctrl-Clicking on results and not + // having the main window being redirected as well + if (context.selectionMethod === "click") { + return; + } + + input.setVal(""); + window.location.assign(suggestion.url); + } + + handleShown(input) { + const middleOfInput = input.offset().left + input.width() / 2; + let middleOfWindow = $(document).width() / 2; + + if (isNaN(middleOfWindow)) { + middleOfWindow = 900; + } + + const alignClass = + middleOfInput - middleOfWindow >= 0 + ? "algolia-autocomplete-right" + : "algolia-autocomplete-left"; + const otherAlignClass = + middleOfInput - middleOfWindow < 0 + ? "algolia-autocomplete-right" + : "algolia-autocomplete-left"; + const autocompleteWrapper = $(".algolia-autocomplete"); + if (!autocompleteWrapper.hasClass(alignClass)) { + autocompleteWrapper.addClass(alignClass); + } + + if (autocompleteWrapper.hasClass(otherAlignClass)) { + autocompleteWrapper.removeClass(otherAlignClass); + } + } +} + +export default DocSearch; \ No newline at end of file diff --git a/packages/artplayer-document/src/theme/SearchBar/lib/lunar-search.js b/packages/artplayer-document/src/theme/SearchBar/lib/lunar-search.js new file mode 100644 index 000000000..159b79504 --- /dev/null +++ b/packages/artplayer-document/src/theme/SearchBar/lib/lunar-search.js @@ -0,0 +1,146 @@ +import lunr from "@generated/lunr.client"; +lunr.tokenizer.separator = /[\s\-/]+/; + +class LunrSearchAdapter { + constructor(searchDocs, searchIndex) { + this.searchDocs = searchDocs; + this.lunrIndex = lunr.Index.load(searchIndex); + } + + getLunrResult(input) { + return this.lunrIndex.query(function (query) { + const tokens = lunr.tokenizer(input); + query.term(tokens, { + boost: 10 + }); + query.term(tokens, { + wildcard: lunr.Query.wildcard.TRAILING + }); + }); + } + + getHit(doc, formattedTitle, formattedContent) { + return { + hierarchy: { + lvl0: doc.pageTitle || doc.title, + lvl1: doc.type === 0 ? null : doc.title + }, + url: doc.url, + _snippetResult: formattedContent ? { + content: { + value: formattedContent, + matchLevel: "full" + } + } : null, + _highlightResult: { + hierarchy: { + lvl0: { + value: doc.type === 0 ? formattedTitle || doc.title : doc.pageTitle, + }, + lvl1: + doc.type === 0 + ? null + : { + value: formattedTitle || doc.title + } + } + } + }; + } + getTitleHit(doc, position, length) { + const start = position[0]; + const end = position[0] + length; + let formattedTitle = doc.title.substring(0, start) + '' + doc.title.substring(start, end) + '' + doc.title.substring(end, doc.title.length); + return this.getHit(doc, formattedTitle) + } + + getKeywordHit(doc, position, length) { + const start = position[0]; + const end = position[0] + length; + let formattedTitle = doc.title + '
Keywords: ' + doc.keywords.substring(0, start) + '' + doc.keywords.substring(start, end) + '' + doc.keywords.substring(end, doc.keywords.length) + '' + return this.getHit(doc, formattedTitle) + } + + getContentHit(doc, position) { + const start = position[0]; + const end = position[0] + position[1]; + let previewStart = start; + let previewEnd = end; + let ellipsesBefore = true; + let ellipsesAfter = true; + for (let k = 0; k < 3; k++) { + const nextSpace = doc.content.lastIndexOf(' ', previewStart - 2); + const nextDot = doc.content.lastIndexOf('.', previewStart - 2); + if ((nextDot > 0) && (nextDot > nextSpace)) { + previewStart = nextDot + 1; + ellipsesBefore = false; + break; + } + if (nextSpace < 0) { + previewStart = 0; + ellipsesBefore = false; + break; + } + previewStart = nextSpace + 1; + } + for (let k = 0; k < 10; k++) { + const nextSpace = doc.content.indexOf(' ', previewEnd + 1); + const nextDot = doc.content.indexOf('.', previewEnd + 1); + if ((nextDot > 0) && (nextDot < nextSpace)) { + previewEnd = nextDot; + ellipsesAfter = false; + break; + } + if (nextSpace < 0) { + previewEnd = doc.content.length; + ellipsesAfter = false; + break; + } + previewEnd = nextSpace; + } + let preview = doc.content.substring(previewStart, start); + if (ellipsesBefore) { + preview = '... ' + preview; + } + preview += '' + doc.content.substring(start, end) + ''; + preview += doc.content.substring(end, previewEnd); + if (ellipsesAfter) { + preview += ' ...'; + } + return this.getHit(doc, null, preview); + + } + search(input) { + return new Promise((resolve, rej) => { + const results = this.getLunrResult(input); + const hits = []; + results.length > 5 && (results.length = 5); + this.titleHitsRes = [] + this.contentHitsRes = [] + results.forEach(result => { + const doc = this.searchDocs[result.ref]; + const { metadata } = result.matchData; + for (let i in metadata) { + if (metadata[i].title) { + if (!this.titleHitsRes.includes(result.ref)) { + const position = metadata[i].title.position[0] + hits.push(this.getTitleHit(doc, position, input.length)); + this.titleHitsRes.push(result.ref); + } + } else if (metadata[i].content) { + const position = metadata[i].content.position[0] + hits.push(this.getContentHit(doc, position)) + } else if (metadata[i].keywords) { + const position = metadata[i].keywords.position[0] + hits.push(this.getKeywordHit(doc, position, input.length)); + this.titleHitsRes.push(result.ref); + } + } + }); + hits.length > 5 && (hits.length = 5); + resolve(hits); + }); + } +} + +export default LunrSearchAdapter; diff --git a/packages/artplayer-document/src/theme/SearchBar/lib/templates.js b/packages/artplayer-document/src/theme/SearchBar/lib/templates.js new file mode 100644 index 000000000..c7ea998fd --- /dev/null +++ b/packages/artplayer-document/src/theme/SearchBar/lib/templates.js @@ -0,0 +1,114 @@ +const prefix = 'algolia-docsearch'; +const suggestionPrefix = `${prefix}-suggestion`; +const footerPrefix = `${prefix}-footer`; + +/* eslint-disable max-len */ + +const templates = { + suggestion: ` +
+
+ {{{category}}} +
+
+
+ {{{subcategory}}} +
+ {{#isTextOrSubcategoryNonEmpty}} +
+
{{{subcategory}}}
+
{{{title}}}
+ {{#text}}
{{{text}}}
{{/text}} +
+ {{/isTextOrSubcategoryNonEmpty}} +
+
+ `, + suggestionSimple: ` +
+
+ {{^isLvl0}} + {{{category}}} + {{^isLvl1}} + {{^isLvl1EmptyOrDuplicate}} + + {{{subcategory}}} + + {{/isLvl1EmptyOrDuplicate}} + {{/isLvl1}} + {{/isLvl0}} +
+ {{#isLvl2}} + {{{title}}} + {{/isLvl2}} + {{#isLvl1}} + {{{subcategory}}} + {{/isLvl1}} + {{#isLvl0}} + {{{category}}} + {{/isLvl0}} +
+
+
+ {{#text}} +
+
{{{text}}}
+
+ {{/text}} +
+
+ `, + footer: ` +
+
+ `, + empty: ` +
+
+
+
+
+ No results found for query "{{query}}" +
+
+
+
+
+ `, + searchBox: ` + + + + `, +}; + +export default templates; diff --git a/packages/artplayer-document/src/theme/SearchBar/lib/utils.js b/packages/artplayer-document/src/theme/SearchBar/lib/utils.js new file mode 100644 index 000000000..0807500d7 --- /dev/null +++ b/packages/artplayer-document/src/theme/SearchBar/lib/utils.js @@ -0,0 +1,270 @@ +import $ from "autocomplete.js/zepto"; + +const utils = { + /* + * Move the content of an object key one level higher. + * eg. + * { + * name: 'My name', + * hierarchy: { + * lvl0: 'Foo', + * lvl1: 'Bar' + * } + * } + * Will be converted to + * { + * name: 'My name', + * lvl0: 'Foo', + * lvl1: 'Bar' + * } + * @param {Object} object Main object + * @param {String} property Main object key to move up + * @return {Object} + * @throws Error when key is not an attribute of Object or is not an object itself + */ + mergeKeyWithParent(object, property) { + if (object[property] === undefined) { + return object; + } + if (typeof object[property] !== 'object') { + return object; + } + const newObject = $.extend({}, object, object[property]); + delete newObject[property]; + return newObject; + }, + /* + * Group all objects of a collection by the value of the specified attribute + * If the attribute is a string, use the lowercase form. + * + * eg. + * groupBy([ + * {name: 'Tim', category: 'dev'}, + * {name: 'Vincent', category: 'dev'}, + * {name: 'Ben', category: 'sales'}, + * {name: 'Jeremy', category: 'sales'}, + * {name: 'AlexS', category: 'dev'}, + * {name: 'AlexK', category: 'sales'} + * ], 'category'); + * => + * { + * 'devs': [ + * {name: 'Tim', category: 'dev'}, + * {name: 'Vincent', category: 'dev'}, + * {name: 'AlexS', category: 'dev'} + * ], + * 'sales': [ + * {name: 'Ben', category: 'sales'}, + * {name: 'Jeremy', category: 'sales'}, + * {name: 'AlexK', category: 'sales'} + * ] + * } + * @param {array} collection Array of objects to group + * @param {String} property The attribute on which apply the grouping + * @return {array} + * @throws Error when one of the element does not have the specified property + */ + groupBy(collection, property) { + const newCollection = {}; + $.each(collection, (index, item) => { + if (item[property] === undefined) { + throw new Error(`[groupBy]: Object has no key ${property}`); + } + let key = item[property]; + if (typeof key === 'string') { + key = key.toLowerCase(); + } + // fix #171 the given data type of docsearch hits might be conflict with the properties of the native Object, + // such as the constructor, so we need to do this check. + if (!Object.prototype.hasOwnProperty.call(newCollection, key)) { + newCollection[key] = []; + } + newCollection[key].push(item); + }); + return newCollection; + }, + /* + * Return an array of all the values of the specified object + * eg. + * values({ + * foo: 42, + * bar: true, + * baz: 'yep' + * }) + * => + * [42, true, yep] + * @param {object} object Object to extract values from + * @return {array} + */ + values(object) { + return Object.keys(object).map(key => object[key]); + }, + /* + * Flattens an array + * eg. + * flatten([1, 2, [3, 4], [5, 6]]) + * => + * [1, 2, 3, 4, 5, 6] + * @param {array} array Array to flatten + * @return {array} + */ + flatten(array) { + const results = []; + array.forEach(value => { + if (!Array.isArray(value)) { + results.push(value); + return; + } + value.forEach(subvalue => { + results.push(subvalue); + }); + }); + return results; + }, + /* + * Flatten all values of an object into an array, marking each first element of + * each group with a specific flag + * eg. + * flattenAndFlagFirst({ + * 'devs': [ + * {name: 'Tim', category: 'dev'}, + * {name: 'Vincent', category: 'dev'}, + * {name: 'AlexS', category: 'dev'} + * ], + * 'sales': [ + * {name: 'Ben', category: 'sales'}, + * {name: 'Jeremy', category: 'sales'}, + * {name: 'AlexK', category: 'sales'} + * ] + * , 'isTop'); + * => + * [ + * {name: 'Tim', category: 'dev', isTop: true}, + * {name: 'Vincent', category: 'dev', isTop: false}, + * {name: 'AlexS', category: 'dev', isTop: false}, + * {name: 'Ben', category: 'sales', isTop: true}, + * {name: 'Jeremy', category: 'sales', isTop: false}, + * {name: 'AlexK', category: 'sales', isTop: false} + * ] + * @param {object} object Object to flatten + * @param {string} flag Flag to set to true on first element of each group + * @return {array} + */ + flattenAndFlagFirst(object, flag) { + const values = this.values(object).map(collection => + collection.map((item, index) => { + // eslint-disable-next-line no-param-reassign + item[flag] = index === 0; + return item; + }) + ); + return this.flatten(values); + }, + /* + * Removes all empty strings, null, false and undefined elements array + * eg. + * compact([42, false, null, undefined, '', [], 'foo']); + * => + * [42, [], 'foo'] + * @param {array} array Array to compact + * @return {array} + */ + compact(array) { + const results = []; + array.forEach(value => { + if (!value) { + return; + } + results.push(value); + }); + return results; + }, + /* + * Returns the highlighted value of the specified key in the specified object. + * If no highlighted value is available, will return the key value directly + * eg. + * getHighlightedValue({ + * _highlightResult: { + * text: { + * value: 'foo' + * } + * }, + * text: 'foo' + * }, 'text'); + * => + * 'foo' + * @param {object} object Hit object returned by the Algolia API + * @param {string} property Object key to look for + * @return {string} + **/ + getHighlightedValue(object, property) { + if ( + object._highlightResult && + object._highlightResult.hierarchy_camel && + object._highlightResult.hierarchy_camel[property] && + object._highlightResult.hierarchy_camel[property].matchLevel && + object._highlightResult.hierarchy_camel[property].matchLevel !== 'none' && + object._highlightResult.hierarchy_camel[property].value + ) { + return object._highlightResult.hierarchy_camel[property].value; + } + if ( + object._highlightResult && + object._highlightResult && + object._highlightResult[property] && + object._highlightResult[property].value + ) { + return object._highlightResult[property].value; + } + return object[property]; + }, + /* + * Returns the snippeted value of the specified key in the specified object. + * If no highlighted value is available, will return the key value directly. + * Will add starting and ending ellipsis (…) if we detect that a sentence is + * incomplete + * eg. + * getSnippetedValue({ + * _snippetResult: { + * text: { + * value: 'This is an unfinished sentence' + * } + * }, + * text: 'This is an unfinished sentence' + * }, 'text'); + * => + * 'This is an unfinished sentence…' + * @param {object} object Hit object returned by the Algolia API + * @param {string} property Object key to look for + * @return {string} + **/ + getSnippetedValue(object, property) { + if ( + !object._snippetResult || + !object._snippetResult[property] || + !object._snippetResult[property].value + ) { + return object[property]; + } + let snippet = object._snippetResult[property].value; + + if (snippet[0] !== snippet[0].toUpperCase()) { + snippet = `…${snippet}`; + } + if (['.', '!', '?'].indexOf(snippet[snippet.length - 1]) === -1) { + snippet = `${snippet}…`; + } + return snippet; + }, + /* + * Deep clone an object. + * Note: This will not clone functions and dates + * @param {object} object Object to clone + * @return {object} + */ + deepClone(object) { + return JSON.parse(JSON.stringify(object)); + }, +}; + +export default utils; diff --git a/packages/artplayer-document/src/theme/SearchBar/styles.css b/packages/artplayer-document/src/theme/SearchBar/styles.css new file mode 100644 index 000000000..047517ec0 --- /dev/null +++ b/packages/artplayer-document/src/theme/SearchBar/styles.css @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2017-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.search-icon { + background-image: var(--ifm-navbar-search-input-icon); + height: auto; + width: 24px; + cursor: pointer; + padding: 8px; + line-height: 32px; + background-repeat: no-repeat; + background-position: center; + display: none; +} + +.search-icon-hidden { + visibility: hidden; +} + +@media (max-width: 360px) { + .search-bar { + width: 0 !important; + background: none !important; + padding: 0 !important; + transition: none !important; + } + + .search-bar-expanded { + width: 9rem !important; + } + + .search-icon { + display: inline; + vertical-align: sub; + } +} diff --git a/packages/artplayer-document/static/img/ApplyForLloan.png b/packages/artplayer-document/static/img/ApplyForLloan.png new file mode 100644 index 0000000000000000000000000000000000000000..59ffc5f844e356fffd62cf5c960bd915684f5702 GIT binary patch literal 30261 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 literal 0 HcmV?d00001 diff --git a/packages/artplayer-document/static/img/Authorization.png b/packages/artplayer-document/static/img/Authorization.png new file mode 100644 index 0000000000000000000000000000000000000000..702b95173d6dd3f567924c480d318553994d6c55 GIT binary patch literal 49427 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

t^ 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

p4g2ZE@3 z(A<2qz9ecF>O+dR6vmMg?7=S~PhCLebTmu@Vr%UIRZzr&2ErS12bx2LNkc})Zumo* zWm@p~4^mtbL?goWC#&n+eZbjYHYjZLSpf=5c8f#+W#TQv{^1X+({t$ZcHk9aPqNTGWaw#7!5R^GtCRDd@; zeiv?##y18VYA{y^tY&zP^2tyk01p(FXl4SG@mekbd2I%L5JQK6^SF(P4{&4`a?6;C z41tkbI*57hPuC71NJ}O97)>YQq2I9tzWt8)QJR^W3!YNT1qo2^!>y0m);;evk&wSj zuus5^8V&!8QSwwqBL%-e_J-J2N>)}@0IL~>W6;9T6$6hS(M&cR@biDY7Tk%)N?n3F zp}=v`)UNCwD_bPpI>@oBwlkyF@%4O%ZP|=4Ug3WQJjV0<$8hx5Hz=?sf0=~mU_!Mi zi$7k2B$lTA&@@2M?jw;_<1277g}$xEl6<#;d0-FCjwua7T?$QsXyF06X}Uf_r_}M^ zI{;)hqvKV82GMQ4MyVFm(eqIVzPiDFT!thGW|u?jO^5>!gxxOL)(!Uf-@(tpD`Xkgv#$p( zAJ8xytm%~da|#zC_mNrl0|o1h0uGifK}cQ~A_1kh1K;GlK-J|Db!T79ST^`{i%T_s z%!J?X@nTq2e`La7B|Cjad@t%$;;h12_^n_w_y(P<>9_)NxR+d8eqV72Z>VdR1Mu^Z zG+Bej%xtvd1G4c)-{;5}nvcU6U!n_YYadmFa|iXueNh{87a-=OJXCm=CY|n-TKaLUkE&i&rh83-{PR~+TSlIzWsLPpDjN3 z@(zyF6?~W3L0T^aa>5&Cq$KQX@h3k!yy z{q-IEPaY_!`xjbmYq%v^yK^IqG>LVDf*Qz=(TUA<*3e+`s@-&Uo{jN6$Z8W>F{z11 zJ;CpjXVBYyZ9%fNG>CuAD}`D@;AcJd*X~VXPnLX!t*E6 zEi#IB=re_>FN=*Vy88#dcK>v!xmK&3!`N0z+mOgv#1l}5Mv~XSs14qNDxt|!7oD73 zgh8J}7LQ)}N9**00`Fw00jS1^ZJIy$5b?Mh8X*A`Ql$g(fyEZPyc*?f`s>;)e`Mf- zzcFwvjl({G+Fy&jj3Um)jibz0Fxmdct<7!6$8#@VG{~*9@qz7x51h7q)A50ZRP!D& z#Vl%<_YYC^0o6P(Q!&0b9@mEEtwLl(Tp7T@FpZeMl4%BzJml(kKvAQM+=2LKAXZgx zf`I{3oumt>}&3-4i9882bkl`g;e!v4V*%~;D+(1c6xDZ%P zU39K?qZvj${6oW~7U;T{DYFL7RLs?wU zV;y)XLsh#tLa;KWh_-F@tG? zb%RJ$A3T0&T=?^#Uw-|E^1R`3^UlsQNIDGY?hmeYb z$8m=kQa%53VaPoU?V6w3cgPSFm=(NELoqI|+8XZB=U}98k5G^XT`RLk^9uukumQB-{F^2Kl`y>gINJ?360eTnEhO2 zG{d^WeKBQR38i4JO4yE&BnAWIvdj~akWhm5CkOSov>}$^8LN)cfSzt718gxO|ItA) z;?}cDu!-;rwP@6EF~@}8_U}o!*;BT1QY;o(XvAPn{M&Vsi4und^tkU4-y?@AbPEf zQZTY2D)4D^^lgPz@>?Ks!@kHx)@4uMjJL-)3yD>*v*bh}AuBQ@M8dDEQ zD{3PW`U1flEZ)@JQ$7#`5?&wHkC|pL;rtzqSn#=L`&Ssl9F57Kc2W_J{eW?3Oy4G& zSO-3|>WN)x{Lop@EE3-3Y372#a;Qip_Q@k$n4uNis*ew2+knIFdRBY75yXkmCZZB3 z(FYcdv}srr+#=s|Ql%j{AH!idXv`a$A4EFbK~9L&<=IIC@)*x2xgGj}Z&(8Af?O+3 zcik-r4!Fg>koppG3-1sXiolAa0&xI(aTj-x;0l6LKfs842rx>(xH8FtF1U32;t`Ni zZv{-!odqZL5u(bZqQ{3!kkqWkU}vD0nYIsSPR_3{-es1OUAiy7otiCaI2}+9fFOjm zLdqZZoCgCo%;|({>n=hZ0fzL#B-N_r2F$<)xUj+H=vn9?DAOp=e{;HY7Pagd$V zcF$%Rr>r`6(;VT3v?>s6k27B|i?A9JOT{U8{zPSM9O$@S`~b7eR%58JBZb97o|fx} zju`j#p(bju)2D~Y?itH`ozil&<#dG@5DjFQU*)hJ+Q9Iw5IAkp+i3!{F23wQurchP zeKEuvScFu08pf1j9`)#!Egum?cHmA!QTq_bI)=%!o}vs}GAlEC>8wmO4z7kjYt?3{ z^>)|~L_nVqNF(G?@KFaB$$QXzu)NUcOf1eGT}*?rf(m2KCQj+rE7Xd0+=g@Qux*DA z`@ux^!yaC@j0f1iN**iC-T-MO;gyx*qN*)i%&5ibX&KxXi_QNi4W6k6KN;w`nHy%W*L?Q%%10UX2rIiAf(dTL8!!hs z!G`bu|AZ#`!wAmU5`-`WQR$J#Y50GOPye;((Hioj3~lwne-xpGF4C;tj`mO1t0EvO30z3y5+`sYiy2?KZxgMv9d2H{sNGrI_Mi}rR|E9RX57~mgP(759 zJ02_0qnKdAh*W%FA*GK%Pz%Wcsz*M8kB|lHAXu@Kl0F#g0xYk6>+6KN4&X&DoDA5Y z9q7$VYz=(qY1FoTO-}Z?&?zq1q!M-12L?)aA@>#BixtE$WgkFF$`xXw;Vz)h5ZU@s z-iA>Gc|i6FdBT}IiCw7WmCQ2&rAK56bk?EAKJNtAGHbAIW@S;`yg#MXwizoFj%)X| zT-Z;akxbCX{!=~F1j*=*XFqHjR4`_A{0v-8a*w-q^}YYDa;Uu zGAGXeTz`#Ie@)h+KK!+_n9X~gA1T)+^GqZ-62dbI)Jz>i^b1759nPLL>-m+Bd5Y`T zuRm4n4ctVwdu(<8?Utd8?g|L-uKWfahn9=><~yB@H-p9h77O9ltd2rjCYhDp1BVeG z0K386quQ40(mQeLSBXwQo5!5Fb5U6=#ES*Ua4`KTu_deSxH@*KaG&rT4dQf^MSP|y zXg86LY*mPG`7w>R0oz{&t4Jk8`wV(T^0ZhGovav)DWgtkEQBsnuteO#(-aShJsv`X zv1(916;Kp{2v_b!qrYe903x2xe6HdxOeByYv`oI+%W%dH&TPDywEWObV?Z92KaIZ z>qHmHAc~eev^Sj^gjtTC!Lw!iN5&+SAqhF9&MxSWJNTB|=E5n!#)hQOT}4odnG`Lq zs!11%M$rNBY~*Qlz%LmrwfW}`V`iPSoFUE@M9Xus1<|bR?SCQH+gx4T<{|(6eRt^& zrzOVz`maT@*$^Fur*O)U->Ga@!!`>CZ+B*7j{Brh|CSD5&XtbJ&byfNdRKiwyUKt0SGY*=@IIwqG z@Cw>#48ya(^I6Kl#rc|%E#|Rkmm0rmJ>X^9V-a=2!ot(9#dfE@dZlaZHV6!6d{%7k zFCVV?4u5HZYH{}L*)JoFKdd2udOFtl6r}g@`M-5-&sUKj_$_!Rf_TXYrPMxi63G0*NsJwd7;66OyVv>)vM5h zLxI0_-ZuAaG?^_kt=d8?3-qhcMaZ%hU;MbjXW-8cCnR)%31L6i!tW{@l1(#Y!{63C zE+$t^m^Q3aA?HN*u_vM|gkyyHv9Ta_gkxAEV2Vo3V1OGi6VC_mGpsQ-p>9DV$ezav zgJN*GnZvBEB=)rpzI^>frDu%|^)8o{NlSfKy(-bt@JAYxsU%2SED!YEk2f=A^pC~mt4hO zW6Jj}x~b(t4?v|P_xbxoPjMFuZJWP7a3YnqOSdU<)7 zCzKbrSxH;b>GRCbJw(=^^dni#05)HdF_!&S3*Y+2X2*Pa{OQ1<9x?7NHg^7As&f!S z|C@I;@sIb>$;$8+`L3s+=Ne&6zXt8|Inlkug?v(ec*oUws`bL*@A2 ftknPbW51GBn9Aqm^QtP8UT)L6ZEJ(pXr26jl0dUp literal 0 HcmV?d00001 diff --git a/packages/artplayer-document/static/img/ContractContract.png b/packages/artplayer-document/static/img/ContractContract.png new file mode 100644 index 0000000000000000000000000000000000000000..e71144da3a7382bb0ad8da6762375af2cef4b8fa GIT binary patch literal 34904 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 literal 0 HcmV?d00001 diff --git a/packages/artplayer-document/static/img/RepaymentInformation.png b/packages/artplayer-document/static/img/RepaymentInformation.png new file mode 100644 index 0000000000000000000000000000000000000000..615840ea61fa2bcdcdd454204d40375236e0d9f1 GIT binary patch literal 41409 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ȅSXqyVps|PNJ-N)0F%Nbpb#--! zxP*{w9Ig#2Hqn@yg@!dJiEVA`R3?U?6{{K)H@eO>di?@x%?J2V%E=EqOvmKUGc+WIru!WxJKYV;6Qh6K$DR+V%(FO!%HsGRY~ zjqY}IEM_gsIx2^*Y#DlL64+NGMj>BvUs5xVh39hiR{% z{?~HZ#w`$I9!xj`yG#Hq2!R1yOhkl?Ea&<)#2dzARhC)oZd*l-I_S+ViF$E#LH_sa z)`c<2A**vfc%?8gSBLvS#?>zbY}%k7-m9zSF zeAdF~c{3jezSdTrhg4GV`-n`uP2Z~Um8|71m7%sUiLHsonKu$kQKHVx&`sIl2DS#| zw7iJM;2JGK!uuvL2M|Y=3kd9Y%GMk3@bymp0n;w7Q3@H@%~C0^1k`&f*xS z!6T4zUWg=~z3#GT3QbZ@99{Y5p+L)Sv3UZ{ath{VVfkqksyCwC2c))WfioDgpZopN z0WgSovyn|IlM7_Uk}07=L|r0ulrSC<5Yn10Axg7CMVt-Agg$AeKf#!CKPyz0j!cYzypL zg9nvyMF7MEK9C3m0fY0xvoo&prAh|-Xo`JR2S{C55D*7FSnmuKS_@2*dpB-s;V9wC4!Mv&ID6KFP4E5R=`a z=CmS&yV(>%MRh{4dwU}qp;|h~IkyB)pe}1&T)2vgI{A+YAU~K%J#asQ+SbJfU)_jZ zxOyocs4ZJq5RtGb;a(Z=U=XY;nXE~(Sp&a(7;Lt&OMrt3zA;lfzt+$_t}$*QB@4Eq z8G%f|2VUQMLF14TYe+BsH$KOnrwL6{^tvM@6$#DY?chynFmyHGS;Z*E4g1ewGl7Jx z2kdVKiuwa2Jpmuk45pntQBSiE@gzr~$q`SYj z#Ky8z;`V0*tbSqrI|-=c`G3QXI&GO+C9vZb!e}yrex8pO6q)?K|cRS z5fb5iiK>ISS?1O?G2y&1dXQIdBaZXZOdfj`ec<#nX!4I%lW@5?fUJeZs^h(Y|rhg;xt zL531}y^u~Eu>qvV{vY1v&nrN|j6wYy1V#V|i%Y9Rf#hnvU_jr3txbR;VC*mHECo-) zLA^F(d_HC?1>bkSoo1`86I!GJ;0$j^0d)X-s9d|Zi?}&on?!xaW-a;Qkq#C_Y6LDh z0T?1=KMrIU6I|)EFvvWFY~joR2B@K-IPZbIqDo+WBIcPw&HA^Q`JU}z49_TiEXzhB z%n>pOgd&;d_9L^f8;2&i3@L0MBX_2)!{p)pc7I^xH|otcZ67?CrpLKG*Pu(CvZoGI z#U$A7OB;$K4`NgI93F}me+CJCa4=fEbz-FR!56SLcNPIN3HYLKe!U!NDcJ^x8R98= z=!>wUk}P*R9m8D8Xi=w9^72|4&91m_4R1j3oo-CA&Cmx91(XS~5IBR`Z2xB{l4KMW zS4wVG8{?5?4Wxw}#uUH_tgP~h7+?oL??g=I0BWGlfinDdC&+!kMGxd}fp-X4hw7tIQR%M8nX2k*tFilk-%5}Ge;1YP{A;XHL=Wu4V{p^QEGVq0YtKS!7_j? zn|lS$hU8;hMW1p#GPd~i+tei1>tg2-+mvACnmhu#jEv0SS?|j-D0RpJ;uzU2?Csn5 zeDijJuH@=E1ruGGP>PW-i!snGmEZ;t%PD}@bNWu7%_}Pc0C%*RL2;(P!GJW&WNI09 z>@NF1g{~aFdG?rdw5b-13GAztnrgb_4m%%xiUR!Of$f8*0BH&835k_a;IJbR3{ z-~)tAB*%?FTikMLHq=ef;QbSJ#X>LyxTiWQ+)G^}p?S0Zv583}Omp}OQZIzVMnyjw z8ojXZjZTp({hE?h~K2v4lW5J-z53jg5lPBgK!T!@qX-0U@#loH1U8 zSX{u!I;Pr>dc@~y%&caC-MGqim~nNvLG_4gJ25d)58Ge;{4LvyKiRGI7O^Y-Jjt1v^@yn3 z69R722oO_Ur}|=tERbRs0F1s3P77Zx7bTR_QSjmm7y;z1tZ+A=x+%K7&+AWUe?d5u z%LaQ(8s`1k+HW1VDa0P1<HtX+2HLst|HlUU~}XV^;07R-DCT_H+`husdLNJsY41VF)vnj=VhBdg4ByWT(}0^8?! zKm~&E{L7_&M3N0$6f2txxH%F=5>v#PQA4CnLD-Xm+k55K~cC=DD z4yQmNz8Z%#_W`l)%tT-s2aavxS5Cr)vkHt2)Cl?pix(su3Bd7`lyq(t=jExvqD6Wb z)j+F(UJJxjnx2vIjtOaUD_dx2fq=~-jqC#lJBNu)SgbmfkR{dhC;m@vqjb~{@u89;%- zV{HLn)bE@MbhdtaYU-@By{x>vf4lmP6GJ6SZ94f71oXhzP2a`$9*km$@!xi&z6mj% zf=i672PgSRf=*&Z)i?aa*=;$6A#zC3xwMBXw2nAMWkkr5 zn9Rg;1bV+hKjv>Misp=G4*2on#lbok$+y#e(C-nZ6FHW@y>oA7}(lyZQAG72sbB zYy{_5I(T@s19|?FKegRQg-`@VtSw%KX9W-_>zidoXOXcco&K z7y_$wg!$^(Dxmkmz(f`f{=A|> z>KjiI!(pqY8!&|sCWl=k^BVkO(U+NNbi{v^_afN_ zpi({b6Lna)X>4G0JrORBqBlD;lMl>aD=edm5(0t}tE$_Lp4)h8-p7C5uwxVg=xAb_^82$ML{BK3I-VutOQqDI#2)_HrS?!QtTW3>16;Ce{|f8Lk#X zlR}X~HXpRW*M^P)kN%1i^g%2w$PC2-PN1Ztv$U#MGX_G-qjJ(*mzyH;kk_Zb>)Uf_ z&QX#>S9U|+H^B4^b=(cxR}|c`b`XB9Vxwoqg`*3W-;JHk1^NG{y)Tc)I&a(lY2Qm! zNR*T|BqbzFw1{Z4Zw(b$3Q=~ZX^}+Hv>}wpo_z~Vg;bUZg;H6vge3d+9_MA|o@ws; zdG2}c_xXI@e_o&YG`YH5uIu;ve$VfD9_Mi!r>$)giM1*h$}GEqn(Y-8C&Ud}9rvJ= zKsml@XE5}aZ`xG-BroqKNas{l@6*z1nx~93`|?4O$p?uICcX%I?H^?fK5YAS|FSO^ zFYhY1OpeRzro)e3j*1%u>YE5y4p+Lc6&4!0<$ov;3R+KB15t#21HqlhKhVhIh7kbO zUs3?3U!e6bQ!!}vso7guna>YbZk@u}8DcMAzH9`rB~iS&Hz41CUQC{DyIPuSq9y zGViSIX^)Sn3p>cPqo)ql!2nW*R}hQMkKi!5RS~ds6jZ2YFmEbgSU4nd91Vw=aN>kJ zXng)x5Gl#w4OFkMQMU$CSN6{Z5Ql9|v{5R^T;6SYp?eeP9oj})&JZSV#&<5&>~^^% z?<|y`$%CQV$~NhGjzB>0Nlso~ui#&DXZvg-v9&K4_Zb{nxxqKZfDvA~w=`ozO`6FQ zigdX*fdFl+)y75wDE>ZV2AWkCcl! z^;m3%TPol4v~T>(DM)#~&tRa~NU=J{FuNk%8s8wgo?2C0yO6n`w?LZ-dF0H|FR;Of z!?Z>$hHJWj-r~un$PZxK7LF#dhSwB%Cyu6hCQx|OA&nh*oRknyl}zpP*)Ylyc0V)} zEGiLb3CaPpg|Bf3qv#8vT24yTsAk9o(QGZGHf38E=)Zb)nN+0g(Xb`1#qru%@3MngPFggA4Fu{t{D zqV5JZ#_|+8BR+0J#+#v`fxF<8ladrU<$;gQaYa+14B;vQeC^YlIO%b#I*nb7{A)pw zHG_lYK>=MkR(V^_5}oY6j4y5G;<;-z>EnK2kN8xM;%4m2l#S|O`KZ+^SH8q0A@5T# z7hB;3+nZ^DYy>o~>f4>KEhK`faqNU|?R`_@iqlgVR|D8{YM-n^Ze-41YQo)T&oEMf zs#xm<&9-Op_S$&6W(rJ9HG4ESRgTSL!VC4wA7WD9l|siAO|*Gdw zY4a5N-8MEhNzVOWFZt-MC_WjRGvWyJc@=cIqFLYeUT7EJA6<2#a6_djx&}NO%&vsS zaonTA6AB4_?>QgN{k1BV-;_t|s{6rBy1MfI>)_@kZ18|g5`9B)9f=6%i16eu4B^IY z^a#xG!XZ<{EwI;6?A(zX`Y@ZU8TCXo(-h3u2YWjzai!iWi7U}>$7KqK0_LpPI$YP$ z%T)ZwL?Tf_%E|YfdQ?~d8+6+#q#$n(#VUMl<8nMz7eA+opX$)?IU!#KRxRkE@M&_izZ z(=?{lRy)+V5hW)I^}As0PfBtn@x#-nq$)@G3ZH{&3tb*jw6n=P7F9fQ#-(^wbWVNR zczP;PNWwlvF-|%k^lNZD)>jMRQ&~HiF?>4&T7?`hiA~_?-5P z)^9^y#ZGIS5ZOowwsos^&tpSKSr)IXgZ(+poRSB)y$1G zB^K$V-+`#dHGa8H4)Y)9`tCJ)N@Na7jZcbsFzsGekdQ-~TA&3EhbTpZ4~7XqK+LwoLV$4!r<|&OVz{nQyn+WV_ycI zd>4UstX4{81}?r|Q?v5m4a(1{@)&$`0L2TsyauV}U^G4`&{Y}Mc7t3AK#0#FG`Pyk%Ux4M ztRSPl@3nH(D$j#z(~pbn1r=>aWLjQ|SsPmF-`n z!D|4hVV9%$tLETP`Y(we2EvTYoCjB(+UIs*Ulu=(bMg#A>?#xJwrS;bulPRfbzx)a zlHUTN>p0b$6Q3VVHAj=`rnFt;azF;EHZ$GbeuLFXeihCskV@Yv?K zHiQ_rCddS5-867yq$9CQXiSyU`ur4DDX{!i0k5_O&Z8oJ3QJ!b$i(I4K+gfEFm#im;2nBB^x8rVbZ@i6rYm4K2B~AtWGG82Db-e>1 z1?a)Z`W13LI_4>KqJ3S8mTFCPpP6CsFj0sRat|Oq`r+c_A!9EX{yB%>3b(-5$5seb zZ+R>GJnl7}HH(?c?&;G^Gig@?PJ=<1T#wc**m;BBcMs{okDk#krbAxhtHG`Sz)%6F ztSHDr2kml&ih0NV-qMb8V3Bnn#o{N(7Ys78n&L<31$!Hyp)p+Zn51kh2H4WaPD|4R;U7`%3O)y@O~ZZpa-?^2+MKG& z#_B38h>&t;Rb9%6Qi}9a$TxOFIb@dW!2}Q2InS0?wvrAcLKr&c%g;S#Z?~FrdPgDK zB}s(~$jTSbwaVpo7gxWp8BngQth^6l7Brj&>)acn0bn+_Y;CDMEnn9&8Yjpw>>^Oo zkhKt{ukXJ-$|t_glj{`ArxCo%G^9@9?ZJBB&s2WBSdG$dw4 z2CT^WXPVdg=kNz%TafUEQ!)Nh<@xs$#reFJxbHTO9cL9r!3nie7!I)s`jd~ZaJPz# zjwY)bBy3lp2V`A|VgEU%HF|XS7{%*Qs@>8+D~RbEdzX0dz)!yuzy4qR&D9>T4%%P1 zDw!XwBr(unHQmD9?uS7pT>gHGg#W1(^S?^7KRA&0v)F_=W+B(3PISDBp}+zEi6G6foD0Bq(t{q6`i|XQ`R4)p3uWnWzDZP_txA20SW_FOwrV36&UW~Dk^En6@!IQ zXq6!;h@#ZZHx%Y0Fg0BXZSJhGrpK0x)X3?JBPN-+_&(B)E{A#;*#)9Np<+gQ+Eg2$O8HkrB^ zj8)zTDXb8N8TtW{%qmX_2NHs>Ehc-koXi;vY!JQy9oBA3OH27~Y2H~NaXhzswcQ2( zS;ojRQ-uEL?7dJjtyY??&;h}s zUgoqK$a9wuV(C0uH0=~;gd4}Wi`6}~TiD`Z!ggEhX{+LwQ{1!j=E&chxJi>TF_&Cz zl&lRoHYvZX-g3`p0RQPkWy8&4!u~M6Pfm=^mcKL%e_pI;HfwQ7no_{8bCK0vUi>;e zG9{&=j@yJB^6Z`qrvfcyOk}d3jx`j=wti#GO~zeZ6@W^ZYG5Q_4b!jn1sSMWkhw>o zoF2Qp!80j9NgCtAkR*f>Htd6JyskL}Zt!+dOH-iUV96xfkO7^z{^6*l%&{f_O2T*e z=WiDbhqkDOi`Rru!8T$B><0S$Vb)AMPo9fjFPQC? z8{On!KFZeDXl)*~fN|P~S;VoIpOSle6aHV7Fz_jeyvu;HOdTsLw|LO{`ZAtXG`@eK zKxY_z-DjO<|K@M*f(3u>RGNMwz9-1^99By(T7wgwe`LHwDsuyw+kFlwr~( zY3YCdEkE``w|aKd7=f1&6)c(~@%uvlaAtuS>qDSW$JfL0=fzJ4{L_ZwS$A+p+T*eQ z?3Xzl?Tl69z5jkwG0eNPk299UBV$L_(SjajDM>Bhj6|8j7y^JwaqGt!F_9xuhsnwZ zga>sEjWG12RFL`4I%$gcWBR1o7F-E6)*WNUKK+h>5OuB1`4*5BLojW~y5sU3fcnwx z$py#}1MTVMQzii+TRVBj8uKLvbWBk8hs{R#Gby`G0`0ESEEU>hZL^_rN0#p1gXlE2 z$mwbXci&h%L3>TToq+vM-uXD>Ed;ek>Khv+v_+(((hF?Hwq{KCc;>#w@6<%Jv4aE0 z=yZfcq>Rp=<^k7=Ik{U5gibAZVUK!$Y+Joqbh0J{S{4bn+-co=_`8#H2C$xKaEGVo zv}Hm+JtG zI|^0joVg~Z^8mMyd<0|+I-`*+R+BaafGWpW{K78TLiY-CIh`!WWSC3^<84B5z9XkE zSCrLN=b=l+$S3XySRzOs8(H#H_*C#p|(^>ZwPrQof9kd@Aqa%9=Vo};? z6w6gZ1O1nk7U?$f2DSW#gHJCJ9f7{y|FpVj&WYbwk*?yO7dunZPH13b-4 z_Q&n!l@GQi+8OKXZ=cyqme;TalcDB^Sz{k%u?4o_RWC6EIdn7B(fRb|+iaFDJJ(QQ zOc_+d87uj7E$^&zz!@JcqUeTOxC6-)>u>*I+A!2;D-GW+99P`!yP06^KVx}}z_fpm zQMip&9-gs~n79X9?DipS{_igby@kapV{qkIYJ&%~knN4VxBt=KOizBt|4`(FxgpTd zpLftfj1?28idOLj4l!oRoZsKxfA))5?~UGC4g$*`tB@Xc*I0niIR}sb|EtZq+VNAq zpx`qD)dL`G2>~@A2e>~2CKne(+L?m~n}C)cyL)eG8I%nVu7Zz>5czyq3JpD!wIMU6 zTh93IZap%Bs0~WM64bUK&>~TlMw6Dt$L4d@bsit;v)yf>ZRgWZ#4$wExDFoS{vUZR(?J1-tv0gMy^PBJ4<%X|k#F*3kr zlwf7(E$S>T?V;`*NqFJX&|m;R=oKU^1gbZ~nD{l8lUXp|d;+W9W~L4vx3fz|PZ~4l z{Dqqa#MiCcudUr2525l76i!!xC^|Z30CVj~&Vf+_+Kan@tw3>u600ZD3AhGMv}<@4 z`qpr7hyx6I1RMpFzNagD2uTFb#EBmm-HB`bVB&x?qmCXUsmg>|vK>`;*Mz26mVWkpXC>Y7D^O3&b=_yksf!SWj1`N?4 zp;0)H6To+1ezSk=P?+Em@G9WA0b;qRUfTTvX`VqsJP6%3@4tJ^AQDshatds)s!Znk zPyHBVV<}O6WO%yOJv4s*s1IdECh{{?JdIIL_p7VlRq|WTfoKp@)Ji;j#l^j|Pf$CvDsoIOs%T7p1ojq7`%pxytg?%h{?$<%Vy%i#BzbA_0Sp z@IB10tw->fVo~D!$lr$VA=-0V((eMLD?!!9ko_ zRKR@0GBTu3Zo=o2Az0csJA2tWbXV^bia3BQ?1#$fjHw}BtNU$- ztEOCkftt(+-#C+Lb4|YZv-pctDac1PL%vaR%+|}(vlQ4@9HB+%#B}M@VxkrBw`YN- zQKLr!1S2CNItOZCOxOE~5F`M><+u_ouVnO|(~%!{5C5I&i%2VR?0pcNa_Rzj2TkexmKdRI!`X&dE7r?&!l$l|-51M9(=d@_AWEf~!i zMwlwN&c(+4sDTh4-Xjf7)vwS+8#(_I0P^y>o-2e`>KFFFcgxAS2*O3oW`x~)Bv`mb z=7aL+`7eg$M?-hT9;GUnp#mP|u+3uJdkO#pb`{H2f+uc^@*jBXs+uKiOX$F5PUljz zhh%y&K=|Exxqq=Saf;N%{@@Mzi(wCK0LL928- z0g8fvNwsp&l9x&0#s-I-E}(WDtUn4AFsAMF{E@0i>^a(>j(YL)XSf+3QziZMv07Od z1aaSN*I(ryr=F=WZy_B&QRi_t%Ru7@M?5kET=!wtR8zaLg8-A=^oayVlHBXpx!?!f z3V@(1P5ODuhtZKH0JvB_jhzpYfH(@HH$(5;$jE3tjsbmmeGR4 zO_nfmSv@z4q(1TX4nPCOa=_iP<YR=Ax{Y3oDlUobqy}c@W8Ir`qOZ#Ezk%@= zx+$4JFySAb^xFx)ki; zQ4Ey`4Is0T4y5b5hlQ+-td@{S+1jFnRG@aGXCoQ>3GX#DzkyYnFWvxE&IW*vM2huL z6uG91|A@{{EJ2X{S7K!eqi6nM;~x+SddGaNzqQcUZk@#3qH0eVu3bPWDG7OutipqXV z%NPV?Tl`~dWzNWkV^0+`f5$2MVsHe2iVHi}II5k&*6waD6RP=!E zFQAx$D-DsaaLl{{W~~G*=~J5)A9p!cuC;5LSPNKD4{)qV}75?jFl4t93)#JPo|^!0#~ErVJW~= z$n$2=oA4=|Aic1u^@YgcODd37O-Q;mDCic?&Edj?Mz!K}7t(<#CQU3U{(&2e3E<~S5&F&V4 zC1AC2KRl$qVM~|0tl6G$VDLs=dfSCpV$;T;bL=V+=%Snic@RKwVO_3fVwaOabTe*Q zie5+S)hr751*^-Ed}R3^M#fHN*SJq0-os?hF>aWST6}^rMtyHaLn5L*;8t>Yf{eu3 zp!_fL-&3BsFf|3vPW|KV;xPewyY4*DRR4Yjv+>R3@G_rnV+fjW^48`(|2g8=UuhVv zdp`ZnwQ%vlJwqQM-fOzN$3GCgU%e(9PYI5J2kly46?`xj9lZ2bW3gy<-y?D+YsC53 zo!$ob(zm1hFQnQ)>N9fe`Fw=T%#T<9*KB)_AM2l9ZuC==6@wmFOUo2z>wAMyWYA>+ zEt-0Y-m zkoD1yI!IQ`?U`WA`=h&T0k4CJza}{0*IQ*G7^q8H#BX3^s@#%!vqn4N z2{hIje#^U;tN3asBw>~&~=zj%aL*UYSgS+}nPTBb4;q6QCMn|zG^ z@zmN&TK^f#-kvh-b??r$nV)x^vD~_6v?_CSan!Rx*Y`n(-ZY%MS2@f0;E&7KOq#kz z;PmClc(1v0KXNJEew<{ys!C$y*?#tyhmDp*Ph2!v;kLwya_e=Mjgk+|RTSI(!>SGA z!+0trE`3#a-97nIskedMbj1@=wQ_3)51pKSzc&F0dqellH{2cRy$*1RIOovwx%zmK zpRya$4^>e1t3vXyq7u5hJ=mA})(*FyT$JsE{at{jvA3>a{G5PaVvQEv(QEDT65oq% z?(P?!!`z#hGkeXtOrS5&b81VrhJSEwWp+=pYO>Ug<5i&3=EE~O${v=cAF<`_WKe>} zL!79Ua8QXBG&{R>9=FL8#EsiX`(oNiN5&;%Z$-x1`OzPmEN`eR$6Bj|6Bu{}`A5P7 zPrRrq8~AJ?43q62{XeB9kE%QgPtDE75c8KcHN0`)jYVt43rHM$$6Huf`0~{&PJA|R zkb{!>!okMK2OXhyV3Dw}@XPSxQ8(X`^WHyb^5%0~v>WU_-WHdTunvw1RbKlBd64UH z?b@}=vS;|I7~0jlKiB4rUhkd<_RwnmTwHH0e2h``bz=HczK`p-J82!+gF14gS?5}NK)yBcK9KF(0I#Jc3L-vseEFP$ z{Jv4|n2Gt3oTeXu;(%Xyzq=dW0C$i;W2oLjxN2S~c5W2!L`k|0m7=1v^em7^T!(s6 zb1r�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 literal 0 HcmV?d00001 diff --git a/packages/artplayer-document/static/img/SubmitBankCard.png b/packages/artplayer-document/static/img/SubmitBankCard.png new file mode 100644 index 0000000000000000000000000000000000000000..458714c62cd4e1ad16cde674a9cb0efd62157789 GIT binary patch literal 48858 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 A6aWAK literal 0 HcmV?d00001 diff --git a/packages/artplayer-document/static/img/docusaurus.png b/packages/artplayer-document/static/img/docusaurus.png deleted file mode 100644 index f458149e3c8f53335f28fbc162ae67f55575c881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5142 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 F{0H{b<4^zq diff --git a/packages/artplayer-document/static/img/favicon.ico b/packages/artplayer-document/static/img/favicon.ico index c01d54bcd39a5f853428f3cd5aa0f383d963c484..fe35e89096c30cb884e3d9fb0d8449e7561cf129 100644 GIT binary patch literal 4286 zcmcJQ3sh6*9l)<=XQv|%l0Zm8cm^bodlTEq+@@=5+fCPXeXTl6t@T~cu&v_oXr*ju zW%xi##?oJ`JmYPXsKd>9#DDOyk9pDlGLh%|NhZ~W1i4t4#WBJ-TTkY z_xpd}|NFj65L56kHI)edCk}84LO>9N9KjIr1QLwj{@`~p%sbo(5JX=Cd3~TsF~$#g zeJ?jK7K)n~55+Bvy9Trh^*}Qzz;;X(vb|bQ0zUsBxG|t5U&6jaddGs7_mR-Ac_97( zx|fFY_tcQk*Z9Ev%ftD*tEtA`2C@O4t4HdPeMk+WMyio2tYIa#6-YU978ymt)hvMX zzXG2do9d8lPxZ8)_3l?i4QZ*Up=OFPq$L@HS|t(b#uN*% z&)|9u?{5n4?<}V@JvCHwe z7NI}5&qFzWEEZh#d&;-FDwO$`YsmuKhg&e`t@yhlWCyYfIfXvMw zako;BYe3gsLw<+*kVe73H=)K5BR)gl5)WP z7ykTd+pb#IUZTwHs#LDOQb+C?&?r2Uih`?kljHBxP>@%) zyM8`}S{q8~`94ip&%kdJ37-cNvRs!1(Q@Fx9~2~mmD z+;Yim>l>11Ek{#cv6_-r*>vK+(jN#5Tua2e=+yXH=R<=1?uUeGYsmQzy6=Nq_?un@ zrLU3y%J8CWu1S>fl7*S}n&pv{Z0p9P4Yn`D@7nF6_Z&mQ8d}3Y;93y-sV9kl+WQmU z3D=NRAl)KMm1FXEzPdKD?vzlr`&5KE-FC`cX1erX6~JY_VczhF8ndDXlsHQOpn z-e8YOc-N5`zuS=~P}Ar5%}!6uCoU(q)qN`Z;&2Y@ijQKOuQQlte*(@y7CGHXkm=V5 zQm&7}TpppMx*W{m7-B_6k-POCf2~mJK{nF>8FP$~{wEVi7MlaftF5}kjkbdch4#hq zd+0P_y_3&B=zKKhsJn>sg{Pf;Y1qf?^I923-;pS@?{$XRpFVyu&YJEb3bKJv%JfXk zB@=z?krRj=`A;q~+^-MoLHZj5Onur2Y4c5xy37K}Z&@KR&j#^D_M4(I$3R@Yv!4H< zdw$GuPZIC^u#ny5ox>dT?ZJ8PLHvk*ynp;PN$LnP%@CXy7Ae!uK>tSM6yhM|x>2k> zNFPW4AJPA^8B$hSASuTR34cTX4m$`dXozccLhMJbo4k|mtDLVqRapCHSUSHb%HkK} z+Is>0wd0)=T`Q$JLM77^m$3NIhR)Z8b6<>e{{++GkDJIjQC$8D6A@oJK*(nq+0r@2 zndvW@-jTd!ZcWa%(1{ytqj>IssKfz+8uTAP|EI11uf@GCy2Gnt^?Gv|2H!~>H;s6a zwuwBE#4{GrgnXWBie#CUgSDTTxXG3${)fE<&mDVQ9UX}MzzKNn1h}U?E4ioK1kd6j zSQbAE$36qs{zmk-M&gO&nUw7`@$*eiLcG(-5tY-kvGzq+`wrf5w}Jb)=W$M}=WaLA sw(Era77$FUpMyd8KbVcby_aC0Q;@r#(|F}ZZj0~+Mi3xU0j@pzZ-<4R5&!@I literal 3626 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 SjPphRDQ&DANW~U=6aNEq|27{0 literal 0 HcmV?d00001 diff --git a/packages/artplayer-document/static/img/logo.svg b/packages/artplayer-document/static/img/logo.svg deleted file mode 100644 index 9db6d0d06..000000000 --- a/packages/artplayer-document/static/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/artplayer-document/static/img/tutorial/docsVersionDropdown.png b/packages/artplayer-document/static/img/tutorial/docsVersionDropdown.png deleted file mode 100644 index ff1cbe68893d205dc0a6821bfa74d8e7d25c09cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25102 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 Js!v|N^*`%a2QvTw diff --git a/packages/artplayer-document/static/img/tutorial/localeDropdown.png b/packages/artplayer-document/static/img/tutorial/localeDropdown.png deleted file mode 100644 index d7163f96752499e2e39e771d4d5e9e42c68677aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30020 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 diff --git a/packages/artplayer-document/static/img/undraw_docusaurus_mountain.svg b/packages/artplayer-document/static/img/undraw_docusaurus_mountain.svg deleted file mode 100644 index 431cef2f7..000000000 --- a/packages/artplayer-document/static/img/undraw_docusaurus_mountain.svg +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/artplayer-document/static/img/undraw_docusaurus_react.svg b/packages/artplayer-document/static/img/undraw_docusaurus_react.svg deleted file mode 100644 index e41705043..000000000 --- a/packages/artplayer-document/static/img/undraw_docusaurus_react.svg +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/artplayer-document/static/img/undraw_docusaurus_tree.svg b/packages/artplayer-document/static/img/undraw_docusaurus_tree.svg deleted file mode 100644 index a05cc03dd..000000000 --- a/packages/artplayer-document/static/img/undraw_docusaurus_tree.svg +++ /dev/null @@ -1 +0,0 @@ -docu_tree \ No newline at end of file