@@ -0,0 +1,37 @@ | |||
const {request} = require("../request/index") | |||
// 获取公告 | |||
export const getAnnounce = function(params) { | |||
return request({ | |||
url: '/index/westreamAct/page', | |||
method: 'GET', | |||
data:params | |||
}) | |||
} | |||
// 获取在线人数 | |||
export const getOnlive = function(params) { | |||
return request({ | |||
url: '/index/westreamUser/onlineNum', | |||
method: 'GET', | |||
data:params | |||
}) | |||
} | |||
// 获取河流全部数据 | |||
export const getRivers = function(params) { | |||
return request({ | |||
url: '/stream/indexAll', | |||
method: 'GET', | |||
data:params | |||
}) | |||
} | |||
// 上传美拍 | |||
export const uploadBeauty = function(data) { | |||
return request({ | |||
url: '/index/westreamScenery/submit', | |||
method: 'POST', | |||
data | |||
}) | |||
} | |||
@@ -8,6 +8,15 @@ export const getOpenId = function (code) { | |||
method: 'GET', | |||
}) | |||
} | |||
/** | |||
* 获取openId | |||
*/ | |||
export const getUserData = function (openid) { | |||
return request({ | |||
url: `/wx/westreamUser/${openid}`, | |||
method: 'GET', | |||
}) | |||
} | |||
/** | |||
* 查询省市区对应城市代码 | |||
*/ | |||
@@ -18,3 +27,14 @@ export const getCityNameCode = function (data) { | |||
data | |||
}) | |||
} | |||
/** | |||
* 在线心跳 | |||
*/ | |||
export const IsOnlive = function (data) { | |||
return request({ | |||
url: '/index/westreamUser/edit', | |||
method: 'PUT', | |||
data | |||
}) | |||
} |
@@ -1,4 +1,5 @@ | |||
// app.js | |||
import {IsOnlive} from './api/login.js' | |||
App({ | |||
onLaunch() { | |||
// 展示本地存储能力 | |||
@@ -6,41 +7,30 @@ App({ | |||
logs.unshift(Date.now()) | |||
wx.setStorageSync('logs', logs) | |||
// 登录 | |||
// wx.login({ | |||
// success: res => { | |||
// 请求服务端获取用户openId | |||
// console.log(res); | |||
// wx.request({ | |||
// url: 'url', | |||
// data: { | |||
// code: res.data | |||
// }, | |||
// success(res) { | |||
// if (res.data.code === 1) { | |||
// wx.switchTab({ | |||
// url: '/pages/home/index' | |||
// }) | |||
// } else { | |||
// wx.showToast({ | |||
// title: res.msg, | |||
// icon: 'error', | |||
// duration: 1500, | |||
// }) | |||
// } | |||
// }, | |||
// fail(e) { | |||
// wx.showToast({ | |||
// title: '信息获取失败', | |||
// icon: 'error', | |||
// duration: 1500, | |||
// }) | |||
// } | |||
// }) | |||
// } | |||
// }) | |||
// 心跳更新在线状态 | |||
setInterval(()=> { | |||
const {times} = this.globalData | |||
const openid = wx.getStorageSync('openId') | |||
const positionParams = wx.getStorageSync('positionParams') | |||
const {nickname, headimgurl} = wx.getStorageSync('userInfo') | |||
const params = { | |||
openid, | |||
// nickname: nickname, | |||
// headimgurl: headimgurl, | |||
provinceCode: positionParams.provinceCode, | |||
cityCode: positionParams.cityCode, | |||
districtCode: positionParams.districtCode | |||
} | |||
if(openid) { | |||
/* 更新用户省市区,一分钟一次 */ | |||
if(times%60 === 0){ | |||
IsOnlive(params) | |||
} | |||
} | |||
}, 5000) | |||
}, | |||
globalData: { | |||
times: 0, | |||
userInfo: null | |||
} | |||
}) |
@@ -1,6 +1,7 @@ | |||
{ | |||
"pages": [ | |||
"pages/home/index", | |||
"pages/FirstPage/index", | |||
"pages/all/index", | |||
"pages/mine/index", | |||
"pages/login/login" | |||
], | |||
@@ -16,7 +17,13 @@ | |||
"selectedColor": "#477DF3", | |||
"list": [ | |||
{ | |||
"pagePath": "pages/home/index", | |||
"pagePath": "pages/FirstPage/index", | |||
"text": "首页", | |||
"iconPath": "./assets/tabBar/protect.png", | |||
"selectedIconPath": "./assets/tabBar/protect_h.png" | |||
}, | |||
{ | |||
"pagePath": "pages/all/index", | |||
"text": "全民护河", | |||
"iconPath": "./assets/tabBar/protect.png", | |||
"selectedIconPath": "./assets/tabBar/protect_h.png" | |||
@@ -30,6 +37,20 @@ | |||
] | |||
}, | |||
"subPackages": [ | |||
{ | |||
"root": "package_first", | |||
"pages": [ | |||
"pages/announceList/index", | |||
"pages/askAdmin/index", | |||
"pages/beautyList/index", | |||
"pages/more/index", | |||
"pages/announceDetail/index", | |||
"pages/askDetail/index", | |||
"pages/uploadBeauty/index", | |||
"pages/beautyDetail/index", | |||
"pages/successPage/index" | |||
] | |||
}, | |||
{ | |||
"root": "package_A", | |||
"pages": [ | |||
@@ -41,9 +62,10 @@ | |||
{ | |||
"root": "package_B", | |||
"pages": [ | |||
"pages/collection/index", | |||
"pages/records/index", | |||
"pages/feedbackDetail/index" | |||
"pages/feedbackDetail/index", | |||
"pages/beauties/index", | |||
"pages/senceDetail/index" | |||
] | |||
} | |||
], |
@@ -0,0 +1,36 @@ | |||
// components/BeautyInfo/index.js | |||
Component({ | |||
/** | |||
* 组件的属性列表 | |||
*/ | |||
properties: { | |||
dataSource: { | |||
type: Object, | |||
default: {} | |||
} | |||
}, | |||
/** | |||
* 组件的初始数据 | |||
*/ | |||
data: { | |||
dataItem: { | |||
content: '看!这是朕为你打下的江山!', | |||
imgaeCover: '../../assets/first/home_head.png', | |||
createTime: '2023-03-21' | |||
} | |||
}, | |||
observers: { | |||
'dataSource'(dataSource){ | |||
console.log(dataSource); | |||
} | |||
}, | |||
/** | |||
* 组件的方法列表 | |||
*/ | |||
methods: { | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"component": true, | |||
"usingComponents": {} | |||
} |
@@ -0,0 +1,8 @@ | |||
<!--components/BeautyInfo/index.wxml--> | |||
<view class="info_container"> | |||
<image class="feedback_img" src="{{dataItem.imageCover}}"></image> | |||
<view class="messge_box"> | |||
<text>{{dataItem.content}}</text> | |||
<text>{{dataItem.createTime}}</text> | |||
</view> | |||
</view> |
@@ -0,0 +1 @@ | |||
/* components/BeautyInfo/index.wxss */ |
@@ -0,0 +1,44 @@ | |||
// components/ImageList/index.js | |||
Component({ | |||
/** | |||
* 组件的属性列表 | |||
*/ | |||
properties: { | |||
imageSource: { | |||
type: String, | |||
value: '' | |||
}, | |||
limit: { | |||
type: Number, | |||
value: 3 | |||
} | |||
}, | |||
/** | |||
* 组件的初始数据 | |||
*/ | |||
data: { | |||
imageList: [] | |||
}, | |||
observers: { | |||
'imageSource'(imageSource) { | |||
if(imageSource.length) { | |||
const images = imageSource.split(',') | |||
if(images.length > this.properties.limit) { | |||
const imageList = images.slice(0, this.properties.limit) | |||
this.setData({imageList}) | |||
} else { | |||
this.setData({imageList: images}) | |||
} | |||
} | |||
} | |||
}, | |||
/** | |||
* 组件的方法列表 | |||
*/ | |||
methods: { | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"component": true, | |||
"usingComponents": {} | |||
} |
@@ -0,0 +1,4 @@ | |||
<!--components/ImageList/index.wxml--> | |||
<view class="image_container"> | |||
<image class="image_item" src="{{item}}" wx:for="{{imageList}}" wx:key="index"></image> | |||
</view> |
@@ -0,0 +1,12 @@ | |||
/* components/ImageList/index.wxss */ | |||
.image_container { | |||
width: 100%; | |||
display: flex; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.image_item { | |||
width: 180rpx; | |||
height: 180rpx; | |||
margin-right: 20rpx; | |||
} |
@@ -24,6 +24,10 @@ Component({ | |||
default() { | |||
return false | |||
} | |||
}, | |||
placeholder: { | |||
type: String, | |||
default: "请选择" | |||
} | |||
}, | |||
/** |
@@ -4,7 +4,7 @@ | |||
<view class="picker" wx:if="{{data[current][rangeKey]}}"> | |||
{{data[current][rangeKey]}} | |||
</view> | |||
<view wx:else class="picker" style="color: {{disabled? '#999999': '#333333'}};"> | |||
<view wx:else class="picker" style="color: {{disabled? '#999999': 'rgba(0, 0, 0, 0.5)'}};"> | |||
请选择 | |||
</view> | |||
</picker> |
@@ -6,8 +6,16 @@ Component({ | |||
color: "#939393", | |||
selectedColor: "#477DF3", | |||
list: [ | |||
{ | |||
pagePath: "/pages/FirstPage/index", | |||
iconPath: '../assets/tabBar/home.png', | |||
selectedIconPath:'../assets/tabBar/home_selected.png', | |||
text: "首页", | |||
auth: false, | |||
isSpecial: false | |||
}, | |||
{ | |||
pagePath: "/pages/home/index", | |||
pagePath: "/pages/all/index", | |||
iconPath: '../assets/tabBar/protect.png', | |||
selectedIconPath:'../assets/tabBar/protect_h.png', | |||
text: "全民护河", | |||
@@ -23,15 +31,16 @@ Component({ | |||
isSpecial: false | |||
} | |||
], | |||
isIphoneX: app.globalData.isIphoneX | |||
isIphoneX: app.globalData.isIphoneX, | |||
path: '' | |||
}, | |||
methods: { | |||
switchTab(e) { | |||
const dataset = e.currentTarget.dataset | |||
const path = dataset.path | |||
const index = dataset.index | |||
const auth = dataset.auth | |||
const openId = wx.getStorageSync('openId') | |||
const dataset = e.currentTarget.dataset | |||
const path = dataset.path | |||
const index = dataset.index | |||
const auth = dataset.auth | |||
const openId = wx.getStorageSync('openId') | |||
if(auth) { | |||
if(openId) { | |||
wx.switchTab({ |
@@ -1,6 +1,6 @@ | |||
const __request_base_url__ = { | |||
develop: "http://192.168.11.11:9061/api", | |||
// develop: "https://qmhh.t-aaron.com/api", | |||
// develop: "http://192.168.11.11:9061/api", | |||
develop: "https://qmhhapi-test.t-aaron.com/api", | |||
trial: "https://qmhhapi-test.t-aaron.com/api", | |||
release: "https://qmhh.t-aaron.com/api" | |||
} |
@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport | |||
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; | |||
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; | |||
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; | |||
__DEFINE__(1663124739569, function(require, module, exports) { | |||
__DEFINE__(1679274193843, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -23,8 +23,8 @@ __DEFINE__(1663124739569, function(require, module, exports) { | |||
return CryptoJS; | |||
})); | |||
}, function(modId) {var map = {"./core":1663124739570,"./x64-core":1663124739571,"./lib-typedarrays":1663124739572,"./enc-utf16":1663124739573,"./enc-base64":1663124739574,"./enc-base64url":1663124739575,"./md5":1663124739576,"./sha1":1663124739577,"./sha256":1663124739578,"./sha224":1663124739579,"./sha512":1663124739580,"./sha384":1663124739581,"./sha3":1663124739582,"./ripemd160":1663124739583,"./hmac":1663124739584,"./pbkdf2":1663124739585,"./evpkdf":1663124739586,"./cipher-core":1663124739587,"./mode-cfb":1663124739588,"./mode-ctr":1663124739589,"./mode-ctr-gladman":1663124739590,"./mode-ofb":1663124739591,"./mode-ecb":1663124739592,"./pad-ansix923":1663124739593,"./pad-iso10126":1663124739594,"./pad-iso97971":1663124739595,"./pad-zeropadding":1663124739596,"./pad-nopadding":1663124739597,"./format-hex":1663124739598,"./aes":1663124739599,"./tripledes":1663124739600,"./rc4":1663124739601,"./rabbit":1663124739602,"./rabbit-legacy":1663124739603}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739570, function(require, module, exports) { | |||
}, function(modId) {var map = {"./core":1679274193844,"./x64-core":1679274193845,"./lib-typedarrays":1679274193846,"./enc-utf16":1679274193847,"./enc-base64":1679274193848,"./enc-base64url":1679274193849,"./md5":1679274193850,"./sha1":1679274193851,"./sha256":1679274193852,"./sha224":1679274193853,"./sha512":1679274193854,"./sha384":1679274193855,"./sha3":1679274193856,"./ripemd160":1679274193857,"./hmac":1679274193858,"./pbkdf2":1679274193859,"./evpkdf":1679274193860,"./cipher-core":1679274193861,"./mode-cfb":1679274193862,"./mode-ctr":1679274193863,"./mode-ctr-gladman":1679274193864,"./mode-ofb":1679274193865,"./mode-ecb":1679274193866,"./pad-ansix923":1679274193867,"./pad-iso10126":1679274193868,"./pad-iso97971":1679274193869,"./pad-zeropadding":1679274193870,"./pad-nopadding":1679274193871,"./format-hex":1679274193872,"./aes":1679274193873,"./tripledes":1679274193874,"./rc4":1679274193875,"./rabbit":1679274193876,"./rabbit-legacy":1679274193877}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193844, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -833,7 +833,7 @@ __DEFINE__(1663124739570, function(require, module, exports) { | |||
})); | |||
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739571, function(require, module, exports) { | |||
__DEFINE__(1679274193845, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -1138,8 +1138,8 @@ __DEFINE__(1663124739571, function(require, module, exports) { | |||
return CryptoJS; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739572, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193846, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -1216,8 +1216,8 @@ __DEFINE__(1663124739572, function(require, module, exports) { | |||
return CryptoJS.lib.WordArray; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739573, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193847, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -1367,8 +1367,8 @@ __DEFINE__(1663124739573, function(require, module, exports) { | |||
return CryptoJS.enc.Utf16; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739574, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193848, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -1505,8 +1505,8 @@ __DEFINE__(1663124739574, function(require, module, exports) { | |||
return CryptoJS.enc.Base64; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739575, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193849, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -1647,8 +1647,8 @@ __DEFINE__(1663124739575, function(require, module, exports) { | |||
return CryptoJS.enc.Base64url; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739576, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193850, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -1917,8 +1917,8 @@ __DEFINE__(1663124739576, function(require, module, exports) { | |||
return CryptoJS.MD5; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739577, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193851, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -2069,8 +2069,8 @@ __DEFINE__(1663124739577, function(require, module, exports) { | |||
return CryptoJS.SHA1; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739578, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193852, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -2270,8 +2270,8 @@ __DEFINE__(1663124739578, function(require, module, exports) { | |||
return CryptoJS.SHA256; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739579, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193853, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -2352,8 +2352,8 @@ __DEFINE__(1663124739579, function(require, module, exports) { | |||
return CryptoJS.SHA224; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./sha256":1663124739578}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739580, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./sha256":1679274193852}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193854, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -2680,8 +2680,8 @@ __DEFINE__(1663124739580, function(require, module, exports) { | |||
return CryptoJS.SHA512; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./x64-core":1663124739571}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739581, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./x64-core":1679274193845}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193855, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -2765,8 +2765,8 @@ __DEFINE__(1663124739581, function(require, module, exports) { | |||
return CryptoJS.SHA384; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./x64-core":1663124739571,"./sha512":1663124739580}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739582, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./x64-core":1679274193845,"./sha512":1679274193854}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193856, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -3093,8 +3093,8 @@ __DEFINE__(1663124739582, function(require, module, exports) { | |||
return CryptoJS.SHA3; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./x64-core":1663124739571}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739583, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./x64-core":1679274193845}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193857, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -3362,8 +3362,8 @@ __DEFINE__(1663124739583, function(require, module, exports) { | |||
return CryptoJS.RIPEMD160; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739584, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193858, function(require, module, exports) { | |||
;(function (root, factory) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -3507,8 +3507,8 @@ __DEFINE__(1663124739584, function(require, module, exports) { | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739585, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193859, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -3654,8 +3654,8 @@ __DEFINE__(1663124739585, function(require, module, exports) { | |||
return CryptoJS.PBKDF2; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./sha1":1663124739577,"./hmac":1663124739584}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739586, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./sha1":1679274193851,"./hmac":1679274193858}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193860, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -3790,8 +3790,8 @@ __DEFINE__(1663124739586, function(require, module, exports) { | |||
return CryptoJS.EvpKDF; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./sha1":1663124739577,"./hmac":1663124739584}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739587, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./sha1":1679274193851,"./hmac":1679274193858}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193861, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -4682,8 +4682,8 @@ __DEFINE__(1663124739587, function(require, module, exports) { | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./evpkdf":1663124739586}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739588, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./evpkdf":1679274193860}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193862, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -4764,8 +4764,8 @@ __DEFINE__(1663124739588, function(require, module, exports) { | |||
return CryptoJS.mode.CFB; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739589, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193863, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -4824,8 +4824,8 @@ __DEFINE__(1663124739589, function(require, module, exports) { | |||
return CryptoJS.mode.CTR; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739590, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193864, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -4942,8 +4942,8 @@ __DEFINE__(1663124739590, function(require, module, exports) { | |||
return CryptoJS.mode.CTRGladman; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739591, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193865, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -4998,8 +4998,8 @@ __DEFINE__(1663124739591, function(require, module, exports) { | |||
return CryptoJS.mode.OFB; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739592, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193866, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5040,8 +5040,8 @@ __DEFINE__(1663124739592, function(require, module, exports) { | |||
return CryptoJS.mode.ECB; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739593, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193867, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5091,8 +5091,8 @@ __DEFINE__(1663124739593, function(require, module, exports) { | |||
return CryptoJS.pad.Ansix923; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739594, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193868, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5137,8 +5137,8 @@ __DEFINE__(1663124739594, function(require, module, exports) { | |||
return CryptoJS.pad.Iso10126; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739595, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193869, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5179,8 +5179,8 @@ __DEFINE__(1663124739595, function(require, module, exports) { | |||
return CryptoJS.pad.Iso97971; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739596, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193870, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5228,8 +5228,8 @@ __DEFINE__(1663124739596, function(require, module, exports) { | |||
return CryptoJS.pad.ZeroPadding; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739597, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193871, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5260,8 +5260,8 @@ __DEFINE__(1663124739597, function(require, module, exports) { | |||
return CryptoJS.pad.NoPadding; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739598, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193872, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5328,8 +5328,8 @@ __DEFINE__(1663124739598, function(require, module, exports) { | |||
return CryptoJS.format.Hex; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739599, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193873, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -5564,8 +5564,8 @@ __DEFINE__(1663124739599, function(require, module, exports) { | |||
return CryptoJS.AES; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./enc-base64":1663124739574,"./md5":1663124739576,"./evpkdf":1663124739586,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739600, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./enc-base64":1679274193848,"./md5":1679274193850,"./evpkdf":1679274193860,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193874, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -6345,8 +6345,8 @@ __DEFINE__(1663124739600, function(require, module, exports) { | |||
return CryptoJS.TripleDES; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./enc-base64":1663124739574,"./md5":1663124739576,"./evpkdf":1663124739586,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739601, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./enc-base64":1679274193848,"./md5":1679274193850,"./evpkdf":1679274193860,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193875, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -6486,8 +6486,8 @@ __DEFINE__(1663124739601, function(require, module, exports) { | |||
return CryptoJS.RC4; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./enc-base64":1663124739574,"./md5":1663124739576,"./evpkdf":1663124739586,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739602, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./enc-base64":1679274193848,"./md5":1679274193850,"./evpkdf":1679274193860,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193876, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -6680,8 +6680,8 @@ __DEFINE__(1663124739602, function(require, module, exports) { | |||
return CryptoJS.Rabbit; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./enc-base64":1663124739574,"./md5":1663124739576,"./evpkdf":1663124739586,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1663124739603, function(require, module, exports) { | |||
}, function(modId) { var map = {"./core":1679274193844,"./enc-base64":1679274193848,"./md5":1679274193850,"./evpkdf":1679274193860,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
__DEFINE__(1679274193877, function(require, module, exports) { | |||
;(function (root, factory, undef) { | |||
if (typeof exports === "object") { | |||
// CommonJS | |||
@@ -6872,8 +6872,8 @@ __DEFINE__(1663124739603, function(require, module, exports) { | |||
return CryptoJS.RabbitLegacy; | |||
})); | |||
}, function(modId) { var map = {"./core":1663124739570,"./enc-base64":1663124739574,"./md5":1663124739576,"./evpkdf":1663124739586,"./cipher-core":1663124739587}; return __REQUIRE__(map[modId], modId); }) | |||
return __REQUIRE__(1663124739569); | |||
}, function(modId) { var map = {"./core":1679274193844,"./enc-base64":1679274193848,"./md5":1679274193850,"./evpkdf":1679274193860,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); }) | |||
return __REQUIRE__(1679274193843); | |||
})() | |||
//miniprogram-npm-outsideDeps=["crypto"] | |||
//# sourceMappingURL=index.js.map |
@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport | |||
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; | |||
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; | |||
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; | |||
__DEFINE__(1663124739604, function(require, module, exports) { | |||
__DEFINE__(1679274193878, function(require, module, exports) { | |||
// | |||
// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND! | |||
// | |||
@@ -326,7 +326,7 @@ __DEFINE__(1663124739604, function(require, module, exports) { | |||
})); | |||
}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); }) | |||
return __REQUIRE__(1663124739604); | |||
return __REQUIRE__(1679274193878); | |||
})() | |||
//miniprogram-npm-outsideDeps=[] | |||
//# sourceMappingURL=index.js.map |
@@ -30,7 +30,7 @@ Page({ | |||
}, | |||
returnList(){ | |||
wx.switchTab({ | |||
url: '/pages/home/index' | |||
url: '/pages/all/index' | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,44 @@ | |||
// package_B/pages/beauties/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
params: {}, | |||
list: [], | |||
current: '/westreamScenery/my', | |||
statusList: { | |||
1: '../../../assets/first/waiting.png', | |||
2: '../../../assets/first/pass.png', | |||
3: '../../../assets/first/reject.png' | |||
} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
const openid = wx.getStorageSync('openId') | |||
let params = this.data.params | |||
params.openid = openid | |||
this.setData({params}) | |||
}, | |||
/* 更新数据 */ | |||
updateList(e) { | |||
let list = this.data.list.concat(e.detail) | |||
this.setData({ list }) | |||
}, | |||
/* 重置数据 */ | |||
resetList() { | |||
this.setData({ list: [] }) | |||
}, | |||
/* 跳转至详情页 */ | |||
showDetail(e) { | |||
let data = e.currentTarget.dataset.item | |||
wx.navigateTo({ | |||
url: '/package_B/pages/senceDetail/index?data='+ JSON.stringify(data), | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,8 @@ | |||
{ | |||
"usingComponents": { | |||
"list": "../../../components/List/index", | |||
"BeautyInfo": "../../../components/BeautyInfo/index", | |||
"ImageList": "../../../components/ImageList/index" | |||
}, | |||
"navigationBarTitleText": "我的美拍" | |||
} |
@@ -0,0 +1,18 @@ | |||
<!--package_B/pages/beauties/index.wxml--> | |||
<view class="protect_container"> | |||
<list id="list" class="feedback_list" url="{{current}}" bind:update-list="updateList" list="{{list}}" bind:reset-list="resetList" params="{{params}}"> | |||
<view class="feedback_item" data-item="{{item}}" bindtap="showDetail" wx:for="{{list}}" wx:key="index"> | |||
<view class="feedback_info"> | |||
<ImageList imageSource="{{item.image}}" limit="{{1}}"></ImageList> | |||
<view class="messge_box"> | |||
<view class="content_box">{{item.content}}</view> | |||
<text style="font-size: 24rpx;color: rgba(0, 0, 0, 0.5);">{{item.createTime || ''}}</text> | |||
</view> | |||
</view> | |||
<image class="status_img" src="{{statusList[item.status]}}"></image> | |||
</view> | |||
</list> | |||
</view> | |||
@@ -0,0 +1,61 @@ | |||
/* package_B/pages/beauties/index.wxss */ | |||
.protect_container { | |||
width: 100%; | |||
min-height: 100vh; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
background-color: #F3F4F5; | |||
color: #333333; | |||
} | |||
.feedback_list { | |||
width: 100%; | |||
} | |||
.feedback_item { | |||
width: 100%; | |||
padding: 24rpx; | |||
margin-bottom: 20rpx; | |||
background-color: #ffffff; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-end; | |||
position: relative; | |||
} | |||
.info_head { | |||
font-size: 22rpx; | |||
} | |||
.feedback_info { | |||
width: 100%; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
} | |||
.feedback_img { | |||
width: 180rpx; | |||
height: 150rpx; | |||
margin-right: 30rpx; | |||
border-radius: 4rpx; | |||
} | |||
.messge_box { | |||
width: 500rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.content_box { | |||
width: 100%; | |||
margin-bottom: 10rpx; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.status_img { | |||
width: 120rpx; | |||
height: 96rpx; | |||
position: absolute; | |||
top: 10rpx; | |||
right: 20rpx; | |||
} |
@@ -1,2 +0,0 @@ | |||
<!--package_B/pages/collection/index.wxml--> | |||
<text>package_B/pages/collection/index.wxml</text> |
@@ -7,7 +7,6 @@ Page({ | |||
data: { | |||
list: [], | |||
current: "/feedback/my", | |||
statusList: ['待处理','待处理','已处理','已处理'], | |||
params: {}, | |||
statusList: [ | |||
{title: '待处理', color: '#F34747'}, |
@@ -0,0 +1,48 @@ | |||
// package_B/pages/senceDetail/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
dataSource: {}, | |||
imageList: [], | |||
messageList: [ | |||
{title: '描述', value: 'content'}, | |||
{title: '上传时间', value: 'createTime'}, | |||
{title: '审核意见', value: 'status'}, | |||
{title: '审核时间', value: 'examineTime'}, | |||
{title: '备注', value: 'remark'} | |||
], | |||
statusList: { | |||
1: '待审核', | |||
2: '审核通过', | |||
3: '审核驳回' | |||
} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
if(options) { | |||
const dataSource = JSON.parse(options.data) | |||
let imageList = [] | |||
if(dataSource.image.length) { | |||
imageList = dataSource.image.split(',') | |||
} | |||
this.setData({imageList, dataSource}) | |||
} | |||
}, | |||
/* 图片预览 */ | |||
showImgPreview(e) { | |||
let index = e.currentTarget.dataset.current | |||
let urls = this.data.imageList | |||
const current = this.data.imageList[index] | |||
wx.previewImage({ | |||
urls, | |||
current | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "我的美拍" | |||
} |
@@ -0,0 +1,28 @@ | |||
<!--package_B/pages/senceDetail/index.wxml--> | |||
<view class="detail_container"> | |||
<!-- 图片 --> | |||
<view class="banner_box"> | |||
<swiper indicator-dots="{{false}}" autoplay="true" interval="5000" bindchange="setCurrent" duration="1000" | |||
circular="true" class="banner-swiper"> | |||
<block wx:for="{{imageList}}" wx:key="index"> | |||
<swiper-item style="height: 100%"> | |||
<image class="banner-image" src="{{item}}" mode="scaleToFill" data-current="{{index}}" bindtap="showImgPreview"> | |||
</image> | |||
</swiper-item> | |||
</block> | |||
</swiper> | |||
<view class="dots"> | |||
<block wx:for="{{bannerList}}" wx:key="index"> | |||
<view class="dot {{current==index?'active':''}}"> | |||
</view> | |||
</block> | |||
</view> | |||
</view> | |||
<!-- 信息 --> | |||
<view class="message_box"> | |||
<view class="message_item" wx:for="{{messageList}}" wx:key="index"> | |||
<text class="message_title">{{item.title}}:</text> | |||
<view class="message_value">{{(item.value !== 'status'? dataSource[item.value] : statusList[dataSource.status]) || ''}}</view> | |||
</view> | |||
</view> | |||
</view> |
@@ -0,0 +1,73 @@ | |||
/* package_B/pages/senceDetail/index.wxss */ | |||
.detail_container { | |||
width: 100%; | |||
padding: 0 30rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.banner_box { | |||
width: 100%; | |||
position: relative; | |||
} | |||
.banner-swiper { | |||
width: 100%; | |||
height: 400rpx; | |||
} | |||
.banner-image { | |||
height: 100%; | |||
width: 100%; | |||
} | |||
.dots { | |||
position: absolute; | |||
/* top: 350rpx; */ | |||
bottom:16rpx; | |||
left: 50%; | |||
transform: translateX(-50%); | |||
display: flex; | |||
} | |||
.dot { | |||
height: 8rpx; | |||
width: 8rpx; | |||
background: #A4ADB4; | |||
border-radius: 5rpx; | |||
margin-right: 10rpx; | |||
} | |||
.active.dot { | |||
width: 30rpx; | |||
height: 8rpx; | |||
background: #FFFFFF; | |||
border-radius: 5rpx; | |||
} | |||
.dot:last-of-type { | |||
margin-right: 0; | |||
} | |||
/* 信息 */ | |||
.message_box { | |||
width: 100%; | |||
margin-top: 30rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.message_item { | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
display: flex; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.message_title { | |||
width: 180rpx; | |||
} | |||
.message_value { | |||
flex: 1; | |||
} |
@@ -0,0 +1,35 @@ | |||
// package_first/pages/announceDetail/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
dataSource: {} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
if(options) { | |||
const dataSource = JSON.parse(decodeURIComponent(options.data)) | |||
let imgs=dataSource.content.match(/<img.*?src="(.*)".*?\/>/g); | |||
if(!imgs){ | |||
this.setData({dataSource}) | |||
} else { | |||
for(let img of imgs){ | |||
let temp | |||
temp=img.replace(/(width=".*?"|height=".*?")/g,""); | |||
if(/style="(.*?)"/.test(temp)){ | |||
temp=temp.replace(RegExp.$1,RegExp.$1+"width:100% !important;height:auto;display:block") | |||
}else{ | |||
temp=temp.replace(/<img/,"<img style='width:100% !important;height:auto;display:block'") | |||
} | |||
dataSource.content=dataSource.content.replace(img,temp) | |||
} | |||
this.setData({dataSource}) | |||
} | |||
} | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "公告详情" | |||
} |
@@ -0,0 +1,7 @@ | |||
<!--package_first/pages/announceDetail/index.wxml--> | |||
<view class="detail_container"> | |||
<view class="detail_title">{{dataSource.title}}</view> | |||
<text class="detail_date">{{dataSource.createTime || ''}}</text> | |||
<image wx:if="{{dataSource.image}}" class="detail_img" mode="widthFix" src="{{dataSource.image}}"></image> | |||
<rich-text type="node" style="width:100%; white-space: pre-wrap;word-break: break-all;" nodes="{{dataSource.content}}"></rich-text> | |||
</view> |
@@ -0,0 +1,25 @@ | |||
/* package_first/pages/announceDetail/index.wxss */ | |||
.detail_container { | |||
width: 100%; | |||
padding: 40rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
background-color: #ffffff; | |||
} | |||
.detail_title { | |||
width: 100%; | |||
font-size: 34rpx; | |||
font-weight: 600; | |||
color: #000000BF; | |||
} | |||
.detail_date { | |||
margin: 20rpx 0; | |||
font-size: 26rpx; | |||
color: #0000007F; | |||
} | |||
.detail_img { | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
} |
@@ -0,0 +1,43 @@ | |||
// package_first/pages/announceList/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
list: [], | |||
params: {}, | |||
current: "", | |||
}, | |||
onLoad: function() { | |||
let positionParams = wx.getStorageSync('positionParams') | |||
let params = this.data.params | |||
params.provinceCode = positionParams.provinceCode || '' | |||
params.cityCode = positionParams.cityCode || '' | |||
params.districtCode = positionParams.districtCode || '' | |||
this.setData({ | |||
params, | |||
current: "/index/westreamAct/page" | |||
}) | |||
}, | |||
onShow: function() { | |||
}, | |||
/* 更新数据 */ | |||
updateList(e) { | |||
let list = this.data.list.concat(e.detail) | |||
this.setData({ list }) | |||
}, | |||
/* 重置数据 */ | |||
resetList() { | |||
this.setData({ list: [] }) | |||
}, | |||
/* 跳转至详情页 */ | |||
showDetail(e) { | |||
let data = e.currentTarget.dataset.item | |||
wx.navigateTo({ | |||
url: '/package_first/pages/announceDetail/index?data='+ encodeURIComponent(JSON.stringify(data)), | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,6 @@ | |||
{ | |||
"usingComponents": { | |||
"list": "../../../components/List/index" | |||
}, | |||
"navigationBarTitleText": "护河公告" | |||
} |
@@ -0,0 +1,13 @@ | |||
<!--package_first/pages/announceList/index.wxml--> | |||
<view class="announ_container"> | |||
<list id="list" class="announ_list" url="{{current}}" bind:update-list="updateList" list="{{list}}" bind:reset-list="resetList" params="{{params}}"> | |||
<view class="announ_item" data-item="{{item}}" bindtap="showDetail" wx:for="{{list}}" wx:key="index"> | |||
<view class="announ_info"> | |||
<text class="title_box">{{item.title}}</text> | |||
<text style="color: #0000007F;font-size: 26rpx;">{{item.createTime || ''}}</text> | |||
</view> | |||
<image class="announ_img" src="{{item.image}}"></image> | |||
</view> | |||
</list> | |||
</view> |
@@ -0,0 +1,47 @@ | |||
/* package_first/pages/announceList/index.wxss */ | |||
.announ_container { | |||
width: 100%; | |||
height: 100vh; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
background-color: #F3F4F5; | |||
color: #333333; | |||
} | |||
.announ_list { | |||
width: 100%; | |||
height: 100vh; | |||
} | |||
.announ_item { | |||
width: 100%; | |||
padding: 30rpx; | |||
margin-top: 20rpx; | |||
background-color: #ffffff; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-end; | |||
} | |||
.announ_info { | |||
width: 450rpx; | |||
height: 150rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
} | |||
.title_box { | |||
width: 100%; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.announ_img { | |||
width: 200rpx; | |||
height: 150rpx; | |||
border-radius: 4rpx; | |||
} | |||
.info_box { | |||
flex: 1; | |||
} |
@@ -0,0 +1,51 @@ | |||
// package_first/pages/askAdmin/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
list: [], | |||
params: {}, | |||
current: "/index/westreamKnow/page", | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
let positionParams = wx.getStorageSync('positionParams') | |||
let params = this.data.params | |||
params.provinceCode = positionParams.provinceCode || '' | |||
params.cityCode = positionParams.cityCode || '' | |||
params.districtCode = positionParams.districtCode || '' | |||
this.setData({ | |||
params, | |||
current: "/index/westreamKnow/page" | |||
}) | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow() { | |||
}, | |||
/* 更新数据 */ | |||
updateList(e) { | |||
let list = this.data.list.concat(e.detail) | |||
this.setData({ list }) | |||
}, | |||
/* 重置数据 */ | |||
resetList() { | |||
this.setData({ list: [] }) | |||
}, | |||
/* 跳转至详情页 */ | |||
showDetail(e) { | |||
let data = e.currentTarget.dataset.item | |||
wx.navigateTo({ | |||
url: '/package_first/pages/askDetail/index?data='+ encodeURIComponent(JSON.stringify(data)), | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,6 @@ | |||
{ | |||
"usingComponents": { | |||
"list": "../../../components/List/index" | |||
}, | |||
"navigationBarTitleText": "护河知识" | |||
} |
@@ -0,0 +1,13 @@ | |||
<!--package_first/pages/askAdmin/index.wxml--> | |||
<view class="ask_container"> | |||
<list id="list" class="ask_list" url="{{current}}" bind:update-list="updateList" list="{{list}}" bind:reset-list="resetList" params="{{params}}"> | |||
<view class="ask_item" data-item="{{item}}" bindtap="showDetail" wx:for="{{list}}" wx:key="index"> | |||
<view class="ask_info"> | |||
<text class="title_box">{{item.title}}</text> | |||
<text style="color: #0000007F;font-size: 26rpx;">{{item.createTime || ''}}</text> | |||
</view> | |||
<image class="ask_img" src="{{item.image}}"></image> | |||
</view> | |||
</list> | |||
</view> |
@@ -0,0 +1,46 @@ | |||
/* package_first/pages/askAdmin/index.wxss */ | |||
.ask_container { | |||
width: 100%; | |||
height: 100vh; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
background-color: #F3F4F5; | |||
color: #333333; | |||
} | |||
.ask_list { | |||
width: 100%; | |||
height: 100vh; | |||
} | |||
.ask_item { | |||
width: 100%; | |||
padding: 30rpx; | |||
margin-top: 20rpx; | |||
background-color: #ffffff; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-end; | |||
} | |||
.ask_info { | |||
width: 450rpx; | |||
height: 150rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
} | |||
.title_box { | |||
width: 100%; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.ask_img { | |||
width: 200rpx; | |||
height: 150rpx; | |||
border-radius: 4rpx; | |||
} | |||
.info_box { | |||
flex: 1; | |||
} |
@@ -0,0 +1,35 @@ | |||
// package_first/pages/askDetail/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
dataSource: {} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
if(options) { | |||
const dataSource = JSON.parse(decodeURIComponent(options.data)) | |||
let imgs=dataSource.content.match(/<img.*?src="(.*)".*?\/>/g); | |||
if(!imgs){ | |||
this.setData({dataSource}) | |||
} else { | |||
for(let img of imgs){ | |||
let temp | |||
temp=img.replace(/(width=".*?"|height=".*?")/g,""); | |||
if(/style="(.*?)"/.test(temp)){ | |||
temp=temp.replace(RegExp.$1,RegExp.$1+"width:100% !important;height:auto;display:block") | |||
}else{ | |||
temp=temp.replace(/<img/,"<img style='width:100% !important;height:auto;display:block'") | |||
} | |||
dataSource.content=dataSource.content.replace(img,temp) | |||
} | |||
this.setData({dataSource}) | |||
} | |||
} | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "知识详情" | |||
} |
@@ -0,0 +1,7 @@ | |||
<!--package_first/pages/askDetail/index.wxml--> | |||
<view class="detail_container"> | |||
<view class="detail_title">{{dataSource.title}}</view> | |||
<text class="detail_date">{{dataSource.createTime || ''}}</text> | |||
<image wx:if="{{dataSource.image}}" class="detail_img" mode="widthFix" src="{{dataSource.image}}"></image> | |||
<rich-text type="node" style="width:100%; white-space: pre-wrap;word-break: break-all;" nodes="{{dataSource.content}}"></rich-text> | |||
</view> |
@@ -0,0 +1,25 @@ | |||
/* package_first/pages/askDetail/index.wxss */ | |||
.detail_container { | |||
width: 100%; | |||
padding: 40rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
background-color: #ffffff; | |||
} | |||
.detail_title { | |||
width: 100%; | |||
font-size: 34rpx; | |||
font-weight: 600; | |||
color: #000000BF; | |||
} | |||
.detail_date { | |||
margin: 20rpx 0; | |||
font-size: 26rpx; | |||
color: #0000007F; | |||
} | |||
.detail_img { | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
} |
@@ -0,0 +1,32 @@ | |||
// package_first/pages/beautyDetail/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
dataSource: {}, | |||
imageList: [] | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
if(options) { | |||
const dataSource = JSON.parse(decodeURIComponent(options.data)) | |||
this.setData({dataSource}) | |||
if(dataSource.image.length) { | |||
const imageList = dataSource.image.split(',') | |||
this.setData({imageList}) | |||
} | |||
} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow() { | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "美拍详情" | |||
} |
@@ -0,0 +1,14 @@ | |||
<!--package_first/pages/beautyDetail/index.wxml--> | |||
<view class="detail_container"> | |||
<view class="detail_head"> | |||
<image class="user_avatar" src="{{dataSource.headimgurl}}"></image> | |||
<view class="other_info"> | |||
<text style="font-size: 32rpx; font-weight: 600;">{{dataSource.nickname}}</text> | |||
<text style="font-size: 24rpx; color: rgba(0, 0, 0, 0.5);">{{dataSource.createTime}}</text> | |||
</view> | |||
</view> | |||
<view class="content_info">{{dataSource.content}}</view> | |||
<view class="image_list"> | |||
<image class="image_item" wx:for="{{imageList}}" wx:key="index" src="{{item}}" mode="widthFix"></image> | |||
</view> | |||
</view> |
@@ -0,0 +1,46 @@ | |||
/* package_first/pages/beautyDetail/index.wxss */ | |||
.detail_container { | |||
width: 100%; | |||
padding: 30rpx 40rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
color: #333333; | |||
position: relative; | |||
} | |||
.detail_head { | |||
width: 100%; | |||
display: flex; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.user_avatar { | |||
width: 100rpx; | |||
height: 100rpx; | |||
margin-right: 20rpx; | |||
border-radius: 50%; | |||
box-shadow: 2rpx 8rpx 22rpx 0rpx rgba(0, 0, 0, 0.2); | |||
} | |||
.other_info { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.content_info { | |||
width: 100%; | |||
margin: 20rpx 0; | |||
overflow: hidden; | |||
} | |||
.image_list { | |||
width: 100%; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.image_item { | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
} |
@@ -0,0 +1,49 @@ | |||
// package_first/pages/upload/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
// 列表数据筛选条件 | |||
list: [], | |||
current: "/index/westreamScenery/page", | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow() { | |||
}, | |||
/* 更新数据 */ | |||
updateList(e) { | |||
let list = this.data.list.concat(e.detail || []) | |||
this.setData({ list }) | |||
}, | |||
/* 重置数据 */ | |||
resetList() { | |||
this.setData({ list: [] }) | |||
}, | |||
/* 跳转上报问题页面 */ | |||
uploadBeauty(e) { | |||
wx.navigateTo({ | |||
url: '/package_first/pages/uploadBeauty/index', | |||
}) | |||
}, | |||
/* 跳转至详情页 */ | |||
showDetail(e) { | |||
let data = JSON.stringify(e.currentTarget.dataset.item) | |||
wx.navigateTo({ | |||
url: '/package_first/pages/beautyDetail/index?data='+ encodeURIComponent(data), | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,7 @@ | |||
{ | |||
"usingComponents": { | |||
"list": "../../../components/List/index", | |||
"ImageList": "../../../components/ImageList/index" | |||
}, | |||
"navigationBarTitleText": "大好河山" | |||
} |
@@ -0,0 +1,19 @@ | |||
<!--package_first/pages/upload/index.wxml--> | |||
<view class="beauty_container"> | |||
<!-- 列表 --> | |||
<list id="list" class="beauty_list" url="{{current}}" bind:update-list="updateList" list="{{list}}" bind:reset-list="resetList"> | |||
<view class="beauty_item" data-item="{{item}}" bindtap="showDetail" wx:for="{{list}}" wx:key="index"> | |||
<view class="item_head"> | |||
<image class="user_avatar" src="{{item.headimgurl}}"></image> | |||
<view class="other_info"> | |||
<text style="font-size: 32rpx; font-weight: 600;">{{item.nickname}}</text> | |||
<text style="font-size: 24rpx; color: rgba(0, 0, 0, 0.5);">{{item.createTime}}</text> | |||
</view> | |||
</view> | |||
<view class="content_info">{{item.content}}</view> | |||
<ImageList imageSource="{{item.image}}" limit="{{3}}"></ImageList> | |||
</view> | |||
</list> | |||
<image class="add_upload" src="../../../assets/first/add.png" bindtap="uploadBeauty"></image> | |||
</view> |
@@ -0,0 +1,59 @@ | |||
/* package_first/pages/upload/index.wxss */ | |||
.beauty_container { | |||
width: 100%; | |||
min-height: 100vh; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
color: #333333; | |||
position: relative; | |||
background-color: rgba(240, 242, 245, 1); | |||
} | |||
.add_upload { | |||
width: 100rpx; | |||
height: 100rpx; | |||
position: fixed; | |||
right: 40rpx; | |||
bottom: 80rpx; | |||
} | |||
.beauty_list { | |||
width: 100%; | |||
} | |||
.beauty_item { | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
padding: 20rpx 40rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
background-color: #ffffff; | |||
} | |||
.item_head { | |||
width: 100%; | |||
display: flex; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.user_avatar { | |||
width: 100rpx; | |||
height: 100rpx; | |||
margin-right: 20rpx; | |||
border-radius: 50%; | |||
box-shadow: 2rpx 8rpx 22rpx 0rpx rgba(0, 0, 0, 0.2); | |||
} | |||
.other_info { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.content_info { | |||
width: 100%; | |||
margin: 20rpx 0; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} |
@@ -1,4 +1,4 @@ | |||
// package_B/pages/collection/index.js | |||
// package_first/pages/more/index.js | |||
Page({ | |||
/** |
@@ -0,0 +1,4 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "敬请期待" | |||
} |
@@ -0,0 +1,2 @@ | |||
<!--package_first/pages/more/index.wxml--> | |||
<text>开发中,敬请期待</text> |
@@ -0,0 +1 @@ | |||
/* package_first/pages/more/index.wxss */ |
@@ -0,0 +1,37 @@ | |||
// package_first/pages/successPage/index.js | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
onReady() { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow() { | |||
}, | |||
returnList(){ | |||
wx.redirectTo({ | |||
url: '/package_first/pages/beautyList/index' | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,4 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "发布成功" | |||
} |
@@ -0,0 +1,6 @@ | |||
<!--package_first/pages/successPage/index.wxml--> | |||
<view class="success_container"> | |||
<image class="success_img" src="../../../assets/first/success.png" mode="widthFix"></image> | |||
<view class="tips_text">发布成功,待管理员审核!</view> | |||
<view class="return_btn" bindtap="returnList">知道了</view> | |||
</view> |
@@ -0,0 +1,31 @@ | |||
/* package_first/pages/successPage/index.wxss */.success_container { | |||
width: 100%; | |||
padding: 150rpx 125rpx 0 125rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.success_img { | |||
width: 200rpx; | |||
height: 200rpx; | |||
margin-bottom: 40rpx; | |||
} | |||
.tips_text { | |||
font-size: 30rpx; | |||
color: #666666; | |||
line-height: 50rpx; | |||
text-align:center | |||
} | |||
.return_btn { | |||
width: 400rpx; | |||
height: 70rpx; | |||
margin-top: 200rpx; | |||
border-radius: 44rpx; | |||
background-color: rgba(42, 130, 228, 1); | |||
line-height: 70rpx; | |||
text-align: center; | |||
color: #ffffff; | |||
font-size: 30rpx; | |||
font-weight: bold; | |||
} |
@@ -0,0 +1,276 @@ | |||
// package_first/pages/uploadBeauty/index.js | |||
import {uploadBeauty, getRivers} from '../../../api/home.js' | |||
import {getOssAuth} from '../../../api/uploadOss.js' | |||
import {Base64} from 'js-base64' | |||
const crypto = require('crypto-js') | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
form: { | |||
streamId: null, | |||
content: '' | |||
}, | |||
riverOptions: [], // 全部河流数据 | |||
riverCurrent: -1, // 当前选择的河流 | |||
ossForm: {}, | |||
imagePreviewList: [], // 上传图片预览列表 | |||
imageList: [], // 图片列表 | |||
formRules: { | |||
streamId: { | |||
validator: function (value) { | |||
return value; | |||
}, | |||
warning: false | |||
}, | |||
content: { | |||
validator: function (value) { | |||
return value; | |||
}, | |||
warning: false | |||
}, | |||
imageList: { | |||
validator: function (value) { | |||
return value.length!=0; | |||
}, | |||
warning: false | |||
} | |||
} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
this.getRiversOption() | |||
this.getOssAuthForm() | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow() { | |||
}, | |||
/* 选择河流 */ | |||
selectRiver(e) { | |||
const riverCurrent = e.detail.value | |||
const streamId = this.data.riverOptions[riverCurrent].id | |||
let form = this.data.form | |||
form.streamId = streamId | |||
this.setData({ riverCurrent, form }) | |||
this.validate('streamId') | |||
}, | |||
// 输入框 | |||
bindValue(e) { | |||
let name = e.currentTarget.dataset.name; | |||
let form = this.data.form; | |||
form[name] = e.detail.value; | |||
this.setData({ | |||
form, | |||
}) | |||
this.validate(name) | |||
}, | |||
/* 获取河流数据 */ | |||
getRiversOption() { | |||
const positionParams = wx.getStorageSync('positionParams') | |||
const riverParams = {} | |||
riverParams.provinceCode = positionParams.provinceCode | |||
riverParams.cityCode = positionParams.cityCode | |||
riverParams.distritCode = positionParams.distritCode | |||
getRivers(riverParams).then((res)=> { | |||
if(res.code === 0) { | |||
this.setData({ | |||
riverOptions: res.data | |||
}) | |||
} | |||
}) | |||
}, | |||
/* 获取图片上传鉴权 */ | |||
getOssAuthForm() { | |||
let that = this | |||
getOssAuth().then((res)=> { | |||
let client = { | |||
region: 'oss-cn-shanghai', | |||
secure: true, | |||
accessKeyId: res.accessKeyId, | |||
accessKeySecret: res.accessKeySecret, | |||
securityToken: res.securityToken, | |||
bucket: 'ta-tech-image' | |||
} | |||
// 计算签名 | |||
function computeSignature(accessKeySecret, canonicalString) { | |||
return crypto.enc.Base64.stringify(crypto.HmacSHA1(canonicalString, accessKeySecret)); | |||
} | |||
const date = new Date(); | |||
date.setHours(date.getHours() + 1); | |||
const policyText = { | |||
expiration: date.toISOString(), // 设置policy过期时间。 | |||
conditions: [ | |||
// 限制上传大小。 | |||
["content-length-range", 0, 1024 * 1024 * 1024], | |||
], | |||
}; | |||
// 获取签名 | |||
const policy = Base64.encode(JSON.stringify(policyText)) // policy必须为base64的string。 | |||
const signature = computeSignature(client.accessKeySecret, policy) | |||
let ossForm = that.data.ossForm | |||
ossForm = { | |||
OSSAccessKeyId: client.accessKeyId, | |||
signature, | |||
policy, | |||
SecurityToken: client.securityToken | |||
} | |||
that.setData({ossForm}) | |||
}) | |||
}, | |||
// 表单项验证 | |||
validate(name) { | |||
let formRules = this.data.formRules; | |||
let validator = formRules[name].validator | |||
let result | |||
if(name === 'imageList') { | |||
result = validator ? !validator(this.data.imageList) : false | |||
} else { | |||
result = validator ? !validator(this.data.form[name]) : false; | |||
} | |||
formRules[name].warning = result | |||
this.setData({formRules}) | |||
return result | |||
}, | |||
// 表单验证 | |||
validateForm() { | |||
return new Promise((resolve, reject) => { | |||
try { | |||
let formRules = this.data.formRules; | |||
let result = false; | |||
for (let key in formRules) { | |||
let temp = this.validate(key) | |||
if (temp) { | |||
result = temp | |||
} | |||
} | |||
resolve(!result) | |||
} catch (e) { | |||
reject(e) | |||
} | |||
}) | |||
}, | |||
/* 上传图片 */ | |||
uploadImage(){ | |||
wx.chooseMedia({ | |||
count: 5 - this.data.imageList.length, // 最多可以选择的图片张数,默认9 | |||
mediaType: ['image'], // 图片 | |||
sizeType: ['original'], // original 原图,compressed 压缩图,默认二者都有 | |||
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有 | |||
success:(res) =>{ | |||
const list = res.tempFiles.map((item)=> { | |||
return item.tempFilePath | |||
}) | |||
// success | |||
let imagePreviewList = this.data.imagePreviewList.concat(list) | |||
let imageList = this.data.imageList.concat(list); | |||
this.setData({ imageList, imagePreviewList }) | |||
this.validate('imageList') | |||
}, | |||
fail: (e) => { | |||
console.log(e); | |||
} | |||
}) | |||
}, | |||
// 删除图片 | |||
deleteImage(e) { | |||
let index = this.getCurrentData(e); | |||
let imageList = this.data.imageList | |||
imageList.splice(index, 1) | |||
let imagePreviewList = this.data.imagePreviewList | |||
imagePreviewList.splice(index, 1) | |||
this.setData({ imageList, imagePreviewList }) | |||
this.validate('imageList') | |||
}, | |||
getCurrentData(e) { | |||
return e.currentTarget.dataset.current; | |||
}, | |||
/* 取消 */ | |||
returnLastPage() { | |||
this.setData({ | |||
form: {} | |||
}) | |||
wx.reLaunch({ | |||
url: '/package_first/pages/beautyList/index', | |||
}) | |||
}, | |||
/* 表单上传 */ | |||
submit(){ | |||
this.validateForm().then(res => { | |||
if(res) { | |||
let ossForm = this.data.ossForm | |||
let temp = [] | |||
if (this.data.imageList.length > 0) { | |||
wx.showLoading({title:"上传中",mask:true}) | |||
temp = this.data.imageList.map(item => { | |||
// 设置文件上传路径 | |||
const randomString = Math.random().toString(36).slice(2) | |||
const timestamp = new Date().getTime() | |||
const key = `imagedir/${randomString}_${timestamp}.png` | |||
// 上传图片 | |||
return new Promise((resolve, reject)=> { | |||
wx.uploadFile({ | |||
url: 'https://ta-tech-image.oss-cn-shanghai.aliyuncs.com', | |||
filePath: item, | |||
name: 'file', | |||
formData: { | |||
key, | |||
OSSAccessKeyId: ossForm.OSSAccessKeyId, | |||
signature: ossForm.signature, | |||
policy: ossForm.policy, | |||
'x-oss-security-token': ossForm.SecurityToken | |||
}, | |||
success: (res)=> { | |||
if(res.statusCode === 204) { | |||
// 上传成功,将图片路径resolve出去 | |||
resolve(key) | |||
} else { | |||
wx.showToast({ | |||
title: '图片上传失败', | |||
}) | |||
reject('图片上传失败') | |||
} | |||
}, | |||
fail: (e)=> { | |||
console.log(e); | |||
reject('图片上传失败') | |||
} | |||
}) | |||
}) | |||
}) | |||
Promise.all(temp).then((res)=> { | |||
let form = this.data.form; | |||
let openid = wx.getStorageSync('openId') | |||
form.image = res.join(',') | |||
form.openid = openid | |||
uploadBeauty(form).then(res => { | |||
if (res.code === 0) { | |||
wx.reLaunch({ | |||
url: '/package_first/pages/successPage/index', | |||
}) | |||
} | |||
}).finally(()=>{ | |||
wx.hideLoading(); | |||
}) | |||
}).catch(()=> { | |||
wx.hideLoading() | |||
}) | |||
} | |||
} | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,6 @@ | |||
{ | |||
"usingComponents": { | |||
"Select": "../../../components/Select/index" | |||
}, | |||
"navigationBarTitleText": "发布美拍" | |||
} |
@@ -0,0 +1,44 @@ | |||
<!--package_first/pages/uploadBeauty/index.wxml--> | |||
<view class="upload_container"> | |||
<view class="form_container"> | |||
<view class="form_item {{formRules.streamId.warning ? 'warning' : ''}}"> | |||
<text><text style="color: red;">*</text>选择河道:</text> | |||
<view class="value_box"> | |||
<picker bindchange="selectRiver" value="{{riverCurrent}}" data-current="{{riverCurrent}}" range="{{riverOptions}}" range-key="name"> | |||
<view class="picker" wx:if="{{form.streamId}}"> | |||
{{riverOptions[riverCurrent].name}} | |||
</view> | |||
<view wx:else class="picker" style="color: #A6A6A6; font-size: 26rpx;">请选择河道</view> | |||
<image class="select_img" src="../../../assets/first/select.png"></image> | |||
</picker> | |||
</view> | |||
<text class="tips">请选择河道</text> | |||
</view> | |||
<view class="dravier"></view> | |||
<view class="use_purpose {{formRules.content.warning ? 'warning' : ''}}"> | |||
<view class="text_box"> | |||
<textarea maxlength="500" style="width:100%; min-height: 160rpx;padding-top: 10rpx;" type="text" adjust-position="{{true}}" placeholder="分享你拍的美照吧..." placeholder-style="font-size: 26rpx; color: #A6A6A6;" value="{{form.content}}" | |||
data-name="content" name="content" bindblur="bindValue" /> | |||
</view> | |||
<text class="tips">请输入文字描述</text> | |||
</view> | |||
<view class="upload_images {{formRules.imageList.warning? 'warning': ''}}"> | |||
<view class="image_list"> | |||
<view class="image_preview" wx:for="{{imagePreviewList}}" wx:key="index"> | |||
<image class="image_item" src="{{item}}" mode="aspectFill" data-item="{{item}}"> | |||
</image> | |||
<div class="close" data-current="{{index}}" catchtap="deleteImage"></div> | |||
</view> | |||
<view class="upload_image" bindtap="uploadImage" wx:if="{{imageList.length<5}}"> | |||
<image style="height: 56rpx;width: 56rpx;" mode="widthFix" src="../../../assets/img/upload.png"></image> | |||
</view> | |||
</view> | |||
<text class="tips">请上传美拍</text> | |||
</view> | |||
</view> | |||
<view class="btn_list"> | |||
<view class="btn_item submit_btn" bindtap="submit">发布</view> | |||
<view class="btn_item cancel_btn" bindtap="returnLastPage">取消</view> | |||
</view> | |||
</view> |
@@ -0,0 +1,231 @@ | |||
/* package_first/pages/uploadBeauty/index.wxss */ | |||
.upload_container { | |||
width: 100%; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.head_img { | |||
width: 100vw; | |||
} | |||
.form_container { | |||
width: 100%; | |||
padding: 30rpx 0; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.form_item { | |||
width: 100%; | |||
padding: 0 30rpx; | |||
margin-bottom: 30rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
position: relative; | |||
font-size: 28rpx; | |||
color: #666666; | |||
} | |||
.use_purpose { | |||
width: 100%; | |||
padding: 0 30rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
position: relative; | |||
font-size: 28rpx; | |||
color: #666666; | |||
} | |||
.value_box { | |||
width: 520rpx; | |||
min-height: 60rpx; | |||
padding: 0 30rpx 0 10rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
border: 1rpx solid rgba(181, 181, 181, 1); | |||
border-radius: 4rpx; | |||
position: relative; | |||
color: #333333; | |||
font-size: 24rpx; | |||
} | |||
.dravier { | |||
width: 100%; | |||
height: 20rpx; | |||
background-color: rgba(240, 242, 245, 1); | |||
} | |||
.text_box { | |||
width: 100%; | |||
margin-top: 20rpx; | |||
} | |||
.select_box { | |||
width: 500rpx; | |||
padding: 22rpx 0; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
picker { | |||
width: 500rpx !important; | |||
font-size: 28rpx; | |||
color: #333333; | |||
display: flex; | |||
justify-content: space-between !important; | |||
align-items: center; | |||
position: relative; | |||
} | |||
.picker { | |||
width: 450rpx; | |||
margin-right: 30rpx; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.select_img { | |||
width: 24rpx; | |||
height: 12rpx; | |||
position: absolute; | |||
right: 0rpx; | |||
top: 8rpx; | |||
} | |||
.picker_text { | |||
width: 100%; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
white-space: nowrap; | |||
} | |||
.disable_class { | |||
border: none; | |||
background-color: #EFEFEF; | |||
} | |||
.tips{ | |||
position: absolute; | |||
bottom: -25rpx; | |||
left: 0rpx; | |||
color: red; | |||
font-size: 24rpx; | |||
transform: translate(27rpx, -5rpx); | |||
display: none; | |||
} | |||
.form_item.warning .tips, .use_purpose.warning .tips, .upload_images.warning .tips{ | |||
display: block; | |||
} | |||
/* 上传图片 */ | |||
.upload_images { | |||
width: 100%; | |||
margin-bottom: 30rpx; | |||
padding: 0 30rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
font-size: 28rpx; | |||
color: #666666; | |||
position: relative; | |||
} | |||
.image_list { | |||
width: 100%; | |||
margin-top: 20rpx; | |||
padding: 20rpx 0; | |||
display: flex; | |||
flex-wrap: wrap; | |||
justify-content: flex-start; | |||
align-content: flex-start; | |||
} | |||
.image_preview { | |||
height: 180rpx; | |||
width: 180rpx; | |||
margin-right: 30rpx; | |||
margin-bottom: 20rpx; | |||
position: relative; | |||
} | |||
.image_item { | |||
height:100%; | |||
width: 100%; | |||
margin-right: 30rpx; | |||
margin-bottom: 20rpx; | |||
} | |||
.close{ | |||
position: absolute; | |||
top:0; | |||
right:0; | |||
transform: translate(40%,-40%); | |||
height:50rpx; | |||
width:50rpx; | |||
background:rgba(179, 179, 179, 0.5); | |||
border-radius: 50%; | |||
z-index: 10; | |||
} | |||
.close::before{ | |||
content: ""; | |||
display: block; | |||
position: absolute; | |||
width: 60%; | |||
height: 6rpx; | |||
top:50%; | |||
left:50%; | |||
background:rgb(124, 124, 124); | |||
transform-origin: center; | |||
/* transform: ; */ | |||
transform: translate(-50%,-50%) rotate(45deg); | |||
} | |||
.close::after{ | |||
content: ""; | |||
display: block; | |||
position: absolute; | |||
width: 60%; | |||
height: 6rpx; | |||
top:50%; | |||
left:50%; | |||
background:rgb(124, 124, 124); | |||
transform-origin: center; | |||
/* transform: ; */ | |||
transform: translate(-50%,-50%) rotate(-45deg); | |||
} | |||
.upload_image { | |||
width: 180rpx; | |||
height: 180rpx; | |||
display: flex; | |||
flex-direction: column; | |||
align-items: center; | |||
justify-content: center; | |||
background: rgba(204, 204, 204, 0.3); | |||
} | |||
.upload_image text { | |||
color: rgba(0, 0, 0, 0.5); | |||
font-size: 30rpx; | |||
} | |||
.note_mark { | |||
margin-top: 20rpx; | |||
font-size: 24rpx; | |||
color: rgba(153, 153, 153, 1); | |||
} | |||
/* 按钮区 */ | |||
.btn_list { | |||
width: 100%; | |||
margin-top: 30rpx; | |||
padding: 10rpx 30rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
.btn_item { | |||
width: 280rpx; | |||
height: 70rpx; | |||
border-radius: 8rpx; | |||
line-height: 70rpx; | |||
text-align: center; | |||
font-size: 32rpx; | |||
} | |||
.cancel_btn { | |||
color: #333333; | |||
background-color: rgba(207, 207, 207, 1); | |||
} | |||
.submit_btn { | |||
color: #ffffff; | |||
background-color: rgba(42, 130, 228, 1); | |||
} |
@@ -0,0 +1,190 @@ | |||
// pages/FirstPage/index.js | |||
import {getAnnounce, getOnlive} from '../../api/home.js' | |||
import {getUserInfo} from '../../utils/getUserInfo.js' | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
announcementList: [], // 公告列表 | |||
// 快捷入口 | |||
entersList: [ | |||
{ | |||
title:'上报问题', | |||
iconPath: '../../assets/first/upload.png', | |||
path: '/pages/all/index', | |||
type: 'tabbar' | |||
}, | |||
{ | |||
title:'问河长', | |||
iconPath: '../../assets/first/ask.png', | |||
path: '/package_first/pages/askAdmin/index', | |||
type: 'page' | |||
}, | |||
{ | |||
title:'大好河山', | |||
iconPath: '../../assets/first/rivers.png', | |||
path: '/package_first/pages/beautyList/index', | |||
type: 'page' | |||
}, | |||
{ | |||
title:'敬请期待', | |||
iconPath: '../../assets/first/more.png', | |||
path: '/package_first/pages/more/index', | |||
type: 'page' | |||
} | |||
], | |||
infoList: ['name', 'location', 'note'], | |||
liveNum: 0, // 在线人数 | |||
list: [], // 河道展示 | |||
current: '', | |||
params: { | |||
provinceCode: '', | |||
cityCode: '', | |||
districtCode: '', | |||
page: 1, | |||
limit: 3 | |||
} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
this.getTabBar().setData({ | |||
selected: 0 | |||
}) | |||
let positionParams = wx.getStorageSync('positionParams') | |||
if(Object.keys(positionParams).length) { | |||
let params = this.data.params | |||
let data = {} | |||
data.provinceCode = positionParams.provinceCode || '' | |||
data.cityCode = positionParams.cityCode || '' | |||
data.districtCode = positionParams.districtCode || '' | |||
params = Object.assign(this.data.params, data) | |||
this.setData({params, current:'/stream/index'}) | |||
this.getAnnouncementList(data) | |||
} else { | |||
const path = '/pages/FirstPage/index' | |||
const fromType = 'tabbar' | |||
wx.redirectTo({ | |||
url: `/pages/login/login?path=${path}&fromType=${fromType}`, | |||
}) | |||
} | |||
}, | |||
onShow() { | |||
this.getOnliveNum() | |||
}, | |||
// 获取公告数据 | |||
async getAnnouncementList(data) { | |||
const params = { | |||
page: 1, | |||
limit: 1, | |||
...data | |||
} | |||
const res = await getAnnounce(params) | |||
if(res.code === 0) { | |||
const announcementList = res.data.records | |||
this.setData({announcementList}) | |||
} | |||
}, | |||
/* 更新数据 */ | |||
updateList(e) { | |||
let list = this.data.list.concat(e.detail || []) | |||
this.setData({ list }) | |||
}, | |||
/* 重置数据 */ | |||
resetList() { | |||
this.setData({ list: [] }) | |||
}, | |||
// 获取在线人数 | |||
getOnliveNum() { | |||
let params = {} | |||
if(wx.getStorageSync('positionParams')) { | |||
const {provinceCode, cityCode, districtCode} = wx.getStorageSync('positionParams') | |||
params = { | |||
provinceCode: provinceCode|| '', | |||
cityCode: cityCode || '', | |||
districtCode:districtCode|| '' | |||
} | |||
} | |||
getOnlive(params).then(res=> { | |||
if(res.code === 0) { | |||
this.setData({liveNum: res.data}) | |||
} | |||
}) | |||
}, | |||
// 公告详情 | |||
showAnnouncementDetail() { | |||
wx.navigateTo({ | |||
url:"/package_first/pages/announceList/index" | |||
}) | |||
}, | |||
// 获取点击详情 | |||
getCurrentData(dataKey, e) { | |||
let index = e.currentTarget.dataset.current; | |||
return this.data[dataKey][index] | |||
}, | |||
// 进入对应页面 | |||
goPage(e) { | |||
// 判断是否有权限 | |||
let positionParams = wx.getStorageSync('positionParams') | |||
let path = e.currentTarget.dataset.path | |||
let type = e.currentTarget.dataset.type | |||
if(Object.keys(positionParams).length) { | |||
if(type === 'tabbar') { | |||
wx.switchTab({ | |||
url: path, | |||
}) | |||
} else { | |||
wx.navigateTo({ | |||
url: path, | |||
}) | |||
} | |||
} else { | |||
wx.redirectTo({ | |||
url: `/pages/login/login?path=${path}&fromType=${type}`, | |||
}) | |||
} | |||
}, | |||
// 上报问题 | |||
uploadProblem(e) { | |||
let detail = e.currentTarget.dataset.detail | |||
let openId = wx.getStorageSync('openId') | |||
if(openId) { | |||
wx.navigateTo({ | |||
url: '/package_A/pages/report/index?data=' + JSON.stringify(detail), | |||
}) | |||
} else { | |||
getUserInfo().then(res=> { | |||
wx.navigateTo({ | |||
url: '/package_A/pages/report/index?data=' + JSON.stringify(detail), | |||
}) | |||
}) | |||
} | |||
}, | |||
/* 跳转至筛选页 */ | |||
goSelectLocation(e) { | |||
const path = '/pages/FirstPage/index' | |||
wx.redirectTo({ | |||
url: `/pages/login/login?path=${path}`, | |||
}) | |||
}, | |||
/* 跳转至详情页 */ | |||
showDetail(e) { | |||
let data = e.currentTarget.dataset.item | |||
wx.navigateTo({ | |||
url: '/package_A/pages/riverDetail/index?data='+ JSON.stringify(data), | |||
}) | |||
} | |||
}) |
@@ -0,0 +1,8 @@ | |||
{ | |||
"usingComponents": { | |||
"riverInfo": "../../components/riverInfo/index", | |||
"list": "../../components/List/index" | |||
}, | |||
"navigationBarTitleText": "首页", | |||
"navigationBarBackgroundColor": "#2A82E4FF" | |||
} |
@@ -0,0 +1,64 @@ | |||
<!--pages/FirstPage/index.wxml--> | |||
<view class="first_container"> | |||
<!-- 切换位置 --> | |||
<view class="first_head"> | |||
<view class="select_location" bindtap="goSelectLocation">切换位置</view> | |||
</view> | |||
<view class="main_container"> | |||
<!-- 图片 --> | |||
<view class="banner"> | |||
<image class="banner_image" src="../../assets/first/home_head.png" mode="aspectFill" bindtap="redirectToAd"></image> | |||
</view> | |||
<!-- 头条 --> | |||
<view class="announcement " bindtap="showAnnouncementDetail"> | |||
<view class="announcement_img"> | |||
<image src="../../assets/first/inform.png" class="announcement_icon"></image> | |||
<text class="announcement_text">行动</text> | |||
</view> | |||
<swiper class="announcement-swiper" indicator-dots="{{false}}" vertical="false" duration="1000" interval="5000" | |||
autoplay="{{true}}" circular="true"> | |||
<block wx:for="{{announcementList}}" wx:key="index"> | |||
<swiper-item class="announcement-swiper-item" data-current="{{index}}"> | |||
<view class="overflow_ellipsis">{{item.title}}</view> | |||
<view class="inform_date">{{item.createTime}}</view> | |||
</swiper-item> | |||
</block> | |||
</swiper> | |||
</view> | |||
<!-- 快捷入口 --> | |||
<view class="fast_enters"> | |||
<view class="enter_item" wx:for="{{entersList}}" data-path="{{item.path}}" data-type="{{item.type}}" wx:key="index" bindtap="goPage"> | |||
<image class="enter_icon" src="{{item.iconPath}}"></image> | |||
<text class="enter_title">{{item.title}}</text> | |||
</view> | |||
</view> | |||
<!-- 在线人数 --> | |||
<view class="live_box"> | |||
<image class="live_bg" src="../../assets/first/live_bg.png"></image> | |||
<view class="live_message"> | |||
<text style="color: #fff">在线人数</text> | |||
<text style="color: #FFE81AFF;">{{liveNum}}人</text> | |||
</view> | |||
</view> | |||
<!-- 河道展示 --> | |||
<view class="rivers_box"> | |||
<view class="rivers_title">河道展示</view> | |||
<list class="rivers_list" url="{{current}}" list="{{list}}" params="{{params}}" bind:update-list="updateList" bind:reset-list="resetList"> | |||
<view class="river_item" wx:for="{{list}}" wx:key="index" bindtap="showDetail" data-item="{{item}}"> | |||
<image class="river_image" src="{{item.image}}"></image> | |||
<view class="river_info"> | |||
<view class="text_box" wx:for="{{infoList}}" wx:for-item="m" wx:key="m"> | |||
<text class="info_item">{{item[m] || ''}}</text> | |||
</view> | |||
</view> | |||
<view class="river_button" catchtap="uploadProblem" data-current="{{index}}" data-detail="{{item}}">上报问题</view> | |||
</view> | |||
</list> | |||
</view> | |||
</view> | |||
</view> |
@@ -0,0 +1,224 @@ | |||
/* pages/FirstPage/index.wxss */ | |||
.first_container { | |||
width: 100%; | |||
min-height: calc(100vh - 112rpx); | |||
padding-bottom: 112rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
color: #333333; | |||
background-color: rgba(240, 242, 245, 1); | |||
} | |||
.first_head { | |||
width: 100%; | |||
padding: 10rpx 30rpx; | |||
background-color: #ffffff; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.select_location { | |||
width: 150rpx; | |||
height: 60rpx; | |||
line-height: 60rpx; | |||
text-align: center; | |||
background-color: rgba(42, 130, 228, 1); | |||
border-radius: 10rpx; | |||
color: #fff; | |||
font-size: 24rpx; | |||
} | |||
.main_container { | |||
width: 100%; | |||
padding: 0 30rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.banner { | |||
width: 100%; | |||
} | |||
.banner_image { | |||
width: 100%; | |||
height: 380rpx; | |||
} | |||
/* 公告 */ | |||
.announcement { | |||
display: flex; | |||
height: 70rpx; | |||
width: 100%; | |||
margin-top: 10rpx; | |||
padding: 0 30rpx; | |||
background: #ffffff; | |||
align-items: center; | |||
justify-content: space-between; | |||
border-radius: 8rpx; | |||
} | |||
.announcement_img { | |||
width: 66rpx; | |||
height: 34rpx; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
border-radius: 10rpx; | |||
background: linear-gradient(90deg, rgba(75, 146, 254, 0.81) 0%, rgba(101, 163, 255, 0.42) 100%); | |||
} | |||
.announcement_icon { | |||
width: 20rpx; | |||
height: 16rpx; | |||
} | |||
.announcement_text { | |||
font-size: 16rpx; | |||
color: #fff; | |||
} | |||
.announcement-swiper { | |||
width: 548rpx; | |||
height: 100%; | |||
} | |||
.announcement-swiper-item { | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
font-size: 30rpx; | |||
font-family: "PingFangSC-Regular", "PingFang SC"; | |||
font-weight: normal; | |||
color: #333333; | |||
line-height: 42rpx; | |||
} | |||
.overflow_ellipsis { | |||
width: 300rpx; | |||
font-size: 26rpx; | |||
color: rgba(0, 0, 0, 0.7); | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.inform_date { | |||
font-size: 24rpx; | |||
color: rgba(0, 0, 0, 0.5); | |||
} | |||
/* 快捷入口 */ | |||
.fast_enters { | |||
width: 100%; | |||
margin-top: 20rpx; | |||
padding: 20rpx 40rpx; | |||
background-color: #ffffff; | |||
border-radius: 8rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
.enter_item { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
.enter_icon { | |||
width: 90rpx; | |||
height: 90rpx; | |||
margin-bottom: 14rpx; | |||
} | |||
.enter_title { | |||
font-size: 20rpx; | |||
color: #354D6EFF; | |||
} | |||
/* 在线人数 */ | |||
.live_box { | |||
width: 100%; | |||
margin-top: 20rpx; | |||
position: relative; | |||
} | |||
.live_bg { | |||
width: 100%; | |||
height: 180rpx; | |||
} | |||
.live_message { | |||
width: 100%; | |||
height: 180rpx; | |||
padding: 35rpx 60rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
z-index: 999; | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
} | |||
/* 河道展示 */ | |||
.rivers_box { | |||
width: 100%; | |||
margin-top: 20rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
border-radius: 8rpx; | |||
} | |||
.rivers_title { | |||
width: 100%; | |||
padding: 10rpx 20rpx; | |||
background-color: #ffffff; | |||
font-weight: 700; | |||
} | |||
.rivers_list { | |||
width: 100%; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.river_item { | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
padding: 20rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
background-color: #ffffff; | |||
} | |||
.river_image { | |||
width: 180rpx; | |||
height: 180rpx; | |||
} | |||
.river_info { | |||
height: 180rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
font-size: 28rpx; | |||
} | |||
.text_box { | |||
margin: 10rpx; | |||
display: flex; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.info_item { | |||
width: 280rpx; | |||
margin-left: 10rpx; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.info_icon { | |||
width: 24rpx; | |||
height: 24rpx; | |||
} | |||
.river_button { | |||
width: 140rpx; | |||
height: 60rpx; | |||
font-size: 28rpx; | |||
color: #fff; | |||
line-height: 60rpx; | |||
text-align: center; | |||
background-color: #2A82E4FF; | |||
border-radius: 8rpx; | |||
align-self: flex-end; | |||
} | |||
@@ -1,4 +1,4 @@ | |||
// pages/home/index.js | |||
// pages/all/index.js | |||
import {getUserInfo} from '../../utils/getUserInfo.js' | |||
import {getCityTree} from '../../api/feeddback.js' | |||
Page({ | |||
@@ -21,7 +21,7 @@ Page({ | |||
*/ | |||
onLoad: function (options) { | |||
this.getTabBar().setData({ | |||
selected: 0 | |||
selected: 1 | |||
}) | |||
let positionParams = wx.getStorageSync('positionParams') | |||
if(Object.keys(positionParams).length) { | |||
@@ -31,8 +31,10 @@ Page({ | |||
params.districtCode = positionParams.districtCode | |||
this.setData({params, current: '/stream/index'}) | |||
} else { | |||
const path = '/pages/all/index' | |||
const fromType = 'tabbar' | |||
wx.redirectTo({ | |||
url: '/pages/login/login', | |||
url: `/pages/login/login?path=${path}&fromType=${fromType}`, | |||
}) | |||
} | |||
}, | |||
@@ -77,12 +79,13 @@ Page({ | |||
}) | |||
} | |||
}, | |||
/* 跳转至筛选页 */ | |||
goSelectLocation(e) { | |||
wx.redirectTo({ | |||
url: '/pages/login/login', | |||
}) | |||
}, | |||
// /* 跳转至筛选页 */ | |||
// goSelectLocation(e) { | |||
// const path = '/pages/all/index' | |||
// wx.redirectTo({ | |||
// url: `/pages/login/login?path=${path}`, | |||
// }) | |||
// }, | |||
/* 跳转至详情页 */ | |||
showDetail(e) { | |||
let data = e.currentTarget.dataset.item |
@@ -1,7 +1,7 @@ | |||
<!--pages/home/index.wxml--> | |||
<!--pages/all/index.wxml--> | |||
<view class="protecityct_container"> | |||
<view class="protect_head"> | |||
<view class="select_location" bindtap="goSelectLocation">切换位置</view> | |||
<!-- <view class="select_location" bindtap="goSelectLocation">切换位置</view> --> | |||
<view class="search_container"> | |||
<image class="search_icon" src="../../assets/img/search.png"></image> | |||
<input class="task-search" type="text" placeholder="请输入河道名称进行查询" model:value="{{name}}" placeholder-class="placeholder-style" bindconfirm="search" bindblur="search"/> |
@@ -1,7 +1,7 @@ | |||
/* pages/home/index.wxss */ | |||
/* pages/all/index.wxss */ | |||
.protecityct_container { | |||
width: 100%; | |||
height: calc(100vh - 112rpx); | |||
height: calc(100vh - 90rpx); | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
@@ -58,7 +58,7 @@ | |||
/* 列表样式 */ | |||
.river_list { | |||
width: 100%; | |||
height: calc(100% - 200rpx); | |||
height: calc(100% - 140rpx); | |||
} | |||
.river_item { | |||
width: 100%; | |||
@@ -86,14 +86,13 @@ | |||
margin-right: 20rpx; | |||
} | |||
.execute_btn { | |||
box-sizing: border-box; | |||
width: 144rpx; | |||
height: 56rpx; | |||
border-radius: 34rpx; | |||
line-height: 56rpx; | |||
text-align: center; | |||
background-color: #477DF3; | |||
font-size: 24rpx; | |||
font-weight: normal; | |||
width: 140rpx; | |||
height: 60rpx; | |||
font-size: 28rpx; | |||
color: #fff; | |||
line-height: 60rpx; | |||
text-align: center; | |||
background-color: #2A82E4FF; | |||
border-radius: 8rpx; | |||
align-self: flex-end; | |||
} |
@@ -16,15 +16,18 @@ Page({ | |||
cityCurrent: -1, | |||
districtCurrent: -1, | |||
params: {}, // 筛选条件 | |||
obj: {} | |||
obj: {}, | |||
path: '/pages/FirstPage/index', | |||
fromType: 'tabbar' | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function (options) { | |||
// this.getCityTreeList() | |||
if(options) { | |||
this.setData({path: options.path, fromType: options.fromType}) | |||
} | |||
}, | |||
/** | |||
@@ -165,8 +168,6 @@ Page({ | |||
return code | |||
}, | |||
getUserLocation(e) { | |||
// 推荐使用 wx.getUserProfile 获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 | |||
// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 | |||
let cityObj = wx.getStorageSync('cityObj') | |||
if(!Object.keys(cityObj).length) { | |||
getLocatonPermission().then(res=> { | |||
@@ -200,8 +201,16 @@ Page({ | |||
key: 'positionParams', | |||
data: positionParams | |||
}) | |||
wx.switchTab({ | |||
url: '/pages/home/index?cityParams', | |||
}) | |||
const path = this.data.path | |||
const fromType = this.data.fromType | |||
if(fromType === 'page') { | |||
wx.redirectTo({ | |||
url: path, | |||
}) | |||
} else { | |||
wx.switchTab({ | |||
url: path, | |||
}) | |||
} | |||
} | |||
}) |
@@ -6,6 +6,10 @@ Page({ | |||
*/ | |||
data: { | |||
userInfo: {}, // 用户授权信息 | |||
list: [ | |||
{title: '我的反馈', type: 'feedback'}, | |||
{title: '我的美拍', type: 'upload'} | |||
] | |||
}, | |||
/** | |||
@@ -13,7 +17,7 @@ Page({ | |||
*/ | |||
onLoad: function (options) { | |||
this.getTabBar().setData({ | |||
selected: 1 | |||
selected: 2 | |||
}) | |||
this.setData({ | |||
userInfo: wx.getStorageSync('userInfo') | |||
@@ -21,9 +25,16 @@ Page({ | |||
}, | |||
goRecords(e) { | |||
wx.navigateTo({ | |||
url: '/package_B/pages/records/index', | |||
}) | |||
const type = e.currentTarget.dataset.type | |||
if(type === 'feedback') { | |||
wx.navigateTo({ | |||
url: '/package_B/pages/records/index', | |||
}) | |||
} else { | |||
wx.navigateTo({ | |||
url: '/package_B/pages/beauties/index', | |||
}) | |||
} | |||
}, | |||
/** |
@@ -1,14 +1,14 @@ | |||
<!--pages/mine/index.wxml--> | |||
<view class="mine_container"> | |||
<view class="user_massage"> | |||
<image class="user_avatar" src="{{userInfo.avatarUrl}}"></image> | |||
<text class="user_name">{{userInfo.nickName}}</text> | |||
<image class="user_avatar" src="{{userInfo.headimgurl}}"></image> | |||
<text class="user_name">{{userInfo.nickname}}</text> | |||
</view> | |||
<view class="function_list"> | |||
<view class="function_item" bindtap="goRecords"> | |||
<view class="function_item" wx:for="{{list}}" wx:key="index" bindtap="goRecords" data-type="{{item.type}}"> | |||
<view class="item_title"> | |||
<image style="height: 40rpx;width: 40rpx;margin-right: 15rpx;" src="../../assets/img/record.png"></image> | |||
<text style="font-size: 26rpx;">我的反馈</text> | |||
<text style="font-size: 26rpx;">{{item.title}}</text> | |||
</view> | |||
<image style="height: 48rpx;width: 48rpx;" src="../../assets/img/more.png"></image> | |||
</view> |
@@ -26,14 +26,15 @@ | |||
.function_list { | |||
width: 100%; | |||
margin-top: 30rpx; | |||
background-color: #ffffff; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.function_item { | |||
background-color: #ffffff; | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
padding: 20rpx 30rpx; | |||
display: flex; | |||
justify-content: space-between; |
@@ -20,13 +20,13 @@ | |||
}, | |||
{ | |||
"name": "全民护河", | |||
"pathName": "pages/home/index", | |||
"pathName": "pages/all/index", | |||
"query": "", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "全民护河", | |||
"pathName": "pages/home/index", | |||
"pathName": "pages/all/index", | |||
"query": "", | |||
"scene": null | |||
}, | |||
@@ -49,11 +49,53 @@ | |||
"query": "", | |||
"launchMode": "default", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "公告", | |||
"pathName": "package_first/pages/announceList/index", | |||
"query": "", | |||
"launchMode": "default", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "问河长", | |||
"pathName": "package_first/pages/askAdmin/index", | |||
"query": "", | |||
"launchMode": "default", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "大好河山", | |||
"pathName": "package_first/pages/beautyList/index", | |||
"query": "", | |||
"launchMode": "default", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "发布美拍", | |||
"pathName": "package_first/pages/uploadBeauty/index", | |||
"query": "", | |||
"launchMode": "default", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "发布成功", | |||
"pathName": "package_first/pages/successPage/index", | |||
"query": "", | |||
"launchMode": "default", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "我的美拍", | |||
"pathName": "package_B/pages/beauties/index", | |||
"query": "", | |||
"launchMode": "default", | |||
"scene": null | |||
} | |||
] | |||
} | |||
}, | |||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", | |||
"projectname": "%E5%85%A8%E6%B0%91%E6%8A%A4%E6%B2%B3%E5%B0%8F%E7%A8%8B%E5%BA%8F", | |||
"libVersion": "2.25.4" | |||
"libVersion": "2.25.3" | |||
} |