GVKun编程网logo

B2B电商APP开发需求点!(b2b电商平台开发)

7

在这里,我们将给大家分享关于B2B电商APP开发需求点!的知识,让您更了解b2b电商平台开发的本质,同时也会涉及到如何更有效地2017年社区超市电商APP开发行业的发展、Android通用框架设计与完

在这里,我们将给大家分享关于B2B电商APP开发需求点!的知识,让您更了解b2b电商平台开发的本质,同时也会涉及到如何更有效地2017年社区超市电商APP开发行业的发展、Android通用框架设计与完整电商APP开发、APICloud AVM多端开发 |《生鲜电商app开发》项目源码深度解析、B2B2C电商系统前端页面开发的内容。

本文目录一览:

B2B电商APP开发需求点!(b2b电商平台开发)

B2B电商APP开发需求点!(b2b电商平台开发)

  电商企业开发一个电子商务APP过程需要注意什么?如何确保自身的行业竞争力和用户群体的精准性?对于类似的问题我司在众多的电商APP系统开发案例中已经做出了示范,一个商城平台的搭建需要先从企业自身、市场行情、开发需求等等做出评估,可不是胡乱弄个模板就可以忽悠人的,具体我们来看看电子商务系统的开发步骤基本有哪些


  一、电子商务系统开发前做行业调查

  一般电商建站公司很少能对公司做出APP开发方案策划书,专业的APP设计都是基于调查策划开始的,只有我们了解客户的行业、客户群、竞争对手才可以有针对性地规划APP,做到反映行业特征、迎合客户群、区别于竞争对手的要求。

  二、企业B2BAPP定制普遍会有哪些问题

  电商系统开发公司利用大多企业对开发定制APP的不了解,直接将其他B2B系统制作的页面直接抄袭,稍加修改就交给企业主,这样的抄袭行为导致很多企业APP类似或者相仿。

  三、B2B电商平台制作费用多少钱

  专业的商城系统定制公司都会有合理的电子商务APP开发价格规范和体系,比如说电商B2B2cAPP开发公司会制定出各类型的APP开发定制套餐,再根据行业的性质来制定电商APP开发价格。

  1、APP开发价格制定取决移动B2B平台人员的工作量,包括电商网页设计,电商APP策划,电商APP程序开发,电商空间域名等。

  2、企业APP的栏目基本上都是通用的,所有很多建站公司使用模板式进行电子商务APP开发,就是将原来的其他企业的APP拿过来改动下,然后就交给了企业,诸多类似的模仿,使得APP垃圾信息越来越多,这样也很不利于APP后期推广工作,极大地影响了APP搭建团队的形象。

  3、企业定制APP需求是需要APP开发公司多加思考的,但是也不见得就说开发定制高价的APP就是好的,价格高,主要看商城APP的质量,其次是看电商APP设计是否得体,三看电商APP推广是否到位。如果企业花了高价的钱而电商系统定制公司开发的APP却不能给创造更多的价值,那么这样的APP也属于是失败型的APP。

    延伸阅读

  • B2B电商APP开发需求点!

    电商企业开发一个电子商务APP过程需要注意什么?如何确保自身的行业竞争力和用户群体的精准性?对于类似的问题我司在众多的电商APP系统开发案例中已经做出了示范,一个商城平台的搭建...

2017年社区超市电商APP开发行业的发展

2017年社区超市电商APP开发行业的发展

随着社区电商APP开发行业的快速发展,该平台带给我们的便利越来越突出,服务内容也随着人们的需求越来越丰富。社区超市电商APP开发平台具有的直接下单、送货上门等特点,为用户们省去不少麻烦。

社区电商APP开发

在互联网社区超市电商APP开发行业发展过程中,智能硬件产品起到了很大的发展促进作用,像智能快递柜、智能门禁,从入口的定义上来讲这些都属于工具,可以说是入口,所以一度被很多的超市电商企业追捧。但APP软件开发公司英趣科技发现,智能门禁以及智能快递柜也都相应的出现了瓶颈,而瓶颈在于两点:成本的问题和价值性有多强。对成本来说,是个重资产的投入,所以谈不上什么边际成本。比如门禁之类的,跟物业合作还可以收些成本费用。

 

在社区超市电商APP开发市场的建设过程中,入口、路径等行业不可能一个企业把所有的事情都包揽而。关于入口与路径是协作的关系,而路径就是发展社区超市电商APP平台的内容,也是产生价值的地方,与入口相比较更适合创业者,而入口更适合一些有资本资源的企业。入口就是个造路的过程,是需要耗费时间和金钱的,但一旦入口建立好,未来的价值也是无法想象。

 

总的来说,虽然发展社区超市电商APP开发行业的参与者很多,但是整个市场并没有发展成熟,需要完善的地方还有很多,尤其一些垂直的上门服务,已经在建立自己的行业标准,其实路径的最重要的就是标准化,如果不能标准化,其复制与落地就非常的难。社区生鲜就是一个例子,之所以难除了物流成本外,无法标准化的问题导致了用户的留存率很低,也就是体验差的问题。所以从目前来看,社区超市电商APP开发行业的发展更需要依托于社区综合服务平台。

Android通用框架设计与完整电商APP开发

Android通用框架设计与完整电商APP开发

第1章 课程介绍及APP效果展示(Java版)
本章概述了本课程大家能学到什么,老师如何讲解,为什么这么讲解,并介绍了框架的整体架构设计与模块分解,最后展示了用自己设计的框架开发出来的完整电商APP的效果图(服务端API快速搭建教程:http://www.imooc.com/article/19001) ...
1-1 课程导学
1-2 项目架构设计与模块分解

第2章 项目初始化
本章将从零搭建一个空项目,实践项目搭建的过程,并额外教大家搭建一个基于Go语言的Web版Git服务器,实现代码托管的自举。(服务端API快速搭建教程:http://www.imooc.com/article/19001)
2-1 项目基础骨架搭建
2-2 搭建自己的git代码托管仓库

第3章 框架主配置入口的设计与实践
本章将带大家确定框架的配置加载形式和基本结构,并为框架封装一键配置字体图标功能,然后验证基础框架的正确性和简易性。
3-1 项目架构初始化
3-2 字体图标库集成与封装
3-3 基础框架可用性验证

第4章 单Activity的APP页面架构设计与实践
本章将开辟新思路,设计单Activity 的App页面呈现架构,搭建起方便易用且利于扩展的单Activity基础骨架,让应用占用更小的内存,切换更加丝滑。
4-1 单Activity界面架构设计
4-2 单Activity界面架构验证

第5章 高性能傻瓜式网络请求框架设计(Retrofit+RxJava+Glide)
本章将以Retrofit为基础,借助建造者设计模式的变种,设计高性能,高扩展性和可用性的,符合restful接口设计规范的网络请求框架,实现全程链式调用,配置自由,使用无脑,并支持主流HTTP请求和文件的上传下载等功能,最后拓展Retrofit与RxJava的整合,让网络框架支持响应式编程。...
5-1 网络框架接口创建-1
5-2 网络框架接口创建-2
5-3 Restful请求的处理-1
5-4 Restful请求的处理-2
5-5 Loading框架集成与完善(AVLoadingIndicatorView)-1
5-6 Loading框架集成与完善(AVLoadingIndicatorView)-2
5-7 网络框架优化与完善
5-8 文件下载功能设计与实现
5-9 拦截器功能设计与实现(模拟请求)-1
5-10 拦截器功能设计与实现(模拟请求)-2
5-11 Retrofit与RxJava的整合(补充内容,可先跳过,最后再看)

第6章 启动图功能开发与封装
本章将带大家实现两种启动图功能:倒计时渐变消失型和滑动型。
6-1 启动图功能开发与封装(倒计时效果)-1
6-2 启动图功能开发与封装(轮播效果)-2
6-3 启动图功能优化与完善

第7章 登录、注册功能开发(ORM框架-GreenDao)
本章将开始登录注册功能的开发,包括梳理用户登录注册的逻辑与服务器之间的交互,并引入当下流行的高性能ORM数据库框架-GreenDao进行数据持久化实战,同时带给大家一些可视化调试的小技巧。
7-1 注册UI及验证逻辑实现
7-2 登录UI及验证逻辑实现
7-3 服务器数据简单介绍与基于GreenDao的数据库框架设计
7-4 用户状态与用户信息的回调封装

第8章 代码生成器设计与实践(仿ButterKnife注解框架,编译期生成代码)
本章将以ButterKnife作为蓝本,设计与实现一套自己的代码生成器,并通过annotationProcessor生成自己指定规则的代码,绕过微信wxapi包名和类名的限制,自由调用微信登录代码。同时,梳理微信登录业务逻辑,并实现微信登录功能。
8-1 编写自己的元注解和annotationProcessor
8-2 通过注解生成指定模板的代码
8-3 通过代码生成器,生成微信登录代码,绕过微信包名限制-1
8-4 通过代码生成器,生成微信登录代码,绕过微信包名限制-2
8-5 通过代码生成器,生成微信登录代码,绕过微信包名限制-3

第9章 主界面-通用底部导航设计与一键式封装
本章将带大家设计项目主界面的基本结构,并封装极简的BottomBar,实现一键式添加子项目和内容,最后带大家实现电商APP的主界面整体架构。
9-1 底部导航BottomBar设计与实现-1
9-2 底部导航BottomBar设计与实现-2
9-3 打造适合电商主界面导航框架

第10章 主界面-首页UI与数据解析器开发(RecyclerView)
本章将创建主界面-首页UI,实现下拉刷新,并分析电商首页数据结构,然后创建数据解析器。同时,打造多布局高可用性RecyclerView体系,让所有的基于RecyclerView的UI结构都简易化,标准化,和无脑使用化,让多变的业务代码变成简单的套用。...
10-1 创建首页UI
10-2 首页下拉刷新实现
10-3 首页数据结构分析
10-4 多布局高可用性RecyclerView封装和数据解析器-1
10-5 多布局高可用性RecyclerView封装和数据解析器-2
10-6 多布局高可用性RecyclerView封装和灵活适配器打造
10-7 分页客户端逻辑处理
10-8 完善主页样式
10-9 沉浸式状态栏和渐变透明顶栏解决方案和封装
10-10 添加首页动作

第11章 主界面-商品分类开发(多布局Section RecyclerView)
本章将带大家完成主界面-商品分类的UI和数据解析,并实现多布局Section RecyclerView的编写。
11-1 分类页面结构解析和开发
11-2 分类左侧列表数据解析与UI呈现
11-3 多布局Section列表实现与分类列表点击事件

第12章 基于WebView的混合App框架设计(包含浏览器与原生请求Cookie的处理)
本章将带大家构造一个自己的高可扩展性的混合App框架,实现高度模拟原生的Web跳转,并搭建与原生交互的一键式配置事件体系,让混合应用的JavaScript与Java的交互变得简单,清晰和一键式配置,最后拓展通过RxJava同步浏览器和原生请求Cookie的功能。...
12-1 WebView高可扩展性封装-1
12-2 WebView高可扩展性封装-2
12-3 WebView高可扩展性封装-3
12-4 Web与原生交互一键式配置解决方案
12-5 将混合应用微框架集成进Latte并完善
12-6 通过RxJava同步浏览器和原生请求Cookie

第13章 购物车,订单,支付功能开发(包含支付宝支付和微信支付)
本章将带大家完成购物车UI的编写,对购物车内部选中,删除,清空以及结算的逻辑进行梳理,并梳理订单生成与第三方支付的逻辑,封装傻瓜式调用的支付工具并实现支付宝,微信的支付功能。
13-1 购物车UI编写
13-2 购物车数据结构分析,解析与转化
13-3 购物车事件逻辑梳理与实现-1
13-4 购物车事件逻辑梳理与实现-2
13-5 购物车价格计算逻辑梳理,排坑与实现
13-6 订单和支付逻辑梳理和创建
13-7 额外梳理,整理module结构,升级依赖,更好的进行分离
13-8 封装傻瓜式操作支付工具
13-9 支付宝接入和实现支付
13-10 微信支付和通过代码生成器生成微信支付代码

第14章 个人中心、图片裁剪、图片上传、收货地址、消息推送、权限管理等功能开发与一键式封装
本章带大家完成个人中心、图片裁剪、图片上传、收货地址、消息推送、权限管理,系统设置等功能的开发,同时封装极易使用的相机调用工具。梳理图片上传和更新逻辑,并实例示范。集成并调用极光推送,完成应用接收远程信息推送的功能。...
14-1 个人中心页面实现
14-2 订单列表逻辑梳理和实现-1
14-3 订单列表Bug修复(上节课的补充)
14-4 个人信息更新实现-1
14-5 个人信息更新实现-2
14-6 一键式相机,图片处理剪裁和动态权限封装-1
14-7 一键式相机,图片处理剪裁和动态权限封装-2
14-8 一键式相机,图片处理剪裁和动态权限封装-3
14-9 图片上传,更新逻辑梳理和实现
14-10 收货地址管理功能实现
14-11 基于极光推送的消息推送的接入和实现
14-12 系统设置和控制推送功能实现
14-13 完善个人中心

第15章 评价晒单功能实现(自定义评分控件和仿微信自动多图选择控件)
本章将从零开始带大家定制自己的自定义View,分别完成评价晒单中评分布局和仿微信自动多图选择和删除控件,让大家在自定义View的道路上更上一层楼。
15-1 一键式评分控件设计与实现
15-2 仿微信自动多图展示及删除控件-1
15-3 仿微信自动多图展示及删除控件-2
15-4 仿微信自动多图展示及删除控件-3
15-5 仿微信自动多图展示及删除控件-4

第16章 附加功能开发(二维码,一键分享,分页,搜索)
本章将带大家完成一些周边的小功能,麻雀虽小五脏俱全,将高性能二维码扫描方案和一键分享方案集成到框架中,方便以后一键调用。
16-1 二维码高性能解决方案
16-2 一键分享功能实现
16-3 分页功能实现
16-4 搜索功能实现

第17章 商品详情功能开发(MD伸缩渐变,滑动停靠Tab,商品加入购物车飞入动画)
本章将带大家设计商品详情UI架构,实现MD风格伸缩渐变效果,滑动停靠Tab,商品加入购物车的飞入动画效果,并最终完善商品详情功能。
17-1 商品详情UI架构设计
17-2 商品详情UI MD风格伸缩渐变效果实现
17-3 商品详情中间信息完善
17-4 商品详情下部滑动tab实现
17-5 商品加入购物车飞入动画实现和添加逻辑梳理

第18章 项目重构(补充)
本章首先会为大家提供一个线上的数据API,免去自己搭建服务器之苦,然后开始对之前的项目进行配置,功能等方面的重构,可以让这个项目更加完善一些,但真正的目标是让大家有一个意识:重构。这样大家的开发过程就可以掌握完整了。...
18-1 重构1-线上API
18-2 重构2-核心配置修改
18-3 重构3-Web混合应用精讲
18-4 重构4-Web混合应用精讲

第19章 课程总结
本章将对本课程的重难点进行总结,尤其是框架设计的思想,方法,经验,技巧以及业务开发过程中如何更好的完善与验证框架的灵活性,易用性等。
19-1 课程总结

下载地址:Android通用框架设计与完整电商APP开发

APICloud AVM多端开发 |《生鲜电商app开发》项目源码深度解析

APICloud AVM多端开发 |《生鲜电商app开发》项目源码深度解析

此项目为生鲜电商app开发类应用,主要功能包括商品列表、商品详情展示、购物车、登录注册、个人中心等。
项目源码在 https://github.com/apicloudco... 仓库下”多端案例-生鲜电商“目录下。

项目中前端采用APICloud AVM多端开发技术进行开发,要点包括 scroll-view 滚动视图、下拉刷新、输入处理、swiper 轮播图、网络请求封装等。使用 APICloud 多端技术进行开发,实现一套代码多端运行,支持编译成 Android & iOS App 以及微信小程序。

项目后端则是使用的 APICloud 数据云 3.0 自定义云函数来构建的。

使用步骤

  1. 使用 APICloud Studio 3 作为开发工具。
  2. 下载本项目《生鲜电商app开发》源码。
  3. 在开发工具中新建项目,并将本源码导入新建的项目中,注意更新config.xml 中的 appid 为你项目的 appid。
  4. 使用 AppLoader 进行真机同步调试预览。
  5. 或者提交项目源码,并为当前项目云编译自定义 Loader 进行真机同步调试预览。
  6. 云编译 生成 Android & iOS App以及微信小程序源码包。

如果之前未接触过 APICloud 开发,建议先了解一个简单项目的初始化、预览、调试和打包等操作,请参考APICloud 多端开发快速上手教程。

APICloud 电商app开发

网络请求接口封装

在 script/kn.js 中,封装了统一的网络请求接口 ajax 方法,对整个项目的请求进行统一管理,包括处理传入参数、拼装完整请求 url、设置请求头等,最后调用 api.ajax 方法发起请求,在请求的回调方法里面还对 cookie 是否过期做了全局判断,过期后会清除本地用户登录信息,并提示重新登录。

`// kn.js
u.ajax = function(p, callback) {
   var param = p;
   if (!param.headers) {
       param.headers = {};
   }
   param.headers[''x-apicloud-mcm-key''] = ''cZKzX7DabDmYyfez'';
   if (param.data && param.data.body) {
       param.headers[''Content-Type''] = ''application/json; charset=utf-8'';
   }
   if (param.url) {
       var baseUrl = ''https://a8888888888888-pd.apicloud-saas.com/api/'';
       param.url = baseUrl + param.url;
   }
   api.ajax(param, function(ret, err) {
       if (callback) callback(ret, err);
       if (ret) {
           var status =  ret.status;
           if (status && status == 4001) {
               var didShowLogoutAlert = api.getGlobalData({
                   key: ''didShowLogoutAlert''
               });
               if (!didShowLogoutAlert) {
                   api.setGlobalData({
                       key: ''didShowLogoutAlert'',
                       value: true
                   });

                   u.setUserInfo('''');
                   api.alert({
                       msg: ''登录已失效,请重新登录''
                   }, function() {
                       api.setGlobalData({
                           key: ''didShowLogoutAlert'',
                           value: false
                       });
                       api.closeToWin({
                           name: ''root''
                       });
                   });
               }
           }
       }
   });
}` 

使用示例:

`// 在 stml 页面通过 import 引入
import $kn from "../../script/kn.js"

// 调用 ajax 方法
// main.stml,从服务器端更新商品分类列表
fnGetWareTypeList() {
  var that = this;
  $kn.ajax({
      url: ''wareTypes/getWareTypeList'',
      cache: true
  }, function(ret, err) {
      if (ret && ret.data) {
          that.data.wareTypeList = ret.data;
          that.updatedWareList();
      } else {
          api.toast({
              msg: ''获取商品分类失败'',
              duration: 2000,
              location: ''bottom''
          });
      }
  });
}` 

自定义导航栏封装(APICloud组件的使用)

在 components/navigationBar.stml 页面中,我们封装了一个通用的导航栏组件,其中 safe-area 组件能保证里面的内容始终显示在屏幕安全区域内,例如不被状态栏遮挡。在组件页面中,可以通过 this.props 访问父页面传入的属性。

`<template>
    <safe-area>
        <view>
            <viewonclick={this.props.onLeftButton ? this.props.onLeftButton : this.onLeftButton}>
                <image width={this.props.leftButtonWidth ? this.props.leftButtonWidth : 11} src={this.props.leftButtonIcon ? this.props.leftButtonIcon : ''../../image/back.png''} mode="widthFix"></image>
                <text>{this.props.leftButtonText}</text>
            </view>
            <text>{this.props.title}</text>
            <viewonclick={this.props.onRightButton}>
                <image width={this.props.rightButtonWidth ? this.props.rightButtonWidth : 0} src={this.props.rightButtonIcon ? this.props.rightButtonIcon : ''''} mode="widthFix"></image>
                <text>{this.props.rightButtonText}</text>
            </view>
        </view>
    </safe-area>
</template>` 

在其它页面使用该组件时,可以设置导航栏标题,以及左右两边按钮的文字、图片、点击事件等。

`// 引入 navigationBar 组件
import navigationBar from "../../components/navigationBar.stml"

// 在其它 stml 页面使用
// login.stml
<navigationBar title="会员登录" rightButtonText="注册" onRightButton={this.onRightButton}></navigationBar>` 

竖向滚动列表

生鲜电商app开发项目中多处用到了列表展示,比如首页的商品列表、城市选择页面、购物车列表等,项目中的列表都使用 scroll-view 配合 v-for 指令来实现的。

`// cityselector.stml
<scroll-viewscroll-y=''true''>
  <view v-for="(item, index) in dataList">
      <textdata-item={item} onclick={this.fnSelectCity}>{item.name}</text>
  </view>
</scroll-view>` 

如果生鲜电商app开发项目只需要支持 App 端,长列表建议使用 list-view 实现,相比于 scroll-view 一下把所有项全部创建出来,list-view 只会创建出可见区域的那几项,并且基本上整个滚动过程中就只有那几项,滚动过程中会对项进行回收重用,性能相比 scroll-view 有非常大的提升。

横向滚动列表

在首页商品分类、商品详情页推荐商品都使用了横向滚动视图,scroll-x 属性为 true 的时候 scroll-view 的滚动方向为横向,同时布局方向也变成了横向,即 flex-direction 变成了 row。

`// index.stml
<scroll-viewscroll-x show-scrollbar="false">
   <text class={''nav-menu''+(this.data.currentIndex==index?'' nav-menu-selected'':'''')} v-for="(item,index) in wareTypeList" data-index={index} onclick={this.fnSetNavMenuIndex}>{item.name}</text>
</scroll-view>` 

首页下拉刷新、滚动到底部加载更多

在首页(pages/main/main.stml),通过 scroll-view 实现了商品列表展示,同时实现了下拉刷新、滚动到底部加载更多功能。

`<scroll-view scroll-y=''true''enable-back-to-top refresher-enabled refresher-triggered={this.data.refresherTriggered} onrefresherrefresh={this.onrefresherrefresh} onscrolltolower={this.onscrolltolower}>
   <view>
       <imagesrc={this.data.bannerUrl} placeholder="../../image/default_rect.png" thumbnail="false" mode="widthFix">
   </view>
   <view>
       <viewv-for="(item, index) in dataList">
           <view data-id={item.id} data-wareCount={item.wareCount}onclick={this.fnOpenDetailWin}>
               <imagesrc={item.thumbnail} placeholder="../../image/default_square.png"></image>
               <view>
                   <text>{item.name + '' '' + (item.unit||'''')}</text>
                   <text>{item.description}</text>
                   <text>{''¥''+item.price}</text>
                   <text>{''¥''+item.originPrice}</text>
               </view>
               <view>
                   <image class={item.wareCount>0?''minus'':''none''} data-index={index} src="../../image/minus.png" onclick={this.fnMinus}>
                   <text class={item.wareCount>0?''count'':''none''}>{item.wareCount}</text>
                   <imagedata-index={index} src="../../image/add.png" onclick={this.fnAdd}>
               </view>
           </view>
       </view>
   </view>
   <view>
       <text>{this.data.haveMoreData?''加载中...'':''没有啦!''}</text>
   </view>
</scroll-view>` 

下拉刷新使用了 scroll-view 默认的下拉刷新样式,使用 refresher-enabled 字段来开启下拉刷新,为 refresher-triggered 字段绑定了 refresherTriggered 属性来控制下拉刷新状态,需要注意的是,在刷新的事件回调方法里面,我们需要主动设置 refresherTriggered 的值为 true,在数据加载完成后再设置为 false,这样绑定的值有变化,刷新状态才能通知到原生里面。

`onrefresherrefresh(){
    this.data.refresherTriggered = true;
    this.fnGetWareList(false);
}` 

滚动到底部监听了 scroll-view 的 scrolltolower 事件,在滚动到底部后自动加载更多数据,加载更多和下拉刷新都是调用 fnGetWareList 方法请求数据,通过APICloud loadMore_ 参数来进行区分,做分页请求处理。

`fnGetWareList(loadMore_) {
  // 如果是加载更多,需要实现分页
  var limit = 20;
  if (loadMore_) {
      this.data.skip += limit;
  } else {
      this.data.skip = 0;
  }

  var currentCity = $kn.getCurrentCityInfo();
  var that = this;
  // 根据城市和商品分类获得相应的商品列表
  $kn.ajax({
      url: ''wares/getWareList'',
      method: ''post'',
      data: {
          body: {
              supportAreaId: currentCity?currentCity.id:'''',
              wareTypeId: this.data.wareTypeId,
              skip: this.data.skip,
              limit: limit
          }
      }
  }, function(ret, err) {
      if (ret && ret.data) {
          var cartData = api.getGlobalData({key: ''cartInfo''});
          var data = ret.data;
          that.data.haveMoreData = data.length == limit;
          that.getFixedWareList(data, cartData?cartData.wareList:null);
          if (loadMore_) {
              that.data.dataList = that.data.dataList.concat(data);
          } else {
              that.data.dataList = data;
          }
      } else {
          api.toast({
              msg: ''加载数据失败'',
              duration: 2000,
              location: ''bottom''
          });
      }
      that.data.refreshState = ''normal'';
      that.data.refresherTriggered = false;
  });
}` 

商品详情页轮播图

生鲜电商app开发商品详情页路径为 pages/ware/ware.stml,里面轮播图使用 swiper 组件实现,使用 v-for 指令循环 swiper-item,picList 为定义的数组类型的属性。

`<swiperstyle={''height:''+this.data.swiperHeight+''px;''} indicator-dots indicator-active-color="#e3007f" autoplay circular>
    <swiper-item v-for="(_item,index) in picList">
        <imageplaceholder="../../image/default_square.png" src={_item} mode="aspectFit" thumbnail="false"></image>
    </swiper-item>
</swiper>` 

轮播图的宽度跟随屏幕宽度变化,高度则通过属性 swiperHeight 来设置,以保持图片宽高显示比例不变。

登录、注册页面输入处理

登录、注册页面结构相似,从下面的代码可以看到登录页面由两部分组成,顶部为导航栏,剩下的主体内容外面加了一个 scroll-view,加 scroll-view 的目的,一方面是为了保证在小屏幕手机上面显示不完全时能够滚动查看内容,另一个目的则是为了让输入框获取焦点弹出键盘后,只让 scroll-view 内主体部分往上移动,而导航栏部分保持不动。

`// login.stml
<view> 
   <navigationBar title="会员登录" rightButtonText="注册" onRightButton={this.onRightButton}></navigationBar>
   <scroll-viewscroll-y=''true''>
       <view>
           <input id="username"placeholder="用户名"/>
           <input id="password"type="password" placeholder="密码"/>
           <textonclick={this.fnLogin}>登录</text>
           <view>
               <text>第三方登录</text>
               <view>
                   <imagedata-type="Apple" src="../../image/logo_apple.png" onclick={this.fnThirdLogin}/>
                   <imagedata-type="微信" src="../../image/logo_wx.png" onclick={this.fnThirdLogin}/>
               </view>
           </view>
       </view>
   </scroll-view>
</view>` 

个人中心上传头像

在个人中心页面(pages/personalcenter/personalcenter.stml),我们使用了 img 标签来展示用户头像,当用户点击头像后可以修改头像。这里根据用户选择的选择图片方式,我们会先判断是否有对应的权限,如果有权限则调用 api.getPicture 方法选取图片,如果没有权限,则提示用户去设置权限。

`fnSetAvatar() {
  var that = this;
  api.actionSheet({
      title: ''选择图片'',
      cancelTitle: ''取消'',
      buttons: [''拍照'', ''相册'']
  }, function(ret, err) {
      if (ret) {
          var sourceTypes = [''camera'', ''album''];
          if (ret.buttonIndex == (sourceTypes.length + 1)) {
              return;
          }
          var sourceType = sourceTypes[ret.buttonIndex - 1];
          var permission = ret.buttonIndex == 1?''camera'':''photos'';
          var resultList = api.hasPermission({
              list: [permission]
          });
          if (resultList[0].granted) {
              that.getPicture(sourceType);
          } else {
              api.confirm({
                  msg: ''应用需要您的授权才能访问'' + (permission==''camera''?''相机'':''相册''),
                  buttons: [''取消'', ''去设置'']
              }, function(ret1) {
                  if (ret1.buttonIndex == 2) {
                      api.requestPermission({
                          list: [permission],
                      }, function(ret2) {
                          if (ret2.list[0].granted) {
                              that.getPicture(sourceType);
                          }
                      });
                  }
              });
          }
      }
  });
}` 

选取本地图片成功后调用封装好的 ajax 方法上传选择的图片。

`fnUpdateAtavar(avatarUrl_) {
  var that = this;
  $kn.ajax({
      url: ''users/updateAvatar'',
      method: ''post'',
      data: {
          values: {
              filename: ''icon.jpg''
          },
          files: {
              file: avatarUrl_
          }
      }
  }, function(ret, err) {
      if (ret && ret.data) {
          
      } else {
          api.toast({
              msg:''头像修改失败''
          });
      }
  });
}` 

为了让开发者更加快速的学习和使用APICloud平台AVM多端开发技术,我们会继续更新实战项目源码讲解视频。本期生鲜电商app开发案例就到这里,还有企业app开发案例、外卖app开发案例,戳篮子回顾哦!

B2B2C电商系统前端页面开发

B2B2C电商系统前端页面开发

项目简介:

  B2B2C电商系统前端页面开发

将提供的开发资料:

  1.部分前端页面设计稿

  2.完整目录结构及文件命名

  3.Routes 列表及对应 Scenes 名称

  4.完整的Restful API结构字段说明

  5.Mock 场景数据文件

  6.完整的项目系统需求功能说明书【见附件】

项目需求概要:

  1.平台管理后台界面开发(响应式)

  2.商户后台管理界面开发(响应式)

  3.会员中心管理界面开发(响应式)

  4.电商前台流程页面开发

技术开发要求:

  1.整体项目需求只需实现前端页面,后端开发部分均由我方提供

  2.前端组件涉及:

    1.Ant Design

    2.React、React-Router

    3.Redux (React-Redux + Redux-Persist + Redux-Actions + Redux-Saga)

    4.Webpack

    5.Mock

    6.Mocha

  3.Restful 中间交互接口结构: JSON

  4.全部配置信息采用YAML格式设计

  5.系统各大模块均需采用单页应用结构来实现

  6.要求运用Git做版本控制

人员要求:

  1.在团队协作的情况下,能相互紧密配合,共同助力完成项目

  2.在Git版本控制过程,遇代码冲突、Push、Pull前后,有良好的代码比对的忍耐力

  3.有较强的折腾精神,理解能力强、善于沟通

  4.能按规划的时间点交任务

  5.驻场是必要条件,天津本地团队或个人均优先考虑

注:

  1.请以自己第一反应为准:以上内容中所涉及的技术名词若闻所未闻的话,有劳请绕道,以便节省双方时间

  2.以上只是项目一期的开发需求,项目若按要求顺利交付,后期可考虑长期合作,进入项目二期阶段及涉及公司其他主要项目

今天的关于B2B电商APP开发需求点!b2b电商平台开发的分享已经结束,谢谢您的关注,如果想了解更多关于2017年社区超市电商APP开发行业的发展、Android通用框架设计与完整电商APP开发、APICloud AVM多端开发 |《生鲜电商app开发》项目源码深度解析、B2B2C电商系统前端页面开发的相关知识,请在本站进行查询。

本文标签: