This commit is contained in:
18631081161 2025-06-20 16:07:07 +08:00
parent 9ac5df9aa7
commit 741fd1ac52
50 changed files with 1240 additions and 52 deletions

View File

@ -1,18 +1,73 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/news/news",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": ""
}
},
{
"path": "pages/index/index",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": ""
}
},
{
"path": "pages/mall/mall",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": ""
}
},
{
"path": "pages/me/me",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": ""
}
},
{
"path": "pages/news/news_details",
"style": {
"navigationBarTitleText": ""
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
"navigationBarBackgroundColor": "#FFFFFF",
"backgroundColor": "#F7F7F7"
},
"uniIdRouter": {}
}
"tabBar": {
"color": "#C6C6C6",
"selectedColor": "#333333",
"borderStyle": "black",
"height": "124.05rpx",
"list": [{
"pagePath": "pages/news/news",
"text": "资讯",
"iconPath": "/static/tabbar/news.png",
"selectedIconPath": "/static/tabbar/news_s.png"
},
{
"pagePath": "pages/mall/mall",
"text": "商城",
"iconPath": "/static/tabbar/mall.png",
"selectedIconPath": "/static/tabbar/mall_s.png"
},
{
"pagePath": "pages/me/me",
"text": "我的",
"iconPath": "/static/tabbar/me.png",
"selectedIconPath": "/static/tabbar/me_s.png"
}
]
}
}

View File

@ -1,6 +1,33 @@
<template>
<view class="content">
<view class="" style="width: 100%; height: 225.19rpx; background-color: white; position: relative;">
<view class="tab">
<view class="tab-item" v-for="(item, i) in tabList" :key="i" :class="tabC == i ? 'act' : 'unact'"
@click="tabChange(i)">
<text>{{ item }}</text>
</view>
</view>
</view>
<scroll-view class="" scroll-y="true" style="width: 688.93rpx; height: 1211rpx; margin: 15rpx auto;">
<view class="view-data" v-for="(item,index) in dataList" @click="toDetails(item.id)">
<view class="title">
{{item.title}}
</view>
<view class="time">
{{item.tiem}}
</view>
<view class="img">
</view>
</view>
</scroll-view>
</view>
</template>
@ -8,25 +35,145 @@
export default {
data() {
return {
tabC: 1,
tabList: ["热榜", "精选", "关注"],
dataList: [{
id: 1,
title: "联合国预测世界人口将达到80亿这一数字这一数字",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, ]
}
},
onLoad() {
},
methods: {
tabChange(i) {
this.tabC = i
},
}
toDetails(i) {
//test.vue
uni.navigateTo({
url: '/pages/index/news_details'
})
},
},
}
</script>
<style>
<style lang="scss">
.content {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: #F7F7F7;
}
.tab {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
bottom: 20rpx;
</style>
.tab-item {
width: 155rpx;
height: 68rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
&.act {
font-size: 30.53rpx;
color: #000000;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 26.72rpx;
height: 4rpx;
background: #333333;
}
}
&.unact {
font-size: 30.53rpx;
color: #4C4C4C;
}
}
}
.view-data {
width: 100%;
height: 225.19rpx;
background-color: white;
margin-bottom: 15rpx;
border-radius: 19.08rpx;
position: relative;
.title {
width: 366.41rpx;
height: 83.97rpx;
position: absolute;
top: 32rpx;
left: 20rpx;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
}
.time {
position: absolute;
left: 20rpx;
font-size: 22.9rpx;
color: #878787;
bottom: 24rpx;
}
.img {
position: absolute;
right: 20rpx;
top: 34rpx;
width: 225.19rpx;
height: 158.4rpx;
background-color: #D8D8D8;
}
}
</style>

38
pages/mall/mall.vue Normal file
View File

@ -0,0 +1,38 @@
<template>
<view id="content">
<view class="" style="width: 100%; height: 225.19rpx; background-color: white; position: relative;">
<view class="">
商城
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style lang="scss">
.content {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
background-color: #F7F7F7;
}
.title{
position: absolute;
bottom: 20rpx;
}
</style>

22
pages/me/me.vue Normal file
View File

@ -0,0 +1,22 @@
<template>
<view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style>
</style>

179
pages/news/news.vue Normal file
View File

@ -0,0 +1,179 @@
<template>
<view class="content">
<view class="" style="width: 100%; height: 225.19rpx; background-color: white; position: relative;">
<view class="tab">
<view class="tab-item" v-for="(item, i) in tabList" :key="i" :class="tabC == i ? 'act' : 'unact'"
@click="tabChange(i)">
<text>{{ item }}</text>
</view>
</view>
</view>
<scroll-view class="" scroll-y="true" style="width: 688.93rpx; height: 1211rpx; margin: 15rpx auto;">
<view class="view-data" v-for="(item,index) in dataList" @click="toDetails(item.id)">
<view class="title">
{{item.title}}
</view>
<view class="time">
{{item.tiem}}
</view>
<view class="img">
</view>
</view>
</scroll-view>
</view>
</template>
<script>
export default {
data() {
return {
tabC: 1,
tabList: ["热榜", "精选", "关注"],
dataList: [{
id: 1,
title: "联合国预测世界人口将达到80亿这一数字这一数字",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, ]
}
},
onLoad() {
},
methods: {
tabChange(i) {
this.tabC = i
},
toDetails(i) {
//test.vue
uni.navigateTo({
url: '/pages/news/news_details'
})
},
},
}
</script>
<style lang="scss">
.content {
width: 100%;
display: flex;
flex-direction: column;
background-color: #F7F7F7;
}
.tab {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
bottom: 20rpx;
.tab-item {
width: 155rpx;
height: 68rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
&.act {
font-size: 30.53rpx;
color: #000000;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 26.72rpx;
height: 4rpx;
background: #333333;
}
}
&.unact {
font-size: 30.53rpx;
color: #4C4C4C;
}
}
}
.view-data {
width: 100%;
height: 225.19rpx;
background-color: white;
margin-bottom: 15rpx;
border-radius: 19.08rpx;
position: relative;
.title {
width: 366.41rpx;
height: 83.97rpx;
position: absolute;
top: 32rpx;
left: 20rpx;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
}
.time {
position: absolute;
left: 20rpx;
font-size: 22.9rpx;
color: #878787;
bottom: 24rpx;
}
.img {
position: absolute;
right: 20rpx;
top: 34rpx;
width: 225.19rpx;
height: 158.4rpx;
background-color: #D8D8D8;
}
}
</style>

View File

@ -0,0 +1,29 @@
<!-- 详情 -->
<template>
<view>
<uni-section title="基本用法" subTitle="使用 title 属性设置导航栏标题" type="line" style="margin-bottom: 3px;">
<view class="box-bg">
<uni-nav-bar title="标题" />
</view>
</uni-section>
66666
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style>
</style>

BIN
static/tabbar/mall.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/tabbar/mall_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/tabbar/me.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/tabbar/me_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/tabbar/news.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
static/tabbar/news_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

View File

@ -0,0 +1 @@
{"version":3,"names":["_sfc_main","data","tabCur","tabList","onLoad","methods","wx","createPage","MiniProgramPage"],"sources":["index.vue","cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["<template>\r\n\t<view class=\"\">\r\n\r\n\t\t<view class=\"\" style=\"width: 100%; height: 225.19rpx; background-color: antiquewhite; position: relative;\">\r\n\r\n\t\t\t<view class=\"tab\">\r\n\t\t\t\t<view class=\"tab-item center relative\" v-for=\"(item, i) in tabList\" :key=\"i\"\r\n\t\t\t\t\t:class=\"tabCur == i ? 'act' : 'unact'\" @click=\"tabChange(i)\">\r\n\t\t\t\t\t<text>{{ item }}</text>\r\n\t\t\t\t</view>\r\n\r\n\t\t\t</view>\r\n\r\n\r\n\t\t</view>\r\n\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttabCur: 0,\r\n\t\t\t\ttabList: [\"热榜\", \"精选\", \"关注\"]\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad() {\r\n\r\n\t\t},\r\n\t\tmethods: {\r\n\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\t.content {\r\n\t\twidth: 100%;\r\n\t\theight: 100vh;\r\n\t}\r\n\r\n\t.tab {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tposition: absolute;\r\n\t\tbottom: 10rpx;\r\n\t\tpadding: 10rpx 30rpx;\r\n\r\n\r\n\t\t.tab-item {\r\n\t\t\twidth: 155rpx;\r\n\t\t\theight: 68rpx;\r\n\t\t\tposition: relative;\r\n\t\t\tmargin-right: 25rpx;\r\n\r\n\t\t\t&.act {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #333333;\r\n\r\n\t\t\t\t&::after {\r\n\t\t\t\t\tcontent: '';\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\tbottom: 0;\r\n\t\t\t\t\tleft: 50%;\r\n\t\t\t\t\ttransform: translateX(-50%);\r\n\t\t\t\t\twidth: 48rpx;\r\n\t\t\t\t\theight: 4rpx;\r\n\t\t\t\t\tbackground: #333333;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t&.unact {\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tfont-size: 28rpx;\r\n\t\t\t\tcolor: #CCCCCC;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>","import MiniProgramPage from 'F:/gitCode/uniapp/youdas/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"mappings":";;;;AAoBC,IAAKA,SAAA,GAAU;EACdC,IAAA,WAAAA,KAAA,EAAO;IACN,OAAO;MACNC,MAAA,EAAQ;MACRC,OAAA,EAAS,CAAC,MAAM,MAAM,IAAI;IAC3B;EACA;EACDC,MAAA,WAAAA,OAAA,EAAS,CAER;EACDC,OAAA,EAAS,CAET;AACD;;;;;;;;;;;;;;;;AChCDC,EAAA,CAAGC,UAAA,CAAWC,eAAe","ignoreList":[]}

View File

@ -1 +1 @@
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script>\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\tconsole.log('App Launch')\r\n\t\t},\r\n\t\tonShow: function() {\r\n\t\t\tconsole.log('App Show')\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\tconsole.log('App Hide')\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t/*每个页面公共css */\r\n</style>\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n return {\n app\n }\n}\n// #endif"],"names":["uni","createSSRApp","App"],"mappings":";;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;ACIM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script>\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\tconsole.log('App Launch')\r\n\t\t},\r\n\t\tonShow: function() {\r\n\t\t\tconsole.log('App Show')\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\tconsole.log('App Hide')\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t/*每个页面公共css */\r\n</style>\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n return {\n app\n }\n}\n// #endif"],"names":["uni","createSSRApp","App"],"mappings":";;;;;;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;ACIM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"news_details.js","sources":["pages/index/news_details.vue","../../../Software/HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvbmV3c19kZXRhaWxzLnZ1ZQ"],"sourcesContent":["<!-- 详情 -->\r\n<template>\r\n\t<view>\r\n\t\t<uni-section title=\"基本用法\" subTitle=\"使用 title 属性设置导航栏标题\" type=\"line\" style=\"margin-bottom: 3px;\">\r\n\t\t\t<view class=\"box-bg\">\r\n\t\t\t\t<uni-nav-bar title=\"标题\" />\r\n\t\t\t</view>\r\n\t\t</uni-section>\r\n\r\n\t\t66666\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\r\n</style>","import MiniProgramPage from 'F:/gitCode/uniapp/youdas/pages/index/news_details.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAcC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO,CAEP;AAAA,EACA;AAAA,EACD,SAAS,CAET;AACD;;;;;;;;;;;;;;;;;;;ACtBD,GAAG,WAAW,eAAe;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"mall.js","sources":["pages/mall/mall.vue","../../../Software/HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbWFsbC9tYWxsLnZ1ZQ"],"sourcesContent":["<template>\r\n\t<view id=\"content\">\r\n\t\t<view class=\"\" style=\"width: 100%; height: 225.19rpx; background-color: white; position: relative;\">\r\n\t\t\t<view class=\"\">\r\n\t\t\t\t商城\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\t.content {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tbackground-color: #F7F7F7;\r\n\t}\r\n\t\r\n\t.title{\r\n\t\tposition: absolute;\r\n\t\tbottom: 20rpx;\r\n\t}\r\n\r\n</style>","import MiniProgramPage from 'F:/gitCode/uniapp/youdas/pages/mall/mall.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAWC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO,CAEP;AAAA,EACA;AAAA,EACD,SAAS,CAET;AACD;;;;;ACnBD,GAAG,WAAW,eAAe;"}

View File

@ -0,0 +1 @@
{"version":3,"file":"me.js","sources":["pages/me/me.vue","../../../Software/HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbWUvbWUudnVl"],"sourcesContent":["<template>\n\t<view>\n\t\t\n\t</view>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\t\n\t\t}\n\t}\n</script>\n\n<style>\n\n</style>\n","import MiniProgramPage from 'F:/gitCode/uniapp/youdas/pages/me/me.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAOC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO,CAEP;AAAA,EACA;AAAA,EACD,SAAS,CAET;AACD;;;;;ACfD,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"news_details.js","sources":["pages/news/news_details.vue","../../../Software/HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbmV3cy9uZXdzX2RldGFpbHMudnVl"],"sourcesContent":["<!-- 详情 -->\r\n<template>\r\n\t<view>\r\n\t\t<uni-section title=\"基本用法\" subTitle=\"使用 title 属性设置导航栏标题\" type=\"line\" style=\"margin-bottom: 3px;\">\r\n\t\t\t<view class=\"box-bg\">\r\n\t\t\t\t<uni-nav-bar title=\"标题\" />\r\n\t\t\t</view>\r\n\t\t</uni-section>\r\n\r\n\t\t66666\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\r\n</style>","import MiniProgramPage from 'F:/gitCode/uniapp/youdas/pages/news/news_details.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAcC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO,CAEP;AAAA,EACA;AAAA,EACD,SAAS,CAET;AACD;;;;;;;;;;;;;;;;;;;ACtBD,GAAG,WAAW,eAAe;"}

View File

@ -2,7 +2,11 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
if (!Math) {
"./pages/news/news.js";
"./pages/index/index.js";
"./pages/mall/mall.js";
"./pages/me/me.js";
"./pages/news/news_details.js";
}
const _sfc_main = {
onLaunch: function() {

View File

@ -1,12 +1,41 @@
{
"pages": [
"pages/index/index"
"pages/news/news",
"pages/index/index",
"pages/mall/mall",
"pages/me/me",
"pages/news/news_details"
],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
"navigationBarBackgroundColor": "#FFFFFF",
"backgroundColor": "#F7F7F7"
},
"tabBar": {
"color": "#C6C6C6",
"selectedColor": "#333333",
"borderStyle": "black",
"list": [
{
"pagePath": "pages/news/news",
"text": "资讯",
"iconPath": "/static/tabbar/news.png",
"selectedIconPath": "/static/tabbar/news_s.png"
},
{
"pagePath": "pages/mall/mall",
"text": "商城",
"iconPath": "/static/tabbar/mall.png",
"selectedIconPath": "/static/tabbar/mall_s.png"
},
{
"pagePath": "pages/me/me",
"text": "我的",
"iconPath": "/static/tabbar/me.png",
"selectedIconPath": "/static/tabbar/me_s.png"
}
]
},
"usingComponents": {}
}

View File

@ -1,4 +0,0 @@
"use strict";
const _imports_0 = "/static/logo.png";
exports._imports_0 = _imports_0;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map

View File

@ -85,8 +85,59 @@ const def = (obj, key, value) => {
});
};
const looseToNumber = (val) => {
const n = parseFloat(val);
return isNaN(n) ? val : n;
const n2 = parseFloat(val);
return isNaN(n2) ? val : n2;
};
function normalizeClass(value) {
let res = "";
if (isString(value)) {
res = value;
} else if (isArray(value)) {
for (let i = 0; i < value.length; i++) {
const normalized = normalizeClass(value[i]);
if (normalized) {
res += normalized + " ";
}
}
} else if (isObject(value)) {
for (const name in value) {
if (value[name]) {
res += name + " ";
}
}
}
return res.trim();
}
const toDisplayString = (val) => {
return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);
};
const replacer = (_key, val) => {
if (val && val.__v_isRef) {
return replacer(_key, val.value);
} else if (isMap(val)) {
return {
[`Map(${val.size})`]: [...val.entries()].reduce(
(entries, [key, val2], i) => {
entries[stringifySymbol(key, i) + " =>"] = val2;
return entries;
},
{}
)
};
} else if (isSet(val)) {
return {
[`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
};
} else if (isSymbol(val)) {
return stringifySymbol(val);
} else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
return String(val);
}
return val;
};
const stringifySymbol = (v, i = "") => {
var _a;
return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
};
const LOCALE_ZH_HANS = "zh-Hans";
const LOCALE_ZH_HANT = "zh-Hant";
@ -1252,6 +1303,9 @@ function isReadonly(value) {
function isShallow(value) {
return !!(value && value["__v_isShallow"]);
}
function isProxy(value) {
return isReactive(value) || isReadonly(value);
}
function toRaw(observed) {
const raw = observed && observed["__v_raw"];
return raw ? toRaw(raw) : observed;
@ -2043,6 +2097,47 @@ function setCurrentRenderingInstance(instance) {
instance && instance.type.__scopeId || null;
return prev;
}
const COMPONENTS = "components";
function resolveComponent(name, maybeSelfReference) {
return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
}
function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
const instance = currentRenderingInstance || currentInstance;
if (instance) {
const Component2 = instance.type;
if (type === COMPONENTS) {
const selfName = getComponentName(
Component2,
false
);
if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
return Component2;
}
}
const res = (
// local registration
// check instance[type] first which is resolved for options API
resolve(instance[type] || Component2[type], name) || // global registration
resolve(instance.appContext[type], name)
);
if (!res && maybeSelfReference) {
return Component2;
}
if (warnMissing && !res) {
const extra = type === COMPONENTS ? `
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
}
return res;
} else {
warn$1(
`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
);
}
}
function resolve(registry, name) {
return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
}
const INITIAL_WATCHER_VALUE = {};
function watch(source, cb, options) {
if (!isFunction(cb)) {
@ -3653,6 +3748,12 @@ const Static = Symbol.for("v-stc");
function isVNode(value) {
return value ? value.__v_isVNode === true : false;
}
const InternalObjectKey = `__vInternal`;
function guardReactiveProps(props) {
if (!props)
return null;
return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;
}
const emptyAppContext = createAppContext();
let uid = 0;
function createComponentInstance(vnode, parent, suspense) {
@ -4891,6 +4992,11 @@ function initApp(app) {
}
}
const propsCaches = /* @__PURE__ */ Object.create(null);
function renderProps(props) {
const { uid: uid2, __counter } = getCurrentInstance();
const propsId = (propsCaches[uid2] || (propsCaches[uid2] = [])).push(guardReactiveProps(props)) - 1;
return uid2 + "," + propsId + "," + __counter;
}
function pruneComponentPropsCache(uid2) {
delete propsCaches[uid2];
}
@ -4931,6 +5037,137 @@ function getCreateApp() {
return my[method];
}
}
function vOn(value, key) {
const instance = getCurrentInstance();
const ctx = instance.ctx;
const extraKey = typeof key !== "undefined" && (ctx.$mpPlatform === "mp-weixin" || ctx.$mpPlatform === "mp-qq" || ctx.$mpPlatform === "mp-xhs") && (isString(key) || typeof key === "number") ? "_" + key : "";
const name = "e" + instance.$ei++ + extraKey;
const mpInstance = ctx.$scope;
if (!value) {
delete mpInstance[name];
return name;
}
const existingInvoker = mpInstance[name];
if (existingInvoker) {
existingInvoker.value = value;
} else {
mpInstance[name] = createInvoker(value, instance);
}
return name;
}
function createInvoker(initialValue, instance) {
const invoker = (e2) => {
patchMPEvent(e2);
let args = [e2];
if (instance && instance.ctx.$getTriggerEventDetail) {
if (typeof e2.detail === "number") {
e2.detail = instance.ctx.$getTriggerEventDetail(e2.detail);
}
}
if (e2.detail && e2.detail.__args__) {
args = e2.detail.__args__;
}
const eventValue = invoker.value;
const invoke = () => callWithAsyncErrorHandling(patchStopImmediatePropagation(e2, eventValue), instance, 5, args);
const eventTarget = e2.target;
const eventSync = eventTarget ? eventTarget.dataset ? String(eventTarget.dataset.eventsync) === "true" : false : false;
if (bubbles.includes(e2.type) && !eventSync) {
setTimeout(invoke);
} else {
const res = invoke();
if (e2.type === "input" && (isArray(res) || isPromise(res))) {
return;
}
return res;
}
};
invoker.value = initialValue;
return invoker;
}
const bubbles = [
// touch事件暂不做延迟否则在 Android 上会影响性能,比如一些拖拽跟手手势等
// 'touchstart',
// 'touchmove',
// 'touchcancel',
// 'touchend',
"tap",
"longpress",
"longtap",
"transitionend",
"animationstart",
"animationiteration",
"animationend",
"touchforcechange"
];
function patchMPEvent(event, instance) {
if (event.type && event.target) {
event.preventDefault = NOOP;
event.stopPropagation = NOOP;
event.stopImmediatePropagation = NOOP;
if (!hasOwn(event, "detail")) {
event.detail = {};
}
if (hasOwn(event, "markerId")) {
event.detail = typeof event.detail === "object" ? event.detail : {};
event.detail.markerId = event.markerId;
}
if (isPlainObject(event.detail) && hasOwn(event.detail, "checked") && !hasOwn(event.detail, "value")) {
event.detail.value = event.detail.checked;
}
if (isPlainObject(event.detail)) {
event.target = extend({}, event.target, event.detail);
}
}
}
function patchStopImmediatePropagation(e2, value) {
if (isArray(value)) {
const originalStop = e2.stopImmediatePropagation;
e2.stopImmediatePropagation = () => {
originalStop && originalStop.call(e2);
e2._stopped = true;
};
return value.map((fn) => (e3) => !e3._stopped && fn(e3));
} else {
return value;
}
}
function vFor(source, renderItem) {
let ret;
if (isArray(source) || isString(source)) {
ret = new Array(source.length);
for (let i = 0, l = source.length; i < l; i++) {
ret[i] = renderItem(source[i], i, i);
}
} else if (typeof source === "number") {
if (!Number.isInteger(source)) {
warn(`The v-for range expect an integer value but got ${source}.`);
return [];
}
ret = new Array(source);
for (let i = 0; i < source; i++) {
ret[i] = renderItem(i + 1, i, i);
}
} else if (isObject(source)) {
if (source[Symbol.iterator]) {
ret = Array.from(source, (item, i) => renderItem(item, i, i));
} else {
const keys = Object.keys(source);
ret = new Array(keys.length);
for (let i = 0, l = keys.length; i < l; i++) {
const key = keys[i];
ret[i] = renderItem(source[key], key, i);
}
}
} else {
ret = [];
}
return ret;
}
const o = (value, key) => vOn(value, key);
const f = (source, renderItem) => vFor(source, renderItem);
const n = (value) => normalizeClass(value);
const t = (val) => toDisplayString(val);
const p = (props) => renderProps(props);
function createApp$1(rootComponent, rootProps = null) {
rootComponent && (rootComponent.mpType = "app");
return createVueApp(rootComponent, rootProps).use(plugin);
@ -5011,9 +5248,9 @@ function assertType(value, type) {
let valid;
const expectedType = getType(type);
if (isSimpleType(expectedType)) {
const t = typeof value;
valid = t === expectedType.toLowerCase();
if (!valid && t === "object") {
const t2 = typeof value;
valid = t2 === expectedType.toLowerCase();
if (!valid && t2 === "object") {
valid = value instanceof type;
}
} else if (expectedType === "Object") {
@ -5252,8 +5489,8 @@ function promisify$1(name, fn) {
if (hasCallback(args)) {
return wrapperReturnValue(name, invokeApi(name, fn, args, rest));
}
return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {
invokeApi(name, fn, extend(args, { success: resolve, fail: reject }), rest);
return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => {
invokeApi(name, fn, extend(args, { success: resolve2, fail: reject }), rest);
})));
};
}
@ -5521,8 +5758,8 @@ const $once = defineSyncApi(API_ONCE, (name, callback) => {
const $off = defineSyncApi(API_OFF, (name, callback) => {
if (!isArray(name))
name = name ? [name] : [];
name.forEach((n) => {
eventBus.off(n, callback);
name.forEach((n2) => {
eventBus.off(n2, callback);
});
}, OffProtocol);
const $emit = defineSyncApi(API_EMIT, (name, ...args) => {
@ -5574,7 +5811,7 @@ function invokeGetPushCidCallbacks(cid2, errMsg) {
getPushCidCallbacks.length = 0;
}
const API_GET_PUSH_CLIENT_ID = "getPushClientId";
const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, reject }) => {
const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve: resolve2, reject }) => {
Promise.resolve().then(() => {
if (typeof enabled === "undefined") {
enabled = false;
@ -5583,7 +5820,7 @@ const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, re
}
getPushCidCallbacks.push((cid2, errMsg) => {
if (cid2) {
resolve({ cid: cid2 });
resolve2({ cid: cid2 });
} else {
reject(errMsg);
}
@ -5652,9 +5889,9 @@ function promisify(name, api) {
if (isFunction(options.success) || isFunction(options.fail) || isFunction(options.complete)) {
return wrapperReturnValue(name, invokeApi(name, api, options, rest));
}
return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {
return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => {
invokeApi(name, api, extend({}, options, {
success: resolve,
success: resolve2,
fail: reject
}), rest);
})));
@ -6261,13 +6498,13 @@ function initRuntimeSocket(hosts, port, id) {
}
const SOCKET_TIMEOUT = 500;
function tryConnectSocket(host2, port, id) {
return new Promise((resolve, reject) => {
return new Promise((resolve2, reject) => {
const socket = index.connectSocket({
url: `ws://${host2}:${port}/${id}`,
multiple: true,
// 支付宝小程序 是否开启多实例
fail() {
resolve(null);
resolve2(null);
}
});
const timer = setTimeout(() => {
@ -6275,19 +6512,19 @@ function tryConnectSocket(host2, port, id) {
code: 1006,
reason: "connect timeout"
});
resolve(null);
resolve2(null);
}, SOCKET_TIMEOUT);
socket.onOpen((e) => {
clearTimeout(timer);
resolve(socket);
resolve2(socket);
});
socket.onClose((e) => {
clearTimeout(timer);
resolve(null);
resolve2(null);
});
socket.onError((e) => {
clearTimeout(timer);
resolve(null);
resolve2(null);
});
});
}
@ -6752,7 +6989,7 @@ function isConsoleWritable() {
function initRuntimeSocketService() {
const hosts = "192.168.1.7,192.168.195.32,127.0.0.1";
const port = "8090";
const id = "mp-weixin_CxGE-B";
const id = "mp-weixin_Du32r6";
const lazy = typeof swan !== "undefined";
let restoreError = lazy ? () => {
} : initOnError();
@ -7700,5 +7937,11 @@ const createSubpackageApp = initCreateSubpackageApp();
}
exports._export_sfc = _export_sfc;
exports.createSSRApp = createSSRApp;
exports.f = f;
exports.index = index;
exports.n = n;
exports.o = o;
exports.p = p;
exports.resolveComponent = resolveComponent;
exports.t = t;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map

View File

@ -2,14 +2,73 @@
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
data() {
return {};
return {
tabC: 1,
tabList: ["热榜", "精选", "关注"],
dataList: [{
id: 1,
title: "联合国预测世界人口将达到80亿这一数字这一数字",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}]
};
},
onLoad() {
},
methods: {}
methods: {
tabChange(i) {
this.tabC = i;
},
toDetails(i) {
common_vendor.index.navigateTo({
url: "/pages/index/news_details"
});
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {};
return {
a: common_vendor.f($data.tabList, (item, i, i0) => {
return {
a: common_vendor.t(item),
b: i,
c: common_vendor.n($data.tabC == i ? "act" : "unact"),
d: common_vendor.o(($event) => $options.tabChange(i), i)
};
}),
b: common_vendor.f($data.dataList, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: common_vendor.t(item.tiem),
c: common_vendor.o(($event) => $options.toDetails(item.id))
};
})
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);

View File

@ -1 +1 @@
<view class="content"></view>
<view class="content"><view class="" style="width:100%;height:225.19rpx;background-color:white;position:relative"><view class="tab"><view wx:for="{{a}}" wx:for-item="item" wx:key="b" class="{{['tab-item', item.c]}}" bindtap="{{item.d}}"><text>{{item.a}}</text></view></view></view><scroll-view class="" scroll-y="true" style="width:688.93rpx;height:1211rpx;margin:15rpx auto"><view wx:for="{{b}}" wx:for-item="item" class="view-data" bindtap="{{item.c}}"><view class="title">{{item.a}}</view><view class="time">{{item.b}}</view><view class="img"></view></view></scroll-view></view>

View File

@ -1,9 +1,100 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
display: flex;
flex-direction: column;
background-color: #F7F7F7;
}
.tab {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
bottom: 20rpx;
}
.tab .tab-item {
width: 155rpx;
height: 68rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.tab .tab-item.act {
font-size: 30.53rpx;
color: #000000;
}
.tab .tab-item.act::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 26.72rpx;
height: 4rpx;
background: #333333;
}
.tab .tab-item.unact {
font-size: 30.53rpx;
color: #4C4C4C;
}
.view-data {
width: 100%;
height: 225.19rpx;
background-color: white;
margin-bottom: 15rpx;
border-radius: 19.08rpx;
position: relative;
}
.view-data .title {
width: 366.41rpx;
height: 83.97rpx;
position: absolute;
top: 32rpx;
left: 20rpx;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
}
.view-data .time {
position: absolute;
left: 20rpx;
font-size: 22.9rpx;
color: #878787;
bottom: 24rpx;
}
.view-data .img {
position: absolute;
right: 20rpx;
top: 34rpx;
width: 225.19rpx;
height: 158.4rpx;
background-color: #D8D8D8;
}

View File

@ -0,0 +1,14 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
data() {
return {};
},
methods: {}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/mall/mall.js.map

View File

@ -0,0 +1,5 @@
{
"navigationStyle": "custom",
"navigationBarTitleText": "",
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view id="content"><view class="" style="width:100%;height:225.19rpx;background-color:white;position:relative"><view class=""> 商城 </view></view></view>

View File

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

View File

@ -0,0 +1,14 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
data() {
return {};
},
methods: {}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/me/me.js.map

View File

@ -0,0 +1,5 @@
{
"navigationStyle": "custom",
"navigationBarTitleText": "",
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view></view>

View File

View File

@ -0,0 +1,75 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
data() {
return {
tabC: 1,
tabList: ["热榜", "精选", "关注"],
dataList: [{
id: 1,
title: "联合国预测世界人口将达到80亿这一数字这一数字",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}, {
id: 1,
title: "联合国预测世界人口将达到80亿这一数字……",
tiem: "今天 20:01",
imgUrl: ""
}]
};
},
onLoad() {
},
methods: {
tabChange(i) {
this.tabC = i;
},
toDetails(i) {
common_vendor.index.navigateTo({
url: "/pages/news/news_details"
});
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.f($data.tabList, (item, i, i0) => {
return {
a: common_vendor.t(item),
b: i,
c: common_vendor.n($data.tabC == i ? "act" : "unact"),
d: common_vendor.o(($event) => $options.tabChange(i), i)
};
}),
b: common_vendor.f($data.dataList, (item, index, i0) => {
return {
a: common_vendor.t(item.title),
b: common_vendor.t(item.tiem),
c: common_vendor.o(($event) => $options.toDetails(item.id))
};
})
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/news/news.js.map

View File

@ -0,0 +1,5 @@
{
"navigationStyle": "custom",
"navigationBarTitleText": "",
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="content"><view class="" style="width:100%;height:225.19rpx;background-color:white;position:relative"><view class="tab"><view wx:for="{{a}}" wx:for-item="item" wx:key="b" class="{{['tab-item', item.c]}}" bindtap="{{item.d}}"><text>{{item.a}}</text></view></view></view><scroll-view class="" scroll-y="true" style="width:688.93rpx;height:1211rpx;margin:15rpx auto"><view wx:for="{{b}}" wx:for-item="item" class="view-data" bindtap="{{item.c}}"><view class="title">{{item.a}}</view><view class="time">{{item.b}}</view><view class="img"></view></view></scroll-view></view>

View File

@ -0,0 +1,100 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.content {
width: 100%;
display: flex;
flex-direction: column;
background-color: #F7F7F7;
}
.tab {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
bottom: 20rpx;
}
.tab .tab-item {
width: 155rpx;
height: 68rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.tab .tab-item.act {
font-size: 30.53rpx;
color: #000000;
}
.tab .tab-item.act::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 26.72rpx;
height: 4rpx;
background: #333333;
}
.tab .tab-item.unact {
font-size: 30.53rpx;
color: #4C4C4C;
}
.view-data {
width: 100%;
height: 225.19rpx;
background-color: white;
margin-bottom: 15rpx;
border-radius: 19.08rpx;
position: relative;
}
.view-data .title {
width: 366.41rpx;
height: 83.97rpx;
position: absolute;
top: 32rpx;
left: 20rpx;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
}
.view-data .time {
position: absolute;
left: 20rpx;
font-size: 22.9rpx;
color: #878787;
bottom: 24rpx;
}
.view-data .img {
position: absolute;
right: 20rpx;
top: 34rpx;
width: 225.19rpx;
height: 158.4rpx;
background-color: #D8D8D8;
}

View File

@ -0,0 +1,28 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
data() {
return {};
},
methods: {}
};
if (!Array) {
const _component_uni_nav_bar = common_vendor.resolveComponent("uni-nav-bar");
const _component_uni_section = common_vendor.resolveComponent("uni-section");
(_component_uni_nav_bar + _component_uni_section)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
title: "标题"
}),
b: common_vendor.p({
title: "基本用法",
subTitle: "使用 title 属性设置导航栏标题",
type: "line"
})
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/news/news_details.js.map

View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "",
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view><uni-section wx:if="{{b}}" u-s="{{['d']}}" style="margin-bottom:3px" u-i="79d8d3f0-0" bind:__l="__l" u-p="{{b}}"><view class="box-bg"><uni-nav-bar wx:if="{{a}}" u-i="79d8d3f0-1,79d8d3f0-0" bind:__l="__l" u-p="{{a}}"/></view></uni-section> 66666 </view>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B