0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 小程序

如何开发微信小程序,数据获取和逻辑处理如何实现

发表时间:2023-09-08 09:34:15

文章来源:炫佑科技

浏览次数:170

菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技

如何开发微信小程序,数据获取和逻辑处理如何实现

文章目录

微信小程序

微信小程序现在很流行,网上的学习资源也很多,但是源码资源还是很少。 事实上,如果我们在学习开发微信小程序时有源码可供借鉴,学习效率将会成倍提升。

无论是前端开发还是后端开发,时间长了,你总能总结出它的一些规律。 对于前端开发来说,主要有两个,页面显示和逻辑处理。 如果是全流程开发,即如何创建项目、如何实现页面、如何实现数据获取和逻辑处理、如何打包上线。 对于移动端或者前端来说微信小程序开发软件下载,基本的开发流程就是由这四个步骤组成。 所以说在学习前端新的开发技术的时候,只要解决了这四个问题,就万事大吉了。

通过查看这些微信小程序的源码,可以了解如何控制页面跳转、如何注册页面、页面设计、js中数据的绑定等,这些小程序很多都有后端,可以直接搭配一起学习与前端和后端。

后端语言包括Java和PHP。

源码获取

只有部分源码包含后端,很多都只能以微信小程序方式供我们查看。

微信搜索公众号“开小白学编程”,回复微信小程序即可获取

种类很多,比如天气预报小程序 、购物小程序 、外卖小程序等。

因为很大,好几个G,网盘连接不会被释放。

您可以通过电子邮件联系我

或者到我博客的问答社区留言(我会收到消息通知)我的博客

开发

首先介绍一下如何开发微信小程序。

注册账户

进入微信公众平台,点击立即注册,选择微信小程序

注册成功后,登录小程序后台,修改小程序的服务类别、头像等。

上图是访问域名的配置。 如果您不使用云开发,而是使用自己的服务器进行开发如何开发微信小程序,数据获取和逻辑处理如何实现,则需要配置安全域名来释放访问。 域名必须可以通过 https 访问。

小程序部分源码展示

某抽奖小程序部分页面

<view class="wrapper">
	<view class="header">
		<text class="header-title"> 大转盘抽奖 </text>
		<text class="header-subtitle">  感恩节活动大抽奖,反馈广大客户 </text> 
	</view>
	<view class="main">
		<view class="canvas-container">
			<view  animation="{{animationData}}" class="canvas-content" >
				<canvas style="width: 300px; height: 300px;" class="canvas-element" canvas-id="lotteryCanvas"></canvas>
				<view class="canvas-line">
					<view class="canvas-litem" wx:for="{{awardsList}}" wx:key="unique" style="-webkit-transform: rotate({{item.lineTurn}});transform: rotate({{item.lineTurn}})"></view>
				</view>
				<view class="canvas-list">
					<view class="canvas-item" wx:for="{{awardsList}}" wx:key="unique">
				  		<view class="canvas-item-text" style="-webkit-transform: rotate({{item.turn}});transform: rotate({{item.turn}})">{{item.award}}</view>
					</view>
				</view>
				
			</view>
			<view bindtap="getLottery" class="canvas-btn {{btnDisabled}}">抽奖</view>		
		</view>
		<view class="main-container">
			<view class="main-container-btn">
				<button bindtap="gotoList" type="primary">查看中奖</button>	
			</view>
			<view class="main-container-rule">
				<text class="main-rule-title">活动规则:</text>
				<text class="main-rule-item">1. xxxxxxxxxxx</text>
				<text class="main-rule-item">2. xxxxxxxxxxx</text>	
				<text class="main-rule-item">3. xxxxxxxxxxx</text>	
				<text class="main-rule-item">4. xxxxxxxxxxx</text>	
				<text class="main-rule-item">5. xxxxxxxxxxx</text>	
			</view>	
		</view>
	</view>
 
</view>

以下是类似外卖购物平台首页的代码

<!--pages/index/index.wxml-->
<view class="container">
    <!-- 首页导航 -->
    <view class="myswiper">
        <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
            <block wx:for="{{imgUrls}}" wx:key="index">
                <swiper-item>
                    <image src="{{item}}" class="slide-image"  />
                </swiper-item>
            </block>
        </swiper>
    </view>
    <!-- 分类导航信息 -->
    <view class="components">
        <block wx:for="{{components}}" wx:key="index">
            <view class="functions" bindtap="changeTo" data-where="{{item.where}}">
                <view class="functionImage">
                    <image src="{{item.image}}" />
                </view>
                <text>{{item.function}}</text>
            </view>
        </block>
    </view>
  
    <!-- scroll-view嵌套swiper实现上下栏轮播 -->
        <scroll-view scroll-y-="true"  >
            <view class="headlines">
            <image src="{{headlinesImg}}" class="headlines-img" />
            <view class="headlines-text">
                <swiper autoplay="{{autoplay}}" interval="{{interval1}}" duration="{{duration}}" vertical="true">
                    <block wx:for="{{headLines}}" wx:key="index">
                        <swiper-item class="headLines-items">
                            <view class="headlines-text-items">
                                <view class="headlines-text-hd">
                                    <text>{{item.head}}</text>
                                </view>
                                <view class="headlines-text-bd">
                                    <text class="">{{item.body}}</text>
                                </view>
                                <image class="headlines-text-ft" src="{{item.img}}"></image>
                            </view>
                        </swiper-item>
                    </block>
                </swiper>
            </view>
        </view>
        </scroll-view>
    
    <view class="todayTrump">
        <image src="../../assets/icons/wangpai.png"/>
        <text>今日王牌大赏</text>
        <navigator class="todayTrump-right" url= "../class/myFruits/myFruits">
            <text>更多</text>
            <image src="../../assets/icons/right.png"/>
        </navigator>
    </view>
    <!-- //  -->
    <!-- 王牌产品列表 -->
    <view class="myTrump">
        <scroll-view scroll-x-="true"  class="content">
            <block wx:for="{{classifyList}}" wx:key="index">
                <view class="someTrumps">
                    <view class="trumps">
                        <image src="{{item.url}}" />
                        <view class="mes">
                            <text class="foodName">{{item.name}}</text>
                            <text class="foodIntroduce">{{item.introduce}}</text>
                            <view class="special">特价</view>
                            <p>{{item.price}}</p>
                            <view class="btn" bindtap="ordinInCart" data-id="{{item.id}}" data-stock="{{item.stock}}">
                                <icon type="{{item.selected ? 'success' : 'circle'}}" color="#23a3ff" size="30"></icon>
                            </view>
                        </view>
                    </view>
                </view>
            </block>
        </scroll-view>
    </view>
    <!-- </view> -->
    <view class="GoodsLabel">
        新品上架
    </view>
    <!-- 新产品列表 -->
    <view class="newGoods">
        <block wx:for="{{newGoods}}" wx:key="index">
            <navigator class="goods" url= "../class/myFruits/myFruits">
                <view class="goodsImage">
                    <image src="{{item.image}}" />
                </view>
                <text class="goods-price">{{item.price}}</text>
                <text class="goods-introduce">{{item.introduce}}</text>
            </navigator>
        </block>
    </view>
    <view class="GoodsLabel">
        经典系列
    </view>
    <!-- 经典产品列表 -->
    <view class="newGoods">
        <block wx:for="{{classicGoods}}" wx:key="index">
            <navigator class="goods"  url= "../class/myMeat/myMeat">
                <view class="goodsImage">
                    <image src="{{item.image}}" />
                </view>
                <text class="goods-price">{{item.price}}</text>
                <text class="goods-introduce">{{item.introduce}}</text>
            </navigator>
        </block>
    </view>
</view>

Java后台的天气小程序,

package com.leadingsoft.liuw.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
 * Created by liuw on 2017/4/19.
 */
@Slf4j
@RestController
@RequestMapping("/w/weather")
public class WeatherController {
    @RequestMapping(method = RequestMethod.GET)
    public String get(){
        String result = "";
        try {
            URL url = new URL("http://api.openweathermap.org/data/2.5/weather?q=Dalian&appid=dafef1a9be486b5015eb92330a0add7d");
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            connection.setDoInput(true);
            connection.setDoOutput(true);
            connection.setRequestMethod("GET");
            connection.setUseCaches(false);
            connection.setInstanceFollowRedirects(true);
            connection.connect();
            InputStream in = connection.getInputStream();
            BufferedReader read = new BufferedReader(new InputStreamReader(in, "UTF-8"));
            String line="";
            int i=0;
            while ( (line=read.readLine())!= null ) {
                result += line;
                i++;
            }
            // 断开连接
            read.close();
            in.close();
            connection.disconnect();
        } catch (Exception e) {
            WeatherController.log.error("取得天气数据失败", e);
        }
        return result;
    }
}

节目显示

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多