diff --git a/package-lock.json b/package-lock.json index 2d62d45..d329c90 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "animate.css": "^4.1.1", "echarts": "^5.5.0", "pinia": "2.0.36", + "pnpm": "^10.14.0", "sass": "^1.63.2", "uview-plus": "^3.4.9", "vue": "^3.2.45", @@ -51,7 +52,6 @@ "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-vue": "^9.16.1", "feng-uniapp-exploit": "^1.0.2", - "husky": "^8.0.0", "pinia-plugin-unistorage": "^0.0.17", "prettier": "^3.0.0", "sass-loader": "^10.4.1", @@ -7431,20 +7431,6 @@ "node": ">=10.17.0" } }, - "node_modules/husky": { - "version": "8.0.3", - "dev": true, - "license": "MIT", - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, "node_modules/iconv-lite": { "version": "0.4.24", "dev": true, @@ -9840,6 +9826,22 @@ "node": ">=4.0.0" } }, + "node_modules/pnpm": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/pnpm/-/pnpm-10.14.0.tgz", + "integrity": "sha512-rSenlkG0nD5IGhaoBbqnGBegS74Go40X5g4urug/ahRsamiBJfV5LkjdW6MOfaUqXNpMOZK5zPMz+c4iOvhHSA==", + "license": "MIT", + "bin": { + "pnpm": "bin/pnpm.cjs", + "pnpx": "bin/pnpx.cjs" + }, + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "dev": true, @@ -17687,10 +17689,6 @@ "version": "2.1.0", "dev": true }, - "husky": { - "version": "8.0.3", - "dev": true - }, "iconv-lite": { "version": "0.4.24", "dev": true, @@ -19191,6 +19189,11 @@ "pngjs": { "version": "3.4.0" }, + "pnpm": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/pnpm/-/pnpm-10.14.0.tgz", + "integrity": "sha512-rSenlkG0nD5IGhaoBbqnGBegS74Go40X5g4urug/ahRsamiBJfV5LkjdW6MOfaUqXNpMOZK5zPMz+c4iOvhHSA==" + }, "possible-typed-array-names": { "version": "1.1.0", "dev": true diff --git a/package.json b/package.json index 1e7c239..ba871c5 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,6 @@ "preinstall": "node ./auto/preinstall.js", "lint": "eslint --ext .ts,.js,.vue ./src", "fix": "eslint --fix --ext .ts,.js,.vue ./src", - "prepare": "husky install", "rm": "rm -rf node_modules package-lock.json pnpm-lock.yaml && pnpm install" }, "dependencies": { @@ -65,6 +64,7 @@ "animate.css": "^4.1.1", "echarts": "^5.5.0", "pinia": "2.0.36", + "pnpm": "^10.14.0", "sass": "^1.63.2", "uview-plus": "^3.4.9", "vue": "^3.2.45", @@ -88,7 +88,6 @@ "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-vue": "^9.16.1", "feng-uniapp-exploit": "^1.0.2", - "husky": "^8.0.0", "pinia-plugin-unistorage": "^0.0.17", "prettier": "^3.0.0", "sass-loader": "^10.4.1", diff --git a/src/api/index.ts b/src/api/index.ts index af2db7c..8d8f434 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -17,60 +17,60 @@ export function bannerList() { } //banner详情 -export function bannerInfo(id:string) { +export function bannerInfo(id: string) { return request.http({ - url: '/api/huiqitong/banner_info/'+id, + url: '/api/huiqitong/banner_info/' + id, method: 'GET' }) } //活动列表 -export function activityList(data:any) { +export function activityList(data: any) { return request.http({ url: '/api/huiqitong/activity_list', method: 'GET', - data + data }) } //活动详情 -export function activityInfo(id:string) { +export function activityInfo(id: string) { return request.http({ - url: '/api/huiqitong/activity_info/'+id, - method: 'GET', + url: '/api/huiqitong/activity_info/' + id, + method: 'GET' }) } //专题详情 export function specialInfo(id: string) { return request.http({ - url: '/api/huiqitong/special_info?special_id='+id, + url: '/api/huiqitong/special_info?special_id=' + id, method: 'GET' }) -} +} //专题内容列表 -export function specialList(id: string) { +export function specialList(data: any) { return request.http({ - url: '/api/huiqitong/special_list?special_id=1&page=1&limit=10', - method: 'GET' + url: '/api/huiqitong/special_list', + method: 'GET', + data }) -} +} //专题内容详情 export function specialListInfo(id: string) { return request.http({ - url: '/api/huiqitong/special_list_info/'+id, + url: '/api/huiqitong/special_list_info/' + id, method: 'GET' }) -} +} //ai客服 export function ai(data: any) { return request.http({ url: '/api/huiqitong/ai', method: 'POST', - data + data }) -} - +} diff --git a/src/api/learningCenter.ts b/src/api/learningCenter.ts index 151d597..ae1846c 100644 --- a/src/api/learningCenter.ts +++ b/src/api/learningCenter.ts @@ -9,63 +9,70 @@ export function myStudy() { } //学习中心列表 -export function studyCenter(recommend:string,title:string,type:string,page:string,limit:string) { +export function studyCenter(recommend: string, title: string, type: string, page: string, limit: string) { return request.http({ - url: '/api/huiqitong/study_center?recommend='+recommend+'&title='+title+'&s_type='+type+'&page='+page+'&limit='+limit, + url: '/api/huiqitong/study_center?recommend=' + recommend + '&title=' + title + '&s_type=' + type + '&page=' + page + '&limit=' + limit, method: 'GET' }) } //学习中心详情 -export function studyCenterDetail(id:string) { +export function studyCenterDetail(id: string) { return request.http({ - url: '/api/huiqitong/study_center/'+id, + url: '/api/huiqitong/study_center/' + id, method: 'GET' }) } //收藏学习 -export function collect(data:{item_id:string}) { +export function collect(data: { item_id: string }) { return request.http({ url: '/api/huiqitong/collect', method: 'POST', - data + data }) } //取消收藏 -export function removeCollect(data:{item_id:string}) { +export function removeCollect(data: { item_id: string }) { return request.http({ url: '/api/huiqitong/remove_collect', method: 'POST', - data + data }) } //增加观看次数 -export function watchCount(data:{id:string}) { +export function watchCount(data: { id: string }) { return request.http({ url: '/api/huiqitong/watch_count', method: 'POST', - data + data }) } //观看进度记录 -export function studyRecord(data:any) { +export function studyRecord(data: any) { return request.http({ url: '/api/huiqitong/study_record', method: 'POST', - data + data }) } //是否收藏 -export function isCollect(data:any) { +export function isCollect(data: any) { return request.http({ url: '/api/huiqitong/is_collect', method: 'POST', - data + data }) } +//学习中心分类 +export function studyCenterCategory() { + return request.http({ + url: '/api/huiqitong/study_center_category', + method: 'GET' + }) +} diff --git a/src/api/memberCenter.ts b/src/api/memberCenter.ts index 30e68fe..4b1004c 100644 --- a/src/api/memberCenter.ts +++ b/src/api/memberCenter.ts @@ -9,28 +9,28 @@ export function memberTagList() { } //会员列表 -export function memberCenter(data:any) { +export function memberCenter(data: any) { return request.http({ url: '/api/huiqitong/member_center', method: 'GET', - data + data }) } //会员详情 export function memberCenterInfo(id: string) { return request.http({ - url: '/api/huiqitong/member_center_info/'+id, + url: '/api/huiqitong/member_center_info/' + id, method: 'GET' }) } //入会申请 -export function memberApply(data:any) { +export function memberApply(data: any) { return request.http({ url: '/api/huiqitong/member_apply', method: 'POST', - data + data }) } @@ -38,8 +38,6 @@ export function memberApply(data:any) { export function myMemberApply() { return request.http({ url: '/api/huiqitong/my_member_apply', - method: 'POST', + method: 'POST' }) } - - diff --git a/src/api/mine.ts b/src/api/mine.ts index 7c5c53c..dac39a4 100644 --- a/src/api/mine.ts +++ b/src/api/mine.ts @@ -1,27 +1,26 @@ import { request } from '@/utils/http' //修改用户信息(单项) -export function modifyField(field:string,value:string) { +export function modifyField(field: string, value: string) { return request.http({ - url: '/api/huiqitong/modify/'+ field +'?value=' + value, + url: '/api/huiqitong/modify/' + field + '?value=' + value, method: 'PUT' }) } //修改用户信息(单项) -export function modifyField1(field:string,data:any) { +export function modifyField1(field: string, data: any) { return request.http({ - url: '/api/huiqitong/modify/'+ field, + url: '/api/huiqitong/modify/' + field, method: 'PUT', - data + data }) } //图片上传 -export function updataImage(data:any) { +export function updataImage(data: any) { return request.http({ url: '/api/file/image', method: 'POST', - data + data }) } - diff --git a/src/api/shop.ts b/src/api/shop.ts index 70c1731..40716ea 100644 --- a/src/api/shop.ts +++ b/src/api/shop.ts @@ -9,62 +9,62 @@ export function storeCategoryAll() { } //开店帮内容 -export function storeList(data:any) { +export function storeList(data: any) { return request.http({ url: '/api/huiqitong/store_list', method: 'GET', - data + data }) } //开店帮内容详情 -export function storeInfo(id:string) { +export function storeInfo(id: string) { return request.http({ - url: '/api/huiqitong/store_info/'+id, - method: 'GET', + url: '/api/huiqitong/store_info/' + id, + method: 'GET' }) } //金融帮信息列表 -export function financeList(data:any) { +export function financeList(data: any) { return request.http({ url: '/api/huiqitong/finance_list', method: 'GET', - data + data }) } //金融帮信息详情 -export function financeInfo(id:string) { +export function financeInfo(id: string) { return request.http({ - url: '/api/huiqitong/finance_info/'+id, + url: '/api/huiqitong/finance_info/' + id, method: 'GET' }) } //媒体帮列表 -export function mediumList(data:any) { +export function mediumList(data: any) { return request.http({ url: '/api/huiqitong/medium_list', method: 'GET', - data + data }) } //媒体帮内容详情 -export function mediumInfo(id:string) { +export function mediumInfo(id: string) { return request.http({ - url: '/api/huiqitong/medium_info/'+id, + url: '/api/huiqitong/medium_info/' + id, method: 'GET' }) } //发布需求 -export function mediumAdd(data:any) { +export function mediumAdd(data: any) { return request.http({ url: '/api/huiqitong/medium/add', method: 'POST', - data + data }) } @@ -77,66 +77,63 @@ export function myMedium() { } //发帖 -export function addPosts(data:any) { +export function addPosts(data: any) { return request.http({ url: '/api/huiqitong/posts/add', method: 'POST', - data + data }) } //帖子列表 -export function postsList(data:any) { +export function postsList(data: any) { return request.http({ url: '/api/huiqitong/posts/list', method: 'GET', - data + data }) } //评论帖子 -export function commentsPosts(data:any) { +export function commentsPosts(data: any) { return request.http({ url: '/api/huiqitong/posts/comments', method: 'POST', - data + data }) } //点赞/取消点赞 -export function likesPosts(data:any) { +export function likesPosts(data: any) { return request.http({ url: '/api/huiqitong/posts/likes', method: 'POST', - data + data }) } //评论列表 -export function commentsList(data:any) { +export function commentsList(data: any) { return request.http({ url: '/api/huiqitong/posts/comments/list', method: 'GET', - data + data }) } //是否点赞 -export function isLikes(data:any) { +export function isLikes(data: any) { return request.http({ url: '/api/huiqitong/posts/isLikes', method: 'POST', - data + data }) } //帖子详情 -export function postsInfo(id:any) { +export function postsInfo(id: any) { return request.http({ - url: '/api/huiqitong/posts/info/'+id, - method: 'GET', + url: '/api/huiqitong/posts/info/' + id, + method: 'GET' }) } - - - diff --git a/src/api/user.ts b/src/api/user.ts index 6668734..a7a1d96 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -17,14 +17,12 @@ export interface dateListtype extends listType { export function infoForOpenid() { return request.http({ url: '/api/huiqitong/member/info', - method: 'GET', + method: 'GET' }) } export function logout() { return request.http({ url: '/api/huiqitong/logout', - method: 'PUT', + method: 'PUT' }) } - - diff --git a/src/components/zh-scroll/interface.ts b/src/components/zh-scroll/interface.ts index 0f5140e..2781400 100644 --- a/src/components/zh-scroll/interface.ts +++ b/src/components/zh-scroll/interface.ts @@ -1,16 +1,16 @@ /* 左右联动props */ export interface ICateItem { - id: number; - name: string; - icon: string; - goods_list: IGood[]; - [key: string]: any; + id: number + name: string + icon: string + goods_list: IGood[] + [key: string]: any } export interface IGood { - id: number; - content: string; - name: string; - images: string; - [key: string]: any; -} \ No newline at end of file + id: number + content: string + name: string + images: string + [key: string]: any +} diff --git a/src/components/zh-scroll/zh-scroll.vue b/src/components/zh-scroll/zh-scroll.vue index daf73f5..b425017 100644 --- a/src/components/zh-scroll/zh-scroll.vue +++ b/src/components/zh-scroll/zh-scroll.vue @@ -1,420 +1,422 @@ \ No newline at end of file +page { + height: 100%; +} +.zh-wrapper { + height: calc(100% - 66rpx); + overflow: hidden; + width: 100%; + display: flex; + + .menus { + width: 200rpx; + height: 100%; + overflow: hidden; + background-color: #f1f3f9; + + .wrapper { + width: 100%; + height: 100%; + + .menu { + display: flex; + align-items: center; + justify-content: flex-start; + padding: 30rpx 20rpx; + font-size: 26rpx; + color: #3d3d3d; + position: relative; + + &:nth-last-child(1) { + margin-bottom: 130rpx; + } + + &.current { + background-color: #ffffff; + color: #0072ff; + } + + .dot { + position: absolute; + width: 34rpx; + height: 34rpx; + line-height: 34rpx; + font-size: 22rpx; + // background-color: $uni-color-primary; + color: #ffffff; + top: 16rpx; + right: 10rpx; + border-radius: 100%; + text-align: center; + } + .menutitle { + margin-left: 20rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + line-height: 32rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + } + .changeicon { + width: 20rpx; + height: 40rpx; + border-radius: 0rpx 32rpx 32rpx 0rpx; + /* 蓝色渐变 */ + background: linear-gradient(0deg, #007fff 0%, #99ccff 100%); + position: fixed; + left: 0; + } + } + } + } + + .goods { + flex: 1; + height: 100%; + overflow: hidden; + background-color: #ffffff; + + .wrapper { + width: 100%; + height: 100%; + padding: 20rpx; + + .list { + width: 100%; + font-size: 28rpx; + padding-bottom: 130rpx; + + .category { + width: 100%; + + .title { + padding: 10rpx 0; + display: flex; + align-items: center; + color: #0c092a; + + .icon { + width: 38rpx; + height: 38rpx; + } + .fristtitle { + margin-left: 20rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 530; + line-height: 48rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #0c092a; + } + } + } + + .items { + display: flex; + flex-direction: column; + padding-bottom: -30rpx; + + :deep(.good) { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 30rpx; + padding-left: 40rpx; + .name { + max-width: 100%; + margin-left: 10rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 300; + color: #606266; + overflow: hidden; /* 隐藏溢出内容 */ + white-space: nowrap; /* 禁止换行 */ + text-overflow: ellipsis; /* 显示省略号 */ + } + .icon { + width: 38rpx; + height: 38rpx; + } + .lefticon { + width: 16rpx; + height: 28rpx; + margin-right: 6rpx; + } + + // .image { + // width: 160rpx; + // height: 160rpx; + // margin-right: 20rpx; + // border-radius: 8rpx; + // } + + // .right { + // flex: 1; + // height: 160rpx; + // overflow: hidden; + // display: flex; + // flex-direction: column; + // align-items: flex-start; + // justify-content: space-between; + // padding-right: 14rpx; + + // .name { + // font-family: Source Han Sans; + // font-size: 28rpx; + // font-weight: 300; + // line-height: 48rpx; + // display: flex; + // align-items: center; + // letter-spacing: normal; + // color: #606266; + // } + + // .tips { + // width: 100%; + // height: 40rpx; + // line-height: 40rpx; + // overflow: hidden; + // text-overflow: ellipsis; + // white-space: nowrap; + // font-size: 28rpx; + // color: #606266; + // margin-bottom: 10rpx; + // } + + // .price_and_action { + // width: 100%; + // display: flex; + // justify-content: space-between; + // align-items: center; + + // .price { + // font-size: #606266; + // font-weight: 600; + // } + + // .btn-group { + // display: flex; + // justify-content: space-between; + // align-items: center; + // position: relative; + + // .btn { + // padding: 0 20rpx; + // box-sizing: border-box; + // font-size: 28rpx; + // height: 44rpx; + // line-height: 44rpx; + + // &.property_btn { + // border-radius: 24rpx; + // } + + // &.add_btn, + // &.reduce_btn { + // padding: 0; + // width: 44rpx; + // border-radius: 44rpx; + // } + // } + + // .dot { + // position: absolute; + // background-color: #ffffff; + // color: #606266; + // font-size: 28rpx; + // width: 36rpx; + // height: 36rpx; + // line-height: 36rpx; + // text-align: center; + // border-radius: 100%; + // right: -12rpx; + // top: -10rpx; + // } + + // .number { + // width: 44rpx; + // height: 44rpx; + // line-height: 44rpx; + // text-align: center; + // } + // } + // } + // } + } + } + } + } + } +} + diff --git a/src/main.ts b/src/main.ts index 89fb0f6..5fb9b4b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -7,20 +7,22 @@ import fengUniappExploit from 'feng-uniapp-exploit' import store from './store' export function createApp() { - const app = createSSRApp(App) - app.use(uviewPlus) - app.use(fengUniappExploit) - app.use(store) - app.mixin({ - onShareAppMessage() { // 分享给好友 - return { - title: '惠企帮', - path: '/pages/index/index', - } - }, - onShareTimeline() { // 分享朋友圈 - return { title: '惠企帮' } - } - }) - return { app } -} \ No newline at end of file + const app = createSSRApp(App) + app.use(uviewPlus) + app.use(fengUniappExploit) + app.use(store) + app.mixin({ + onShareAppMessage() { + // 分享给好友 + return { + title: '惠企帮', + path: '/pages/index/index' + } + }, + onShareTimeline() { + // 分享朋友圈 + return { title: '惠企帮' } + } + }) + return { app } +} diff --git a/src/pages/index/ChatDialog.vue b/src/pages/index/ChatDialog.vue index 594d7b4..bcca831 100644 --- a/src/pages/index/ChatDialog.vue +++ b/src/pages/index/ChatDialog.vue @@ -1,275 +1,285 @@ \ No newline at end of file +.dialog-container { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 999; +} + +.dialog-mask { + position: absolute; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); +} + +.dialog-content { + position: absolute; + width: 100%; + bottom: 0; + background: #e7f3ff; + box-sizing: border-box; + border: 2rpx solid #ffffff; + box-shadow: 0rpx -30rpx 20rpx 0rpx rgba(0, 0, 0, 0.2); + border-radius: 96rpx 0rpx 0rpx 0rpx; + display: flex; + flex-direction: column; +} + +.message-box { + padding: 30rpx 30rpx 10rpx 30rpx; + box-sizing: border-box; +} + +.message { + margin-bottom: 30rpx; + display: flex; +} + +.message.user { + justify-content: flex-end; +} + +.message.assistant { + justify-content: flex-start; +} + +.bubble { + max-width: 75%; + padding: 20rpx 30rpx; + border-radius: 10rpx; + background-color: aliceblue; +} + +.user { + .bubble { + background: #95ec69; + } + + .aicon { + width: 0; + height: 0; + } +} + +.assistant { + .aicon { + width: 64rpx; + } + + .bubble { + background: #ffffff; + margin-left: 20rpx; + + text { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 300; + line-height: 48rpx; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #000000; + } + } +} + +.input-box { + width: 100%; + position: fixed; + bottom: 0; + display: flex; + align-items: center; + padding: 25rpx; + box-sizing: border-box; + border-radius: 40rpx 40rpx 0rpx 0rpx; + background: #ffffff; + box-shadow: 0rpx -2rpx 12rpx 0rpx rgba(0, 0, 0, 0.05); +} + +input { + flex: 1; + padding: 16rpx 24rpx; + border: 2rpx solid #ddd; + border-radius: 8rpx; +} + +button { + margin-left: 20rpx; + padding: 0 30rpx; + background: #007aff; + color: white; + height: 70rpx; + display: flex; + align-items: center; +} + +.loading { + text-align: center; + color: #999; +} + +.cwtitle { + color: #007fff !important; +} + +.cwtxt { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 300; + line-height: 48rpx; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #666666; +} + +.inputbox { + height: 15%; + display: flex; + align-items: center; + justify-content: center; + padding: 20rpx; + border-radius: 40rpx 40rpx 0rpx 0rpx; + background: #ffffff; + box-shadow: 0rpx -2rpx 12rpx 0rpx rgba(0, 0, 0, 0.05); + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 300; + line-height: 48rpx; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #007fff; +} + +.butss { + width: 100%; + display: flex; + align-items: center; + justify-content: flex-end; + padding: 20rpx; +} + diff --git a/src/pages/index/active/activeDetail.vue b/src/pages/index/active/activeDetail.vue index 0f4f394..a1f51fc 100644 --- a/src/pages/index/active/activeDetail.vue +++ b/src/pages/index/active/activeDetail.vue @@ -1,158 +1,152 @@ \ No newline at end of file + .time { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 48rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + } + .ydl { + display: flex; + align-items: center; + .time { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 48rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + } + .value { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 48rpx; + text-align: right; + display: flex; + align-items: center; + letter-spacing: normal; + color: #007fff; + } + } + } + .certetime { + font-family: Roboto; + font-size: 28rpx; + font-weight: normal; + line-height: 80rpx; + letter-spacing: normal; + color: #a1a1a1; + } +} + diff --git a/src/pages/index/active/activelist.vue b/src/pages/index/active/activelist.vue index 336835f..474f2d3 100644 --- a/src/pages/index/active/activelist.vue +++ b/src/pages/index/active/activelist.vue @@ -1,182 +1,190 @@ \ No newline at end of file +.container { + background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); + height: 100vh; + width: 100%; + overflow-y: hidden; + + .main { + margin-top: 10rpx; + width: 100%; + height: 100%; + padding: 0 24rpx; + box-sizing: border-box; + + .ztone { + display: flex; + align-items: center; + width: 100%; + margin-top: 20rpx; + padding: 10rpx; + border-radius: 8rpx; + background: #ffffff; + box-sizing: border-box; + border: 2rpx solid rgba(0, 127, 255, 0.12); + + .rightpart { + width: 100%; + margin-left: 20rpx; + flex: 3; + display: grid; + + .titlepart { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + + .title { + font-family: Source Han Sans; + font-size: 20rpx; + font-weight: 300; + line-height: normal; + display: flex; + align-items: flex-end; + letter-spacing: normal; + color: #666666; + margin-top: 20rpx; + } + } + + .splace { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 500; + display: flex; + align-items: center; + letter-spacing: normal; + color: #0c092a; + } + + .ms { + margin-top: 8rpx; + font-family: Source Han Sans; + font-size: 20rpx; + font-weight: 300; + line-height: normal; + display: flex; + align-items: flex-end; + letter-spacing: normal; + color: #666666; + } + } + } + } +} + +.hdzq { + width: 182rpx; + height: 80rpx; + position: fixed; + right: 0; + top: 70%; + margin-right: -14rpx; +} + diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index a15bb8e..7cbfa26 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -1,71 +1,76 @@ \ No newline at end of file +.container { + background-color: #f1f3f9; + height: calc(100vh - 182rpx); + padding-bottom: 90rpx; + + :deep(.u-navbar__content__left__text) { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 300; + line-height: normal; + display: flex; + align-items: flex-end; + letter-spacing: normal; + color: #333333; + } + + :deep(.u-navbar__content__title) { + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 500; + line-height: normal; + display: flex; + align-items: flex-end; + letter-spacing: normal; + color: #333333; + } +} + +.indicator { + @include flex(row); + justify-content: center; + + &__dot { + height: 12rpx; + width: 12rpx; + border-radius: 200rpx; + background-color: rgba(255, 255, 255, 0.35); + margin: 0 10rpx; + transition: background-color 0.3s; + } + + .indicator__dotactive { + background-color: #ffffff; + } +} + +.box { + margin-top: -140rpx; + position: relative; + border-radius: 85rpx 85rpx 0 0; + background-color: #f1f3f9; + padding: 0 24rpx; + + .zuanti { + width: 100%; + height: 160rpx; + border-radius: 134rpx; + margin-top: 30rpx; + } + + .scroll-view_H { + margin-top: 30rpx; + white-space: nowrap; + width: 100%; + + .hdCard { + display: inline-block; + width: 248rpx; + height: 340rpx; + border-radius: 16rpx; + background: #ffffff; + margin-right: 20rpx; + + .img { + border-radius: 16rpx 16rpx 0 0; + width: 100%; + height: 196rpx; + } + + .message { + .title { + margin-left: 16rpx; + margin-top: 8rpx; + font-family: Source Han Sans; + font-size: 26rpx; + font-weight: 350; + /* 文本/正文 */ + color: #1d2129; + max-width: 180rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .time { + margin-left: 16rpx; + margin-top: 20rpx; + font-family: Source Han Sans; + font-size: 20rpx; + font-weight: 300; + color: #666666; + max-width: 180rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .splace { + margin-left: 16rpx; + margin-top: 8rpx; + font-family: Source Han Sans; + font-size: 20rpx; + font-weight: 300; + color: #666666; + max-width: 222rpx; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + } + } + } + + .smallshop { + margin-top: 40rpx; + width: 100%; + padding: 3%; + box-sizing: border-box; + height: 366rpx; + border-radius: 24rpx; + background-color: #ffffff; + + .xdb { + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 500; + line-height: normal; + display: flex; + align-items: center; + letter-spacing: normal; + color: #333333; + } + + .bangCart { + margin-top: 30rpx; + gap: 4%; + display: flex; + flex-wrap: wrap; + + .bangone1 { + flex: 1 1 45%; + height: 108rpx; + border-radius: 24rpx; + box-sizing: border-box; + border: 0.4rpx solid #007fff; + background: #edf5ff; + display: flex; + justify-content: space-around; + align-items: center; + } + + .bangone2 { + flex: 1 1 45%; + height: 108rpx; + border-radius: 24rpx; + box-sizing: border-box; + border: 0.4rpx solid #ff2228; + background: #fff1f3; + display: flex; + justify-content: space-around; + align-items: center; + } + + .bangone3 { + margin-top: 20rpx; + flex: 1 1 45%; + height: 108rpx; + border-radius: 24rpx; + box-sizing: border-box; + border: 0.4rpx solid #fd8702; + background: #ffe7ce; + display: flex; + justify-content: space-around; + align-items: center; + } + + .bangone4 { + margin-top: 20rpx; + flex: 1 1 45%; + height: 108rpx; + border-radius: 24rpx; + box-sizing: border-box; + border: 0.4rpx solid #08b4bd; + background: #e5feff; + display: flex; + justify-content: space-around; + align-items: center; + } + + .btext { + margin-left: 32rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + line-height: normal; + text-align: center; + letter-spacing: normal; + /* 文本/正文 */ + color: #1a1a1a; + } + } + } + + .buttonCard { + margin-top: 40rpx; + width: 100%; + height: 192rpx; + border-radius: 24rpx; + background-color: #ffffff; + display: flex; + justify-content: center; + align-items: center; + gap: 64rpx; + + .but { + display: grid; + justify-items: center; + + .butext { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: normal; + letter-spacing: normal; + /* 文本/正文 */ + color: #1a1a1a; + margin-top: 8rpx; + } + } + } + + .hylist { + width: 100%; + display: grid; + justify-content: center; + + .hyCard { + border: 2rpx solid #f1f3f9; + margin-top: 24rpx; + width: 100%; + border-radius: 24rpx; + background: #ffffff; + display: flex; + align-items: center; + justify-content: space-between; + box-sizing: border-box; + padding: 20rpx 28rpx; + + .left { + display: flex; + align-items: center; + box-sizing: border-box; + + .textpart { + margin-left: 32rpx; + display: grid; + justify-content: left; + + .namepart { + display: flex; + align-items: center; + box-sizing: border-box; + + .name { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 350; + line-height: 150%; + letter-spacing: normal; + /* 外部/Neutral/Black */ + color: #0c092a; + } + + .biaoq { + padding: 10rpx; + height: 28rpx; + border-radius: 0rpx 4rpx 20rpx 0rpx; + margin-left: 16rpx; + font-family: YouSheBiaoTiHei; + font-size: 24rpx; + font-weight: normal; + display: flex; + align-items: center; + letter-spacing: normal; + color: #ffffff; + text-shadow: 0rpx 4rpx 4rpx rgba(0, 0, 0, 0.2); + } + } + + .company { + margin-top: 12rpx; + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 300; + line-height: 150%; + letter-spacing: normal; + /* 外部/Neutral/Grey 2 */ + color: #858494; + } + } + } + } + } +} + +.tjback { + margin-top: 40rpx; + background: #ffffff; + border-radius: 24rpx; + padding: 20rpx 30rpx; + box-sizing: border-box; + width: 100%; +} +.titlebox { + margin-top: 20rpx; + width: 100%; + display: inline-flex; + justify-content: space-between; + align-items: center; + + .left { + display: flex; + align-items: center; + + .text { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 500; + line-height: normal; + display: flex; + align-items: center; + letter-spacing: normal; + color: #333333; + } + } + + .more { + font-family: Source Han Sans; + font-size: 22rpx; + font-weight: 300; + line-height: normal; + text-align: right; + display: flex; + align-items: center; + letter-spacing: normal; + color: #007fff; + } +} + +.xzs1 { + width: 298rpx; + height: 148rpx; + position: fixed; + background-image: url(@/static/img/xzs.png); + background-size: 100% 100%; + font-size: 32rpx; + color: #ffffff; + padding: 0 0 20rpx 90rpx; + display: flex; + align-items: center; + justify-content: center; + // top: 70%; +} + +.xzs { + width: 80rpx; + // position: fixed; + // right: -24rpx; + // top: 70%; +} +.showtitle { + position: relative; + top: -102rpx; + left: -137rpx; + background-image: url(@/static/img/aiback.png); + background-size: 100% 100%; + padding: 20rpx 10rpx; + .tit { + white-space: nowrap; + color: #2563eb; + font-size: 28rpx; + display: flex; + } +} + diff --git a/src/pages/index/shoppage/financialAssistance.vue b/src/pages/index/shoppage/financialAssistance.vue index 1f5a3d0..4bf05f5 100644 --- a/src/pages/index/shoppage/financialAssistance.vue +++ b/src/pages/index/shoppage/financialAssistance.vue @@ -1,199 +1,203 @@ \ No newline at end of file +.container { + background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); + height: calc(100vh - 178rpx); + width: 100%; + overflow-y: hidden; + .hyonne { + max-height: calc(100vh - 350rpx); + overflow-y: auto; + } + .main { + margin-top: 10rpx; + width: 100%; + height: 100%; + padding: 0 24rpx; + box-sizing: border-box; + overflow-y: hidden; + + .ztone { + display: flex; + align-items: center; + width: 100%; + height: 210rpx; + margin-top: 30rpx; + padding: 30rpx; + border-radius: 20rpx; + background: #ffffff; + box-sizing: border-box; + border: 2rpx solid rgba(0, 127, 255, 0.12); + + .rightpart { + width: 100%; + margin-left: 40rpx; + flex: 3; + display: grid; + + .titlepart { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + + .title { + font-family: Poppins; + font-size: 24rpx; + font-weight: 600; + line-height: 34rpx; + letter-spacing: normal; + /* 外部/Colors/Dark/Base 1 */ + color: #161719; + margin-top: 13rpx; + } + } + + .splace { + font-family: Poppins; + font-size: 24rpx; + font-weight: normal; + line-height: 34rpx; + letter-spacing: normal; + /* 外部/Colors/Dark/Base 1 */ + color: #161719; + } + + .ms { + margin-top: 13rpx; + font-family: Poppins; + font-size: 20rpx; + font-weight: normal; + line-height: 28rpx; + letter-spacing: normal; + /* 外部/Colors/Light/Base 3 */ + color: #91919f; + } + } + } + } +} + +.hdzq { + width: 212rpx; + height: 86rpx; + position: fixed; + right: 0; + top: 70%; + margin-right: -14rpx; +} + diff --git a/src/pages/index/shoppage/interactiveDetail.vue b/src/pages/index/shoppage/interactiveDetail.vue index 1ceceae..9323973 100644 --- a/src/pages/index/shoppage/interactiveDetail.vue +++ b/src/pages/index/shoppage/interactiveDetail.vue @@ -1,354 +1,359 @@ \ No newline at end of file +.container { + overflow-y: hidden; + background-color: #ffffff; + height: calc(100vh - 182rpx); + width: 100%; + box-sizing: border-box; + + .cardbox { + .dhone { + margin-top: 30rpx; + width: 100%; + padding: 40rpx; + display: grid; + align-items: center; + box-sizing: border-box; + background: #ffffff; + + .head { + display: flex; + align-items: center; + + .namepart { + margin-left: 20rpx; + display: grid; + + .name { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 26rpx; + letter-spacing: normal; + color: #0c092a; + } + + .date { + margin-top: 18rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 30rpx; + letter-spacing: normal; + color: #858494; + } + } + } + + .pl { + margin-top: 24rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + text-align: justify; + /* 浏览器可能不支持 */ + letter-spacing: normal; + color: #0c092a; + } + + .bottom { + margin-top: 20rpx; + display: flex; + align-items: center; + justify-content: space-between; + + .left { + display: flex; + align-items: center; + + .value { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 350; + line-height: 72rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + } + } + + .right { + display: flex; + align-items: center; + + .value { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 350; + line-height: 72rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + } + } + } + } + } + + .ypl { + width: 100%; + border-radius: 8rpx; + background: #f8f9fa; + padding: 24rpx; + margin-top: 22rpx; + + .head { + display: flex; + align-items: center; + justify-content: space-between; + + .left { + display: flex; + align-items: center; + + .name { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 26rpx; + letter-spacing: normal; + color: #333333; + } + } + + .right { + display: flex; + align-items: center; + + .value { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 350; + line-height: 20rpx; + letter-spacing: normal; + color: #858494; + } + } + } + + .pl { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 350; + line-height: normal; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #0c092a; + } + } +} + +.plpart { + position: fixed; + bottom: 0; + width: 100%; + padding: 20px 15px; + box-sizing: border-box; + display: flex; + align-items: center; + + .textarea { + } + + .butt { + margin-left: 10px; + padding: 9px 8px; + box-sizing: border-box; + background-color: #5ac725; + border-radius: 5px; + color: #ffffff; + } +} + diff --git a/src/pages/index/shoppage/interactiveZone.vue b/src/pages/index/shoppage/interactiveZone.vue index e63670e..d7bc4d7 100644 --- a/src/pages/index/shoppage/interactiveZone.vue +++ b/src/pages/index/shoppage/interactiveZone.vue @@ -1,343 +1,344 @@ \ No newline at end of file +.container { + background-color: #f1f3f9; + height: calc(100vh - 96px); + overflow: hidden; + width: 100%; + + .cardbox { + max-height: calc(100vh - 150px); + + .dhone { + margin-top: 30rpx; + width: 100%; + padding: 40rpx; + display: grid; + align-items: center; + box-sizing: border-box; + background: #ffffff; + + .head { + display: flex; + align-items: center; + + .namepart { + margin-left: 20rpx; + display: grid; + + .name { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 26rpx; + letter-spacing: normal; + color: #0c092a; + } + + .date { + margin-top: 18rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 30rpx; + letter-spacing: normal; + color: #858494; + } + } + } + + .pl { + margin-top: 24rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + text-align: justify; + /* 浏览器可能不支持 */ + letter-spacing: normal; + color: #0c092a; + } + + .bottom { + margin-top: 20rpx; + display: flex; + align-items: center; + justify-content: space-between; + + .left { + display: flex; + align-items: center; + + .value { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 350; + line-height: 72rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + } + } + + .right { + display: flex; + align-items: center; + + .value { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 350; + line-height: 72rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + } + } + } + } + } + + .ypl { + width: 100%; + border-radius: 8rpx; + background: #f8f9fa; + padding: 24rpx; + margin-top: 22rpx; + + .head { + display: flex; + align-items: center; + justify-content: space-between; + + .left { + display: flex; + align-items: center; + + .name { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 26rpx; + letter-spacing: normal; + color: #333333; + } + } + + .right { + display: flex; + align-items: center; + + .value { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 350; + line-height: 20rpx; + letter-spacing: normal; + color: #858494; + } + } + } + + .pl { + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 350; + line-height: normal; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #0c092a; + } + } +} + +.hdzq { + width: 108rpx; + height: 108rpx; + position: fixed; + right: 0; + top: 75%; +} + diff --git a/src/pages/index/shoppage/jrbDetail.vue b/src/pages/index/shoppage/jrbDetail.vue index f1a0970..aa1c186 100644 --- a/src/pages/index/shoppage/jrbDetail.vue +++ b/src/pages/index/shoppage/jrbDetail.vue @@ -1,106 +1,100 @@ \ No newline at end of file +.container { + background-color: #ffffff; + height: calc(100vh - 182rpx); + width: 100%; + padding: 40rpx 40rpx 0 40rpx; + box-sizing: border-box; + .titlepart { + margin-top: 40rpx; + display: flex; + align-items: center; + .icon { + width: 12rpx; + height: 32rpx; + border-radius: 0rpx 32rpx 32rpx 0rpx; + /* 蓝色渐变 */ + background: linear-gradient(0deg, #007fff 0%, #99ccff 100%); + } + .title { + margin-left: 18rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + line-height: 32rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #0072ff; + } + } + .message { + margin-top: 36rpx; + font-family: Source Han Sans; + font-size: 32rpx; + font-weight: 300; + line-height: 60rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + } + .people { + margin-top: 28rpx; + display: flex; + .text { + font-family: Source Han Sans; + font-size: 32rpx; + font-weight: 300; + line-height: 60rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + } + } +} + diff --git a/src/pages/index/shoppage/makeAssistance.vue b/src/pages/index/shoppage/makeAssistance.vue index 423661e..bc89e3f 100644 --- a/src/pages/index/shoppage/makeAssistance.vue +++ b/src/pages/index/shoppage/makeAssistance.vue @@ -1,162 +1,174 @@ \ No newline at end of file +.placlass { + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + line-height: 40rpx; + display: flex; + align-items: center; + letter-spacing: normal; + color: #d3d3d3; +} + diff --git a/src/pages/index/shoppage/mediaDetail.vue b/src/pages/index/shoppage/mediaDetail.vue index 062d708..9b6c2f8 100644 --- a/src/pages/index/shoppage/mediaDetail.vue +++ b/src/pages/index/shoppage/mediaDetail.vue @@ -1,170 +1,174 @@ \ No newline at end of file +.container { + background-color: #ffffff; + height: calc(100vh - 182rpx); + width: 100%; + .main { + width: 100%; + margin-top: -200rpx; + .head { + width: 100%; + display: grid; + justify-items: center; + .toux { + width: 316rpx; + height: 316rpx; + box-sizing: border-box; + border-radius: 50%; + /* White */ + border: 8rpx solid #ffffff; + box-shadow: 0rpx 8rpx 40rpx 0rpx rgba(101, 101, 101, 0.15); + } + .name { + margin-top: 32rpx; + font-family: Inter; + font-size: 60rpx; + font-weight: 520; + line-height: 84rpx; + text-align: center; + letter-spacing: normal; + color: #000000; + } + .type { + margin-top: 4rpx; + font-family: Inter; + font-size: 32rpx; + font-weight: 500; + line-height: 44rpx; + text-align: center; + letter-spacing: normal; + color: #858494; + } + } + .content { + padding: 0 40rpx; + box-sizing: border-box; + padding-bottom: 100rpx; + } + } + .titlepart { + margin-top: 40rpx; + display: flex; + align-items: center; + .icon { + width: 12rpx; + height: 32rpx; + border-radius: 0rpx 32rpx 32rpx 0rpx; + /* 蓝色渐变 */ + background: linear-gradient(0deg, #007fff 0%, #99ccff 100%); + } + .title { + margin-left: 18rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + line-height: 32rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #0072ff; + } + } + .message { + margin-top: 36rpx; + font-family: Source Han Sans; + font-size: 32rpx; + font-weight: 300; + line-height: 60rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + } + .people { + margin-top: 28rpx; + display: flex; + .text { + font-family: Source Han Sans; + font-size: 32rpx; + font-weight: 300; + line-height: 60rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + } + } +} + diff --git a/src/pages/index/shoppage/mediaHelp.vue b/src/pages/index/shoppage/mediaHelp.vue index 30628e2..6137649 100644 --- a/src/pages/index/shoppage/mediaHelp.vue +++ b/src/pages/index/shoppage/mediaHelp.vue @@ -1,257 +1,256 @@ \ No newline at end of file + .button { + width: 574rpx; + height: 96rpx; + border-radius: 248rpx; + background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 500; + line-height: 32rpx; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #ffffff; + display: flex; + align-items: center; + justify-content: center; + } +} + diff --git a/src/pages/index/shoppage/mtbmakeMessage.vue b/src/pages/index/shoppage/mtbmakeMessage.vue index 84da5b6..27323dc 100644 --- a/src/pages/index/shoppage/mtbmakeMessage.vue +++ b/src/pages/index/shoppage/mtbmakeMessage.vue @@ -1,332 +1,361 @@ \ No newline at end of file +.u-form-item__body__left__content__label { + white-space: nowrap; +} + diff --git a/src/pages/index/shoppage/shopHelp.vue b/src/pages/index/shoppage/shopHelp.vue index 5b97592..81b9a26 100644 --- a/src/pages/index/shoppage/shopHelp.vue +++ b/src/pages/index/shoppage/shopHelp.vue @@ -1,73 +1,77 @@ \ No newline at end of file +.hdzq { + width: 212rpx; + height: 86rpx; + position: fixed; + right: 0; + top: 70%; + margin-right: -14rpx; +} + diff --git a/src/pages/index/shoppage/shophelpDetail.vue b/src/pages/index/shoppage/shophelpDetail.vue index 7c12b39..eb7f090 100644 --- a/src/pages/index/shoppage/shophelpDetail.vue +++ b/src/pages/index/shoppage/shophelpDetail.vue @@ -1,153 +1,147 @@ \ No newline at end of file + .message { + margin-top: 40rpx; + } +} + diff --git a/src/pages/index/specialSubject.vue b/src/pages/index/specialSubject.vue index 1647532..2d09bcb 100644 --- a/src/pages/index/specialSubject.vue +++ b/src/pages/index/specialSubject.vue @@ -1,8 +1,7 @@ \ No newline at end of file +.u-box__right-top { + max-height: 50%; + overflow-y: hidden; +} + +.u-box__right-bottom { + max-height: 50%; + overflow-y: hidden; +} + diff --git a/src/pages/index/tabsComm.vue b/src/pages/index/tabsComm.vue index 93d4e66..ccdb79c 100644 --- a/src/pages/index/tabsComm.vue +++ b/src/pages/index/tabsComm.vue @@ -1,40 +1,30 @@ diff --git a/src/pages/index/ztdetail.vue b/src/pages/index/ztdetail.vue index b81ae70..e651a90 100644 --- a/src/pages/index/ztdetail.vue +++ b/src/pages/index/ztdetail.vue @@ -1,86 +1,83 @@ diff --git a/src/pages/learningCenter/detail.vue b/src/pages/learningCenter/detail.vue index 6afac70..82f3fe1 100644 --- a/src/pages/learningCenter/detail.vue +++ b/src/pages/learningCenter/detail.vue @@ -1,250 +1,246 @@ \ No newline at end of file +.pagebox { + height: 100vh; + + .vidoepart { + .myVideo { + width: 100vw; + } + } + + .main { + padding: 30rpx 40rpx; + box-sizing: border-box; + + .peopnum { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 40rpx; + + .left { + display: flex; + align-items: center; + + .txt { + margin-left: 8rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + /* 观看人数: */ + color: #858494; + } + + .num { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + /* 观看人数: */ + color: #007fff; + } + } + } + + .shqy { + display: grid; + + .head { + margin-top: 48rpx; + display: flex; + align-items: center; + + .text { + margin-left: 18rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #0072ff; + } + } + + .cards { + margin-top: 32rpx; + display: flex; + flex-wrap: wrap; + gap: 20rpx; + + .card { + flex: 0 1 calc(50% - 13rpx); + height: 144rpx; + border-radius: 24rpx; + background: #fafdff; + box-sizing: border-box; + border: 8rpx solid #dbedff; + display: grid; + justify-items: center; + align-items: center; + + .lcxb { + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: normal; + letter-spacing: normal; + color: #007fff; + } + + .bz { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 350; + line-height: 32rpx; + letter-spacing: normal; + color: #858494; + } + } + } + } + + .title { + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 350; + line-height: 80rpx; + letter-spacing: normal; + color: #0c092a; + } + + .message { + margin-top: 40rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 300; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + line-height: 60rpx; + } + } +} + diff --git a/src/pages/learningCenter/index.vue b/src/pages/learningCenter/index.vue index 28da632..e66090f 100644 --- a/src/pages/learningCenter/index.vue +++ b/src/pages/learningCenter/index.vue @@ -1,400 +1,406 @@ \ No newline at end of file +.u-search { + margin: 20rpx 0rpx 0 0 !important; +} + +.u-search__content { + background-color: #ffffff !important; + border-radius: 16rpx !important; + height: 90rpx !important; +} + +.u-search__content__input { + background-color: #ffffff !important; +} + diff --git a/src/pages/learningCenter/useTimeDiff.js b/src/pages/learningCenter/useTimeDiff.js index 6f7619b..1412c08 100644 --- a/src/pages/learningCenter/useTimeDiff.js +++ b/src/pages/learningCenter/useTimeDiff.js @@ -1,31 +1,27 @@ - -import { ref, onMounted, onUnmounted } from 'vue'; +import { ref, onMounted, onUnmounted } from 'vue' export default function useTimeDiff(targetDateStr) { - const days = ref(0); - const hours = ref(0); - const minutes = ref(0); - - const calculateDiff = () => { - const targetDate = new Date(targetDateStr.replace(/-/g, '/')); - const now = new Date(); - const diffMs = now - targetDate; - - days.value = Math.max(0, Math.floor(diffMs / 86400000)); - hours.value = Math.max(0, Math.floor((diffMs % 86400000) / 3600000)); - minutes.value = Math.max(0, Math.floor((diffMs % 3600000) / 60000)); - }; + const days = ref(0) + const hours = ref(0) + const minutes = ref(0) + const calculateDiff = () => { + const targetDate = new Date(targetDateStr.replace(/-/g, '/')) + const now = new Date() + const diffMs = now - targetDate + days.value = Math.max(0, Math.floor(diffMs / 86400000)) + hours.value = Math.max(0, Math.floor((diffMs % 86400000) / 3600000)) + minutes.value = Math.max(0, Math.floor((diffMs % 3600000) / 60000)) + } - let timer; - - onMounted(() => { - calculateDiff(); - timer = setInterval(calculateDiff, 60000); - }); + let timer + onMounted(() => { + calculateDiff() + timer = setInterval(calculateDiff, 60000) + }) - onUnmounted(() => { - clearInterval(timer); - }); + onUnmounted(() => { + clearInterval(timer) + }) - return { days, hours, minutes }; + return { days, hours, minutes } } diff --git a/src/pages/login/login.vue b/src/pages/login/login.vue index 74bb11f..e72c002 100644 --- a/src/pages/login/login.vue +++ b/src/pages/login/login.vue @@ -1,122 +1,124 @@ \ No newline at end of file + .logo-img { + width: 220rpx; + margin-bottom: 60rpx; + } +} +.btn_box { + margin-top: 60rpx; +} +.backindex { + margin-top: 20px; +} + diff --git a/src/pages/memberCenter/index.vue b/src/pages/memberCenter/index.vue index edb363a..20fcb64 100644 --- a/src/pages/memberCenter/index.vue +++ b/src/pages/memberCenter/index.vue @@ -1,250 +1,267 @@ \ No newline at end of file +.container { + background: linear-gradient(0deg, #f1f3f9 72%, rgba(129, 179, 222, 0.5) 88%); + height: 100vh; + width: 100%; + overflow-y: auto; + + .main { + width: 100%; + display: grid; + padding: 0 24rpx; + box-sizing: border-box; + overflow-y: hidden; + + .hyCard { + margin-top: 24rpx; + width: 100%; + height: 160rpx; + border-radius: 24rpx; + background: #ffffff; + display: flex; + align-items: center; + justify-content: space-between; + box-sizing: border-box; + padding: 0 20rpx; + + .left { + display: flex; + align-items: center; + box-sizing: border-box; + + .textpart { + margin-left: 32rpx; + display: grid; + justify-content: left; + + .namepart { + display: flex; + align-items: center; + box-sizing: border-box; + + .name { + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + line-height: 150%; + letter-spacing: normal; + /* 外部/Neutral/Black */ + color: #0c092a; + } + + .biaoq { + padding: 10rpx; + height: 40.5rpx; + border-radius: 0rpx 4rpx 20rpx 0rpx; + margin-left: 16rpx; + font-family: YouSheBiaoTiHei; + font-size: 24rpx; + font-weight: normal; + display: flex; + align-items: center; + letter-spacing: normal; + color: #ffffff; + text-shadow: 0rpx 4rpx 4rpx rgba(0, 0, 0, 0.2); + } + } + + .company { + margin-top: 12rpx; + font-family: Source Han Sans; + font-size: 24rpx; + font-weight: 300; + line-height: 150%; + letter-spacing: normal; + /* 外部/Neutral/Grey 2 */ + color: #858494; + } + } + } + } + } + + :deep(.u-icon__icon) { + color: #007fff !important; + } +} + +.hdzq { + width: 182rpx; + height: 80rpx; + position: fixed; + right: 0; + top: 70%; + margin-right: -14rpx; +} + diff --git a/src/pages/memberCenter/inpart.vue b/src/pages/memberCenter/inpart.vue index 2116592..335fec5 100644 --- a/src/pages/memberCenter/inpart.vue +++ b/src/pages/memberCenter/inpart.vue @@ -1,501 +1,522 @@ \ No newline at end of file +.u-input { + background-color: #ffffff; + height: 100rpx !important; +} + +.u-form-item__body__left__content__label { + white-space: nowrap; +} + diff --git a/src/pages/mine/associatedDetail.vue b/src/pages/mine/associatedDetail.vue index 1e7316a..2ca3a57 100644 --- a/src/pages/mine/associatedDetail.vue +++ b/src/pages/mine/associatedDetail.vue @@ -1,93 +1,88 @@ \ No newline at end of file +.container { + background-color: #ffffff; + height: calc(100vh - 182rpx); + width: 100%; + padding: 40rpx 40rpx 0 40rpx; + box-sizing: border-box; + .titlepart { + margin-top: 40rpx; + display: flex; + align-items: center; + .icon { + width: 12rpx; + height: 32rpx; + border-radius: 0rpx 32rpx 32rpx 0rpx; + /* 蓝色渐变 */ + background: linear-gradient(0deg, #007fff 0%, #99ccff 100%); + } + .title { + margin-left: 18rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 350; + line-height: 32rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #0072ff; + } + } + .texttitle { + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: normal; + letter-spacing: normal; + color: #0c092a; + } + .message { + margin-top: 36rpx; + font-family: Source Han Sans; + font-size: 30rpx; + font-weight: 300; + line-height: 60rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + } + .people { + margin-top: 28rpx; + display: flex; + .text { + font-family: Source Han Sans; + font-size: 32rpx; + font-weight: 300; + line-height: 60rpx; + text-align: justify; /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #3d3d3d; + } + } +} + diff --git a/src/pages/mine/associatedEnterprise.vue b/src/pages/mine/associatedEnterprise.vue index 494a587..b0a526d 100644 --- a/src/pages/mine/associatedEnterprise.vue +++ b/src/pages/mine/associatedEnterprise.vue @@ -1,86 +1,72 @@ \ No newline at end of file + .text { + margin-top: 24rpx; + font-family: Source Han Sans; + font-size: 20rpx; + font-weight: 350; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + } + } +} + diff --git a/src/pages/mine/completeInformation.vue b/src/pages/mine/completeInformation.vue index ac88777..27cc519 100644 --- a/src/pages/mine/completeInformation.vue +++ b/src/pages/mine/completeInformation.vue @@ -1,284 +1,295 @@ \ No newline at end of file +:deep(.u-upload) { + .u-upload__wrap { + view { + width: 100%; + } + } +} + diff --git a/src/pages/mine/index.vue b/src/pages/mine/index.vue index 3e27551..0ec72c2 100644 --- a/src/pages/mine/index.vue +++ b/src/pages/mine/index.vue @@ -1,189 +1,188 @@ \ No newline at end of file + .but { + margin-top: 160rpx; + width: 574rpx; + height: 96rpx; + border-radius: 248rpx; + background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); + display: flex; + align-items: center; + justify-content: center; + font-family: Source Han Sans; + font-size: 36rpx; + font-weight: 500; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #ffffff; + } + } + } +} + diff --git a/src/pages/mine/myApplication.vue b/src/pages/mine/myApplication.vue index 81fb1f0..08b7e1c 100644 --- a/src/pages/mine/myApplication.vue +++ b/src/pages/mine/myApplication.vue @@ -1,196 +1,181 @@ \ No newline at end of file +.classbox { + height: 100vh; + background: #ffffff; + padding: 40rpx 34rpx; + box-sizing: border-box; + overflow-y: auto; + + .pass { + width: 100%; + + .head { + width: 100%; + height: 72rpx; + display: flex; + align-items: center; + background: #007fff; + font-family: Lato; + font-size: 32rpx; + font-weight: normal; + display: flex; + align-items: center; + letter-spacing: 0.76rpx; + /* System Background Primary Light */ + color: #ffffff; + padding-left: 32rpx; + box-sizing: border-box; + } + + .main { + background: #f1f3f9; + padding: 5rpx 16rpx 24rpx 16rpx; + box-sizing: border-box; + border-radius: 0rpx 0rpx 24rpx 24rpx; + } + } + + .reject { + margin-top: 40rpx; + width: 100%; + + .head { + width: 100%; + height: 72rpx; + display: flex; + align-items: center; + background: #ffc36f; + font-family: Lato; + font-size: 32rpx; + font-weight: normal; + display: flex; + align-items: center; + letter-spacing: 0.76rpx; + /* System Background Primary Light */ + color: #ffffff; + padding-left: 32rpx; + box-sizing: border-box; + } + + .main { + background: #f1f3f9; + padding: 5rpx 16rpx 24rpx 16rpx; + box-sizing: border-box; + border-radius: 0rpx 0rpx 24rpx 24rpx; + } + } +} + +.classone { + width: 100%; + border-radius: 16rpx; + background: #ffffff; + display: grid; + align-items: center; + padding: 16rpx 32rpx; + margin-top: 20rpx; + box-sizing: border-box; + + .title { + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 300; + display: flex; + align-items: center; + letter-spacing: 0.76rpx; + color: #0c092a; + } + + .jindu { + margin-top: 16rpx; + width: 100%; + display: flex; + align-items: center; + + .time { + font-family: Lato; + font-size: 20rpx; + font-weight: normal; + display: flex; + align-items: center; + letter-spacing: normal; + color: #858494; + margin-left: 16rpx; + } + } + .result { + margin-top: 12rpx; + font-family: Source Han Sans; + font-size: 28rpx; + font-weight: 300; + display: flex; + align-items: center; + letter-spacing: 0.76rpx; + color: #fe0000; + } +} + diff --git a/src/pages/mine/myCourses.vue b/src/pages/mine/myCourses.vue index d1ca744..fbcb4c2 100644 --- a/src/pages/mine/myCourses.vue +++ b/src/pages/mine/myCourses.vue @@ -1,104 +1,101 @@ diff --git a/src/pages/mine/porsonalinfo.vue b/src/pages/mine/porsonalinfo.vue index 8065606..5da8b90 100644 --- a/src/pages/mine/porsonalinfo.vue +++ b/src/pages/mine/porsonalinfo.vue @@ -1,381 +1,373 @@ \ No newline at end of file + .jujue { + width: 180rpx; + height: 70rpx; + border-radius: 10rpx; + background: #dadada; + font-family: Source Han Sans; + font-size: 28rpx; + text-align: justify; + /* 浏览器可能不支持 */ + display: flex; + align-items: center; + letter-spacing: normal; + color: #393939; + display: flex; + align-items: center; + justify-content: center; + } + } +} + diff --git a/src/static/img/aiback.png b/src/static/img/aiback.png new file mode 100644 index 0000000..1d58234 Binary files /dev/null and b/src/static/img/aiback.png differ diff --git a/src/static/img/aiimg.png b/src/static/img/aiimg.png new file mode 100644 index 0000000..b8a0d40 Binary files /dev/null and b/src/static/img/aiimg.png differ diff --git a/src/static/img/hdzq.png b/src/static/img/hdzq.png index 267c1cd..b44f8f2 100644 Binary files a/src/static/img/hdzq.png and b/src/static/img/hdzq.png differ diff --git a/src/static/img/xzs.png b/src/static/img/xzs.png index 67bb292..958beed 100644 Binary files a/src/static/img/xzs.png and b/src/static/img/xzs.png differ diff --git a/src/static/tabbar/index_select.png b/src/static/tabbar/index_select.png index 71421fa..5dc4c2c 100644 Binary files a/src/static/tabbar/index_select.png and b/src/static/tabbar/index_select.png differ diff --git a/src/store/user.ts b/src/store/user.ts index 8548063..9188b9f 100644 --- a/src/store/user.ts +++ b/src/store/user.ts @@ -5,104 +5,102 @@ import { getOpenid } from '@/api/login' import { infoForOpenid, logout } from '@/api/user' interface userInfoStoreInt { - [n : string] : any + [n: string]: any } export default defineStore( - getPrefixName('user'), - () => { - const openId = ref('') - const mobile = ref('') - const showtoast = ref(false) - const userInfo = ref({}) - const cometype = ref(0) + getPrefixName('user'), + () => { + const openId = ref('') + const mobile = ref('') + const showtoast = ref(false) + const userInfo = ref({}) + const cometype = ref(0) - function getopenid(params : { code : string }) { - return new Promise((resolve, reject) => { - getOpenid(params) - .then((res : any) => { - openId.value = res.data.openid - resolve({ code: 1, message: '登录成功~' }) - }) - .catch((err) => { - reject(err) - }) - }) - } + function getopenid(params: { code: string }) { + return new Promise((resolve, reject) => { + getOpenid(params) + .then((res: any) => { + openId.value = res.data.openid + resolve({ code: 1, message: '登录成功~' }) + }) + .catch((err) => { + reject(err) + }) + }) + } - function getUserInfo() { - return new Promise((resolve, reject) => { - infoForOpenid() - .then((res : any) => { - const { data } = res as { data : userInfoStoreInt } - userInfo.value = data || {} - resolve({ code: 1, data, message: 'SUCCESS' }) - }) - .catch((err) => { - reject(err) - }) + function getUserInfo() { + return new Promise((resolve, reject) => { + infoForOpenid() + .then((res: any) => { + const { data } = res as { data: userInfoStoreInt } + userInfo.value = data || {} + resolve({ code: 1, data, message: 'SUCCESS' }) + }) + .catch((err) => { + reject(err) + }) + }) + } - }) - } + function logOut() { + if (uni.getStorageSync('access_token') === '') { + uni.navigateTo({ + url: '/pages/login/login' + }) + } else { + userInfo.value = {} + uni.clearStorageSync() + const res = logout() + console.log(res, uni.getStorageSync('access_token')) + uni.showToast({ + icon: 'none', + title: '退出成功', + mask: true, + success() { + setTimeout(() => uni.navigateTo({ url: 'pages/login/login' }), 1000) + } + }) + } + } - function logOut() { - if(uni.getStorageSync('access_token') === '') { - uni.navigateTo({ - url: '/pages/login/login' - }) - } else { - userInfo.value = {} - uni.clearStorageSync() - const res = logout() - console.log(res,uni.getStorageSync('access_token')); + return { + openId, + mobile, + showtoast, + userInfo, + getopenid, + getUserInfo, + logOut, + cometype + } + }, + { + unistorage: { + serializer: { + // 序列化,默认为 JSON.stringify + serialize(v) { + return JSON.stringify(v) + }, + // 反序列化,默认为 JSON.parse + deserialize(v) { + return JSON.parse(v) + } + } + } // 开启后对 state 的数据读写都将持久化 + // unistorage: { + // key: 'userInfo', // 缓存的键,默认为该 store 的 id,这里是 main, + // paths: ['userInfo.token'], // 需要缓存的路径,这里设置 foo 和 nested 下的 data 会被缓存 + // // 初始化恢复前触发 + // beforeRestore(ctx: any) { + // console.log(ctx) + // }, + // // 初始化恢复后触发 + // afterRestore(ctx: any) { + // console.log('ctx', ctx) + // }, - uni.showToast({ - icon: 'none', - title: '退出成功', - mask: true, - success() { - setTimeout(() => uni.navigateTo({ url: 'pages/login/login' }), 1000) - } - }) - } - } - - return { - openId, - mobile, - showtoast, - userInfo, - getopenid, - getUserInfo, - logOut, - cometype - } - }, - { - unistorage: { - serializer: { - // 序列化,默认为 JSON.stringify - serialize(v) { - return JSON.stringify(v) - }, - // 反序列化,默认为 JSON.parse - deserialize(v) { - return JSON.parse(v) - } - } - } // 开启后对 state 的数据读写都将持久化 - // unistorage: { - // key: 'userInfo', // 缓存的键,默认为该 store 的 id,这里是 main, - // paths: ['userInfo.token'], // 需要缓存的路径,这里设置 foo 和 nested 下的 data 会被缓存 - // // 初始化恢复前触发 - // beforeRestore(ctx: any) { - // console.log(ctx) - // }, - // // 初始化恢复后触发 - // afterRestore(ctx: any) { - // console.log('ctx', ctx) - // }, - - // }, - } -) \ No newline at end of file + // }, + } +) diff --git a/src/utils/http.ts b/src/utils/http.ts index 543391e..9b44518 100644 --- a/src/utils/http.ts +++ b/src/utils/http.ts @@ -28,10 +28,10 @@ export const request = { url = import.meta.env.VITE_APP_BASE_URL + url // #endif - const header = Object.assign({ 'content-type': 'application/json', - Authorization: '', - 'token': uni.getStorageSync('access_token') || '', - }, headers) + const header = Object.assign( + { 'content-type': 'application/json', Authorization: '', token: uni.getStorageSync('access_token') || '' }, + headers + ) uni.request({ url, @@ -45,10 +45,10 @@ export const request = { case 1: resolve(res.data) break - case 401: - uni.showToast({ title: data.msg, icon: 'none', mask: true }) - uni.removeStorageSync('access_token') - break + case 401: + uni.showToast({ title: data.msg, icon: 'none', mask: true }) + uni.removeStorageSync('access_token') + break default: uni.showToast({ title: data.msg, icon: 'none', mask: true }) reject(res.data)