♻️ chore: remove unused Vue.js files and update documentation formatting
- Deleted cached Vue.js and source map files from the documentation. - Updated template variable formatting in mobile logs, subscription management, and authentication control
This commit is contained in:
parent
8752f7553f
commit
484975c657
40
docs/.vitepress/cache/deps/_metadata.json
vendored
40
docs/.vitepress/cache/deps/_metadata.json
vendored
@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"hash": "7e859c1e",
|
|
||||||
"configHash": "1f757845",
|
|
||||||
"lockfileHash": "e3b0c442",
|
|
||||||
"browserHash": "1e554b7a",
|
|
||||||
"optimized": {
|
|
||||||
"vue": {
|
|
||||||
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
|
||||||
"file": "vue.js",
|
|
||||||
"fileHash": "3b2af542",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"vitepress > @vue/devtools-api": {
|
|
||||||
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
|
|
||||||
"file": "vitepress___@vue_devtools-api.js",
|
|
||||||
"fileHash": "64692441",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"vitepress > @vueuse/core": {
|
|
||||||
"src": "../../../../node_modules/@vueuse/core/index.mjs",
|
|
||||||
"file": "vitepress___@vueuse_core.js",
|
|
||||||
"fileHash": "98a22420",
|
|
||||||
"needsInterop": false
|
|
||||||
},
|
|
||||||
"vitepress-theme-teek": {
|
|
||||||
"src": "../../../../node_modules/vitepress-theme-teek/es/index.mjs",
|
|
||||||
"file": "vitepress-theme-teek.js",
|
|
||||||
"fileHash": "124483c7",
|
|
||||||
"needsInterop": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"chunks": {
|
|
||||||
"chunk-BY246V3E": {
|
|
||||||
"file": "chunk-BY246V3E.js"
|
|
||||||
},
|
|
||||||
"chunk-PZ5AY32C": {
|
|
||||||
"file": "chunk-PZ5AY32C.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
13019
docs/.vitepress/cache/deps/chunk-BY246V3E.js
vendored
13019
docs/.vitepress/cache/deps/chunk-BY246V3E.js
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
10
docs/.vitepress/cache/deps/chunk-PZ5AY32C.js
vendored
10
docs/.vitepress/cache/deps/chunk-PZ5AY32C.js
vendored
@ -1,10 +0,0 @@
|
|||||||
var __defProp = Object.defineProperty;
|
|
||||||
var __export = (target, all) => {
|
|
||||||
for (var name in all)
|
|
||||||
__defProp(target, name, { get: all[name], enumerable: true });
|
|
||||||
};
|
|
||||||
|
|
||||||
export {
|
|
||||||
__export
|
|
||||||
};
|
|
||||||
//# sourceMappingURL=chunk-PZ5AY32C.js.map
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"sources": [],
|
|
||||||
"sourcesContent": [],
|
|
||||||
"mappings": "",
|
|
||||||
"names": []
|
|
||||||
}
|
|
||||||
3
docs/.vitepress/cache/deps/package.json
vendored
3
docs/.vitepress/cache/deps/package.json
vendored
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "module"
|
|
||||||
}
|
|
||||||
26830
docs/.vitepress/cache/deps/vitepress-theme-teek.js
vendored
26830
docs/.vitepress/cache/deps/vitepress-theme-teek.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
9732
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
9732
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
348
docs/.vitepress/cache/deps/vue.js
vendored
348
docs/.vitepress/cache/deps/vue.js
vendored
@ -1,348 +0,0 @@
|
|||||||
import {
|
|
||||||
BaseTransition,
|
|
||||||
BaseTransitionPropsValidators,
|
|
||||||
Comment,
|
|
||||||
DeprecationTypes,
|
|
||||||
EffectScope,
|
|
||||||
ErrorCodes,
|
|
||||||
ErrorTypeStrings,
|
|
||||||
Fragment,
|
|
||||||
KeepAlive,
|
|
||||||
ReactiveEffect,
|
|
||||||
Static,
|
|
||||||
Suspense,
|
|
||||||
Teleport,
|
|
||||||
Text,
|
|
||||||
TrackOpTypes,
|
|
||||||
Transition,
|
|
||||||
TransitionGroup,
|
|
||||||
TriggerOpTypes,
|
|
||||||
VueElement,
|
|
||||||
assertNumber,
|
|
||||||
callWithAsyncErrorHandling,
|
|
||||||
callWithErrorHandling,
|
|
||||||
camelize,
|
|
||||||
capitalize,
|
|
||||||
cloneVNode,
|
|
||||||
compatUtils,
|
|
||||||
compile,
|
|
||||||
computed,
|
|
||||||
createApp,
|
|
||||||
createBaseVNode,
|
|
||||||
createBlock,
|
|
||||||
createCommentVNode,
|
|
||||||
createElementBlock,
|
|
||||||
createHydrationRenderer,
|
|
||||||
createPropsRestProxy,
|
|
||||||
createRenderer,
|
|
||||||
createSSRApp,
|
|
||||||
createSlots,
|
|
||||||
createStaticVNode,
|
|
||||||
createTextVNode,
|
|
||||||
createVNode,
|
|
||||||
customRef,
|
|
||||||
defineAsyncComponent,
|
|
||||||
defineComponent,
|
|
||||||
defineCustomElement,
|
|
||||||
defineEmits,
|
|
||||||
defineExpose,
|
|
||||||
defineModel,
|
|
||||||
defineOptions,
|
|
||||||
defineProps,
|
|
||||||
defineSSRCustomElement,
|
|
||||||
defineSlots,
|
|
||||||
devtools,
|
|
||||||
effect,
|
|
||||||
effectScope,
|
|
||||||
getCurrentInstance,
|
|
||||||
getCurrentScope,
|
|
||||||
getCurrentWatcher,
|
|
||||||
getTransitionRawChildren,
|
|
||||||
guardReactiveProps,
|
|
||||||
h,
|
|
||||||
handleError,
|
|
||||||
hasInjectionContext,
|
|
||||||
hydrate,
|
|
||||||
hydrateOnIdle,
|
|
||||||
hydrateOnInteraction,
|
|
||||||
hydrateOnMediaQuery,
|
|
||||||
hydrateOnVisible,
|
|
||||||
initCustomFormatter,
|
|
||||||
initDirectivesForSSR,
|
|
||||||
inject,
|
|
||||||
isMemoSame,
|
|
||||||
isProxy,
|
|
||||||
isReactive,
|
|
||||||
isReadonly,
|
|
||||||
isRef,
|
|
||||||
isRuntimeOnly,
|
|
||||||
isShallow,
|
|
||||||
isVNode,
|
|
||||||
markRaw,
|
|
||||||
mergeDefaults,
|
|
||||||
mergeModels,
|
|
||||||
mergeProps,
|
|
||||||
nextTick,
|
|
||||||
nodeOps,
|
|
||||||
normalizeClass,
|
|
||||||
normalizeProps,
|
|
||||||
normalizeStyle,
|
|
||||||
onActivated,
|
|
||||||
onBeforeMount,
|
|
||||||
onBeforeUnmount,
|
|
||||||
onBeforeUpdate,
|
|
||||||
onDeactivated,
|
|
||||||
onErrorCaptured,
|
|
||||||
onMounted,
|
|
||||||
onRenderTracked,
|
|
||||||
onRenderTriggered,
|
|
||||||
onScopeDispose,
|
|
||||||
onServerPrefetch,
|
|
||||||
onUnmounted,
|
|
||||||
onUpdated,
|
|
||||||
onWatcherCleanup,
|
|
||||||
openBlock,
|
|
||||||
patchProp,
|
|
||||||
popScopeId,
|
|
||||||
provide,
|
|
||||||
proxyRefs,
|
|
||||||
pushScopeId,
|
|
||||||
queuePostFlushCb,
|
|
||||||
reactive,
|
|
||||||
readonly,
|
|
||||||
ref,
|
|
||||||
registerRuntimeCompiler,
|
|
||||||
render,
|
|
||||||
renderList,
|
|
||||||
renderSlot,
|
|
||||||
resolveComponent,
|
|
||||||
resolveDirective,
|
|
||||||
resolveDynamicComponent,
|
|
||||||
resolveFilter,
|
|
||||||
resolveTransitionHooks,
|
|
||||||
setBlockTracking,
|
|
||||||
setDevtoolsHook,
|
|
||||||
setTransitionHooks,
|
|
||||||
shallowReactive,
|
|
||||||
shallowReadonly,
|
|
||||||
shallowRef,
|
|
||||||
ssrContextKey,
|
|
||||||
ssrUtils,
|
|
||||||
stop,
|
|
||||||
toDisplayString,
|
|
||||||
toHandlerKey,
|
|
||||||
toHandlers,
|
|
||||||
toRaw,
|
|
||||||
toRef,
|
|
||||||
toRefs,
|
|
||||||
toValue,
|
|
||||||
transformVNodeArgs,
|
|
||||||
triggerRef,
|
|
||||||
unref,
|
|
||||||
useAttrs,
|
|
||||||
useCssModule,
|
|
||||||
useCssVars,
|
|
||||||
useHost,
|
|
||||||
useId,
|
|
||||||
useModel,
|
|
||||||
useSSRContext,
|
|
||||||
useShadowRoot,
|
|
||||||
useSlots,
|
|
||||||
useTemplateRef,
|
|
||||||
useTransitionState,
|
|
||||||
vModelCheckbox,
|
|
||||||
vModelDynamic,
|
|
||||||
vModelRadio,
|
|
||||||
vModelSelect,
|
|
||||||
vModelText,
|
|
||||||
vShow,
|
|
||||||
version,
|
|
||||||
warn,
|
|
||||||
watch,
|
|
||||||
watchEffect,
|
|
||||||
watchPostEffect,
|
|
||||||
watchSyncEffect,
|
|
||||||
withAsyncContext,
|
|
||||||
withCtx,
|
|
||||||
withDefaults,
|
|
||||||
withDirectives,
|
|
||||||
withKeys,
|
|
||||||
withMemo,
|
|
||||||
withModifiers,
|
|
||||||
withScopeId
|
|
||||||
} from "./chunk-BY246V3E.js";
|
|
||||||
import "./chunk-PZ5AY32C.js";
|
|
||||||
export {
|
|
||||||
BaseTransition,
|
|
||||||
BaseTransitionPropsValidators,
|
|
||||||
Comment,
|
|
||||||
DeprecationTypes,
|
|
||||||
EffectScope,
|
|
||||||
ErrorCodes,
|
|
||||||
ErrorTypeStrings,
|
|
||||||
Fragment,
|
|
||||||
KeepAlive,
|
|
||||||
ReactiveEffect,
|
|
||||||
Static,
|
|
||||||
Suspense,
|
|
||||||
Teleport,
|
|
||||||
Text,
|
|
||||||
TrackOpTypes,
|
|
||||||
Transition,
|
|
||||||
TransitionGroup,
|
|
||||||
TriggerOpTypes,
|
|
||||||
VueElement,
|
|
||||||
assertNumber,
|
|
||||||
callWithAsyncErrorHandling,
|
|
||||||
callWithErrorHandling,
|
|
||||||
camelize,
|
|
||||||
capitalize,
|
|
||||||
cloneVNode,
|
|
||||||
compatUtils,
|
|
||||||
compile,
|
|
||||||
computed,
|
|
||||||
createApp,
|
|
||||||
createBlock,
|
|
||||||
createCommentVNode,
|
|
||||||
createElementBlock,
|
|
||||||
createBaseVNode as createElementVNode,
|
|
||||||
createHydrationRenderer,
|
|
||||||
createPropsRestProxy,
|
|
||||||
createRenderer,
|
|
||||||
createSSRApp,
|
|
||||||
createSlots,
|
|
||||||
createStaticVNode,
|
|
||||||
createTextVNode,
|
|
||||||
createVNode,
|
|
||||||
customRef,
|
|
||||||
defineAsyncComponent,
|
|
||||||
defineComponent,
|
|
||||||
defineCustomElement,
|
|
||||||
defineEmits,
|
|
||||||
defineExpose,
|
|
||||||
defineModel,
|
|
||||||
defineOptions,
|
|
||||||
defineProps,
|
|
||||||
defineSSRCustomElement,
|
|
||||||
defineSlots,
|
|
||||||
devtools,
|
|
||||||
effect,
|
|
||||||
effectScope,
|
|
||||||
getCurrentInstance,
|
|
||||||
getCurrentScope,
|
|
||||||
getCurrentWatcher,
|
|
||||||
getTransitionRawChildren,
|
|
||||||
guardReactiveProps,
|
|
||||||
h,
|
|
||||||
handleError,
|
|
||||||
hasInjectionContext,
|
|
||||||
hydrate,
|
|
||||||
hydrateOnIdle,
|
|
||||||
hydrateOnInteraction,
|
|
||||||
hydrateOnMediaQuery,
|
|
||||||
hydrateOnVisible,
|
|
||||||
initCustomFormatter,
|
|
||||||
initDirectivesForSSR,
|
|
||||||
inject,
|
|
||||||
isMemoSame,
|
|
||||||
isProxy,
|
|
||||||
isReactive,
|
|
||||||
isReadonly,
|
|
||||||
isRef,
|
|
||||||
isRuntimeOnly,
|
|
||||||
isShallow,
|
|
||||||
isVNode,
|
|
||||||
markRaw,
|
|
||||||
mergeDefaults,
|
|
||||||
mergeModels,
|
|
||||||
mergeProps,
|
|
||||||
nextTick,
|
|
||||||
nodeOps,
|
|
||||||
normalizeClass,
|
|
||||||
normalizeProps,
|
|
||||||
normalizeStyle,
|
|
||||||
onActivated,
|
|
||||||
onBeforeMount,
|
|
||||||
onBeforeUnmount,
|
|
||||||
onBeforeUpdate,
|
|
||||||
onDeactivated,
|
|
||||||
onErrorCaptured,
|
|
||||||
onMounted,
|
|
||||||
onRenderTracked,
|
|
||||||
onRenderTriggered,
|
|
||||||
onScopeDispose,
|
|
||||||
onServerPrefetch,
|
|
||||||
onUnmounted,
|
|
||||||
onUpdated,
|
|
||||||
onWatcherCleanup,
|
|
||||||
openBlock,
|
|
||||||
patchProp,
|
|
||||||
popScopeId,
|
|
||||||
provide,
|
|
||||||
proxyRefs,
|
|
||||||
pushScopeId,
|
|
||||||
queuePostFlushCb,
|
|
||||||
reactive,
|
|
||||||
readonly,
|
|
||||||
ref,
|
|
||||||
registerRuntimeCompiler,
|
|
||||||
render,
|
|
||||||
renderList,
|
|
||||||
renderSlot,
|
|
||||||
resolveComponent,
|
|
||||||
resolveDirective,
|
|
||||||
resolveDynamicComponent,
|
|
||||||
resolveFilter,
|
|
||||||
resolveTransitionHooks,
|
|
||||||
setBlockTracking,
|
|
||||||
setDevtoolsHook,
|
|
||||||
setTransitionHooks,
|
|
||||||
shallowReactive,
|
|
||||||
shallowReadonly,
|
|
||||||
shallowRef,
|
|
||||||
ssrContextKey,
|
|
||||||
ssrUtils,
|
|
||||||
stop,
|
|
||||||
toDisplayString,
|
|
||||||
toHandlerKey,
|
|
||||||
toHandlers,
|
|
||||||
toRaw,
|
|
||||||
toRef,
|
|
||||||
toRefs,
|
|
||||||
toValue,
|
|
||||||
transformVNodeArgs,
|
|
||||||
triggerRef,
|
|
||||||
unref,
|
|
||||||
useAttrs,
|
|
||||||
useCssModule,
|
|
||||||
useCssVars,
|
|
||||||
useHost,
|
|
||||||
useId,
|
|
||||||
useModel,
|
|
||||||
useSSRContext,
|
|
||||||
useShadowRoot,
|
|
||||||
useSlots,
|
|
||||||
useTemplateRef,
|
|
||||||
useTransitionState,
|
|
||||||
vModelCheckbox,
|
|
||||||
vModelDynamic,
|
|
||||||
vModelRadio,
|
|
||||||
vModelSelect,
|
|
||||||
vModelText,
|
|
||||||
vShow,
|
|
||||||
version,
|
|
||||||
warn,
|
|
||||||
watch,
|
|
||||||
watchEffect,
|
|
||||||
watchPostEffect,
|
|
||||||
watchSyncEffect,
|
|
||||||
withAsyncContext,
|
|
||||||
withCtx,
|
|
||||||
withDefaults,
|
|
||||||
withDirectives,
|
|
||||||
withKeys,
|
|
||||||
withMemo,
|
|
||||||
withModifiers,
|
|
||||||
withScopeId
|
|
||||||
};
|
|
||||||
//# sourceMappingURL=vue.js.map
|
|
||||||
7
docs/.vitepress/cache/deps/vue.js.map
vendored
7
docs/.vitepress/cache/deps/vue.js.map
vendored
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"sources": [],
|
|
||||||
"sourcesContent": [],
|
|
||||||
"mappings": "",
|
|
||||||
"names": []
|
|
||||||
}
|
|
||||||
@ -130,10 +130,10 @@ Content field contains:
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Template Variables
|
### Template Variables
|
||||||
- {{code}}: Verification code
|
- <code v-pre>{{code}}</code>: Verification code
|
||||||
- {{minutes}}: Valid time
|
- <code v-pre>{{minutes}}</code>: Valid time
|
||||||
- {{product}}: Product name
|
- <code v-pre>{{product}}</code>: Product name
|
||||||
- {{amount}}: Amount
|
- <code v-pre>{{amount}}</code>: Amount
|
||||||
|
|
||||||
## Cost Management
|
## Cost Management
|
||||||
|
|
||||||
|
|||||||
@ -151,10 +151,10 @@ A sidebar form that opens when clicking "Add" or "Edit", divided into three tabs
|
|||||||
- Function: Write subscription content using Go template syntax
|
- Function: Write subscription content using Go template syntax
|
||||||
- Supports: Syntax highlighting, code completion
|
- Supports: Syntax highlighting, code completion
|
||||||
- Variables:
|
- Variables:
|
||||||
- `{{.SiteName}}`: Site name
|
- <code v-pre>{{.SiteName}}</code>: Site name
|
||||||
- `{{.SubscribeName}}`: Subscription name
|
- <code v-pre>{{.SubscribeName}}</code>: Subscription name
|
||||||
- `{{.Proxies}}`: Node array
|
- <code v-pre>{{.Proxies}}</code>: Node array
|
||||||
- `{{.UserInfo}}`: User information
|
- <code v-pre>{{.UserInfo}}</code>: User information
|
||||||
|
|
||||||
**Template Variable Reference**
|
**Template Variable Reference**
|
||||||
|
|
||||||
|
|||||||
@ -28,11 +28,11 @@ The following sections mirror the cards you see in the admin panel—work throug
|
|||||||
|
|
||||||
3. **Template tabs** (`Verify / Expiration / Maintenance / Traffic`)
|
3. **Template tabs** (`Verify / Expiration / Maintenance / Traffic`)
|
||||||
- Templates are HTML-capable and support variables:
|
- Templates are HTML-capable and support variables:
|
||||||
- `{{.Type}}`: Email type (1 register, 2 reset password); combine with `{{if eq .Type 1}}` for conditions.
|
- <code v-pre>{{.Type}}</code>: Email type (1 register, 2 reset password); combine with <code v-pre>{{if eq .Type 1}}</code> for conditions.
|
||||||
- `{{.SiteLogo}}` / `{{.SiteName}}`: Branding assets.
|
- <code v-pre>{{.SiteLogo}}</code> / <code v-pre>{{.SiteName}}</code>: Branding assets.
|
||||||
- `{{.Expire}}`: OTP expiration; `{{.ExpireDate}}`: Subscription expiration.
|
- <code v-pre>{{.Expire}}</code>: OTP expiration; <code v-pre>{{.ExpireDate}}</code>: Subscription expiration.
|
||||||
- `{{.Code}}`: Verification code.
|
- <code v-pre>{{.Code}}</code>: Verification code.
|
||||||
- `{{.MaintenanceDate}}`, `{{.MaintenanceTime}}`: Maintenance notice specifics.
|
- <code v-pre>{{.MaintenanceDate}}</code>, <code v-pre>{{.MaintenanceTime}}</code>: Maintenance notice specifics.
|
||||||
- The embedded editor is WYSIWYG—save to apply instantly to new outbound mail.
|
- The embedded editor is WYSIWYG—save to apply instantly to new outbound mail.
|
||||||
|
|
||||||
### SMS authentication
|
### SMS authentication
|
||||||
@ -44,7 +44,7 @@ The following sections mirror the cards you see in the admin panel—work throug
|
|||||||
2. **Platform & dynamic fields**
|
2. **Platform & dynamic fields**
|
||||||
- Select an SMS provider; the form reveals the exact fields that provider requires and offers a shortcut link to apply for service.
|
- Select an SMS provider; the form reveals the exact fields that provider requires and offers a shortcut link to apply for service.
|
||||||
- Common fields include `Access Key`, `Secret Key`, `Endpoint`, `Template Code`, `Sign Name`, and dedicated sender numbers.
|
- Common fields include `Access Key`, `Secret Key`, `Endpoint`, `Template Code`, `Sign Name`, and dedicated sender numbers.
|
||||||
- If the provider expects custom templates, paste the body that contains `{{code}}` (or its vendor-specific variable).
|
- If the provider expects custom templates, paste the body that contains <code v-pre>{{code}}</code> (or its vendor-specific variable).
|
||||||
|
|
||||||
3. **Test SMS**
|
3. **Test SMS**
|
||||||
- Choose an area code, enter a number, and click “Test SMS” to call the gateway immediately.
|
- Choose an area code, enter a number, and click “Test SMS” to call the gateway immediately.
|
||||||
@ -100,7 +100,7 @@ Best for client/TV apps that exchange a one-time device code.
|
|||||||
- Some enterprise SMTP vendors require the From address to exactly match the authenticated account—otherwise the message is dropped.
|
- Some enterprise SMTP vendors require the From address to exactly match the authenticated account—otherwise the message is dropped.
|
||||||
|
|
||||||
### SMS keeps failing
|
### SMS keeps failing
|
||||||
- Ensure the template is approved and that the placeholder name (e.g., `{{code}}`) matches what the vendor expects.
|
- Ensure the template is approved and that the placeholder name (e.g., <code v-pre>{{code}}</code>) matches what the vendor expects.
|
||||||
- Verify the destination area code is whitelisted.
|
- Verify the destination area code is whitelisted.
|
||||||
- Still failing? Inspect the API error code in DevTools and cross reference it with the SMS provider documentation.
|
- Still failing? Inspect the API error code in DevTools and cross reference it with the SMS provider documentation.
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
<div v-pre>
|
|
||||||
|
|
||||||
# Document Management
|
# Document Management
|
||||||
|
|
||||||
Create and manage help documents with Markdown format and tag classification.
|
Create and manage help documents with Markdown format and tag classification.
|
||||||
@ -45,9 +43,9 @@ Document body, supports Markdown format:
|
|||||||
- Headings: # ## ### ####
|
- Headings: # ## ### ####
|
||||||
- Bold: **text**
|
- Bold: **text**
|
||||||
- Italic: *text*
|
- Italic: *text*
|
||||||
- Code blocks: ```language
|
- Code blocks: \`\`\`language
|
||||||
- Images: 
|
- Images: ``
|
||||||
- Links: [text](url)
|
- Links: `[text](url)`
|
||||||
- Lists: - or 1.
|
- Lists: - or 1.
|
||||||
- Quotes: >
|
- Quotes: >
|
||||||
- Tables: | Col1 | Col2 |
|
- Tables: | Col1 | Col2 |
|
||||||
@ -140,5 +138,3 @@ Input tag to find documents in that category.
|
|||||||
6. **Batch Operations**: Can batch delete outdated documents
|
6. **Batch Operations**: Can batch delete outdated documents
|
||||||
7. **Search Optimization**: Titles and tags are search indexed
|
7. **Search Optimization**: Titles and tags are search indexed
|
||||||
8. **Update Indicator**: Update time changes after modification
|
8. **Update Indicator**: Update time changes after modification
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ sidebar: false
|
|||||||
---
|
---
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Sponsors from '../.vitepress/components/Sponsors.vue'
|
import Sponsors from './.vitepress/components/Sponsors.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="sponsors-header">
|
<div class="sponsors-header">
|
||||||
|
|||||||
@ -151,10 +151,10 @@
|
|||||||
- 功能: 使用 Go 模板语法编写订阅内容
|
- 功能: 使用 Go 模板语法编写订阅内容
|
||||||
- 支持: 语法高亮、代码补全
|
- 支持: 语法高亮、代码补全
|
||||||
- 变量:
|
- 变量:
|
||||||
- `{{.SiteName}}`: 网站名称
|
- <code v-pre>{{.SiteName}}</code>: 网站名称
|
||||||
- `{{.SubscribeName}}`: 订阅名称
|
- <code v-pre>{{.SubscribeName}}</code>: 订阅名称
|
||||||
- `{{.Proxies}}`: 节点数组
|
- <code v-pre>{{.Proxies}}</code>: 节点数组
|
||||||
- `{{.UserInfo}}`: 用户信息
|
- <code v-pre>{{.UserInfo}}</code>: 用户信息
|
||||||
|
|
||||||
**模板变量说明**
|
**模板变量说明**
|
||||||
|
|
||||||
|
|||||||
@ -28,11 +28,11 @@
|
|||||||
|
|
||||||
3. **模板管理** (位于页签 `验证邮件 / 到期提醒 / 维护公告 / 流量超限`)
|
3. **模板管理** (位于页签 `验证邮件 / 到期提醒 / 维护公告 / 流量超限`)
|
||||||
- 模板支持 HTML 并带有变量, 常用变量如下:
|
- 模板支持 HTML 并带有变量, 常用变量如下:
|
||||||
- `{{.Type}}`: 邮件类型 (1 注册, 2 重置密码), 可结合 `{{if eq .Type 1}}` 编写条件。
|
- <code v-pre>{{.Type}}</code>: 邮件类型 (1 注册, 2 重置密码), 可结合 <code v-pre>{{if eq .Type 1}}</code> 编写条件。
|
||||||
- `{{.SiteLogo}}` / `{{.SiteName}}`: 站点 Logo 与名称。
|
- <code v-pre>{{.SiteLogo}}</code> / <code v-pre>{{.SiteName}}</code>: 站点 Logo 与名称。
|
||||||
- `{{.Expire}}`: 验证码过期时间; `{{.ExpireDate}}`: 订阅到期日。
|
- <code v-pre>{{.Expire}}</code>: 验证码过期时间; <code v-pre>{{.ExpireDate}}</code>: 订阅到期日。
|
||||||
- `{{.Code}}`: 验证码内容。
|
- <code v-pre>{{.Code}}</code>: 验证码内容。
|
||||||
- `{{.MaintenanceDate}}`、`{{.MaintenanceTime}}`: 维护公告专用。
|
- <code v-pre>{{.MaintenanceDate}}</code>、<code v-pre>{{.MaintenanceTime}}</code>: 维护公告专用。
|
||||||
- 所有模板使用统一的所见即所得编辑器, 保存后立即作用于新发邮件。
|
- 所有模板使用统一的所见即所得编辑器, 保存后立即作用于新发邮件。
|
||||||
|
|
||||||
### 手机(短信)认证
|
### 手机(短信)认证
|
||||||
@ -42,9 +42,9 @@
|
|||||||
- `区号白名单`: 打开后仅允许填写白名单区号, 列表通过输入框逐个添加, 例如 `1, 852, 886`。
|
- `区号白名单`: 打开后仅允许填写白名单区号, 列表通过输入框逐个添加, 例如 `1, 852, 886`。
|
||||||
|
|
||||||
2. **平台选择与动态字段**
|
2. **平台选择与动态字段**
|
||||||
- 下拉选择 SMS 平台后, 系统会自动展示该平台所需字段并提供“去申请”链接。
|
- 下拉选择 SMS 平台后, 系统会自动展示该平台所需字段并提供"去申请"链接。
|
||||||
- 常见字段: `Access Key / Secret Key / Endpoint / Template Code / Sign Name / 专用手机号`。
|
- 常见字段: `Access Key / Secret Key / Endpoint / Template Code / Sign Name / 专用手机号`。
|
||||||
- 如果平台支持自定义模板, 需要在文本框内填入包含 `{{code}}`(或供应商自定义变量)的正文。
|
- 如果平台支持自定义模板, 需要在文本框内填入包含 <code v-pre>{{code}}</code>(或供应商自定义变量)的正文。
|
||||||
|
|
||||||
3. **测试短信**
|
3. **测试短信**
|
||||||
- 右下角可选择区号 + 填写手机号, 点击“测试短信”直接调用短信网关。
|
- 右下角可选择区号 + 填写手机号, 点击“测试短信”直接调用短信网关。
|
||||||
@ -100,7 +100,7 @@
|
|||||||
- 如果使用企业 SMTP, 需确认发件地址与 SMTP 账号一致, 否则服务商可能拦截。
|
- 如果使用企业 SMTP, 需确认发件地址与 SMTP 账号一致, 否则服务商可能拦截。
|
||||||
|
|
||||||
### 短信发送失败
|
### 短信发送失败
|
||||||
- 平台模板是否审核通过; 模板参数名是否与平台 `{{code}}`(或其别名)一致。
|
- 平台模板是否审核通过; 模板参数名是否与平台 <code v-pre>{{code}}</code>(或其别名)一致。
|
||||||
- 区号白名单是否包含目标国家/地区。
|
- 区号白名单是否包含目标国家/地区。
|
||||||
- 若仍失败, 打开浏览器调试台查看 API 返回的错误码, 对照短信服务商文档定位。
|
- 若仍失败, 打开浏览器调试台查看 API 返回的错误码, 对照短信服务商文档定位。
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
<div v-pre>
|
|
||||||
|
|
||||||
# 文档管理
|
# 文档管理
|
||||||
|
|
||||||
创建和管理帮助文档,支持Markdown格式和标签分类。
|
创建和管理帮助文档,支持 Markdown 格式与标签分类。
|
||||||
|
|
||||||
## 表格列说明
|
## 表格列说明
|
||||||
|
|
||||||
@ -45,9 +43,9 @@
|
|||||||
- 标题: # ## ### ####
|
- 标题: # ## ### ####
|
||||||
- 粗体: **文字**
|
- 粗体: **文字**
|
||||||
- 斜体: *文字*
|
- 斜体: *文字*
|
||||||
- 代码块: ```语言
|
- 代码块: \`\`\`语言
|
||||||
- 图片: 
|
- 图片: ``
|
||||||
- 链接: [文字](url)
|
- 链接: `[文字](url)`
|
||||||
- 列表: - 或 1.
|
- 列表: - 或 1.
|
||||||
- 引用: >
|
- 引用: >
|
||||||
- 表格: | 列1 | 列2 |
|
- 表格: | 列1 | 列2 |
|
||||||
@ -140,5 +138,3 @@
|
|||||||
6. **批量操作**: 可批量删除过时文档
|
6. **批量操作**: 可批量删除过时文档
|
||||||
7. **搜索优化**: 标题和标签会被搜索索引
|
7. **搜索优化**: 标题和标签会被搜索索引
|
||||||
8. **更新提示**: 修改后更新时间会变化
|
8. **更新提示**: 修改后更新时间会变化
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|||||||
@ -14,10 +14,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "turbo build",
|
"build": "turbo build",
|
||||||
"dev": "turbo dev",
|
"dev": "turbo dev",
|
||||||
"docs:dev": "turbo run docs:dev --filter=docs",
|
"docs:dev": "turbo docs:dev",
|
||||||
"docs:build": "turbo run docs:build --filter=docs",
|
"docs:build": "turbo docs:build",
|
||||||
"docs:preview": "turbo run docs:preview --filter=docs",
|
|
||||||
"build:release": "turbo run build --filter=ppanel-admin-web... --filter=ppanel-user-web...",
|
|
||||||
"lint": "turbo lint",
|
"lint": "turbo lint",
|
||||||
"check": "turbo check",
|
"check": "turbo check",
|
||||||
"test": "turbo test",
|
"test": "turbo test",
|
||||||
|
|||||||
11
turbo.json
11
turbo.json
@ -32,6 +32,17 @@
|
|||||||
},
|
},
|
||||||
"i18n:status": {
|
"i18n:status": {
|
||||||
"cache": false
|
"cache": false
|
||||||
|
},
|
||||||
|
"docs:dev": {
|
||||||
|
"cache": false,
|
||||||
|
"persistent": true
|
||||||
|
},
|
||||||
|
"docs:build": {
|
||||||
|
"outputs": [".vitepress/dist/**"]
|
||||||
|
},
|
||||||
|
"docs:preview": {
|
||||||
|
"cache": false,
|
||||||
|
"persistent": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user