From 9fcc1b8549baf206ad551b53a975ef663ae4d449 Mon Sep 17 00:00:00 2001 From: chenghuan Date: Tue, 11 Nov 2025 13:40:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E2=80=9C=E8=AF=BE=E7=A8=8B=E9=A6=96=E9=A1=B5=E2=80=9D=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- androidPrivacy.json | 3 + api/modules/common.ts | 14 + api/modules/course.ts | 54 ++ components/nav-bar/nav-bar.vue | 12 +- locale/en.json | 8 + locale/zh-Hans.json | 8 + manifest.json | 87 +- pages.json | 21 +- pages/book/detail.vue | 10 - pages/book/index.vue | 7 + pages/course/index.vue | 699 ++++++++++++++++ pages/login/login.vue | 4 +- static/course/homeLogo.png | Bin 0 -> 51069 bytes static/course/home_bg.jpg | Bin 0 -> 113308 bytes static/course/learing.png | Bin 0 -> 2230 bytes static/course/try_listen.png | Bin 0 -> 1920 bytes style/tailwind.css | 188 +++++ style/ui.scss | 6 +- types/course.d.ts | 53 ++ uni_modules/nx-turn/changelog.md | 9 + .../nx-turn/components/nx-turn/js/nx-turn.js | 777 ++++++++++++++++++ .../nx-turn/components/nx-turn/nx-turn.vue | 262 ++++++ uni_modules/nx-turn/package.json | 84 ++ uni_modules/nx-turn/readme.md | 151 ++++ 24 files changed, 2402 insertions(+), 55 deletions(-) create mode 100644 androidPrivacy.json create mode 100644 api/modules/course.ts create mode 100644 pages/course/index.vue create mode 100644 static/course/homeLogo.png create mode 100644 static/course/home_bg.jpg create mode 100644 static/course/learing.png create mode 100644 static/course/try_listen.png create mode 100644 types/course.d.ts create mode 100644 uni_modules/nx-turn/changelog.md create mode 100644 uni_modules/nx-turn/components/nx-turn/js/nx-turn.js create mode 100644 uni_modules/nx-turn/components/nx-turn/nx-turn.vue create mode 100644 uni_modules/nx-turn/package.json create mode 100644 uni_modules/nx-turn/readme.md diff --git a/androidPrivacy.json b/androidPrivacy.json new file mode 100644 index 0000000..12df862 --- /dev/null +++ b/androidPrivacy.json @@ -0,0 +1,3 @@ +{ + "prompt": "template" +} diff --git a/api/modules/common.ts b/api/modules/common.ts index ff6d05a..1e3a5dc 100644 --- a/api/modules/common.ts +++ b/api/modules/common.ts @@ -27,5 +27,19 @@ export const commonApi = { data: { id } }) return res.agreement + }, + /** + * 获取消息列表(新闻播报) + * @param isBook 是否是图书相关 0-否 1-是 + * @param isMedical 是否是医学相关 0-否 1-是 + * @param isSociology 是否是社会学相关 0-否 1-是 + * @returns 消息列表 + */ + getMessageList(isBook: number, isMedical: number, isSociology: number) { + return mainClient.request({ + url: 'common/message/listByPage', + method: 'POST', + data: { isBook, isMedical, isSociology } + }) } } diff --git a/api/modules/course.ts b/api/modules/course.ts new file mode 100644 index 0000000..fe0ebf4 --- /dev/null +++ b/api/modules/course.ts @@ -0,0 +1,54 @@ +// api/modules/course.ts +import { createRequestClient } from '../request' +import { SERVICE_MAP } from '../config' +import type { + ICourseMedicalTreeResponse, + IUserLateCourseListResponse, + IMarketCourseListResponse +} from '@/types/course' + +const client = createRequestClient({ baseURL: SERVICE_MAP.MAIN }) + +/** + * 课程相关API + */ +export const courseApi = { + /** + * 获取课程分类树 + * @returns 分类数据 + */ + getCourseMedicalTree() { + return client.request({ + url: 'medical/home/getCourseMedicalTree', + method: 'POST', + data: {} + }) + }, + + /** + * 获取用户最近观看课程列表 + * @returns 观看记录列表 + */ + getUserLateCourseList() { + return client.request({ + url: 'medical/home/getUserLateCourseList', + method: 'POST', + data: {} + }) + }, + + /** + * 获取市场课程列表(试听课程) + * @param id 市场ID + * @param limit 每页数量 + * @param page 页码 + * @returns 课程列表 + */ + getMarketCourseList(id: number, limit: number, page: number) { + return client.request({ + url: 'medical/home/getMarketCourseList', + method: 'POST', + data: { id, limit, page } + }) + } +} diff --git a/components/nav-bar/nav-bar.vue b/components/nav-bar/nav-bar.vue index 7106200..c5f2fb7 100644 --- a/components/nav-bar/nav-bar.vue +++ b/components/nav-bar/nav-bar.vue @@ -2,7 +2,8 @@ - + + @@ -38,7 +39,14 @@ const handleClickLeft = () => { top: 0; left: 0; width: 100%; - background: var(--wot-navbar-background); z-index: 9; + + .statusBar{ + background: var(--wot-navbar-background); + } + + .titleBar{ + background: var(--wot-navbar-background); + } } \ No newline at end of file diff --git a/locale/en.json b/locale/en.json index 4c1de75..fdd9fdc 100644 --- a/locale/en.json +++ b/locale/en.json @@ -269,5 +269,13 @@ }, "workOrder": { "submit_success": "Submitted successfully" + }, + "course": { + "title": "Course", + "watchHistory": "Watch History", + "tryListen": "Try Listening", + "moreTryListen": "More Trials", + "buy": "Buy", + "searchPlaceholder": "Search courses..." } } diff --git a/locale/zh-Hans.json b/locale/zh-Hans.json index 31bdba5..af7b459 100644 --- a/locale/zh-Hans.json +++ b/locale/zh-Hans.json @@ -270,5 +270,13 @@ }, "workOrder": { "submit_success": "提交成功" + }, + "course": { + "title": "课程", + "watchHistory": "观看记录", + "tryListen": "精彩试听", + "moreTryListen": "更多试听", + "buy": "购买", + "searchPlaceholder": "搜索课程..." } } diff --git a/manifest.json b/manifest.json index dcf0c1b..79e0a48 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { - "name" : "EducationApp2", + "name" : "Amazing Limited", "appid" : "__UNI__1250B39", - "description" : "", + "description" : "Amazing Limited", "versionName" : "1.0.1", "versionCode" : 101, "transformPx" : false, @@ -10,44 +10,90 @@ "usingComponents" : true, "nvueStyleCompiler" : "uni-app", "compilerVersion" : 3, + "compatible" : { + "ignoreVersion" : true + }, "splashscreen" : { - "alwaysShowBeforeRender" : true, + "alwaysShowBeforeRender" : false, "waiting" : true, "autoclose" : true, "delay" : 0 }, /* 模块配置 */ - "modules" : {}, + "modules" : { + "Camera" : {}, + "Payment" : {} + }, /* 应用发布信息 */ "distribute" : { /* android打包配置 */ "android" : { "permissions" : [ - "", - "", "", - "", - "", - "", - "", "", - "", - "", - "", + "", "", - "", - "", - "" + "" ], "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ], - "minSdkVersion" : 21 + "minSdkVersion" : 23, + "targetSdkVersion" : 35 }, /* ios打包配置 */ "ios" : { - "dSYMs" : false + "dSYMs" : false, + "privacyDescription" : { + "NSPhotoLibraryUsageDescription" : "Ensure the normal use of your avatar modification, appeal feedback, image upload, and message upload functions in this app.", + "NSPhotoLibraryAddUsageDescription" : "Ensure the normal use of the functions of modifying avatars, uploading images for appeals and feedback, and uploading images for comments in this app.", + "NSCameraUsageDescription" : "Ensure the normal use of the functions of modifying avatars, uploading images for appeals and feedback, and uploading images for comments in this app." + }, + "idfa" : false }, /* SDK配置 */ - "sdkConfigs" : {} + "sdkConfigs" : { + "payment" : { + "google" : {}, + "stripe" : { + "__platform__" : [ "ios", "android" ], + "returnURL_ios" : "com.amazinglimited://stripe" + } + } + }, + "icons" : { + "android" : { + "hdpi" : "unpackage/res/icons/72x72.png", + "xhdpi" : "unpackage/res/icons/96x96.png", + "xxhdpi" : "unpackage/res/icons/144x144.png", + "xxxhdpi" : "unpackage/res/icons/192x192.png" + }, + "ios" : { + "appstore" : "unpackage/res/icons/1024x1024.png", + "ipad" : { + "app" : "unpackage/res/icons/76x76.png", + "app@2x" : "unpackage/res/icons/152x152.png", + "notification" : "unpackage/res/icons/20x20.png", + "notification@2x" : "unpackage/res/icons/40x40.png", + "proapp@2x" : "unpackage/res/icons/167x167.png", + "settings" : "unpackage/res/icons/29x29.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "spotlight" : "unpackage/res/icons/40x40.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png" + }, + "iphone" : { + "app@2x" : "unpackage/res/icons/120x120.png", + "app@3x" : "unpackage/res/icons/180x180.png", + "notification@2x" : "unpackage/res/icons/40x40.png", + "notification@3x" : "unpackage/res/icons/60x60.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "settings@3x" : "unpackage/res/icons/87x87.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png", + "spotlight@3x" : "unpackage/res/icons/120x120.png" + } + } + }, + "splashscreen" : { + "useOriginalMsgbox" : true + } } }, /* 快应用特有相关 */ @@ -70,7 +116,8 @@ "usingComponents" : true }, "uniStatistics" : { - "enable" : false + "enable" : false, + "version" : "2" }, "vueVersion" : "3" } diff --git a/pages.json b/pages.json index 0b9760f..ad9fe6d 100644 --- a/pages.json +++ b/pages.json @@ -1,7 +1,7 @@ { "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { - "path": "pages/index/index", + "path": "pages/course/index", "style": { "navigationBarTitleText": "%index.title%" } @@ -123,21 +123,6 @@ } } ], - // "tabBar": { - // "color": "#7A7E83", - // "selectedColor": "#007AFF", - // "borderStyle": "black", - // "backgroundColor": "#F8F8F8", - // "list": [{ - // "pagePath": "pages/index/index", - // "text": "%index.home%" - // }, - // { - // "pagePath": "pages/component/component", - // "text": "%index.component%" - // } - // ] - // }, "tabBar": { "color": "#444444", "selectedColor": "#079307", @@ -145,7 +130,7 @@ "backgroundColor": "#ffffff", "list": [ { - "pagePath": "pages/index/index", + "pagePath": "pages/course/index", "iconPath": "static/tab/icon1_n.png", "selectedIconPath": "static/tab/icon1_y.png", "text": "%tabar.course%" @@ -166,7 +151,7 @@ }, "globalStyle": { "navigationBarTextStyle": "black", - "navigationBarTitleText": "疯子读书", + "navigationBarTitleText": "太湖国际", "navigationBarBackgroundColor": "#FFFFFF", "backgroundColor": "#FFFFFF", "navigationStyle": "custom" diff --git a/pages/book/detail.vue b/pages/book/detail.vue index d4e50ba..23425ec 100644 --- a/pages/book/detail.vue +++ b/pages/book/detail.vue @@ -317,16 +317,6 @@ function goToDetail(id: number) { url: `/pages/book/detail?id=${id}` }) } - -function handleBack() { - if (pageFrom.value === 'order') { - uni.switchTab({ - url: '/pages/index/index' - }) - } else { - uni.navigateBack({ delta: 1 }) - } -} diff --git a/pages/login/login.vue b/pages/login/login.vue index e7a5057..19d517d 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -2,7 +2,7 @@