图书 文物

master
lion 2 years ago
parent e5a4ba1099
commit dae1083fa8

@ -107,7 +107,7 @@
bottom: 0;
left: 0;
width: 100%;
height: 120rpx;
height: 140rpx;
box-shadow: 0 0 10px #999;
display: flex;
align-items: center;

@ -10,6 +10,11 @@
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title></title>
<script src="/components/muyu-modelDisplay/threejs/three.js"></script>
<script src="/components/muyu-modelDisplay/threejs/OrbitControls.js"></script>
<script src="/components/muyu-modelDisplay/threejs/GLTFLoader.js"></script>
<script src="/components/muyu-modelDisplay/threejs/OBJLoader.js"></script>
<script src="/components/muyu-modelDisplay/threejs/MTLLoader.js"></script>
<!--preload-links-->
<!--app-context-->
</head>

257
node_modules/moment/package.json generated vendored

@ -1,112 +1,163 @@
{
"_args": [
[
"moment@2.29.3",
"/Users/mac/Documents/朗业/2023/s-苏州博物馆/szgb-book-wx"
]
],
"_from": "moment@2.29.3",
"_id": "moment@2.29.3",
"_inBundle": false,
"_integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
"_location": "/moment",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "moment@2.29.3",
"name": "moment",
"version": "2.29.3",
"description": "Parse, validate, manipulate, and display dates",
"homepage": "https://momentjs.com",
"author": "Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)",
"contributors": [
"Tim Wood <washwithcare@gmail.com> (http://timwoodcreates.com/)",
"Rocky Meza (http://rockymeza.com)",
"Matt Johnson <mj1856@hotmail.com> (http://codeofmatt.com)",
"Isaac Cambron <isaac@isaaccambron.com> (http://isaaccambron.com)",
"Andre Polykanine <andre@oire.org> (https://github.com/oire)"
],
"keywords": [
"moment",
"date",
"time",
"parse",
"format",
"validate",
"i18n",
"l10n",
"ender"
],
"main": "./moment.js",
"jsnext:main": "./dist/moment.js",
"typings": "./moment.d.ts",
"typesVersions": {
">=3.1": {
"*": [
"ts3.1-typings/*"
]
}
},
"engines": {
"node": "*"
},
"repository": {
"type": "git",
"url": "https://github.com/moment/moment.git"
"escapedName": "moment",
"rawSpec": "2.29.3",
"saveSpec": null,
"fetchSpec": "2.29.3"
},
"_requiredBy": [
"/"
],
"_resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"_spec": "2.29.3",
"_where": "/Users/mac/Documents/朗业/2023/s-苏州博物馆/szgb-book-wx",
"author": {
"name": "Iskren Ivov Chernev",
"email": "iskren.chernev@gmail.com",
"url": "https://github.com/ichernev"
},
"bugs": {
"url": "https://github.com/moment/moment/issues"
},
"contributors": [
{
"name": "Tim Wood",
"email": "washwithcare@gmail.com",
"url": "http://timwoodcreates.com/"
},
"bugs": {
"url": "https://github.com/moment/moment/issues"
{
"name": "Rocky Meza",
"url": "http://rockymeza.com"
},
"license": "MIT",
"devDependencies": {
"benchmark": "latest",
"coveralls": "latest",
"cross-env": "^6.0.3",
"es6-promise": "latest",
"eslint": "~6",
"grunt": "latest",
"grunt-benchmark": "latest",
"grunt-cli": "latest",
"grunt-contrib-clean": "latest",
"grunt-contrib-concat": "latest",
"grunt-contrib-copy": "latest",
"grunt-contrib-uglify": "latest",
"grunt-contrib-watch": "latest",
"grunt-env": "latest",
"grunt-exec": "latest",
"grunt-karma": "latest",
"grunt-nuget": "latest",
"grunt-string-replace": "latest",
"karma": "latest",
"karma-chrome-launcher": "latest",
"karma-firefox-launcher": "latest",
"karma-qunit": "latest",
"karma-sauce-launcher": "4.1.4",
"load-grunt-tasks": "latest",
"lodash": ">=4.17.19",
"node-qunit": "latest",
"nyc": "latest",
"prettier": "latest",
"qunit": "^2.10.0",
"rollup": "2.17.1",
"typescript": "^1.8.10",
"typescript3": "npm:typescript@^3.1.6",
"uglify-js": "latest"
{
"name": "Matt Johnson",
"email": "mj1856@hotmail.com",
"url": "http://codeofmatt.com"
},
"ender": "./ender.js",
"dojoBuild": "package.js",
"jspm": {
"files": [
"moment.js",
"moment.d.ts",
"locale"
],
"map": {
"moment": "./moment"
},
"buildConfig": {
"uglify": true
}
{
"name": "Isaac Cambron",
"email": "isaac@isaaccambron.com",
"url": "http://isaaccambron.com"
},
"scripts": {
"ts3.1-typescript-test": "cross-env node_modules/typescript3/bin/tsc --project ts3.1-typing-tests",
"typescript-test": "cross-env node_modules/typescript/bin/tsc --project typing-tests",
"test": "grunt test",
"eslint": "eslint Gruntfile.js tasks src",
"prettier-check": "prettier --check Gruntfile.js tasks src",
"prettier-fmt": "prettier --write Gruntfile.js tasks src",
"coverage": "nyc npm test && nyc report",
"coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls"
{
"name": "Andre Polykanine",
"email": "andre@oire.org",
"url": "https://github.com/oire"
}
],
"description": "Parse, validate, manipulate, and display dates",
"devDependencies": {
"benchmark": "latest",
"coveralls": "latest",
"cross-env": "^6.0.3",
"es6-promise": "latest",
"eslint": "~6",
"grunt": "latest",
"grunt-benchmark": "latest",
"grunt-cli": "latest",
"grunt-contrib-clean": "latest",
"grunt-contrib-concat": "latest",
"grunt-contrib-copy": "latest",
"grunt-contrib-uglify": "latest",
"grunt-contrib-watch": "latest",
"grunt-env": "latest",
"grunt-exec": "latest",
"grunt-karma": "latest",
"grunt-nuget": "latest",
"grunt-string-replace": "latest",
"karma": "latest",
"karma-chrome-launcher": "latest",
"karma-firefox-launcher": "latest",
"karma-qunit": "latest",
"karma-sauce-launcher": "4.1.4",
"load-grunt-tasks": "latest",
"lodash": ">=4.17.19",
"node-qunit": "latest",
"nyc": "latest",
"prettier": "latest",
"qunit": "^2.10.0",
"rollup": "2.17.1",
"typescript": "^1.8.10",
"typescript3": "npm:typescript@^3.1.6",
"uglify-js": "latest"
},
"dojoBuild": "package.js",
"ender": "./ender.js",
"engines": {
"node": "*"
},
"homepage": "https://momentjs.com",
"jsnext:main": "./dist/moment.js",
"jspm": {
"files": [
"moment.js",
"moment.d.ts",
"locale"
],
"map": {
"moment": "./moment"
},
"spm": {
"main": "moment.js",
"output": [
"locale/*.js"
]
"buildConfig": {
"uglify": true
}
},
"keywords": [
"moment",
"date",
"time",
"parse",
"format",
"validate",
"i18n",
"l10n",
"ender"
],
"license": "MIT",
"main": "./moment.js",
"name": "moment",
"repository": {
"type": "git",
"url": "git+https://github.com/moment/moment.git"
},
"scripts": {
"coverage": "nyc npm test && nyc report",
"coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls",
"eslint": "eslint Gruntfile.js tasks src",
"prettier-check": "prettier --check Gruntfile.js tasks src",
"prettier-fmt": "prettier --write Gruntfile.js tasks src",
"test": "grunt test",
"ts3.1-typescript-test": "cross-env node_modules/typescript3/bin/tsc --project ts3.1-typing-tests",
"typescript-test": "cross-env node_modules/typescript/bin/tsc --project typing-tests"
},
"spm": {
"main": "moment.js",
"output": [
"locale/*.js"
]
},
"typesVersions": {
">=3.1": {
"*": [
"ts3.1-typings/*"
]
}
},
"typings": "./moment.d.ts",
"version": "2.29.3"
}

@ -281,7 +281,7 @@
methods: {
init() {
//
//this.$emit('monthSelected', this.selected)
this.$emit('monthSelected', this.selected)
this.$nextTick(() => {
//
// nvue$nextTick100%

@ -1,35 +1,34 @@
// 此版本发布于2022-04-19
const version = '2.0.31'
// 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development') {
console.log(`\n %c uView V${version} %c https://www.uviewui.com/ \n\n`,
'color: #ffffff; background: #3c9cff; padding:5px 0;', 'color: #3c9cff;background: #ffffff; padding:5px 0;');
}
export default {
v: version,
version,
// 主题名称
type: [
'primary',
'success',
'info',
'error',
'warning'
],
// 颜色部分本来可以通过scss的:export导出供js使用但是奈何nvue不支持
color: {
'u-primary': '#2979ff',
'u-warning': '#ff9900',
'u-success': '#19be6b',
'u-error': '#fa3534',
'u-info': '#909399',
'u-main-color': '#303133',
'u-content-color': '#606266',
'u-tips-color': '#909399',
'u-light-color': '#c0c4cc'
},
// 默认单位可以通过配置为rpx那么在用于传入组件大小参数为数值时就默认为rpx
unit: 'px'
// 此版本发布于2022-04-19
const version = '2.0.31'
// 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development') {
console.log(`\n %c uView V${version} %c https://www.uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0;', 'color: #3c9cff;background: #ffffff; padding:5px 0;');
}
export default {
v: version,
version,
// 主题名称
type: [
'primary',
'success',
'info',
'error',
'warning'
],
// 颜色部分本来可以通过scss的:export导出供js使用但是奈何nvue不支持
color: {
'u-primary': '#2979ff',
'u-warning': '#ff9900',
'u-success': '#19be6b',
'u-error': '#fa3534',
'u-info': '#909399',
'u-main-color': '#303133',
'u-content-color': '#606266',
'u-tips-color': '#909399',
'u-light-color': '#c0c4cc'
},
// 默认单位可以通过配置为rpx那么在用于传入组件大小参数为数值时就默认为rpx
unit: 'px'
}

203
node_modules/uview-ui/package.json generated vendored

@ -1,87 +1,122 @@
{
"id": "uview-ui",
"name": "uview-ui",
"displayName": "uView2.0重磅发布,利剑出鞘,一统江湖",
"version": "2.0.31",
"description": "uView UI已完美兼容nvue全面的组件和便捷的工具会让您信手拈来如鱼得水",
"keywords": [
"uview",
"uview",
"ui",
"ui",
"uni-app",
"uni-app",
"ui"
"_args": [
[
"uview-ui@2.0.31",
"/Users/mac/Documents/朗业/2023/s-苏州博物馆/szgb-book-wx"
]
],
"_from": "uview-ui@2.0.31",
"_id": "uview-ui@2.0.31",
"_inBundle": false,
"_integrity": "sha512-I/0fGuvtiKHH/mBb864SGYk+SJ7WaF32tsBgYgeBOsxlUp+Th+Ac2tgz2cTvsQJl6eZYWsKZ3ixiSXCAcxZ8Sw==",
"_location": "/uview-ui",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "uview-ui@2.0.31",
"name": "uview-ui",
"escapedName": "uview-ui",
"rawSpec": "2.0.31",
"saveSpec": null,
"fetchSpec": "2.0.31"
},
"_requiredBy": [
"/"
],
"_resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.31.tgz",
"_spec": "2.0.31",
"_where": "/Users/mac/Documents/朗业/2023/s-苏州博物馆/szgb-book-wx",
"bugs": {
"url": "https://github.com/umicro/uView2.0/issues"
},
"dcloudext": {
"category": [
"前端组件",
"通用组件"
],
"repository": "https://github.com/umicro/uView2.0",
"engines": {
"HBuilderX": "^3.1.0"
},
"dcloudext": {
"category": [
"前端组件",
"通用组件"
],
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": "1416956117"
},
"declaration": {
"ads": "无",
"data": "无",
"permissions": "无"
},
"npmurl": "https://www.npmjs.com/package/uview-ui"
},
"uni_modules": {
"dependencies": [],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "y",
"aliyun": "y"
},
"client": {
"Vue": {
"vue2": "y",
"vue3": "n"
},
"App": {
"app-vue": "y",
"app-nvue": "y"
},
"H5-mobile": {
"Safari": "y",
"Android Browser": "y",
"微信浏览器(Android)": "y",
"QQ浏览器(Android)": "y"
},
"H5-pc": {
"Chrome": "y",
"IE": "y",
"Edge": "y",
"Firefox": "y",
"Safari": "y"
},
"小程序": {
"微信": "y",
"阿里": "y",
"百度": "y",
"字节跳动": "y",
"QQ": "y"
},
"快应用": {
"华为": "y",
"联盟": "y"
}
}
}
}
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": "1416956117"
},
"declaration": {
"ads": "无",
"data": "无",
"permissions": "无"
},
"npmurl": "https://www.npmjs.com/package/uview-ui"
},
"description": "uView UI已完美兼容nvue全面的组件和便捷的工具会让您信手拈来如鱼得水",
"displayName": "uView2.0重磅发布,利剑出鞘,一统江湖",
"engines": {
"HBuilderX": "^3.1.0"
},
"homepage": "https://github.com/umicro/uView2.0#readme",
"id": "uview-ui",
"keywords": [
"uview",
"uview",
"ui",
"ui",
"uni-app",
"uni-app",
"ui"
],
"name": "uview-ui",
"repository": {
"type": "git",
"url": "git+https://github.com/umicro/uView2.0.git"
},
"uni_modules": {
"dependencies": [],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "y",
"aliyun": "y"
},
"client": {
"Vue": {
"vue2": "y",
"vue3": "n"
},
"App": {
"app-vue": "y",
"app-nvue": "y"
},
"H5-mobile": {
"Safari": "y",
"Android Browser": "y",
"微信浏览器(Android)": "y",
"QQ浏览器(Android)": "y"
},
"H5-pc": {
"Chrome": "y",
"IE": "y",
"Edge": "y",
"Firefox": "y",
"Safari": "y"
},
"小程序": {
"微信": "y",
"阿里": "y",
"百度": "y",
"字节跳动": "y",
"QQ": "y"
},
"快应用": {
"华为": "y",
"联盟": "y"
}
}
}
},
"version": "2.0.31"
}

2
node_modules/uview-ui/theme.scss generated vendored

@ -10,7 +10,7 @@ $u-border-color: #dadbde;
$u-bg-color: #f3f4f6;
$u-disabled-color: #c8c9cc;
$u-primary: #cf995a;
$u-primary: #3c9cff;
$u-primary-dark: #398ade;
$u-primary-disabled: #9acafc;
$u-primary-light: #ecf5ff;

27
package-lock.json generated

@ -1,31 +1,6 @@
{
"name": "szgb-book-wx",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"moment": "^2.29.3",
"uview-ui": "^2.0.31"
}
},
"node_modules/moment": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
"engines": {
"node": "*"
}
},
"node_modules/uview-ui": {
"version": "2.0.31",
"resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.31.tgz",
"integrity": "sha512-I/0fGuvtiKHH/mBb864SGYk+SJ7WaF32tsBgYgeBOsxlUp+Th+Ac2tgz2cTvsQJl6eZYWsKZ3ixiSXCAcxZ8Sw==",
"engines": {
"HBuilderX": "^3.1.0"
}
}
},
"lockfileVersion": 1,
"dependencies": {
"moment": {
"version": "2.29.3",

@ -684,7 +684,7 @@
}, 1000)
that.timer = setTimeout(function() {
uni.redirectTo({
url: '/pages/order/activityorder'
url: '/packages/order/activityorder'
})
clearInterval(that.t);
clearTimeout(that.timer)

@ -149,7 +149,7 @@
onShareAppMessage() {
return {
title: this.list.name,
path: "/pages/activity/info?id=" + this.list.id,
path: "/packages/activity/info?id=" + this.list.id,
imageUrl: this.list.cover_upload.url
}
},

@ -91,7 +91,7 @@
},
toinfo(id) {
uni.navigateTo({
url: "/pages/order/activityorderinfo?id=" + id
url: "/packages/order/activityorderinfo?id=" + id
})
},
tocancel(id) {

@ -81,7 +81,7 @@
},
toinfo(id) {
uni.navigateTo({
url: "/pages/order/parkorderinfo?id=" + id
url: "/packages/order/parkorderinfo?id=" + id
})
},
tocancel(id) {

@ -87,7 +87,7 @@
},
toinfo(id) {
uni.navigateTo({
url: "/pages/order/visitorderinfo?id=" + id
url: "/packages/order/visitorderinfo?id=" + id
})
},
tocancel(id) {

@ -369,7 +369,7 @@
}, 1000)
that.timer = setTimeout(function() {
uni.redirectTo({
url: '/pages/order/parkorder'
url: '/packages/order/parkorder'
})
clearInterval(that.t);
clearTimeout(that.timer)

@ -35,16 +35,9 @@
"navigationBarBackgroundColor": "#fff"
}
},{
"path": "pages/relic/list",
"path": "pages/exhibit/bookdetail",
"style": {
"navigationBarTitleText": "文物",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff"
}
},{
"path": "pages/relic/detail",
"style": {
"navigationBarTitleText": "文物",
"navigationBarTitleText": "党史书籍",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff"
}
@ -86,13 +79,6 @@
"enablePullDownRefresh": false
}
}, {
"path": "pages/activity/index",
"style": {
"navigationBarTitleText": "活动列表",
"enablePullDownRefresh": false
}
}, {
"path": "pages/visit/book",
"style": {
@ -108,146 +94,111 @@
}
}, {
"path": "pages/activity/info",
"path": "pages/success/success",
"style": {
"navigationBarTitleText": "活动详情",
"navigationBarTitleText": "预约成功",
"enablePullDownRefresh": false
}
}, {
"path": "pages/activity/book",
"path": "pages/mine/recommend",
"style": {
"navigationBarTitleText": "活动预约",
"navigationBarTitleText": "分享预约小程序",
"enablePullDownRefresh": false
}
}
],
"subPackages":[{
"root": "packages",
"pages":[{
"path": "dl/index",
"style": {
"navigationBarTitleText": "展厅导览",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff"
}
}, {
"path": "pages/order/visitorder",
"path": "map/map",
"style": {
"navigationBarTitleText": "参观预约订单",
"navigationBarTitleText": "展馆导航",
"enablePullDownRefresh": false
}
}, {
"path": "pages/order/parkorder",
"path": "activity/index",
"style": {
"navigationBarTitleText": "车位预约",
"navigationBarTitleText": "活动列表",
"enablePullDownRefresh": false
}
}, {
"path": "pages/park/index",
},{
"path": "activity/info",
"style": {
"navigationBarTitleText": "停车场预约",
"navigationBarTitleText": "活动详情",
"enablePullDownRefresh": false
}
}, {
"path": "pages/order/visitorderinfo",
"path": "activity/book",
"style": {
"navigationBarTitleText": "参观预约详情",
"navigationBarTitleText": "活动预约",
"enablePullDownRefresh": false
}
}, {
"path": "pages/park/book",
"path": "park/index",
"style": {
"navigationBarTitleText": "停车场预约",
"enablePullDownRefresh": false
}
}, {
"path": "pages/success/success",
"style": {
"navigationBarTitleText": "预约成功",
"enablePullDownRefresh": false
}
}, {
"path": "pages/order/parkorderinfo",
"path": "park/book",
"style": {
"navigationBarTitleText": "停车场预约",
"enablePullDownRefresh": false
}
}, {
"path": "pages/order/activityorder",
"style": {
"navigationBarTitleText": "活动预约",
"enablePullDownRefresh": false
}
}, {
"path": "pages/order/activityorderinfo",
"style": {
"navigationBarTitleText": "活动预约详情",
"enablePullDownRefresh": false
}
}, {
"path": "pages/guide/list",
"style": {
"navigationBarTitleText": "参观指南",
"enablePullDownRefresh": false
}
}, {
"path": "pages/guide/info",
"style": {
"navigationBarTitleText": "参观指南",
"enablePullDownRefresh": false
}
}, {
"path": "pages/mine/recommend",
},{
"path": "order/visitorder",
"style": {
"navigationBarTitleText": "分享预约小程序",
"navigationBarTitleText": "参观预约订单",
"enablePullDownRefresh": false
}
}, {
"path": "pages/guide/feedback",
"path": "order/parkorder",
"style": {
"navigationBarTitleText": "投诉建议",
"navigationBarTitleText": "车位预约",
"enablePullDownRefresh": false
}
}, {
"path": "pages/guide/contact",
"path": "order/visitorderinfo",
"style": {
"navigationBarTitleText": "联系我们",
"navigationBarTitleText": "参观预约详情",
"enablePullDownRefresh": false
}
}, {
"path": "pages/order/shareQR",
"path": "order/parkorderinfo",
"style": {
"navigationBarTitleText": "分享二维码",
"navigationBarTitleText": "停车场预约",
"enablePullDownRefresh": false
}
}, {
"path": "pages/guide/feedbackinfo",
"path": "order/activityorder",
"style": {
"navigationBarTitleText": "意见建议详情",
"navigationBarTitleText": "活动预约",
"enablePullDownRefresh": false
}
}
],
"subPackages":[{
"root": "packages",
"pages":[{
"path": "dl/index",
"style": {
"navigationBarTitleText": "展厅导览",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff"
}
}, {
"path": "map/map",
"path": "order/activityorderinfo",
"style": {
"navigationBarTitleText": "展馆导航",
"navigationBarTitleText": "活动预约详情",
"enablePullDownRefresh": false
}

@ -0,0 +1,115 @@
<template>
<view class="content">
<view class='contop'>
<image :src='info.image.url' mode="widthFix"></image>
</view>
<!-- <view class='detail'>
<view class='title'>{{info.name?info.name:''}}</view>
<u-parse v-if='showContent' :content="info.content?info.content:' '" />
</view> -->
</view>
</template>
<script>
import uParse from '@/components/gaoyia-parse/parse.vue'
export default {
components: {
uParse,
},
data() {
return {
info: {},
id: '',
showContent: false,
}
},
onLoad(options) {
this.id = options.id ? options.id : ''
this.loadDetail()
},
methods: {
cancelTime(val) {
return val.substring(0, 10)
},
loadDetail() {
var that = this;
this.util.request({
api: '/api/mobile/book/show',
data: {
id: that.id
},
utilSuccess: function(res) {
that.info = res
that.showContent = true
},
utilFail: function(res) {
}
})
}
}
}
</script>
<style>
@import url("/components/gaoyia-parse/parse.css");
.content {
background-color: #fbf8f4;
min-height: 100vh;
height: 100vh;
/* padding-bottom:180rpx */
}
.contop {
/* padding: 80rpx 0;
height: 648rpx; */
font-size: 0;
width: 100%;
height: 100%;
box-sizing: border-box;
background-color: #393c40;
display: flex;
justify-content: space-around;
align-items: center;
/* height: calc(100vh - 240rpx) */
}
.contop image {
/* width: 368rpx;
height: 488rpx; */
width: 100%;
margin: 0rpx auto;
display: block;
transform: scale(1.2);
}
.title {
text-align: left;
/* padding: 30rpx 0rpx; */
font-size: 36rpx;
font-weight: bold;
/* position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%); */
width: 90%;
line-height: 1.5;
/* padding: 30rpx; */
}
.detail {
background: linear-gradient(to bottom, #fff 30%, #fbf8f4 70%);
/* min-height: calc(100vh - 648rpx); */
/* height: 240rpx; */
/* height:calc(100vh - 648rpx); */
border-radius: 30rpx 30rpx 0 0;
/* overflow: scroll; */
padding: 30rpx;
position: relative;
}
.wxParse {
line-height: 2.3;
}
</style>

@ -1,9 +1,9 @@
<template>
<view>
<view class="wrap">
<view>
<img class="exhibit_bg" src="../../static/img/exhibitBg.png" alt="">
<img class="exhibit_bg" :src="bgimg" alt="">
</view>
<view class='content'>
<view class='content' :style="{'padding-top':padTop+'px'}">
<view class="exhibit" @click='toExhibitList'>
<view>
<view>
@ -21,27 +21,75 @@
<view>时间{{item.dateRange}}</view>
</view>
</view>
</view>
<view class="exhibit relic" @click='torelic'>
<view>
<view>
<span></span>
<span>文物</span>
</view>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="relic_list">
<view v-for="item in relicList" class="relic_item" @click='toRelicDetail(item.id)'>
<img :src="item.head_upload.url" alt="">
<view>
<view>{{item.name}}</view>
<view>{{item.contain}}</view>
</view>
</view>
</view>
</view>
<view class="relic">
<view :class="!showBook?'relic_active':''" @click="changeBook"></view>
<view :class="showBook?'relic_active':''" @click="changeBook('book')"></view>
</view>
<view class="books" v-if="showBook">
<image class="books_img" src="../../static/book/book_bottom.png" mode=""></image>
<u-swiper @click="toBook" :list="bookList" :displayMultipleItems="displayMultipleItems" :circular="true"
:indicator="true" indicatorStyle="bottom" indicatorMode="dot" bgColor="transparent"
indicatorActiveColor="#9f4946" indicatorInactiveColor="#9f4946" :autoplay="false"
radius="0"></u-swiper>
<!-- <swiper class="swiper" circular
next-margin="180rpx">
<swiper-item v-for="(item,index) in bookList" @click="toBook(item.id)">
<view class="myswiper-item-img">
<image
:src="item.url?item.url:''" alt="" mode="heightFix">
</view>
</swiper-item>
</swiper> -->
</view>
<view class="relics" v-else>
<view class="myswiper">
<swiper class="swiper" @change="changeRelic" :current="relicIndex" circular previous-margin="180rpx"
next-margin="180rpx">
<swiper-item v-for="(item,index) in relicList" @click="toRelicDetail(item.id)">
<view class="myswiper-item-img">
<image :style="{'transform':relicIndex===index?'scale(1.05)':''}"
:src="item.head_upload?item.head_upload.url:item.threed.url" alt="" mode="widthFix">
</view>
</swiper-item>
</swiper>
<view class="myswiper-item-title">
<view class="">
{{relicList[relicIndex].name?relicList[relicIndex].name:''}}
</view>
<!-- <view class="">
革命博物馆典藏
</view> -->
</view>
<!-- <view class="myswiper-item" v-for="(item,index) in relicList">
<view class="myswiper-item-img">
<image :src="item.head_upload.url" alt="">
</view>
<view class="myswiper-item-title">
<view class="">
{{item.name}}
</view>
<view class="">
革命博物馆典藏
</view>
</view>
</view> -->
</view>
</view>
<!-- <view class="relic_list">
<view v-for="item in relicList" class="relic_item" @click='toRelicDetail(item.id)'>
<img :src="item.head_upload.url" alt="">
<view>
<view>{{item.name}}</view>
<view>{{item.contain}}</view>
</view>
</view>
</view> -->
</view>
@ -57,102 +105,180 @@
},
data() {
return {
exhibitList: [],
relicList:[]
exhibitList: [],
bookList: [],
relicList: [],
bgimg: '../../static/book/relic_bg.png',
padTop: 0,
showBook: false,
relicIndex: 0,
displayMultipleItems: 0,
authToken: ''
}
},
onLoad() {
this.getExhibit()
this.getRelic()
},
methods:{
cancelTime(str){
return str?str.substring(0,10):''
},
toExhibitList(){
uni.navigateTo({
url: "/pages/exhibit/list"
});
},
todetail(id){
uni.navigateTo({
url: "/pages/exhibit/detail?id="+id
});
},
toRelicDetail(id){
uni.navigateTo({
url: "/pages/relic/detail?id="+id
});
},
torelic(){
uni.navigateTo({
url: "/pages/relic/list"
});
},
getExhibit(){
var that = this;
this.util.request({
api: '/api/mobile/exhibit-hall/index',
data:{
page:1,
page_size:6,
state:1,
sort_name:'state',
sort_name_tow:'release_time',
sort_type:"DESC",
sort_type_tow:'DESC'
},
utilSuccess: function(res) {
that.exhibitList = res.data
for(var m of res.data){
m.dateRange = that.util.splitTime(m.start_time,m.over_time)
}
},
utilFail: function(res) {
}
})
},
getRelic(){
var that = this;
this.util.request({
api: '/api/mobile/cultural-relic/index',
data:{
page:1,
page_size:5,
sort_name:'release_time',
sort_type:"DESC",
},
utilSuccess: function(res) {
that.relicList = res.data
},
utilFail: function(res) {
}
})
},
onLoad() {
const MenuButton = uni.getMenuButtonBoundingClientRect()
this.padTop = MenuButton.top + MenuButton.height + 10
this.authToken = uni.getStorageSync('userInfo_token').token
this.getExhibit()
this.getRelic()
this.getBooks()
},
methods: {
cancelTime(str) {
return str ? str.substring(0, 10) : ''
},
toExhibitList() {
uni.navigateTo({
url: "/pages/exhibit/list"
});
},
todetail(id) {
uni.navigateTo({
url: "/pages/exhibit/detail?id=" + id
});
},
changeBook(e) {
if (e === 'book') {
this.showBook = true
this.bgimg = '../../static/book/book_bg.png'
} else {
this.showBook = false
this.bgimg = '../../static/book/relic_bg.png'
}
},
toRelicDetail(id) {
let that = this
let url = `${that.util.HOST}/fbx/wxdetail.html?id=${id}`
let newurl = encodeURIComponent(url)
uni.navigateTo({
url: '/pages/vr/vrpage?link=' + newurl
})
},
toBook(index) {
let id = this.bookList[index].id
uni.navigateTo({
url: '/pages/exhibit/bookdetail?id=' + id
})
},
torelic() {
uni.navigateTo({
url: "/pages/relic/list"
});
},
getExhibit() {
var that = this;
this.util.request({
api: '/api/mobile/exhibit-hall/index',
data: {
page: 1,
page_size: 6,
state: 1,
sort_name: 'state',
sort_name_tow: 'release_time',
sort_type: "DESC",
sort_type_tow: 'DESC'
},
utilSuccess: function(res) {
that.exhibitList = res.data
for (var m of res.data) {
m.dateRange = that.util.splitTime(m.start_time, m.over_time)
}
},
utilFail: function(res) {
}
})
},
changeRelic(e) {
console.log(e)
this.relicIndex = e.detail.current
},
getRelic() {
var that = this;
this.util.request({
api: '/api/mobile/cultural-relic/index',
data: {
page: 1,
page_size: 99,
sort_name: 'release_time',
sort_type: "DESC",
},
utilSuccess: function(res) {
that.relicList = res.data.filter(item => {
return item.show_list === 1
})
},
utilFail: function(res) {
}
})
},
getBooks() {
var that = this;
this.util.request({
api: '/api/mobile/book/index',
data: {
page: 1,
page_size: 99,
sort_name:"datetime",
sort_type:'ASC'
},
utilSuccess: function(res) {
let arr = []
res.data.map(item => {
arr.push({
url: item.image.url,
id: item.id,
title: item.name
})
})
that.bookList = arr
that.displayMultipleItems = 2
},
utilFail: function(res) {
}
})
},
}
}
</script>
<style>
.wrap {
width: 100vw;
height: 100vh;
}
.box-top {
width: 100%;
}
.exhibit_bg {
width: 100%;
height: 627rpx;
width: 100vw;
height: 100vh;
position: absolute;
top: 0;
left: 0
}
.content {
margin-top: -450rpx;
padding-bottom:140rpx
/* margin-top: -450rpx; */
padding-bottom: 140rpx;
position: absolute;
top: 0;
left: 0;
z-index: 9;
width: 100%;
height: 100vh;
overflow: scroll;
}
.exhibit {
color: #fff;
padding: 0 30rpx;
color: #333;
padding: 0 30rpx;
font-size: 36rpx;
}
@ -162,7 +288,7 @@
}
.exhibit>view:first-child span:first-child {
background-color: #fff;
background-color: #ebb966;
width: 5rpx;
height: 50rpx;
margin-right: 22rpx;
@ -183,7 +309,7 @@
width: 520rpx;
border-radius: 20rpx;
background-color: #fff;
box-shadow: 0rpx 0rpx 25rpx 0rpx rgba(33,22,19,0.1);
box-shadow: 0rpx 0rpx 25rpx 0rpx rgba(33, 22, 19, 0.1);
margin-right: 30rpx;
font-size: 0;
}
@ -218,57 +344,197 @@
color: #6E6E6E;
font-size: 28rpx;
margin-top: 20rpx
}
.relic{
color:black;
}
.relic>view:first-child span:first-child {
background-color: #DEA166;
}
.relic_list{
}
.relic_item{
margin:35rpx 30rpx;
border-radius: 20rpx;
display: flex;
justify-content: space-between;
background: linear-gradient(to bottom, #cf995a, #d8b487);
}
.relic_item img{
width:380rpx;
height:270rpx;
border-radius: 20rpx 0 0 20rpx;
}
.relic_item>view{
display: inline-block;
width:300rpx;
padding:24rpx;
color:#fff;
padding-bottom: 10rpx;
}
.relic_item>view view:first-child{
width: 100%;
/* height:100rpx; */
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
/* 这里是超出几行省略 */
overflow: hidden;
}
.relic_item>view view:last-child{
width: 100%;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
/* 这里是超出几行省略 */
overflow: hidden;
font-size: 28rpx;
margin-top:20rpx;
}
.relic {
display: flex;
padding: 30rpx;
}
.relic>view {
color: black;
text-align: center;
width: 227rpx;
height: 54rpx;
line-height: 53rpx;
font-size: 32rpx;
border: 1px solid #fff;
border-radius: 27rpx;
margin-right: 10rpx;
color: #333;
}
.relic .relic_active {
background: url(../../static/book/current.png) no-repeat left top;
background-size: 100% 100%;
border: 1px solid transparent;
color: #fff;
}
.books {
/* padding-left: 40rpx; */
position: relative;
margin-top: -20rpx;
}
.books_img {
height: 473rpx;
width: 100%;
position: absolute;
top: 28rpx;
left: 0;
}
.books .u-swiper {
/* margin-left: -33rpx; */
height: 530rpx !important;
}
.books .u-swiper__wrapper {
height: 550rpx !important;
}
/deep/ .u-swiper__wrapper__item__wrapper {
margin: 0 -50rpx;
}
.books .u-swiper__wrapper__item__wrapper::before {
content: "";
content: "";
position: absolute;
left: 22%;
bottom: 115rpx;
width: 30rpx;
height: 40rpx;
z-index: -1;
background-color: transparent;
/* margin: 50px; */
box-shadow: 30rpx 10rpx 20rpx rgba(0, 0, 0, 0.3);
transform: translateY(4px) translateX(24rpx) scale(1, 0.9) translateZ(19px) rotate(132deg);
transform-style: preserve-3d;
perspective: 2000rpx;
/* background: hsl(48, 100%, 20%);
transform: translate(0, -15%) rotate(-4deg);
transform-origin: center center;
box-shadow: 0 0 20px 15px hsl(48, 100%, 20%); */
}
.books swiper-item {
/* width: 40% !important; */
height: 473rpx !important;
width: 85% !important;
}
.books .u-swiper__wrapper__item__wrapper__image {
margin-right: 20rpx;
height: 424rpx !important;
}
.books .u-swiper__indicator {
bottom: 40rpx !important
}
.books .u-swiper-indicator__wrapper__dot--active.data-v-647f6c67 {
width: 5px !important;
transform: scale(1.5);
}
.relic_list {}
.relic_item {
margin: 35rpx 30rpx;
border-radius: 20rpx;
display: flex;
justify-content: space-between;
background: linear-gradient(to bottom, #cf995a, #d8b487);
}
.relic_item img {
width: 380rpx;
height: 270rpx;
border-radius: 20rpx 0 0 20rpx;
}
.relic_item>view {
display: inline-block;
width: 300rpx;
padding: 24rpx;
color: #fff;
padding-bottom: 10rpx;
}
.relic_item>view view:first-child {
width: 100%;
/* height:100rpx; */
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
/* 这里是超出几行省略 */
overflow: hidden;
}
.relic_item>view view:last-child {
width: 100%;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
/* 这里是超出几行省略 */
overflow: hidden;
font-size: 28rpx;
margin-top: 20rpx;
}
.myswiper {
width: 100vw;
margin: 40rpx 0 70rpx 0;
}
.myswiper .myswiper-item {
display: inline-block;
}
.myswiper swiper {
height: 400rpx;
min-height: 400rpx;
/* margin-bottom: 40rpx; */
}
.myswiper swiper-item {
text-align: center;
}
.myswiper-item-img {
/* width:501rpx;
height:207rpx; */
}
.myswiper-item-img image {
/* height: 400rpx; */
width: calc(100vw - 370rpx);
transform: scale(.7);
margin-bottom: 40rpx;
max-height: 400rpx;
transform: translate(0px, -42px) scale(.7);
}
.myswiper-item-title {
color: #e4e9f0;
text-align: center;
font-size: 28rpx;
}
.myswiper-item-title>view:first-child {
font-size: 36rpx;
margin-bottom: 10rpx;
}
</style>

@ -1,96 +0,0 @@
<template>
<view class="box">
<view class="bgtop">
<image src="../../static/img/nav_top.png" style="width: 100%;height: 100%;"></image>
</view>
<view class="bgcenter">
<view class="box-content">
<scroll-view :scroll-y="true" :style="{height:height+'px'}">
<rich-text :nodes="info.value"></rich-text>
</scroll-view>
</view>
</view>
<view class="bgbottom">
<image src="../../static/img/nav_bottom.png" style="width: 100%;height: 100%;"></image>
</view>
</view>
</template>
<script>
export default {
data() {
return {
height: 0,
info: {},
}
},
onLoad() {
let that = this;
uni.getSystemInfo({
success: function(res) {
that.height = res.windowHeight - 80;
}
});
this.loadConfigInfo();
},
methods: {
loadConfigInfo() {
var that = this;
this.util.request({
api: '/api/mobile/other/config-show',
data: {
tag: "about"
},
utilSuccess: function(res) {
res.value=res.value.replace(/\<img/g,"<img style='width:100%;height:auto;display:block'")
that.info = res;
},
utilFail: function(res) {
uni.showToast({
icon: "none",
title: res,
duration: 2000
})
}
})
},
}
}
</script>
<style>
.box {
padding: 20rpx;
box-sizing: border-box;
}
.bgtop {
height: 40rpx;
}
.bgcenter {
background: url("../../static/img/nav_middle.png") repeat-y;
background-size: 100% 100%;
}
.box-content {
padding: 15rpx 20rpx;
color: #351C1B;
box-sizing: border-box;
}
.title {}
.time {
font-size: 24rpx;
}
.bgbottom {
height: 40rpx;
}
</style>

@ -1,139 +0,0 @@
<template>
<view class="box">
<view class="bgtop">
<image src="../../static/img/nav_top.png" style="width: 100%;height: 100%;"></image>
</view>
<view class="bgcenter" :style="{height:height+'px'}">
<view class="box-content">
<u--form labelPosition="top" :model="form">
<u-form-item label="手机号" prop="mobile" labelWidth="60px" required>
<u-input v-model="form.mobile" placeholder="请输入手机号"></u-input>
</u-form-item>
<u-form-item label="内容" prop="content" labelWidth="60px" required>
<u--textarea v-model="form.content" placeholder="请输入内容"></u--textarea>
</u-form-item>
</u--form>
<u-button type="primary" @click="tosubmit"></u-button>
</view>
</view>
<view class="bgbottom">
<image src="../../static/img/nav_bottom.png" style="width: 100%;height: 100%;"></image>
</view>
</view>
</template>
<script>
export default {
data() {
return {
height: 0,
form: {
mobile: "",
content: ""
}
}
},
onLoad() {
let that = this;
uni.getSystemInfo({
success: function(res) {
that.height = res.windowHeight - 60;
}
});
},
methods: {
tosubmit() {
let that = this;
if (this.util.isNull(that.form.mobile)) {
this.util.toast("请填写手机号!");
return false;
} else {
if (!uni.$u.test.mobile(that.form.mobile)) {
this.util.toast("请填写正确的手机号!");
return false;
}
}
if (this.util.isNull(that.form.content)) {
this.util.toast("请填写内容!");
return false;
}
this.util.request({
api: '/api/mobile/other/tip-store',
data: this.form,
method: "POST",
utilSuccess: function(res) {
console.log(res)
that.newsSubscription();
},
utilFail: function(res) {
that.util.toast(res);
}
})
},
newsSubscription() {
uni.getSetting({
withSubscriptions: true, //false
success(res) {
if (res.authSetting['scope.subscribeMessage']) {
uni.redirectTo({
url: '/pages/success/success?from=feed'
})
} else {
//
uni.requestSubscribeMessage({
tmplIds: ['gPP22-SXuJmK9ffJZTNOSdq56Q2RmD2Qdg8ntteAO-Y'],
success(res) {
uni.showToast({
title: '订阅成功'
})
uni.redirectTo({
url: '/pages/success/success?from=feed'
})
}
})
}
}
});
},
}
}
</script>
<style>
.box {
padding: 20rpx;
box-sizing: border-box;
}
.u-input {
background-color: #fff;
}
.bgtop {
height: 40rpx;
}
.bgcenter {
background: url("../../static/img/nav_middle.png") repeat-y;
background-size: 100% 100%;
}
.box-content {
padding: 15rpx 40rpx;
color: #351C1B;
box-sizing: border-box;
}
.title {}
.time {
font-size: 24rpx;
}
.bgbottom {
height: 40rpx;
}
</style>

@ -1,105 +0,0 @@
<template>
<view class="box">
<view class="bgtop">
<image src="../../static/img/nav_top.png" style="width: 100%;height: 100%;"></image>
</view>
<view class="bgcenter" :style="{height:height+'px'}">
<view class="box-content">
反馈时间{{info.created_at||""}}
</view>
<view class="box-content" style="margin-top: 10px;">
反馈内容<rich-text :nodes="info.content"></rich-text>
</view>
<view class="box-content" style="margin-top: 40px;">
回复时间{{info.reply_time||""}}
</view>
<view class="box-content" style="margin-top: 10px;">
回复内容<rich-text :nodes="info.reply"></rich-text>
</view>
</view>
<view class="bgbottom">
<image src="../../static/img/nav_bottom.png" style="width: 100%;height: 100%;"></image>
</view>
</view>
</template>
<script>
export default {
data() {
return {
height: 0,
info: {}
}
},
onLoad(options) {
let that = this;
uni.getSystemInfo({
success: function(res) {
that.height = res.windowHeight - 60;
}
});
that.loadInfo(options.id);
},
methods: {
loadInfo(id) {
var that = this;
this.util.request({
api: "/api/mobile/other/tip-show",
data: {
id: id
},
utilSuccess: function(res) {
res.content = res.content.replace(/\<img/g,
"<img style='width:100%;height:auto;display:block'")
that.info = res;
},
utilFail: function(res) {
uni.showToast({
icon: "none",
title: res,
duration: 2000
})
}
})
}
}
}
</script>
<style>
.box {
padding: 20rpx;
box-sizing: border-box;
}
.bgtop {
height: 40rpx;
}
.bgcenter {
background: url("../../static/img/nav_middle.png") repeat-y;
background-size: 100% 100%;
padding: 15rpx 20rpx;
}
.time {
padding: 20rpx 0;
}
.newbox {
padding: 15rpx 20rpx;
color: #351C1B;
box-sizing: border-box;
}
.title {}
.time {
font-size: 24rpx;
}
.bgbottom {
height: 40rpx;
}
</style>

@ -1,109 +0,0 @@
<template>
<view class="box">
<view class="bgtop">
<image src="../../static/img/nav_top.png" style="width: 100%;height: 100%;"></image>
</view>
<view class="bgcenter" :style="{height:height+'px'}">
<view class="box-title">
{{info.name||""}}
</view>
<view class="time">
{{info.created_at||""}}
</view>
<view class="box-content">
<rich-text :nodes="info.content"></rich-text>
</view>
</view>
<view class="bgbottom">
<image src="../../static/img/nav_bottom.png" style="width: 100%;height: 100%;"></image>
</view>
</view>
</template>
<script>
export default {
data() {
return {
height: 0,
urls: {
1: '/api/mobile/other/visit-notice-show',
2: '/api/mobile/other/traffic-notice-show',
4: '/api/mobile/other/ask-show'
},
info: {},
type: 1
}
},
onLoad(options) {
let that = this;
uni.getSystemInfo({
success: function(res) {
that.height = res.windowHeight - 60;
}
});
this.type = options.type;
that.loadInfo(options.id);
},
methods: {
loadInfo(id) {
var that = this;
this.util.request({
api: this.urls[this.type],
data: {
id: id
},
utilSuccess: function(res) {
res.content = res.content.replace(/\<img/g,
"<img style='width:100%;height:auto;display:block'")
that.info = res;
},
utilFail: function(res) {
uni.showToast({
icon: "none",
title: res,
duration: 2000
})
}
})
}
}
}
</script>
<style>
.box {
padding: 20rpx;
box-sizing: border-box;
}
.bgtop {
height: 40rpx;
}
.bgcenter {
background: url("../../static/img/nav_middle.png") repeat-y;
background-size: 100% 100%;
padding: 15rpx 20rpx;
}
.time {
padding: 20rpx 0;
}
.newbox {
padding: 15rpx 20rpx;
color: #351C1B;
box-sizing: border-box;
}
.title {}
.time {
font-size: 24rpx;
}
.bgbottom {
height: 40rpx;
}
</style>

@ -1,111 +0,0 @@
<template>
<view class="box">
<view class="bgtop">
<image src="../../static/img/nav_top.png" style="width: 100%;height: 100%;"></image>
</view>
<view class="bgcenter" :style="{height:height+'px'}">
<view class="listnews">
<view class="newbox justify-between" v-for="(item,index) in list" :key="index" @click="toinfo(item.id)">
<view class="newboxleft flex-row">
<u-icon name="grid" color="#351C1B" size="24"></u-icon>
<text class="title" style="margin-left: 10rpx;">{{item.name}}</text>
</view>
<view class="newboxright">
<text class="time">{{item.created_at}}</text>
</view>
</view>
</view>
</view>
<view class="bgbottom">
<image src="../../static/img/nav_bottom.png" style="width: 100%;height: 100%;"></image>
</view>
</view>
</template>
<script>
export default {
data() {
return {
height: 0,
urls: {
1: '/api/mobile/other/visit-notice-index',
2: '/api/mobile/other/traffic-notice-index',
4: '/api/mobile/other/ask-index'
},
type: 1,
list: [],
isloading: true
}
},
onLoad(options) {
let that = this;
uni.getSystemInfo({
success: function(res) {
that.height = res.windowHeight - 60;
}
});
this.type = options.type;
that.loadList();
},
methods: {
toinfo(id) {
uni.navigateTo({
url: "info?type=" + this.type + "&id=" + id
})
},
loadList(page) {
var that = this;
this.util.request({
api: this.urls[this.type],
data: {
page: page
},
utilSuccess: function(res) {
that.list = res.data;
this.isloading = false;
},
utilFail: function(res) {
uni.showToast({
icon: "none",
title: res
})
}
})
}
}
}
</script>
<style>
.box {
padding: 20rpx;
box-sizing: border-box;
}
.bgtop {
height: 40rpx;
}
.bgcenter {
background: url("../../static/img/nav_middle.png") repeat-y;
background-size: 100% 100%;
}
.newbox {
padding: 15rpx 20rpx;
color: #351C1B;
box-sizing: border-box;
}
.title {}
.time {
font-size: 24rpx;
}
.bgbottom {
height: 40rpx;
}
</style>

@ -426,7 +426,7 @@
},
openActivity() {
uni.navigateTo({
url: "../activity/index"
url: "/packages/activity/index"
})
},
openMap() {
@ -436,7 +436,7 @@
},
openPark() {
uni.navigateTo({
url: "/pages/park/index"
url: "/packages/park/index"
})
},
loadUser(cb) {

@ -219,13 +219,13 @@
var url = "";
switch (type) {
case 1:
url = "../order/visitorder"
url = "/packages/order/visitorder"
break;
case 2:
url = "../order/activityorder"
url = "/packages/order/activityorder"
break;
case 3:
url = "../order/parkorder"
url = "/packages/order/parkorder"
break;
case 4:
url = "recommend"

@ -1,27 +0,0 @@
<template>
<view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShareAppMessage() {
return {
title: "领取我的预约码"
}
},
methods: {
}
}
</script>
<style>
</style>

@ -1,144 +0,0 @@
<template>
<view class="content">
<view class='contop'>
<view class='title'>{{info.name?info.name:''}}</view>
<view class='time'><span>时间{{info.release_time?cancelTime(info.release_time):''}}</span><span>来源{{info.source?info.source:''}}</span></view>
<!-- <view class='head'>
<img :src="info.head_upload.url" alt="">
</view> -->
</view>
<!-- <view class='bg40'></view> -->
<view class='detail'>
<u-parse v-if="showContent" :content="info.content?info.content:' '"/>
</view>
</view>
</template>
<script>
import uParse from '@/components/gaoyia-parse/parse.vue'
export default {
components: {
uParse
},
data() {
return {
info: {},
id: '',
showContent:false,
guidance_unit_list: [],
sponsor_list: [],
bear_unit_list: []
}
},
onLoad(options) {
this.id = options.id ? options.id : ''
this.loadDetail()
},
methods: {
cancelTime(val){
return val.substring(0,10)
},
loadDetail() {
var that = this;
this.util.request({
api: '/api/mobile/cultural-relic/show',
data: {
id: that.id
},
utilSuccess: function(res) {
that.info = res
const host = that.util.HOST
console.log(host)
that.info.content = that.util.replaceImgUrl(that.info.content,'../storage/files',`${host}/storage/files`)
that.showContent = true
},
utilFail: function(res) {
}
})
}
}
}
</script>
<style>
@import url("/components/gaoyia-parse/parse.css");
.content {
background-color: #fbf3ea;
/* padding-bottom:180rpx */
}
.contop{
padding:0 30rpx;
padding-bottom: 30rpx;
/* border-radius: 0 0 30rpx 30rpx; */
background: #fff;
}
.title {
text-align: center;
padding: 30rpx 0rpx;
font-size: 32rpx;
font-size: 36rpx;
font-weight:bold;
}
.time {
text-align: center;
color: #6e6e6e;
font-size: 28rpx;
padding-bottom: 30rpx;
border-bottom: 1px solid #fafaf9;
}
.time span {
margin: 0 10rpx;
}
.head {
margin:30rpx 0;
margin-bottom:0;
}
.head img {
width: 100%
}
.head_unit{
background-color: #fcf8f3;
border:8rpx solid #f8ebdb;
border-radius: 20rpx;
padding:35rpx;
margin:30rpx 0;
margin-bottom:0;
}
.head_unit>view{
display: flex;
}
.head_unit>view>view:first-child{
width:28%;
}
.head_unit>view>view:last-child{
width:72%;
}
.head_unit>view>view:last-child view{
margin-bottom: 20rpx;
}
.bg40{
width:100%;
height:40rpx;
background-color: #fbf3ea;
}
.detail {
padding:0 60rpx;
background: #fff;
padding-top: 30rpx;
/* border-radius: 30rpx 30rpx 0 0; */
padding-bottom:180rpx;
font-size: 28rpx;
}
.detail img {
width: 100%;
margin:10rpx 0;
}
.wxParse{
line-height: 2.3;
}
</style>

@ -1,178 +0,0 @@
<template>
<view class='content'>
<view>
<u-empty v-if="dataList.length==0" marginTop="250"></u-empty>
<view class="relic_list" v-else='dataList.length>0'>
<view class='relic_item' v-for='item in dataList' @click='todetail(item.id)'>
<img :src="item.head_upload.url" alt="">
<view>
<view>{{item.name}}</view>
<view class='contain'>{{item.contain}}</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
currentPage: 1,
isLoading: false,
dataList: []
}
},
onLoad() {
this.loadrelic(1)
},
onPullDownRefresh() {
console.log("onPullDownRefresh")
if (!this.isLoading) {
this.loadrelic(this.currentPage + 1);
}
},
onReachBottom() {
console.log("onReachBottom")
if (!this.isLoading) {
this.loadrelic(this.currentPage + 1);
}
},
methods: {
relicChange(e) {
this.current = e.index;
this.loadrelic(1);
},
cancelTime(str) {
return str ? str.substring(0, 10) : ''
},
todetail(id) {
uni.navigateTo({
url: "/pages/relic/detail?id=" + id
});
},
loadrelic(page) {
uni.hideKeyboard()
var that = this;
that.isLoading = true;
this.util.request({
api: '/api/mobile/cultural-relic/index',
customLoading: false,
data: {
page: page,
page_size: 7,
sort_name:'release_time',
sort_type:"DESC",
},
utilSuccess: function(r) {
var res = r.data;
that.isLoading = false;
var hasNoMore = r.total < 6 && page > 1;
if (hasNoMore || res.length == 0 && page > 1) {
uni.stopPullDownRefresh(); // < ,
//
uni.showToast({
title: '已加载到最后一页',
icon: 'none'
});
return;
}
var dataList = that.dataList;
// for (var m of res) {
// if (m.created_at.indexOf('T') > 0)
// m.created_at = m.created_at.split("T")[0] + " " + m.created_at.split("T")[
// 1].split(".")[0];
// m.poster = (weixin.isNull(m.poster) ? "../../static/rishang.png" : m
// .poster_url)
// }
if (page == 1) {
dataList = res;
} else {
dataList.push(...res);
}
that.currentPage = page;
that.dataList = dataList;
},
utilFail: function(res) {
if (page == 1) {
that.currentPage = page;
}
that.util.alert(res);
}
});
}
}
}
</script>
<style>
.tabsnav {
background-color: #fbf3ea;
}
.relic_list {
padding: 0 30rpx;
padding-top: 10rpx;
border-top: 1px solid #fafaf9;
}
.relic_item {
width: 100%;
padding: 20rpx 0;
padding-top: 20rpx;
border-bottom: 1px solid #fafaf9;
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.relic_item img {
width: 310rpx;
height: 183rpx;
border-radius: 10rpx;
}
.relic_item>view {
width: 370rpx;
}
.relic_item>view view {
margin-top: 10rpx;
}
.relic_item>view view:first-child {
width: 100%;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
/* 这里是超出几行省略 */
overflow: hidden;
font-size: 30rpx;
margin-top:0
}
.relic_item>view view:last-child {
width: 100%;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
/* 这里是超出几行省略 */
overflow: hidden;
font-size: 26rpx;
margin-top: 10rpx;
}
</style>

@ -25,13 +25,13 @@
var url = "";
if (options.from == "visit") {
this.tips = "参观预约";
url = "/pages/order/visitorderinfo?id=" + options.id
url = "/packages/order/visitorderinfo?id=" + options.id
} else if (options.from == "activity") {
this.tips = "活动预约";
url = "/pages/order/activityorderinfo?id=" + options.id
url = "/packages/order/activityorderinfo?id=" + options.id
} else if (options.from == "park") {
this.tips = "车位预约";
url = "/pages/order/parkorderinfo?id=" + options.id
url = "/packages/order/parkorderinfo?id=" + options.id
} else if (options.from == "feed") {
this.tips = "首页";
this.option = "提交"

@ -743,7 +743,7 @@
}, 1000)
that.timer = setTimeout(function() {
uni.redirectTo({
url: '/pages/order/visitorder'
url: '/packages/order/visitorder'
})
clearInterval(that.t);
clearTimeout(that.timer)

@ -16,7 +16,7 @@
},
onLoad(options) {
if(options.link){
this.src = options.link
this.src = decodeURIComponent(options.link)
}
},
methods:{

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Loading…
Cancel
Save