新增页面

This commit is contained in:
阿怪 2023-10-19 23:23:22 +08:00
parent aa47166ae7
commit 12c2e7667e
47 changed files with 1716 additions and 54 deletions

View File

@ -13,7 +13,7 @@
}
</script>
<style scoped lang="scss">
<style lang="scss">
/*每个页面公共css */
.page-bg-gray{
background: rgb(248, 248, 248);

View File

@ -9,6 +9,9 @@ const API = {
userinfoUpdae:data => net.PUT('/user/info',data), // 更新用户信息
// 首页
getHospitalList:data => net.GET('/hospital/list',data), // 获取医院信息
// 百科
getArticleList:data => net.GET("/article/list",data),// 百科列表
getArticleDetail:data => net.GET("/article/"+data.id),// 百科列表
/*
首页信息

View File

@ -1,6 +1,6 @@
// isdev 为 true 表示开发环境 false 表示发布环境
const isdev = true;
const baseUrl = isdev ? 'http://2580c89.r18.cpolar.top/' : 'http://niunai.zhitou1688.com';// 办公室接口 & 测试环境
const baseUrl = isdev ? 'https://62bafc5f.r16.cpolar.top' : 'http://niunai.zhitou1688.com';// 办公室接口 & 测试环境
// const baseUrl = isdev ? 'http://192.168.1.133:8899' : 'https://api.gwkjxb.com';// 办公室接口 & 正式环境
// const baseUrl = 'https://api.gwkjxb.com';// 正式环境(由于本地测试后台没有启动,暂时通用正式服)

View File

@ -9,7 +9,14 @@
{
"path": "pages/wikipedia/index",
"style": {
"navigationBarTitleText": "百科"
"navigationBarTitleText": "百科",
"enablePullDownRefresh": true
}
},{
"path": "pages/wikipedia/detail",
"style": {
"navigationBarTitleText": "文章详情"
// "enablePullDownRefresh": true
}
},
{
@ -17,12 +24,36 @@
"style": {
"navigationBarTitleText": "我的"
}
},{
"path": "pages/user/userInfo",
"style": {
"navigationBarTitleText": "个人资料"
}
},
{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "登录"
}
},
{
"path": "pages/user/star",
"style": {
"navigationBarTitleText": "我的收藏",
"enablePullDownRefresh": true
}
},
{
"path": "pages/user/setting",
"style": {
"navigationBarTitleText": "设置"
}
},
{
"path": "pages/user/feedback",
"style": {
"navigationBarTitleText": "问题反馈"
}
}
],
"globalStyle": {

View File

@ -227,6 +227,7 @@
}
.page-box{
padding: 20rpx;
min-height: unset;
}
.content {
display: flex;

44
pages/user/feedback.vue Normal file
View File

@ -0,0 +1,44 @@
<script setup>
import { onLoad } from "@dcloudio/uni-app"
// import mySwiper from "@/components/mySwiper.vue"
import {ref,onMounted,nextTick} from "vue"
import {useStore} from '@/store/index.js'
import api from "@/api/index.js"
</script>
<template>
<view class="feedbackBox">
<view class="writeBox">
<textarea class="textarea" v-model="txt"></textarea>
</view>
<view class="btn-part">
<view class="btn">提交</view>
</view>
</view>
</template>
<style scoped lang="scss">
.feedbackBox{
padding: 20rpx;
.writeBox{
border: 2rpx solid #e2e2e2;
border-radius: 10rpx;
textarea{
width: 100%;
padding: 20rpx;
}
}
.btn-part{
position: fixed;
bottom: 40rpx;
width: 100%;
text-align: center;
.btn{
display: inline-block;
background-color: #26758d;
color: white;
padding: 20rpx 40rpx;
width: 50%;
border-radius: 20rpx;
}
}
}
</style>

View File

@ -77,21 +77,127 @@
url:"/pages/login/login"
})
}
function toDetail(type) {
let url = ''
switch(type){
case 1:
url= ' '
break;
case 2: //
url= './star'
break;
case 3: //
url= './setting'
break;
case 4: //
url= './feedback'
break;
default:
url= ' '
break;
}
uni.navigateTo({
url
})
}
function toUserInfo() {
uni.navigateTo({
url:"/pages/user/userInfo"
})
}
</script>
<template>
<view class="user-box page-box">
<view class="userinfo-box">
<view class="userinfo-box" @tap="toUserInfo">
<image :src="is_login?avatar:'../../static/avatar.png'" mode=""></image>
<view class="">
<view class="" style="font-weight: 900;font-size: 40rpx;">
{{is_login?userinfo.nickname:'未登录'}}
</view>
<uni-icons style="position: absolute;right:20rpx;top: 40%;" v-if="is_login" type="forward" color="white" size="20"></uni-icons>
</view>
<view class="btn-box" @tap="toLogin" v-if="!is_login">
<view class="btn">登录</view>
</view>
<view class="row-box" v-else>
<view class="rb-card" @tap="toDetail(1)" style="margin-bottom: 10px;">
<!-- <view class="rbc-title">手术历程</view> -->
<view class="rbc-content rbc-content-box">
<view class="rbc-content-row rbc-content-left">
<uni-icons type="calendar" color="gray" size="30"></uni-icons>
<view>已完成事项</view>
</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="notification" color="gray" size="30"></uni-icons>
<view>未完成事项</view>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(2)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<uni-icons type="star" color="gray" size="30"></uni-icons>
我的收藏</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(3)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<uni-icons type="gear" color="gray" size="30"></uni-icons>
设置</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(4)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<uni-icons type="chatbubble" color="gray" size="30"></uni-icons>
问题反馈</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
</view>
</view>
</template>
<style scoped lang="scss">
.rbc-content-left-box{
uni-icons{
margin-right: 20rpx;
}
display: flex;
align-items: center;
}
.row-box{
padding: 20rpx 0;
.rb-card{
padding: 20rpx;
background: white;
.rbc-title{
}
.rbc-content-box{
margin-top: 10rpx;
.rbc-content-row{
width: 50%;
text-align: center;
// padding: 40rpx 20rpx;
// box-shadow: 10rpx 10rpx 10rpx #cdcdcd;
border-radius: 10rpx;
}
}
.rbc-content{
display: flex;
align-items: center;
justify-content: space-between;
}
}
}
.btn-box{
text-align: center;
margin-top: 40rpx;
@ -105,6 +211,7 @@
}
}
.userinfo-box{
position: relative;
image{
width: 120rpx;
height: 120rpx;
@ -118,4 +225,7 @@
align-items: center;
padding: 40rpx 20rpx;
}
.user-box{
background: #f6f6f6;
}
</style>

160
pages/user/setting.vue Normal file
View File

@ -0,0 +1,160 @@
<script setup>
import { onLoad } from "@dcloudio/uni-app"
// import mySwiper from "@/components/mySwiper.vue"
import {ref,onMounted,nextTick} from "vue"
import {useStore} from '@/store/index.js'
import api from "@/api/index.js"
onLoad(() => {
// console.log(useStore.userInfo)
userinfo.value = JSON.parse(uni.getStorageSync('userInfo'))
// console.log(userinfo.value)
avatar.value = uni.getStorageSync('avatarUrl')
})
const userinfo = ref(null)
const avatar = ref(null)
//
function toDetail(type) {
}
</script>
<template>
<view class="userInfoBox page-box page-bg-gray">
<view class="row-box">
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<!-- <uni-icons type="person" color="gray" size="26"></uni-icons> -->
用户协议</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<!-- <uni-icons type="phone" color="gray" size="26"></uni-icons> -->
隐私政策摘要</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<!-- <uni-icons type="calendar" color="gray" size="26"></uni-icons> -->
个人信息手机清单</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<!-- <uni-icons type="paperplane" color="gray" size="26"></uni-icons> -->
关于我们</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<!-- <uni-icons type="paperplane" color="gray" size="26"></uni-icons> -->
退出账号</view>
<view class="rbc-content-row rbc-content-right">
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
</view>
</view>
</template>
<style scoped lang="scss">
.avatar-box{
display: flex;
align-items: center;
justify-content: space-around;
width: 100%;
padding: 20rpx 0;
background: #26758d;
image{
width: 160rpx;
height: 160rpx;
background-color: white;
border-radius: 50%;
}
}
.rbc-content-right{
display: flex;
align-items: center;
background: white;
border-radius: 50%;
}
.rbc-content-left-box{
uni-icons{
margin-right: 20rpx;
}
display: flex;
align-items: center;
}
.row-box{
padding: 20rpx 0;
.rb-card{
padding: 20rpx;
background: white;
margin-bottom: 2rpx;
.rbc-title{
}
.rbc-content-box{
margin-top: 10rpx;
.rbc-content-row{
width: 50%;
text-align: center;
// padding: 40rpx 20rpx;
// box-shadow: 10rpx 10rpx 10rpx #cdcdcd;
border-radius: 10rpx;
}
}
.rbc-content{
display: flex;
align-items: center;
justify-content: space-between;
}
}
}
.btn-box{
text-align: center;
margin-top: 40rpx;
.btn{
display: inline-block;
padding: 10px 20px;
background: #e2e2e2;
color: #26758d;
border-radius: 10px;
width: 50%;
}
}
.userinfo-box{
position: relative;
image{
width: 120rpx;
height: 120rpx;
border-radius: 50%;
background: white;
margin-right: 20rpx;
}
color: white;
background-color: #26758d;
display: flex;
align-items: center;
padding: 40rpx 20rpx;
}
.user-box{
background: #f6f6f6;
}
</style>

94
pages/user/star.vue Normal file
View File

@ -0,0 +1,94 @@
<script setup>
import { onLoad,onPullDownRefresh,onReachBottom } from "@dcloudio/uni-app"
// import mySwiper from "@/components/mySwiper.vue"
import {ref,onMounted,nextTick} from "vue"
import {useStore} from '@/store/index.js'
import api from "@/api/index.js"
//
onPullDownRefresh(()=> { //
})
onReachBottom(() => { //
})
//
const list = ref([
{
id:1,
cover_img:'https://gwjxb.oss-cn-chengdu.aliyuncs.com/logo.png',
title:'金秋相逢 共叙合作',
reading_num:100,
content:`
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
},
{
id:2,
cover_img:'https://ms.bdimg.com/pacific/0/pic/1083217647_-478899572.png?x=0&y=0&h=340&w=510&vh=340.00&vw=510.00&oh=340.00&ow=510.00',
title:'金秋相逢 共叙合作',
reading_num:100,
content:`
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
}
])
//
function toDetail(item) {
let info = encodeURIComponent(JSON.stringify(item))
// console.log(info)
uni.navigateTo({
url:"/pages/wikipedia/detail?info="+info+"&id="+item.id
})
}
</script>
<template>
<view class="starBox page-box page-bg-gray">
<view class="list-box">
<view class="lb-card" v-for="(item,i) in list" @tap="toDetail(item)">
<view class="lb-left">
<image :src="item.cover_img" mode="aspectFill"></image>
</view>
<view class="lb-right">
<view class="lb-title">{{item.title}}</view>
<view class="lb-content text-ellipsis-1 small-text">{{item.content}}</view>
</view>
</view>
</view>
</view>
</template>
<style scoped lang="scss">
.starBox{
}
.starBox{
.list-box{
.lb-card{
display: flex;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #eaeaea;
.lb-left{
image{
width: 120rpx;
height: 120rpx;
margin-right: 20rpx;
}
}
.lb-right{
display: flex;
flex-direction: column;
justify-content: space-between;
.lb-title{
font-weight: 900;
font-size:32rpx ;
margin-bottom: 20rpx;
}
}
}
}
}
</style>

157
pages/user/userInfo.vue Normal file
View File

@ -0,0 +1,157 @@
<script setup>
import { onLoad } from "@dcloudio/uni-app"
// import mySwiper from "@/components/mySwiper.vue"
import {ref,onMounted,nextTick} from "vue"
import {useStore} from '@/store/index.js'
import api from "@/api/index.js"
onLoad(() => {
// console.log(useStore.userInfo)
userinfo.value = JSON.parse(uni.getStorageSync('userInfo'))
console.log(userinfo.value)
avatar.value = uni.getStorageSync('avatarUrl')
})
const userinfo = ref(null)
const avatar = ref(null)
//
function toDetail(type) {
}
</script>
<template>
<view class="userInfoBox page-box page-bg-gray">
<view class="avatar-box">
<image :src="avatar" mode="aspectFill"></image>
</view>
<view class="row-box">
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<uni-icons type="person" color="gray" size="26"></uni-icons>
姓名</view>
<view class="rbc-content-row rbc-content-right">
{{userinfo?.nickname}}
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<uni-icons type="phone" color="gray" size="26"></uni-icons>
电话</view>
<view class="rbc-content-row rbc-content-right">
{{userinfo?.phone}}
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<uni-icons type="calendar" color="gray" size="26"></uni-icons>
手术时间</view>
<view class="rbc-content-row rbc-content-right">
2023-10-1
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
<view class="rb-card" @tap="toDetail(1)">
<view class="rbc-content">
<view class="rbc-content-row rbc-content-left rbc-content-left-box">
<uni-icons type="paperplane" color="gray" size="26"></uni-icons>
手术医院</view>
<view class="rbc-content-row rbc-content-right">
金山医院
<uni-icons type="forward" color="gray" size="20"></uni-icons>
</view>
</view>
</view>
</view>
</view>
</template>
<style scoped lang="scss">
.avatar-box{
display: flex;
align-items: center;
justify-content: space-around;
width: 100%;
padding: 20rpx 0;
background: #26758d;
image{
width: 160rpx;
height: 160rpx;
background-color: white;
border-radius: 50%;
}
}
.rbc-content-right{
display: flex;
align-items: center;
background: white;
border-radius: 50%;
}
.rbc-content-left-box{
uni-icons{
margin-right: 20rpx;
}
display: flex;
align-items: center;
}
.row-box{
padding: 20rpx 0;
.rb-card{
padding: 20rpx;
background: white;
margin-bottom: 2rpx;
.rbc-title{
}
.rbc-content-box{
margin-top: 10rpx;
.rbc-content-row{
width: 50%;
text-align: center;
// padding: 40rpx 20rpx;
// box-shadow: 10rpx 10rpx 10rpx #cdcdcd;
border-radius: 10rpx;
}
}
.rbc-content{
display: flex;
align-items: center;
justify-content: space-between;
}
}
}
.btn-box{
text-align: center;
margin-top: 40rpx;
.btn{
display: inline-block;
padding: 10px 20px;
background: #e2e2e2;
color: #26758d;
border-radius: 10px;
width: 50%;
}
}
.userinfo-box{
position: relative;
image{
width: 120rpx;
height: 120rpx;
border-radius: 50%;
background: white;
margin-right: 20rpx;
}
color: white;
background-color: #26758d;
display: flex;
align-items: center;
padding: 40rpx 20rpx;
}
.user-box{
background: #f6f6f6;
}
</style>

View File

@ -0,0 +1,58 @@
<script setup>
//
// import uniDatetimePicker from '@/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue'
// import uniEasyinput from '@/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue'
import { onLoad } from "@dcloudio/uni-app"
// import mySwiper from "@/components/mySwiper.vue"
import {ref,onMounted,nextTick} from "vue"
import {useStore} from '@/store/index.js'
import api from "@/api/index.js"
onLoad((e) => {
console.log(e)
a_info.value = JSON.parse(decodeURIComponent(e.info))
if(!e.id) {
uni.showToast({
icon:"error",
title:"错误",
duration:2000
})
a_info.value = null
return
}
getDetail(e.id)
})
//
// const content = ref(null)
const a_info = ref(null)
//
async function getDetail(id) {
const res = await api.getArticleDetail({id})
}
</script>
<template>
<view class="detailBox">
<view class="title">
{{a_info?.title}}
</view>
<view class="more-info small-text">2023-10-5</view>
<view class="d-content" v-html="a_info?.content"></view>
</view>
</template>
<style scoped lang="scss">
.detailBox{
.more-info{
text-align: right;
margin-bottom: 10rpx;
}
.title{
font-size: 32rpx;
font-weight: 900;
margin-bottom: 20rpx;
text-align: center;
}
padding: 40rpx;
.d-content{
line-height: 50rpx;
}
}
</style>

View File

@ -1,8 +1,118 @@
<template>
</template>
<script>
<script setup>
//
// import uniDatetimePicker from '@/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue'
// import uniEasyinput from '@/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue'
import { onLoad,onPullDownRefresh,onReachBottom } from "@dcloudio/uni-app"
// import mySwiper from "@/components/mySwiper.vue"
import {ref,onMounted,nextTick} from "vue"
import {useStore} from '@/store/index.js'
import api from "@/api/index"
//
onLoad(() => {
getList()
})
//
onPullDownRefresh(()=>{
init()
getList()
// setTimeout(function () {
// uni.stopPullDownRefresh();
// }, 1000);
})
//
onReachBottom(()=>{
queryParams.value.page ++
getList()
})
//
const queryParams = ref({
page:1,
pageSize:10
})
const list = ref([
{
id:1,
cover_img:'https://gwjxb.oss-cn-chengdu.aliyuncs.com/logo.png',
title:'金秋相逢 共叙合作',
reading_num:100,
content:`
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
},
{
id:2,
cover_img:'https://ms.bdimg.com/pacific/0/pic/1083217647_-478899572.png?x=0&y=0&h=340&w=510&vh=340.00&vw=510.00&oh=340.00&ow=510.00',
title:'金秋相逢 共叙合作',
reading_num:100,
content:`
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
}
])
//
function init() {
queryParams.page = 1
queryParams.pageSize = 10
}
async function getList(){
const res = await api.getArticleList(queryParams.value)
}
function toDetail(item) {
let info = encodeURIComponent(JSON.stringify(item))
// console.log(info)
uni.navigateTo({
url:"./detail?info="+info+"&id="+item.id
})
}
</script>
<template>
<view class="articleBox page-box">
<view class="userInfoBox">
<style>
</view>
<view class="list-box">
<view class="lb-card" v-for="(item,i) in list" @tap="toDetail(item)">
<view class="lb-left">
<image :src="item.cover_img" mode="aspectFill"></image>
</view>
<view class="lb-right">
<view class="lb-title">{{item.title}}</view>
<view class="lb-content text-ellipsis-1 small-text">{{item.content}}</view>
</view>
</view>
</view>
</view>
</template>
<style scoped lang="scss">
.articleBox{
.list-box{
.lb-card{
display: flex;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #eaeaea;
.lb-left{
image{
width: 120rpx;
height: 120rpx;
margin-right: 20rpx;
}
}
.lb-right{
display: flex;
flex-direction: column;
justify-content: space-between;
.lb-title{
font-weight: 900;
font-size:32rpx ;
margin-bottom: 20rpx;
}
}
}
}
}
</style>

View File

@ -13,6 +13,11 @@ const API = {
// 首页
getHospitalList: (data) => api_request.net.GET("/hospital/list", data),
// 获取医院信息
// 百科
getArticleList: (data) => api_request.net.GET("/article/list", data),
// 百科列表
getArticleDetail: (data) => api_request.net.GET("/article/" + data.id),
// 百科列表
/*
首页信息
*/

View File

@ -4,8 +4,13 @@ const common_vendor = require("./common/vendor.js");
if (!Math) {
"./pages/index/index.js";
"./pages/wikipedia/index.js";
"./pages/wikipedia/detail.js";
"./pages/user/index.js";
"./pages/user/userInfo.js";
"./pages/login/login.js";
"./pages/user/star.js";
"./pages/user/setting.js";
"./pages/user/feedback.js";
}
const _sfc_main = {
onLaunch: function() {
@ -18,7 +23,7 @@ const _sfc_main = {
console.log("App Hide");
}
};
const App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f13b4d11"], ["__file", "F:/项目2023/视力表/vision-record/App.vue"]]);
const App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "F:/项目2023/视力表/vision-record/App.vue"]]);
function createApp() {
const app = common_vendor.createSSRApp(App);
app.use(common_vendor.createPinia());

View File

@ -2,8 +2,13 @@
"pages": [
"pages/index/index",
"pages/wikipedia/index",
"pages/wikipedia/detail",
"pages/user/index",
"pages/login/login"
"pages/user/userInfo",
"pages/login/login",
"pages/user/star",
"pages/user/setting",
"pages/user/feedback"
],
"window": {
"navigationBarTextStyle": "white",

View File

@ -556,21 +556,21 @@
/* 透明度 */
/* 文章场景相关 */
/*每个页面公共css */
.page-bg-gray.data-v-f13b4d11 {
.page-bg-gray {
background: #f8f8f8;
}
.page-box.data-v-f13b4d11 {
.page-box {
/* height: 100%;
overflow: scroll; */
min-height: 100%;
}
uni-page-body.data-v-f13b4d11, page.data-v-f13b4d11 {
uni-page-body, page {
height: 100%;
}
page.data-v-f13b4d11 {
page {
font-size: 28rpx;
}
.text-ellipsis-1.data-v-f13b4d11 {
.text-ellipsis-1 {
/*超出部分省略号 单行*/
overflow: hidden;
text-overflow: ellipsis;
@ -579,45 +579,45 @@ page.data-v-f13b4d11 {
-webkit-box-orient: vertical;
/* min-height: 38rpx; */
}
.icon-custom.data-v-f13b4d11 {
.icon-custom {
width: 32rpx;
height: 32rpx;
}
.small-text.data-v-f13b4d11 {
.small-text {
color: gray !important;
font-size: 24rpx;
font-weight: 100 !important;
}
.bold-text.data-v-f13b4d11 {
.bold-text {
font-weight: 600;
font-size: 36rpx;
}
.margin-line.data-v-f13b4d11 {
.margin-line {
height: 20rpx;
width: 100%;
background-color: #f8f8f8;
}
.clearCss.data-v-f13b4d11 {
.clearCss {
opacity: 0 !important;
}
.shim.data-v-f13b4d11 {
.shim {
/* 垫片 */
width: 100%;
height: 140rpx;
}
.big-text.data-v-f13b4d11 {
.big-text {
font-size: 80rpx;
/* font-weight: 600; */
}
.red-text.data-v-f13b4d11 {
.red-text {
color: red;
}
.line.data-v-f13b4d11 {
.line {
height: 2rpx;
width: 100%;
background-color: #e7e7e7;
}
.num-show.data-v-f13b4d11 {
.num-show {
position: absolute;
width: 40rpx;
height: 40rpx;
@ -633,40 +633,40 @@ page.data-v-f13b4d11 {
}
/* 通用卡片样式 */
.u-card.data-v-f13b4d11 {
.u-card {
background-color: white;
}
.u-card .u-card-row.data-v-f13b4d11:last-child {
.u-card .u-card-row:last-child {
border-bottom: unset;
}
.u-card .u-card-row.data-v-f13b4d11 {
.u-card .u-card-row {
padding: 40rpx;
border-bottom: 2rpx solid #e7e7e7;
}
.u-card .u-card-row .u-card-row-btn.data-v-f13b4d11 {
.u-card .u-card-row .u-card-row-btn {
color: #086EC7;
}
.u-card .u-card-row .u-card-row-top.data-v-f13b4d11, .u-card .u-card-row .u-card-row-content.data-v-f13b4d11 {
.u-card .u-card-row .u-card-row-top, .u-card .u-card-row .u-card-row-content {
display: flex;
align-items: center;
justify-content: space-between;
}
.u-card .u-card-row .u-card-row-top.data-v-f13b4d11 {
.u-card .u-card-row .u-card-row-top {
padding-bottom: 40rpx;
}
.u-card .u-card-row .u-card-row-top .u-card-right .u-card-right-btn.data-v-f13b4d11 {
.u-card .u-card-row .u-card-row-top .u-card-right .u-card-right-btn {
color: #7cc4e8;
}
.u-card .u-card-row .u-card-row-content .u-card-right.data-v-f13b4d11 {
.u-card .u-card-row .u-card-row-content .u-card-right {
display: flex;
}
.popup-content.data-v-f13b4d11 {
.popup-content {
padding-top: 40rpx;
background-color: white;
border-radius: 20rpx 20rpx 0 0;
overflow: scroll;
}
.small-btn-css.data-v-f13b4d11 {
.small-btn-css {
background: #7CC4E8;
color: white;
padding: 6rpx 40rpx;
@ -676,22 +676,22 @@ page.data-v-f13b4d11 {
margin-left: 10rpx;
position: relative;
}
.cancel-btn.data-v-f13b4d11 {
.cancel-btn {
display: block;
margin-top: 20rpx;
}
.cancel-btn .add-btn.data-v-f13b4d11 {
.cancel-btn .add-btn {
background: white !important;
color: black !important;
border: 2rpx solid #7cc4e8 !important;
}
.invalidCss.data-v-f13b4d11 {
.invalidCss {
background-color: #767676 !important;
}
.data-v-f13b4d11 .uni-popup__wrapper {
.uni-popup__wrapper {
bottom: -34px;
}
.data-v-f13b4d11 .popup-content {
.popup-content {
bottom: -34px;
padding-bottom: 34px;
background-color: white;

View File

@ -7723,6 +7723,8 @@ const createHook = (lifecycle) => (hook, target = getCurrentInstance()) => {
};
const onShow = /* @__PURE__ */ createHook(ON_SHOW);
const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
const onReachBottom = /* @__PURE__ */ createHook(ON_REACH_BOTTOM);
const onPullDownRefresh = /* @__PURE__ */ createHook(ON_PULL_DOWN_REFRESH);
exports._export_sfc = _export_sfc;
exports.createPinia = createPinia;
exports.createSSRApp = createSSRApp;
@ -7734,6 +7736,8 @@ exports.initVueI18n = initVueI18n;
exports.n = n;
exports.o = o;
exports.onLoad = onLoad;
exports.onPullDownRefresh = onPullDownRefresh;
exports.onReachBottom = onReachBottom;
exports.onShow = onShow;
exports.p = p;
exports.ref = ref;

View File

@ -1,6 +1,6 @@
"use strict";
const isdev = true;
const baseUrl = "http://2580c89.r18.cpolar.top/";
const baseUrl = "https://62bafc5f.r16.cpolar.top";
const shareUrl = "https://h5.gwkjxb.com/";
const teacher_admin_url = "http://teacher.gwkjxb.com/#/login";
const config = {

View File

@ -115,6 +115,7 @@
}
.page-box.data-v-1cf27b2a {
padding: 20rpx;
min-height: unset;
}
.content.data-v-1cf27b2a {
display: flex;

View File

@ -0,0 +1,19 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
require("../../store/index.js");
require("../../api/index.js");
require("../../api/request.js");
require("../../config/index.js");
const _sfc_main = {
__name: "feedback",
setup(__props) {
return (_ctx, _cache) => {
return {
a: _ctx.txt,
b: common_vendor.o(($event) => _ctx.txt = $event.detail.value)
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-fff60cbe"], ["__file", "F:/项目2023/视力表/vision-record/pages/user/feedback.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "问题反馈",
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="feedbackBox data-v-fff60cbe"><view class="writeBox data-v-fff60cbe"><block wx:if="{{r0}}"><textarea class="textarea data-v-fff60cbe" value="{{a}}" bindinput="{{b}}"></textarea></block></view><view class="btn-part data-v-fff60cbe"><view class="btn data-v-fff60cbe">提交</view></view></view>

View File

@ -0,0 +1,50 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.feedbackBox.data-v-fff60cbe {
padding: 20rpx;
}
.feedbackBox .writeBox.data-v-fff60cbe {
border: 2rpx solid #e2e2e2;
border-radius: 10rpx;
}
.feedbackBox .writeBox textarea.data-v-fff60cbe {
width: 100%;
padding: 20rpx;
}
.feedbackBox .btn-part.data-v-fff60cbe {
position: fixed;
bottom: 40rpx;
width: 100%;
text-align: center;
}
.feedbackBox .btn-part .btn.data-v-fff60cbe {
display: inline-block;
background-color: #26758d;
color: white;
padding: 20rpx 40rpx;
width: 50%;
border-radius: 20rpx;
}

View File

@ -5,6 +5,14 @@ const utils_index = require("../../utils/index.js");
require("../../api/index.js");
require("../../api/request.js");
require("../../config/index.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = {
__name: "index",
setup(__props) {
@ -26,14 +34,96 @@ const _sfc_main = {
url: "/pages/login/login"
});
}
function toDetail(type) {
let url = "";
switch (type) {
case 1:
url = " ";
break;
case 2:
url = "./star";
break;
case 3:
url = "./setting";
break;
case 4:
url = "./feedback";
break;
default:
url = " ";
break;
}
common_vendor.index.navigateTo({
url
});
}
function toUserInfo() {
common_vendor.index.navigateTo({
url: "/pages/user/userInfo"
});
}
return (_ctx, _cache) => {
return common_vendor.e({
a: is_login.value ? avatar.value : "../../static/avatar.png",
b: common_vendor.t(is_login.value ? userinfo.value.nickname : "未登录"),
c: !is_login.value
c: is_login.value
}, is_login.value ? {
d: common_vendor.p({
type: "forward",
color: "white",
size: "20"
})
} : {}, {
e: common_vendor.o(toUserInfo),
f: !is_login.value
}, !is_login.value ? {
d: common_vendor.o(toLogin)
} : {});
g: common_vendor.o(toLogin)
} : {
h: common_vendor.p({
type: "calendar",
color: "gray",
size: "30"
}),
i: common_vendor.p({
type: "notification",
color: "gray",
size: "30"
}),
j: common_vendor.o(($event) => toDetail(1)),
k: common_vendor.p({
type: "star",
color: "gray",
size: "30"
}),
l: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
m: common_vendor.o(($event) => toDetail(2)),
n: common_vendor.p({
type: "gear",
color: "gray",
size: "30"
}),
o: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
p: common_vendor.o(($event) => toDetail(3)),
q: common_vendor.p({
type: "chatbubble",
color: "gray",
size: "30"
}),
r: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
s: common_vendor.o(($event) => toDetail(4))
});
};
}
};

View File

@ -1,4 +1,6 @@
{
"navigationBarTitleText": "我的",
"usingComponents": {}
"usingComponents": {
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -1 +1 @@
<view class="user-box page-box data-v-79e6a490"><view class="userinfo-box data-v-79e6a490"><image class="data-v-79e6a490" src="{{a}}" mode=""></image><view class=" data-v-79e6a490">{{b}}</view></view><view wx:if="{{c}}" class="btn-box data-v-79e6a490" bindtap="{{d}}"><view class="btn data-v-79e6a490">登录</view></view></view>
<view class="user-box page-box data-v-79e6a490"><view class="userinfo-box data-v-79e6a490" bindtap="{{e}}"><image class="data-v-79e6a490" src="{{a}}" mode=""></image><view class=" data-v-79e6a490" style="font-weight:900;font-size:40rpx">{{b}}</view><uni-icons wx:if="{{c}}" class="data-v-79e6a490" style="position:absolute;right:20rpx;top:40%" u-i="79e6a490-0" bind:__l="__l" u-p="{{d}}"></uni-icons></view><view wx:if="{{f}}" class="btn-box data-v-79e6a490" bindtap="{{g}}"><view class="btn data-v-79e6a490">登录</view></view><view wx:else class="row-box data-v-79e6a490"><view class="rb-card data-v-79e6a490" bindtap="{{j}}" style="margin-bottom:10px"><view class="rbc-content rbc-content-box data-v-79e6a490"><view class="rbc-content-row rbc-content-left data-v-79e6a490"><uni-icons wx:if="{{h}}" class="data-v-79e6a490" u-i="79e6a490-1" bind:__l="__l" u-p="{{h}}"></uni-icons><view class="data-v-79e6a490">已完成事项</view></view><view class="rbc-content-row rbc-content-right data-v-79e6a490"><uni-icons wx:if="{{i}}" class="data-v-79e6a490" u-i="79e6a490-2" bind:__l="__l" u-p="{{i}}"></uni-icons><view class="data-v-79e6a490">未完成事项</view></view></view></view><view class="rb-card data-v-79e6a490" bindtap="{{m}}"><view class="rbc-content data-v-79e6a490"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-79e6a490"><uni-icons wx:if="{{k}}" class="data-v-79e6a490" u-i="79e6a490-3" bind:__l="__l" u-p="{{k}}"></uni-icons> 我的收藏</view><view class="rbc-content-row rbc-content-right data-v-79e6a490"><uni-icons wx:if="{{l}}" class="data-v-79e6a490" u-i="79e6a490-4" bind:__l="__l" u-p="{{l}}"></uni-icons></view></view></view><view class="rb-card data-v-79e6a490" bindtap="{{p}}"><view class="rbc-content data-v-79e6a490"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-79e6a490"><uni-icons wx:if="{{n}}" class="data-v-79e6a490" u-i="79e6a490-5" bind:__l="__l" u-p="{{n}}"></uni-icons> 设置</view><view class="rbc-content-row rbc-content-right data-v-79e6a490"><uni-icons wx:if="{{o}}" class="data-v-79e6a490" u-i="79e6a490-6" bind:__l="__l" u-p="{{o}}"></uni-icons></view></view></view><view class="rb-card data-v-79e6a490" bindtap="{{s}}"><view class="rbc-content data-v-79e6a490"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-79e6a490"><uni-icons wx:if="{{q}}" class="data-v-79e6a490" u-i="79e6a490-7" bind:__l="__l" u-p="{{q}}"></uni-icons> 问题反馈</view><view class="rbc-content-row rbc-content-right data-v-79e6a490"><uni-icons wx:if="{{r}}" class="data-v-79e6a490" u-i="79e6a490-8" bind:__l="__l" u-p="{{r}}"></uni-icons></view></view></view></view></view>

View File

@ -23,6 +23,33 @@
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.rbc-content-left-box.data-v-79e6a490 {
display: flex;
align-items: center;
}
.rbc-content-left-box uni-icons.data-v-79e6a490 {
margin-right: 20rpx;
}
.row-box.data-v-79e6a490 {
padding: 20rpx 0;
}
.row-box .rb-card.data-v-79e6a490 {
padding: 20rpx;
background: white;
}
.row-box .rb-card .rbc-content-box.data-v-79e6a490 {
margin-top: 10rpx;
}
.row-box .rb-card .rbc-content-box .rbc-content-row.data-v-79e6a490 {
width: 50%;
text-align: center;
border-radius: 10rpx;
}
.row-box .rb-card .rbc-content.data-v-79e6a490 {
display: flex;
align-items: center;
justify-content: space-between;
}
.btn-box.data-v-79e6a490 {
text-align: center;
margin-top: 40rpx;
@ -36,6 +63,7 @@
width: 50%;
}
.userinfo-box.data-v-79e6a490 {
position: relative;
color: white;
background-color: #26758d;
display: flex;
@ -49,3 +77,6 @@
background: white;
margin-right: 20rpx;
}
.user-box.data-v-79e6a490 {
background: #f6f6f6;
}

View File

@ -0,0 +1,63 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
require("../../store/index.js");
require("../../api/index.js");
require("../../api/request.js");
require("../../config/index.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = {
__name: "setting",
setup(__props) {
common_vendor.onLoad(() => {
userinfo.value = JSON.parse(common_vendor.index.getStorageSync("userInfo"));
avatar.value = common_vendor.index.getStorageSync("avatarUrl");
});
const userinfo = common_vendor.ref(null);
const avatar = common_vendor.ref(null);
function toDetail(type) {
}
return (_ctx, _cache) => {
return {
a: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
b: common_vendor.o(($event) => toDetail()),
c: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
d: common_vendor.o(($event) => toDetail()),
e: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
f: common_vendor.o(($event) => toDetail()),
g: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
h: common_vendor.o(($event) => toDetail()),
i: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
j: common_vendor.o(($event) => toDetail())
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-806b15dc"], ["__file", "F:/项目2023/视力表/vision-record/pages/user/setting.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,6 @@
{
"navigationBarTitleText": "设置",
"usingComponents": {
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1 @@
<view class="userInfoBox page-box page-bg-gray data-v-806b15dc"><view class="row-box data-v-806b15dc"><view class="rb-card data-v-806b15dc" bindtap="{{b}}"><view class="rbc-content data-v-806b15dc"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-806b15dc"> 用户协议</view><view class="rbc-content-row rbc-content-right data-v-806b15dc"><uni-icons wx:if="{{a}}" class="data-v-806b15dc" u-i="806b15dc-0" bind:__l="__l" u-p="{{a}}"></uni-icons></view></view></view><view class="rb-card data-v-806b15dc" bindtap="{{d}}"><view class="rbc-content data-v-806b15dc"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-806b15dc"> 隐私政策摘要</view><view class="rbc-content-row rbc-content-right data-v-806b15dc"><uni-icons wx:if="{{c}}" class="data-v-806b15dc" u-i="806b15dc-1" bind:__l="__l" u-p="{{c}}"></uni-icons></view></view></view><view class="rb-card data-v-806b15dc" bindtap="{{f}}"><view class="rbc-content data-v-806b15dc"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-806b15dc"> 个人信息手机清单</view><view class="rbc-content-row rbc-content-right data-v-806b15dc"><uni-icons wx:if="{{e}}" class="data-v-806b15dc" u-i="806b15dc-2" bind:__l="__l" u-p="{{e}}"></uni-icons></view></view></view><view class="rb-card data-v-806b15dc" bindtap="{{h}}"><view class="rbc-content data-v-806b15dc"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-806b15dc"> 关于我们</view><view class="rbc-content-row rbc-content-right data-v-806b15dc"><uni-icons wx:if="{{g}}" class="data-v-806b15dc" u-i="806b15dc-3" bind:__l="__l" u-p="{{g}}"></uni-icons></view></view></view><view class="rb-card data-v-806b15dc" bindtap="{{j}}"><view class="rbc-content data-v-806b15dc"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-806b15dc"> 退出账号</view><view class="rbc-content-row rbc-content-right data-v-806b15dc"><uni-icons wx:if="{{i}}" class="data-v-806b15dc" u-i="806b15dc-4" bind:__l="__l" u-p="{{i}}"></uni-icons></view></view></view></view></view>

View File

@ -0,0 +1,103 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.avatar-box.data-v-806b15dc {
display: flex;
align-items: center;
justify-content: space-around;
width: 100%;
padding: 20rpx 0;
background: #26758d;
}
.avatar-box image.data-v-806b15dc {
width: 160rpx;
height: 160rpx;
background-color: white;
border-radius: 50%;
}
.rbc-content-right.data-v-806b15dc {
display: flex;
align-items: center;
background: white;
border-radius: 50%;
}
.rbc-content-left-box.data-v-806b15dc {
display: flex;
align-items: center;
}
.rbc-content-left-box uni-icons.data-v-806b15dc {
margin-right: 20rpx;
}
.row-box.data-v-806b15dc {
padding: 20rpx 0;
}
.row-box .rb-card.data-v-806b15dc {
padding: 20rpx;
background: white;
margin-bottom: 2rpx;
}
.row-box .rb-card .rbc-content-box.data-v-806b15dc {
margin-top: 10rpx;
}
.row-box .rb-card .rbc-content-box .rbc-content-row.data-v-806b15dc {
width: 50%;
text-align: center;
border-radius: 10rpx;
}
.row-box .rb-card .rbc-content.data-v-806b15dc {
display: flex;
align-items: center;
justify-content: space-between;
}
.btn-box.data-v-806b15dc {
text-align: center;
margin-top: 40rpx;
}
.btn-box .btn.data-v-806b15dc {
display: inline-block;
padding: 10px 20px;
background: #e2e2e2;
color: #26758d;
border-radius: 10px;
width: 50%;
}
.userinfo-box.data-v-806b15dc {
position: relative;
color: white;
background-color: #26758d;
display: flex;
align-items: center;
padding: 40rpx 20rpx;
}
.userinfo-box image.data-v-806b15dc {
width: 120rpx;
height: 120rpx;
border-radius: 50%;
background: white;
margin-right: 20rpx;
}
.user-box.data-v-806b15dc {
background: #f6f6f6;
}

View File

@ -0,0 +1,59 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
require("../../store/index.js");
require("../../api/index.js");
require("../../api/request.js");
require("../../config/index.js");
const _sfc_main = {
__name: "star",
setup(__props) {
common_vendor.onPullDownRefresh(() => {
});
common_vendor.onReachBottom(() => {
});
const list = common_vendor.ref([
{
id: 1,
cover_img: "https://gwjxb.oss-cn-chengdu.aliyuncs.com/logo.png",
title: "金秋相逢 共叙合作",
reading_num: 100,
content: `
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
},
{
id: 2,
cover_img: "https://ms.bdimg.com/pacific/0/pic/1083217647_-478899572.png?x=0&y=0&h=340&w=510&vh=340.00&vw=510.00&oh=340.00&ow=510.00",
title: "金秋相逢 共叙合作",
reading_num: 100,
content: `
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
}
]);
function toDetail(item) {
let info = encodeURIComponent(JSON.stringify(item));
common_vendor.index.navigateTo({
url: "/pages/wikipedia/detail?info=" + info + "&id=" + item.id
});
}
return (_ctx, _cache) => {
return {
a: common_vendor.f(list.value, (item, i, i0) => {
return {
a: item.cover_img,
b: common_vendor.t(item.title),
c: common_vendor.t(item.content),
d: common_vendor.o(($event) => toDetail(item))
};
})
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7926ce3c"], ["__file", "F:/项目2023/视力表/vision-record/pages/user/star.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,5 @@
{
"navigationBarTitleText": "我的收藏",
"enablePullDownRefresh": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="starBox page-box page-bg-gray data-v-7926ce3c"><view class="list-box data-v-7926ce3c"><view wx:for="{{a}}" wx:for-item="item" class="lb-card data-v-7926ce3c" bindtap="{{item.d}}"><view class="lb-left data-v-7926ce3c"><image class="data-v-7926ce3c" src="{{item.a}}" mode="aspectFill"></image></view><view class="lb-right data-v-7926ce3c"><view class="lb-title data-v-7926ce3c">{{item.b}}</view><view class="lb-content text-ellipsis-1 small-text data-v-7926ce3c">{{item.c}}</view></view></view></view></view>

View File

@ -0,0 +1,46 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.starBox .list-box .lb-card.data-v-7926ce3c {
display: flex;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #eaeaea;
}
.starBox .list-box .lb-card .lb-left image.data-v-7926ce3c {
width: 120rpx;
height: 120rpx;
margin-right: 20rpx;
}
.starBox .list-box .lb-card .lb-right.data-v-7926ce3c {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.starBox .list-box .lb-card .lb-right .lb-title.data-v-7926ce3c {
font-weight: 900;
font-size: 32rpx;
margin-bottom: 20rpx;
}

View File

@ -0,0 +1,82 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
require("../../store/index.js");
require("../../api/index.js");
require("../../api/request.js");
require("../../config/index.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = {
__name: "userInfo",
setup(__props) {
common_vendor.onLoad(() => {
userinfo.value = JSON.parse(common_vendor.index.getStorageSync("userInfo"));
console.log(userinfo.value);
avatar.value = common_vendor.index.getStorageSync("avatarUrl");
});
const userinfo = common_vendor.ref(null);
const avatar = common_vendor.ref(null);
function toDetail(type) {
}
return (_ctx, _cache) => {
var _a, _b;
return {
a: avatar.value,
b: common_vendor.p({
type: "person",
color: "gray",
size: "26"
}),
c: common_vendor.t((_a = userinfo.value) == null ? void 0 : _a.nickname),
d: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
e: common_vendor.o(($event) => toDetail()),
f: common_vendor.p({
type: "phone",
color: "gray",
size: "26"
}),
g: common_vendor.t((_b = userinfo.value) == null ? void 0 : _b.phone),
h: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
i: common_vendor.o(($event) => toDetail()),
j: common_vendor.p({
type: "calendar",
color: "gray",
size: "26"
}),
k: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
l: common_vendor.o(($event) => toDetail()),
m: common_vendor.p({
type: "paperplane",
color: "gray",
size: "26"
}),
n: common_vendor.p({
type: "forward",
color: "gray",
size: "20"
}),
o: common_vendor.o(($event) => toDetail())
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2f34225a"], ["__file", "F:/项目2023/视力表/vision-record/pages/user/userInfo.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,6 @@
{
"navigationBarTitleText": "个人资料",
"usingComponents": {
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1 @@
<view class="userInfoBox page-box page-bg-gray data-v-2f34225a"><view class="avatar-box data-v-2f34225a"><image class="data-v-2f34225a" src="{{a}}" mode="aspectFill"></image></view><view class="row-box data-v-2f34225a"><view class="rb-card data-v-2f34225a" bindtap="{{e}}"><view class="rbc-content data-v-2f34225a"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-2f34225a"><uni-icons wx:if="{{b}}" class="data-v-2f34225a" u-i="2f34225a-0" bind:__l="__l" u-p="{{b}}"></uni-icons> 姓名</view><view class="rbc-content-row rbc-content-right data-v-2f34225a">{{c}} <uni-icons wx:if="{{d}}" class="data-v-2f34225a" u-i="2f34225a-1" bind:__l="__l" u-p="{{d}}"></uni-icons></view></view></view><view class="rb-card data-v-2f34225a" bindtap="{{i}}"><view class="rbc-content data-v-2f34225a"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-2f34225a"><uni-icons wx:if="{{f}}" class="data-v-2f34225a" u-i="2f34225a-2" bind:__l="__l" u-p="{{f}}"></uni-icons> 电话</view><view class="rbc-content-row rbc-content-right data-v-2f34225a">{{g}} <uni-icons wx:if="{{h}}" class="data-v-2f34225a" u-i="2f34225a-3" bind:__l="__l" u-p="{{h}}"></uni-icons></view></view></view><view class="rb-card data-v-2f34225a" bindtap="{{l}}"><view class="rbc-content data-v-2f34225a"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-2f34225a"><uni-icons wx:if="{{j}}" class="data-v-2f34225a" u-i="2f34225a-4" bind:__l="__l" u-p="{{j}}"></uni-icons> 手术时间</view><view class="rbc-content-row rbc-content-right data-v-2f34225a"> 2023-10-1 <uni-icons wx:if="{{k}}" class="data-v-2f34225a" u-i="2f34225a-5" bind:__l="__l" u-p="{{k}}"></uni-icons></view></view></view><view class="rb-card data-v-2f34225a" bindtap="{{o}}"><view class="rbc-content data-v-2f34225a"><view class="rbc-content-row rbc-content-left rbc-content-left-box data-v-2f34225a"><uni-icons wx:if="{{m}}" class="data-v-2f34225a" u-i="2f34225a-6" bind:__l="__l" u-p="{{m}}"></uni-icons> 手术医院</view><view class="rbc-content-row rbc-content-right data-v-2f34225a"> 金山医院 <uni-icons wx:if="{{n}}" class="data-v-2f34225a" u-i="2f34225a-7" bind:__l="__l" u-p="{{n}}"></uni-icons></view></view></view></view></view>

View File

@ -0,0 +1,103 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.avatar-box.data-v-2f34225a {
display: flex;
align-items: center;
justify-content: space-around;
width: 100%;
padding: 20rpx 0;
background: #26758d;
}
.avatar-box image.data-v-2f34225a {
width: 160rpx;
height: 160rpx;
background-color: white;
border-radius: 50%;
}
.rbc-content-right.data-v-2f34225a {
display: flex;
align-items: center;
background: white;
border-radius: 50%;
}
.rbc-content-left-box.data-v-2f34225a {
display: flex;
align-items: center;
}
.rbc-content-left-box uni-icons.data-v-2f34225a {
margin-right: 20rpx;
}
.row-box.data-v-2f34225a {
padding: 20rpx 0;
}
.row-box .rb-card.data-v-2f34225a {
padding: 20rpx;
background: white;
margin-bottom: 2rpx;
}
.row-box .rb-card .rbc-content-box.data-v-2f34225a {
margin-top: 10rpx;
}
.row-box .rb-card .rbc-content-box .rbc-content-row.data-v-2f34225a {
width: 50%;
text-align: center;
border-radius: 10rpx;
}
.row-box .rb-card .rbc-content.data-v-2f34225a {
display: flex;
align-items: center;
justify-content: space-between;
}
.btn-box.data-v-2f34225a {
text-align: center;
margin-top: 40rpx;
}
.btn-box .btn.data-v-2f34225a {
display: inline-block;
padding: 10px 20px;
background: #e2e2e2;
color: #26758d;
border-radius: 10px;
width: 50%;
}
.userinfo-box.data-v-2f34225a {
position: relative;
color: white;
background-color: #26758d;
display: flex;
align-items: center;
padding: 40rpx 20rpx;
}
.userinfo-box image.data-v-2f34225a {
width: 120rpx;
height: 120rpx;
border-radius: 50%;
background: white;
margin-right: 20rpx;
}
.user-box.data-v-2f34225a {
background: #f6f6f6;
}

View File

@ -0,0 +1,38 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
require("../../store/index.js");
const api_index = require("../../api/index.js");
require("../../api/request.js");
require("../../config/index.js");
const _sfc_main = {
__name: "detail",
setup(__props) {
common_vendor.onLoad((e) => {
console.log(e);
a_info.value = JSON.parse(decodeURIComponent(e.info));
if (!e.id) {
common_vendor.index.showToast({
icon: "error",
title: "错误",
duration: 2e3
});
a_info.value = null;
return;
}
getDetail(e.id);
});
const a_info = common_vendor.ref(null);
async function getDetail(id) {
await api_index.API.getArticleDetail({ id });
}
return (_ctx, _cache) => {
var _a, _b;
return {
a: common_vendor.t((_a = a_info.value) == null ? void 0 : _a.title),
b: (_b = a_info.value) == null ? void 0 : _b.content
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6ba0469a"], ["__file", "F:/项目2023/视力表/vision-record/pages/wikipedia/detail.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "文章详情",
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="detailBox data-v-6ba0469a"><view class="title data-v-6ba0469a">{{a}}</view><view class="more-info small-text data-v-6ba0469a">2023-10-5</view><view class="d-content data-v-6ba0469a"><rich-text class="data-v-6ba0469a" nodes="{{b}}"/></view></view>

View File

@ -0,0 +1,41 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.detailBox.data-v-6ba0469a {
padding: 40rpx;
}
.detailBox .more-info.data-v-6ba0469a {
text-align: right;
margin-bottom: 10rpx;
}
.detailBox .title.data-v-6ba0469a {
font-size: 32rpx;
font-weight: 900;
margin-bottom: 20rpx;
text-align: center;
}
.detailBox .d-content.data-v-6ba0469a {
line-height: 50rpx;
}

View File

@ -1,8 +1,77 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {};
function _sfc_render(_ctx, _cache) {
return {};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:/项目2023/视力表/vision-record/pages/wikipedia/index.vue"]]);
require("../../store/index.js");
const api_index = require("../../api/index.js");
require("../../api/request.js");
require("../../config/index.js");
const _sfc_main = {
__name: "index",
setup(__props) {
common_vendor.onLoad(() => {
getList();
});
common_vendor.onPullDownRefresh(() => {
init();
getList();
});
common_vendor.onReachBottom(() => {
queryParams.value.page++;
getList();
});
const queryParams = common_vendor.ref({
page: 1,
pageSize: 10
});
const list = common_vendor.ref([
{
id: 1,
cover_img: "https://gwjxb.oss-cn-chengdu.aliyuncs.com/logo.png",
title: "金秋相逢 共叙合作",
reading_num: 100,
content: `
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
},
{
id: 2,
cover_img: "https://ms.bdimg.com/pacific/0/pic/1083217647_-478899572.png?x=0&y=0&h=340&w=510&vh=340.00&vw=510.00&oh=340.00&ow=510.00",
title: "金秋相逢 共叙合作",
reading_num: 100,
content: `
新华社北京10月18日电 金秋时节北京再迎盛会第三届一带一路国际合作高峰论坛隆重举行
春发其华秋收其实
共建一带一路走过了第一个蓬勃十年正值风华正茂务当昂扬奋进奔向下一个金色十年
`
}
]);
function init() {
queryParams.page = 1;
queryParams.pageSize = 10;
}
async function getList() {
await api_index.API.getArticleList(queryParams.value);
}
function toDetail(item) {
let info = encodeURIComponent(JSON.stringify(item));
common_vendor.index.navigateTo({
url: "./detail?info=" + info + "&id=" + item.id
});
}
return (_ctx, _cache) => {
return {
a: common_vendor.f(list.value, (item, i, i0) => {
return {
a: item.cover_img,
b: common_vendor.t(item.title),
c: common_vendor.t(item.content),
d: common_vendor.o(($event) => toDetail(item))
};
})
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e5c3f72c"], ["__file", "F:/项目2023/视力表/vision-record/pages/wikipedia/index.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -1,4 +1,5 @@
{
"navigationBarTitleText": "百科",
"enablePullDownRefresh": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="articleBox page-box data-v-e5c3f72c"><view class="userInfoBox data-v-e5c3f72c"></view><view class="list-box data-v-e5c3f72c"><view wx:for="{{a}}" wx:for-item="item" class="lb-card data-v-e5c3f72c" bindtap="{{item.d}}"><view class="lb-left data-v-e5c3f72c"><image class="data-v-e5c3f72c" src="{{item.a}}" mode="aspectFill"></image></view><view class="lb-right data-v-e5c3f72c"><view class="lb-title data-v-e5c3f72c">{{item.b}}</view><view class="lb-content text-ellipsis-1 small-text data-v-e5c3f72c">{{item.c}}</view></view></view></view></view>

View File

@ -0,0 +1,46 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.articleBox .list-box .lb-card.data-v-e5c3f72c {
display: flex;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #eaeaea;
}
.articleBox .list-box .lb-card .lb-left image.data-v-e5c3f72c {
width: 120rpx;
height: 120rpx;
margin-right: 20rpx;
}
.articleBox .list-box .lb-card .lb-right.data-v-e5c3f72c {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.articleBox .list-box .lb-card .lb-right .lb-title.data-v-e5c3f72c {
font-weight: 900;
font-size: 32rpx;
margin-bottom: 20rpx;
}