initial commit

This commit is contained in:
Ling53666 2025-04-28 15:59:21 +08:00
commit 36cc2fe7ba
55 changed files with 2627 additions and 0 deletions

19
app.js Normal file
View File

@ -0,0 +1,19 @@
// app.js
App({
onLaunch() {
// 展示本地存储能力
const logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
}
})
},
globalData: {
userInfo: null
}
})

55
app.json Normal file
View File

@ -0,0 +1,55 @@
{
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/jiedan/jiedan",
"pages/mypage/mypage",
"pages/shop/shop",
"pages/find/find",
"pages/logain/logain",
"pages/zucepage/zucepage",
"pages/wangjimima/wangjimima"
],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "Weixin",
"navigationBarBackgroundColor": "#ffffff"
},
"style": "v2",
"componentFramework": "glass-easel",
"sitemapLocation": "sitemap.json",
"lazyCodeLoading": "requiredComponents",
"tabBar": {
"custom": false,
"color": "#000000",
"selectedColor": "#FC7E09",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/jiedan/jiedan",
"text": "接单",
"iconPath": "/image/renwu.png",
"selectedIconPath": "/image/jiedanhou.png"
},
{
"pagePath": "pages/shop/shop",
"text": "商城",
"iconPath": "/image/renwu.png",
"selectedIconPath": "/image/jiedanhou.png"
},
{
"pagePath": "pages/find/find",
"text": "招聘",
"iconPath": "/image/renwu.png",
"selectedIconPath": "/image/jiedanhou.png"
},
{
"pagePath": "pages/mypage/mypage",
"text": "我的",
"iconPath": "/image/wodeq.png",
"selectedIconPath": "/image/wodeh.png"
}
]
},
"usingComponents": {}
}

525
app.wxss Normal file
View File

@ -0,0 +1,525 @@
/**app.wxss**/
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
}
page {
width: 100vw;
height: 100vh;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
'Droid Sans', 'Helvetica Neue', 'Microsoft Yahei', sans-serif;
}
view,
image,
text {
box-sizing: border-box;
flex-shrink: 0;
}
.flex-row {
display: flex;
flex-direction: row;
}
.flex-col {
display: flex;
flex-direction: column;
}
.justify-start {
justify-content: flex-start;
}
.justify-end {
justify-content: flex-end;
}
.justify-center {
justify-content: center;
}
.justify-between {
justify-content: space-between;
}
.justify-around {
justify-content: space-around;
}
.justify-evenly {
justify-content: space-evenly;
}
.items-start {
align-items: flex-start;
}
.items-end {
align-items: flex-end;
}
.items-center {
align-items: center;
}
.items-baseline {
align-items: baseline;
}
.items-stretch {
align-items: stretch;
}
.self-start {
align-self: flex-start;
}
.self-end {
align-self: flex-end;
}
.self-center {
align-self: center;
}
.self-baseline {
align-self: baseline;
}
.self-stretch {
align-self: stretch;
}
.flex-1 {
flex: 1 1 0%;
}
.flex-auto {
flex: 1 1 auto;
}
.grow {
flex-grow: 1;
}
.grow-0 {
flex-grow: 0;
}
.shrink {
flex-shrink: 1;
}
.shrink-0 {
flex-shrink: 0;
}
.relative {
position: relative;
}
.ml-2 {
margin-left: 3.85rpx;
}
.mt-2 {
margin-top: 3.85rpx;
}
.ml-4 {
margin-left: 7.69rpx;
}
.mt-4 {
margin-top: 7.69rpx;
}
.ml-6 {
margin-left: 11.54rpx;
}
.mt-6 {
margin-top: 11.54rpx;
}
.ml-8 {
margin-left: 15.38rpx;
}
.mt-8 {
margin-top: 15.38rpx;
}
.ml-10 {
margin-left: 19.23rpx;
}
.mt-10 {
margin-top: 19.23rpx;
}
.ml-12 {
margin-left: 23.08rpx;
}
.mt-12 {
margin-top: 23.08rpx;
}
.ml-14 {
margin-left: 26.92rpx;
}
.mt-14 {
margin-top: 26.92rpx;
}
.ml-16 {
margin-left: 30.77rpx;
}
.mt-16 {
margin-top: 30.77rpx;
}
.ml-18 {
margin-left: 34.62rpx;
}
.mt-18 {
margin-top: 34.62rpx;
}
.ml-20 {
margin-left: 38.46rpx;
}
.mt-20 {
margin-top: 38.46rpx;
}
.ml-22 {
margin-left: 42.31rpx;
}
.mt-22 {
margin-top: 42.31rpx;
}
.ml-24 {
margin-left: 46.15rpx;
}
.mt-24 {
margin-top: 46.15rpx;
}
.ml-26 {
margin-left: 50rpx;
}
.mt-26 {
margin-top: 50rpx;
}
.ml-28 {
margin-left: 53.85rpx;
}
.mt-28 {
margin-top: 53.85rpx;
}
.ml-30 {
margin-left: 57.69rpx;
}
.mt-30 {
margin-top: 57.69rpx;
}
.ml-32 {
margin-left: 61.54rpx;
}
.mt-32 {
margin-top: 61.54rpx;
}
.ml-34 {
margin-left: 65.38rpx;
}
.mt-34 {
margin-top: 65.38rpx;
}
.ml-36 {
margin-left: 69.23rpx;
}
.mt-36 {
margin-top: 69.23rpx;
}
.ml-38 {
margin-left: 73.08rpx;
}
.mt-38 {
margin-top: 73.08rpx;
}
.ml-40 {
margin-left: 76.92rpx;
}
.mt-40 {
margin-top: 76.92rpx;
}
.ml-42 {
margin-left: 80.77rpx;
}
.mt-42 {
margin-top: 80.77rpx;
}
.ml-44 {
margin-left: 84.62rpx;
}
.mt-44 {
margin-top: 84.62rpx;
}
.ml-46 {
margin-left: 88.46rpx;
}
.mt-46 {
margin-top: 88.46rpx;
}
.ml-48 {
margin-left: 92.31rpx;
}
.mt-48 {
margin-top: 92.31rpx;
}
.ml-50 {
margin-left: 96.15rpx;
}
.mt-50 {
margin-top: 96.15rpx;
}
.ml-52 {
margin-left: 100rpx;
}
.mt-52 {
margin-top: 100rpx;
}
.ml-54 {
margin-left: 103.85rpx;
}
.mt-54 {
margin-top: 103.85rpx;
}
.ml-56 {
margin-left: 107.69rpx;
}
.mt-56 {
margin-top: 107.69rpx;
}
.ml-58 {
margin-left: 111.54rpx;
}
.mt-58 {
margin-top: 111.54rpx;
}
.ml-60 {
margin-left: 115.38rpx;
}
.mt-60 {
margin-top: 115.38rpx;
}
.ml-62 {
margin-left: 119.23rpx;
}
.mt-62 {
margin-top: 119.23rpx;
}
.ml-64 {
margin-left: 123.08rpx;
}
.mt-64 {
margin-top: 123.08rpx;
}
.ml-66 {
margin-left: 126.92rpx;
}
.mt-66 {
margin-top: 126.92rpx;
}
.ml-68 {
margin-left: 130.77rpx;
}
.mt-68 {
margin-top: 130.77rpx;
}
.ml-70 {
margin-left: 134.62rpx;
}
.mt-70 {
margin-top: 134.62rpx;
}
.ml-72 {
margin-left: 138.46rpx;
}
.mt-72 {
margin-top: 138.46rpx;
}
.ml-74 {
margin-left: 142.31rpx;
}
.mt-74 {
margin-top: 142.31rpx;
}
.ml-76 {
margin-left: 146.15rpx;
}
.mt-76 {
margin-top: 146.15rpx;
}
.ml-78 {
margin-left: 150rpx;
}
.mt-78 {
margin-top: 150rpx;
}
.ml-80 {
margin-left: 153.85rpx;
}
.mt-80 {
margin-top: 153.85rpx;
}
.ml-82 {
margin-left: 157.69rpx;
}
.mt-82 {
margin-top: 157.69rpx;
}
.ml-84 {
margin-left: 161.54rpx;
}
.mt-84 {
margin-top: 161.54rpx;
}
.ml-86 {
margin-left: 165.38rpx;
}
.mt-86 {
margin-top: 165.38rpx;
}
.ml-88 {
margin-left: 169.23rpx;
}
.mt-88 {
margin-top: 169.23rpx;
}
.ml-90 {
margin-left: 173.08rpx;
}
.mt-90 {
margin-top: 173.08rpx;
}
.ml-92 {
margin-left: 176.92rpx;
}
.mt-92 {
margin-top: 176.92rpx;
}
.ml-94 {
margin-left: 180.77rpx;
}
.mt-94 {
margin-top: 180.77rpx;
}
.ml-96 {
margin-left: 184.62rpx;
}
.mt-96 {
margin-top: 184.62rpx;
}
.ml-98 {
margin-left: 188.46rpx;
}
.mt-98 {
margin-top: 188.46rpx;
}
.ml-100 {
margin-left: 192.31rpx;
}
.mt-100 {
margin-top: 192.31rpx;
}

BIN
image/20250407154233.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

BIN
image/20250407154300.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

BIN
image/20250407154310.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
image/jiatou.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
image/jiedanhou.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
image/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
image/renwu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
image/shaiixuan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
image/sousuo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
image/wenhao.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
image/wodeh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
image/wodeq.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

72
pages/find/find.js Normal file
View File

@ -0,0 +1,72 @@
// pages/find/find.js
Page({
/**
* 页面的初始数据
*/
data: {
messageshop: [
{ name: '红枣夹核桃 500g 坚果大礼包', image: '/image/logo.png', price: 65, oldPrice: 99 },
{ name: '新疆大枣 1000g 优选原产地', image: '/image/logo.png', price: 48, oldPrice: 78 },
{ name: '每日坚果混合果仁干果套餐', image: '/image/logo.png', price: 88, oldPrice: 129 },
{ name: '每日坚果混合果仁干果套餐', image: '/image/logo.png', price: 88, oldPrice: 129 },
// 继续添加...
]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

3
pages/find/find.json Normal file
View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

0
pages/find/find.wxml Normal file
View File

74
pages/find/find.wxss Normal file
View File

@ -0,0 +1,74 @@
/* pages/find/find.wxss */.show {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 20rpx;
box-sizing: border-box;
}
.shopping {
width: 45%;
margin: 10rpx;
background-color: #ffffff;
border-radius: 20rpx;
box-shadow: 0 6rpx 20rpx rgba(0, 0, 0, 0.08);
overflow: hidden;
display: flex;
flex-direction: column;
transition: transform 0.2s ease;
}
.shopping:active {
transform: scale(0.97);
}
.imagebox {
width: 100%;
aspect-ratio: 1;
background-color: #f6f6f6;
overflow: hidden;
}
.imagesize {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.tetxt {
padding: 16rpx;
display: flex;
flex-direction: column;
gap: 10rpx;
}
.wraptext {
font-size: 26rpx;
color: #333;
line-height: 1.4;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2; /* 最多显示2行 */
-webkit-box-orient: vertical;
text-overflow: ellipsis;
}
.price-row {
display: flex;
justify-content: space-between;
align-items: center;
}
.price-now {
color: #fc7e09;
font-size: 28rpx;
font-weight: bold;
}
.price-old {
color: #aaa;
font-size: 24rpx;
text-decoration: line-through;
}

18
pages/index/index.js Normal file
View File

@ -0,0 +1,18 @@
// index.js
Page({
data: {
},
tiaozhuan(){
console.log('chenggongle ');
wx.switchTab({
url: '/pages/jiedan/jiedan',
})
},
tiaozhuanzhuanqian(){
console.log('chenggongle ');
wx.navigateTo({
url: '/pages/logain/logain',
})
}
})

5
pages/index/index.json Normal file
View File

@ -0,0 +1,5 @@
{
"navigationBarTitleText": "青橙",
"usingComponents": {
}
}

33
pages/index/index.wxml Normal file
View File

@ -0,0 +1,33 @@
<!--index.wxml-->
<view class="box">
<!-- 按钮图片盒 -->
<view class="sidebox">
<!-- 图片框 -->
<view class="imagebox">
<image class="iamgelogo" src="/image/logo.png" mode=""/>
</view>
<!-- 按钮框 -->
<view class="buttombox">
<view class="wenzibox shuiping">
<view class="buttom tongyong" bind:tap="tiaozhuan">
<text class="text">我要试用</text>
</view>
<view class="liaojie">
<text class="liaojietext">了解详情</text>
<image class="wenhaoimage" src="/image/wenhao.png" mode=""/>
</view>
</view>
<view class="wenzibox shuiping">
<view class="buttom tongyong" bind:tap="tiaozhuanzhuanqian">
<text class="text">我要赚钱</text>
</view>
<view class="liaojie">
<text class="liaojietext">了解详情</text>
<image class="wenhaoimage" src="/image/wenhao.png" mode=""/>
</view>
</view>
</view>
</view>
</view>

71
pages/index/index.wxss Normal file
View File

@ -0,0 +1,71 @@
/**index.wxss**/
.box{
width: 100%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.sidebox{
width: 100%;
height: 90%;
}
.imagebox{
width: 100%;
height: 60%;
display: flex;
justify-content: center;
align-items: center;
}
.iamgelogo{
width: 100%;
height: 100%;
}
.buttombox{
width: 100%;
height: 40%;
display: flex;
flex-direction: column;
align-items: center;
}
.wenzibox{
width: 100%;
height: 30%;
margin-bottom: 40rpx;
}
.buttom{
width: 80%;
height: 80%;
background-color: #FC7E09;
border-radius: 20px;
}
.liaojie{
width: 80%;
height: 20%;
display: flex;
justify-content: flex-end;
align-items: center;
}
.wenhaoimage{
width: 15px;
height: 15px;
margin-left: 8rpx;
}
.tongyong{
display: flex;
justify-content: center;
align-items: center;
}
.shuiping{
display: flex;
align-items: center;
flex-direction: column;
}
.text{
font-size: 20px;
color: #ffffff;
}
.liaojietext{
font-size: 12px;
color: #888685;
}

160
pages/jiedan/jiedan.js Normal file
View File

@ -0,0 +1,160 @@
// pages/jiedan/jiedan.js
Page({
data: {
show:false,
picture:[{
image:'/image/20250407154233.jpg'
},
{
image:'/image/20250407154300.png'
},
{
image:'/image/20250407154310.png'
}
],
message:[
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
{
person:'1000人正在进行',
level:'简单',
title:'推广豆包',
money:'40'
},
],
lie:[
{
name:'全部分类'
},
{
name:'派发'
},
{
name:'推广'
},
{
name:'注册'
},
],
selectedIndex: 0,
},
change(){
this.setData({
show:!this.data.show
})
},
bindKeyInput: function (e) {
this.setData({
inputValue: e.detail.value
})
console.log(this.data.inputValue);
},
onSelect(e) {
console.log('jashdjkasdjahs');
const index = e.currentTarget.dataset.index;
console.log(index);
const name = this.data.lie[index].name;
this.setData({
selectedIndex: index,
show:!this.data.show
});
console.log('你点击了:', name);
// 你也可以触发其他逻辑,比如发送请求等
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

4
pages/jiedan/jiedan.json Normal file
View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "接单界面",
"usingComponents": {}
}

86
pages/jiedan/jiedan.wxml Normal file
View File

@ -0,0 +1,86 @@
<!--pages/jiedan/jiedan.wxml-->
<view class="box">
<!-- 轮播图 -->
<view class="swiper">
<swiper autoplay="true">
<swiper-item wx:for="{{picture}}" wx:key="image">
<image class="imagesize" src="{{item.image}}" mode="aspectFill"/>
</swiper-item>
</swiper>
<view class="text-overlay">
<text>校园接单 实现财富自由</text>
</view>
</view>
<!-- 下半部分 -->
<view class="xiabox">
<!-- 搜索框部分 -->
<view class="sousuo tongyong">
<view class="hhhh">
<view class="inputkuang tongyong">
<view class="souimage tongyong">
<image class="sousuosize" src="/image/sousuo.png" mode="aspectFill"/>
</view>
<view class="inputk tongyong" >
<input bindinput="bindKeyInput" placeholder="请输入内容"/>
</view>
</view>
</view>
<!-- 筛选 -->
<view class="sidebox tongyong" bind:tap="change">
<view class="saixuan tongyong">
<image class="imageshai" src="/image/shaiixuan.png" mode="aspectFill"/>
<text>筛选</text>
</view>
</view>
</view>
<!-- 推广部分 -->
<view class="messagebox">
<view class="kuang" wx:for="{{message}}">
<view class="touxianmg tongyong">
<image class="touxiangimage" src="https://pic4.zhimg.com/v2-f10ac7fc477596faf538ca274852c68f_b.jpg" mode="aspectFill"/>
</view>
<view class="messagesize">
<text class="text" style="font-size: 15px;color: #FC7E09;">{{item.title}}</text>
<text class="text" style="font-size: 12px;color: rgb(161, 154, 154);">容易度:{{item.level}}</text>
<text class="text" style="font-size: 12px;color: rgb(161, 154, 154);" >{{item.person}}</text>
</view>
<view class="moneybox">
<view style="width: 100%;height: 50%;" class="tongyong">
<text style="color: #FC7E09;font-size: 14px;">佣金:{{item.money}}积分</text>
</view>
<view style="width: 100%;height: 50%;" class="weizhi">
<view class="jiedan tongyong">
<text>接单</text>
</view>
</view>
</view>
<view>
</view>
</view>
</view>
</view>
</view>
<!-- 侧边栏 -->
<view class="cebianlan" wx:if="{{show}}">
<view class="zuo" bind:tap="change">
</view>
<view class="you">
<view class="wenzi">
<view class="chengsehezi">
<view class="chengse">
</view>
<view class="wenzicheng">
<text style="margin-left: 20rpx;font-size: 18px;font-weight: bolder;">任务分类</text>
</view>
</view>
<view class="xuazhongbox">
<view class="he {{index === selectedIndex ? 'active' : ''}}" wx:for="{{lie}}" wx:key="index" data-index="{{index}}" bind:tap="onSelect" >
<text style="font-size: 13px;">{{item.name}}</text>
</view>
</view>
</view>
</view>
</view>

197
pages/jiedan/jiedan.wxss Normal file
View File

@ -0,0 +1,197 @@
/* pages/jiedan/jiedan.wxss */
.box{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.text-overlay {
width: 100%;
position: absolute;
top: 80%;
left: 70%;
transform: translate(-50%, -50%);
color: white;
font-size: 25px;
font-weight: bold;
text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.6);
z-index: 10;
font-style: italic;
}
.sousuo{
width: 100%;
height: 7vh;
}
.zuo{
width: 40%;
height: 100%;
background-color: rgba(36, 34, 34, 0.2);
}
.wenzi{
width: 100%;
height: 40%;
}
.you{
width: 60%;
height: 100%;
background-color: #ffffff;
}
.chengsehezi{
width: 100%;
height: 10%;
display: flex;
align-items: center;
}
.chengse{
width: 4%;
height: 80%;
background-color: #FC7E09;
margin-left: 10rpx;
}
.wenzicheng{
width: 96%;
height: 100%;
display: flex;
align-items: center;
}
.xuazhongbox{
width: 100%;
display: flex;
flex: 1;
flex-wrap: wrap;
gap: 20rpx;
}
.he{
display: flex;
justify-content: center;
align-items: center;
padding: 5px;
margin: 20rpx;
}
.he.active {
background-color: #f37b1d; /* 高亮背景色 */
}
.cebianlan{
width: 100%;
height: 100%;
display: flex;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
}
.shuzhi{
display: flex;
align-items: center;
}
.tongyong{
display: flex;
justify-content: center;
align-items: center;
}
.souimage{
width: 20%;
height: 100%;
}
.sousuosize{
width: 20px;
height: 20px;
}
.sidebox{
width: 20%;
height: 100%;
}
.saixuan{
width: 100%;
height: 100%;
}
.hhhh{
width: 80%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.inputk{
width: 80%;
height: 100%;
}
.xiabox{
width: 100%;
background-color: #EFEFEF;
}
.swiper {
width: 100%;
height: 30vh;
position: relative;
overflow: hidden;
}
.inputkuang{
width: 80%;
height: 70%;
border-radius: 50px;
background-color: #ffffff;
}
.imageshai{
width: 30px;
height: 30px;
}
.imagesize{
width: 100%;
height: 100%;
}
swiper,swiper-item {
width: 100%;
height: 100%;
}
.messagebox{
width: 100%;
height: 100%;
display: flex;
align-items: center;
flex-direction: column;
}
.kuang{
width: 90%;
height: 140px;
border-radius: 20px;
margin-top: 20rpx;
background-color: #ffffff;
display: flex;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.touxianmg{
width: 30%;
height: 100%;
}
.touxiangimage{
width: 100px;
height: 100px;
border-radius: 50px;
}
.messagesize{
width: 40%;
height: 100%;
display: flex;
flex-direction: column;
}
.text{
margin-top: 20rpx;
}
.moneybox{
width: 30%;
display: flex;
flex-direction: column;
}
.jiedan{
width: 50px;
height: 30px;
background-color: #EFEFEF;
margin-right: 20rpx;
}
.weizhi{
display: flex;
justify-content: flex-end;
}

40
pages/logain/logain.js Normal file
View File

@ -0,0 +1,40 @@
Page({
data: {
show: true,
morenshow: false,
currentTab: 'code',
},
onShow(){
this.setData({
show: false,
morenshow: true,
currentTab: 'password'
})
},
showchange() {
this.setData({
show: true,
morenshow: false,
currentTab: 'code'
})
},
gozucepage(){
wx.navigateTo({
url: '/pages/zucepage/zucepage',
})
},
showchangeback() {
this.setData({
show: false,
morenshow: true,
currentTab: 'password'
})
},
wangji() {
wx.navigateTo({
url: '/pages/wangjimima/wangjimima',
})
}
})

4
pages/logain/logain.json Normal file
View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "登录界面",
"usingComponents": {}
}

46
pages/logain/logain.wxml Normal file
View File

@ -0,0 +1,46 @@
<view class="flex-col page">
<view class="flex-col justify-start items-center self-center text-wrapper">
<text class="font text">欢迎登陆—青橙校园</text>
</view>
<view class="flex-col self-stretch group">
<view class="flex-row items-baseline group_2">
<text class="font_3 text_3" bind:tap="showchangeback"
style="color: {{currentTab == 'password' ? '#ff8d1a' : '#383838'}}; font-weight: {{currentTab == 'password' ? 'bold' : 'normal'}};">密码登录</text>
<text class="font_2 text_2 ml-7" style="color: {{currentTab == 'code' ? '#ff8d1a' : '#383838'}}; font-weight: {{currentTab == 'code' ? 'bold' : 'normal'}};" bind:tap="showchange">验证码登录</text>
</view>
<view class="flex-col mt-21">
<view wx:if="{{show==true}}" class="flex-col self-stretch">
<view class="flex-col justify-start items-start relative text-wrapper_2">
<input class="text_4 font_4 text_1" placeholder="请输入手机号" />
</view>
<view class="flex-row justify-between section mt-21">
<input class="font_4 text_5" placeholder="请输入验证码" />
<text class="font_2 text_6">获取验证码</text>
</view>
</view>
<view wx:if="{{morenshow==true}}" class="flex-col self-stretch">
<view class="flex-col justify-start items-start relative text-wrapper_2">
<input class="text_4 font_4 text_1" placeholder="请输入账号" />
</view>
<view class="flex-row justify-between section mt-21">
<input class="font_4 text_5" placeholder="请输入密码" />
</view>
</view>
<text class="self-end font_3 text_7" bind:tap="wangji">忘记密码</text>
<view class="flex-col justify-start items-center self-stretch text-wrapper_3">
<text class="font text_8">登录</text>
</view>
</view>
</view>
<view class="flex-col self-stretch group_3">
<view class="flex-row items-center self-start">
<radio class="radio" color="#ff8d1a"></radio>
<text class="shrink-0 font_5 text_9">我已阅读并同意</text>
<text class="font_5 text_10">用户服务协议、隐私政策</text>
</view>
<view class="self-center group_4 mt-16">
<text class="font_3 text_11">没有账号?</text>
<text class="font_3 text_12" bind:tap="gozucepage">去注册→</text>
</view>
</view>
</view>

132
pages/logain/logain.wxss Normal file
View File

@ -0,0 +1,132 @@
.ml-7 {
margin-left: 13.46rpx;
}
.mt-21 {
margin-top: 40.38rpx;
}
.page {
padding: 121.15rpx 42.31rpx 440.48rpx 44.23rpx;
background-color: #ffffff;
width: 100%;
overflow-y: hidden;
overflow-x: hidden;
height: 100%;
}
.text-wrapper {
padding: 336.58rpx 0 19.48rpx;
background-image: url('https://ide.code.fun/api/image?token=680efc2c4ae84d00122e3b6c&name=b75462a220057be84813b1b06d446dac.png');
background-size: 100% 100%;
background-repeat: no-repeat;
width: 384.62rpx;
}
.font {
font-size: 30.77rpx;
font-family: SourceHanSansCN;
line-height: 26.92rpx;
}
.text {
color: #000000;
line-height: 28.56rpx;
}
.group {
margin-top: 43.04rpx;
}
.group_2 {
padding: 0 4.73rpx;
}
.font_3 {
font-size: 23.08rpx;
font-family: SourceHanSansCN;
line-height: 21.46rpx;
color: #383838;
}
.text_3 {
line-height: 21.5rpx;
}
.font_2 {
font-size: 26.92rpx;
font-family: SourceHanSansCN;
line-height: 26.92rpx;
}
.text_2 {
color: #000000;
line-height: 25.02rpx;
}
.text-wrapper_2 {
padding: 35.46rpx 0 37.77rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_4 {
margin-left: 35.75rpx;
}
.font_4 {
font-size: 26.92rpx;
font-family: SourceHanSansCN;
color: #808080;
}
.text_1 {
line-height: 24.85rpx;
width: 590rpx;
}
.section {
padding: 37.27rpx 16.25rpx 35.79rpx 35.75rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_5 {
line-height: 24.92rpx;
width: 590rpx;
}
.text_6 {
color: #d43030;
line-height: 25.02rpx;
}
.text_7 {
margin-right: 4.73rpx;
margin-top: 20.62rpx;
line-height: 21.42rpx;
}
.text-wrapper_3 {
margin: 44.5rpx 17.31rpx 0 15.38rpx;
padding: 38.75rpx 0 32.94rpx;
background-color: #ff8d1a;
border-radius: 28.85rpx;
}
.text_8 {
color: #ffffff;
line-height: 28.31rpx;
}
.group_3 {
margin-top: 55.77rpx;
padding: 0 34.62rpx;
}
.font_5 {
font-size: 23.08rpx;
font-family: SourceHanSansCN;
line-height: 26.92rpx;
}
.text_9 {
margin-left: 50.94rpx;
color: #000000;
}
.text_10 {
color: #d43030;
margin-left: 10rpx;
}
.group_4 {
line-height: 21.46rpx;
}
.text_11 {
line-height: 21.35rpx;
}
.text_12 {
color: #ff5733;
}
.radio {
flex-shrink: 0;
}
.radio .wx-radio-input {
width: 36.54rpx;
height: 36.54rpx;
}

18
pages/logs/logs.js Normal file
View File

@ -0,0 +1,18 @@
// logs.js
const util = require('../../utils/util.js')
Page({
data: {
logs: []
},
onLoad() {
this.setData({
logs: (wx.getStorageSync('logs') || []).map(log => {
return {
date: util.formatTime(new Date(log)),
timeStamp: log
}
})
})
}
})

4
pages/logs/logs.json Normal file
View File

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

6
pages/logs/logs.wxml Normal file
View File

@ -0,0 +1,6 @@
<!--logs.wxml-->
<scroll-view class="scrollarea" scroll-y type="list">
<block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
<view class="log-item">{{index + 1}}. {{log.date}}</view>
</block>
</scroll-view>

16
pages/logs/logs.wxss Normal file
View File

@ -0,0 +1,16 @@
page {
height: 100vh;
display: flex;
flex-direction: column;
}
.scrollarea {
flex: 1;
overflow-y: hidden;
}
.log-item {
margin-top: 20rpx;
text-align: center;
}
.log-item:last-child {
padding-bottom: env(safe-area-inset-bottom);
}

66
pages/mypage/mypage.js Normal file
View File

@ -0,0 +1,66 @@
// pages/mypage/mypage.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

4
pages/mypage/mypage.json Normal file
View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "我的",
"usingComponents": {}
}

122
pages/mypage/mypage.wxml Normal file
View File

@ -0,0 +1,122 @@
<!-- 头像 -->
<view class="touxiangbox">
<view class="imagebox">
<image class="imagesize" src="https://tse2-mm.cn.bing.net/th/id/OIP-C.g5M-iZUiocFCi9YAzojtRAAAAA?rs=1&pid=ImgDetMain" mode="aspectFill"/>
</view>
<view class="wenzibox">
<text>蒙娜丽莎</text>
<text style="font-size: 13px;margin-top: 20rpx;">ID:1829378126738</text>
</view>
</view>
<!-- 积分面板 -->
<view class="jifenbox">
<view class="kuang">
<!-- 标题 -->
<view class="baioti">
<text style="font-weight: bolder;margin-left: 20rpx;">我的积分</text>
</view>
<!-- 积分 -->
<view class="jifenbufen">
<view class="zuo">
<text style="font-size: 23px; color: #BD3124;">500</text>
</view>
<view class="zuo">
<view class="tixian">
<text style="color:#ffffff;">提现</text>
</view>
</view>
</view>
<!-- 统计 -->
<view class="tongjibox">
<view class="jifenxiao">
<text class="number">30积分</text>
<text style="font-size: 12px;">支出</text>
</view>
<view class="jifenxiao">
<text class="number">500</text>
<text style="font-size: 12px;">收入</text>
</view>
<view class="jifenxiao">
<text class="number">5.00</text>
<text style="font-size: 12px;">兑换金额</text>
</view>
</view>
</view>
</view>
<!-- 更多设置 -->
<view class="gengduo">
<view class="shezhitiao">
<text>更多设置</text>
</view>
<view class="shezhitiao">
<view class="neibu">
<image class="imagebiao" src="/image/sousuo.png" mode=""/>
<text style="margin-left: 10rpx;">客服</text>
</view>
<view class="neibu" style="justify-content: flex-end;">
<image class="imagebiao" src="/image/jiatou.png" mode=""/>
</view>
</view>
<view class="shezhitiao">
<view class="neibu">
<image class="imagebiao" src="/image/sousuo.png" mode=""/>
<text style="margin-left: 10rpx;">我的课程</text>
</view>
<view class="neibu" style="justify-content: flex-end;">
<image class="imagebiao" src="/image/jiatou.png" mode=""/>
</view>
</view>
<view class="shezhitiao">
<view class="neibu">
<image class="imagebiao" src="/image/sousuo.png" mode=""/>
<text style="margin-left: 10rpx;">接单记录</text>
</view>
<view class="neibu" style="justify-content: flex-end;">
<image class="imagebiao" src="/image/jiatou.png" mode=""/>
</view>
</view>
<view class="shezhitiao">
<view class="neibu">
<image class="imagebiao" src="/image/sousuo.png" mode=""/>
<text style="margin-left: 10rpx;">勤工俭学</text>
</view>
<view class="neibu" style="justify-content: flex-end;">
<image class="imagebiao" src="/image/jiatou.png" mode=""/>
</view>
</view>
<view class="shezhitiao">
<view class="neibu">
<image class="imagebiao" src="/image/sousuo.png" mode=""/>
<text style="margin-left: 10rpx;">我的推广码</text>
</view>
<view class="neibu" style="justify-content: flex-end;">
<image class="imagebiao" src="/image/jiatou.png" mode=""/>
</view>
</view>
<view class="shezhitiao">
<view class="neibu">
<image class="imagebiao" src="/image/sousuo.png" mode=""/>
<text style="margin-left: 10rpx;">更多设置</text>
</view>
<view class="neibu" style="justify-content: flex-end;">
<image class="imagebiao" src="/image/jiatou.png" mode=""/>
</view>
</view>
<view class="shezhitiao">
<view class="neibu">
<image class="imagebiao" src="/image/sousuo.png" mode=""/>
<text style="margin-left: 10rpx;">审核查询</text>
</view>
<view class="neibu" style="justify-content: flex-end;">
<image class="imagebiao" src="/image/jiatou.png" mode=""/>
</view>
</view>
</view>

111
pages/mypage/mypage.wxss Normal file
View File

@ -0,0 +1,111 @@
/* pages/mypage/mypage.wxss */
.touxiangbox{
width: 100%;
height: 25vh;
display: flex;
flex-direction: column;
}
.imagesize{
width: 100px;
height: 100px;
border-radius: 50px;
}
.imagebox{
width: 100%;
height: 60%;
display: flex;
justify-content: center;
align-items: center;
}
.wenzibox{
width: 100%;
height: 30%;
display: flex;
align-items: center;
flex-direction: column;
}
.jifenbox{
width: 100%;
height: 25vh;
display: flex;
align-items: center;
justify-content: center;
}
.kuang{
width: 90%;
height: 90%;
border-radius: 20px;
background-image:url(https://img.ixintu.com/download/jpg/201912/9ce015df2a7c79ee7498367168b41bfc.jpg!con);
}
.baioti{
width: 100%;
height: 20%;
display: flex;
align-items: center;
}
.jifenbufen{
width: 100%;
height: 50%;
display: flex;
}
.zuo{
width: 50%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.tixian{
width: 50%;
height: 50%;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50px;
border: 1px solid #FC7E09;
background-color: #FC7E09;
margin-left: 60rpx;
}
.tongjibox{
width: 100%;
height: 30%;
display: flex;
}
.jifenxiao{
width: 33%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.number{
color: #BD3124;
}
.gengduo{
width: 100%;
height: 50vh;
display: flex;
align-items: center;
flex-direction: column;
margin-top: 50rpx;
}
.shezhitiao{
width: 90%;
height: 50px;
display: flex;
align-items: center;
border-bottom: 1px solid #b1adaa ;
}
.imagebiao{
width: 30px;
height: 30px;
}
.neibu{
width: 50%;
height: 100%;
display: flex;
align-items: center;
}

73
pages/shop/shop.js Normal file
View File

@ -0,0 +1,73 @@
// pages/shop/shop.js
Page({
/**
* 页面的初始数据
*/
data: {
messageshop: [
{ name: '红枣夹核桃 500g 坚果大礼包', image: '/image/logo.png', price: 65, oldPrice: 99 },
{ name: '新疆大枣 1000g 优选原产地', image: '/image/logo.png', price: 48, oldPrice: 78 },
{ name: '每日坚果混合果仁干果套餐', image: '/image/logo.png', price: 88, oldPrice: 129 },
{ name: '每日坚果混合果仁干果套餐', image: '/image/logo.png', price: 88, oldPrice: 129 },
{ name: '每日坚果混合果仁干果套餐', image: '/image/logo.png', price: 88, oldPrice: 129 },
// 继续添加...
]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

4
pages/shop/shop.json Normal file
View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "商城",
"usingComponents": {}
}

56
pages/shop/shop.wxml Normal file
View File

@ -0,0 +1,56 @@
<!--pages/shop/shop.wxml-->
<!-- 导航栏部分 -->
<view class="shopbox">
<view class="kuai">
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
<view class="xiaohe">
<image class="logosize" src="/image/logo.png" mode="aspectFill"/>
<text>秒杀</text>
</view>
</view>
</view>
<!-- 具体商品界面 -->
<view class="box">
<view class="show">
<view class="shopping" wx:for="{{messageshop}}" wx:key="index">
<view class="imagebox">
<image class="imagesize" src="{{item.image}}" mode="aspectFill" />
</view>
<view class="tetxt">
<text class="wraptext">{{item.name}}</text>
<view class="price-row">
<text class="price-now">¥{{item.price}}</text>
<text class="price-old">¥{{item.oldPrice}}</text>
</view>
</view>
</view>
</view>
</view>

110
pages/shop/shop.wxss Normal file
View File

@ -0,0 +1,110 @@
/* pages/shop/shop.wxss */
.shopbox{
width: 100%;
height: auto;
display: flex;
justify-content: center;
align-items: center;
margin-top: 20rpx;
}
.kuai{
width: 95%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 10rpx;
box-shadow: 0 6rpx 20rpx rgba(0, 0, 0, 0.08);
border-radius: 20px;
}
.logosize{
width: 50px;
height: 50px;
}
.xiaohe{
width: 23%;
aspect-ratio: 1 / 1;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.show {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
padding: 20rpx;
box-sizing: border-box;
}
.shopping {
width: 45%;
margin: 19rpx;
background-color: #ffffff;
border-radius: 20rpx;
box-shadow: 0 6rpx 20rpx rgba(0, 0, 0, 0.08);
overflow: hidden;
display: flex;
flex-direction: column;
transition: transform 0.2s ease;
}
.shopping:active {
transform: scale(0.97);
}
.imagebox {
width: 100%;
aspect-ratio: 1;
background-color: #f6f6f6;
overflow: hidden;
}
.imagesize {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.tetxt {
padding: 16rpx;
display: flex;
flex-direction: column;
gap: 10rpx;
}
.wraptext {
font-size: 26rpx;
color: #333;
line-height: 1.4;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2; /* 最多显示2行 */
-webkit-box-orient: vertical;
text-overflow: ellipsis;
}
.price-row {
display: flex;
justify-content: space-between;
align-items: center;
}
.price-now {
color: #fc7e09;
font-size: 28rpx;
font-weight: bold;
}
.price-old {
color: #aaa;
font-size: 24rpx;
text-decoration: line-through;
}
.box{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}

View File

@ -0,0 +1,66 @@
// pages/wangjimima/wangjimima.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "忘记密码",
"usingComponents": {}
}

View File

@ -0,0 +1,25 @@
<view class="flex-col page">
<view class="flex-col justify-start items-center self-center text-wrapper">
<text class="font text">欢迎登陆—青橙校园</text>
</view>
<view class="flex-col self-stretch group">
<text class="self-start font_2 text_2">忘记密码</text>
<view class="flex-col self-stretch mt-22">
<view class="flex-col self-stretch">
<view class="flex-col justify-start items-start text-wrapper_1"><input class="text_1 font_2 text_4" placeholder="请输入手机号" /></view>
<view class="flex-row justify-between section mt-20">
<input class="font_2 text_5" placeholder="请输入验证码" />
<text class="font_2 text_6">获取验证码</text>
</view>
<view class="flex-col justify-start items-start text-wrapper_2 mt-20"><input class="text_1 font_2" placeholder="请输入密码" /></view>
<view class="flex-col justify-start items-start text-wrapper_4 mt-20">
<input class="text_1 font_2 text_7" placeholder="请再次输入密码" />
</view>
</view>
<text class="self-end text_8 mt-16">登陆账号</text>
</view>
</view>
<view class="flex-col justify-start items-center self-stretch text-wrapper_3">
<text class="font text_9">重置密码</text>
</view>
</view>

View File

@ -0,0 +1,88 @@
.page {
padding: 73.08rpx 38.46rpx 275rpx 48.08rpx;
background-color: #ffffff;
width: 100%;
overflow-y: auto;
overflow-x: hidden;
height: 100%;
}
.text-wrapper {
padding: 384.65rpx 0 19.48rpx;
background-image: url('https://ide.code.fun/api/image?token=680efc2c4ae84d00122e3b6c&name=9927844a76c9298d1ba7d7f5f997ca65.png');
background-size: 100% 100%;
background-repeat: no-repeat;
width: 432.69rpx;
}
.font {
font-size: 30.77rpx;
font-family: SourceHanSansCN;
line-height: 28.56rpx;
}
.text {
color: #000000;
}
.group {
padding: 42.96rpx 0 42.96rpx;
}
.text-wrapper_1 {
padding: 35.46rpx 0 37.77rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_1 {
margin-left: 31.9rpx;
}
.font_2 {
font-size: 26.92rpx;
font-family: SourceHanSansCN;
line-height: 25.02rpx;
color: #808080;
}
.text_2 {
margin-left: 12.75rpx;
color: #000000;
line-height: 24.98rpx;
}
.text_4 {
line-height: 24.85rpx;
}
.section {
padding: 37.27rpx 20.1rpx 35.79rpx 31.9rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_5 {
line-height: 24.92rpx;
}
.text_6 {
color: #d43030;
}
.text-wrapper_2 {
padding: 35.27rpx 0 37.79rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text-wrapper_4 {
padding: 37.19rpx 0 35.73rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_7 {
line-height: 25.15rpx;
}
.text_8 {
margin-right: 9.02rpx;
color: #383838;
font-size: 23.08rpx;
font-family: SourceHanSansCN;
line-height: 21.31rpx;
}
.text-wrapper_3 {
margin: 32.15rpx 21.15rpx 0 11.54rpx;
padding: 38.38rpx 0 33.06rpx;
background-color: #ff8d1a;
border-radius: 28.85rpx;
}
.text_9 {
color: #ffffff;
}

View File

@ -0,0 +1,66 @@
// pages/zucepage/zucepage.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "注册账号",
"usingComponents": {}
}

View File

@ -0,0 +1,30 @@
<view class="flex-col page">
<view class="flex-col justify-start items-center self-center text-wrapper">
<text class="font text">欢迎登陆—青橙校园</text>
</view>
<view class="flex-col self-stretch group">
<text class="self-start font_2 text_2">账号注册</text>
<view class="flex-col self-stretch mt-15">
<view class="flex-col justify-start items-start text-wrapper_2"><input class="text_3 font_3 text_4" placeholder="请输入昵称" /></view>
<view class="flex-col justify-start items-start view"><input class="text_3 font_3 text_5" placeholder="请输入手机号" /></view>
<view class="flex-row justify-between section">
<input class="font_3 text_6" placeholder="请输入验证码" />
<text class="font_2 text_7">获取验证码</text>
</view>
<view class="flex-col justify-start items-start view_2"><input class="text_3 font_3 text_8" placeholder="请输入邀请码" /></view>
<view class="flex-col justify-start items-start view_3"><input class="text_3 font_3 text_9" placeholder="请设置密码" /></view>
</view>
</view>
<view class="flex-row items-center self-start group_2">
<radio class="radio" color="#ff8d1a"></radio>
<text class="shrink-0 font_4 text_10">我已阅读并同意</text>
<text class="flex-1 font_4 text_11">青橙用户服务协议、隐私政策</text>
</view>
<view class="flex-col justify-start items-center self-stretch text-wrapper_3">
<text class="font text_12">注册</text>
</view>
<view class="self-center group_3">
<text class="font_5 text_13">已有帐号?</text>
<text class="font_5 text_14">去登录→</text>
</view>
</view>

View File

@ -0,0 +1,148 @@
.mt-15 {
margin-top: 28.85rpx;
}
.page {
padding: 30.77rpx 42.31rpx 71.27rpx 44.23rpx;
background-color: #ffffff;
width: 100%;
overflow-y: auto;
overflow-x: hidden;
height: 100%;
}
.text-wrapper {
padding: 426.96rpx 0 6.02rpx;
background-image: url('https://ide.code.fun/api/image?token=680efc2c4ae84d00122e3b6c&name=ac6edf59808d551877b71d448fce5024.png');
background-size: 100% 100%;
background-repeat: no-repeat;
width: 461.54rpx;
}
.font {
font-size: 30.77rpx;
font-family: SourceHanSansCN;
line-height: 26.92rpx;
}
.text {
color: #000000;
line-height: 28.56rpx;
}
.group {
margin-top: 70.04rpx;
}
.font_2 {
font-size: 26.92rpx;
font-family: SourceHanSansCN;
line-height: 26.92rpx;
}
.text_2 {
margin-left: 12.54rpx;
color: #000000;
line-height: 25.04rpx;
}
.text-wrapper_2 {
padding: 35.46rpx 0 37.73rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_3 {
margin-left: 35.75rpx;
}
.font_3 {
font-size: 26.92rpx;
font-family: SourceHanSansCN;
color: #808080;
}
.text_4 {
line-height: 24.88rpx;
width: 590rpx;
}
.view {
margin-top: 40.38rpx;
padding: 37.38rpx 0 35.85rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_5 {
line-height: 24.85rpx;
width: 590rpx;
}
.section {
margin-top: 32.69rpx;
padding: 35.35rpx 27.79rpx 37.71rpx 35.75rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_6 {
line-height: 24.92rpx;
}
.text_7 {
color: #d43030;
line-height: 25.02rpx;
}
.view_2 {
margin-top: 40.38rpx;
padding: 37.38rpx 0 35.87rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_8 {
line-height: 24.83rpx;
width: 590rpx;
}
.view_3 {
margin-top: 26.92rpx;
padding: 37.19rpx 0 35.77rpx;
background-color: #ffffff;
box-shadow: 0rpx 3.85rpx 7.69rpx #00000040;
}
.text_9 {
line-height: 25.12rpx;
width: 590rpx;
}
.group_2 {
margin-left: 3.85rpx;
margin-top: 42.31rpx;
width: 560.77rpx;
}
.image {
width: 36.54rpx;
height: 36.54rpx;
}
.font_4 {
font-size: 23.08rpx;
font-family: SourceHanSansCN;
line-height: 26.92rpx;
}
.text_10 {
margin-left: 35.56rpx;
color: #000000;
}
.text_11 {
color: #d43030;
margin-left: 10rpx;
}
.text-wrapper_3 {
margin: 59.62rpx 17.31rpx 0 15.38rpx;
padding: 38.75rpx 0 32.94rpx;
background-color: #ff8d1a;
border-radius: 28.85rpx;
}
.text_12 {
color: #ffffff;
line-height: 28.31rpx;
}
.group_3 {
margin-top: 45.83rpx;
line-height: 21.35rpx;
}
.font_5 {
font-size: 23.08rpx;
font-family: SourceHanSansCN;
line-height: 21.35rpx;
}
.text_13 {
color: #383838;
}
.text_14 {
color: #ff5733;
line-height: 21.31rpx;
}

28
project.config.json Normal file
View File

@ -0,0 +1,28 @@
{
"compileType": "miniprogram",
"libVersion": "trial",
"packOptions": {
"ignore": [],
"include": []
},
"setting": {
"coverView": true,
"es6": true,
"postcss": true,
"minified": true,
"enhance": true,
"showShadowRootInWxmlPanel": true,
"packNpmRelationList": [],
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
}
},
"condition": {},
"editorSetting": {
"tabIndent": "auto",
"tabSize": 2
},
"appid": "wxc8a6a6a076b37247"
}

View File

@ -0,0 +1,8 @@
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "qingcheng",
"setting": {
"compileHotReLoad": true
},
"condition": {}
}

7
sitemap.json Normal file
View File

@ -0,0 +1,7 @@
{
"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
"rules": [{
"action": "allow",
"page": "*"
}]
}

19
utils/util.js Normal file
View File

@ -0,0 +1,19 @@
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : `0${n}`
}
module.exports = {
formatTime
}