Giter Club home page Giter Club logo

tdesign-miniprogram-starter-retail's Introduction

TDesign Logo

License License License Version Downloads

TDesign 零售行业模版示例小程序

TDesign 零售模版示例小程序采用 TDesign 企业级设计体系小程序解决方案 进行搭建,依赖 TDesign 微信小程序组件库,涵盖完整的基本零售场景需求。

🔆 预览

请使用微信扫描以下二维码:

模版小程序二维码

📌 项目介绍

1. 业务介绍

零售行业模版小程序是个经典的单店版电商小程序,涵盖了电商的黄金链路流程,从商品->购物车->结算->订单等。小程序总共包含 28 个完整的页面,涵盖首页,商品详情页,个人中心,售后流程等基础页面。采用 mock 数据进行展示,提供了完整的零售商品展示、交易与售后流程。页面详情:

模版小程序页面详情

主要页面截图如下:

example-home example-sort example-cart example-user-center example-goods-detail example-pay example-order example-order-detail

2. 项目构成

零售行业模版小程序采用基础的 JavaScript + WXSS + ESLint 进行构建,降低了使用门槛。

项目目录结构如下:

|-- tdesign-miniprogram-starter
    |-- README.md
    |-- app.js
    |-- app.json
    |-- app.wxss
    |-- components	//	公共组件库
    |-- config	//	基础配置
    |-- custom-tab-bar	//	自定义 tabbar
    |-- model	//	mock 数据
    |-- pages
    |   |-- cart	//	购物车相关页面
    |   |-- coupon	//	优惠券相关页面
    |   |-- goods	//	商品相关页面
    |   |-- home	//	首页
    |   |-- order	//	订单售后相关页面
    |   |-- promotion-detail	//	营销活动页面
    |   |-- usercenter	//	个人中心及收货地址相关页面
    |-- services	//	请求接口
    |-- style	//	公共样式与iconfont
    |-- utils	//	工具库

3. 数据模拟

零售小程序采用真实的接口数据,模拟后端返回逻辑,在小程序展示完整的购物场景与购物体验逻辑。

4. 添加新页面

  1. pages 目录下创建对应的页面文件夹
  2. app.json 文件中的 "pages" 数组中加上页面路径
  3. [可选] 在 project.config.json 文件的 "miniprogram-list" 下添加页面配置

🔨 构建运行

  1. npm install
  2. 小程序开发工具中引入工程
  3. 构建 npm

🎨 代码风格控制

eslint prettier

📱 基础库版本

最低基础库版本^2.6.5

🎯 反馈

企业微信群 TDesign 团队会及时在企业微信大群中同步发布版本、问题修复信息,也会有一些关于组件库建设的讨论,欢迎微信或企业微信扫码入群交流:

模版小程序页面详情

邮件联系:[email protected]

🔗 TDesign 其他技术栈实现

📃 开源协议

TDesign 遵循 MIT 协议

tdesign-miniprogram-starter-retail's People

Contributors

94dreamer avatar anlyyao avatar dawei1573 avatar exsystem avatar jin0209 avatar jjunyang avatar leejim avatar lixingdecai avatar perisiguiendo avatar rileycai avatar shiyanzhang avatar winfans avatar xiaosansiji avatar xihangzhou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tdesign-miniprogram-starter-retail's Issues

[订单列表] 第二次上拉加载无反应

tdesign-miniprogram-starter-retail 版本

所有分支版本均存在,但线上的预览版正常

重现链接

No response

重现步骤

打开pages/order/order-list/index页面的tab全部,上拉至底部触发加载,然后再次上拉至底部。

期望结果

两次上拉均加载更多数据。

实际结果

再次上拉至底部却没有反应,底部也不显示”没有更多了“字样。

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

No response

[goods-card] 组件的价格显示里没有对 0元的商品做兼容,造成 `goods.price`为0 的时候`wx:if`判读会为 false,价格不显示.

tdesign-miniprogram-starter-retail 版本

1.0.0

重现链接

No response

重现步骤

当模板的 goods-card 组件 接收到 goods.price 值为0的时候会出现 售价不显示的情况,
因为模板里大部地方的判断都没有 考虑过数字 0 的问题,全部使用 wx:if="{{ value}}" 这种方式判断,在遇到数字需要显示0 的时候这里的判断就会出现问题,.

期望结果

我目前把这里修改为

				<price
				  wx:if="{{ goods.price ||  goods.price==0 }}"
				  wr-class="spec-for-price"
				  symbol-class="spec-for-symbol"
				  symbol="{{currency}}"
				  price="{{goods.price}}"
				/>

以兼容这个地方 0元也能显示出来.

实际结果

No response

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

No response

[步进器]iOS端小程序Demo购物车的步进器 + 和 - 上下没有居中对齐。

tdesign-miniprogram-starter-retail 版本

我看的就是最新版本

重现链接

重现步骤

期望结果

iOS端小程序Demo购物车的步进器 + 和 - 上下居中对齐。

实际结果

iOS端小程序Demo购物车的步进器 + 和 - 上下没有居中对齐。

框架版本

小程序Demo

浏览器版本

微信版本8.0.31

系统版本

iOS16

Node版本

补充说明

iOS端小程序Demo购物车的步进器 + 和 - 上下没有居中对齐。

【t-action-sheet】Component is not found in path

tdesign-miniprogram-starter-retail 版本

0.19.0

重现链接

No response

重现步骤

在框架tdesign-miniprogram-starter-retail中任意页面的index.json引用t-action-sheet组件,报以下错误(在模拟器下,console按以下顺序输出错误):
备注(在一个微信小程序的空白项目中,npm i tdesign-miniprogram -S --production,再引用t-action-sheet组件,却没有任何问题。)

Please do not register multiple Pages in pages/xx/index.js(env: Windows,mp,1.06.2206271; lib: 2.23.1)

页面【pages/xx/index]错误:
Error: APP-SERVICE-Engine:Please do not register multiple Pages in pages/xx/index.js

Uncaught FrameworkError
APP-SERVICE-Engine:Please do not register multiple Pages in pages/xx/index.js
Error: APP-SERVICE-Engine:Please do not register multiple Pages in pages/xx/index.js

WAServiceMainContext.js:2 Error: APP-SERVICE-Engine:Please do not register multiple Pages in pages/xx/index.js

Component is not found in path "miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet"

期望结果

No response

实际结果

No response

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

No response

Reporting a vulnerability

Hello!

I hope you are doing well!

We are a security research team. Our tool automatically detected a vulnerability in this repository. We want to disclose it responsibly. GitHub has a feature called Private vulnerability reporting, which enables security research to privately disclose a vulnerability. Unfortunately, it is not enabled for this repository.

Can you enable it, so that we can report it?

Thanks in advance!

PS: you can read about how to enable private vulnerability reporting here: https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository

模拟器启动失败

tdesign-miniprogram-starter-retail 版本

1.0.0

重现链接

No response

重现步骤

No response

期望结果

No response

实际结果

[ pages/home/home.json 文件内容错误] pages/home/home.json: ["usingComponents"]["t-search"]: "tdesign-miniprogram/search/search" 未找到(env: macOS,mp,1.06.2307250; lib: 2.23.1)

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

No response

缺少登陆页面

这个功能解决了什么问题

缺少登陆页面

你建议的方案是什么

缺少登陆页面

[name-edit] `wx.navigateBack({ backRefresh: true })`方式在小程序里无效.

tdesign-miniprogram-starter-retail 版本

1.0.0

重现链接

No response

重现步骤

官方小程序模板里的pages/usercenter/name-edit.js里最后使用了 wx.navigateBack({ backRefresh: true })方式来返回上一页并刷新页面,但是在微信小程序的框架里 wx.navigateBack({}) 并不能携带参数.所以这里 的参数 backRefresh: true并不能被接收到.
这个问题我还和 ChatGPT聊了一下,ai也不能绕过这个弯弯,它也认为可以,还是说返回的时候 参数会被 页面的onLand接收到.呵呵....
页面都加载了如何在次调用 onLand接收参数呢?
这个问题在官方模板的很多需要返回上一页并刷新的地方都存在.这里都应该修改为

       const pages = getCurrentPages();
        const prevPage = pages[pages.length - 2];
        prevPage.setData({
          needRefresh: true,
        });
 ``
 在返回页面用onShow来做判断
 ```js
   onShow() {
    if (this.data.needRefresh) {
      this.init();
      this.setData({
        needRefresh: false,
      });
    }
  },

否则页面都不会进行相依的数据刷新.

期望结果

No response

实际结果

No response

框架版本

No response

浏览器版本

No response

系统版本

No response

Node版本

No response

补充说明

No response

可以用这份设计稿子去开课教学吗

这个功能解决了什么问题

想开课讲一些vue3的课程,可以使用这个仓库里面的设计稿去用vue3实现,然后开课吗?

你建议的方案是什么

希望得到授权允许。谢谢。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.