ig
@@ -1,5 +1,6 @@
|
||||
import App from './App'
|
||||
var baseUrl ='https://admin.zhenyangtang.com.cn/';
|
||||
import { API_BASE_URL } from './config/api.js'
|
||||
var baseUrl = API_BASE_URL;
|
||||
|
||||
function joinApiUrl(base, path) {
|
||||
const b = String(base || '').replace(/\/+$/, '')
|
||||
@@ -168,4 +169,4 @@ export function createApp() {
|
||||
app
|
||||
}
|
||||
}
|
||||
// #endif
|
||||
// #endif
|
||||
|
||||
@@ -9,7 +9,9 @@
|
||||
"dev:app": "UNI_INPUT_DIR=\"$PWD\" uni -p app",
|
||||
"build:mp-weixin": "UNI_INPUT_DIR=\"$PWD\" uni build -p mp-weixin",
|
||||
"build:h5": "UNI_INPUT_DIR=\"$PWD\" uni build",
|
||||
"build:app": "UNI_INPUT_DIR=\"$PWD\" uni build -p app"
|
||||
"build:app": "UNI_INPUT_DIR=\"$PWD\" uni build -p app",
|
||||
"test:tang": "node --test build/tang-detective-native-plugin.test.mjs build/tang-detective-cos-media.test.mjs scripts/tang-cos/upload.test.mjs scripts/test-tang-platform.cjs scripts/test-tang-page-lifecycle.cjs",
|
||||
"check:tang-output": "node build/validate-tang-detective-output.mjs dist/build/mp-weixin"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
|
||||
@@ -220,8 +220,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "endless-game/index",
|
||||
{
|
||||
"path": "tang-detective/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "唐侦探",
|
||||
"backgroundColor": "#f4fbf4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "endless-game/index",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTitleText": "识糖小课堂",
|
||||
|
||||
@@ -98,7 +98,17 @@
|
||||
<view v-if="chartUseMockData" class="st-chart-foot">
|
||||
<text class="st-chart-mock-hint">示例数据,累计记录满 7 天后显示您的真实趋势</text>
|
||||
</view>
|
||||
<view class="st-game-entry-list">
|
||||
<view class="st-game-entry-list">
|
||||
<view class="st-game-entry st-game-entry--in-card" role="button" aria-label="打开唐侦探,看连环画找线索" @click="goTangDetectivePage">
|
||||
<view class="st-game-entry-icon">
|
||||
<TongjiIcon name="view" size="sm" color="#006c49" />
|
||||
</view>
|
||||
<view class="st-game-entry-body">
|
||||
<text class="st-game-entry-title">唐侦探</text>
|
||||
<text class="st-game-entry-sub">看连环画,找线索,听一家人的故事</text>
|
||||
</view>
|
||||
<TongjiIcon name="chevron-right" size="sm" color="#64748b" />
|
||||
</view>
|
||||
<view class="st-game-entry st-game-entry--in-card" @click="goEndlessGamePage">
|
||||
<view class="st-game-entry-icon">
|
||||
<TongjiIcon name="sparkles" size="sm" color="#006c49" />
|
||||
@@ -1523,9 +1533,13 @@ function openGamePage(url) {
|
||||
})
|
||||
}
|
||||
|
||||
function goEndlessGamePage() {
|
||||
openGamePage('/tongji/endless-game/index')
|
||||
}
|
||||
function goEndlessGamePage() {
|
||||
openGamePage('/tongji/endless-game/index')
|
||||
}
|
||||
|
||||
function goTangDetectivePage() {
|
||||
openGamePage('/tongji/tang-detective/index')
|
||||
}
|
||||
|
||||
function navToUser() {
|
||||
uni.redirectTo({ url: '/pages/user/user' })
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { defineConfig } from 'vite'
|
||||
import uni from '@dcloudio/vite-plugin-uni'
|
||||
import Optimization from '@uni-ku/bundle-optimizer'
|
||||
import tangDetectiveNativePlugin from './build/tang-detective-native-plugin.mjs'
|
||||
import { API_BASE_URL } from './config/api.js'
|
||||
|
||||
// uni-app 工程根目录就是源码目录(HBuilderX 兼容)
|
||||
// 编译产物默认输出到 ./dist/<mode>/<platform>
|
||||
@@ -16,6 +18,7 @@ export default defineConfig({
|
||||
dts: false,
|
||||
logger: false,
|
||||
}),
|
||||
tangDetectiveNativePlugin({ apiBaseUrl: API_BASE_URL }),
|
||||
],
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import App from './App'
|
||||
import { API_BASE_URL } from './config/api.js'
|
||||
|
||||
var baseUrl = 'https://xt.zhenyangtang.com.cn/'
|
||||
var baseUrl = API_BASE_URL
|
||||
|
||||
function joinApiUrl(base, path) {
|
||||
const b = String(base || '').replace(/\/+$/, '')
|
||||
|
||||
@@ -9,7 +9,9 @@
|
||||
"dev:app": "cross-env UNI_INPUT_DIR=. uni -p app",
|
||||
"build:mp-weixin": "cross-env UNI_INPUT_DIR=. uni build -p mp-weixin",
|
||||
"build:h5": "cross-env UNI_INPUT_DIR=. uni build",
|
||||
"build:app": "cross-env UNI_INPUT_DIR=. uni build -p app"
|
||||
"build:app": "cross-env UNI_INPUT_DIR=. uni build -p app",
|
||||
"test:tang": "node --test build/tang-detective-native-plugin.test.mjs build/tang-detective-cos-media.test.mjs build/tang-detective-source-validation.test.mjs scripts/tang-cos/upload.test.mjs scripts/test-tang-platform.cjs scripts/test-tang-page-lifecycle.cjs",
|
||||
"check:tang-output": "node build/validate-tang-detective-output.mjs dist/build/mp-weixin && node build/validate-tang-tongji-host.mjs dist/build/mp-weixin"
|
||||
},
|
||||
"keywords": [
|
||||
"uniapp",
|
||||
|
||||
@@ -94,6 +94,13 @@
|
||||
"enableShareAppMessage": true,
|
||||
"enableShareTimeline": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "tongji/tang-detective/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "唐侦探",
|
||||
"backgroundColor": "#f4fbf4"
|
||||
}
|
||||
}
|
||||
],
|
||||
"subPackages": [
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="375px" height="268px" viewBox="0 0 375 268" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
|
||||
<title>背景</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="81.9277858%" x2="50%" y2="100%" id="linearGradient-1">
|
||||
<stop stop-color="#006EFF" offset="0%"></stop>
|
||||
<stop stop-color="#00C8DC" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="浅色版本" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="主页" fill="url(#linearGradient-1)">
|
||||
<g id="编组-4" transform="translate(-315.000000, -732.000000)">
|
||||
<circle id="蒙版" cx="500" cy="500" r="500"></circle>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 934 B |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 45 KiB |
@@ -99,6 +99,16 @@
|
||||
<text class="st-chart-mock-hint">示例数据,累计记录满 7 天后显示您的真实趋势</text>
|
||||
</view>
|
||||
<view class="st-game-entry-list">
|
||||
<view class="st-game-entry st-game-entry--in-card" role="button" aria-label="打开唐侦探,看连环画找线索" @click="goTangDetectivePage">
|
||||
<view class="st-game-entry-icon">
|
||||
<TongjiIcon name="view" size="sm" color="#006c49" />
|
||||
</view>
|
||||
<view class="st-game-entry-body">
|
||||
<text class="st-game-entry-title">唐侦探</text>
|
||||
<text class="st-game-entry-sub">看连环画,找线索,听一家人的故事</text>
|
||||
</view>
|
||||
<TongjiIcon name="chevron-right" size="sm" color="#64748b" />
|
||||
</view>
|
||||
<view class="st-game-entry st-game-entry--in-card" @click="goEndlessGamePage">
|
||||
<view class="st-game-entry-icon">
|
||||
<TongjiIcon name="sparkles" size="sm" color="#006c49" />
|
||||
@@ -1527,6 +1537,10 @@ function goEndlessGamePage() {
|
||||
openGamePage('/tongji/endless-game/index')
|
||||
}
|
||||
|
||||
function goTangDetectivePage() {
|
||||
openGamePage('/tongji/tang-detective/index')
|
||||
}
|
||||
|
||||
function navToUser() {
|
||||
uni.redirectTo({ url: '/pages/user/user' })
|
||||
}
|
||||
|
||||
@@ -10,9 +10,10 @@ training/static/
|
||||
├── voice/ # (规划中) TTS 语音教练
|
||||
│ ├── numbers/ 数字报数 1~30
|
||||
│ └── prompts/ 开始/休息/再来 等口令
|
||||
├── bgm/ # (规划中) 训练/休息背景乐
|
||||
└── footprint.svg # 脚印图标(早期方案残留,可保留作为备用素材)
|
||||
```
|
||||
└── bgm/ # (规划中) 训练/休息背景乐
|
||||
```
|
||||
|
||||
早期备用脚印图标 `footprint.svg` 无运行时引用,已于 2026-09-08 随素材清理移出到项目外可恢复备份;记录见 `docs/TANG-COS-MIGRATION-20260908.md`。
|
||||
|
||||
> 节拍器音频已完全走 CDN(`gz-1349751149.cos.ap-guangzhou.myqcloud.com`),减少小程序包体积约 210 KB。`useMetronomeBg.ts` / `useMetronome.ts` 中的 URL 即源信息,更换音色只需改 hook 里的常量。
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 150">
|
||||
<g fill="#e2e8f0" fill-opacity="0.92">
|
||||
<path d="M 50,30 C 38,30 28,32 24,40 C 19,50 18,60 22,70 C 26,82 26,92 28,102 C 30,122 40,140 50,140 C 60,140 70,122 72,102 C 74,92 74,82 78,70 C 82,60 81,50 76,40 C 72,32 62,30 50,30 Z"/>
|
||||
<ellipse cx="30" cy="20" rx="6.5" ry="8" transform="rotate(-18 30 20)"/>
|
||||
<ellipse cx="43" cy="11" rx="5" ry="6.8" transform="rotate(-6 43 11)"/>
|
||||
<ellipse cx="55" cy="9" rx="4.5" ry="6.2" transform="rotate(4 55 9)"/>
|
||||
<ellipse cx="66" cy="13" rx="4" ry="5.5" transform="rotate(13 66 13)"/>
|
||||
<ellipse cx="76" cy="20" rx="3.5" ry="5" transform="rotate(22 76 20)"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 741 B |
@@ -1,8 +1,10 @@
|
||||
import { defineConfig } from 'vite'
|
||||
import uni from '@dcloudio/vite-plugin-uni'
|
||||
import tangDetectiveNativePlugin from './build/tang-detective-native-plugin.mjs'
|
||||
import { API_BASE_URL } from './config/api.js'
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [uni()],
|
||||
plugins: [uni(), tangDetectiveNativePlugin({ apiBaseUrl: API_BASE_URL })],
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
scss: {
|
||||
|
||||
@@ -14,3 +14,8 @@ Route::post('ej-pharmacy/webhook', 'EjPharmacyCallback/webhook');
|
||||
// 企业微信内部应用推广助手:公开 JS 与服务端随机分流。
|
||||
Route::get('qywx-promotion/js/:key', 'QywxPromotionPublic/script');
|
||||
Route::get('qywx-promotion/go/:key', 'QywxPromotionPublic/redirect');
|
||||
|
||||
// 唐侦探独立章节存档:使用统一 token,与控糖消消乐周榜隔离。
|
||||
Route::get('tang/catalog', 'TangDetective/catalog');
|
||||
Route::get('tang/progress', 'TangDetective/progress');
|
||||
Route::post('tang/saveProgress', 'TangDetective/saveProgress');
|
||||
|
||||