├── .gitignore
├── README.md
├── cloudfunctions
├── callback
│ ├── config.json
│ ├── index.js
│ └── package.json
├── echo
│ ├── config.json
│ ├── index.js
│ └── package.json
├── login
│ ├── config.json
│ ├── index.js
│ └── package.json
└── openapi
│ ├── config.json
│ ├── index.js
│ └── package.json
├── miniprogram
├── app.js
├── app.json
├── app.wxss
├── images
│ ├── ic_wallpaper.png
│ └── index
│ │ └── icon_avatar.jpg
├── pages
│ ├── categorydetail
│ │ ├── categorydetail.js
│ │ ├── categorydetail.json
│ │ ├── categorydetail.wxml
│ │ └── categorydetail.wxss
│ ├── categorydetailviewshow
│ │ ├── categorydetailviewshow.js
│ │ ├── categorydetailviewshow.json
│ │ ├── categorydetailviewshow.wxml
│ │ └── categorydetailviewshow.wxss
│ ├── categoryroot
│ │ ├── categoryroot.js
│ │ ├── categoryroot.json
│ │ ├── categoryroot.wxml
│ │ └── categoryroot.wxss
│ └── login
│ │ ├── login.js
│ │ ├── login.json
│ │ ├── login.wxml
│ │ └── login.wxss
└── sitemap.json
├── project.config.json
└── raw
├── WallPaper-01.jpg
├── WallPaper-02.jpg
├── WallPaper-03.jpg
├── WallPaper-04.gif
├── WallPaper-05.gif
└── WallPaper-06.gif
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows
2 | [Dd]esktop.ini
3 | Thumbs.db
4 | $RECYCLE.BIN/
5 |
6 | # macOS
7 | .DS_Store
8 | .fseventsd
9 | .Spotlight-V100
10 | .TemporaryItems
11 | .Trashes
12 |
13 | # Node.js
14 | node_modules/
15 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## 1. 壁纸浏览微信小程序
2 |
3 | 通过微信小程序 API 实现的壁纸浏览小程序。
4 |
5 | 主要包括三部分内容:
6 | 1. 壁纸类别列表
7 | 2. 分类浏览
8 | 3. 壁纸详情
9 |
10 |
11 | ## 2. 页面效果展示
12 |
13 | ### 2.1 壁纸类别列表
14 |
15 |
16 |
17 |
18 |
19 | ### 2.2 分类浏览
20 |
21 |
22 |
23 |
24 |
25 | ### 2.3 壁纸详情
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/cloudfunctions/callback/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "permissions": {
3 | "openapi": [
4 | "customerServiceMessage.send"
5 | ]
6 | }
7 | }
--------------------------------------------------------------------------------
/cloudfunctions/callback/index.js:
--------------------------------------------------------------------------------
1 | const cloud = require('wx-server-sdk')
2 |
3 | cloud.init({
4 | // API 调用都保持和云函数当前所在环境一致
5 | env: cloud.DYNAMIC_CURRENT_ENV
6 | })
7 |
8 | // 云函数入口函数
9 | exports.main = async (event, context) => {
10 |
11 | console.log(event)
12 |
13 | const { OPENID } = cloud.getWXContext()
14 |
15 | const result = await cloud.openapi.customerServiceMessage.send({
16 | touser: OPENID,
17 | msgtype: 'text',
18 | text: {
19 | content: '收到:' + event.Content,
20 | }
21 | })
22 |
23 | console.log(result)
24 |
25 | return result
26 | }
27 |
--------------------------------------------------------------------------------
/cloudfunctions/callback/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "callback",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "wx-server-sdk": "latest"
13 | }
14 | }
--------------------------------------------------------------------------------
/cloudfunctions/echo/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "permissions": {
3 | "openapi": []
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/cloudfunctions/echo/index.js:
--------------------------------------------------------------------------------
1 | const cloud = require('wx-server-sdk')
2 |
3 | exports.main = async (event, context) => {
4 | // event.userInfo 是已废弃的保留字段,在此不做展示
5 | // 获取 OPENID 等微信上下文请使用 cloud.getWXContext()
6 | delete event.userInfo
7 | return event
8 | }
9 |
--------------------------------------------------------------------------------
/cloudfunctions/echo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "echo",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "wx-server-sdk": "latest"
13 | }
14 | }
--------------------------------------------------------------------------------
/cloudfunctions/login/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "permissions": {
3 | "openapi": []
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/cloudfunctions/login/index.js:
--------------------------------------------------------------------------------
1 | // 云函数模板
2 | // 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”
3 |
4 | const cloud = require('wx-server-sdk')
5 |
6 | // 初始化 cloud
7 | cloud.init({
8 | // API 调用都保持和云函数当前所在环境一致
9 | env: cloud.DYNAMIC_CURRENT_ENV
10 | })
11 |
12 | /**
13 | * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端
14 | *
15 | * event 参数包含小程序端调用传入的 data
16 | *
17 | */
18 | exports.main = (event, context) => {
19 | console.log(event)
20 | console.log(context)
21 |
22 | // 可执行其他自定义逻辑
23 | // console.log 的内容可以在云开发云函数调用日志查看
24 |
25 | // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息
26 | const wxContext = cloud.getWXContext()
27 |
28 | return {
29 | event,
30 | openid: wxContext.OPENID,
31 | appid: wxContext.APPID,
32 | unionid: wxContext.UNIONID,
33 | env: wxContext.ENV,
34 | }
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/cloudfunctions/login/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "login",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "wx-server-sdk": "latest"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/cloudfunctions/openapi/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "permissions": {
3 | "openapi": [
4 | "wxacode.get",
5 | "templateMessage.send",
6 | "templateMessage.addTemplate",
7 | "templateMessage.deleteTemplate",
8 | "templateMessage.getTemplateList",
9 | "templateMessage.getTemplateLibraryById",
10 | "templateMessage.getTemplateLibraryList"
11 | ]
12 | }
13 | }
--------------------------------------------------------------------------------
/cloudfunctions/openapi/index.js:
--------------------------------------------------------------------------------
1 | // 云函数入口文件
2 | const cloud = require('wx-server-sdk')
3 |
4 | cloud.init({
5 | // API 调用都保持和云函数当前所在环境一致
6 | env: cloud.DYNAMIC_CURRENT_ENV
7 | })
8 |
9 | // 云函数入口函数
10 | exports.main = async (event, context) => {
11 | console.log(event)
12 | switch (event.action) {
13 | case 'sendTemplateMessage': {
14 | return sendTemplateMessage(event)
15 | }
16 | case 'getWXACode': {
17 | return getWXACode(event)
18 | }
19 | case 'getOpenData': {
20 | return getOpenData(event)
21 | }
22 | default: {
23 | return
24 | }
25 | }
26 | }
27 |
28 | async function sendTemplateMessage(event) {
29 | const { OPENID } = cloud.getWXContext()
30 |
31 | // 接下来将新增模板、发送模板消息、然后删除模板
32 | // 注意:新增模板然后再删除并不是建议的做法,此处只是为了演示,模板 ID 应在添加后保存起来后续使用
33 | const addResult = await cloud.openapi.templateMessage.addTemplate({
34 | id: 'AT0002',
35 | keywordIdList: [3, 4, 5]
36 | })
37 |
38 | const templateId = addResult.templateId
39 |
40 | const sendResult = await cloud.openapi.templateMessage.send({
41 | touser: OPENID,
42 | templateId,
43 | formId: event.formId,
44 | page: 'pages/openapi/openapi',
45 | data: {
46 | keyword1: {
47 | value: '未名咖啡屋',
48 | },
49 | keyword2: {
50 | value: '2019 年 1 月 1 日',
51 | },
52 | keyword3: {
53 | value: '拿铁',
54 | },
55 | }
56 | })
57 |
58 | await cloud.openapi.templateMessage.deleteTemplate({
59 | templateId,
60 | })
61 |
62 | return sendResult
63 | }
64 |
65 | async function getWXACode(event) {
66 |
67 | // 此处将获取永久有效的小程序码,并将其保存在云文件存储中,最后返回云文件 ID 给前端使用
68 |
69 | const wxacodeResult = await cloud.openapi.wxacode.get({
70 | path: 'pages/openapi/openapi',
71 | })
72 |
73 | const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^\/]+)/)
74 | const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg'
75 |
76 | const uploadResult = await cloud.uploadFile({
77 | // 云文件路径,此处为演示采用一个固定名称
78 | cloudPath: `wxacode_default_openapi_page.${fileExtension}`,
79 | // 要上传的文件内容可直接传入图片 Buffer
80 | fileContent: wxacodeResult.buffer,
81 | })
82 |
83 | if (!uploadResult.fileID) {
84 | throw new Error(`upload failed with empty fileID and storage server status code ${uploadResult.statusCode}`)
85 | }
86 |
87 | return uploadResult.fileID
88 | }
89 |
90 | async function getOpenData(event) {
91 | // 需 wx-server-sdk >= 0.5.0
92 | return cloud.getOpenData({
93 | list: event.openData.list,
94 | })
95 | }
96 |
--------------------------------------------------------------------------------
/cloudfunctions/openapi/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "openapi",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "wx-server-sdk": "latest"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/miniprogram/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | App({
3 |
4 | onLaunch(options) {
5 | // Do something initial when launch.
6 | },
7 |
8 | onShow(options) {
9 | // Do something when show.
10 | },
11 |
12 | onHide() {
13 | // Do something when hide.
14 | },
15 |
16 | onError(msg) {
17 | // Do something when error.
18 | },
19 |
20 | globalData: {
21 | COMMON_SEPARATOR : "/",
22 | URL_BASE : "https://service.picasso.adesk.com/v1/vertical/category",
23 | URL_CATEGORY_ROOT : "https://service.picasso.adesk.com/v1/vertical/category?adult=false&first=1",
24 | URL_CATEGORY_DETAIL : "/vertical?limit=30&adult=false&first=1&order=new",
25 | }
26 |
27 | })
--------------------------------------------------------------------------------
/miniprogram/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages": [
3 | "pages/categoryroot/categoryroot",
4 | "pages/categorydetail/categorydetail",
5 | "pages/categorydetailviewshow/categorydetailviewshow",
6 | "pages/login/login"
7 | ],
8 | "window": {
9 | "navigationBarTitleText": "Wallpaper"
10 | },
11 | "networkTimeout": {
12 | "request": 10000,
13 | "downloadFile": 10000
14 | },
15 | "debug": true,
16 | "sitemapLocation": "sitemap.json"
17 | }
--------------------------------------------------------------------------------
/miniprogram/app.wxss:
--------------------------------------------------------------------------------
1 | /**app.wxss**/
2 | page {
3 | background: #f6f6f6;
4 | display: flex;
5 | flex-direction: column;
6 | justify-content: flex-start;
7 | }
8 |
9 | .container {
10 | display: flex;
11 | flex-direction: column;
12 | align-items: center;
13 | box-sizing: border-box;
14 | }
15 |
16 | button {
17 | background: initial;
18 | }
19 |
20 | button:focus{
21 | outline: 0;
22 | }
23 |
24 | button::after{
25 | border: none;
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/miniprogram/images/ic_wallpaper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/miniprogram/images/ic_wallpaper.png
--------------------------------------------------------------------------------
/miniprogram/images/index/icon_avatar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/miniprogram/images/index/icon_avatar.jpg
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetail/categorydetail.js:
--------------------------------------------------------------------------------
1 | //category detail.js
2 | const app = getApp();
3 |
4 | Page({
5 | data: {
6 |
7 | },
8 |
9 | onLoad: function (options) {
10 | wx.setNavigationBarTitle({
11 | title: options.categoryDetailTitle,
12 | });
13 |
14 | var that = this;
15 | wx.request({
16 | url: app.globalData.URL_BASE + app.globalData.COMMON_SEPARATOR + options.categoryDetailID + app.globalData.URL_CATEGORY_DETAIL,
17 | header: {
18 | 'content-type': 'application/json'
19 | },
20 | method: 'GET',
21 | dataType: 'json',
22 | success(res) {
23 | console.log("请求成功")
24 | console.log(res.data.res.vertical)
25 | that.setData({
26 | categoryDetailData: res.data.res.vertical,
27 | })
28 | },
29 | fail() {
30 | console.log("请求失败")
31 | }
32 | })
33 | }
34 | })
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetail/categorydetail.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#ffffff",
3 | "navigationBarTextStyle": "black",
4 | "navigationBarTitleText": "Wallpaper Category Detail",
5 | "backgroundColor": "#eeeeee",
6 | "backgroundTextStyle": "light"
7 | }
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetail/categorydetail.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetail/categorydetail.wxss:
--------------------------------------------------------------------------------
1 | /** category detail **/
2 | page {
3 | background: white;
4 | width: 100%;
5 | height: 100%;
6 | }
7 |
8 | .gridview {
9 | overflow: hidden;
10 | display: flex;
11 | justify-content: space-between;
12 | flex-wrap: wrap;
13 | }
14 |
15 | .item{
16 | position: relative;
17 | width: 247rpx;
18 | height: 360rpx;
19 | margin-top: 6rpx;
20 | }
21 |
22 | .item:first-of-type,
23 | .item:nth-of-type(2),
24 | .item:nth-of-type(3){
25 | margin-top: 0;
26 | }
27 |
28 | .img{
29 | display: block;
30 | width: 100%;
31 | height: 360rpx;
32 | transform: all .3s;
33 | }
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetailviewshow/categorydetailviewshow.js:
--------------------------------------------------------------------------------
1 | //category detail view show.js
2 | const app = getApp();
3 |
4 | Page({
5 | data: {
6 | imageUrl: ""
7 | },
8 |
9 | onLoad: function (options) {
10 | wx.setNavigationBarTitle({
11 | title: options.viewShowTitle,
12 | });
13 |
14 | this.setData({
15 | imageUrl: options.viewShowImageUrl,
16 | })
17 | },
18 |
19 | saveImage: function () {
20 | var that = this;
21 | wx.showModal({
22 | title: '提示',
23 | content: '是否保存图片到相册?',
24 | success(res) {
25 | if (res.confirm) {
26 | wx.showLoading({
27 | title: '图片下载中...',
28 | })
29 | wx.downloadFile({
30 | url: that.data.imageUrl,
31 | success: function (res) {
32 | wx.saveImageToPhotosAlbum({
33 | filePath: res.tempFilePath,
34 | success: function (data) {
35 | console.log("Success: " + data);
36 | wx.hideLoading();
37 | wx.showToast({
38 | title: '图片保存成功!',
39 | icon: 'success',
40 | duration: 2000,
41 | success: function(){
42 | setTimeout(function () {
43 | wx.navigateBack({
44 | delta: 1
45 | });
46 | }, 2100);
47 | }
48 | });
49 | },
50 | fail: function (err) {
51 | console.log("Fail: " + err);
52 | if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
53 | console.log("用户一开始拒绝了,我们想再次发起授权")
54 | console.log('打开设置窗口')
55 | wx.openSetting({
56 | success(settingdata) {
57 | console.log(settingdata)
58 | if (settingdata.authSetting['scope.writePhotosAlbum']) {
59 | console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
60 | } else {
61 | console.log('获取权限失败,给出不给权限就无法正常使用的提示')
62 | }
63 | }
64 | })
65 | }
66 | },
67 | complete: function(msg){
68 | console.log("Complete: " + msg);
69 | }
70 | })
71 | }
72 | })
73 | }
74 | }
75 | })
76 | }
77 | })
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetailviewshow/categorydetailviewshow.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#ffffff",
3 | "navigationBarTextStyle": "black",
4 | "navigationBarTitleText": "Wallpaper Category Detail View Show",
5 | "backgroundColor": "#eeeeee",
6 | "backgroundTextStyle": "light"
7 | }
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetailviewshow/categorydetailviewshow.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/miniprogram/pages/categorydetailviewshow/categorydetailviewshow.wxss:
--------------------------------------------------------------------------------
1 | /** category detail view show **/
2 | page {
3 | background: white;
4 | width: 100%;
5 | height: 100%;
6 | }
7 | .container{
8 | position: absolute;
9 | width:100%;
10 | height: 100%;
11 | overflow: hidden;
12 | }
13 | .img{
14 | display: block;
15 | width: 100%;
16 | height:100%;
17 | }
--------------------------------------------------------------------------------
/miniprogram/pages/categoryroot/categoryroot.js:
--------------------------------------------------------------------------------
1 | //category root.js
2 | const app = getApp();
3 |
4 | Page({
5 | data: {
6 |
7 | },
8 |
9 | onLoad: function() {
10 | var that = this;
11 | wx.request({
12 | url: app.globalData.URL_BASE,
13 | header: {
14 | 'content-type': 'application/json'
15 | },
16 | method: 'GET',
17 | dataType: 'json',
18 | success(res) {
19 | console.log("请求成功")
20 | that.setData({
21 | categoryData: res.data.res.category
22 | })
23 | },
24 | fail() {
25 | console.log("请求失败")
26 | }
27 | })
28 | }
29 | })
--------------------------------------------------------------------------------
/miniprogram/pages/categoryroot/categoryroot.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#ffffff",
3 | "navigationBarTextStyle": "black",
4 | "navigationBarTitleText": "Wallpaper",
5 | "backgroundColor": "#eeeeee",
6 | "backgroundTextStyle": "light"
7 | }
--------------------------------------------------------------------------------
/miniprogram/pages/categoryroot/categoryroot.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{item.name}}
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/miniprogram/pages/categoryroot/categoryroot.wxss:
--------------------------------------------------------------------------------
1 | /* category root */
2 | page {
3 | background: white;
4 | width: 100%;
5 | height: 100%;
6 | }
7 |
8 | .gridview {
9 | overflow: hidden;
10 | display: flex;
11 | justify-content: space-between;
12 | flex-wrap: wrap;
13 | }
14 |
15 | .item{
16 | position: relative;
17 | width: 247rpx;
18 | height:247rpx;
19 | margin-top: 6rpx;
20 | }
21 |
22 | .item:first-of-type,
23 | .item:nth-of-type(2),
24 | .item:nth-of-type(3){
25 | margin-top: 0;
26 | }
27 |
28 | .img{
29 | display: block;
30 | width: 100%;
31 | height:247rpx;
32 | transform: all .3s;
33 | }
34 |
35 | .label{
36 | position: absolute;
37 | top:0;
38 | left:0;
39 | width: 100%;
40 | height:100%;
41 | background: rgba(0,0,0,.6);
42 | text-align: center;
43 | font-size: 28rpx;
44 | color: #fff;
45 | line-height: 247rpx;
46 | transform: all .3s;
47 | }
48 |
--------------------------------------------------------------------------------
/miniprogram/pages/login/login.js:
--------------------------------------------------------------------------------
1 | /** login.js **/
2 | const app = getApp()
3 |
4 | Page({
5 | data: {
6 | userName: "",
7 | userPassword: ""
8 | },
9 |
10 | userNameInput: function(e) {
11 | this.setData({
12 | userName: e.detail.value
13 | })
14 | console.log(this.data.userName)
15 | },
16 |
17 | userPasswordInput: function(e) {
18 | this.setData({
19 | userPassword: e.detail.value
20 | })
21 | console.log(this.data.userPassword)
22 | },
23 |
24 | login: function() {
25 | if (this.data.userName == '') {
26 | wx.showToast({
27 | title: '请输入用户名',
28 | icon: 'none',
29 | duration: 1000,
30 | mask: true
31 | })
32 | return;
33 | }
34 |
35 | if (this.data.userPassword == '') {
36 | wx.showToast({
37 | title: '请输入密码',
38 | icon: 'none',
39 | duration: 1000,
40 | mask: true
41 | })
42 | return;
43 | }
44 |
45 | if (this.data.userName == "123456" && this.data.userPassword == "123456") {
46 | console.log("登陆成功")
47 | wx.showToast({
48 | title: '登陆成功!',
49 | icon: 'success',
50 | duration: 1000,
51 | mask: true
52 | })
53 | wx.navigateTo({
54 | url: '/pages/categoryroot/categoryroot',
55 | })
56 | } else {
57 | wx.showToast({
58 | title: '用户名或密码不正确',
59 | icon: 'none',
60 | duration: 1000,
61 | mask: true
62 | })
63 | }
64 | }
65 | })
--------------------------------------------------------------------------------
/miniprogram/pages/login/login.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarBackgroundColor": "#ffffff",
3 | "navigationBarTextStyle": "black",
4 | "navigationBarTitleText": "Wallpaper",
5 | "backgroundColor": "#eeeeee",
6 | "backgroundTextStyle": "light"
7 | }
--------------------------------------------------------------------------------
/miniprogram/pages/login/login.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
10 |
11 |
12 |
13 |
14 |
24 |
25 |
26 |
27 |
28 |
29 |
39 |
40 |
41 |
42 |
43 |
44 |
51 |
52 |
--------------------------------------------------------------------------------
/miniprogram/pages/login/login.wxss:
--------------------------------------------------------------------------------
1 | /** login.wxss **/
2 | page {
3 | background: linear-gradient(to bottom, #e0c3fc, #8ec5fc);
4 | width: 100%;
5 | height: 100%;
6 | }
7 |
8 | .user_avatar {
9 | width: 128rpx;
10 | height: 128rpx;
11 | border-radius: 128rpx 128rpx 128rpx 128rpx;
12 | margin-top: 256rpx;
13 | background-color: #eee;
14 | }
15 |
16 | .user_name {
17 | background-color: white;
18 | margin-top: 128rpx;
19 | height: 48rpx;
20 | width: 140%;
21 | border-radius: 48rpx 48rpx 48rpx 48rpx;
22 | padding: 16rpx;
23 | padding-left: 30rpx;
24 | font-size: 26rpx;
25 | margin-left: -25%;
26 | }
27 |
28 | .user_password {
29 | background-color: white;
30 | margin-top: 48rpx;
31 | height: 48rpx;
32 | width: 140%;
33 | border-radius: 48rpx 48rpx 48rpx 48rpx;
34 | padding: 16rpx;
35 | padding-left: 30rpx;
36 | font-size: 26rpx;
37 | margin-left: -25%;
38 | }
39 |
40 | .user_login {
41 | margin-top: 96rpx;
42 | height: 84rpx;
43 | width: 480%;
44 | border-radius: 48rpx 48rpx 48rpx 48rpx;
45 | padding: 16rpx;
46 | font-size: 26rpx;
47 | margin-left: -200%;
48 | }
49 |
--------------------------------------------------------------------------------
/miniprogram/sitemap.json:
--------------------------------------------------------------------------------
1 | {
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
3 | "rules": [{
4 | "action": "allow",
5 | "page": "*"
6 | }]
7 | }
--------------------------------------------------------------------------------
/project.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "miniprogramRoot": "miniprogram/",
3 | "cloudfunctionRoot": "cloudfunctions/",
4 | "setting": {
5 | "urlCheck": false,
6 | "es6": true,
7 | "enhance": true,
8 | "postcss": true,
9 | "minified": true,
10 | "newFeature": true,
11 | "coverView": true,
12 | "autoAudits": false,
13 | "showShadowRootInWxmlPanel": true,
14 | "scopeDataCheck": false,
15 | "checkInvalidKey": true,
16 | "checkSiteMap": true,
17 | "uploadWithSourceMap": true,
18 | "babelSetting": {
19 | "ignore": [],
20 | "disablePlugins": [],
21 | "outputPath": ""
22 | }
23 | },
24 | "appid": "wx7b270fa6e2f7c07d",
25 | "projectname": "B_MyWallpaper_202001131524",
26 | "libVersion": "2.8.1",
27 | "simulatorType": "wechat",
28 | "simulatorPluginLibVersion": {},
29 | "condition": {
30 | "search": {
31 | "current": -1,
32 | "list": []
33 | },
34 | "conversation": {
35 | "current": -1,
36 | "list": []
37 | },
38 | "plugin": {
39 | "current": -1,
40 | "list": []
41 | },
42 | "game": {
43 | "list": []
44 | },
45 | "miniprogram": {
46 | "current": 0,
47 | "list": [
48 | {
49 | "id": -1,
50 | "name": "db guide",
51 | "pathName": "pages/databaseGuide/databaseGuide"
52 | }
53 | ]
54 | }
55 | }
56 | }
--------------------------------------------------------------------------------
/raw/WallPaper-01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/raw/WallPaper-01.jpg
--------------------------------------------------------------------------------
/raw/WallPaper-02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/raw/WallPaper-02.jpg
--------------------------------------------------------------------------------
/raw/WallPaper-03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/raw/WallPaper-03.jpg
--------------------------------------------------------------------------------
/raw/WallPaper-04.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/raw/WallPaper-04.gif
--------------------------------------------------------------------------------
/raw/WallPaper-05.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/raw/WallPaper-05.gif
--------------------------------------------------------------------------------
/raw/WallPaper-06.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smart24/Wallpaper/e3f14e72e465db1c730131faa200d93cc9a52ec2/raw/WallPaper-06.gif
--------------------------------------------------------------------------------