Commit 187a3b50 by 肖康

Merge branch 'master' of http://git.ichunt.net/xiaokang/H5_2.0

parents e6289522 00c05b7d
...@@ -22,5 +22,23 @@ uni-page-head { ...@@ -22,5 +22,23 @@ uni-page-head {
body { body {
background: #f5f5f5; background: #f5f5f5;
} }
::v-deep uni-modal .uni-modal {
border-radius: 10rpx;
}
::v-deep uni-modal .uni-modal__hd {
color: #323233;
}
::v-deep uni-modal .uni-modal__btn_default {
color: #323233 !important;
}
::v-deep uni-modal .uni-modal__btn_primary {
color: #1969f9 !important;
}
::v-deep uni-modal .uni-modal__btn:after {
border-left: 1px solid #ebedf0;
}
::v-deep uni-modal .uni-modal__ft:after {
border-top: 1px solid #ebedf0;
}
/* #endif */ /* #endif */
</style> </style>
...@@ -6,6 +6,20 @@ ...@@ -6,6 +6,20 @@
"description": "", "description": "",
"glyphs": [ "glyphs": [
{ {
"icon_id": "35716547",
"name": "矩形",
"font_class": "juxing6",
"unicode": "e7a3",
"unicode_decimal": 59299
},
{
"icon_id": "35716548",
"name": "矩形 (1)",
"font_class": "a-juxing11",
"unicode": "e7a4",
"unicode_decimal": 59300
},
{
"icon_id": "35644729", "icon_id": "35644729",
"name": "矩形 (5)", "name": "矩形 (5)",
"font_class": "a-juxing5", "font_class": "a-juxing5",
......
.page-dome {
padding-top: 88rpx;
.icon-juxing5 {
font-size: 44rpx;
color: #fff;
}
.bg {
height: 455rpx;
background: url('https://static.ichunt.com/dist/res/home/images/dome/bg1.png') no-repeat center;
background-size: cover;
margin-bottom: 20rpx;
}
.section {
position: relative;
top: -172rpx;
}
.brand {
height: 305rpx;
background: #ffffff;
border-radius: 10rpx;
margin: 0 24rpx;
.uni-swiper-wrap {
padding: 0 24rpx;
height: 305rpx;
.swiper {
width: 100%;
height: 305rpx;
border-radius: 10px;
swiper-item {
width: 100%;
height: 305rpx;
border-radius: 10px;
box-sizing: border-box;
.head-box {
margin-top: 16rpx;
margin-bottom: 4rpx;
.left {
.pic {
width: 180rpx;
height: 101rpx;
}
.t1 {
font-size: 28rpx;
color: #292b33;
font-weight: 600;
margin-left: 12rpx;
}
}
.right {
.t1 {
font-size: 24rpx;
color: #919399;
}
.iconfont {
font-size: 32rpx;
color: #c9cbd2;
}
}
}
.text-desc {
font-size: 24rpx;
color: #919399;
line-height: 40rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
}
}
}
}
.faebtn {
padding-top: 32rpx;
.box {
width: 222rpx;
height: 174rpx;
background: #ffffff;
border-radius: 10rpx;
.pic {
width: 164rpx;
height: 100rpx;
}
.tt {
margin-top: 16rpx;
font-size: 22rpx;
color: #484b59;
}
}
}
.cooperation {
height: 254rpx;
background: #ffffff;
border-radius: 10rpx;
margin: 0 24rpx;
.uni-swiper-wrap {
padding: 0 24rpx;
height: 254rpx;
margin-bottom: 16rpx;
.swiper {
width: 100%;
height: 254rpx;
border-radius: 10px;
swiper-item {
width: 100%;
height: 254rpx;
border-radius: 10px;
box-sizing: border-box;
.box {
padding: 24rpx;
box-sizing: border-box;
flex-wrap: wrap;
.pic {
width: 144rpx;
height: 81rpx;
margin-bottom: 16rpx;
box-sizing: border-box;
}
}
}
}
}
}
.title {
font-size: 28rpx;
color: #292b33;
height: 104rpx;
font-weight: 600;
}
.content {
margin: 0 24rpx 16rpx 24rpx;
padding: 24rpx;
background: #ffffff;
border-radius: 10rpx;
.head {
margin-bottom: 34rpx;
.left {
.pic {
width: 60rpx;
height: 60rpx;
}
.tt {
margin-left: 28rpx;
font-size: 28rpx;
color: #292b33;
font-weight: 600;
}
}
.right {
.iconfont {
font-size: 40rpx;
color: #fa8826;
}
.tt {
font-size: 22rpx;
color: #919399;
margin-left: 4rpx;
}
}
}
.list {
flex-wrap: wrap;
.box {
width: 50%;
margin-bottom: 20rpx;
.index-class {
font-size: 24rpx;
color: #919399;
}
.text {
margin-left: 20rpx;
.t1 {
font-size: 26rpx;
color: #1969f9;
margin-bottom: 2rpx;
}
.t2 {
font-size: 24rpx;
color: #919399;
}
}
}
}
}
}
.page-download {
padding-top: 104rpx;
background: linear-gradient(200deg, #d6e8ff 0%, #f5f5f7 277px);
.download-head {
position: fixed;
top: 0;
left: 0;
right: 0;
padding: 0 32rpx;
width: 100%;
height: 88rpx;
z-index: 9999;
background: linear-gradient(200deg, #d6e8ff 0%, #f5f5f7 277px);
.icon-arrleft {
font-size: 44rpx;
color: #919399;
}
.input-box {
margin-left: 22rpx;
padding-left: 16rpx;
width: 538rpx;
height: 66rpx;
background: #ffffff;
border-radius: 33rpx;
.iconfont {
font-size: 34r px;
}
.uni-input {
height: 66rpx;
margin-left: 11rpx;
font-size: 24rpx;
}
}
.btn {
font-size: 28rpx;
color: #1969f9;
}
}
.uni-swiper-wrap {
padding: 0 24rpx;
height: 302rpx;
margin-bottom: 16rpx;
.swiper {
width: 100%;
height: 302rpx;
border-radius: 10px;
swiper-item {
width: 100%;
height: 302rpx;
border-radius: 10px;
image {
width: 100%;
height: 302rpx;
border-radius: 10rpx;
}
}
}
}
.content {
padding: 24rpx 24rpx 0 24rpx;
background: #ffffff;
border-radius: 10rpx 10rpx 0px 0px;
.head {
margin-bottom: 24rpx;
.title {
font-size: 26rpx;
color: #292b33;
font-weight: 600;
}
.t1 {
font-size: 22rpx;
color: #919399;
}
.t2 {
font-size: 22rpx;
color: #1969f9;
}
}
.tab {
flex-wrap: wrap;
.box {
padding: 0 24rpx;
height: 48rpx;
background: #f5f5f7;
border-radius: 27rpx;
font-size: 24rpx;
color: #484b59;
margin-right: 16rpx;
margin-bottom: 16rpx;
transition: all 0.4s ease-in-out;
&.curr {
background: #1969f9;
color: #fff;
}
}
}
.list {
margin-top: 24rpx;
border-top: 1px solid #f0f0f2;
.box {
padding: 24rpx 0;
border-bottom: 1px solid #f0f0f2;
.iconfont {
font-size: 48rpx;
color: #484b59;
}
.btn {
width: 142rpx;
height: 48rpx;
background: #ffffff;
border-radius: 6rpx;
border: 1px solid #1969f9;
font-size: 22rpx;
color: #1969f9;
}
.text {
margin-left: 12rpx;
.t1 {
font-size: 24rpx;
color: #484b59;
white-space: nowrap;
text-overflow: ellipsis;
white-space: nowrap;
}
.t2 {
font-size: 22rpx;
color: #919399;
}
}
}
}
.more {
height: 80rpx;
.t1 {
font-size: 24rpx;
color: #1969f9;
margin-right: 12rpx;
}
.iconfont {
font-size: 32rpx;
color: #1969f9;
}
}
}
.desc {
height: 77rpx;
font-size: 22rpx;
color: #919399;
background: #f5f5f7;
}
.messgae {
padding: 0 24rpx 50rpx 24rpx;
background: #ffffff;
border-radius: 10rpx 10rpx 0px 0px;
.head {
height: 84rpx;
.title {
font-size: 26rpx;
color: #292b33;
font-weight: 600;
}
.iconfont {
font-size: 32rpx;
color: #1969f9;
margin-right: 6rpx;
}
.t1 {
font-size: 24rpx;
color: #1969f9;
}
}
.list {
border-top: 1px solid #f0f0f2;
.box {
padding: 24rpx 0;
border-bottom: 1px solid #f0f0f2;
&:last-child {
border-bottom: none;
}
.pic {
width: 74rpx;
height: 74rpx;
border-radius: 50%;
image {
width: 74rpx;
height: 74rpx;
border-radius: 50%;
}
}
.message-content {
margin-left: 15rpx;
.t1 {
font-size: 24rpx;
color: #1969f9;
font-weight: 600;
}
.t2 {
font-size: 24rpx;
color: #484b59;
}
.time {
font-size: 22rpx;
color: #919399;
}
.iconfont {
font-size: 32rpx;
color: #919399;
}
.t3 {
font-size: 24rpx;
color: #919399;
margin-left: 8rpx;
}
.dianzan {
&.curr {
.iconfont {
color: #1969f9;
}
.t3 {
color: #1969f9;
}
}
}
}
}
}
}
}
.layer-box {
background: linear-gradient(180deg, #f0f6ff 0%, #ffffff 88rpx);
padding: 0 24rpx 24rpx 24rpx;
border-radius: 10rpx 10rpx 0px 0px;
.title {
height: 88rpx;
margin-bottom: 13rpx;
.left {
.t1 {
font-size: 32rpx;
color: #292b33;
font-weight: bold;
}
.t2 {
margin-left: 12rpx;
font-size: 22rpx;
color: #919399;
}
}
.right {
.iconfont {
font-size: 40rpx;
color: #c2c4cc;
}
}
}
.textarea-box {
height: 144rpx;
background: #f5f5f7;
border-radius: 10rpx;
.uni-textarea {
height: 144rpx;
padding: 24rpx;
font-size: 14px;
box-sizing: border-box;
}
}
.save {
margin-top: 32rpx;
height: 68rpx;
background: #1969f9;
border-radius: 10rpx;
font-size: 28rpx;
color: #fff;
}
}
.no-data {
padding-bottom: 24rpx;
image {
width: 356rpx;
height: 356rpx;
}
.tt {
margin-top: 32rpx;
font-size: 28rpx;
color: #292b33;
}
}
.page-dome {
padding: 88rpx 24rpx 0 24rpx;
.title {
height: 88rpx;
font-size: 28rpx;
color: #292b33;
font-weight: 600;
}
.content {
padding: 24rpx;
background: #ffffff;
border-radius: 10rpx;
.box {
margin-bottom: 28rpx;
&:last-child {
margin-bottom: 0;
}
.label-box {
margin-bottom: 16rpx;
.required {
font-size: 24rpx;
color: #1969f9;
}
.name {
font-size: 24rpx;
color: #484b59;
}
}
.tab {
color: #f00;
.tab-box {
width: 206rpx;
height: 72rpx;
background: #f5f5f7;
border-radius: 6rpx;
font-size: 24rpx;
color: #292b33;
}
}
.textarea-box {
height: 144rpx;
background: #f5f5f7;
border-radius: 10rpx;
.uni-textarea {
height: 144rpx;
padding: 24rpx;
font-size: 24rpx;
}
}
.input-box {
width: 654rpx;
height: 72rpx;
background: #f5f5f7;
border-radius: 10rpx;
.uni-input {
padding-left: 24rpx;
height: 72rpx;
font-size: 24rpx;
}
}
}
}
.btn {
position: fixed;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 100rpx;
z-index: 9;
background: #ffffff;
box-shadow: 0px -4rpx 20rpx 0px rgba(198, 199, 204, 0.1);
border-radius: 10rpx 10rpx 0px 0px;
padding: 0 24rpx;
.btn1 {
width: 100%;
height: 68rpx;
background: #1969f9;
border-radius: 10rpx;
font-size: 28rpx;
color: #fff;
}
}
}
.page-news { .page-news {
padding-top: 160rpx; padding-top: 88rpx;
background: linear-gradient(200deg, #d6e8ff 0%, #f5f5f7 277px); background: linear-gradient(200deg, #d6e8ff 0%, #f5f5f7 277px);
.search-box {
position: fixed;
right: 90rpx;
top: 12rpx;
width: 538rpx;
height: 66rpx;
background: #ffffff;
border-radius: 33rpx;
border: 2rpx solid #c6c7cc;
padding-left: 16rpx;
transition: all 0.4s ease;
.iconfont {
font-size: 34rpx;
}
.uni-input {
height: 66rpx;
margin-left: 11rpx;
font-size: 24rpx;
}
&:focus-within {
border: 2rpx solid #1969f9;
}
}
.icon-search { .icon-search {
font-size: 44rpx; font-size: 44rpx;
color: #484b59; color: #484b59;
} }
.icon-xxx {
font-size: 44rpx;
color: #919399;
}
.uni-margin-wrap {
background-color: #ffffff;
padding: 0 24rpx;
height: 302rpx;
.swiper {
width: 100%;
height: 302rpx;
border-radius: 10px;
swiper-item {
width: 100%;
height: 302rpx;
border-radius: 10px;
image {
width: 100%;
height: 302rpx;
border-radius: 10rpx;
}
}
}
}
.tab { .tab {
position: fixed; position: fixed;
top: 88rpx; top: 88rpx;
left: 0; left: 0;
right: 0; right: 0;
width: 100%; width: 100%;
height: 73rpx;
padding: 16rpx 0 16rpx 24rpx; padding: 16rpx 0 16rpx 24rpx;
border-bottom: 1px solid #f0f0f2; border-bottom: 1px solid #f0f0f2;
z-index: 99; z-index: 99;
...@@ -21,6 +69,11 @@ ...@@ -21,6 +69,11 @@
font-size: 28rpx; font-size: 28rpx;
color: #484b59; color: #484b59;
margin-right: 35rpx; margin-right: 35rpx;
transition: all 0.4s ease;
white-space: nowrap;
&.curr {
font-weight: 600;
}
&.curr::after { &.curr::after {
position: absolute; position: absolute;
bottom: -4rpx; bottom: -4rpx;
...@@ -56,8 +109,11 @@ ...@@ -56,8 +109,11 @@
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
display: block;
} }
.label { .label {
width: 80%;
flex-wrap: wrap;
.label-box { .label-box {
padding: 0 16rpx; padding: 0 16rpx;
height: 34rpx; height: 34rpx;
...@@ -67,11 +123,13 @@ ...@@ -67,11 +123,13 @@
font-size: 22rpx; font-size: 22rpx;
color: #23a8f6; color: #23a8f6;
margin-right: 14rpx; margin-right: 14rpx;
margin-bottom: 14rpx;
} }
} }
.time { .time {
font-size: 22rpx; font-size: 22rpx;
color: #919399; color: #919399;
white-space: nowrap;
} }
} }
&:last-child { &:last-child {
...@@ -111,9 +169,11 @@ ...@@ -111,9 +169,11 @@
} }
} }
.label { .label {
flex-wrap: wrap;
.box { .box {
padding: 0 16rpx; padding: 0 16rpx;
margin-right: 14rpx; margin-right: 14rpx;
margin-bottom: 14rpx;
height: 34rpx; height: 34rpx;
background: #ffffff; background: #ffffff;
border-radius: 17rpx; border-radius: 17rpx;
...@@ -129,8 +189,8 @@ ...@@ -129,8 +189,8 @@
font-size: 26rpx; font-size: 26rpx;
color: #484b59; color: #484b59;
line-height: 50rpx; line-height: 50rpx;
image { img {
max-width: 100%; max-width: 100% !important;
} }
} }
} }
...@@ -154,6 +214,9 @@ ...@@ -154,6 +214,9 @@
margin-bottom: 24rpx; margin-bottom: 24rpx;
font-size: 24rpx; font-size: 24rpx;
color: #484b59; color: #484b59;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
&.curr { &.curr {
color: #1969f9; color: #1969f9;
} }
...@@ -162,9 +225,25 @@ ...@@ -162,9 +225,25 @@
} }
.ad { .ad {
padding: 28rpx 24rpx 30rpx 24rpx; padding: 28rpx 24rpx 30rpx 24rpx;
image { .box {
width: 100%; display: block;
height: 302px; margin-bottom: 24rpx;
image {
width: 100%;
height: 302px;
}
} }
} }
} }
.no-data {
image {
width: 356rpx;
height: 356rpx;
}
.tt {
margin-top: 32rpx;
font-size: 28rpx;
color: #292b33;
}
}
.page-zqsx { .page-zqsx {
.back {
position: fixed;
top: 22rpx;
left: 32rpx;
.iconfont {
font-size: 44rpx;
color: #ffffff;
}
}
.bg { .bg {
height: 760rpx; height: 760rpx;
background: url('https://img.ichunt.com/images/ichunt/202305/20/037958d4bfd087998ada3fbeb60f5eb0.png') no-repeat center; background: url('https://img.ichunt.com/images/ichunt/202305/20/037958d4bfd087998ada3fbeb60f5eb0.png') no-repeat center;
background-size: cover; background-size: cover;
} }
.bg1 {
height: 760rpx;
background: url('https://img.ichunt.com/images/ichunt/202305/27/8ba5b044f4d5584e13759b8167c4640a.png') no-repeat center;
background-size: cover;
}
.form-box { .form-box {
position: relative; position: relative;
top: -128rpx; top: -128rpx;
......
<template> <template>
<view class="h5-nav row avarage verCenter"> <view class="h5-nav row avarage verCenter">
<text class="iconfont icon-arrleft" v-back></text> <text class="iconfont icon-arrleft" v-back></text>
<text class="title">{{ title }}</text> <text class="title" @click="change()">{{ title }}</text>
<view class="bar"><slot name="title-bar"></slot></view> <view class="bar"><slot name="title-bar"></slot></view>
</view> </view>
</template> </template>
...@@ -18,7 +18,11 @@ export default { ...@@ -18,7 +18,11 @@ export default {
data() { data() {
return {}; return {};
}, },
methods: {} methods: {
change() {
this.$emit('clickChange', this.title);
}
}
}; };
</script> </script>
...@@ -45,6 +49,9 @@ export default { ...@@ -45,6 +49,9 @@ export default {
color: #292b33; color: #292b33;
text-align: center; text-align: center;
font-weight: 500; font-weight: 500;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} }
.bar { .bar {
width: 33.3%; width: 33.3%;
......
...@@ -27,7 +27,8 @@ var globalData = { ...@@ -27,7 +27,8 @@ var globalData = {
h5_home_activity_recommend: '', h5_home_activity_recommend: '',
h5_home_hide_menu: '', h5_home_hide_menu: '',
h5_home_hot_search_goods: '', h5_home_hot_search_goods: '',
kfqq_xk: '' kfqq_xk: '',
wx_sign: ''
}; };
//读取全局变量配置 //读取全局变量配置
...@@ -39,6 +40,7 @@ request(Ichunt_Api + '/api/common/data', 'GET', {}, true, true).then(res => { ...@@ -39,6 +40,7 @@ request(Ichunt_Api + '/api/common/data', 'GET', {}, true, true).then(res => {
globalData.h5_home_hide_menu = res.data.h5_home_hide_menu; globalData.h5_home_hide_menu = res.data.h5_home_hide_menu;
globalData.h5_home_hot_search_goods = res.data.h5_home_hot_search_goods; globalData.h5_home_hot_search_goods = res.data.h5_home_hot_search_goods;
globalData.kfqq_xk = res.data.kfqq_xk.data; globalData.kfqq_xk = res.data.kfqq_xk.data;
globalData.wx_sign = res.data.wx_sign;
Vue.prototype.$globalData = globalData; Vue.prototype.$globalData = globalData;
} }
}); });
......
...@@ -4,6 +4,11 @@ ...@@ -4,6 +4,11 @@
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"jweixin-module": {
"version": "1.6.0",
"resolved": "https://repo.huaweicloud.com/repository/npm/jweixin-module/-/jweixin-module-1.6.0.tgz",
"integrity": "sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w=="
},
"lodash": { "lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://repo.huaweicloud.com/repository/npm/lodash/-/lodash-4.17.21.tgz", "resolved": "https://repo.huaweicloud.com/repository/npm/lodash/-/lodash-4.17.21.tgz",
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"jweixin-module": "^1.6.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"query-string": "^6.14.1", "query-string": "^6.14.1",
"uni-simple-router": "^1.5.5" "uni-simple-router": "^1.5.5"
......
...@@ -226,10 +226,34 @@ ...@@ -226,10 +226,34 @@
"style": { "style": {
"navigationBarTitleText": "编辑发票" "navigationBarTitleText": "编辑发票"
} }
},
{
"path": "pages/mine/download",
"style": {
"navigationBarTitleText": "白皮书"
}
},
{
"path": "pages/mine/dome",
"style": {
"navigationBarTitleText": "国产替代"
}
},
{
"path": "pages/mine/fae",
"style": {
"navigationBarTitleText": "FAE技术支持申请"
}
},
{
"path": "pages/mine/enterprise",
"style": {
"navigationBarTitleText": "企业专享"
}
} }
], ],
"globalStyle": { "globalStyle": {
"maxWidth": 750
}, },
"uniIdRouter": {} "uniIdRouter": {}
} }
\ No newline at end of file
<template> <template>
<view class="page-user">账期服务</view> <view class="page-user">关于我们</view>
</template> </template>
<script> <script>
......
<template> <template>
<view class="page-news-detail"> <view class="page-news-detail">
<navElement title="新闻详情"> <navElement :title="title" @clickChange="handleChangeTitle">
<template slot="title-bar"> <template slot="title-bar">
<view style="text-align: right;" @click="open()"><text class="iconfont icon-juxing5"></text></view> <view style="text-align: right;" @click.stop="open()"><text class="iconfont icon-juxing5"></text></view>
</template> </template>
</navElement> </navElement>
<view class="detail"> <view class="detail">
<view class="title">猎芯以数字化方式构建全新质检体系,保障企业用“芯”无忧</view> <view class="title">{{ detail.title }}</view>
<view class="info row bothSide verCenter"> <view class="info row bothSide verCenter">
<view class="tt"> <view class="tt">
<text style="margin-right: 100rpx;">来源:网络整理</text> <text style="margin-right: 100rpx;">来源:{{ detail.writer }}</text>
<text>阅读 232</text> <text>阅读 {{ detail.click }}</text>
</view> </view>
<view class="time">2023-04-12 11:16</view> <view class="time">{{ detail.publish_time }}</view>
</view> </view>
<view class="label row"> <view class="label row">
<view class="box row rowCenter verCenter">专用传感器</view> <view class="box row rowCenter verCenter" @click.stop="toUrl(item.tag_id, 1, item.tag)" v-for="(item, index) in detail.tag" :key="item.tag_id">{{ item.tag }}</view>
<view class="box row rowCenter verCenter">美仁</view> <view class="box row rowCenter verCenter" @click.stop="toUrl(item.function_tag_id, 2, item.name)" v-for="(item, index) in detail.function_tags" :key="index">{{ item.name }}</view>
<view class="box row rowCenter verCenter">猎芯动态</view>
</view> </view>
<view class="content">近日,猎芯质检中心完成检测设备与综合配套能力的全面升级!伴随着整体的质检场地扩容以及整套标准化质检程序的完善,猎芯质检中心现已具备对芯片等主动器件进行全量数据比对、外观检测、电气性能测试、可焊性测试、X-RAY无损透视检测、烘烤、真空包装等能力。同时拥有LCR测量,支持对电感、电容、电阻等被动器件全外观及标签的全功能电性功能检测能力。通过多设备多程序及系统作业,一方面确保猎芯质检中心基于基础器件检测结果的专业性,同时整体提升了质检全流程在交易履约服务中的应用效率!</view> <view class="content" v-html="detail.content"></view>
</view> </view>
<view class="hot-article"> <view class="hot-article" v-if="detail.hot_article_list && detail.hot_article_list.length > 0">
<view class="title row verCenter"> <view class="title row verCenter">
<text class="t1">热门文章</text> <text class="t1">热门文章</text>
<text class="iconfont icon-a-juxing1"></text> <text class="iconfont icon-a-juxing1"></text>
</view> </view>
<view class="list"> <view class="list">
<view class="box curr">1. 猎芯以数字化方式构建全新质检体系,保障企业用“芯”无忧</view> <view class="box" v-for="(item, index) in detail.hot_article_list" :key="index">{{ index + 1 }}. {{ item.title }}</view>
<view class="box curr">2. 猎芯以数字化方式构建全新质检体系,保障企业用“芯”无忧</view>
<view class="box curr">3. 猎芯以数字化方式构建全新质检体系,保障企业用“芯”无忧</view>
<view class="box">4. 猎芯以数字化方式构建全新质检体系,保障企业用“芯”无忧</view>
<view class="box">5. 猎芯以数字化方式构建全新质检体系,保障企业用“芯”无忧</view>
</view> </view>
</view> </view>
<view class="ad"><image src="https://img.ichunt.com/images/ichunt/202305/20/ffa1060a38803d5b436b33259fe142d0.jpg" mode="aspectFill"></image></view> <view class="ad" v-if="detail.h5_news_detail_ad && detail.h5_news_detail_ad.length > 0">
<uni-popup ref="share" type="share" safeArea backgroundColor="#fff"><uni-popup-share></uni-popup-share></uni-popup> <a class="box" :href="item.url" v-for="(item, index) in detail.h5_news_detail_ad" :key="index"><image mode="aspectFill" :src="item.images" lazy-load="true"></image></a>
</view>
<uni-popup ref="share" type="share" safeArea backgroundColor="#fff"><uni-popup-share @select="selectChange"></uni-popup-share></uni-popup>
</view> </view>
</template> </template>
<script> <script>
import { Api_Url } from '@/util/api.js'; import { Api_Url } from '@/util/api.js';
import navElement from '@/components/nav.vue'; import navElement from '@/components/nav.vue';
import wx from 'jweixin-module';
export default { export default {
components: { components: {
navElement navElement
}, },
data() { data() {
return {}; return {
title: '',
type_id: '',
detail: {},
searchParams: {
art_id: ''
}
};
},
onLoad(options) {
this.searchParams.art_id = this.$route.params.art_id;
},
onShow() {
this.getData();
}, },
onShow() {},
methods: { methods: {
handleChangeTitle(e) {
uni.navigateTo({
url: '/news?type_id=' + this.type_id
});
},
open() { open() {
this.$refs.share.open('bottom'); this.$refs.share.open('bottom');
},
selectChange(e) {
if (e.index == 0) {
this.wxChange();
} else if (e.index == 1) {
this.wxChange();
} else if (e.index == 2) {
uni.setClipboardData({
data: window.location.href,
success() {
uni.showToast({
title: '复制成功',
icon: 'success'
});
}
});
} else if (e.index == 3) {
}
},
wxChange(type) {
var wx_sign = this.$globalData.wx_sign;
wx.config({
// 必填,公众号的唯一标识
appId: wx_sign.appId,
// 必填,生成签名的时间戳
timestamp: wx_sign.timestamp,
// 必填,生成签名的随机串
nonceStr: wx_sign.nonceStr,
// 必填,签名
signature: wx_sign.signature,
// 必填,需要使用的JS接口列表
jsApiList: [
'updateAppMessageShareData', // 分享到朋友
'updateTimelineShareData' // 分享到朋友圈
]
});
wx.ready(() => {
// 微信JS-SDK初始化成功的逻辑
if (type == 0) {
// 分享给朋友
wx.updateAppMessageShareData({
title: this.title,
desc: this.detail.title,
link: window.location.href,
imgUrl: 'https://img.ichunt.com/images/ichunt/202305/27/629558c925582120340af8ebb2337f40.png',
success: function() {
// 分享成功的逻辑
},
fail: function() {
// 分享失败的逻辑
}
});
}
if (type == 1) {
// 分享到朋友圈
wx.updateTimelineShareData({
title: this.title,
link: window.location.href,
imgUrl: 'https://img.ichunt.com/images/ichunt/202305/27/629558c925582120340af8ebb2337f40.png',
success: function() {
// 分享成功的逻辑
},
fail: function() {
// 分享失败的逻辑
}
});
}
});
wx.error(res => {
// 微信JS-SDK初始化失败的逻辑
});
},
toUrl(id, type, name) {
if (type == 1) {
uni.navigateTo({
url: '/news?tag_id=' + id + '&title=' + name
});
this.title = name;
} else if (type == 2) {
uni.navigateTo({
url: '/news?function_tag_id=' + id + '&title=' + name
});
}
},
getData() {
this.request(Api_Url + '/article/articleDetail', 'POST', this.searchParams, true, true).then(res => {
if (res.err_code === 0) {
this.title = res.data.type_name;
this.type_id = res.data.type_id;
this.detail = res.data;
} else {
uni.showToast({
title: res.err_msg,
icon: 'none'
});
}
});
} }
} }
}; };
...@@ -60,4 +176,7 @@ export default { ...@@ -60,4 +176,7 @@ export default {
<style lang="scss"> <style lang="scss">
@import '@/assets/css/mine/news.scss'; @import '@/assets/css/mine/news.scss';
.content /deep/ img {
max-width: 100%;
}
</style> </style>
<template>
<view class="page-download">
<view class="download-head row verCenter bothSide">
<view class="row verCenter">
<text class="iconfont icon-arrleft" v-back></text>
<view class="input-box row verCenter">
<text class="iconfont icon-search"></text>
<input type="text" placeholder="请输入文章关键字查找" class="uni-input" v-model="searchParams.title" @input="handleInput()" />
</view>
</view>
<view class="btn" @click="handleInput()">搜索</view>
</view>
<view class="uni-swiper-wrap" v-if="ad.length > 0">
<swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" :duration="duration">
<swiper-item v-for="(item, index) in ad" :key="index"><image mode="aspectFill" :src="item.images" lazy-load="true"></image></swiper-item>
</swiper>
</view>
<view class="content">
<view class="row bothSide verCenter head">
<text class="title">资料类目</text>
<view class="row verCenter">
<text class="t1">每日</text>
<text class="t2">{{ daily_download_count }}</text>
<text class="t1">次,当前剩下下载数量:</text>
<text class="t2">{{ remain_download_count }}</text>
</view>
</view>
<view class="tab row">
<view class="box row rowCenter verCenter" v-for="(item, index) in show_class" :key="index" :class="{ curr: curr == index }" @click="tab(index, item.class_id)">{{ item.class_name }}</view>
</view>
<view class="list" v-if="list.length > 0">
<view class="box row bothSide verCenter" v-for="(item, index) in list" :key="index">
<view class="row verCenter">
<text class="iconfont icon-juxing6"></text>
<view class="text">
<text class="t1" style="margin-bottom: 10rpx;">{{ item.class_name || '-' }}</text>
<view>
<text class="t2">已下载</text>
<text class="t1" style="padding: 0 4rpx;">{{ item.download_num }}</text>
<text class="t2"></text>
</view>
</view>
</view>
<view class="btn row rowCenter verCenter" v-if="is_login">下载</view>
<navigator class="btn row rowCenter verCenter" url="/login?referer=/download" v-else>下载</navigator>
</view>
</view>
<view class="no-data column rowCenter verCenter" v-else>
<image src="../../static/nodate.png"></image>
<text class="tt">暂无相关类目数据</text>
</view>
<view class="more row rowCenter verCenter" @click="more()" v-if="flag">
<text class="t1">查看更多</text>
<text class="iconfont icon-arrbot"></text>
</view>
</view>
<view class="desc row rowCenter verCenter">*法律声明:本资料库的文档为网络收集,仅供学习使用,勿做商用</view>
<!-- 留言 -->
<view class="messgae">
<view class="head row bothSide verCenter">
<text class="title">精选留言</text>
<view class="row verCenter">
<text class="iconfont icon-news"></text>
<text class="t1" @click="open()">写留言</text>
</view>
</view>
<view class="list" v-if="message.length > 0">
<view class="box row" v-for="(item, index) in message" :key="index">
<view class="pic"><image :src="item.user_pic" mode="aspectFill"></image></view>
<view class="message-content" style="width: 600rpx;">
<view class="t1" style="margin-bottom: 12rpx;">{{ item.user_account }}</view>
<view class="t2" style="margin-bottom: 13rpx;">{{ item.user_content }}</view>
<view class="row bothSide verCenter">
<view class="time">{{ item.user_time }} {{ item.user_area }}</view>
<view class="row verCenter dianzan curr">
<text class="iconfont icon-a-juxing11"></text>
<text class="t3">{{ item.user_good_num || 0 }}</text>
</view>
</view>
<view class="row" style="margin-top: 26rpx;">
<view class="pic"><image src="http://order.ichunt.net/assets/images/logo1.png" mode="aspectFill"></image></view>
<view class="message-content">
<view class="t1" style="margin-bottom: 12rpx;">{{ item.reply_account }}</view>
<view class="t2" style="margin-bottom: 13rpx;">{{ item.reply_content }}</view>
<view class="row verCenter">
<view class="time">{{ item.reply_time }} {{ item.reply_area }}</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="no-data column rowCenter verCenter" v-else>
<image src="../../static/nodate.png"></image>
<text class="tt">暂无相关类目数据</text>
</view>
</view>
<!-- 留言 -->
<uni-popup ref="popup" type="bottom">
<view class="layer-box">
<view class="title row verCenter bothSide">
<view class="left">
<text class="t1">写留言</text>
<text class="t2">可以许愿你想要的资料哦</text>
</view>
<view class="right row"><text class="iconfont icon-xxx" @click="close()"></text></view>
</view>
<view class="textarea-box row bothSide verCenter"><textarea placeholder="输入你的留言内容" class="uni-textarea"></textarea></view>
<view class="save row rowCenter verCenter">留言</view>
</view>
</uni-popup>
</view>
</template>
<script>
import { Ichunt_Api, Api_Url, Api_MUrl } from '@/util/api.js';
import debounce from 'lodash/debounce';
import { setCookie, delCookie, getCookie } from '@/util/util.js';
export default {
data() {
return {
is_login: getCookie('Yo4teW_uid') == 0 ? false : true,
flag: true,
curr: 0,
indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 500,
ad: [], //广告
show_class: [], //资料类目
list: [], //下载list数据
daily_download_count: '', //每日下载次数
remain_download_count: '', //当前剩下下载数量
message: [], //留言列表
searchParams: {
title: '',
class_id: '',
limit: 10
}
};
},
onShow() {
this.getData();
},
methods: {
open() {
this.$refs.popup.open('bottom');
},
close() {
this.$refs.popup.close();
},
tab(index, class_id) {
this.curr = index;
this.searchParams.class_id = class_id;
this.getShowData();
},
/**
* 搜索
* @param {Object} event
*/
handleInput: debounce(function(event) {
this.getShowData();
}, 500),
/**
* 查看更多数据
*/
more() {
this.searchParams.limit = 10000;
this.getShowData();
},
getData() {
//获取资料类目
this.request(Api_Url + '/article/show_class', 'POST', {}, true, true).then(res => {
if (res.err_code === 0) {
this.show_class = res.data;
this.getShowData();
}
});
//获取广告
this.request(Ichunt_Api + '/m/News/getfileuploadbanner', 'POST', {}, true, true).then(res => {
if (res.err_code === 0) {
this.ad = res.data.data;
}
});
},
getShowData() {
this.request(Api_Url + '/article/showData', 'POST', this.searchParams, true, true).then(res => {
if (res.err_code === 0) {
this.daily_download_count = res.data.daily_download_count;
this.remain_download_count = res.data.remain_download_count;
if (res.data.total == 0) {
this.flag = false;
this.list = [];
} else {
this.flag = true;
this.list = res.data.result;
}
}
});
this.request(Api_Url + '/article/articleMessageList', 'GET', { page: 1, limit: 10000 }, true, true).then(res => {
if (res.err_code === 0) {
this.message = res.data.result;
}
});
},
/**
* 提交留言
*/
createArticleMessage() {}
}
};
</script>
<style lang="scss">
@import '@/assets/css/mine/download.scss';
</style>
<template>
<view class="page-zqsx">
<view class="back" v-back><text class="iconfont icon-arrleft"></text></view>
<view class="bg1"></view>
<view class="form-box">
<view class="kefu row verCenter">
<text class="iconfont icon-a-juxingbeifen141"></text>
<text class="tt">企业专线对接</text>
</view>
<view class="input-box column">
<view class="text">
<text class="t1">*</text>
<text class="t2">公司名称:</text>
</view>
<view><input type="text" placeholder="请输入公司名称" class="uni-input" v-model="formParams.com_name" /></view>
</view>
<view class="input-box column">
<view class="text">
<text class="t1">*</text>
<text class="t2">联系人:</text>
</view>
<view><input type="text" placeholder="请输入联系人" class="uni-input" v-model="formParams.linkman" /></view>
</view>
<view class="input-box column">
<view class="text">
<text class="t1">*</text>
<text class="t2">联系电话:</text>
</view>
<view><input type="text" placeholder="请输入联系电话" class="uni-input" v-model="formParams.mobile" /></view>
</view>
<view class="input-box column">
<view class="text">
<text class="t1">*</text>
<text class="t2">邮箱:</text>
</view>
<view><input type="text" placeholder="请输入邮箱" class="uni-input" v-model="formParams.email" /></view>
</view>
<view class="btn row rowCenter verCenter" @click="submit()">提交</view>
</view>
<!-- 提交成功 -->
<uni-popup ref="popup" type="center">
<view class="layer-box">
<text class="iconfont icon-xxx colose" @click="close()"></text>
<view class="success row">
<text class="iconfont icon-huaban"></text>
<view class="success-text column">
<text class="t1">提交成功</text>
<text class="t2">正在为您安排专人对接,请注意接听预留电话</text>
</view>
</view>
<view class="btn row rowCenter verCenter" @click="reload()">确定</view>
</view>
</uni-popup>
</view>
</template>
<script>
import { Api_Url } from '@/util/api.js';
import navElement from '@/components/nav.vue';
export default {
components: {
navElement
},
data() {
return {
formParams: {
com_name: '',
linkman: '',
mobile: '',
email: '',
com_nature: '',
business_license_src: ''
}
};
},
onShow() {},
methods: {
open() {
this.$refs.popup.open('center');
},
close() {
this.$refs.popup.close();
},
reload() {
window.location.reload();
},
submit() {
if (!this.formParams.com_name) {
uni.showToast({
title: '请填写公司名称',
icon: 'none'
});
return false;
}
if (!this.formParams.linkman) {
uni.showToast({
title: '请填写联系人',
icon: 'none'
});
return false;
}
if (!this.formParams.mobile) {
uni.showToast({
title: '请填写电话',
icon: 'none'
});
return false;
}
if (!this.formParams.email) {
uni.showToast({
title: '请填写邮箱',
icon: 'none'
});
return false;
}
if (!this.formParams.com_nature) {
uni.showToast({
title: '请选择公司性质',
icon: 'none'
});
return false;
}
this.formParams.business_license_src = this.image_list[0];
this.request(Api_Url + '/help/help/addCreditApply', 'POST', this.formParams, true, true).then(res => {
if (res.err_code === 0) {
this.open();
} else {
uni.showModal({
itle: '提示',
content: res.err_msg,
showCancel: false
});
}
});
}
}
};
</script>
<style lang="scss">
@import '@/assets/css/mine/zqsx.scss';
</style>
<template>
<view class="page-dome">
<navElement title="FAE技术申请"></navElement>
<view class="title row verCenter">申请人信息</view>
<view class="content">
<view class="box">
<view class="label-box">
<text class="required">*</text>
<text class="name">姓名:</text>
</view>
<view class="input-box"><input type="text" placeholder="请输入姓名" class="uni-input" /></view>
</view>
<view class="box">
<view class="label-box">
<text class="required">*</text>
<text class="name">手机号:</text>
</view>
<view class="input-box"><input type="text" placeholder="请输入手机号" class="uni-input" /></view>
</view>
<view class="box">
<view class="label-box">
<text class="required">*</text>
<text class="name">公司名:</text>
</view>
<view class="input-box"><input type="text" placeholder="请输入公司名" class="uni-input" /></view>
</view>
<view class="box">
<view class="label-box">
<text class="required">*</text>
<text class="name">邮箱:</text>
</view>
<view class="input-box"><input type="text" placeholder="请输入邮箱" class="uni-input" /></view>
</view>
</view>
<view class="title row verCenter">项目信息</view>
<view class="content">
<view class="box">
<view class="label-box">
<text class="required">*</text>
<text class="name">项目阶段</text>
</view>
<view class="tab row avarage">
<view class="tab-box row rowCenter verCenter">设计研发</view>
<view class="tab-box row rowCenter verCenter">小批量试产</view>
<view class="tab-box row rowCenter verCenter">已量产</view>
</view>
</view>
<view class="box">
<view class="label-box">
<text class="required">*</text>
<text class="name">申请理由</text>
</view>
<view class="tab row avarage">
<view class="tab-box row rowCenter verCenter">压缩成本</view>
<view class="tab-box row rowCenter verCenter">停产料替代</view>
<view class="tab-box row rowCenter verCenter">进口交期长</view>
</view>
</view>
<view class="box">
<view class="label-box">
<text class="required">*</text>
<text class="name">需求描述:</text>
</view>
<view class="textarea-box row"><textarea class="uni-textarea" placeholder="请输入需求描述"></textarea></view>
</view>
</view>
<view class="btn row rowCenter verCenter"><view class="btn1 row rowCenter verCenter">提交</view></view>
</view>
</template>
<script>
import { Api_Url } from '@/util/api.js';
import navElement from '@/components/nav.vue';
export default {
components: {
navElement
},
data() {
return {};
},
onLoad(options) {},
onShow() {
this.getData();
},
methods: {
getData() {}
}
};
</script>
<style lang="scss">
@import '@/assets/css/mine/fae.scss';
</style>
<template> <template>
<view class="page-news"> <view class="page-news">
<navElement title="新闻资讯"> <navElement :title="title" @change="sortChange()">
<template slot="title-bar"> <template slot="title-bar">
<view style="text-align: right;"><text class="iconfont icon-search"></text></view> <view class="search-box row verCenter" v-if="!searchFlag">
<text class="iconfont icon-search"></text>
<input type="text" placeholder="请输入搜索" class="uni-input" @input="handleInput($event)" v-model="searchParams.title" />
</view>
<view style="text-align: right;" v-if="searchFlag" @click="searchFlag = false"><text class="iconfont icon-search"></text></view>
<view style="text-align: right;" v-else @click="searchFlag = true"><text class="iconfont icon-xxx"></text></view>
</template> </template>
</navElement> </navElement>
<view class="tab"> <view class="uni-margin-wrap">
<text class="box curr">行业热点</text> <swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" :duration="duration">
<text class="box">猎芯公告</text> <swiper-item v-for="(item, index) in ad" :key="index"><image mode="aspectFill" :src="item.images" lazy-load="true"></image></swiper-item>
<text class="box">猎芯活动</text> </swiper>
<text class="box">知识分享</text>
</view> </view>
<view class="list"> <view class="list" v-if="list.length > 0">
<navigator class="box" url="/article" hover-class="none"> <view class="box column" v-for="(item, index) in list" :key="item.art_id">
<view class="pic"><image mode="aspectFill" src="https://img.ichunt.com/images/ichunt/202305/20/ffa1060a38803d5b436b33259fe142d0.jpg"></image></view>
</navigator>
<navigator class="box" url="/article" hover-class="none">
<view class="pic">
<image mode="aspectFill" src="https://img.ichunt.com/images/ichunt/202305/20/ffa1060a38803d5b436b33259fe142d0.jpg"></image>
<view class="uni-text">
<view class="desc">猎芯以数字化方式构建全新质检体系,保障企业猎芯以数字化方式构建全新质检体系,保障企业用…猎芯以数字化方式构建全新质检体系,保障企业</view>
<view class="desc-bar row bothSide">
<view class="label row verCenter">
<view class="label-box row rowCenter verCenter">专用传感器</view>
<view class="label-box">标签</view>
</view>
<text class="time">2023-03-16 18:23:17</text>
</view>
</view>
</view>
</navigator>
<navigator class="box" url="/article" hover-class="none">
<view class="pic">
<image mode="aspectFill" src="https://img.ichunt.com/images/ichunt/202305/20/ffa1060a38803d5b436b33259fe142d0.jpg"></image>
<view class="uni-text">
<view class="desc">猎芯以数字化方式构建全新质检体系,保障企业猎芯以数字化方式构建全新质检体系,保障企业用…猎芯以数字化方式构建全新质检体系,保障企业</view>
<view class="desc-bar row bothSide">
<view class="label row verCenter">
<view class="label-box row rowCenter verCenter">专用传感器</view>
<view class="label-box">标签</view>
</view>
<text class="time">2023-03-16 18:23:17</text>
</view>
</view>
</view>
</navigator>
<navigator class="box" url="/article" hover-class="none">
<view class="pic"> <view class="pic">
<image mode="aspectFill" src="https://img.ichunt.com/images/ichunt/202305/20/ffa1060a38803d5b436b33259fe142d0.jpg"></image> <a :href="'/#/article/' + item.art_id"><image mode="aspectFill" :src="item.litpic || 'https://img.ichunt.com/images/ichunt/202305/26/e512c97ccd155a504e972c7c27d75a35.jpg'" :mode="mode" lazy-load="true"></image></a>
<view class="uni-text"> <view class="uni-text">
<view class="desc">猎芯以数字化方式构建全新质检体系,保障企业猎芯以数字化方式构建全新质检体系,保障企业用…猎芯以数字化方式构建全新质检体系,保障企业</view> <a class="desc" :href="'/#/article/' + item.art_id">{{ item.title }}</a>
<view class="desc-bar row bothSide"> <view class="desc-bar row bothSide">
<view class="label row verCenter"> <view class="label row verCenter">
<view class="label-box row rowCenter verCenter">专用传感器</view> <view @click.stop="toUrl(v.tag_id, 1, v.tag)" v-for="(v, i) in item.tag" :key="v.tag_id" class="label-box row rowCenter verCenter">{{ v.tag }}</view>
<view class="label-box">标签</view> <view style="border:1px solid #DBCD9D;color:#BBA65F;" @click.stop="toUrl(v.function_tag_id, 2, v.name)" v-for="(v, i) in item.function_tags" :key="v.function_tag_id" class="label-box row rowCenter verCenter">{{ v.name }}</view>
</view> </view>
<text class="time">2023-03-16 18:23:17</text> <text class="time">{{ item.publish_time }}</text>
</view> </view>
</view> </view>
</view> </view>
</navigator> </view>
</view>
<view class="no-data column rowCenter verCenter" v-else>
<image src="../../static/nodate.png"></image>
<text class="tt">抱歉,没有找到相关新闻资讯</text>
</view> </view>
</view> </view>
</template> </template>
...@@ -67,15 +42,114 @@ ...@@ -67,15 +42,114 @@
<script> <script>
import { Api_Url } from '@/util/api.js'; import { Api_Url } from '@/util/api.js';
import navElement from '@/components/nav.vue'; import navElement from '@/components/nav.vue';
import debounce from 'lodash/debounce';
export default { export default {
components: { components: {
navElement navElement
}, },
data() { data() {
return {}; return {
searchFlag: true,
indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 500,
title: '',
mode: 'scaleToFill',
curr: 0,
list: [],
hasMoreData: true, //是否分页加载
ad: [],
p: 1,
limit: 100,
searchParams: {
tag_id: '',
type_id: '',
function_tag_id: '',
title: ''
}
};
},
onLoad(options) {
this.searchParams.type_id = options.type_id || '';
this.searchParams.tag_id = options.tag_id || '';
this.searchParams.function_tag_id = options.function_tag_id || '';
this.title = options.title || '';
},
onShow() {
if (this.searchParams.tag_id || this.searchParams.function_tag_id) {
this.getData(true);
} else {
this.getData();
}
},
onReachBottom() {
if (!this.hasMoreData) {
return;
}
this.p++;
this.getData();
}, },
onShow() {}, methods: {
methods: {} /**
* 搜索
* @param {Object} event
*/
handleInput: debounce(function(event) {
this.resetChange();
this.getData();
}, 500),
toUrl(id, type, name) {
if (type == 1) {
uni.navigateTo({
url: '/news?tag_id=' + id + '&title=' + name
});
this.title = name;
} else if (type == 2) {
uni.navigateTo({
url: '/news?function_tag_id=' + id + '&title=' + name
});
}
},
tab(index) {
this.curr = index;
this.searchParams.cat_id = this.cat_list[index].cat_id;
this.resetChange();
this.getData();
window.scrollTo({
top: 0,
behavior: 'smooth'
});
},
/**
* 重置
*/
resetChange() {
this.list = [];
this.p = 1;
},
getData(type) {
var params = Object.assign({}, this.searchParams, { p: this.p }, { limit: this.limit });
this.request(Api_Url + '/article/getArticleList', 'POST', params, true, true).then(res => {
if (res.err_code === 0) {
if (!this.title) {
this.title = res.data.type_name;
}
this.ad = res.data.h5_news_ad;
if (res.data.list.length > 0) {
this.hasMoreData = true;
this.list = this.list.concat(res.data.list);
} else {
this.hasMoreData = false;
}
} else {
this.list = [];
this.hasMoreData = false;
}
});
}
}
}; };
</script> </script>
......
...@@ -175,22 +175,23 @@ const router = new Router({ ...@@ -175,22 +175,23 @@ const router = new Router({
aliasPath: '/news', aliasPath: '/news',
meta: { meta: {
title: '新闻', title: '新闻',
auth: true auth: false
} }
}, },
{ {
path: '/pages/mine/article', path: '/pages/mine/article',
aliasPath: '/article', aliasPath: '/article/:art_id',
meta: { meta: {
title: '新闻详情', title: '新闻详情',
auth: true auth: false
} }
}, },
{ {
path: '/pages/mine/about', path: '/pages/mine/about',
aliasPath: '/about', aliasPath: '/about',
meta: { meta: {
title: '关于我们' title: '关于我们',
auth: false
} }
}, },
{ {
...@@ -304,6 +305,38 @@ const router = new Router({ ...@@ -304,6 +305,38 @@ const router = new Router({
title: '编辑发票', title: '编辑发票',
auth: true auth: true
} }
},
{
path: '/pages/mine/download',
aliasPath: '/download',
meta: {
title: '白皮书',
auth: false
}
},
{
path: '/pages/mine/dome',
aliasPath: '/dome',
meta: {
title: '国产替代',
auth: false
}
},
{
path: '/pages/mine/fae',
aliasPath: '/fae',
meta: {
title: 'FAE技术支持申请',
auth: false
}
},
{
path: '/pages/mine/enterprise',
aliasPath: '/enterprise',
meta: {
title: '企业专享',
auth: false
}
} }
] ]
}); });
......
<template> <template>
<view class="uni-popup-share"> <view class="uni-popup-share">
<view class="uni-share-title"><text class="uni-share-title-text">{{shareTitleText}}</text></view> <view class="uni-share-title">
<view class="uni-share-content"> <text class="uni-share-title-text">{{ shareTitleText }}</text>
<view class="uni-share-content-box"> </view>
<view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index" @click.stop="select(item,index)"> <view class="uni-share-content">
<image class="uni-share-image" :src="item.icon" mode="aspectFill"></image> <view class="uni-share-content-box">
<text class="uni-share-text">{{item.text}}</text> <view class="uni-share-content-item" v-for="(item, index) in bottomData" :key="index" @click.stop="select(item, index)">
</view> <image class="uni-share-image" :src="item.icon" mode="aspectFill"></image>
<text class="uni-share-text">{{ item.text }}</text>
</view> </view>
</view> </view>
<view class="uni-share-button-box"> </view>
<button class="uni-share-button" @click="close">{{cancelText}}</button> <view class="uni-share-button-box">
</view> <view class="uni-share-button" @click="close">{{ cancelText }}</view>
</view> </view>
</view>
</template> </template>
<script> <script>
import popup from '../uni-popup/popup.js' import popup from '../uni-popup/popup.js';
import { import { initVueI18n } from '@dcloudio/uni-i18n';
initVueI18n import messages from '../uni-popup/i18n/index.js';
} from '@dcloudio/uni-i18n' const { t } = initVueI18n(messages);
import messages from '../uni-popup/i18n/index.js' export default {
const { t } = initVueI18n(messages) name: 'UniPopupShare',
export default { mixins: [popup],
name: 'UniPopupShare', emits: ['select'],
mixins:[popup], props: {
emits:['select'], title: {
props: { type: String,
title: { default: ''
type: String, },
default: '' beforeClose: {
}, type: Boolean,
beforeClose: { default: false
type: Boolean, }
default: false },
} data() {
}, return {
data() { bottomData: [
return { {
bottomData: [{ text: '微信',
text: '微信', icon: 'https://img.ichunt.com/images/ichunt/202305/27/5bbbd6fb77046c311d544937f89284d9.png',
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/c2b17470-50be-11eb-b680-7980c8a877b8.png', name: 'wx'
name: 'wx' },
}, {
{ text: '朋友圈',
text: '支付宝', icon: 'https://img.ichunt.com/images/ichunt/202305/27/a92b05438b5c89daff38c729cb63faba.png',
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png', name: 'wx'
name: 'wx' },
}, {
{ text: '复制链接',
text: 'QQ', icon: 'https://img.ichunt.com/images/ichunt/202305/27/726bff17f48ad6866f9e6956c19cb1a8.png',
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png', name: 'link'
name: 'qq' },
}, {
{ text: '二维码',
text: '新浪', icon: 'https://img.ichunt.com/images/ichunt/202305/27/8478b5b31e6bc6f84676369ff18a9556.png',
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png', name: 'code'
name: 'sina' }
}, ]
// { };
// text: '百度', },
// icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/1ec6e920-50bf-11eb-8a36-ebb87efcf8c0.png', created() {},
// name: 'copy' computed: {
// }, cancelText() {
// { return t('uni-popup.cancel');
// text: '其他', },
// icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/2e0fdfe0-50bf-11eb-b997-9918a5dda011.png', shareTitleText() {
// name: 'more' return this.title || t('uni-popup.shareTitle');
// } }
] },
} methods: {
}, /**
created() {}, * 选择内容
computed: { */
cancelText() { select(item, index) {
return t("uni-popup.cancel") this.$emit('select', {
}, item,
shareTitleText() { index
return this.title || t("uni-popup.shareTitle") });
} this.close();
}, },
methods: { /**
/** * 关闭窗口
* 选择内容 */
*/ close() {
select(item, index) { if (this.beforeClose) return;
this.$emit('select', { this.popup.close();
item, }
index }
}) };
this.close()
},
/**
* 关闭窗口
*/
close() {
if(this.beforeClose) return
this.popup.close()
}
}
}
</script> </script>
<style lang="scss" > <style lang="scss">
.uni-popup-share { .uni-popup-share {
background-color: #fff; background-color: #fff;
border-top-left-radius: 11px; border-top-left-radius: 10rpx;
border-top-right-radius: 11px; border-top-right-radius: 10rpx;
} }
.uni-share-title { .uni-share-title {
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
display: flex; display: flex;
/* #endif */ /* #endif */
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
height: 40px; height: 40px;
} }
.uni-share-title-text { .uni-share-title-text {
font-size: 14px; font-size: 28rpx;
color: #666; color: #292b33;
} font-weight: 600;
.uni-share-content { }
/* #ifndef APP-NVUE */ .uni-share-content {
display: flex; /* #ifndef APP-NVUE */
/* #endif */ display: flex;
flex-direction: row; /* #endif */
justify-content: center; flex-direction: row;
padding-top: 10px; justify-content: center;
} padding-top: 10px;
}
.uni-share-content-box { .uni-share-content-box {
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
display: flex; display: flex;
/* #endif */ /* #endif */
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
width: 360px; width: 360px;
} }
.uni-share-content-item { .uni-share-content-item {
width: 90px; width: 90px;
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
display: flex; display: flex;
/* #endif */ /* #endif */
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
padding: 10px 0; padding: 10px 0;
align-items: center; align-items: center;
} }
.uni-share-content-item:active { .uni-share-content-item:active {
background-color: #f5f5f5; background-color: #f5f5f5;
} }
.uni-share-image { .uni-share-image {
width: 30px; width: 96rpx;
height: 30px; height: 96rpx;
} }
.uni-share-text { .uni-share-text {
margin-top: 10px; margin-top: 10px;
font-size: 14px; font-size: 14px;
color: #3B4144; color: #3b4144;
} }
.uni-share-button-box { .uni-share-button-box {
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
display: flex; display: flex;
/* #endif */ /* #endif */
flex-direction: row; flex-direction: row;
padding: 10px 15px; padding: 10px 15px;
} border-top: 16rpx solid #f7f8fa;
}
.uni-share-button { .uni-share-button {
flex: 1; flex: 1;
border-radius: 50px; border-radius: 50px;
color: #666; color: #484b59;
font-size: 16px; font-size: 16px;
} text-align: center;
}
.uni-share-button::after { .uni-share-button::after {
border-radius: 50px; border-radius: 50px;
} }
</style> </style>
{ {
"uni-popup.cancel": "取消", "uni-popup.cancel": "取消",
"uni-popup.ok": "确定", "uni-popup.ok": "确定",
"uni-popup.placeholder": "请输入", "uni-popup.placeholder": "请输入",
"uni-popup.title": "提示", "uni-popup.title": "提示",
"uni-popup.shareTitle": "分享到" "uni-popup.shareTitle": "立即分享给好友"
} }
\ No newline at end of file
{ {
"uni-popup.cancel": "取消", "uni-popup.cancel": "取消",
"uni-popup.ok": "確定", "uni-popup.ok": "確定",
"uni-popup.placeholder": "請輸入", "uni-popup.placeholder": "請輸入",
"uni-popup.title": "提示", "uni-popup.title": "提示",
"uni-popup.shareTitle": "分享到" "uni-popup.shareTitle": "立即分享给好友"
} }
\ No newline at end of file
...@@ -3,6 +3,8 @@ var Api_Url = ''; //api项目url ...@@ -3,6 +3,8 @@ var Api_Url = ''; //api项目url
var Api_Es = ''; //api项目url var Api_Es = ''; //api项目url
var Api_ES_Go = ''; //型号联想 var Api_ES_Go = ''; //型号联想
var Code_Url = ''; //图形验证码 var Code_Url = ''; //图形验证码
var Oss_Url = ''; //oss系统
switch (window.location.hostname) { switch (window.location.hostname) {
...@@ -12,14 +14,15 @@ switch (window.location.hostname) { ...@@ -12,14 +14,15 @@ switch (window.location.hostname) {
Api_Es = "//so12.ichunt.com" Api_Es = "//so12.ichunt.com"
Api_ES_Go = "https://s.ichunt.com" Api_ES_Go = "https://s.ichunt.com"
Code_Url = "https://www.ichunt.com/v3/public/verify"; Code_Url = "https://www.ichunt.com/v3/public/verify";
Oss_Url = "https://file.ichunt.net";
break; break;
default: default:
//本地proxy配置参考vue.config.js
Ichunt_Api = '/v3' Ichunt_Api = '/v3'
Api_Url = '/apis'; Api_Url = '/apis';
Api_Es = "/esapi"; Api_Es = "/esapi";
Api_ES_Go = "http://192.168.1.237:9008"; Api_ES_Go = "http://192.168.1.237:9008";
Code_Url = "http://www.liexin.com/v3/public/verify"; Code_Url = "http://www.liexin.com/v3/public/verify";
Oss_Url = "http://file.liexindev.net";
} }
...@@ -28,5 +31,6 @@ module.exports = { ...@@ -28,5 +31,6 @@ module.exports = {
Api_Url, Api_Url,
Api_Es, Api_Es,
Api_ES_Go, Api_ES_Go,
Code_Url Code_Url,
Oss_Url
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment