Ver código fonte

Merge branch 'develop' of gitadmin/tuoheng_qmhh_web into master

master
yufei111 8 meses atrás
pai
commit
1f61b8dbf5
100 arquivos alterados com 1128 adições e 117 exclusões
  1. +9
    -0
      api/activity.js
  2. +16
    -0
      api/attention.js
  3. +27
    -0
      api/goods.js
  4. +10
    -1
      api/home.js
  5. +23
    -0
      api/learining.js
  6. +27
    -4
      api/login.js
  7. +88
    -0
      api/mine.js
  8. +9
    -0
      api/protection.js
  9. +12
    -0
      api/report.js
  10. +16
    -0
      api/suggestion.js
  11. +12
    -0
      api/volunteer-service.js
  12. +30
    -0
      api/volunteer.js
  13. +1
    -20
      app.js
  14. +33
    -5
      app.json
  15. +4
    -0
      app.wxss
  16. BIN
      assets/first/activity.png
  17. BIN
      assets/first/area_icon.png
  18. BIN
      assets/first/ask.png
  19. BIN
      assets/first/go.png
  20. BIN
      assets/first/home_banner.png
  21. BIN
      assets/first/live_bg.png
  22. BIN
      assets/first/new.png
  23. BIN
      assets/first/report.png
  24. BIN
      assets/first/rivers.png
  25. BIN
      assets/first/stores.png
  26. BIN
      assets/first/suggestion.png
  27. BIN
      assets/first/volunteer.png
  28. BIN
      assets/img/address.png
  29. BIN
      assets/img/apply.png
  30. BIN
      assets/img/approveing.png
  31. BIN
      assets/img/attentionIcon.png
  32. BIN
      assets/img/back.png
  33. BIN
      assets/img/camera.png
  34. BIN
      assets/img/exchange.png
  35. BIN
      assets/img/failed.png
  36. BIN
      assets/img/feedback.png
  37. BIN
      assets/img/gold.png
  38. BIN
      assets/img/id_bg.png
  39. BIN
      assets/img/myid.png
  40. BIN
      assets/img/notice.png
  41. BIN
      assets/img/open_upload.png
  42. BIN
      assets/img/passed.png
  43. BIN
      assets/img/position.png
  44. BIN
      assets/img/search.png
  45. BIN
      assets/img/store.png
  46. BIN
      assets/img/submit_success.png
  47. BIN
      assets/img/tips.png
  48. BIN
      assets/img/unapprove.png
  49. BIN
      assets/img/userinfo.png
  50. BIN
      assets/img/video.png
  51. BIN
      assets/img/volunteer.png
  52. BIN
      assets/tabBar/home.png
  53. BIN
      assets/tabBar/home_selected.png
  54. BIN
      assets/tabBar/mine.png
  55. BIN
      assets/tabBar/mine_h.png
  56. BIN
      assets/tabBar/protect.png
  57. BIN
      assets/tabBar/protect_h.png
  58. +1
    -1
      components/BeautyInfo/index.js
  59. +36
    -0
      components/GoodsInfo/index.js
  60. +4
    -0
      components/GoodsInfo/index.json
  61. +11
    -0
      components/GoodsInfo/index.wxml
  62. +37
    -0
      components/GoodsInfo/index.wxss
  63. +5
    -2
      components/ImageList/index.wxss
  64. +5
    -0
      components/List/index.js
  65. +1
    -1
      components/List/index.wxml
  66. +5
    -0
      components/List/index.wxss
  67. +2
    -1
      components/Select/index.wxml
  68. +10
    -4
      components/Select/index.wxss
  69. +33
    -0
      components/exchangeInfo/index.js
  70. +4
    -0
      components/exchangeInfo/index.json
  71. +30
    -0
      components/exchangeInfo/index.wxml
  72. +83
    -0
      components/exchangeInfo/index.wxss
  73. +5
    -5
      custom-tab-bar/index.js
  74. +1
    -1
      environment.js
  75. +70
    -70
      miniprogram_npm/crypto-js/index.js
  76. +2
    -2
      miniprogram_npm/js-base64/index.js
  77. +1
    -0
      node_modules/.package_versions.json
  78. BIN
      package_A/img/date.png
  79. BIN
      package_A/img/location.png
  80. BIN
      package_A/img/report_bg.png
  81. BIN
      package_A/img/river_bg.png
  82. BIN
      package_A/img/search.png
  83. BIN
      package_A/img/store_bg.png
  84. BIN
      package_A/img/success.png
  85. BIN
      package_A/img/volunteer_head.png
  86. BIN
      package_A/img/want_report.png
  87. +66
    -0
      package_A/pages/agree/index.js
  88. +4
    -0
      package_A/pages/agree/index.json
  89. +27
    -0
      package_A/pages/agree/index.wxml
  90. +18
    -0
      package_A/pages/agree/index.wxss
  91. +66
    -0
      package_A/pages/conceal/index.js
  92. +4
    -0
      package_A/pages/conceal/index.json
  93. +51
    -0
      package_A/pages/conceal/index.wxml
  94. +18
    -0
      package_A/pages/conceal/index.wxss
  95. +32
    -0
      package_A/pages/exchange-success/index.js
  96. +4
    -0
      package_A/pages/exchange-success/index.json
  97. +18
    -0
      package_A/pages/exchange-success/index.wxml
  98. +49
    -0
      package_A/pages/exchange-success/index.wxss
  99. +108
    -0
      package_A/pages/goods-detail/index.js
  100. +0
    -0
      package_A/pages/goods-detail/index.json

+ 9
- 0
api/activity.js Ver arquivo

@@ -0,0 +1,9 @@
const {request} = require("../request/index")

export const api_westreamSuggest = function (data) {
return request({
url: '/westreamSuggest/add',
method: 'POST',
data
})
}

+ 16
- 0
api/attention.js Ver arquivo

@@ -0,0 +1,16 @@
const {request} = require("../request/index")

export const api_getIsApply = function (data) {
return request({
url: '/westreamTiktok/getIsApply',
method: 'GET',
data
})
}
export const api_TiktokAdd = function (data) {
return request({
url: '/westreamTiktok/add',
method: 'POST',
data
})
}

+ 27
- 0
api/goods.js Ver arquivo

@@ -0,0 +1,27 @@
const {request} = require("../request/index")

// 商品列表
export const getAnnounce = function(data) {
return request({
url: '/goods/index',
method: 'GET',
data
})
}
// 商铺信息
export const storeInfo = function(data) {
return request({
url: '/goods/merchantInfo',
method: 'GET',
data
})
}
// 兑换
export const exchange = function (data) {
return request({
url: '/goods/exchange',
method: 'POST',
showLoading: false,
data
})
}

+ 10
- 1
api/home.js Ver arquivo

@@ -11,7 +11,7 @@ export const getAnnounce = function(params) {
// 获取在线人数
export const getOnlive = function(params) {
return request({
url: '/index/westreamUser/onlineNum',
url: '/westreamUser/onlineNum',
method: 'GET',
data:params
})
@@ -35,3 +35,12 @@ export const uploadBeauty = function(data) {
})
}

// 领取积分
export const getPoint = function(data) {
return request({
url: '/userPoints/receive',
method: 'POST',
data
})
}


+ 23
- 0
api/learining.js Ver arquivo

@@ -0,0 +1,23 @@
const {request} = require("../request/index")

export const api_westreamVideo = function (data) {
return request({
url: '/westreamVideo/index',
method: 'GET',
data
})
}
export const updateProgress = function (data) {
return request({
url: '/westreamVideo/updateProgress',
method: 'PUT',
data
})
}
export const getVideoProgress = function (data) {
return request({
url: '/westreamVideo/getVideoProgress',
method: 'GET',
data
})
}

+ 27
- 4
api/login.js Ver arquivo

@@ -4,17 +4,18 @@ const {request} = require("../request/index")
*/
export const getOpenId = function (code) {
return request({
url: `/wx/openid/${code}`,
url: `/wx/openIdAndUnionId/${code}`,
method: 'GET',
})
}
/**
* 获取openId
* 获取用户信息
*/
export const getUserData = function (openid) {
export const getUserData = function (params) {
return request({
url: `/wx/westreamUser/${openid}`,
url: '/westreamUser/userInfo',
method: 'GET',
data: params
})
}
/**
@@ -27,6 +28,28 @@ export const getCityNameCode = function (data) {
data
})
}
/**
* 查询省市区对应租户数据
*/
export const getTenantData = function (data) {
return request({
url: '/index/tenants/areaCode',
method: 'GET',
data
})
}

/**
* 进入小程序,记录次数
*/
export const enterMini = function (data) {
return request({
url: '/westreamUser/login',
method: 'POST',
data
})
}


/**
* 在线心跳

+ 88
- 0
api/mine.js Ver arquivo

@@ -8,4 +8,92 @@ export const getFeedbackIndex = function (params) {
method: 'GET',
params
})
}
// 上传个人信息
export const uploadUserInfo = function(data) {
return request({
url: '/westreamUser/editInfo',
method: 'PUT',
data
})
}

/**
* 获取身份列表
*/
export const getIdList = function () {
return request({
url: '/identity/getList',
method: 'GET'
})
}

// 申请身份
export const approveIdenty = function(data) {
return request({
url: '/identity/submit',
method: 'POST',
data
})
}

/**
* 获取身份申请记录(最新一条)
*/
export const getIdApprove = function (data) {
return request({
url: '/identity/getApplyLast',
method: 'GET',
data
})
}
/**
* 积分获取明细
*/
export const pointDetail = function (data) {
return request({
url: '/my/pointsDetail',
method: 'GET',
data
})
}
/**
* 查询积分列表
*/
export const messageList = function (data) {
return request({
url: '/message/list',
method: 'GET',
data
})
}
/**
* 查看消息详情
*/
export const messageDetail = function (data) {
return request({
url: '/message/deail',
method: 'GET',
data
})
}
/**
* 全部已读
*/
export const readAll = function (data) {
return request({
url: '/message/read',
method: 'PUT',
data
})
}
/**
* 全部已读
*/
export const messageSum = function (data) {
return request({
url: '/message/sum',
method: 'get',
data
})
}

+ 9
- 0
api/protection.js Ver arquivo

@@ -0,0 +1,9 @@
const {request} = require("../request/index")

export const integratDetail = function (data) {
return request({
url: '/westreamUser/getIntegralInfo',
method: 'GET',
data
})
}

+ 12
- 0
api/report.js Ver arquivo

@@ -0,0 +1,12 @@
const {request} = require("../request/index")
/**
* 上报
* @param {*} data
*/
export const applyReport = function (data) {
return request({
url: '/westreamSubmit/report',
method: 'POST',
data
})
}

+ 16
- 0
api/suggestion.js Ver arquivo

@@ -0,0 +1,16 @@
const {request} = require("../request/index")

export const api_westreamSuggest = function (data) {
return request({
url: '/westreamSuggest/add',
method: 'POST',
data
})
}
export const api_getUserInfo = function (data) {
return request({
url: '/westreamUser/userInfo',
method: 'GET',
data
})
}

+ 12
- 0
api/volunteer-service.js Ver arquivo

@@ -0,0 +1,12 @@
const {request} = require("../request/index")
/**
* 申请志愿者服务
* @param {*} data
*/
export const applyVolunteer = function (data) {
return request({
url: '/westreamVolunteer/add',
method: 'POST',
data
})
}

+ 30
- 0
api/volunteer.js Ver arquivo

@@ -0,0 +1,30 @@
const {request} = require("../request/index")

export const api_westreamActivity = function (data) {
return request({
url: '/westreamActivity/index',
method: 'GET',
data
})
}
export const activitySubmit = function (data) {
return request({
url: '/westreamActivityApply/submit',
method: 'POST',
data
})
}
export const activityGetApply = function (data) {
return request({
url: '/westreamActivityApply/getApply',
method: 'GET',
data
})
}
export const api_getApply = function (data) {
return request({
url: '/westreamActivityApply/getApply',
method: 'GET',
data
})
}

+ 1
- 20
app.js Ver arquivo

@@ -8,26 +8,7 @@ App({
wx.setStorageSync('logs', logs)

// 心跳更新在线状态
setInterval(()=> {
const {times} = this.globalData
const openid = wx.getStorageSync('openId')
const positionParams = wx.getStorageSync('positionParams')
const {nickname, headimgurl} = wx.getStorageSync('userInfo')
const params = {
openid,
// nickname: nickname,
// headimgurl: headimgurl,
provinceCode: positionParams.provinceCode,
cityCode: positionParams.cityCode,
districtCode: positionParams.districtCode
}
if(openid) {
/* 更新用户省市区,一分钟一次 */
if(times%60 === 0){
IsOnlive(params)
}
}
}, 5000)
},
globalData: {
times: 0,

+ 33
- 5
app.json Ver arquivo

@@ -14,7 +14,7 @@
"custom": true,
"color": "#939393",
"borderStyle": "white",
"selectedColor": "#477DF3",
"selectedColor": "#2a82e4",
"list": [
{
"pagePath": "pages/FirstPage/index",
@@ -48,7 +48,17 @@
"pages/askDetail/index",
"pages/uploadBeauty/index",
"pages/beautyDetail/index",
"pages/successPage/index"
"pages/successPage/index",
"pages/ProtectionSuggestion/index",
"pages/ProtectionActivity/index",
"pages/AttentionMethod/index",
"pages/AddPicture/index",
"pages/LearningVideo/index",
"pages/videoDetail/index",
"pages/VolunteerActivity/index",
"pages/VolunteerDetail/index",
"pages/ActivityApply/index",
"pages/RulesPage/index"
]
},
{
@@ -56,16 +66,34 @@
"pages": [
"pages/report/index",
"pages/submitSuccess/index",
"pages/riverDetail/index"
"pages/riverDetail/index",
"pages/conceal/index",
"pages/agree/index",
"pages/stores/index",
"pages/storeDetail/index",
"pages/goods-page/index",
"pages/goods-detail/index",
"pages/exchange-success/index",
"pages/volunteer-page/index",
"pages/report-page/index"
]
},
{
"root": "package_B",
"root": "package_mine",
"pages": [
"pages/records/index",
"pages/feedbackDetail/index",
"pages/beauties/index",
"pages/senceDetail/index"
"pages/senceDetail/index",
"pages/userInfo/index",
"pages/myId/index",
"pages/approveId/index",
"pages/exchange/index",
"pages/IdList/index",
"pages/submitSuccess/index",
"pages/history/index",
"pages/notice/index",
"pages/noticeDetail/index"
]
}
],

+ 4
- 0
app.wxss Ver arquivo

@@ -12,4 +12,8 @@
view {
box-sizing: border-box;
color: #333333;
font-family: SourceHanSansCN-Regular;
}
text {
font-family: SourceHanSansCN-Regular;
}

BIN
assets/first/activity.png Ver arquivo

Antes Depois
Largura: 109  |  Altura: 109  |  Tamanho: 6.4KB

BIN
assets/first/area_icon.png Ver arquivo

Antes Depois
Largura: 26  |  Altura: 37  |  Tamanho: 1.2KB

BIN
assets/first/ask.png Ver arquivo

Antes Depois
Largura: 45  |  Altura: 45  |  Tamanho: 1.2KB Largura: 109  |  Altura: 109  |  Tamanho: 5.6KB

BIN
assets/first/go.png Ver arquivo

Antes Depois
Largura: 12  |  Altura: 20  |  Tamanho: 330B

BIN
assets/first/home_banner.png Ver arquivo

Antes Depois
Largura: 1380  |  Altura: 566  |  Tamanho: 489KB

BIN
assets/first/live_bg.png Ver arquivo

Antes Depois
Largura: 345  |  Altura: 90  |  Tamanho: 7.6KB Largura: 708  |  Altura: 160  |  Tamanho: 47KB

BIN
assets/first/new.png Ver arquivo

Antes Depois
Largura: 109  |  Altura: 109  |  Tamanho: 7.4KB

BIN
assets/first/report.png Ver arquivo

Antes Depois
Largura: 218  |  Altura: 218  |  Tamanho: 14KB

BIN
assets/first/rivers.png Ver arquivo

Antes Depois
Largura: 45  |  Altura: 45  |  Tamanho: 2.0KB Largura: 109  |  Altura: 109  |  Tamanho: 5.4KB

BIN
assets/first/stores.png Ver arquivo

Antes Depois
Largura: 109  |  Altura: 109  |  Tamanho: 7.4KB

BIN
assets/first/suggestion.png Ver arquivo

Antes Depois
Largura: 109  |  Altura: 109  |  Tamanho: 5.7KB

BIN
assets/first/volunteer.png Ver arquivo

Antes Depois
Largura: 218  |  Altura: 218  |  Tamanho: 14KB

BIN
assets/img/address.png Ver arquivo

Antes Depois
Largura: 39  |  Altura: 39  |  Tamanho: 2.1KB

BIN
assets/img/apply.png Ver arquivo

Antes Depois
Largura: 42  |  Altura: 33  |  Tamanho: 863B

BIN
assets/img/approveing.png Ver arquivo

Antes Depois
Largura: 345  |  Altura: 104  |  Tamanho: 5.6KB

BIN
assets/img/attentionIcon.png Ver arquivo

Antes Depois
Largura: 70  |  Altura: 70  |  Tamanho: 1.5KB

BIN
assets/img/back.png Ver arquivo

Antes Depois
Largura: 200  |  Altura: 200  |  Tamanho: 4.1KB

BIN
assets/img/camera.png Ver arquivo

Antes Depois
Largura: 77  |  Altura: 77  |  Tamanho: 4.4KB

BIN
assets/img/exchange.png Ver arquivo

Antes Depois
Largura: 40  |  Altura: 40  |  Tamanho: 1.4KB

BIN
assets/img/failed.png Ver arquivo

Antes Depois
Largura: 345  |  Altura: 104  |  Tamanho: 5.0KB

BIN
assets/img/feedback.png Ver arquivo

Antes Depois
Largura: 40  |  Altura: 40  |  Tamanho: 1.1KB

BIN
assets/img/gold.png Ver arquivo

Antes Depois
Largura: 30  |  Altura: 30  |  Tamanho: 1.0KB

BIN
assets/img/id_bg.png Ver arquivo

Antes Depois
Largura: 345  |  Altura: 104  |  Tamanho: 6.3KB

BIN
assets/img/myid.png Ver arquivo

Antes Depois
Largura: 40  |  Altura: 40  |  Tamanho: 1.0KB

BIN
assets/img/notice.png Ver arquivo

Antes Depois
Largura: 40  |  Altura: 40  |  Tamanho: 1.1KB

BIN
assets/img/open_upload.png Ver arquivo

Antes Depois
Largura: 53  |  Altura: 53  |  Tamanho: 413B

BIN
assets/img/passed.png Ver arquivo

Antes Depois
Largura: 345  |  Altura: 104  |  Tamanho: 5.8KB

BIN
assets/img/position.png Ver arquivo

Antes Depois
Largura: 10  |  Altura: 10  |  Tamanho: 369B

BIN
assets/img/search.png Ver arquivo

Antes Depois
Largura: 48  |  Altura: 48  |  Tamanho: 1.0KB Largura: 15  |  Altura: 15  |  Tamanho: 607B

BIN
assets/img/store.png Ver arquivo

Antes Depois
Largura: 39  |  Altura: 39  |  Tamanho: 1.8KB

BIN
assets/img/submit_success.png Ver arquivo

Antes Depois
Largura: 112  |  Altura: 112  |  Tamanho: 3.7KB

BIN
assets/img/tips.png Ver arquivo

Antes Depois
Largura: 47  |  Altura: 47  |  Tamanho: 1.4KB

BIN
assets/img/unapprove.png Ver arquivo

Antes Depois
Largura: 501  |  Altura: 437  |  Tamanho: 136KB

BIN
assets/img/userinfo.png Ver arquivo

Antes Depois
Largura: 40  |  Altura: 40  |  Tamanho: 1.1KB

BIN
assets/img/video.png Ver arquivo

Antes Depois
Largura: 70  |  Altura: 70  |  Tamanho: 1.6KB

BIN
assets/img/volunteer.png Ver arquivo

Antes Depois
Largura: 70  |  Altura: 70  |  Tamanho: 1.7KB

BIN
assets/tabBar/home.png Ver arquivo

Antes Depois
Largura: 88  |  Altura: 86  |  Tamanho: 2.6KB Largura: 44  |  Altura: 44  |  Tamanho: 1.0KB

BIN
assets/tabBar/home_selected.png Ver arquivo

Antes Depois
Largura: 88  |  Altura: 86  |  Tamanho: 1.9KB Largura: 44  |  Altura: 44  |  Tamanho: 1.0KB

BIN
assets/tabBar/mine.png Ver arquivo

Antes Depois
Largura: 56  |  Altura: 56  |  Tamanho: 1.7KB Largura: 44  |  Altura: 44  |  Tamanho: 1.4KB

BIN
assets/tabBar/mine_h.png Ver arquivo

Antes Depois
Largura: 56  |  Altura: 56  |  Tamanho: 1.8KB Largura: 44  |  Altura: 44  |  Tamanho: 1.4KB

BIN
assets/tabBar/protect.png Ver arquivo

Antes Depois
Largura: 56  |  Altura: 56  |  Tamanho: 976B Largura: 44  |  Altura: 44  |  Tamanho: 1.5KB

BIN
assets/tabBar/protect_h.png Ver arquivo

Antes Depois
Largura: 56  |  Altura: 56  |  Tamanho: 1001B Largura: 44  |  Altura: 44  |  Tamanho: 1.5KB

+ 1
- 1
components/BeautyInfo/index.js Ver arquivo

@@ -16,7 +16,7 @@ Component({
data: {
dataItem: {
content: '看!这是朕为你打下的江山!',
imgaeCover: '../../assets/first/home_head.png',
imgaeCover: '../../assets/img/upload_head.png',
createTime: '2023-03-21'
}
},

+ 36
- 0
components/GoodsInfo/index.js Ver arquivo

@@ -0,0 +1,36 @@
// components/GoodsInfo/index.js
Component({
/**
* 组件的属性列表
*/
properties: {
dataSource:{
type:Object,
value:{},
}
},

/**
* 组件的初始数据
*/
data: {
detail: {},
coverImage: ''
},
observers: {
'dataSource'(value) {
if(value) {
let detail = this.data.detail
detail = {...value}
detail.coverImage = value.goodsImage.split(',')[0]
this.setData({ detail })
}
}
},
/**
* 组件的方法列表
*/
methods: {

}
})

+ 4
- 0
components/GoodsInfo/index.json Ver arquivo

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

+ 11
- 0
components/GoodsInfo/index.wxml Ver arquivo

@@ -0,0 +1,11 @@
<!--components/GoodsInfo/index.wxml-->
<view class="info_container">
<image class="goods_image" src="{{detail.coverImage}}"></image>
<view class="goods_info">
<view class="goods_desc">{{detail.goodsName}}</view>
<view class="goods_points">
<text style="color: #FC8202;font-size: 38rpx;">{{detail.goodsPoints}}</text>
<text> 积分</text>
</view>
</view>
</view>

+ 37
- 0
components/GoodsInfo/index.wxss Ver arquivo

@@ -0,0 +1,37 @@
/* components/GoodsInfo/index.wxss */
.info_container {
width: 100%;
max-height: 400rpx;
padding: 27rpx 20rpx;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
background-color: #ffffff;
overflow: hidden;
}
.goods_image {
width: 245rpx;
height: 212rpx;
flex-shrink: 0;
}
.goods_info {
width: 100%;
margin-top: 30rpx;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.goods_desc {
width: 100%;
font-size: 30rpx;
font-weight: bold;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.goods_points {
margin-top: 10rpx;
font-size: 28rpx;
}

+ 5
- 2
components/ImageList/index.wxss Ver arquivo

@@ -2,11 +2,14 @@
.image_container {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: flex-start;
}
.image_item {
width: 180rpx;
height: 180rpx;
width: 190rpx;
height: 160rpx;
margin-right: 20rpx;
margin-bottom: 20rpx;
border-radius: 10rpx;
}

+ 5
- 0
components/List/index.js Ver arquivo

@@ -61,6 +61,11 @@ Component({
if (!this.data.more) return
if (!this.data.loading && (!this.data.params || Object.keys(this.data.params).length > 0)) {
this.setData({ loading: true })
// 增加租户id
let {tenantId} = wx.getStorageSync('tenant')
if(this.data?.params) {
this.data.params.tenantId = tenantId
}
get(this.data.url, Object.assign({}, { page: this.data.page, limit: this.data.limit }, this.data.params || {})).then(res => {
let records;
if (res.code == 0) {

+ 1
- 1
components/List/index.wxml Ver arquivo

@@ -1,5 +1,5 @@
<!--components/List/index.wxml-->
<scroll-view class="list {{list.length>0?'':'min-height'}}" scroll-y="{{scrolling}}" bindscrolltolower="loadMore" lower-threshold="80">
<scroll-view class="list {{list.length>0?'':'min-height'}}" scroll-y="{{scrolling}}" bindscrolltolower="loadMore" enable-flex="{{true}}" lower-threshold="80">
<slot></slot>
<view class="empty" wx:if="{{!loading && list.length==0}}">
<image class="image" src="/assets/img/empty.png" mode="aspectFit" lazy-load="false">

+ 5
- 0
components/List/index.wxss Ver arquivo

@@ -3,6 +3,10 @@
box-sizing: border-box;
width: 100%;
height: 100%;
/* display: flex;
flex-wrap: wrap; */
/* justify-content: space-between; */
/* align-content: flex-start; */
}

.min-height {
@@ -17,6 +21,7 @@
}

.empty {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;

+ 2
- 1
components/Select/index.wxml Ver arquivo

@@ -3,10 +3,11 @@
<picker bindchange="updateChange" value="{{current}}" data-current="{{current}}" range="{{data}}" range-key="{{rangeKey}}" disabled="{{disabled}}">
<view class="picker" wx:if="{{data[current][rangeKey]}}">
{{data[current][rangeKey]}}
<image class="select_img" src="../../assets/img/select.png"></image>
</view>
<view wx:else class="picker" style="color: {{disabled? '#999999': 'rgba(0, 0, 0, 0.5)'}};">
请选择
<image class="select_img" src="../../assets/img/select.png"></image>
</view>
</picker>
<image class="select_img" src="../../assets/img/select.png"></image>
</view>

+ 10
- 4
components/Select/index.wxss Ver arquivo

@@ -1,23 +1,29 @@
/* components/Select/index.wxss */
.select_box {
width: 160rpx;
/* width: 180rpx; */
padding: 22rpx 0;
display: flex;
justify-content: space-between;
justify-content: center;
align-items: center;
position: relative;
}
picker {
width: 200rpx;
font-size: 28rpx;
color: #333333;
display: flex;
justify-content: flex-end;
justify-content: center;
align-items: center;
}

.picker {
margin-right: 30rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin-right: 20rpx;
}
.select_img {
width: 16rpx;
height: 10rpx;
}

+ 33
- 0
components/exchangeInfo/index.js Ver arquivo

@@ -0,0 +1,33 @@
// components/exchangeInfo/index.js
Component({
/**
* 组件的属性列表
*/
properties: {
dataSource: {}
},

/**
* 组件的初始数据
*/
data: {
item: {}
},

observers: {
'dataSource'(value) {
let item = {}
item = {...value}
if(value.goods.goodsImage) {
item.coverImage = value.goods.goodsImage.split(',')[0]
}
this.setData({item})
}
},
/**
* 组件的方法列表
*/
methods: {

}
})

+ 4
- 0
components/exchangeInfo/index.json Ver arquivo

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

+ 30
- 0
components/exchangeInfo/index.wxml Ver arquivo

@@ -0,0 +1,30 @@
<!--components/exchangeInfo/index.wxml-->
<view class="exchange_info">
<!-- 商品信息 -->
<view class="info_head">
<image class="exchange_img" src="{{item.coverImage}}"></image>
<view class="info_box">
<view class="goods_title">
<text class="goods_name" >{{item.goods.goodsName}}</text>
<view class="status_tab" wx:if="{{item.exchangeFlag === 1}}" style="color: #5472EF;background-color: #DCE3FE;" >已核销</view>
<view class="status_tab" wx:else style="color: #EB6100;background-color: rgba(235, 97, 0, 0.2);" >未核销</view>
</view>
<text class="info_item">{{item.goods.goodsSpec}}</text>
<view class="points_box">实付:<text style="color: #2D84E4;">{{item.goods.goodsPoints * item.goodsCount}}</text> 积分</view>
</view>
</view>
<!-- 店铺信息 -->
<view class="info_foot">
<view class="stores_info">
<image class="store_icon" src="../../assets/img/store.png"></image>
<text class="store_text">商家:{{item.merchant.shopsName}}</text>
</view>
<view class="stores_info">
<image class="store_icon" src="../../assets/img/address.png"></image>
<text class="store_text">地址:{{item.merchant.shopsAddress}}</text>
</view>
</view>
<!-- 按钮区域 -->
<slot></slot>

</view>

+ 83
- 0
components/exchangeInfo/index.wxss Ver arquivo

@@ -0,0 +1,83 @@
/* components/exchangeInfo/index.wxss */
.exchange_info {
width: 100%;
background-color: #ffffff;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-end;
border-bottom: 2rpx solid #eeeeee;
}
.info_head {
width: 100%;
padding: 40rpx 35rpx;
display: flex;
justify-content: flex-start;
align-items: flex-start;
border-bottom: 1rpx solid #D3DCE6;
}
.exchange_img {
width: 155rpx;
height: 155rpx;
flex-shrink: 0;
}
.info_box {
margin-left: 25rpx;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.goods_title {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.goods_name {
width: calc(100vw - 420rpx);
font-size: 32rpx;
font-weight: bold;
}
.status_tab {
width: 100rpx;
padding: 8rpx 10rpx;
font-size: 26rpx;
}
.info_item {
width: calc(100vw - 300rpx);
margin-top: 20rpx;
font-size: 26rpx;
color: #5B5B5B;
}
.points_box {
margin-top: 20rpx;
font-size: 28rpx;
}
.info_foot {
width: 100%;
padding: 32rpx 35rpx 10rpx 35rpx;
border-bottom: 1rpx solid #D3DCE6;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.stores_info {
width: 100%;
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 30rpx;
}
.store_icon {
width: 40rpx;
height: 40rpx;
margin-right: 20rpx;
flex-shrink: 0;
}
.goods_name, .info_item, .store_text {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

+ 5
- 5
custom-tab-bar/index.js Ver arquivo

@@ -1,10 +1,10 @@
const app = getApp();
import {getUserInfo} from '../utils/getUserInfo.js'
import {getOpenidData} from '../utils/getUserInfo.js'
Component({
data: {
selected: 0,
color: "#939393",
selectedColor: "#477DF3",
selectedColor: "#2a82e4",
list: [
{
pagePath: "/pages/FirstPage/index",
@@ -40,14 +40,14 @@ Component({
const path = dataset.path
const index = dataset.index
const auth = dataset.auth
const openId = wx.getStorageSync('openId')
const openid = wx.getStorageSync('openid')
if(auth) {
if(openId) {
if(openid) {
wx.switchTab({
url: path
})
} else {
getUserInfo().then(res=> {
getOpenidData().then(res=> {
wx.switchTab({
url: path
})

+ 1
- 1
environment.js Ver arquivo

@@ -6,7 +6,7 @@ const __request_base_url__ = {
}
const platform = wx.getSystemInfoSync().platform
const envVersion = wx.getAccountInfoSync().miniProgram.envVersion
const env = platform === 'devtools' ? 'develop' : ( envVersion || 'release' )
export const env = platform === 'devtools' ? 'develop' : ( envVersion || 'release' )

const baseurl = __request_base_url__[env]
export default baseurl

+ 70
- 70
miniprogram_npm/crypto-js/index.js Ver arquivo

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
__DEFINE__(1679274193843, function(require, module, exports) {
__DEFINE__(1688975486853, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -23,8 +23,8 @@ __DEFINE__(1679274193843, function(require, module, exports) {
return CryptoJS;

}));
}, 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(modId) {var map = {"./core":1688975486854,"./x64-core":1688975486855,"./lib-typedarrays":1688975486856,"./enc-utf16":1688975486857,"./enc-base64":1688975486858,"./enc-base64url":1688975486859,"./md5":1688975486860,"./sha1":1688975486861,"./sha256":1688975486862,"./sha224":1688975486863,"./sha512":1688975486864,"./sha384":1688975486865,"./sha3":1688975486866,"./ripemd160":1688975486867,"./hmac":1688975486868,"./pbkdf2":1688975486869,"./evpkdf":1688975486870,"./cipher-core":1688975486871,"./mode-cfb":1688975486872,"./mode-ctr":1688975486873,"./mode-ctr-gladman":1688975486874,"./mode-ofb":1688975486875,"./mode-ecb":1688975486876,"./pad-ansix923":1688975486877,"./pad-iso10126":1688975486878,"./pad-iso97971":1688975486879,"./pad-zeropadding":1688975486880,"./pad-nopadding":1688975486881,"./format-hex":1688975486882,"./aes":1688975486883,"./tripledes":1688975486884,"./rc4":1688975486885,"./rabbit":1688975486886,"./rabbit-legacy":1688975486887}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486854, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -833,7 +833,7 @@ __DEFINE__(1679274193844, function(require, module, exports) {

}));
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193845, function(require, module, exports) {
__DEFINE__(1688975486855, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -1138,8 +1138,8 @@ __DEFINE__(1679274193845, function(require, module, exports) {
return CryptoJS;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193846, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486856, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -1216,8 +1216,8 @@ __DEFINE__(1679274193846, function(require, module, exports) {
return CryptoJS.lib.WordArray;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193847, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486857, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -1367,8 +1367,8 @@ __DEFINE__(1679274193847, function(require, module, exports) {
return CryptoJS.enc.Utf16;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193848, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486858, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -1505,8 +1505,8 @@ __DEFINE__(1679274193848, function(require, module, exports) {
return CryptoJS.enc.Base64;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193849, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486859, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -1647,8 +1647,8 @@ __DEFINE__(1679274193849, function(require, module, exports) {
return CryptoJS.enc.Base64url;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193850, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486860, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -1917,8 +1917,8 @@ __DEFINE__(1679274193850, function(require, module, exports) {
return CryptoJS.MD5;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193851, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486861, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -2069,8 +2069,8 @@ __DEFINE__(1679274193851, function(require, module, exports) {
return CryptoJS.SHA1;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193852, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486862, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -2270,8 +2270,8 @@ __DEFINE__(1679274193852, function(require, module, exports) {
return CryptoJS.SHA256;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193853, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486863, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -2352,8 +2352,8 @@ __DEFINE__(1679274193853, function(require, module, exports) {
return CryptoJS.SHA224;

}));
}, function(modId) { var map = {"./core":1679274193844,"./sha256":1679274193852}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193854, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./sha256":1688975486862}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486864, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -2680,8 +2680,8 @@ __DEFINE__(1679274193854, function(require, module, exports) {
return CryptoJS.SHA512;

}));
}, function(modId) { var map = {"./core":1679274193844,"./x64-core":1679274193845}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193855, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./x64-core":1688975486855}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486865, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -2765,8 +2765,8 @@ __DEFINE__(1679274193855, function(require, module, exports) {
return CryptoJS.SHA384;

}));
}, function(modId) { var map = {"./core":1679274193844,"./x64-core":1679274193845,"./sha512":1679274193854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193856, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./x64-core":1688975486855,"./sha512":1688975486864}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486866, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -3093,8 +3093,8 @@ __DEFINE__(1679274193856, function(require, module, exports) {
return CryptoJS.SHA3;

}));
}, function(modId) { var map = {"./core":1679274193844,"./x64-core":1679274193845}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193857, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./x64-core":1688975486855}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486867, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -3362,8 +3362,8 @@ __DEFINE__(1679274193857, function(require, module, exports) {
return CryptoJS.RIPEMD160;

}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193858, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486868, function(require, module, exports) {
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
@@ -3507,8 +3507,8 @@ __DEFINE__(1679274193858, function(require, module, exports) {


}));
}, function(modId) { var map = {"./core":1679274193844}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193859, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486869, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -3654,8 +3654,8 @@ __DEFINE__(1679274193859, function(require, module, exports) {
return CryptoJS.PBKDF2;

}));
}, function(modId) { var map = {"./core":1679274193844,"./sha1":1679274193851,"./hmac":1679274193858}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193860, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./sha1":1688975486861,"./hmac":1688975486868}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486870, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -3790,8 +3790,8 @@ __DEFINE__(1679274193860, function(require, module, exports) {
return CryptoJS.EvpKDF;

}));
}, function(modId) { var map = {"./core":1679274193844,"./sha1":1679274193851,"./hmac":1679274193858}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193861, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./sha1":1688975486861,"./hmac":1688975486868}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486871, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -4682,8 +4682,8 @@ __DEFINE__(1679274193861, function(require, module, exports) {


}));
}, function(modId) { var map = {"./core":1679274193844,"./evpkdf":1679274193860}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193862, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./evpkdf":1688975486870}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486872, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -4764,8 +4764,8 @@ __DEFINE__(1679274193862, function(require, module, exports) {
return CryptoJS.mode.CFB;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193863, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486873, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -4824,8 +4824,8 @@ __DEFINE__(1679274193863, function(require, module, exports) {
return CryptoJS.mode.CTR;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193864, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486874, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -4942,8 +4942,8 @@ __DEFINE__(1679274193864, function(require, module, exports) {
return CryptoJS.mode.CTRGladman;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193865, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486875, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -4998,8 +4998,8 @@ __DEFINE__(1679274193865, function(require, module, exports) {
return CryptoJS.mode.OFB;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193866, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486876, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5040,8 +5040,8 @@ __DEFINE__(1679274193866, function(require, module, exports) {
return CryptoJS.mode.ECB;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193867, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486877, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5091,8 +5091,8 @@ __DEFINE__(1679274193867, function(require, module, exports) {
return CryptoJS.pad.Ansix923;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193868, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486878, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5137,8 +5137,8 @@ __DEFINE__(1679274193868, function(require, module, exports) {
return CryptoJS.pad.Iso10126;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193869, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486879, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5179,8 +5179,8 @@ __DEFINE__(1679274193869, function(require, module, exports) {
return CryptoJS.pad.Iso97971;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193870, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486880, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5228,8 +5228,8 @@ __DEFINE__(1679274193870, function(require, module, exports) {
return CryptoJS.pad.ZeroPadding;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193871, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486881, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5260,8 +5260,8 @@ __DEFINE__(1679274193871, function(require, module, exports) {
return CryptoJS.pad.NoPadding;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193872, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486882, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5328,8 +5328,8 @@ __DEFINE__(1679274193872, function(require, module, exports) {
return CryptoJS.format.Hex;

}));
}, function(modId) { var map = {"./core":1679274193844,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1679274193873, function(require, module, exports) {
}, function(modId) { var map = {"./core":1688975486854,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486883, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -5564,8 +5564,8 @@ __DEFINE__(1679274193873, function(require, module, exports) {
return CryptoJS.AES;

}));
}, 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(modId) { var map = {"./core":1688975486854,"./enc-base64":1688975486858,"./md5":1688975486860,"./evpkdf":1688975486870,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486884, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -6345,8 +6345,8 @@ __DEFINE__(1679274193874, function(require, module, exports) {
return CryptoJS.TripleDES;

}));
}, 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(modId) { var map = {"./core":1688975486854,"./enc-base64":1688975486858,"./md5":1688975486860,"./evpkdf":1688975486870,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486885, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -6486,8 +6486,8 @@ __DEFINE__(1679274193875, function(require, module, exports) {
return CryptoJS.RC4;

}));
}, 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(modId) { var map = {"./core":1688975486854,"./enc-base64":1688975486858,"./md5":1688975486860,"./evpkdf":1688975486870,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486886, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -6680,8 +6680,8 @@ __DEFINE__(1679274193876, function(require, module, exports) {
return CryptoJS.Rabbit;

}));
}, 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(modId) { var map = {"./core":1688975486854,"./enc-base64":1688975486858,"./md5":1688975486860,"./evpkdf":1688975486870,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1688975486887, function(require, module, exports) {
;(function (root, factory, undef) {
if (typeof exports === "object") {
// CommonJS
@@ -6872,8 +6872,8 @@ __DEFINE__(1679274193877, function(require, module, exports) {
return CryptoJS.RabbitLegacy;

}));
}, function(modId) { var map = {"./core":1679274193844,"./enc-base64":1679274193848,"./md5":1679274193850,"./evpkdf":1679274193860,"./cipher-core":1679274193861}; return __REQUIRE__(map[modId], modId); })
return __REQUIRE__(1679274193843);
}, function(modId) { var map = {"./core":1688975486854,"./enc-base64":1688975486858,"./md5":1688975486860,"./evpkdf":1688975486870,"./cipher-core":1688975486871}; return __REQUIRE__(map[modId], modId); })
return __REQUIRE__(1688975486853);
})()
//miniprogram-npm-outsideDeps=["crypto"]
//# sourceMappingURL=index.js.map

+ 2
- 2
miniprogram_npm/js-base64/index.js Ver arquivo

@@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
__DEFINE__(1679274193878, function(require, module, exports) {
__DEFINE__(1688975486888, function(require, module, exports) {
//
// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!
//
@@ -326,7 +326,7 @@ __DEFINE__(1679274193878, function(require, module, exports) {
}));

}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
return __REQUIRE__(1679274193878);
return __REQUIRE__(1688975486888);
})()
//miniprogram-npm-outsideDeps=[]
//# sourceMappingURL=index.js.map

+ 1
- 0
node_modules/.package_versions.json Ver arquivo

@@ -0,0 +1 @@
{}

BIN
package_A/img/date.png Ver arquivo

Antes Depois
Largura: 66  |  Altura: 74  |  Tamanho: 1.3KB

BIN
package_A/img/location.png Ver arquivo

Antes Depois
Largura: 51  |  Altura: 52  |  Tamanho: 3.7KB

BIN
package_A/img/report_bg.png Ver arquivo

Antes Depois
Largura: 750  |  Altura: 552  |  Tamanho: 162KB

BIN
package_A/img/river_bg.png Ver arquivo

Antes Depois
Largura: 751  |  Altura: 392  |  Tamanho: 76KB

BIN
package_A/img/search.png Ver arquivo

Antes Depois
Largura: 35  |  Altura: 35  |  Tamanho: 1.4KB

BIN
package_A/img/store_bg.png Ver arquivo

Antes Depois
Largura: 326  |  Altura: 259  |  Tamanho: 49KB

BIN
package_A/img/success.png Ver arquivo

Antes Depois
Largura: 289  |  Altura: 226  |  Tamanho: 34KB

BIN
package_A/img/volunteer_head.png Ver arquivo

Antes Depois
Largura: 1500  |  Altura: 638  |  Tamanho: 740KB

BIN
package_A/img/want_report.png Ver arquivo

Antes Depois
Largura: 750  |  Altura: 539  |  Tamanho: 211KB

+ 66
- 0
package_A/pages/agree/index.js Ver arquivo

@@ -0,0 +1,66 @@
// package_A/pages/agree/index.js
Page({

/**
* 页面的初始数据
*/
data: {

},

/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {

},

/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {

},

/**
* 生命周期函数--监听页面显示
*/
onShow() {

},

/**
* 生命周期函数--监听页面隐藏
*/
onHide() {

},

/**
* 生命周期函数--监听页面卸载
*/
onUnload() {

},

/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {

},

/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {

},

/**
* 用户点击右上角分享
*/
onShareAppMessage() {

}
})

+ 4
- 0
package_A/pages/agree/index.json Ver arquivo

@@ -0,0 +1,4 @@
{
"usingComponents": {},
"navigationBarTitleText": "用户服务协议"
}

+ 27
- 0
package_A/pages/agree/index.wxml Ver arquivo

@@ -0,0 +1,27 @@
<!--package_A/pages/agree/index.wxml-->
<view class="text_container">
<view class="title">《用户协议和法律协议》</view>
<view class="content">
本协议为您与本小程序管理者之间所订立的契约,具有合同的法律效力,请您仔细阅读。
一、 本协议内容、生效、变更
本协议内容包括协议正文及所有本小程序已经发布的或将来可能发布的各类规则。所有规则为本协议不可分割的组成部分,与协议正文具有同等法律效力。如您对协议有任何疑问,应向本小程序咨询。
只要您使用本小程序平台服务,则本协议即对您产生约束,届时您不应以未阅读本协议的内容或者未获得本小程序对您问询的解答等理由,主张本协议无效,或要求撤销本协议。您确认:本协议条款是处理双方权利义务的契约,始终有效,法律另有强制性规定或双方另有特别约定的,依其规定。 您承诺接受并遵守本协议的约定。如果您不同意本协议的约定,您应立即停止注册程序或停止使用本小程序平台服务。本小程序有权根据需要不定期地制订、修改本协议及/或各类规则,并在本小程序平台公示,不再另行单独通知用户。变更后的协议和规则一经在网站公布,立即生效。如您不同意相关变更,应当立即停止使用本小程序平台服务。您继续使用本小程序平台服务的,即表明您接受修订后的协议和规则。
二、 注册
注册资格用户须具有法定的相应权利能力和行为能力的自然人、法人或其他组织,能够独立承担法律责任。您完成注册程序或其他本小程序平台同意的方式实际使用本平台服务时,即视为您确认自己具备主体资格,能够独立承担法律责任。若因您不具备主体资格,而导致的一切后果,由您及您的监护人自行承担。
注册资料
2.1用户应自行诚信向本站提供注册资料,用户同意其提供的注册资料真实、准确、完整、合法有效,用户注册资料如有变动的,应及时更新其注册资料。如果用户提供的注册资料不合法、不真实、不准确、不详尽的,用户需承担因此引起的相应责任及后果,并且本小程序保留终止用户使用本平台各项服务的权利。
2.2用户在本站进行浏览等活动时,涉及用户真实姓名/名称、通信地址、联系电话、电子邮箱等隐私信息的,本站将予以严格保密,除非得到用户的授权或法律另有规定,本站不会向外界披露用户隐私信息。
账户
3.1您注册成功后,即成为本小程序平台的会员,将持有本小程序平台唯一编号的账户信息,您可以根据本站规定改变您的密码。
3.2您填写的姓名为真实姓名,不得侵犯或涉嫌侵犯他人合法权益。否则,本小程序有权终止向您提供服务,注销您的账户。
3.3您应谨慎合理的保存、使用您的会员名和密码,应对通过您的会员名和密码实施的行为负责。除非有法律规定或司法裁定,且征得本小程序的同意,否则,会员名和密码不得以任何方式转让、赠与或继承(与账户相关的财产权益除外)。
3.4用户不得将在本站注册获得的账户借给他人使用,否则用户应承担由此产生的全部责任,并与实际使用人承担连带责任。
3.5如果发现任何非法使用等可能危及您的账户安全的情形时,您应当立即以有效方式通知本小程序要求暂停相关服务,并向公安机关报案。您理解本小程序对您的请求采取行动需要合理时间,本小程序对在采取行动前已经产生的后果(包括但不限于您的任何损失)不承担任何责任。
用户信息的合理使用
4.1您同意本小程序平台拥有通过邮件、短信电话等形式,向在本站注册用户发送信息等告知信息的权利。
4.2您了解并同意,本小程序有权应国家司法、行政等主管部门的要求,向其提供您在本小程序平台填写的注册信息和交易记录等必要信息。如您涉嫌侵犯他人知识产权,则本小程序亦有权在初步判断涉嫌侵权行为存在的情况下,向权利人提供您必要的身份信息。
4.3用户同意本小程序有权使用用户的注册信息、用户名、密码等信息,登陆进入用户的注册账户,进行证据保全,包括但不限于公证、见证等。
免责条款
5.1 本平台仅提供信息对接,发生一切纠纷问题皆与本平台无关,请通过仲裁部门维护各自权益。
</view>
</view>

+ 18
- 0
package_A/pages/agree/index.wxss Ver arquivo

@@ -0,0 +1,18 @@
/* package_A/pages/agree/index.wxss */
.text_container {
width: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.title {
font-size: 32rpx;
font-weight: 600;
}
.content {
width: 100%;
padding: 0 20rpx;
word-break: break-all;
white-space: pre-wrap;
}

+ 66
- 0
package_A/pages/conceal/index.js Ver arquivo

@@ -0,0 +1,66 @@
// package_A/pages/conceal/index.js
Page({

/**
* 页面的初始数据
*/
data: {

},

/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {

},

/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {

},

/**
* 生命周期函数--监听页面显示
*/
onShow() {

},

/**
* 生命周期函数--监听页面隐藏
*/
onHide() {

},

/**
* 生命周期函数--监听页面卸载
*/
onUnload() {

},

/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {

},

/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {

},

/**
* 用户点击右上角分享
*/
onShareAppMessage() {

}
})

+ 4
- 0
package_A/pages/conceal/index.json Ver arquivo

@@ -0,0 +1,4 @@
{
"usingComponents": {},
"navigationBarTitleText": "隐私政策"
}

+ 51
- 0
package_A/pages/conceal/index.wxml Ver arquivo

@@ -0,0 +1,51 @@
<!--package_A/pages/conceal/index.wxml-->
<view class="text_container">
<view class="title">《隐私政策》</view>
<view class="content">
概述
本小程序是由拓恒技术有限公司开发运营的一款产品(以下简称我们),帮助用户上报河湖问题并分享美景照片。我们深知个人信息对您而言的重要性,也感谢您对我们的信任。我们将通过本政策向您说明上报问题会如何收集、存储、保护、使用及对外提供您的信息,并说明您享有的权利,其中要点如下:
1. 为了便于您了解您在使用我们的服务时,我们需要收集的信息类型与用途,我们将结合具体服务向您逐一说明。
2. 为了向您提供服务所需,我们会按照合法、正当、必要的原则收集您的信息。
3. 如果为了向您提供服务而需要将您的信息共享至第三方,我们将评估该第三方收集信息的合法性、正当性、必要性。我们将要求第三方对您的信息采取保护措施并且严格遵守相关法律法规与监管要求。另外,我们会按照法律法规及国家标准的要求以确认协议、具体场景下的文案确认、弹窗提示等形式征得您的同意或确认第三方已经征得您的同意。
4. 如果为了向您提供服务而需要从第三方获取您的信息,我们将要求第三方说明信息来源,并要求第三方保障其提供信息的合法性;如果我们开展业务需进行的个人信息处理活动超出您原本向第三方提供个人信息时的授权范围,我们将征得您的明确同意。
5. 您可以通过本政策介绍的方式访问和管理您的信息、设置隐私功能或进行投诉举报。 我们尊重并保护您的隐私。您使用我们的服务时,我们将按照上报问题隐私权政策(以下简称“本政策”)收集、存储、使用及对外提供您的信息。同时,我们会通过本政策向您说明,我们如何为您提供访问、更新、管理和保护您的信息的服务。本政策与您使用我们的服务关系紧密,我们建议您仔细阅读并理解本政策全部内容,做出您认为适当的选择。我们努力用通俗易懂、简明扼要的文字表达,并对本政策中与您的权益存在重大关系的条款和个人敏感信息,采用粗体字进行标注以提示您注意。
为了遵守国家法律法规及监管规定(例如:进行实名制管理、安全管理),也为了向您提供服务及提升服务质量,我们需要收集、存储、使用及对外提供您的信息。您同意我们按照本政策约定处理您的信息,以便您享受优质、便捷,同时更好地保护您的账户安全。
我们如何收集信息
在您使用上报问题业务功能服务(以下简称“服务”)的过程中,我们需要收集您的一些信息,用以向您提供服务、提升我们的服务质量、保障您的账户和资金安全以及符合国家法律法规及监管规定:
1. 依据法律法规及监管规定进行实名制管理在您使用上报问题服务时,您需提供手机号码及姓名用于上报问题。
2. 身份验证
(1)登录验证
为了让您更安全、便捷地登录本小程序,我们提供自动登陆服务;
(2)重要操作行为验证
为了保障您的账户安全,在您进行一些重要的账户操作时(例如:查看、上报、下载应用内资料内容时),我们需要验证您的身份,为此您可能需向第三方安全服务提供商提交身份验证信息;如您不同意提供前述信息,您将无法完成特定操作,但不影响您使用我们提供的其他服务;
3. 基于位置信息的服务推荐
您可以选择开启手机的定位权限,用于提供您的位置信息,以便您基于所在地点位置接受服务推荐;如您不提供前述信息,您将不会收到该等服务推荐,但不影响您使用我们提供的其他服务。
4. 根据相关法律法规及国家标准,在以下情形中,我们可能会依法收集并使用您的个人信息无需征得您的同意:
(1)与国家安全、国防安全直接相关的;
(2)与公共安全、公共卫生、重大公共利益直接相关的;
(3)与犯罪侦查、起诉、审判和判决执行等直接相关的;
(4)出于维护您或他人的生命、财产等重大合法权益但又很难得到您本人同意的;
(5)所收集的个人信息是您自行向社会公众公开的;
(6)从合法公开披露的信息中收集个人信息,例如:合法的新闻报道、政府信息公开等渠道;
(7)根据您的要求签订和履行合同所必需的;
(8)用于维护所提供的服务的安全稳定运行所必需的,例如:发现、处置服务的故障;
(9)法律法规规定的其他情形。
5.获取外部存储权限,获取设备ID,MAC地址
获取外部存储权限用于:记录登录同意的信息,下次登录不用重新选择。 获取设备ID,MAC地址,设备ID用于记录用户的唯一性,MAC地址获取是用于确定用户是属于真实用户。
6. 其他
请您理解,我们向您提供的服务是不断更新和发展的。如您选择使用了前述说明当中尚未涵盖的其他服务,基于该服务我们需要收集您的信息的,我们会通过页面提示、交互流程、协议约定的方式另行向您说明信息收集的范围与目的,并征得您的同意。我们会按照本政策以及相应的用户协议约定使用、存储、对外提供及保护您的信息;如您选择不提供前述信息,您可能无法使用某项或某部分服务,但不影响您使用我们提供的其他服务。
我们如何存储和保护信息
1. 我们在中华人民共和国境内收集和产生的个人信息将存储在中华人民共和国境内。如部分服务涉及跨境业务,我们需要向境外机构传输境内收集的相关个人信息的,我们会按照法律法规和相关监管部门的规定执行,向您说明个人信息出境的目的以及涉及的个人信息类型,征得您的同意,并通过签订协议、现场核查等有效措施,要求境外机构为所获得的您的个人信息保密。我们仅在本政策所述目的所必需期间和法律法规及监管规定的时限内保存您的个人信息。
2. 为了保障您的信息安全,我们在收集您的信息后,将采取各种合理必要的措施保护您的信息。例如,对外提供研究报告时,我们将对报告中所包含的信息进行去标识化处理。我们会将去标识化后的信息与可用于恢复识别个人的信息分开存储,确保在针对去标识化信息的后续处理中不重新识别个人。
3. 我们承诺我们将使信息安全保护达到业界领先的安全水平。为保障您的信息安全,我们致力于使用各种安全技术及配套的管理体系来尽量降低您的信息被泄露、毁损、误用、非授权访问、非授权披露和更改的风险。
4. 请您务必妥善保管好您的小程序用户名及其他身份要素。您在使用上传问题服务时,我们会通过您的用户名及其他身份要素来识别您的身份。一旦您泄漏了前述信息,您可能会蒙受损失,并可能对您产生不利。如您发现小程序用户名及/或其他身份要素可能或已经泄露时,请您立即和我们取得联系,以便我们及时采取相应措施以避免或降低相关损失。
5. 在您终止使用上报问题服务后,我们会停止对您的信息的收集和使用,法律法规或监管部门另有规定的除外。如我们停止运营,我们将及时停止收集您个人信息的活动,将停止运营的通知以逐一送达或公告的形式通知您,并对所持有的您的个人信息进行删除或匿名化处理。
我们如何使用信息
1. 为了遵守国家法律法规及监管要求,以及向您提供服务及提升服务质量,或保障您的账户和资金安全,我们会在以下情形中使用您的信息:
(1)实现本政策中“我们如何收集信息”所述目的;
(2)为了保障服务的稳定性与安全性,我们会将您的信息用于身份验证、安全防范、诈骗监测、预防或禁止非法活动、降低风险、存档和备份用途;
(3)根据法律法规或监管要求向相关部门进行报告;
2. 当我们要将信息用于本政策未载明的其他用途时,会按照法律法规及国家标准的要求以确认协议、具体场景下的文案确认动作等形式再次征得您的同意。
</view>

</view>

+ 18
- 0
package_A/pages/conceal/index.wxss Ver arquivo

@@ -0,0 +1,18 @@
/* package_A/pages/conceal/index.wxss */
.text_container {
width: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.title {
font-size: 32rpx;
font-weight: 600;
}
.content {
width: 100%;
padding: 0 20rpx;
word-break: break-all;
white-space: pre-wrap;
}

+ 32
- 0
package_A/pages/exchange-success/index.js Ver arquivo

@@ -0,0 +1,32 @@
// package_A/pages/exchange-success/index.js
import {wgs84togcj02} from '../../../utils/util.js'
Page({

/**
* 页面的初始数据
*/
data: {
storeDetail: {}
},

/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if(options.data) {
let storeDetail = this.data.storeDetail
storeDetail = JSON.parse(decodeURIComponent(options.data))
this.setData({storeDetail})
}
},

navigateTo(){
const {longitude,latitude} = this.data.storeDetail
let coordinate=wgs84togcj02([longitude,latitude])
wx.openLocation({
latitude: parseFloat(coordinate[1]), // 纬度,范围为-90~90,负数表示南纬
longitude: parseFloat(coordinate[0]), // 经度,范围为-180~180,负数表示西经
scale: 17, // 缩放比例
})
}
})

+ 4
- 0
package_A/pages/exchange-success/index.json Ver arquivo

@@ -0,0 +1,4 @@
{
"usingComponents": {},
"navigationBarTitleText": "兑换成功"
}

+ 18
- 0
package_A/pages/exchange-success/index.wxml Ver arquivo

@@ -0,0 +1,18 @@
<!--package_A/pages/exchange-success/index.wxml-->
<view class="success_container">
<view class="success_head">
<image style="width: 290rpx;height: 226rpx;" src="../../img/success.png"></image>
<text style="font-size: 36rpx;margin: 30rpx 0;">恭喜您,兑换成功</text>
<text style="font-size: 26rpx;color: #8e8e8e;">兑换成功!请到商家店铺进行兑换</text>
</view>
<view class="segmentation"></view>
<!-- 地址导航 -->
<view class="store_info">
<view class="info_head">
<image style="width: 52rpx;height: 52rpx;margin-right: 30rpx;" src="../../img/location.png"></image>
<text>自提地址</text>
</view>
<view class="store_address">{{storeDetail.shopsAddress}}</view>
<view class="nav_btn" bindtap="navigateTo">导航</view>
</view>
</view>

+ 49
- 0
package_A/pages/exchange-success/index.wxss Ver arquivo

@@ -0,0 +1,49 @@
/* package_A/pages/exchange-success/index.wxss */
.success_container {
width: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.success_head {
width: 100%;
height: 540rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.segmentation {
width: 100%;
height: 20rpx;
background-color: #F1F5F8;
}
.store_info {
width: 100%;
padding: 40rpx 30rpx 0 30rpx;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
font-size: 28rpx;
}
.info_head {
display: flex;
justify-content: flex-start;
align-items: center;
}
.store_address {
margin-top: 40rpx;
}
.nav_btn {
width: 100%;
height: 90rpx;
margin-top: 90rpx;
line-height: 90rpx;
text-align: center;
background: #416CE2;
border-radius: 40px;
font-size: 32rpx;
color: #ffffff;
}

+ 108
- 0
package_A/pages/goods-detail/index.js Ver arquivo

@@ -0,0 +1,108 @@
// package_A/pages/goods-detail/index.js
import {storeInfo, exchange} from '../../../api/goods.js'
Page({

/**
* 页面的初始数据
*/
data: {
// 商品详情信息
detail: {},
// 轮播图列表
coverList: [],
// 详情图片列表
detailImages: [],
// 商铺信息
storeDetail: {},
// 商品数量
numbers: 1
},

/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if(options.data) {
let detail = this.data.detail
let coverList = []
let detailImages = []
detail = JSON.parse(decodeURIComponent(options.data))
this.getStoreInfo({merchantId: detail.merchantId})
if(detail.goodsImage) {
coverList = detail.goodsImage.split(',')
}
if(detail.goodsDetailImage) {
detailImages = detail.goodsDetailImage.split(',')
}
this.setData({detail, coverList, detailImages})
}
},

// 获取商铺信息
async getStoreInfo(params) {
const res = await storeInfo(params)
if(res.code === 0) {
let storeDetail = this.data.storeDetail
storeDetail = res.data
this.setData({
storeDetail
})
}
},

/**
* 生命周期函数--监听页面显示
*/
onShow() {

},
// 加数量
addNum() {
let numbers = this.data.numbers
this.setData({
numbers: numbers + 1
})
},
// 减数量
reduceNum() {
let numbers = this.data.numbers
if(numbers !== 1) {
this.setData({
numbers: numbers - 1
})
} else {
wx.showToast({
icon: "none",
title: '请至少选择一件商品!',
})
}
},
// 兑换
exchangeGoods() {
let params = {}
params.goodsId = this.data.detail.id
params.goodsCount = this.data.numbers
params.openid = wx.getStorageSync('openid')
exchange(params).then(res=> {
if(res.code === 0) {
// 成功跳转页面
wx.navigateTo({
url: '/package_A/pages/exchange-success/index?data=' + encodeURIComponent(JSON.stringify(this.data.storeDetail))
})
} else {
wx.showToast({
icon: 'error',
title: res.msg,
duration: 2000
})
}
}).catch((e)=> {
wx.showToast({
icon: 'error',
title: e.msg,
duration: 2000
})
})
}

})

+ 0
- 0
package_A/pages/goods-detail/index.json Ver arquivo


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff

Carregando…
Cancelar
Salvar