From 247a8eade9e2da0172215e1e7f9c87c4cec6e617 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Mon, 28 Nov 2022 11:14:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=A6=96=E9=A1=B5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.less | 72 ++- miniprogram/assets/font/demo.css | 539 ++++++++++++++++++ miniprogram/assets/font/demo_index.html | 372 ++++++++++++ miniprogram/assets/font/iconfont.css | 0 miniprogram/assets/font/iconfont.js | 1 + miniprogram/assets/font/iconfont.json | 65 +++ miniprogram/assets/font/iconfont.ttf | Bin 0 -> 3544 bytes miniprogram/assets/font/iconfont.woff | Bin 0 -> 2180 bytes miniprogram/assets/font/iconfont.woff2 | Bin 0 -> 1720 bytes miniprogram/pages/index/index.less | 35 +- miniprogram/pages/index/index.ts | 51 +- miniprogram/pages/index/index.wxml | 35 +- miniprogram/pages/personal/personal.less | 13 + miniprogram/pages/personal/personal.wxml | 3 + miniprogram/pages/sign/index.ts | 2 +- miniprogram/service/shop-api.ts | 28 + .../user/api.ts => service/user-api.ts} | 2 +- miniprogram/utils/request.ts | 18 +- project.config.json | 3 +- 19 files changed, 1164 insertions(+), 75 deletions(-) create mode 100644 miniprogram/assets/font/demo.css create mode 100644 miniprogram/assets/font/demo_index.html create mode 100644 miniprogram/assets/font/iconfont.css create mode 100644 miniprogram/assets/font/iconfont.js create mode 100644 miniprogram/assets/font/iconfont.json create mode 100644 miniprogram/assets/font/iconfont.ttf create mode 100644 miniprogram/assets/font/iconfont.woff create mode 100644 miniprogram/assets/font/iconfont.woff2 create mode 100644 miniprogram/service/shop-api.ts rename miniprogram/{pages/user/api.ts => service/user-api.ts} (85%) diff --git a/miniprogram/app.less b/miniprogram/app.less index 0501f6d..fe7b8d4 100644 --- a/miniprogram/app.less +++ b/miniprogram/app.less @@ -1,3 +1,51 @@ +@font-face { + font-family: "iconfont"; /* Project id 3795683 */ + src: url('./assets/font/iconfont.woff') format('woff2'), + url('./assets/font/iconfont.woff?t=1669601953874') format('woff'), + url('./assets/font/iconfont.ttf?t=1669601953874') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-clear:before { + content: "\e649"; +} + +.icon-circle:before { + content: "\e7b1"; +} + +.icon-date:before { + content: "\e689"; +} + +.icon-qrcode:before { + content: "\e7dd"; +} + +.icon-cash:before { + content: "\e656"; +} + +.icon-clear1:before { + content: "\e600"; +} + +.icon-vips:before { + content: "\e662"; +} + +.icon-search:before { + content: "\e67d"; +} + + /**global style**/ image{ max-width: 100%; @@ -9,14 +57,30 @@ image{ width: @content-widht; margin: auto; } -.user-info { +.content-bg { + // background: linear-gradient(to bottom, #ceb17f 60%, #fff); + background-color: #ceb17f; + height: 140px; + width: 100%; + left: 0; + top: 0; + position: absolute; +} +.content-wrapper { + position: relative; + z-index: 2; + width: 90vw; + margin: auto; + padding: 10px 0; + font-size: 14px; +} + +.user-info { .header { - background-color: #ceb17f; color: white; width: 100%; - padding: 30px 0; - + padding: 20px 0; .content-container { display: flex; justify-content: space-between; diff --git a/miniprogram/assets/font/demo.css b/miniprogram/assets/font/demo.css new file mode 100644 index 0000000..a67054a --- /dev/null +++ b/miniprogram/assets/font/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/miniprogram/assets/font/demo_index.html b/miniprogram/assets/font/demo_index.html new file mode 100644 index 0000000..c6dce36 --- /dev/null +++ b/miniprogram/assets/font/demo_index.html @@ -0,0 +1,372 @@ + + + + + iconfont Demo + + + + + + + + + + + + + +
+

+ + +

+ +
+
+
    + +
  • + +
    clear
    +
    
    +
  • + +
  • + +
    circle
    +
    
    +
  • + +
  • + +
    date
    +
    
    +
  • + +
  • + +
    qrcode
    +
    
    +
  • + +
  • + +
    cash
    +
    
    +
  • + +
  • + +
    clear
    +
    
    +
  • + +
  • + +
    vips
    +
    
    +
  • + +
  • + +
    search
    +
    
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • +
+
+

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1669601953874') format('woff2'),
+       url('iconfont.woff?t=1669601953874') format('woff'),
+       url('iconfont.ttf?t=1669601953874') format('truetype');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + clear +
    +
    .icon-clear +
    +
  • + +
  • + +
    + circle +
    +
    .icon-circle +
    +
  • + +
  • + +
    + date +
    +
    .icon-date +
    +
  • + +
  • + +
    + qrcode +
    +
    .icon-qrcode +
    +
  • + +
  • + +
    + cash +
    +
    .icon-cash +
    +
  • + +
  • + +
    + clear +
    +
    .icon-clear1 +
    +
  • + +
  • + +
    + vips +
    +
    .icon-vips +
    +
  • + +
  • + +
    + search +
    +
    .icon-search +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    clear
    +
    #icon-clear
    +
  • + +
  • + +
    circle
    +
    #icon-circle
    +
  • + +
  • + +
    date
    +
    #icon-date
    +
  • + +
  • + +
    qrcode
    +
    #icon-qrcode
    +
  • + +
  • + +
    cash
    +
    #icon-cash
    +
  • + +
  • + +
    clear
    +
    #icon-clear1
    +
  • + +
  • + +
    vips
    +
    #icon-vips
    +
  • + +
  • + +
    search
    +
    #icon-search
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/miniprogram/assets/font/iconfont.css b/miniprogram/assets/font/iconfont.css new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram/assets/font/iconfont.js b/miniprogram/assets/font/iconfont.js new file mode 100644 index 0000000..c225b5a --- /dev/null +++ b/miniprogram/assets/font/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_3795683='',function(e){var c=(c=document.getElementsByTagName("script"))[c.length-1],t=c.getAttribute("data-injectcss"),c=c.getAttribute("data-disable-injectsvg");if(!c){var o,l,n,i,a,h=function(c,t){t.parentNode.insertBefore(c,t)};if(t&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}o=function(){var c,t=document.createElement("div");t.innerHTML=e._iconfont_svg_string_3795683,(t=t.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",t=t,(c=document.body).firstChild?h(t,c.firstChild):c.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(o,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),o()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(n=o,i=e.document,a=!1,s(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,d())})}function d(){a||(a=!0,n())}function s(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(s,50)}d()}}(window); \ No newline at end of file diff --git a/miniprogram/assets/font/iconfont.json b/miniprogram/assets/font/iconfont.json new file mode 100644 index 0000000..6db679c --- /dev/null +++ b/miniprogram/assets/font/iconfont.json @@ -0,0 +1,65 @@ +{ + "id": "3795683", + "name": "point", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "736618", + "name": "clear", + "font_class": "clear", + "unicode": "e649", + "unicode_decimal": 58953 + }, + { + "icon_id": "833469", + "name": "circle", + "font_class": "circle", + "unicode": "e7b1", + "unicode_decimal": 59313 + }, + { + "icon_id": "1226191", + "name": "date", + "font_class": "date", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "4766912", + "name": "qrcode", + "font_class": "qrcode", + "unicode": "e7dd", + "unicode_decimal": 59357 + }, + { + "icon_id": "5776872", + "name": "cash", + "font_class": "cash", + "unicode": "e656", + "unicode_decimal": 58966 + }, + { + "icon_id": "9358624", + "name": "clear", + "font_class": "clear1", + "unicode": "e600", + "unicode_decimal": 58880 + }, + { + "icon_id": "11903732", + "name": "vips", + "font_class": "vips", + "unicode": "e662", + "unicode_decimal": 58978 + }, + { + "icon_id": "15838525", + "name": "search", + "font_class": "search", + "unicode": "e67d", + "unicode_decimal": 59005 + } + ] +} diff --git a/miniprogram/assets/font/iconfont.ttf b/miniprogram/assets/font/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fea44dcd33b99cacbcd05a0d0aa76652d8513bbd GIT binary patch literal 3544 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 a^zp#HWkfo(d>bee^p%bPhMJGa0RI8`amjZ8 literal 0 HcmV?d00001 diff --git a/miniprogram/assets/font/iconfont.woff2 b/miniprogram/assets/font/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..69d09fb6dbf729882117f84e22e79b60fffc0628 GIT binary patch literal 1720 zcmV;p21ogKPew8T0RR9100y`K3jhEB01emx00wFR0RR9100000000000000000000 z0000SR0d!GgbE6cSc`uFHUcCABnuP(1Rw>3X9s8-DGU)+q~Vc$fo;PcBq}7V1>Hbf zL2&Yp!9WrS6aWYS03djxxz9H{8`>NptCLqkhvZt<{35H$Dgaah$@X-He@}Z|k9o7w zITIAzIuwJH+&LNKlkqkD9sJkC4?3wIzNIxSy9ytno@6b0RCvwj9yphhu2T~ZP;Ej2 z*%`I@_H%W(y>5p$LW4+2ly+Zb^F!3qEFqfALRun26rA?h@q_|yFYpmO0zwp1{6EhJLKb=LtqtKP5D-3HOj0TY zev+y1;HNYd0sL$xl8FZ>6$-zOr^3Lm&(xF@B5B0}pc%|+fL;hTaF(uuPe>N_hjEsy zu55%iWp853cs36tu}$KuY_-qZu2H3_YoyVbgp&ybo=6eNWFzn9TORY~4Z^;%L{{YF zuK@kp3S3M68gg%~;W8fL7eem!Yx>nI_RSmS?OUlyOb2NF73LtfOfN}T@(mZtP;Wyy;&mvEzj|XKIl#`*8U)@)FLPQH(a#-Z zG)ZcZSz*;1xn&JvcuYNO=p1`NH)mi%j~YA(v++JwlN?x>n;RN_qx0NFH_PbAf(_M^ zR|gHxfoId@X{v%;^uzcJ7t|UYkrrL$bfWa)SJqZMF7OcZ`=8KQYY%sk$lU{rHhOgS zaV%Ed=*klUeQABvCF`SDadXEPVXsM3FE> zm@7mV7!Df_h~JbZ_75Lldz=!uE_f*$QV?XjXb67}7B9U|EIQEbVX=np)^k7Wa8867 znoyky9=0!C8M!&2qj7uh(wmUDBkKRc&6tqarRU&AQBR!pIH3RPkaNSaNROqy`KM1l z3uLI2URv<^f#9JDszg;>-fj`ycN=aWv?x-GT1>x(&c~uDD8d*oq9?rt$1*fOYx*-% zlTuSrsnAf#Ef3PseBT^z?;PL!|2&kT4$VFPe=XPewXLmITS@yE*Tyy3rwz*Xx2eAS zwY2-%ShkjqS9%N#Z7^1O)>3r7%i_wg?Adx7=`-1KrM1hpOv^KsE4vB@!j!|r#`z6Q z+@f~FrSgvv^OtKiXfMVw4PY`)?(*eH+oq5#XUZWNcO;$elg>@$nN`;Zhlaf?u07F0} zP(m8qtXBu{h#3GrA=ALo$?)KqLQ0y5jer&|3=s0T0)`x(10|1FH|zBVJWBWjK6(5D z$4coQFQ!GX&!mKW*qtH5BGU4VsG# zMz@Pmnif!U5fh3Pij+Ou)?PbUSY)+6451JysSmK@oHha}$k9EE_47?20`{aRIHKDE zG3J89b-=~KiQqOC@|{%dzC#=@r-Did}By11=F ORGN;_i!rR#0001J)f() -const goodsItems = [ - { - cover: 'https://img10.360buyimg.com/mobilecms/s360x360_jfs/t1/103799/25/31581/57788/62e907f2E85845359/45e0568d42c9803d.jpg!q70.dpg.webp', - title: '轻奢高档女装 半身裙2022春秋女韩版中裙百褶中长款A字裙水兵舞防走光裙子跳舞裙子 酒红色 M', - price: 500, - stock: 20, - id: 1 - }, - { - cover: 'https://img10.360buyimg.com/mobilecms/s360x360_jfs/t1/354/20/1552/77109/5b939e1aE8318003c/b7d99e9173a51fa7.jpg!q70.dpg.webp', - title: '微星(MSI) 微星Cubi-B171N8GL-009BCN迷你静音电脑PC主机BN6000处理器 准系统(不含内存硬盘)', - price: 2000, - stock: 10, - id: 2 - }, - { - cover: 'https://img10.360buyimg.com/mobilecms/s360x360_jfs/t1/83150/10/23413/112462/63776142E6818d77c/2721b6f0420b15d2.jpg!q70.dpg.webp', - title: '爱普生(EPSON)L4268墨仓式品质款 彩色无线多功能一体机(打印复印扫描 wifi 自动双面)新旧包装随机发货', - price: 3000, - stock: 50, - id: 3 - }, - { - cover: 'https://img10.360buyimg.com/mobilecms/s360x360_jfs/t1/103799/25/31581/57788/62e907f2E85845359/45e0568d42c9803d.jpg!q70.dpg.webp', - title: '轻奢高档女装 半身裙2022春秋女韩版中裙百褶中长款A字裙水兵舞防走光裙子跳舞裙子 酒红色 M', - price: 500, - stock: 20, - id: 4 - }, -] Page({ data: { swiperList: [ @@ -51,9 +24,23 @@ Page({ url: null, } ], - goodsItems, - recommendItems: goodsItems.filter(s => s.id <= 3) + goodsItems: [], + recommendItems: [] }, onLoad() { + // 推荐商品 + queryGoodsList(2, 1, 3).then((result) => { + this.setData({ + // @ts-ignore + recommendItems: result.records + }) + }) + // 所有其他的商品 + queryGoodsList(1, 1, 10).then((result) => { + this.setData({ + // @ts-ignore + goodsItems: result.records + }) + }) } }) diff --git a/miniprogram/pages/index/index.wxml b/miniprogram/pages/index/index.wxml index ceb2950..6427ba6 100644 --- a/miniprogram/pages/index/index.wxml +++ b/miniprogram/pages/index/index.wxml @@ -5,7 +5,7 @@ - + @@ -23,18 +23,21 @@ - + {{item.title}} - - {{item.price}}积分 - - + + + {{item.price}}积分 + + + + @@ -58,19 +61,19 @@ - - - {{item.title}} - - - - {{item.price}}积分 + + + {{item.title}} - - + + + {{item.price}}积分 + + + + - diff --git a/miniprogram/pages/personal/personal.less b/miniprogram/pages/personal/personal.less index c782b6a..41c1bae 100644 --- a/miniprogram/pages/personal/personal.less +++ b/miniprogram/pages/personal/personal.less @@ -1 +1,14 @@ /* pages/personal.wxss */ +.grid{ + display: grid; + background-color: white; + border-radius: 10px; + padding: 10px; + display: flex; + text-align: center; + .grid-item{ + flex:1; + width: 25%; + + } +} \ No newline at end of file diff --git a/miniprogram/pages/personal/personal.wxml b/miniprogram/pages/personal/personal.wxml index afb91f5..cccfacf 100644 --- a/miniprogram/pages/personal/personal.wxml +++ b/miniprogram/pages/personal/personal.wxml @@ -1,5 +1,7 @@