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 | |||||
}) | |||||
} | |||||
method: 'GET', | method: 'GET', | ||||
}) | }) | ||||
} | } | ||||
/** | |||||
* 获取openId | |||||
*/ | |||||
export const getUserData = function (openid) { | |||||
return request({ | |||||
url: `/wx/westreamUser/${openid}`, | |||||
method: 'GET', | |||||
}) | |||||
} | |||||
/** | /** | ||||
* 查询省市区对应城市代码 | * 查询省市区对应城市代码 | ||||
*/ | */ | ||||
data | data | ||||
}) | }) | ||||
} | } | ||||
/** | |||||
* 在线心跳 | |||||
*/ | |||||
export const IsOnlive = function (data) { | |||||
return request({ | |||||
url: '/index/westreamUser/edit', | |||||
method: 'PUT', | |||||
data | |||||
}) | |||||
} |
// app.js | // app.js | ||||
import {IsOnlive} from './api/login.js' | |||||
App({ | App({ | ||||
onLaunch() { | onLaunch() { | ||||
// 展示本地存储能力 | // 展示本地存储能力 | ||||
logs.unshift(Date.now()) | logs.unshift(Date.now()) | ||||
wx.setStorageSync('logs', logs) | 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: { | globalData: { | ||||
times: 0, | |||||
userInfo: null | userInfo: null | ||||
} | } | ||||
}) | }) |
{ | { | ||||
"pages": [ | "pages": [ | ||||
"pages/home/index", | |||||
"pages/FirstPage/index", | |||||
"pages/all/index", | |||||
"pages/mine/index", | "pages/mine/index", | ||||
"pages/login/login" | "pages/login/login" | ||||
], | ], | ||||
"selectedColor": "#477DF3", | "selectedColor": "#477DF3", | ||||
"list": [ | "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": "全民护河", | "text": "全民护河", | ||||
"iconPath": "./assets/tabBar/protect.png", | "iconPath": "./assets/tabBar/protect.png", | ||||
"selectedIconPath": "./assets/tabBar/protect_h.png" | "selectedIconPath": "./assets/tabBar/protect_h.png" | ||||
] | ] | ||||
}, | }, | ||||
"subPackages": [ | "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", | "root": "package_A", | ||||
"pages": [ | "pages": [ | ||||
{ | { | ||||
"root": "package_B", | "root": "package_B", | ||||
"pages": [ | "pages": [ | ||||
"pages/collection/index", | |||||
"pages/records/index", | "pages/records/index", | ||||
"pages/feedbackDetail/index" | |||||
"pages/feedbackDetail/index", | |||||
"pages/beauties/index", | |||||
"pages/senceDetail/index" | |||||
] | ] | ||||
} | } | ||||
], | ], |
// 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: { | |||||
} | |||||
}) |
{ | |||||
"component": true, | |||||
"usingComponents": {} | |||||
} |
<!--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> |
/* components/BeautyInfo/index.wxss */ |
// 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: { | |||||
} | |||||
}) |
{ | |||||
"component": true, | |||||
"usingComponents": {} | |||||
} |
<!--components/ImageList/index.wxml--> | |||||
<view class="image_container"> | |||||
<image class="image_item" src="{{item}}" wx:for="{{imageList}}" wx:key="index"></image> | |||||
</view> |
/* 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; | |||||
} |
default() { | default() { | ||||
return false | return false | ||||
} | } | ||||
}, | |||||
placeholder: { | |||||
type: String, | |||||
default: "请选择" | |||||
} | } | ||||
}, | }, | ||||
/** | /** |
<view class="picker" wx:if="{{data[current][rangeKey]}}"> | <view class="picker" wx:if="{{data[current][rangeKey]}}"> | ||||
{{data[current][rangeKey]}} | {{data[current][rangeKey]}} | ||||
</view> | </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> | </view> | ||||
</picker> | </picker> |
color: "#939393", | color: "#939393", | ||||
selectedColor: "#477DF3", | selectedColor: "#477DF3", | ||||
list: [ | 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', | iconPath: '../assets/tabBar/protect.png', | ||||
selectedIconPath:'../assets/tabBar/protect_h.png', | selectedIconPath:'../assets/tabBar/protect_h.png', | ||||
text: "全民护河", | text: "全民护河", | ||||
isSpecial: false | isSpecial: false | ||||
} | } | ||||
], | ], | ||||
isIphoneX: app.globalData.isIphoneX | |||||
isIphoneX: app.globalData.isIphoneX, | |||||
path: '' | |||||
}, | }, | ||||
methods: { | methods: { | ||||
switchTab(e) { | 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(auth) { | ||||
if(openId) { | if(openId) { | ||||
wx.switchTab({ | wx.switchTab({ |
const __request_base_url__ = { | 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", | trial: "https://qmhhapi-test.t-aaron.com/api", | ||||
release: "https://qmhh.t-aaron.com/api" | release: "https://qmhh.t-aaron.com/api" | ||||
} | } |
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__ = 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_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; }; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
})); | })); | ||||
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); }) | }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); }) | ||||
__DEFINE__(1663124739571, function(require, module, exports) { | |||||
__DEFINE__(1679274193845, function(require, module, exports) { | |||||
;(function (root, factory) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.lib.WordArray; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.enc.Utf16; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.enc.Base64; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.enc.Base64url; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.MD5; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.SHA1; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.SHA256; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.SHA224; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.SHA512; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.SHA384; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.SHA3; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.RIPEMD160; | 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) { | ;(function (root, factory) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
})); | })); | ||||
}, 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.PBKDF2; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.EvpKDF; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
})); | })); | ||||
}, 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.mode.CFB; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.mode.CTR; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.mode.CTRGladman; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.mode.OFB; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.mode.ECB; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.pad.Ansix923; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.pad.Iso10126; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.pad.Iso97971; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.pad.ZeroPadding; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.pad.NoPadding; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.format.Hex; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.AES; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.TripleDES; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.RC4; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.Rabbit; | 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) { | ;(function (root, factory, undef) { | ||||
if (typeof exports === "object") { | if (typeof exports === "object") { | ||||
// CommonJS | // CommonJS | ||||
return CryptoJS.RabbitLegacy; | 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"] | //miniprogram-npm-outsideDeps=["crypto"] | ||||
//# sourceMappingURL=index.js.map | //# sourceMappingURL=index.js.map |
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__ = 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_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; }; | 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! | // THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND! | ||||
// | // | ||||
})); | })); | ||||
}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); }) | }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); }) | ||||
return __REQUIRE__(1663124739604); | |||||
return __REQUIRE__(1679274193878); | |||||
})() | })() | ||||
//miniprogram-npm-outsideDeps=[] | //miniprogram-npm-outsideDeps=[] | ||||
//# sourceMappingURL=index.js.map | //# sourceMappingURL=index.js.map |
}, | }, | ||||
returnList(){ | returnList(){ | ||||
wx.switchTab({ | wx.switchTab({ | ||||
url: '/pages/home/index' | |||||
url: '/pages/all/index' | |||||
}) | }) | ||||
} | } | ||||
}) | }) |
// 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), | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": { | |||||
"list": "../../../components/List/index", | |||||
"BeautyInfo": "../../../components/BeautyInfo/index", | |||||
"ImageList": "../../../components/ImageList/index" | |||||
}, | |||||
"navigationBarTitleText": "我的美拍" | |||||
} |
<!--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> | |||||
/* 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; | |||||
} |
<!--package_B/pages/collection/index.wxml--> | |||||
<text>package_B/pages/collection/index.wxml</text> |
data: { | data: { | ||||
list: [], | list: [], | ||||
current: "/feedback/my", | current: "/feedback/my", | ||||
statusList: ['待处理','待处理','已处理','已处理'], | |||||
params: {}, | params: {}, | ||||
statusList: [ | statusList: [ | ||||
{title: '待处理', color: '#F34747'}, | {title: '待处理', color: '#F34747'}, |
// 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 | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": {}, | |||||
"navigationBarTitleText": "我的美拍" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// 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}) | |||||
} | |||||
} | |||||
} | |||||
}) |
{ | |||||
"usingComponents": {}, | |||||
"navigationBarTitleText": "公告详情" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// 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)), | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": { | |||||
"list": "../../../components/List/index" | |||||
}, | |||||
"navigationBarTitleText": "护河公告" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// 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)), | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": { | |||||
"list": "../../../components/List/index" | |||||
}, | |||||
"navigationBarTitleText": "护河知识" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// 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}) | |||||
} | |||||
} | |||||
} | |||||
}) |
{ | |||||
"usingComponents": {}, | |||||
"navigationBarTitleText": "知识详情" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// 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() { | |||||
} | |||||
}) |
{ | |||||
"usingComponents": {}, | |||||
"navigationBarTitleText": "美拍详情" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// 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), | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": { | |||||
"list": "../../../components/List/index", | |||||
"ImageList": "../../../components/ImageList/index" | |||||
}, | |||||
"navigationBarTitleText": "大好河山" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// package_B/pages/collection/index.js | |||||
// package_first/pages/more/index.js | |||||
Page({ | Page({ | ||||
/** | /** |
{ | |||||
"usingComponents": {}, | |||||
"navigationBarTitleText": "敬请期待" | |||||
} |
<!--package_first/pages/more/index.wxml--> | |||||
<text>开发中,敬请期待</text> |
/* package_first/pages/more/index.wxss */ |
// package_first/pages/successPage/index.js | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
}, | |||||
returnList(){ | |||||
wx.redirectTo({ | |||||
url: '/package_first/pages/beautyList/index' | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": {}, | |||||
"navigationBarTitleText": "发布成功" | |||||
} |
<!--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> |
/* 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; | |||||
} |
// 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() | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": { | |||||
"Select": "../../../components/Select/index" | |||||
}, | |||||
"navigationBarTitleText": "发布美拍" | |||||
} |
<!--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> |
/* 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); | |||||
} |
// 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), | |||||
}) | |||||
} | |||||
}) |
{ | |||||
"usingComponents": { | |||||
"riverInfo": "../../components/riverInfo/index", | |||||
"list": "../../components/List/index" | |||||
}, | |||||
"navigationBarTitleText": "首页", | |||||
"navigationBarBackgroundColor": "#2A82E4FF" | |||||
} |
<!--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> |
/* 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; | |||||
} | |||||
// pages/home/index.js | |||||
// pages/all/index.js | |||||
import {getUserInfo} from '../../utils/getUserInfo.js' | import {getUserInfo} from '../../utils/getUserInfo.js' | ||||
import {getCityTree} from '../../api/feeddback.js' | import {getCityTree} from '../../api/feeddback.js' | ||||
Page({ | Page({ | ||||
*/ | */ | ||||
onLoad: function (options) { | onLoad: function (options) { | ||||
this.getTabBar().setData({ | this.getTabBar().setData({ | ||||
selected: 0 | |||||
selected: 1 | |||||
}) | }) | ||||
let positionParams = wx.getStorageSync('positionParams') | let positionParams = wx.getStorageSync('positionParams') | ||||
if(Object.keys(positionParams).length) { | if(Object.keys(positionParams).length) { | ||||
params.districtCode = positionParams.districtCode | params.districtCode = positionParams.districtCode | ||||
this.setData({params, current: '/stream/index'}) | this.setData({params, current: '/stream/index'}) | ||||
} else { | } else { | ||||
const path = '/pages/all/index' | |||||
const fromType = 'tabbar' | |||||
wx.redirectTo({ | wx.redirectTo({ | ||||
url: '/pages/login/login', | |||||
url: `/pages/login/login?path=${path}&fromType=${fromType}`, | |||||
}) | }) | ||||
} | } | ||||
}, | }, | ||||
}) | }) | ||||
} | } | ||||
}, | }, | ||||
/* 跳转至筛选页 */ | |||||
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) { | showDetail(e) { | ||||
let data = e.currentTarget.dataset.item | let data = e.currentTarget.dataset.item |
<!--pages/home/index.wxml--> | |||||
<!--pages/all/index.wxml--> | |||||
<view class="protecityct_container"> | <view class="protecityct_container"> | ||||
<view class="protect_head"> | <view class="protect_head"> | ||||
<view class="select_location" bindtap="goSelectLocation">切换位置</view> | |||||
<!-- <view class="select_location" bindtap="goSelectLocation">切换位置</view> --> | |||||
<view class="search_container"> | <view class="search_container"> | ||||
<image class="search_icon" src="../../assets/img/search.png"></image> | <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"/> | <input class="task-search" type="text" placeholder="请输入河道名称进行查询" model:value="{{name}}" placeholder-class="placeholder-style" bindconfirm="search" bindblur="search"/> |
/* pages/home/index.wxss */ | |||||
/* pages/all/index.wxss */ | |||||
.protecityct_container { | .protecityct_container { | ||||
width: 100%; | width: 100%; | ||||
height: calc(100vh - 112rpx); | |||||
height: calc(100vh - 90rpx); | |||||
display: flex; | display: flex; | ||||
flex-direction: column; | flex-direction: column; | ||||
justify-content: flex-start; | justify-content: flex-start; | ||||
/* 列表样式 */ | /* 列表样式 */ | ||||
.river_list { | .river_list { | ||||
width: 100%; | width: 100%; | ||||
height: calc(100% - 200rpx); | |||||
height: calc(100% - 140rpx); | |||||
} | } | ||||
.river_item { | .river_item { | ||||
width: 100%; | width: 100%; | ||||
margin-right: 20rpx; | margin-right: 20rpx; | ||||
} | } | ||||
.execute_btn { | .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; | color: #fff; | ||||
line-height: 60rpx; | |||||
text-align: center; | |||||
background-color: #2A82E4FF; | |||||
border-radius: 8rpx; | |||||
align-self: flex-end; | |||||
} | } |
cityCurrent: -1, | cityCurrent: -1, | ||||
districtCurrent: -1, | districtCurrent: -1, | ||||
params: {}, // 筛选条件 | params: {}, // 筛选条件 | ||||
obj: {} | |||||
obj: {}, | |||||
path: '/pages/FirstPage/index', | |||||
fromType: 'tabbar' | |||||
}, | }, | ||||
/** | /** | ||||
* 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
*/ | */ | ||||
onLoad: function (options) { | onLoad: function (options) { | ||||
// this.getCityTreeList() | |||||
if(options) { | |||||
this.setData({path: options.path, fromType: options.fromType}) | |||||
} | |||||
}, | }, | ||||
/** | /** | ||||
return code | return code | ||||
}, | }, | ||||
getUserLocation(e) { | getUserLocation(e) { | ||||
// 推荐使用 wx.getUserProfile 获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 | |||||
// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 | |||||
let cityObj = wx.getStorageSync('cityObj') | let cityObj = wx.getStorageSync('cityObj') | ||||
if(!Object.keys(cityObj).length) { | if(!Object.keys(cityObj).length) { | ||||
getLocatonPermission().then(res=> { | getLocatonPermission().then(res=> { | ||||
key: 'positionParams', | key: 'positionParams', | ||||
data: 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, | |||||
}) | |||||
} | |||||
} | } | ||||
}) | }) |
*/ | */ | ||||
data: { | data: { | ||||
userInfo: {}, // 用户授权信息 | userInfo: {}, // 用户授权信息 | ||||
list: [ | |||||
{title: '我的反馈', type: 'feedback'}, | |||||
{title: '我的美拍', type: 'upload'} | |||||
] | |||||
}, | }, | ||||
/** | /** | ||||
*/ | */ | ||||
onLoad: function (options) { | onLoad: function (options) { | ||||
this.getTabBar().setData({ | this.getTabBar().setData({ | ||||
selected: 1 | |||||
selected: 2 | |||||
}) | }) | ||||
this.setData({ | this.setData({ | ||||
userInfo: wx.getStorageSync('userInfo') | userInfo: wx.getStorageSync('userInfo') | ||||
}, | }, | ||||
goRecords(e) { | 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', | |||||
}) | |||||
} | |||||
}, | }, | ||||
/** | /** |
<!--pages/mine/index.wxml--> | <!--pages/mine/index.wxml--> | ||||
<view class="mine_container"> | <view class="mine_container"> | ||||
<view class="user_massage"> | <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> | ||||
<view class="function_list"> | <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"> | <view class="item_title"> | ||||
<image style="height: 40rpx;width: 40rpx;margin-right: 15rpx;" src="../../assets/img/record.png"></image> | <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> | </view> | ||||
<image style="height: 48rpx;width: 48rpx;" src="../../assets/img/more.png"></image> | <image style="height: 48rpx;width: 48rpx;" src="../../assets/img/more.png"></image> | ||||
</view> | </view> |
.function_list { | .function_list { | ||||
width: 100%; | width: 100%; | ||||
margin-top: 30rpx; | margin-top: 30rpx; | ||||
background-color: #ffffff; | |||||
display: flex; | display: flex; | ||||
flex-direction: column; | flex-direction: column; | ||||
justify-content: flex-start; | justify-content: flex-start; | ||||
align-items: center; | align-items: center; | ||||
} | } | ||||
.function_item { | .function_item { | ||||
background-color: #ffffff; | |||||
width: 100%; | width: 100%; | ||||
margin-bottom: 20rpx; | |||||
padding: 20rpx 30rpx; | padding: 20rpx 30rpx; | ||||
display: flex; | display: flex; | ||||
justify-content: space-between; | justify-content: space-between; |
}, | }, | ||||
{ | { | ||||
"name": "全民护河", | "name": "全民护河", | ||||
"pathName": "pages/home/index", | |||||
"pathName": "pages/all/index", | |||||
"query": "", | "query": "", | ||||
"scene": null | "scene": null | ||||
}, | }, | ||||
{ | { | ||||
"name": "全民护河", | "name": "全民护河", | ||||
"pathName": "pages/home/index", | |||||
"pathName": "pages/all/index", | |||||
"query": "", | "query": "", | ||||
"scene": null | "scene": null | ||||
}, | }, | ||||
"query": "", | "query": "", | ||||
"launchMode": "default", | "launchMode": "default", | ||||
"scene": null | "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", | "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", | "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" | |||||
} | } |