diff --git a/.env.development b/.env.development
index ea0e7cdf..74c32d10 100644
--- a/.env.development
+++ b/.env.development
@@ -1,6 +1,7 @@
# 开发环境
ENV = 'development'
# 'development'
+
VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
# UAT
# VITE_APP_BASE_API_Url = 'http://25.18.122.78:9786'
@@ -16,35 +17,8 @@ VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
# h5专用地址x2
-# VITE_APP_BASE_H5_API_Url = 'http://25.16.122.65:7001'
+# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.21:9786'
-# VITE_APP_BASE_H5_API_Url = 'https://aitstest.jlbank.com.cn:7001'
-
-
-# dev
-# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
-# sit
-# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.92:9786'
-
-# UAT
-# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.78:9786'
-
-# 任东
-# VITE_APP_BASE_H5_API_Url_TRAAPP = 'http://25.64.16.130:9601'
-# VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.130:9602'
-
-# VITE_APP_BASE_H5_API_Url_TRAEXAM = 'http://25.64.16.140:9604'
-# 张建成
-# VITE_APP_BASE_H5_API_Url_TRAASK = 'http://25.64.16.144:9605'
-# VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.144:9602'
-# 王洋洋
-# VITE_APP_BASE_H5_API_Url_TRAEXAM = 'http://25.64.16.140:9604'
-# 于嘉文
-# VITE_APP_BASE_H5_API_Url_TRAEXAM = 'http://25.64.16.143:9604'
-# 孙宇
-# VITE_APP_BASE_H5_API_Url_TRAEXAM = 'http://25.64.16.139:9604'
-# 付丙鑫
-# VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.145:9602'
diff --git a/certificate/ios/jiaixuedev.mobileprovision b/certificate/ios/jiaixuedev.mobileprovision
index f72974ab..f77c4ce3 100644
Binary files a/certificate/ios/jiaixuedev.mobileprovision and b/certificate/ios/jiaixuedev.mobileprovision differ
diff --git a/src/App.vue b/src/App.vue
index a95c6e00..836567cb 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,4 @@
-
diff --git a/src/components/watermark/watermark.vue b/src/components/watermark/watermark.vue
new file mode 100644
index 00000000..8fab7164
--- /dev/null
+++ b/src/components/watermark/watermark.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+ {{ textValue }}
+
+
+
+
+
+
+
+
+
diff --git a/src/composables/useExamSubject.js b/src/composables/useExamSubject.js
new file mode 100644
index 00000000..eff364d6
--- /dev/null
+++ b/src/composables/useExamSubject.js
@@ -0,0 +1,10 @@
+import RecordPermission from '@/common/recordPermission.js'
+
+export const initRecord = () => RecordPermission.requestPermission();
+
+
+export default function useIndexList() {
+ return {
+
+ };
+}
\ No newline at end of file
diff --git a/src/pages/course/components/talkingItem.vue b/src/pages/course/components/talkingItem.vue
index 7a84a470..6a3805ee 100644
--- a/src/pages/course/components/talkingItem.vue
+++ b/src/pages/course/components/talkingItem.vue
@@ -25,10 +25,8 @@
-
+
@@ -40,21 +38,12 @@
-
-
-
+
+
+
@@ -66,29 +55,18 @@
{{ showContent }}
-
+
-
-
+
+
+
@@ -102,34 +80,18 @@
-
-
+
+
-
+
重新学
-
+
重新答
@@ -173,24 +135,12 @@
-
-
-
+
+
+
+
+
{{ userInfo.userName }}
@@ -198,10 +148,8 @@
-
+
{{ voiceTime }}
@@ -218,20 +166,10 @@
-->
-
-
+
+
文
完成
@@ -245,24 +183,12 @@
-
-
-
+
+
+
+
+
{{ userInfo.userName }}
@@ -281,18 +207,39 @@
\ No newline at end of file
+
diff --git a/src/pages/course/index.vue b/src/pages/course/index.vue
index 3767745b..3a04fe6b 100644
--- a/src/pages/course/index.vue
+++ b/src/pages/course/index.vue
@@ -436,12 +436,12 @@ onShow(() => {
.top-bg {
background: linear-gradient(16deg, rgba(234, 246, 255, 0) 0%, #c3e6ff 100%);
height: 480rpx;
- width: 750rpx;
+ width: 100%;
}
.bot-bg {
// background-color: #F6F8FF;
background: linear-gradient(136deg, rgba(234, 246, 255, 0) 0%, #c3e6ff 100%);
- width: 750rpx;
+ width: 100%;
flex: 1;
}
.course-center-body {
diff --git a/src/pages/course/study.vue b/src/pages/course/study.vue
index 06dc8751..6c5eca81 100644
--- a/src/pages/course/study.vue
+++ b/src/pages/course/study.vue
@@ -126,7 +126,17 @@ import { onLoad, onShow, onUnload, onHide } from '@dcloudio/uni-app'
import { previewFile, downloadFile, commonUploadVoiceFile, downloadVoiceFile, uploadVoiceFile } from '@/api/common.js'
import { getToken, getPhoneEnvBool } from '@/common/common.js'
import { get_base_url, goto_login_fun } from '@/api/request'
-import { getCourseStudyInfoApi, afreshStudyCourseApi, queryQuestionEvalateApi, textChartApi, setStudyTeacherApi, textChartPreviewApi, previewAfreshStudyCourse } from '@/api/study.js'
+import {
+ getCourseStudyInfoApi,
+ afreshStudyCourseApi,
+ queryQuestionEvalateApi,
+ textChartApi,
+ setStudyTeacherApi,
+ textChartPreviewApi,
+ previewAfreshStudyCourse,
+ studyEndApi,
+ studyStartApi
+} from '@/api/study.js'
import common from '@/common/common'
import TalkingItem from '@/pages/course/components/talkingItem.vue'
import ImagePreview from '@/components/image-preview/image-preview.vue'
@@ -231,6 +241,17 @@ const getData = async flag => {
watchFlag.value += 1
}
}
+const startStudy = (data) => {
+ studyStartApi(data).then(res=>{
+ const { body } = res
+ stdyId.value = body.stdyId || ''
+ stdyBatch.value = body.stdyBatch || ''
+ oldStdyId.value = body.oldStdyId || ''
+ logId.value = body.logId || ''
+ getGraphInfoUnStudy(1)
+ step.value = 2
+ }).catch(err=>{})
+}
// 重新学习
const resStartStudyNow = ($list = []) => {
let _ajax = isPreview.value ? previewAfreshStudyCourse : afreshStudyCourseApi
@@ -680,7 +701,8 @@ const reconnect = () => {
initsocketTask()
}
const sendMessage = data => {
- unref(SocketObj).send(data)
+ // unref(SocketObj).send(data)
+ startStudy(data.body)
}
// ws 结束
const startPgrphId = ref('')
@@ -697,7 +719,7 @@ onLoad(params => {
const showTalkingModel = ref(false)
// 录音
onMounted(() => {
- initsocketTask()
+ // initsocketTask()
getData('1')
})
const keyboardHeight = ref('0px')
@@ -721,9 +743,17 @@ const changeAppHeightBottom = height => {
bottomHeight.value = systemInfo.screenHeight - systemInfo.safeArea.bottom + 'px'
// #endif
}
+const closeStudy = () => {
+ return studyEndApi({
+ stdyId: stdyId.value
+ })
+}
onHide(() => {
changePlayItemId('')
- socketStore.closeSocket()
+ if(isPreview.value === 'S'){
+ closeStudy()
+ }
+ // socketStore.closeSocket()
//#ifdef APP-PLUS
uni.offKeyboardHeightChange(setHeight)
// #endif
@@ -738,12 +768,31 @@ onShow(() => {
// #endif
if (watchFlag.value === 1) return
// getData('2');
- initsocketTask()
+ // initsocketTask()
+ if(isPreview.value === 'S'){
+ studyStartApi({
+ crsId: crsId.value,
+ teacherNo: choiceTeacher.value,
+ studyType: isPreview.value ? 'P' : 'S',
+ isContinue: isContinue.value,
+ stdyId: stdyId.value
+ }).then(res=>{
+ const { body } = res
+ stdyId.value = body.stdyId || ''
+ stdyBatch.value = body.stdyBatch || ''
+ oldStdyId.value = body.oldStdyId || ''
+ logId.value = body.logId || ''
+ step.value = 2
+ }).catch(err=>{})
+ }
})
const watchFlag = ref(1)
onUnload(() => {
console.log('onUnload')
- socketStore.closeSocket()
+ if(isPreview.value === 'S'){
+ closeStudy()
+ }
+ // socketStore.closeSocket()
changePlayItemId('')
console.log(typeof teacherVoiceObj)
try {
diff --git a/src/pages/courseDetail/index.vue b/src/pages/courseDetail/index.vue
index 43020f56..eeb28782 100644
--- a/src/pages/courseDetail/index.vue
+++ b/src/pages/courseDetail/index.vue
@@ -157,14 +157,14 @@
};
const toStudyPrgh = (info) => {
common.navigateTo(
- '/pages/course/study?crsNum=' +
- form.value.crsNum +
- '&crsId=' +
+ '/pages/course/study?crsId=' +
crsId.value +
'&pgrphId=' +
info.pgrphId +
'&imgId=' +
- form.imgId
+ form.imgId +
+ '&isPreview=' +
+ isPreview.value
);
};
diff --git a/src/pages/courseRecord/components/talkingItem.vue b/src/pages/courseRecord/components/talkingItem.vue
index 87de89af..8d7b96cf 100644
--- a/src/pages/courseRecord/components/talkingItem.vue
+++ b/src/pages/courseRecord/components/talkingItem.vue
@@ -49,7 +49,10 @@
-
+
diff --git a/src/pages/examRanking/index.vue b/src/pages/examRanking/index.vue
index b11aff45..91165c6a 100644
--- a/src/pages/examRanking/index.vue
+++ b/src/pages/examRanking/index.vue
@@ -41,7 +41,8 @@
diff --git a/src/pages/index/dialog.vue b/src/pages/index/dialog.vue
index 47fe4136..6e2ade92 100644
--- a/src/pages/index/dialog.vue
+++ b/src/pages/index/dialog.vue
@@ -1,1065 +1,1121 @@
-
-
-
-
-
-
-
- AI问答
-
-
-
-
- 历史
- 消息
- 我的
-
-
-
+
+
+
+
+
+
+
+
+
+ AI问答
+
+
+
+
+ 历史
+ 消息
+ 我的
+
+
+
-
-
-
-
-
- {{ userInfo ? 'Hi,我是' + userInfo?.mascotInfo?.mascotName : 'Hi' }}
- 工作学习,我都能帮你!
- 试试他的能力
-
-
-
-
-
-
- {{ questionList[item - 1].hotContent }}
-
-
-
-
- {{ questionList[item + Math.ceil(questionList.length / 2) - 1].hotContent }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'AI学' }}
-
-
-
- {{ 'AI练' }}
-
-
-
- {{ 'AI考' }}
-
-
-
- {{ '去PK' }}
-
-
-
- {{ '任务' }}
-
-
-
- {{ '错题' }}
-
-
-
- {{ '分析' }}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ {{ userInfo ? 'Hi,我是' + userInfo?.mascotInfo?.mascotName : 'Hi' }}
+ 工作学习,我都能帮你!
+ 试试他的能力
+
+
+
+
+
+
+ {{ questionList[item - 1].hotContent }}
+
+
+
+
+ {{ questionList[item + Math.ceil(questionList.length / 2) - 1].hotContent }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ 'AI学' }}
+
+
+
+ {{ 'AI练' }}
+
+
+
+ {{ 'AI考' }}
+
+
+
+ {{ '去PK' }}
+
+
+
+ {{ '任务' }}
+
+
+
+ {{ '错题' }}
+
+
+
+ {{ '分析' }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/learningTasks/details.vue b/src/pages/learningTasks/details.vue
index 67096ef6..fec14df0 100644
--- a/src/pages/learningTasks/details.vue
+++ b/src/pages/learningTasks/details.vue
@@ -508,19 +508,21 @@
}
.body-title {
+
+
width: 100%;
position: relative;
text-align: center;
- height: 160rpx;
+ height: 180rpx;
padding-top: var(--status-bar-height);
- margin-bottom: -20rpx;
- line-height: calc(160rpx - var(--status-bar-height) - 20rpx);
+ margin-bottom: -10rpx;
+ line-height: calc(180rpx - var(--status-bar-height) - 10rpx);
font-family: PingFangSC;
font-weight: 600;
font-size: 32rpx;
color: #000000;
font-style: normal;
-
+
background-image: url('@/static/images/learningTasks/learningTasksBg.png');
background-repeat: no-repeat;
background-size: 100% calc(420rpx + var(--status-bar-height)); /* 宽度充满,高度自适应比例 */
diff --git a/src/pages/me/index.vue b/src/pages/me/index.vue
index a5034b55..031da385 100644
--- a/src/pages/me/index.vue
+++ b/src/pages/me/index.vue
@@ -1,6 +1,5 @@
-
@@ -14,7 +13,7 @@
class="img_100"
:src="user_info.imageAddr"
>
-
+
@@ -145,7 +144,6 @@
-
-
diff --git a/src/pages/practice/index.vue b/src/pages/practice/index.vue
index 3441542b..d659c1f4 100644
--- a/src/pages/practice/index.vue
+++ b/src/pages/practice/index.vue
@@ -81,7 +81,7 @@
@@ -255,7 +248,7 @@
}
.detail-main {
- background-color: #F6F8FF;
+ background-color: #f6f8ff;
}
.title {
@@ -303,4 +296,4 @@
}
}
}
-
\ No newline at end of file
+
diff --git a/src/pages/test/index.vue b/src/pages/test/index.vue
index c0f255e8..492e2868 100644
--- a/src/pages/test/index.vue
+++ b/src/pages/test/index.vue
@@ -22,7 +22,6 @@
+
+
diff --git a/src/uni_modules/uv-picker/package.json b/src/uni_modules/uv-picker/package.json
new file mode 100644
index 00000000..0d62d7eb
--- /dev/null
+++ b/src/uni_modules/uv-picker/package.json
@@ -0,0 +1,90 @@
+{
+ "id": "uv-picker",
+ "displayName": "uv-picker 选择器 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.14",
+ "description": "uv-picker 此选择器用于单列,多列,多列联动的选择场景...",
+ "keywords": [
+ "uv-picker",
+ "uvui",
+ "uv-ui",
+ "picker",
+ "联动选择"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools",
+ "uv-popup",
+ "uv-loading-icon",
+ "uv-toolbar"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-picker/readme.md b/src/uni_modules/uv-picker/readme.md
new file mode 100644
index 00000000..c9dd0b94
--- /dev/null
+++ b/src/uni_modules/uv-picker/readme.md
@@ -0,0 +1,21 @@
+## Picker 选择器
+
+> **组件名:uv-picker**
+
+此选择器用于单列,多列,多列联动的选择场景。
+
+`uv-datetime-picker`等组件也用到了该组件,功能完善,需要特别注意的是`columns`参数的形式是数组嵌套。
+
+# 查看文档
+
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/src/uni_modules/uv-toolbar/changelog.md b/src/uni_modules/uv-toolbar/changelog.md
new file mode 100644
index 00000000..3acfcd6e
--- /dev/null
+++ b/src/uni_modules/uv-toolbar/changelog.md
@@ -0,0 +1,2 @@
+## 1.0.0(2023-08-02)
+1. 新增工具条组件
diff --git a/src/uni_modules/uv-toolbar/components/uv-toolbar/props.js b/src/uni_modules/uv-toolbar/components/uv-toolbar/props.js
new file mode 100644
index 00000000..e3324125
--- /dev/null
+++ b/src/uni_modules/uv-toolbar/components/uv-toolbar/props.js
@@ -0,0 +1,40 @@
+export default {
+ props: {
+ // 是否展示工具条
+ show: {
+ type: Boolean,
+ default: true
+ },
+ // 是否显示下边框
+ showBorder: {
+ type: Boolean,
+ default: false
+ },
+ // 取消按钮的文字
+ cancelText: {
+ type: String,
+ default: '取消'
+ },
+ // 确认按钮的文字
+ confirmText: {
+ type: String,
+ default: '确认'
+ },
+ // 取消按钮的颜色
+ cancelColor: {
+ type: String,
+ default: '#909193'
+ },
+ // 确认按钮的颜色
+ confirmColor: {
+ type: String,
+ default: '#3c9cff'
+ },
+ // 标题文字
+ title: {
+ type: String,
+ default: ''
+ },
+ ...uni.$uv?.props?.toolbar
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-toolbar/components/uv-toolbar/uv-toolbar.vue b/src/uni_modules/uv-toolbar/components/uv-toolbar/uv-toolbar.vue
new file mode 100644
index 00000000..0b3fc9e9
--- /dev/null
+++ b/src/uni_modules/uv-toolbar/components/uv-toolbar/uv-toolbar.vue
@@ -0,0 +1,109 @@
+
+
+
+ {{ cancelText }}
+
+ {{ title }}
+
+ {{ confirmText }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/uv-toolbar/package.json b/src/uni_modules/uv-toolbar/package.json
new file mode 100644
index 00000000..d5196659
--- /dev/null
+++ b/src/uni_modules/uv-toolbar/package.json
@@ -0,0 +1,87 @@
+{
+ "id": "uv-toolbar",
+ "displayName": "uv-toolbar 工具条",
+ "version": "1.0.0",
+ "description": "该组价是仅用于uv-ui中一个公共小工具,提供一个取消和确定的样式,可以设置标题,主要用于弹窗顶部的选择确定工具条",
+ "keywords": [
+ "uv-toolbar",
+ "uvui",
+ "uv-ui",
+ "工具条",
+ "工具"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-toolbar/readme.md b/src/uni_modules/uv-toolbar/readme.md
new file mode 100644
index 00000000..b33643f7
--- /dev/null
+++ b/src/uni_modules/uv-toolbar/readme.md
@@ -0,0 +1,31 @@
+## Toolbar 工具条
+
+> **组件名:uv-toolbar**
+
+该组价是仅用于uv-ui中一个公共小工具,提供一个取消和确定的样式,可以设置标题,主要用于弹窗顶部的选择确定工具条。
+
+### 基本使用
+
+```vue
+
+```
+
+### Toolbar Props
+
+| 属性名 | 类型 | 默认值 | 说明 |
+|:-|:-|:-|:-|
+| show | Boolean | true | 是否展示工具条 |
+| showBorder | Boolean | false | 是否显示下边框 |
+| cancelText | String | '取消' | 取消按钮的文字 |
+| confirmText | String | '确定' | 确定按钮的文字 |
+| cancelColor | String | '#909193' | 取消按钮的颜色 |
+| confirmColor | String | '#3c9cff' | 确认按钮的颜色 |
+| title | String | - | 标题文字 |
+
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file