Compare commits

...

3 Commits

Author SHA1 Message Date
lsl cc5fc9992e 去掉跳转页面链接
3 years ago
lsl 8aa2d6772c 完整代码提交
3 years ago
lsl a153e3a87f 提交代码
3 years ago

@ -1,4 +1,8 @@
# xzjl-ui
# xzjl-ui 星座精灵小程序仓库
代码开发规范
1.用户在首页(pages/index/index)通过识别NfC或者扫码进入小程序页面成功后进入星运页面(pages/home/xy/index)
星座精灵小程序仓库

@ -17,7 +17,9 @@ App({
},
globalData: {
BASE_URL:"https://api.wish.ydxxkj.top/api",
userInfo: null,
userInfo: {
xyNfc:false
},
xx:"1sd撒啊娃娃"
},
xzjlReq(){

@ -10,7 +10,26 @@
"pages/index/index",
"pages/index/out/out",
"pages/home/xx/xz/xz",
"pages/home/xx/xz/index"
"pages/home/xx/xz/index",
"pages/home/me/manual/manual",
"pages/home/me/member/member",
"pages/home/me/member2/member",
"pages/home/me/gw/gw",
"pages/home/me/ysxy/ysxy",
"pages/home/me/yhsyxy/yhsyxy",
"pages/home/me/cjwt/cjwt",
"pages/home/me/mydevice/device",
"pages/home/me/sq/sq",
"pages/home/me/yjfk/yjfk",
"pages/home/xyc/wdyw/wdyw",
"pages/home/xyc/tdyw/tdyw",
"pages/home/me/grzl/grzl",
"pages/home/jl/jlai",
"pages/home/jl/jlai/jlai",
"pages/home/xx/hy/index",
"pages/home/xx/hy/hx/hx",
"pages/home/xx/hy/xz/zt",
"pages/home/xx/hy/zt/zt"
],
"window": {
"backgroundTextStyle": "light",

@ -1,6 +1,3 @@
/**app.wxss**/
@import 'styles/icons/iconfont.wxss';
.container {
height: 100%;
display: flex;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -4,13 +4,13 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
__DEFINE__(1683163200615, function(require, module, exports) {
__DEFINE__(1683383058316, function(require, module, exports) {
var __TEMP__ = require('./JSEncrypt');var JSEncrypt = __TEMP__['JSEncrypt'];
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, 'JSEncrypt', { enumerable: true, configurable: true, get: function() { return JSEncrypt; } });
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });exports.default = JSEncrypt;
}, function(modId) {var map = {"./JSEncrypt":1683163200616}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200616, function(require, module, exports) {
}, function(modId) {var map = {"./JSEncrypt":1683383058317}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058317, function(require, module, exports) {
var __TEMP__ = require('./lib/jsbn/base64');var b64tohex = __TEMP__['b64tohex'];var hex2b64 = __TEMP__['hex2b64'];
var __TEMP__ = require('./JSEncryptRSAKey');var JSEncryptRSAKey = __TEMP__['JSEncryptRSAKey'];
var __TEMP__ = require('./version.json');var version = __REQUIRE_DEFAULT__(__TEMP__);
@ -217,8 +217,8 @@ var JSEncrypt = /** @class */ (function () {
}());
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, 'JSEncrypt', { enumerable: true, configurable: true, get: function() { return JSEncrypt; } });
}, function(modId) { var map = {"./lib/jsbn/base64":1683163200617,"./JSEncryptRSAKey":1683163200619,"./version.json":1683163200630}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200617, function(require, module, exports) {
}, function(modId) { var map = {"./lib/jsbn/base64":1683383058318,"./JSEncryptRSAKey":1683383058320,"./version.json":1683383058331}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058318, function(require, module, exports) {
var __TEMP__ = require('./util');var int2char = __TEMP__['int2char'];
var b64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var b64pad = "=";
@ -296,8 +296,8 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t
return a;
};exports.b64toBA = b64toBA
}, function(modId) { var map = {"./util":1683163200618}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200618, function(require, module, exports) {
}, function(modId) { var map = {"./util":1683383058319}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058319, function(require, module, exports) {
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });function int2char(n) {
return BI_RM.charAt(n);
@ -358,7 +358,7 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t
//#endregion BIT_OPERATIONS
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200619, function(require, module, exports) {
__DEFINE__(1683383058320, function(require, module, exports) {
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
@ -675,8 +675,8 @@ var JSEncryptRSAKey = /** @class */ (function (_super) {
}(RSAKey));
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, 'JSEncryptRSAKey', { enumerable: true, configurable: true, get: function() { return JSEncryptRSAKey; } });
}, function(modId) { var map = {"./lib/jsbn/base64":1683163200617,"./lib/asn1js/hex":1683163200620,"./lib/asn1js/base64":1683163200621,"./lib/asn1js/asn1":1683163200622,"./lib/jsbn/rsa":1683163200624,"./lib/jsbn/jsbn":1683163200625,"./lib/jsrsasign/asn1-1.0":1683163200628}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200620, function(require, module, exports) {
}, function(modId) { var map = {"./lib/jsbn/base64":1683383058318,"./lib/asn1js/hex":1683383058321,"./lib/asn1js/base64":1683383058322,"./lib/asn1js/asn1":1683383058323,"./lib/jsbn/rsa":1683383058325,"./lib/jsbn/jsbn":1683383058326,"./lib/jsrsasign/asn1-1.0":1683383058329}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058321, function(require, module, exports) {
// Hex JavaScript decoder
// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
// Permission to use, copy, modify, and/or distribute this software for any
@ -743,7 +743,7 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t
};
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200621, function(require, module, exports) {
__DEFINE__(1683383058322, function(require, module, exports) {
// Base64 JavaScript decoder
// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>
// Permission to use, copy, modify, and/or distribute this software for any
@ -834,7 +834,7 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t
};
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200622, function(require, module, exports) {
__DEFINE__(1683383058323, function(require, module, exports) {
// ASN.1 JavaScript decoder
// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>
// Permission to use, copy, modify, and/or distribute this software for any
@ -1401,8 +1401,8 @@ var ASN1Tag = /** @class */ (function () {
}());
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, 'ASN1Tag', { enumerable: true, configurable: true, get: function() { return ASN1Tag; } });
}, function(modId) { var map = {"./int10":1683163200623}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200623, function(require, module, exports) {
}, function(modId) { var map = {"./int10":1683383058324}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058324, function(require, module, exports) {
// Big integer base-10 printing library
// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>
// Permission to use, copy, modify, and/or distribute this software for any
@ -1492,7 +1492,7 @@ var Int10 = /** @class */ (function () {
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, 'Int10', { enumerable: true, configurable: true, get: function() { return Int10; } });
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200624, function(require, module, exports) {
__DEFINE__(1683383058325, function(require, module, exports) {
// Depends on jsbn.js and rng.js
// Version 1.1: support utf-8 encoding in pkcs1pad2
// convert a (hex) string to a bignum object
@ -1965,8 +1965,8 @@ function removeDigestHeader(str) {
// public
// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;
}, function(modId) { var map = {"./jsbn":1683163200625,"./rng":1683163200626}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200625, function(require, module, exports) {
}, function(modId) { var map = {"./jsbn":1683383058326,"./rng":1683383058327}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058326, function(require, module, exports) {
// Copyright (c) 2005 Tom Wu
// All Rights Reserved.
// See "LICENSE" for details.
@ -3722,8 +3722,8 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t
BigInteger.ZERO = nbv(0);
BigInteger.ONE = nbv(1);
}, function(modId) { var map = {"./util":1683163200618}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200626, function(require, module, exports) {
}, function(modId) { var map = {"./util":1683383058319}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058327, function(require, module, exports) {
// Random number generator - requires a PRNG backend, e.g. prng4.js
var __TEMP__ = require('./prng4');var prng_newstate = __TEMP__['prng_newstate'];var rng_psize = __TEMP__['rng_psize'];
var rng_state;
@ -3781,8 +3781,8 @@ var SecureRandom = /** @class */ (function () {
}());
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, 'SecureRandom', { enumerable: true, configurable: true, get: function() { return SecureRandom; } });
}, function(modId) { var map = {"./prng4":1683163200627}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200627, function(require, module, exports) {
}, function(modId) { var map = {"./prng4":1683383058328}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058328, function(require, module, exports) {
// prng4.js - uses Arcfour as a PRNG
var Arcfour = /** @class */ (function () {
function Arcfour() {
@ -3831,7 +3831,7 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t
if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });var rng_psize = exports.rng_psize = 256;
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200628, function(require, module, exports) {
__DEFINE__(1683383058329, function(require, module, exports) {
/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license
*/
/*
@ -5426,8 +5426,8 @@ KJUR.asn1.DERTaggedObject = function (params) {
};
YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);
}, function(modId) { var map = {"../jsbn/jsbn":1683163200625,"./yahoo":1683163200629}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200629, function(require, module, exports) {
}, function(modId) { var map = {"../jsbn/jsbn":1683383058326,"./yahoo":1683383058330}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683383058330, function(require, module, exports) {
/*!
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
@ -5499,13 +5499,13 @@ YAHOO.lang = {
};
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
__DEFINE__(1683163200630, function(require, module, exports) {
__DEFINE__(1683383058331, function(require, module, exports) {
module.exports = {
"version": "3.2.1"
}
}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); })
return __REQUIRE__(1683163200615);
return __REQUIRE__(1683383058316);
})()
//miniprogram-npm-outsideDeps=[]
//# sourceMappingURL=index.js.map

5
node_modules/.package-lock.json generated vendored

@ -17,6 +17,11 @@
"dayjs": "^1.10.7"
}
},
"node_modules/weapp-qrcode-canvas-2d": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/weapp-qrcode-canvas-2d/-/weapp-qrcode-canvas-2d-1.1.2.tgz",
"integrity": "sha512-HQef+xpZiiWDcq8aLZdXnVdNljoYsEWiEKiBYnAnfgqXTeYfC8ApzoB9pMI5mnPFbhtu5xCi8oId1g/86uUl8Q=="
},
"node_modules/wxmp-rsa": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wxmp-rsa/-/wxmp-rsa-2.1.0.tgz",

@ -0,0 +1,9 @@
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

@ -0,0 +1,3 @@
build/*.js
src/qrcode.js
src/index.js

@ -0,0 +1,26 @@
module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
sourceType: 'module'
},
env: {
browser: true,
},
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
extends: 'standard',
"globals": {
__VERSION__: false,
ENV: false,
wx: false
},
// add your custom rules here
'rules': {
// allow paren-less arrow functions
'arrow-parens': 0,
// allow async-await
'generator-star-spacing': 0,
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
}
}

@ -0,0 +1,23 @@
language: node_js
sudo: required
node_js:
- 10.0.0
cache:
directories:
- node_modules
before_install:
- export TZ='Asia/Shanghai'
install:
- npm install
script:
- npm run publish
after_script:
- git init
- git config user.name "${USER_NAME}"
- git config user.email "${USER_EMAIL}"
- git add .
- git commit -m "publish"
- git push -f https://${access_token}@github.com/DoctorWei/weapp.qrcode-canvas-2d HEAD:master
branch: master

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 DoctorWei
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@ -0,0 +1,171 @@
# weapp-qrcode-canvas-2d
[weapp-qrcode-canvas-2d](https://github.com/DoctorWei/weapp-qrcode-canvas-2d) 是使用新版canvas-2d接口在微信小程序中生成二维码外部二维码的js包。canvas 2d 接口支持同层渲染且性能更佳,建议切换使用,可大幅提升速度。
# 仓库地址
- [weapp-qrcode-canvas-2d【码云gitee】](https://gitee.com/WeiDoctor/weapp-qrcode-canvas-2d)
- [weapp-qrcode-canvas-2d【github】](https://github.com/DoctorWei/weapp-qrcode-canvas-2d)
<!-- ![weapp-qrcode-canvas-2d](https://wx4.sinaimg.cn/mw690/77d4598fly1gn4nqmgayzj205k05kgli.jpg) -->
# 测试环境
- 微信小程序基础库版本2.10.4
- 开发者工具版本Stable 1.03.2101150
# Usage
先在 wxml 文件中,创建绘制的 `canvas`,并定义好 `width`, `height`, `id` , `type` 其中type的值必须为`2d`
```html
<canvas type="2d" style="width: 260px; height: 260px;" id="myQrcode"></canvas>
```
## 安装方法1直接引入 js 文件
直接引入 js 文件,使用 `drawQrcode()` 绘制二维码
```js
// 将 dist 目录下weapp.qrcode.esm.js 复制到项目中。路径根据实际引用的页面路径自行改变
import drawQrcode from '../../utils/weapp.qrcode.esm.js'
```
## 安装方法2npm安装
```
npm install weapp-qrcode-canvas-2d --save
```
// 然后需要在小程序开发者工具中构建npm
```js
import drawQrcode from 'weapp-qrcode-canvas-2d'
```
## 安装完成后调用
### 例子1没有使用叠加图片
```js
const query = wx.createSelectorQuery()
query.select('#myQrcode')
.fields({
node: true,
size: true
})
.exec((res) => {
var canvas = res[0].node
// 调用方法drawQrcode生成二维码
drawQrcode({
canvas: canvas,
canvasId: 'myQrcode',
width: 260,
padding: 30,
background: '#ffffff',
foreground: '#000000',
text: '大王顶真帅',
})
// 获取临时路径(得到之后,想干嘛就干嘛了)
wx.canvasToTempFilePath({
canvasId: 'myQrcode',
canvas: canvas,
x: 0,
y: 0,
width: 260,
height: 260,
destWidth: 260,
destHeight: 260,
success(res) {
console.log('二维码临时路径:', res.tempFilePath)
},
fail(res) {
console.error(res)
}
})
})
```
### 例子2使用叠加图片(在二维码中加logo)
```js
const query = wx.createSelectorQuery()
query.select('#myQrcode')
.fields({
node: true,
size: true
})
.exec(async (res) => {
var canvas = res[0].node
var img = canvas.createImage();
img.src = "/image/logo.png"
img.onload = function () {
// img.onload完成后才能调用 drawQrcode方法
var options = {
canvas: canvas,
canvasId: 'myQrcode',
width: 260,
padding: 30,
paddingColor: '#fff',
background: '#fff',
foreground: '#000000',
text: 'https://gitee.com/w386888618/weapp-qrcode-canvas-2d',
image: {
imageResource: img,
width: 80, // 建议不要设置过大,以免影响扫码
height: 80 // 建议不要设置过大,以免影响扫码
round: true // Logo图片是否为圆形
}
}
drawQrcode(options)
// 获取临时路径(得到之后,想干嘛就干嘛了)
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: 260,
height: 260,
destWidth: 600,
destHeight: 600,
canvasId: 'myQrcode',
canvas: canvas,
success(res) {
console.log('二维码临时路径为:', res.tempFilePath)
},
fail(res) {
console.error(res)
}
})
};
})
```
# API
## drawQrcode([options])
### options
Type: Object
| 参数 | 必须 | 说明 | 示例|
| ------ | ------ | ------ | ------ |
| canvas | 必须 | 画布标识,传入 canvas 组件实例 | |
| canvasId | 非 | 绘制的`canvasId` | `'myQrcode'` |
| text | 必须 | 二维码内容 | 'https://github.com/DoctorWei/weapp-qrcode-canvas-2d' |
| width | 非 | 二维码宽度,与`canvas`的`width`保持一致 | 260 |
| padding | 非 | 空白内边距 | 20 |
| paddingColor | 非 | 内边距颜色 | 默认与background一致 |
| background | 非 | 二维码背景颜色,默认值白色 | `'#ffffff'` |
| foreground | 非 | 二维码前景色,默认值黑色 | `'#000000'` |
| typeNumber | 非| 二维码的计算模式,默认值-1 | 8 |
| correctLevel | 非| 二维码纠错级别,默认值为高级,取值:`{ L: 1, M: 0, Q: 3, H: 2 }` | 1 |
| image | 非 | 在 canvas 上绘制图片层级高于二维码v1.1.1+版本支持。具体使用见例子2 | `{imageResource: '', width:80, height: 80, round: true}` |
# TIPS
weapp-qrcode-canvas-2d 参考以下源码
- 参考 [weapp-qrcode](https://github.com/yingye/weapp-qrcode)
- 参考 [jquery-qrcode](https://github.com/jeromeetienne/jquery-qrcode)

@ -0,0 +1,39 @@
var babel = require('rollup-plugin-babel')
var resolve = require('rollup-plugin-node-resolve')
var commonjs = require('rollup-plugin-commonjs')
var eslint = require('rollup-plugin-eslint')
var license = require('rollup-plugin-license')
var path = require('path')
var pkg = require('../package.json')
module.exports = {
input: path.resolve(__dirname, '../src/index.js'),
output: [
{
file: path.resolve(__dirname, '../dist/weapp.qrcode.js'),
format: 'umd'
},
{
file: path.resolve(__dirname, '../examples/wechat-app/utils/weapp.qrcode.js'),
format: 'umd'
}
],
moduleName: 'drawQrcode',
plugins: [
eslint(),
resolve({
jsnext: true,
main: true,
browser: true
}),
commonjs(),
babel({
exclude: 'node_modules/**'
}),
license({
banner: 'weapp.qrcode.js v' + pkg.version + ' (' + pkg.homepage + ')'
})
]
}

@ -0,0 +1,49 @@
var babel = require('rollup-plugin-babel')
var babel = require('rollup-plugin-babel')
var resolve = require('rollup-plugin-node-resolve')
var commonjs = require('rollup-plugin-commonjs')
var eslint = require('rollup-plugin-eslint')
var license = require('rollup-plugin-license')
var uglify = require('rollup-plugin-uglify')
var path = require('path')
var pkg = require('../package.json')
module.exports = {
input: path.resolve(__dirname, '../src/index.js'),
output: [
{
file: path.resolve(__dirname, '../dist/weapp.qrcode.min.js'),
format: 'umd'
},
{
file: path.resolve(__dirname, '../dist/weapp.qrcode.common.js'),
format: 'cjs'
},
{
file: path.resolve(__dirname, '../dist/weapp.qrcode.esm.js'),
format: 'es'
}
],
moduleName: 'drawQrcode',
plugins: [
eslint(),
resolve({
jsnext: true,
main: true,
browser: true
}),
commonjs(),
babel({
exclude: 'node_modules/**'
}),
uglify({
compress: {
// 'drop_console': true
}
}),
license({
banner: 'weapp.qrcode.js v' + pkg.version + ' (' + pkg.homepage + ')'
})
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -0,0 +1,42 @@
{
"name": "weapp-qrcode-canvas-2d",
"version": "1.1.2",
"bundleDependencies": false,
"deprecated": false,
"description": "generate qrcode in wx",
"devDependencies": {
"babel-core": "^6.26.0",
"babel-eslint": "^8.2.1",
"eslint": "^4.16.0",
"eslint-config-standard": "^11.0.0-beta.0",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-node": "^5.2.1",
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-standard": "^3.0.1",
"rollup": "^0.55.1",
"rollup-plugin-babel": "^3.0.3",
"rollup-plugin-commonjs": "^8.3.0",
"rollup-plugin-eslint": "^4.0.0",
"rollup-plugin-license": "^0.6.0",
"rollup-plugin-node-resolve": "^3.0.2",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-uglify": "^3.0.0"
},
"keywords": [
"wechat",
"weapp",
"qrcode",
"canvas",
"canvas 2d",
"canvas-2d"
],
"license": "MIT",
"main": "dist/weapp.qrcode.common.js",
"module": "dist/weapp.qrcode.esm.js",
"scripts": {
"build": "rollup --config build/rollup.prod.config.js",
"dev": "rollup --config build/rollup.dev.config.js -w",
"publish": "rollup --config build/rollup.dev.config.js & npm run build",
"test": "echo \"Error: no test specified\" && exit 1"
}
}

@ -0,0 +1,141 @@
import extend from 'extend'
import {
QRCode,
QRErrorCorrectLevel
} from './qrcode'
// support Chinese
function utf16to8(str) {
var out, i, len, c
out = ''
len = str.length
for (i = 0; i < len; i++) {
c = str.charCodeAt(i)
if ((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i)
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F))
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F))
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F))
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F))
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F))
}
}
return out
}
function drawQrcode(options, debug) {
options = options || {}
options = extend(true, {
canvasId: 'myQrcode',
// canvas: canvas,
text: '爱一个人就要勇敢说出来',
width: 260,
height: 260,
padding: 20,
// paddingColor: '#ffffff', // 默认与background一致
typeNumber: -1,
correctLevel: QRErrorCorrectLevel.H,
background: '#ffffff',
foreground: '#000000',
image: {
imageResource: '',
width: 80,
height: 80,
round: true
}
}, options)
if (!options.canvasId && !options.canvas) {
console.warn('please set canvasId or canvas!')
return
}
if (!options.paddingColor) options.paddingColor = options.background
if (debug) {
var qrcode = new QRCode(options.typeNumber, options.correctLevel)
qrcode.addData(utf16to8(options.text))
qrcode.make()
return new Promise(function (resolve, reject) {
resolve(qrcode);
})
} else {
return new Promise(function (resolve, reject) {
return resolve(createCanvas());
})
}
function createCanvas() {
// create the qrcode itself
var qrcode = new QRCode(options.typeNumber, options.correctLevel)
qrcode.addData(utf16to8(options.text))
qrcode.make()
const dpr = wx.getSystemInfoSync().pixelRatio
var canvas = options.canvas
const ctx = canvas.getContext('2d')
canvas.width = options.width * dpr
canvas.height = options.width * dpr
const width = canvas.width
// 背景色
ctx.fillStyle = options.paddingColor
ctx.fillRect(0, 0, width + options.padding * 2, width + options.padding * 2);
var tileW = (width - options.padding * 2) / qrcode.getModuleCount()
var tileH = (width - options.padding * 2) / qrcode.getModuleCount()
// 开始画二维码
for (var row = 0; row < qrcode.getModuleCount(); row++) {
for (var col = 0; col < qrcode.getModuleCount(); col++) {
ctx.fillStyle = qrcode.isDark(row, col) ? options.foreground : options.background
var w = (Math.ceil((col + 1) * tileW) - Math.floor(col * tileW))
var h = (Math.ceil((row + 1) * tileW) - Math.floor(row * tileW))
ctx.fillRect(Math.round(col * tileW) + options.padding, Math.round(row * tileH) + options.padding, w, h);
}
}
if (options.image.imageResource) {
const imgW = options.image.width * dpr
const imgH = options.image.height * dpr
const dx = (width - imgW) / 2
const dy = (width - imgH) / 2
if (options.image.round) {
// Logo边框
const imgW2 = options.image.width * dpr + 30
const dx2 = (width - imgW2) / 2
const r2 = imgW2 / 2
const cx2 = dx2 + r2;
ctx.beginPath();
ctx.arc(cx2, cx2, r2, 0, 2 * Math.PI);
ctx.fillStyle = '#ffffff'
ctx.fill();
ctx.restore();
// 画Logo
const r = imgW / 2
const cx = dx + r;
const cy = dy + r;
ctx.beginPath();
ctx.arc(cx, cy, r, 0, 2 * Math.PI);
ctx.clip();
ctx.drawImage(options.image.imageResource, dx, dy, imgW, imgW);
ctx.restore();
} else {
ctx.drawImage(options.image.imageResource, dx, dy, imgW, imgH)
ctx.restore();
}
}
return ctx
}
}
export default drawQrcode

File diff suppressed because it is too large Load Diff

6
package-lock.json generated

@ -10,6 +10,7 @@
"license": "ISC",
"dependencies": {
"tdesign-miniprogram": "^1.1.1",
"weapp-qrcode-canvas-2d": "^1.1.2",
"wxmp-rsa": "^2.1.0"
}
},
@ -26,6 +27,11 @@
"dayjs": "^1.10.7"
}
},
"node_modules/weapp-qrcode-canvas-2d": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/weapp-qrcode-canvas-2d/-/weapp-qrcode-canvas-2d-1.1.2.tgz",
"integrity": "sha512-HQef+xpZiiWDcq8aLZdXnVdNljoYsEWiEKiBYnAnfgqXTeYfC8ApzoB9pMI5mnPFbhtu5xCi8oId1g/86uUl8Q=="
},
"node_modules/wxmp-rsa": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wxmp-rsa/-/wxmp-rsa-2.1.0.tgz",

@ -10,6 +10,7 @@
"license": "ISC",
"dependencies": {
"tdesign-miniprogram": "^1.1.1",
"weapp-qrcode-canvas-2d": "^1.1.2",
"wxmp-rsa": "^2.1.0"
}
}

@ -1,10 +1,98 @@
// pages/home/jl/index.js
const app = getApp();//新建页面时 默认引入
const req = app.xzjlReq();//初始化一个的request() 实例
Page({
/**
* 页面的初始数据
*/
data: {
singleShow:false,
loverShow:false,
xingxiangtu:{},
userInfo:{},
loverInfo:{},
showSexLogo:false,//不展示形象修改按钮
},
ShowOrNotLogoS(){
this.setData({singleShow:!this.data.singleShow})
},
ShowOrNotLogoL(){
this.setData({loverShow:!this.data.loverShow})
},
doSetXxtAnimal(){
this.doSetXxt('animal')
},
doSetXxtMale(){
this.doSetXxt('male')
},
doSetXxtFemale(){
this.doSetXxt('female')
},
doSetXxt(e){
req.patchRequest('/api/user/curt',{spriteType:e}).then((res)=>{
if(res.data.code==200){
}
this.getUserInfo()
}).catch((err)=>{
console.log(err);
})
},
doSetXxtAnimalS(){
this.doSetXxtS('animal')
},
doSetXxtMaleS(){
this.doSetXxtS('male')
},
doSetXxtFemaleS(){
this.doSetXxtS('female')
},
doSetXxtS(e){
req.patchRequest('/api/user/curt/lover',{spriteType:e}).then((res)=>{
if(res.data.code==200){
}
this.getUserLoverInfo()
}).catch((err)=>{
console.log(err);
})
},
getXxObj(){/**获取形象对应的图片 */
req.getRequest('/api/dict/values/sprite-type',{}).then((res)=>{
if(res.data.code==200){
this.setData({xingxiangtu:res.data.data})
}
console.log(this.data.xingxiangtu);
}).catch((err)=>{
console.log(err);
})
},
ShowOrNotLogo(){
this.setData({showSexLogo:!this.data.showSexLogo})
},
getUserLoverInfo(){
req.getRequest('/api/user/curt/lover',{}).then((res)=>{
if(res.data.code==200){
this.setData({loverInfo:res.data.data})
}
console.log(this.userInfo);
}).catch((err)=>{
console.log(err);
})
},
getUserInfo(){
req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
}
console.log(this.userInfo);
}).catch((err)=>{
console.log(err);
})
},
go2Jlai(){
wx.navigateTo({
url: '/pages/home/jl/jlai/jlai'
})
},
@ -12,7 +100,9 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getUserInfo()
this.getUserLoverInfo()
this.getXxObj()
},
/**

@ -2,6 +2,7 @@
"usingComponents": {
"t-progress": "tdesign-miniprogram/progress/progress",
"t-popup": "tdesign-miniprogram/popup/popup",
"t-rate": "tdesign-miniprogram/rate/rate"
"t-rate": "tdesign-miniprogram/rate/rate",
"t-image": "tdesign-miniprogram/image/image"
}
}

@ -1,20 +1,21 @@
<swiper class="call">
  <swiper-item class="call1"><!--单人页面-->
<view class="tx"></view><!--最上方头像栏-->
<view class="txtext">为七个字的头像</view><!--头像名字-->
<t-image class="tx" src="{{userInfo.avatar}}"></t-image>
<view class="txtext">{{userInfo.nick}}</view><!--头像名字-->
<view class="gh"></view>
<div class="bkg3"></div><!--点点点,最底层背景图-->
<dic class="bkg1"></dic><!--黄色点背景图-->
<view class="gh"></view>
<view class="xxt"></view><!--形象图-->
<view class="yan1">
<t-image src="{{xingxiangtu[userInfo.spriteType]}}" class="xxt" bindtap="ShowOrNotLogo"></t-image>
<view class="yan1" wx:if="{{showSexLogo}}" data-yan="animal" bindtap="doSetXxtAnimal"><!--动物形象-->
<view class="yan11"></view>
</view>
<view class="yan2">
<view class="yan2" wx:if="{{showSexLogo}}" data-yan="male" bindtap="doSetXxtMale"><!--男性形象-->
<view class="yan12"></view>
</view>
<view class="yan3">
<view class="yan3" wx:if="{{showSexLogo}}" data-yan="female" bindtap="doSetXxtFemale"><!--女性形象-->
<view class="yan13"></view>
</view>
@ -37,36 +38,35 @@
  <swiper-item class="call1"><!--情侣页面-->
<view class="txl"></view><!--头像1-->
<view class="txtextl">七个字的头像</view><!--头像名字1-->
<t-image class="txl" src="{{userInfo.avatar}}"></t-image>
<view class="txtextl">{{userInfo.nick}}</view><!--头像名字1-->
<view class="jiuchan"></view>
<view class="txr"></view><!--头像2-->
<view class="txtextr">为七个字的头像</view><!--头像名字2-->
<t-image class="txr" shape="circle" src="{{loverInfo.avatar}}"></t-image><!--头像2-->
<view class="txtextr">{{loverInfo.nick}}</view><!--头像名字2-->
<dic class="bkg1"></dic><!--黄色点背景图-->
<div class="bkg3"></div><!--点点点,最底层背景图-->
<view class="xxtl"></view><!--左侧人形象-->
<view class="xxtr"></view><!--右侧人形象-->
<t-image src="{{xingxiangtu[userInfo.spriteType]}}" class="xxtl" bindtap="ShowOrNotLogoS"></t-image><!--左侧人形象-->
<t-image src="{{xingxiangtu[loverInfo.spriteType]}}" class="xxtr" bindtap="ShowOrNotLogoL"></t-image><!--右侧人形象-->
<view class="gh"></view><!--下方光环-->
<view class="yanql1">
<view class="yanql1" bindtap="doSetXxtFemale" wx:if="{{singleShow}}"><!--左侧女性按钮-->
<view class="yan13"></view>
</view>
<view class="yanql2">
<view class="yanql2" bindtap="doSetXxtAnimal" wx:if="{{singleShow}}"><!--左侧动物设置图标-->
<view class="yan11"></view>
</view>
<view class="yanql3"></view>
<view class="yanql4">
<view class="yanql3" ></view>
<view class="yanql4" bindtap="doSetXxtFemaleS" wx:if="{{loverShow}}"><!--右侧女性图标设置-->
<view class="yan13"></view>
</view>
<view class="yanql5">
<view class="yanql5" bindtap="doSetXxtAnimalS" wx:if="{{loverShow}}"><!--右侧动物图标设置-->
<view class="yan11"></view>
</view>
<view class="yanql6"></view>
<view class="yan1">
<view class="yan1" bindtap="doSetXxtMale" wx:if="{{singleShow}}"><!--设置个人男性图标-->
<view class="yan12"></view>
</view>
<view class="yan3">
<view class="yan3" wx:if="{{loverShow}}" bindtap="doSetXxtMaleS"><!--设置右边男性图标-->
<view class="yan12"></view>
</view>
@ -88,39 +88,41 @@
<swiper-item class="call1"><!--对方个人页面-->
<view class="tx"></view><!--最上方头像栏-->
<view class="txtext">为七个字的头像</view><!--头像名字-->
<t-image class="tx" shape="circle" src="{{loverInfo.avatar}}"></t-image>
<view class="txtext">{{loverInfo.nick}}</view><!--头像名字-->
<view class="gh"></view>
<div class="bkg3"></div><!--点点点,最底层背景图-->
<dic class="bkg1"></dic><!--黄色点背景图-->
<view class="gh"></view>
<view class="xxtq"></view><!--形象图-->
<t-image src="{{xingxiangtu[loverInfo.spriteType]}}" class="xxtq" bindtap="ShowOrNotLogo"></t-image><!--形象图-->
<div class="k1">
</div>
<div class="k1">{{loverInfo.horoscope.number}}</div><!--幸运数字-->
<div class="ktext1">幸运数字</div>
<div class="ktext2">Ta的运势</div>
<div class="ktext3">幸运颜色</div>
<div class="k2" bindtap="ToastDialog">
<div class="k11"></div>
</div>
<div class="k3"></div>
<div class="k3">{{loverInfo.horoscope.color}}</div>
<t-popup class="ttpopup" visible="{{visible}}" bind:visible-change="onVisibleChange" placement="{{'center'}}">
<view class="ttpopup">
<view class="ztys"></view>
<view class="tips">Tips记得提醒ta哦</view>
<view class="ztys">{{loverInfo.horoscope.summary}}</view>
<view class="rjkzs"><t-rate value="3" icon="{{ ['star-filled', 'star'] }}" color="#FFFF00" /></view>
<view class="jkzs"></view>
<view class="aqzs"></view>
<view class="raqzs"><t-rate value="3" icon="{{ ['star-filled', 'star'] }}" color="#FFFF00" /></view>
<view class="cyzs"></view>
<view class="rcyzs"><t-rate value="3" icon="{{ ['star-filled', 'star'] }}" color="#FFFF00" /></view>
<view class="ysfgx"></view>
</view>
</t-popup>
</swiper-item>
</swiper>
<div class="jltxt" bindtap="go2Jlai">精灵 AI</div>

@ -125,8 +125,10 @@
margin: 0;
padding: 0;
width:750rpx;
height:1624rpx;
height:1624rpx!important;
overflow: hidden;
padding: 0!important;
margin: 0!important;
}
.call1{
@ -207,13 +209,14 @@
.txtextl{
position:absolute;
width:772rpx;
width:166rpx;
height:72rpx;
line-height:72rpx;
color: #9a9a9a;
margin-top:142.67rpx;
margin-left:36rpx;
font-size: 27rpx;
text-align: right;
}
.jiuchan{
position: absolute;
@ -435,6 +438,11 @@
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/circle.png);
color: rgba(248, 99, 42, 1);
font-size: 36px;
font-family: SourceHanSansSC-regular;
}
.k2{
@ -460,6 +468,8 @@
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/circle.png);
color: rgba(108, 108, 108, 1);
font-size: 16px;
}
@ -517,16 +527,17 @@
.ztys{
position: absolute;
width: 542.67rpx;
height: 290rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
left: 0;
right: 0;
margin: 84rpx auto;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/xzt/ztys.png);
left: 46rpx;
top:98rpx;
width: 284px;
height: 159px;
line-height: 50rpx;
color: rgba(108, 108, 108, 1);
font-size: 16px;
}
.jkzs{
@ -605,3 +616,43 @@
margin-top: 708.33rpx;
}
.jltxt{
position: absolute;
left: 300px;
top: 504px;
width: 75px;
height: 35px;
line-height: 70rpx;
border-radius: 10px 0px 0px 10px;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4);
border: 3px solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.tips{
position: absolute;
left: 46rpx;
top: 36rpx;
width: 119px;
height: 18px;
color: rgba(248, 99, 42, 1);
font-size: 12px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.ysfgx{
position: absolute;
left: 90rpx;
top: 486rpx;
width: 240px;
height: 11px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/ysfgx.png);
}

@ -0,0 +1,66 @@
// pages/home/jl/jlai.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,2 @@
<!--pages/home/jl/jlai.wxml-->
<text>pages/home/jl/jlai.wxml</text>

@ -0,0 +1 @@
/* pages/home/jl/jlai.wxss */

@ -0,0 +1,146 @@
// pages/home/jl/jlai/jlai.js
const app = getApp();//新建页面时 默认引入
const req = app.xzjlReq();//初始化一个的request() 实例
Page({
/**
* 页面的初始数据
*/
data: {
times:0,//非会员聊天次数
chatList:[],
ltinfo:'',
isBlank:true,//没有聊天
userInfo:{},
stxx:false,
},
dovipTips(){
wx: wx.showToast({
title: '请购买会员或聊天次数',
icon:'none',
})
},
go2Member(){
console.log('一天啊啊啊')
wx.navigateTo({
url: '/pages/home/me/member/member'
})
},
doLt(e){/**点击快捷选项 */
console.log('到此一游')
this.setData({ltinfo:e.target.dataset.lt})
},
go2BB(e){/**鼠标回显事件 */
this.setData({ltinfo:e.detail.value})
},
go2Send(e){/**发送消息 */
this.setData({isBlank:false})
if(e.target.dataset.lt==''){
wx: wx.showToast({
title: '聊天内容不能为空',
icon:'none',
})
}else{
this.setData({
chatList:this.data.chatList.concat({'type':1,'value':e.target.dataset.lt})
})
let that = this
req.postRequest('/api/v1/chat-records/completions',{'content':e.target.dataset.lt}).then((res)=>{
console.log(res)
console.log(res.data)
if(res.data.code==500){
console.log('500状态码')
wx: wx.showToast({
title: '获取星座精灵AI聊天消息超时',
icon:'none',
})
}
if(res.data.code==200){
this.setData({times:res.data.data.freeChatCount})
console.log(res)
this.setData({
chatList:this.data.chatList.concat({'type':2,'value':res.data.data.content})
})
}
console.log(this.userInfo);
}).catch((err)=>{
console.log(err);
})
this.setData({ltinfo:''})
}
},
getUserInfo(){
req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
if(!res.data.data.isChatVip){
this.setData({times:res.data.data.freeChatCount})
}
console.log(this.data.times)
}
console.log(this.userInfo);
}).catch((err)=>{
console.log(err);
})
},
go2Reback(){
wx.navigateBack({ changed: true });
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getUserInfo()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,7 @@
{
"usingComponents": {
"t-image": "tdesign-miniprogram/image/image",
"t-input": "tdesign-miniprogram/input/input",
"t-textarea": "tdesign-miniprogram/textarea/textarea"
}
}

@ -0,0 +1,61 @@
<!--pages/home/jl/jlai/jlai.wxml-->
<view class="reback" bindtap="go2Reback"></view><!--左上角返回图标-->
<view class="title">星座精灵AI</view><!--标题星座精灵AI-->
<view wx:if="{{!userInfo.isChatVip}}" class="mfcs">免费次数剩余:{{times}}条</view><!--非会员展示剩余免费次数-->
<!--没有聊天初次展示-->
<view class="ltkjj" wx:if="{{isBlank&&times!=0}}">
<view class="ltat ltxzys" data-lt="星座运势" bindtap="doLt">星座运势</view>
<view class="ltat ltxzzb" data-lt="星座占卜" bindtap="doLt">星座占卜</view>
<view class="ltat lttlzb" data-lt="塔罗占卜" bindtap="doLt">塔罗占卜</view>
<view class="ltat ltqgqs" data-lt="情感倾诉" bindtap="doLt">情感倾诉</view>
<view class="ltat ltwm" data-lt="我和Ta未来会怎样" bindtap="doLt">我和Ta未来会怎样</view>
<view class="ltat wzmxyx" data-lt="文字冒险游戏" bindtap="doLt">文字冒险游戏</view>
<view class="ltat ltqs" data-lt="帮我写一封情书" bindtap="doLt">帮我写一封情书</view>
<t-image src="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/jlaitx.png" shape="circle" class="tximg"></t-image>
<view class="ltwzk">你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧!
</view>
</view>
<!--不是会员,进来就没有聊天次数了-->
<view class="ltkjj1" wx:if="{{isBlank&&userInfo.freeChatCount==0&&!isChatVip}}">
<view class="ltat ltxzys" >星座运势</view>
<view class="ltat ltxzzb" >星座占卜</view>
<view class="ltat lttlzb" >塔罗占卜</view>
<view class="ltat ltqgqs" >情感倾诉</view>
<view class="ltat ltwm">我和Ta未来会怎样</view>
<view class="ltat wzmxyx" >文字冒险游戏</view>
<view class="ltat ltqs" >帮我写一封情书</view>
<t-image src="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/jlaitx.png" shape="circle" class="tximg"></t-image>
<view class="ltwzk">你好,我是你的星座守护精灵。除此之外,我还可以帮你解答更多问题。快来跟我聊聊吧!
</view>
<view class="kthybtn" bindtap="go2Member">开通会员</view>
<view class="kthytips" >开通会员享不限次畅聊</view>
<view class="hyhgtx" bindtap="go2Member"></view>
</view>
<view class="chatbox" wx:if="{{chatList&&(!isBlank)}}"><!--聊天内容-->
<view class="chatbox1" wx:for="{{chatList}}" wx:key="index">
<t-image src="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/jlaitx.png" shape="circle" class="chattoux" wx:if="{{item.type==2}}"></t-image>
<t-image src="{{userInfo.avatar}}" class="chattoux" wx:if="{{item.type==1}}"></t-image>
<view class="chatinfo">{{item.value}}</view>
</view>
<view class="dd1"></view>
</view>
<!--不是会员且聊天次数为0-->
<view class="ltk1" wx:if="{{!isChatVip&&times==0}}" bindtap="dovipTips">
<view class="ltk1txt">
<t-textarea class="ltk1txt1" value="{{ltinfo}}" placeholder="请开通会员或购买次数" name="{{ltinfo}}" bindblur="go2BB" data-lt="{{ltinfo}}" disabled></t-textarea>
</view>
<view class="fsan" data-lt="{{ltinfo}}"></view><!--发送按钮-->
<view class="addbtn"></view><!--加号按钮-->
</view>
<!--是会员或者剩余聊天次数不为0-->
<view class="ltk1" wx:if="{{isChatVip||times!=0}}">
<view class="ltk1txt">
<t-textarea class="ltk1txt1" value="{{ltinfo}}" placeholder="输入聊天内容" bindblur="go2BB" data-lt="{{ltinfo}}" bindchange="go2BB"></t-textarea>
</view>
<view class="fsan" bindtap="go2Send" data-lt="{{ltinfo}}"></view><!--发送按钮-->
<view class="addbtn"></view><!--加号按钮-->
</view>

@ -0,0 +1,293 @@
/* pages/home/jl/jlai/jlai.wxss */
.reback{
position: absolute;
margin-left: 20rpx;
margin-top:108rpx;
width:48rpx;
height:48rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/reback.png);
}
.title{
position: absolute;
left: 278rpx;
top: 108rpx;
width: 196rpx;
height: 48rpx;
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.mfcs{
position: absolute;
left: 0px;
top: 88px;
width: 375px;
height: 44px;
line-height: 88rpx;
opacity: 0.8;
background: linear-gradient(222.54deg, rgba(248,99,42,1) 14.03%,rgba(249,135,89,1) 85.21%);
text-align: center;
color: rgba(255, 255, 255, 1);
font-size: 14px;
}
.ltkjj{
position: absolute;
left: 16px;
top: 164px;
width: 343px;
height: 382px;
line-height: 20px;
opacity: 0.9;
border-radius: 15px;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
box-shadow: 1px 2px 6px 0px rgba(0, 0, 0, 0.2);
font-family: Arial;
}
.ltkjj1{
position: absolute;
left: 16px;
top: 164px;
width: 343px;
height: 1000rpx;
line-height: 20px;
opacity: 0.9;
border-radius: 15px;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
box-shadow: 1px 2px 6px 0px rgba(0, 0, 0, 0.2);
font-family: Arial;
}
.ltat{
position: absolute;
height: 50px;
line-height: 100rpx;
opacity: 0.9;
border-radius: 24px;
background: linear-gradient(222.69deg, rgba(248,99,42,1) 14.04%,rgba(249,135,89,1) 88.56%);
color: rgba(16, 16, 16, 1);
font-size: 12px;
text-align: center;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4);
font-family: Arial;
color: rgba(255, 255, 255, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.ltxzys{
left: 38rpx;
top: 64rpx;
width: 88px;
}
.ltxzzb{
left: 128px;
top: 64rpx;
width: 88px;
}
.lttlzb{
top: 64rpx;
width: 88px;
left:237px;
}
.ltqgqs{
width:118px;
left:38rpx;
top:228rpx;
}
.ltwm{
left:158px;
top:228rpx;
width:167px;
}
.wzmxyx{
left:38rpx;
width:137px;
top:392rpx;
}
.ltqs{
left:172px;
width:153px;
top:392rpx;
}
.tximg{
position: absolute;
left: 38rpx;
top: 278px;
width: 42px;
height: 42px;
border: 3px solid rgba(161, 134, 81, 1);
background-color: coral;
}
.ltwzk{
position: absolute;
left: 154rpx;
top: 278px;
width: 241px;
height: 72px;
color: rgba(108, 108, 108, 1);
font-size: 17px;
line-height: 43rpx;
text-align: justify;
font-family: SourceHanSansSC-regular;
}
.ltk1{
position: absolute;
left: 0px;
top: 722px;
width: 375px;
height: 90px;
line-height: 20px;
background-color: rgba(248, 248, 248, 1);
text-align: center;
border: 1px solid rgba(255, 0, 0, 0);
}
.ltk1txt{
position: absolute;
left: 16px;
top: 14rpx;
width: 265px;
height: 84rpx;
border-radius: 5px;
color: rgba(136, 136, 136, 1);
font-size: 14px;
text-align: left;
font-family: Arial;
border: 1px solid rgba(255, 0, 0, 0);
}
.t-textarea{
margin: 0!important;
padding: 0!important;
height:84rpx;
line-height: 84rpx!important;
}
.ltk1txt1{
width: 265px;
height: 84rpx;
}
.t-textarea__wrapper-inner{
}
.t-textarea__label{
height:84rpx;
line-height: 84rpx!important;
}
.fsan{
position: absolute;
left: 332px;
top: 32rpx;
width: 27px;
height: 27px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/chatbtn.png);
}
.addbtn{
position: absolute;
left: 293px;
top: 30rpx;
width: 27px;
height: 27px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/addbtn.png);
}
.chatbox{
position: absolute;
top:132px;
width:750rpx;
height:1360rpx;
overflow: auto;
}
.chatbox1{
width:750rpx;
height:148rpx;
display: block;
}
.chattoux{
margin-left: 32rpx;
margin-top: 32rpx;
width: 84rpx;
height: 84rpx;
display: online;
}
.chatinfo{
margin-left: 74px;
margin-top: -70rpx;
width: 280px;
height: 90px;
color: rgba(79, 79, 79, 1);
font-size: 17px;
text-align: justify;
font-family: SourceHanSansSC-regular;
}
.dd1{
width:750rpx;
height:160rpx;
}
.kthybtn{
position: absolute;
left: 224rpx;
top: 826rpx;
width: 120px;
height: 35px;
line-height: 70rpx;
border-radius: 10px;
background: linear-gradient(222.54deg, rgba(248,99,42,1) 14.03%,rgba(249,135,89,1) 85.21%);
color: rgba(16, 16, 16, 1);
font-size: 12px;
text-align: center;
font-family: Arial;
color: rgba(255, 255, 255, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.kthytips{
position: absolute;
top: 448px;
width: 343px;
height: 20px;
color: rgba(108, 108, 108, 1);
font-size: 12px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.hyhgtx{
position: absolute;
left: 196px;
top: 371px;
width: 59.8px;
height: 66.45px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/hyhg.png);
}

@ -0,0 +1,66 @@
// pages/home/me/cjwt/cjwt.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "常见问题",
"usingComponents": {}
}

@ -0,0 +1,5 @@
<!--pages/home/me/cjwt/cjwt.wxml 常见问题-->
<!--<!--<!--<web-view src="https://xzjl-api.windymuse.cn/"></web-view>-->
<view>跳转页面,待完善</view>-->
<view>跳转页面,待完善</view>-->
<view>跳转页面,待完善</view>

@ -0,0 +1 @@
/* pages/home/me/cjwt/cjwt.wxss */

@ -0,0 +1,171 @@
// pages/home/me/grzl/grzl.js
const app = getApp();//新建页面时 默认引入
const req = app.xzjlReq();//初始化一个的request() 实例
Page({
/**
* 页面的初始数据
*/
data: {
avatars:[
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx1.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx2.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx3.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx4.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx5.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx6.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx1.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx2.png',
'https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tx3.png',
],
sexs:[{label:'男生',value:'male'},{label:'女生',value:'female'}],
sexVisible:false,
note:'',
cVisible:false,
userInfo:{}
},
changeAvatar(e){
req.patchRequest('/api/user/curt',{avatar:e.target.dataset.img}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
wx.showToast({
title:'修改成功',
icon: 'none',
duration: 1000
})
}
}).catch((err)=>{
console.log(err);
})
},
onColumnChange(e) {/**修改性别 */
req.patchRequest('/api/user/curt',{spriteType:e.detail.value[0]}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
wx.showToast({
title:'修改成功',
icon: 'none',
duration: 1000
})
}
}).catch((err)=>{
console.log(err);
})
},
handleCalendar(){
this.setData({cVisible:true})
console.log('11111')
},
changeDate(e) {/**修改日期 */
const { value } = e.detail;
const format = (val) => {
const date = new Date(val);
return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
};
this.setData({
note: format(value),
});
req.patchRequest('/api/user/curt',{date:format(value)}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
wx.showToast({
title:'修改成功',
icon: 'none',
duration: 1000
})
}
}).catch((err)=>{
console.log(err);
})
},
changeSex(){
this.setData({sexVisible:true})
console.log('修改性别')
},
doChangeName1(e){
console.log(e)
console.log(e.detail.value)
req.patchRequest('/api/user/curt',{nick:e.detail.value}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
wx.showToast({
title:'修改成功',
icon: 'none',
duration: 1000
})
}
}).catch((err)=>{
console.log(err);
})
},
getUserInfo(){
req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
}
console.log(this.userInfo);
}).catch((err)=>{
console.log(err);
})
},
go2Reback(){
wx.navigateBack({ changed: true });
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getUserInfo()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,8 @@
{
"usingComponents": {
"t-input": "tdesign-miniprogram/input/input",
"t-calendar": "tdesign-miniprogram/calendar/calendar",
"t-picker": "tdesign-miniprogram/picker/picker",
"t-picker-item": "tdesign-miniprogram/picker-item/picker-item"
}
}

@ -0,0 +1,40 @@
<!--pages/home/me/grzl/grzl.wxml-->
<!--返回图标-->
<view class="reback" bindtap="go2Reback"></view>
<view class="title">修改资料</view>
<image class="avatar1" src="{{userInfo.avatar}}"></image>
<view class="cameralogo"></view>
<view class="yhtx"></view>
<form bindsubmit="go2UpdateUserInfo">
</form>
<t-input focus="doChangeName1" class="nickname" name="nick" placeholder="昵称不能为空" maxlength="7" value="{{userInfo.nick}}" bindblur="doChangeName1" ></t-input>
<view class="xbwz">性别</view>
<view class="xzwz">星座</view>
<view class="srwz">生日</view>
<view class="jltxtxt">精灵头像</view>
<view class="xbtxt" bindtap="changeSex">{{userInfo.spriteType=='male'?'男生':'女生'}}</view>
<view class="ssxz">{{userInfo.horoscope.name}}</view>
<view class="srtxt" bindtap="handleCalendar">{{userInfo.horoscope.date}}</view><!--生日-->
<t-calendar visible="{{cVisible}}" bind:confirm="changeDate" />
<t-picker
visible="{{sexVisible}}"
value="{{cityValue}}"
data-key="city"
title="选择性别"
cancelBtn="取消"
confirmBtn="确认"
bindchange="onPickerChange"
bindpick="onColumnChange"
bindcancel="onPickerCancel"
>
<t-picker-item options="{{sexs}}" />
</t-picker>
<view class="txcheck" >
<view wx:for="{{avatars}}" class="itemxx"><image class="iii" src="{{item}}" data-img="{{item}}" bindtap="changeAvatar"></image></view>
</view>

@ -0,0 +1,185 @@
/* pages/home/me/grzl/grzl.wxss */
.reback{
position: absolute;
margin-left: 20rpx;
margin-top:108rpx;
width:48rpx;
height:48rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/reback.png);
}
.title{
position: absolute;
left: 278rpx;
top: 108rpx;
width: 196rpx;
height: 48rpx;
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.yhtx{
position: absolute;
left: 74px;
top: 109px;
width: 140rpx;
height: 140rpx;
border-radius: 74rpx;
border: 3px solid rgba(161, 134, 81, 1);
}
.avatar1{
position: absolute;
left: 77px;
top: 112px;
width: 140rpx;
height: 140rpx;
border-radius: 74rpx;
}
.cameralogo{
position: absolute;
left: 128px;
top: 162px;
width: 13px;
height: 13px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/camera.png);
}
.nickname{
z-index: 999;
position: absolute;
left: 176px;
top: 131px;
width: 126px;
height: 27px;
color: rgba(108, 108, 108, 1);
font-size: 18px;
text-align: left;
font-family: SourceHanSansSC-medium;
}
.xzwz{
position: absolute;
left: 32px;
top: 436px;
width: 32px;
height: 24px;
color: rgba(108, 108, 108, 1);
font-size: 16px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.srwz{
position: absolute;
left: 32px;
top: 380px;
width: 32px;
height: 24px;
color: rgba(108, 108, 108, 1);
font-size: 16px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.xbwz{
position: absolute;
left: 32px;
top: 324px;
width: 32px;
height: 24px;
color: rgba(108, 108, 108, 1);
font-size: 16px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.ssxz{
position: absolute;
left: 291px;
top: 436px;
width: 52px;
height: 24px;
color: rgba(154, 154, 154, 1);
font-size: 16px;
text-align: right;
font-family: SourceHanSansSC-regular;
}
.rlt{
position: absolute;
left: 260px;
top: 380px;
width: 83px;
height: 24px;
color: rgba(154, 154, 154, 1);
font-size: 16px;
text-align: right;
font-family: SourceHanSansSC-regular;
}
.srtxt{
position: absolute;
left: 500rpx;
top: 380px;
width: 200rpx;
height: 24px;
color: rgba(154, 154, 154, 1);
font-size: 16px;
text-align: right;
font-family: SourceHanSansSC-regular;
}
.xbtxt{
position: absolute;
left: 311px;
top: 324px;
width: 32px;
height: 24px;
color: rgba(154, 154, 154, 1);
font-size: 16px;
text-align: right;
font-family: SourceHanSansSC-regular;
}
.jltxtxt{
position: absolute;
left: 25px;
top: 200px;
width: 56px;
height: 21px;
color: rgba(154, 154, 154, 1);
font-size: 14px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.txcheck{
position: absolute;
left: 0px;
top: 221px;
width: 422px;
height: 82px;
text-align: center;
overflow: auto;
display: flex;
}
.itemxx{
margin-left: 21px;
margin-top: 32rpx;
width: 50px;
height: 50px;
display: flex;
}
.iii{
width: 50px;
height: 50px;
border-radius: 50rpx;
}

@ -0,0 +1,66 @@
// pages/home/me/gw/gw.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "了解星座精灵",
"usingComponents": {}
}

@ -0,0 +1,4 @@
<!--pages/home/me/gw/gw.wxml-->
<!--星座精灵官网-->
<!--<web-view src="https://xzjl-api.windymuse.cn/"></web-view>-->
<view>跳转页面,待完善</view>

@ -0,0 +1 @@
/* pages/home/me/gw/gw.wxss */

@ -1,39 +0,0 @@
@font-face {
font-family: "iconfont";
src: url('iconfont.eot?t=8a9a2e45cddd46c8252416b9bb21c7e4'); /* IE9 */
src: url('iconfont.eot?t=8a9a2e45cddd46c8252416b9bb21c7e4#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('iconfont.woff?t=8a9a2e45cddd46c8252416b9bb21c7e4') format('woff2'),
url('iconfont.woff?t=8a9a2e45cddd46c8252416b9bb21c7e4') format('woff'), /* chrome、firefox */
url('iconfont.ttf?t=8a9a2e45cddd46c8252416b9bb21c7e4') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url('iconfont.svg?t=8a9a2e45cddd46c8252416b9bb21c7e4#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-xzlogout:before {
content: "\e008";
}
.icon-xzversion:before {
content: "\e009";
}
.icon-xzysxy:before {
content: "\e00a";
}
.icon-xzyhxy:before {
content: "\e00b";
}
.icon-xzcjwt:before {
content: "\e00c";
}
.icon-xzphone:before {
content: "\e00d";
}
.icon-xzjl:before {
content: "\e00e";
}

@ -9,8 +9,93 @@ Page({
* 页面的初始数据
*/
data: {
showConfirm: false
bdsjhVisible:false,
avatar:"",
userInfo:{
avatar:"",
nick:"",
isChatVip:false,//是否会员
phone:'',
hasPhone:false
}
},
doBdsjh(){
console.log('绑定手机号')
this.setData({bdsjhVisible:true})
},
doCancelSjh(){
this.setData({bdsjhVisible:false})
},
doEXecSjh(){
this.setData({bdsjhVisible:false})
},
go2Grzl(){
wx.navigateTo({
url: '/pages/home/me/grzl/grzl'
})
},
go2Member(){/**跳转到会员购买页面 */
wx.navigateTo({
url: '/pages/home/me/member/member'
})
},
go2Member2(){/**跳转到会员续费页面 */
wx.navigateTo({
url: '/pages/home/me/member2/member'
})
},
go2Gw(){/**跳转到会员购买页面 */
wx.navigateTo({
url: '/pages/home/me/gw/gw'
})
},
go2Ysxy(){/**跳转到会员购买页面 */
wx.navigateTo({
url: '/pages/home/me/ysxy/ysxy'
})
},
go2Yhsyxy(){/**跳转到会员购买页面 */
wx.navigateTo({
url: '/pages/home/me/yhsyxy/yhsyxy'
})
},
go2Cjwt(){/**跳转到会员购买页面 */
wx.navigateTo({
url: '/pages/home/me/cjwt/cjwt'
})
},
go2Device(){
wx.navigateTo({
url: '/pages/home/me/mydevice/device'
})
},
go2Sq(){
wx.navigateTo({
url: '/pages/home/me/sq/sq'
})
},
go2Yjfk(){
wx.navigateTo({
url: '/pages/home/me/yjfk/yjfk'
})
},
go2Manual(){
wx.navigateTo({
url: '/pages/home/me/manual/manual'
})
},
getUserInfo(){
req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code==200){
this.setData({userInfo:res.data.data})
}
console.log(this.userInfo);
}).catch((err)=>{
console.log(err);
})
},
ReqData(){
req.getRequest('/getList',{id: 1024}).then((res)=>{
@ -24,21 +109,21 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.ReqData()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
this.getUserInfo()
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.getUserInfo()
},
/**
@ -87,8 +172,6 @@ Page({
}
,
ljXzjl(){
console.log(app.globalData.xx)
},
logout() {
const dialogConfig = {

@ -3,6 +3,10 @@
"t-cell": "tdesign-miniprogram/cell/cell",
"t-icon": "tdesign-miniprogram/icon/icon",
"t-toast": "tdesign-miniprogram/toast/toast",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
"t-dialog": "tdesign-miniprogram/dialog/dialog",
"t-avatar": "tdesign-miniprogram/avatar/avatar",
"t-avatar-group": "tdesign-miniprogram/avatar-group/avatar-group",
"t-popup": "tdesign-miniprogram/popup/popup",
"t-input": "tdesign-miniprogram/input/input"
}
}

@ -1,53 +1,55 @@
<!--pages/home/me/indexx.wxml-->
<t-avatar class="avatar" size="large" image="{{userInfo.avatar}}" />
<view class="xxt"></view><!--星星背景图片-->
<view class="txk"> </view><!--头像框-->
<view class="txkx"> </view><!--头像框里面的图标-->
<view class="nickname">此处昵称七个字</view><!--用户昵称-->
<view class="hybs"> </view><!--会员图标-->
<view class="hydqr"> 还有21天到期</view><!--会员图标-->
<view class="txk" bindtap="go2Grzl"></view><!--头像框-->
<view class="txkx" bindtap="go2Grzl"> </view><!--头像框里面的图标-->
<view class="nickname">{{userInfo.nick}}</view><!--用户昵称-->
<view class="unhybs" wx:if="{{!userInfo.isChatVip}}" bindtap="go2Member"> </view><!--非会员图标-->
<view class="hybs" wx:if="{{userInfo.isChatVip}}" bindtap="go2Member2"> </view><!--会员图标-->
<view class="hydqr" wx:if="{{userInfo.isChatVip}}"> 还有21天到期</view><!--会员图标-->
<view class="gnk">
<view class="smst">说明书</view><!--说明书文字-->
<view class="smst" >说明书</view><!--说明书文字-->
<view class="jrsqt">加入社群</view><!--加入社群文字-->
<view class="wdsbt">我的设备</view><!--我的设备文字-->
<view class="sx"></view>
<view class="circle k1"><!--框1-->
<view class="circle k1" bindtap="go2Manual"><!--框1-->
<view class="sms"></view>
</view>
<view class="circle k2"><!--框2-->
<view class="circle k2" bindtap="go2Device"><!--框2-->
<view class="sq"></view>
</view>
<view class="circle k3"><!--框3-->
<view class="circle k3" bindtap="go2Sq"><!--框3-->
<view class="sb"></view>
</view>
</view><!--功能操作框-->
<view class="mycell" bindtap="ljXzjl"><!--cell菜单单元格-->
<t-cell hover arrow>
<view class="mycell" bindtap="ljXzjl" ><!--cell菜单单元格-->
<t-cell hover arrow bindtap="go2Gw">
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/xzjl.png" size="50rpx"/>
<text slot="title" class="mycelltext" >了解星座精灵</text>
</t-cell>
<t-cell hover arrow>
<t-cell hover bindtap="doBdsjh" >
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/phone.png" size="50rpx"/>
<text slot="title" class="mycelltext" >绑定手机号</text>
<text slot="note" >18650351666</text>
<text slot="note" wx:if="{{userInfo.hasPhone}}">{{userInfo.phone}}</text>
</t-cell>
<t-cell hover arrow>
<t-cell hover arrow bindtap="go2Cjwt">
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/cjwt.png" size="50rpx"/>
<text slot="title" class="mycelltext" >常见问题</text>
</t-cell>
<t-cell hover arrow>
<t-cell hover arrow bindtap="go2Yjfk">
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/yjfk.png" size="50rpx"/>
<text slot="title" class="mycelltext" >意见反馈</text>
</t-cell>
<t-cell hover arrow>
<t-cell hover arrow bindtap="go2Yhsyxy">
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/yhsyxy.png" size="50rpx"/>
<text slot="title" class="mycelltext" >用户使用协议</text>
</t-cell>
<t-cell hover arrow>
<t-cell hover arrow bindtap="go2Ysxy">
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/ysxy.png" size="50rpx"/>
<text slot="title" class="mycelltext" >隐私协议</text>
</t-cell>
<t-cell hover arrow>
<t-cell hover>
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/xcxbb.png" size="50rpx"/>
<text slot="title" class="mycelltext" >小程序版本</text>
<text slot="note" >V1.0</text>
@ -56,7 +58,28 @@
<t-icon slot="left-icon" name="https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/logout.png" size="50rpx"/>
<text slot="title" class="mycelltext" >退出登录</text>
</t-cell>
<view class="meempty"></view>
<t-toast id="t-toast" />
<t-dialog id="t-dialog" />
</view>
<t-popup visible="{{bdsjhVisible}}" placement="center">
<view class="bdsjh">
<view class="bdsjhm1">绑定手机号码</view>
<view class="bdsjhm2">如设备丢失,可凭手机号码找回账号</view>
<view class="sjhm1">手机号码</view>
<view class="yzm1">验证码</view>
<view class="input-example sjhminput1">
<t-input value="{{userInfo.phone}}" placeholder="请输入手机号" />
</view>
<view class="input-example sjhminput2">
<t-input placeholder="请输入验证码" />
</view>
<view class="sjhbkx"></view>
<view class="yzmbkx"></view>
<view class="cxhq">重新获取</view>
<view class="qxSjh" bindtap="doCancelSjh">取消</view>
<view class="wcSjh" bindtap="doEXecSjh">完成</view>
</view>
</t-popup>

@ -20,9 +20,6 @@
height: 140rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/txk.png);
color:#9A9A9A;
text-align: center;
font-size: 27rpx;
@ -36,9 +33,6 @@
height: 72rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/txkx.png);
color:#9A9A9A;
text-align: center;
font-size: 27rpx;
@ -67,6 +61,16 @@
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/hy.png);
}
.unhybs{
position: absolute;
left: 562rpx;
top: 208rpx;
width: 100rpx;
height: 100rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/unhy.png);
}
.hydqr{
position: absolute;
@ -199,6 +203,7 @@
margin-top: 720rpx;
width:730rpx;
margin-left: 10rpx;
overflow-x:hidden;
}
.mycelltext{
@ -206,4 +211,162 @@
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
font-family: SourceHanSansSC-regular;
}
.meempty{
width:750rpx;
height:60rpx;
}
.avatar{
margin-left: 67rpx!important;
margin-top: 211rpx!important;
position: absolute!important;
width: 140rpx!important;
height: 140rpx!important;
display: flex!important;
flex-direction: column!important;
}
.bdsjh{
width:660rpx;
height:786rpx;
border-radius: 30rpx;
}
.bdsjhm1{
position: absolute;
left: 64rpx;
top: 96rpx;
width: 108px;
height: 26px;
color: rgba(51, 51, 51, 1);
font-size: 18px;
text-align: left;
font-family: SourceHanSansSC-medium;
}
.bdsjhm2{
position: absolute;
left: 64rpx;
top: 156rpx;
width: 224px;
height: 21px;
color: rgba(154, 154, 154, 1);
font-size: 14px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.qxSjh{
position: absolute;
left: 64rpx;
top: 620rpx;
width: 105px;
height: 35px;
line-height: 70rpx;
border-radius: 10px;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4);
border: 3px solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.wcSjh{
position: absolute;
left: 386rpx;
top: 620rpx;
width: 105px;
height: 35px;
line-height: 70rpx;
border-radius: 10px;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4);
border: 3px solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.sjhm1{
position: absolute;
left: 64rpx;
top: 284rpx;
width: 48px;
height: 18px;
color: rgba(102, 102, 102, 1);
font-size: 12px;
text-align: left;
font-family: SourceHanSansSC-medium;
}
.yzm1{
position: absolute;
left: 64rpx;
top: 422rpx;
width: 36px;
height: 18px;
color: rgba(102, 102, 102, 1);
font-size: 12px;
text-align: left;
font-family: SourceHanSansSC-medium;
}
.t-input{
padding: 0!important;
margin: 0!important;
padding-bottom: 10rpx!important;
}
.input-example{
padding-bottom: 10rpx!important;
}
.sjhminput1{
padding: 0!important;
position: absolute;
left:64rpx;
top:330rpx;
--td-input-border-color: rgba(75, 75, 75, 1);
--td-input-border-color: rgba(255, 255, 255, 1);
--td-input-default-text-color: rgba(248, 99, 42, 1);
}
.sjhbkx{
position: absolute;
left: 64rpx;
top: 384rpx;
width: 266px;
border: 1rpx solid rgba(248, 99, 42, 1);
}
.yzmbkx{
position: absolute;
left: 64rpx;
top: 532rpx;
width: 266px;
border: 1rpx solid rgba(237, 238, 242, 1);
}
.sjhminput2{
padding: 0!important;
position: absolute;
left:64rpx;
top:480rpx;
--td-input-border-color: rgba(75, 75, 75, 1);
--td-input-border-color: rgba(255, 255, 255, 1);
}
.cxhq{
position: absolute;
left: 500rpx;
top: 478rpx;
width: 48px;
height: 17px;
color: rgba(248, 99, 42, 1);
font-size: 12px;
text-align: left;
font-family: PingFangSC-regular;
}

@ -0,0 +1,66 @@
// pages/home/me/manual/manual.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "说明书",
"usingComponents": {}
}

@ -0,0 +1,4 @@
<!--pages/index/out/out.wxml 说明书页面-->
<!--<web-view src="https://xzjl-api.windymuse.cn/"></web-view>-->
<view>跳转页面,待完善</view>

@ -0,0 +1 @@
/* pages/home/me/manual/manual.wxss */

@ -0,0 +1,87 @@
// pages/home/me/member/member.js
import Toast from 'tdesign-miniprogram/toast/index';
Page({
/**
* 页面的初始数据
*/
data: {
yhy:true
},
doKtHy(){/**开通会员操作 */
console.log('开通会员')
},
go2Week(){
this.setData({yhy:false})
},
go2Month(){
this.setData({yhy:true})
},
go2Reback(){
wx.navigateBack({ changed: true });
},
tQuest(){
Toast({
context: this,
selector: '#t-toast',
message: '星座精灵AI的付费会员服务基于OpenAI的GPT-3.5 Turbo模型为您提供高智能情感咨询服务以及星座、星骰和塔罗牌等娱乐服务。利用人工智能技术和高质量的自然语言响应星座精灵AI可以更好的帮助您深入探索内心世界。',
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,5 @@
{
"usingComponents": {
"t-toast": "tdesign-miniprogram/toast/toast"
}
}

@ -0,0 +1,26 @@
<!--返回图标-->
<view class="reback" bindtap="go2Reback"></view>
<view class="title">VIP会员</view>
<view class="sftp"></view><!--上方图片-->
<!--底部图片-->
<view class="hybt"></view>
<view class="hgpng"></view><!--皇冠图标-->
<view class="question" bindtap="tQuest"></view><!--问号图标-->
<t-toast id="t-toast" /><!--弹出问号图标-->
<view class="hybtn" bindtap="doKtHy">开通会员</view>
<view class="viphyqy">VIP会员权益</view>
<view class="introd">
<view>1、星座精灵AI服务无限次畅聊</view>
<view>2、不定期商品及新品折扣优惠</view>
<view>3、 其他权益陆续增加中......</view>
</view>
<view class="zhytxt">周会员</view>
<view class="yhytxt">月会员</view>
<view class="hydqr">即刻解锁无限次星座精灵AI无限畅聊</view>
<view class="week1" wx:if="{{yhy}}" bindtap="go2Week"><text class="text1 tcolor1">¥29</text><text class="text2 tcolor1"> / 周</text></view>
<view class="month1" wx:if="{{yhy}}" bindtap="go2Month"><text class="text1 tcolor2">¥69</text><text class="text2 tcolor2"> / 月</text></view>
<view class="week2" wx:if="{{!yhy}}" bindtap="go2Week"><text class="text1 tcolor2">¥29</text><text class="text2 tcolor2"> / 周</text></view>
<view class="month2" wx:if="{{!yhy}}" bindtap="go2Month"><text class="text1 tcolor1">¥69</text><text class="text2 tcolor1"> / 月</text></view>

@ -0,0 +1,232 @@
.reback{
position: absolute;
margin-left: 20rpx;
margin-top:108rpx;
width:48rpx;
height:48rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/reback.png);
}
.title{
position: absolute;
left: 278rpx;
top: 108rpx;
width: 196rpx;
height: 48rpx;
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.hybt{
position: absolute;
left: 30rpx;
top: 1326rpx;
width: 690rpx;
height: 230rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/hybt.png);
}
.sftp{
position: absolute;
left: 15px;
top: 82px;
width: 345px;
height: 115px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/sftp.png);
}
.hgpng{
position: absolute;
left: 109px;
top: 124px;
width: 157px;
height: 174px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/hgpng.png);
}
.question{
position: absolute;
left: 236px;
top: 124px;
width: 30px;
height: 30px;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/qqest.png);
}
.hybtn{
position: absolute;
left: 118px;
top: 645px;
width: 140px;
height: 40px;
line-height: 80rpx;
border-radius: 10px;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4);
border: 3px solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.viphyqy{
position: absolute;
top: 502px;
width: 750rpx;
height: 20px;
color: rgba(108, 108, 108, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.introd{
left:180rpx;
position: absolute;
top: 538px;
width: 750rpx;
height: 75px;
line-height: 50rpx;
color: rgba(108, 108, 108, 1);
font-size: 14px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.zhytxt{
position: absolute;
left: 82px;
top: 442px;
width: 42px;
height: 21px;
color: rgba(154, 154, 154, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.yhytxt{
position: absolute;
left: 506rpx;
top: 442px;
width: 42px;
height: 21px;
color: rgba(154, 154, 154, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.hydqr{
position: absolute;
top: 314px;
width: 750rpx;
height: 20px;
color: rgba(248, 99, 42, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.week1{
position: absolute;
left: 32px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 2px solid rgba(248, 99, 42, 1);
}
.month1{
position: absolute;
left: 203px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(248, 99, 42, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 1px solid rgba(248, 99, 42, 1);
}
.text1{
margin-left: 2px;
top: 384px;
width: 60px;
height: 41px;
font-size: 28px;
font-family: SourceHanSansSC-regular;
}
.text2{
left: 130px;
top: 401px;
width: 16px;
height: 17px;
font-size: 16px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.tcolor1{
color: rgba(79, 79, 79, 1);
}
.tcolor2{
color: rgba(255, 255, 255, 1);
}
.week2{
position: absolute;
left: 32px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(248, 99, 42, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 1px solid rgba(248, 99, 42, 1);
}
.month2{
position: absolute;
left: 203px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 2px solid rgba(248, 99, 42, 1);
}

@ -0,0 +1,87 @@
// pages/home/me/member/member.js
import Toast from 'tdesign-miniprogram/toast/index';
Page({
/**
* 页面的初始数据
*/
data: {
yhy:true
},
doKtHy(){/**开通会员操作 */
console.log('开通会员')
},
go2Week(){
this.setData({yhy:false})
},
go2Month(){
this.setData({yhy:true})
},
go2Reback(){
wx.navigateBack({ changed: true });
},
tQuest(){
Toast({
context: this,
selector: '#t-toast',
message: '星座精灵AI的付费会员服务基于OpenAI的GPT-3.5 Turbo模型为您提供高智能情感咨询服务以及星座、星骰和塔罗牌等娱乐服务。利用人工智能技术和高质量的自然语言响应星座精灵AI可以更好的帮助您深入探索内心世界。',
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,5 @@
{
"usingComponents": {
"t-toast": "tdesign-miniprogram/toast/toast"
}
}

@ -0,0 +1,26 @@
<!--返回图标-->
<view class="reback" bindtap="go2Reback"></view>
<view class="title">VIP会员</view>
<view class="sftp"></view><!--上方图片-->
<!--底部图片-->
<view class="hybt"></view>
<view class="hgpng"></view><!--皇冠图标-->
<view class="question" bindtap="tQuest"></view><!--问号图标-->
<t-toast id="t-toast" /><!--弹出问号图标-->
<view class="hybtn" bindtap="doKtHy">开通会员</view>
<view class="viphyqy">VIP会员权益</view>
<view class="introd">
<view>1、星座精灵AI服务无限次畅聊</view>
<view>2、不定期商品及新品折扣优惠</view>
<view>3、 其他权益陆续增加中......</view>
</view>
<view class="zhytxt">周会员</view>
<view class="yhytxt">月会员</view>
<view class="hydqr">您的会员将于 2023年5月20日到期</view>
<view class="week1" wx:if="{{yhy}}" bindtap="go2Week"><text class="text1 tcolor1">¥29</text><text class="text2 tcolor1"> / 周</text></view>
<view class="month1" wx:if="{{yhy}}" bindtap="go2Month"><text class="text1 tcolor2">¥69</text><text class="text2 tcolor2"> / 月</text></view>
<view class="week2" wx:if="{{!yhy}}" bindtap="go2Week"><text class="text1 tcolor2">¥29</text><text class="text2 tcolor2"> / 周</text></view>
<view class="month2" wx:if="{{!yhy}}" bindtap="go2Month"><text class="text1 tcolor1">¥69</text><text class="text2 tcolor1"> / 月</text></view>

@ -0,0 +1,232 @@
.reback{
position: absolute;
margin-left: 20rpx;
margin-top:108rpx;
width:48rpx;
height:48rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/reback.png);
}
.title{
position: absolute;
left: 278rpx;
top: 108rpx;
width: 196rpx;
height: 48rpx;
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.hybt{
position: absolute;
left: 30rpx;
top: 1326rpx;
width: 690rpx;
height: 230rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/hybt.png);
}
.sftp{
position: absolute;
left: 15px;
top: 82px;
width: 345px;
height: 115px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/sftp.png);
}
.hgpng{
position: absolute;
left: 109px;
top: 124px;
width: 157px;
height: 174px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/hgpng.png);
}
.question{
position: absolute;
left: 236px;
top: 124px;
width: 30px;
height: 30px;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/qqest.png);
}
.hybtn{
position: absolute;
left: 118px;
top: 645px;
width: 140px;
height: 40px;
line-height: 80rpx;
border-radius: 10px;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.4);
border: 3px solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.viphyqy{
position: absolute;
top: 502px;
width: 750rpx;
height: 20px;
color: rgba(108, 108, 108, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.introd{
left:180rpx;
position: absolute;
top: 538px;
width: 750rpx;
height: 75px;
line-height: 50rpx;
color: rgba(108, 108, 108, 1);
font-size: 14px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.zhytxt{
position: absolute;
left: 82px;
top: 442px;
width: 42px;
height: 21px;
color: rgba(154, 154, 154, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.yhytxt{
position: absolute;
left: 506rpx;
top: 442px;
width: 42px;
height: 21px;
color: rgba(154, 154, 154, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.hydqr{
position: absolute;
top: 314px;
width: 750rpx;
height: 20px;
color: rgba(248, 99, 42, 1);
font-size: 14px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.week1{
position: absolute;
left: 32px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 2px solid rgba(248, 99, 42, 1);
}
.month1{
position: absolute;
left: 203px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(248, 99, 42, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 1px solid rgba(248, 99, 42, 1);
}
.text1{
margin-left: 2px;
top: 384px;
width: 60px;
height: 41px;
font-size: 28px;
font-family: SourceHanSansSC-regular;
}
.text2{
left: 130px;
top: 401px;
width: 16px;
height: 17px;
font-size: 16px;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.tcolor1{
color: rgba(79, 79, 79, 1);
}
.tcolor2{
color: rgba(255, 255, 255, 1);
}
.week2{
position: absolute;
left: 32px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(248, 99, 42, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 1px solid rgba(248, 99, 42, 1);
}
.month2{
position: absolute;
left: 203px;
top: 374px;
width: 140px;
height: 60px;
line-height: 60px;
border-radius: 15px;
background-color: rgba(255, 255, 255, 1);
color: rgba(16, 16, 16, 1);
font-size: 14px;
text-align: center;
font-family: Arial;
border: 2px solid rgba(248, 99, 42, 1);
}

@ -0,0 +1,140 @@
// pages/home/me/mydevice/device.js
const app = getApp();//新建页面时 默认引入
const req = app.xzjlReq();//初始化一个的request() 实例
// 引入二维码
import drawQrcode from 'weapp-qrcode-canvas-2d'
Page({
/**
* 页面的初始数据
*/
data: {
devs:[]
},
doCopy(e){/**赋值设备唯一识别码 */
let key = e.target.dataset.copy
wx.setClipboardData({ //设置系统剪贴板的内容
data: key,
success(res) {
wx.getClipboardData({ // 获取系统剪贴板的内容
success(res) {
wx.showToast({
title: '复制成功',
})
}
})
}
})
},
go2Reback(){
wx.navigateBack({ changed: true });
},
doDevQuery(){
req.getRequest('/api/user/curt/equipments',{}).then((res)=>{
if(res.data.code==200){
// 循环查询
this.setData({devs:res.data.data})
}
}).catch((err)=>{
console.log(err);
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.doDevQuery()
const query = wx.createSelectorQuery()
query.select('#myQrcode')
.fields({
node: true,
size: true
})
.exec((res) => {
var canvas = res[0].node
// 调用方法drawQrcode生成二维码
drawQrcode({
canvas: canvas,
canvasId: 'myQrcode',
width: 260,
padding: 30,
background: '#ffffff',
foreground: '#000000',
text: '大王顶真帅',
})
// 获取临时路径(得到之后,想干嘛就干嘛了)
wx.canvasToTempFilePath({
canvasId: 'myQrcode',
canvas: canvas,
x: 0,
y: 0,
width: 260,
height: 260,
destWidth: 260,
destHeight: 260,
success(res) {
console.log('二维码临时路径:', res.tempFilePath)
},
fail(res) {
console.error(res)
}
})
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,32 @@
<view class="title">我的设备</view>
<swiper class="call" wx:for="{{devs}}">
<swiper-item>
<view class="tbl" wx:if="{{dev.length>1}}"></view>
<view class="tbr" wx:if="{{dev.length>1}}"></view>
<view class="shtp"></view>
<view class="shimg"></view>
<view class="shmz">{{item.constellation}}-晶石手环</view>
<view class="sbwysbm">设备唯一识别码</view>
<view class="sbmm">识别码是设备唯一ID绝对不能告诉别人哦</view>
<view class="sbewmt">设备二维码</view>
<view class="sbewm"></view><!--设备二维码图片-->
<view class="intr1">可代替设备用于登录,可在设备丢失时临时登录使用</view>
<view class="intr2">请不要将二维码告知他人,否则有账号丢失风险</view>
<view class="sbsbmk"></view><!--设备识别码块-->
<view class="sbsbmkt">{{item.mac}}</view><!--设备识别码块-->
<view class="fz" data-copy="{{item.mac}}" bindtap="doCopy"></view><!--复制按钮-->
</swiper-item>
</swiper>
<canvas class="sbewm" type="2d" style="width: 300rpx; height: 300rpx;" id="myQrcode"></canvas>
<!--返回图标-->
<view class="reback11" bindtap="go2Reback"></view>

@ -0,0 +1,692 @@
/* pages/home/me/mydevice/device.wxss */
.reback11{
position: absolute;
margin-left: 20rpx;
top:108rpx;
width:48rpx;
height:48rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/reback.png);
}
.title{
position: absolute;
left: 278rpx;
top: 108rpx;
width: 196rpx;
height: 48rpx;
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.call{
margin-top:0rpx;
padding: 0;
width:750rpx;
height:1624rpx;
overflow: hidden;
}
.call1{
margin-top:-50rpx;
padding: 0!important;
width:750rpx;
height:1624rpx;
overflow: hidden;
}
.dcrightql{
position:absolute;
width:116.67rpx;
height:116.67rpx;
margin-left: 520rpx;
margin-top:1232rpx;
border-radius: 58.335rpx;
}
.dcrightql1{
position:absolute;
}
.dcrbs{
position:absolute;
width:62.67rpx;
height:72rpx;
margin-top:29.30rpx;
margin-left: 32.33rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/rbs.png);
}
.lovepic{
position: absolute;
width:290rpx;
height:50.67rpx;
margin-top:1264.67rpx;
margin-left:235.33rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/pulse.png);
}
.dchxtxtql{
position:absolute;
width:200rpx;
height:16rpx;
margin-top:1320.67rpx;
margin-left: 275.33rpx;
text-align: center;
color: #9a9a9a;
font-size: 27rpx;
}
.txl{
position:absolute;
width:72rpx;
height:72rpx;
margin-top:142.67rpx;
margin-left:218rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/tx.png);
}
.txr{
position:absolute;
width:72rpx;
height:72rpx;
margin-top:142.67rpx;
margin-left:400.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/tx.png);
}
.txtextl{
position:absolute;
width:772rpx;
height:72rpx;
line-height:72rpx;
color: #9a9a9a;
margin-top:142.67rpx;
margin-left:36rpx;
font-size: 27rpx;
}
.jiuchan{
position: absolute;
width:47.33rpx;
height:26rpx;
margin-top: 169.33rpx;
margin-left: 322.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/jiuchan.png);
}
.txtextr{
position:absolute;
width:772rpx;
height:72rpx;
line-height:72rpx;
color: #9a9a9a;
margin-top:142.67rpx;
margin-left:493.33rpx;
font-size: 27rpx;
}
.bkg3{
position: absolute;
width:47.33rpx;
height:26rpx;
margin-top: 169.33rpx;
margin-left: 322.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/bkg3.png);
}
.xxt{
position: absolute;
width:326.67rpx;
height:771.33rpx;
margin-top: 326.67rpx;
margin-left: 212rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/szn.png);
}
.yan1{
position: absolute;
width:114rpx;
height:116.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 837.33rpx;
margin-left:118.67rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.yan2{
position: absolute;
width:114rpx;
height:116.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 837.33rpx;
margin-left:318rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.yan3{
position: absolute;
width:114rpx;
height:116.67rpx;
margin-top: 837.33rpx;
margin-left:517.33rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.bkg1{
position: absolute;
width:684.67rpx;
height:988rpx;
margin-top: 169.33rpx;
margin-left:46rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/bkg1.png);
}
.bkg3{
position: absolute;
width:660rpx;
height:952rpx;
margin-top: 205.33rpx;
margin-left:42rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/bkg3.png);
}
.yan11{
position: absolute;
width:46.67rpx;
height:46.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 33.33rpx;
margin-left:34.33rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/paw.png);
}
.yan12{
position: absolute;
width:46.67rpx;
height:46.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 33.33rpx;
margin-left:34.33rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/male.png);
}
.yan13{
position: absolute;
width:46.67rpx;
height:46.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 33.33rpx;
margin-left:34.33rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/female.png);
}
.xxtl{
position: absolute;
width:326.67rpx;
height:771.33rpx;
margin-top: 326.67rpx;
margin-left: 88rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/szn.png);
}
.xxtr{
position: absolute;
width:323.33rpx;
height:787.33rpx;
margin-top: 308.67rpx;
margin-left: 355.33rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/xxtr.png);
}
.yanql1{
position: absolute;
width:114rpx;
height:116.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 492rpx;
margin-left:86.67rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.yanql2{
position: absolute;
width:114rpx;
height:116.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 663.33rpx;
margin-left:38.67rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.yanql4{
position: absolute;
width:114rpx;
height:116.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 492rpx;
margin-left:550.67rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.yanql5{
position: absolute;
width:114rpx;
height:116.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
margin-top: 663.33rpx;
margin-left:598rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.xxtq{
position: absolute;
width:326.67rpx;
height:771.33rpx;
margin-top: 326.67rpx;
margin-left: 212rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/xxtr.png);
}
.k1{
position: absolute;
width:116rpx;
height:116rpx;
line-height:116rpx;
text-align: center;
margin-top: 1232.67rpx;
margin-left: 114.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/circle.png);
}
.k2{
position: absolute;
width:116rpx;
height:116rpx;
margin-top: 1232.67rpx;
margin-left: 318rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yan.png);
}
.k3{
position: absolute;
width:116rpx;
height:116rpx;
line-height:116rpx;
text-align: center;
margin-top: 1232.67rpx;
margin-left: 520.67rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/circle.png);
}
.k11{
position: absolute;
width:46rpx;
height:46rpx;
margin-top: 34rpx;
margin-left: 36rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/jl/yst.png);
}
.ktext1{
position: absolute;
width:116rpx;
height:116rpx;
margin-top: 1366rpx;
margin-left: 114.67rpx;
text-align: center;
color: #9a9a9a;
font-size: 27rpx;
}
.ktext2{
position: absolute;
width:116rpx;
height:116rpx;
margin-top: 1366rpx;
margin-left: 318rpx;
text-align: center;
color: #9a9a9a;
font-size: 27rpx;
}
.ktext3{
position: absolute;
width:116rpx;
height:116rpx;
margin-top: 1366rpx;
margin-left: 520.67rpx;
text-align: center;
color: #9a9a9a;
font-size: 27rpx;
}
.ttpopup{
width: 659.33rpx;
height:804rpx;
background:rgba(255, 255, 255, 0.9);
border-radius: 36rpx;
}
.ztys{
position: absolute;
width: 542.67rpx;
height: 290rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
left: 0;
right: 0;
margin: 84rpx auto;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/xzt/ztys.png);
}
.jkzs{
position: absolute;
width: 111.33rpx;
height: 26.67rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
margin-left:97.33rpx;
margin-top: 589.33rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/xy/jkzs.png);
}
.aqzs{
position: absolute;
width: 111.33rpx;
height: 26.67rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
margin-left:97.33rpx;
margin-top: 653.33rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/xy/aqzs.png);
}
.cyzs{
position: absolute;
width: 111.33rpx;
height: 26.67rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
margin-left:97.33rpx;
margin-top: 717.33rpx;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/xy/cyzs.png);
}
.rjkzs{
position: absolute;
width: 311.33rpx;
height: 26.67rpx;
line-height: 26.67rpx;
display: flex;
flex-direction: column;
margin-left:279.33rpx;
margin-top: 580.33rpx;
}
.raqzs{
position: absolute;
width: 111.33rpx;
height: 26.67rpx;
line-height:26.67rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
margin-left:279.33rpx;
margin-top: 644.33rpx;
}
.rcyzs{
position: absolute;
width: 111.33rpx;
height: 26.67rpx;
line-height:26.67rpx;
display: flex;
flex-direction: column;
background-repeat: no-repeat;
background-size:100% 100%;
margin-left:279.33rpx;
margin-top: 708.33rpx;
}
.shtp{
position: absolute;
left: 121px;
top: 120px;
width: 134px;
height: 134px;
border-radius: 134rpx;
line-height: 17px;
opacity: 0.5;
background-color: rgba(239, 239, 239, 1);
color: rgba(16, 16, 16, 1);
font-size: 12px;
text-align: center;
font-family: Arial;
}
.shimg{
position: absolute;
left: 131px;
top: 131px;
width: 113px;
height: 113px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/shimg.png);
}
.shmz{
position: absolute;
top: 270px;
width: 750rpx;
height: 24px;
color: rgba(248, 99, 42, 1);
font-size: 16px;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.sbwysbm{
position: absolute;
top: 349px;
width: 750rpx;
height: 24px;
color: rgba(108, 108, 108, 1);
font-size: 16px;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.intr1{
position: absolute;
top: 728px;
width: 750rpx;
height: 18px;
color: rgba(154, 154, 154, 1);
font-size: 12px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.intr2{
position: absolute;
top: 746px;
width: 750rpx;
height: 18px;
color: rgba(154, 154, 154, 1);
font-size: 12px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.sbmm{
position: absolute;
top: 449px;
width: 750rpx;
height: 18px;
color: rgba(154, 154, 154, 1);
font-size: 12px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.sbewmt{
position: absolute;
top: 522px;
width: 750rpx;
height: 24px;
color: rgba(108, 108, 108, 1);
font-size: 16px;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.sbewm{
position: absolute;
left: 113px;
top: 562px;
width: 150px;
height: 150px;
}
.sbsbmk{
position: absolute;
left: 44px;
top: 389px;
width: 288px;
height: 44px;
line-height: 20px;
border-radius: 15px;
background-color: rgba(239, 239, 239, 0.5);
text-align: center;
border: 1px solid rgba(187, 187, 187, 1);
}
.sbsbmkt{
position: absolute;
left: 76px;
top: 389px;
width: 185px;
height: 44px;
line-height: 44px;
color: rgba(108, 108, 108, 1);
font-size: 16px;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.fz{
position: absolute;
left: 296px;
top: 401px;
width: 20px;
height: 20px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/copy.png);
}
.tbl{
position: absolute;
left: 0px;
top: 150px;
width: 75px;
height: 75px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tbl.png);
}
.tbr{
position: absolute;
left: 301px;
top: 150px;
width: 75px;
height: 75px;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/tbr.png);
}

@ -0,0 +1,66 @@
// pages/home/me/sq/sq.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "加入社群",
"usingComponents": {}
}

@ -0,0 +1,3 @@
<!--pages/home/me/sq/sq.wxml 加入社群-->
<!--<web-view src="https://xzjl-api.windymuse.cn/"></web-view>-->
<view>跳转页面,待完善</view>

@ -0,0 +1 @@
/* pages/home/me/sq/sq.wxss */

@ -0,0 +1,66 @@
// pages/home/me/yhsyxy/yhsyxy.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "用户使用协议",
"usingComponents": {}
}

@ -0,0 +1,3 @@
<!--pages/home/me/yhsyxy/yhsyxy.wxml 用户使用协议-->
<!--<web-view src="https://xzjl-api.windymuse.cn/"></web-view>-->
<view>跳转页面,待完善</view>

@ -0,0 +1 @@
/* pages/home/me/yhsyxy/yhsyxy.wxss */

@ -0,0 +1,107 @@
// pages/home/me/yjfk/yjfk.js
const app = getApp();//新建页面时 默认引入
const req = app.xzjlReq();//初始化一个的request() 实例
Page({
/**
* 页面的初始数据
*/
data: {
ctt:'',
yj:{
contactWay: "",
content: ""
}
},
go2Reback(){
wx.navigateBack({ changed: true });
},
doExecYjfk(e){
let form = e.detail.value
req.postRequest('/api/v1/opinion',form).then((res)=>{
console.log(res)
if(res.data.code==200){
console.log('反馈成功')
wx.showToast({
title:'反馈提交成功',
icon: 'none',
duration: 1000
})
}else{
wx.showToast({
title:'反馈提交失败',
icon: 'none',
duration: 1000
})
}
console.log(this.userInfo);
}).catch((err)=>{
console.log(err);
})
wx.switchTab({
url: '/pages/home/me/indexx',
})
/**
* wx.switchTab({
url: '/pages/home/me/indexx',
}) */
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,5 @@
{
"usingComponents": {
"t-textarea": "tdesign-miniprogram/textarea/textarea"
}
}

@ -0,0 +1,19 @@
<!--pages/home/me/yjfk/yjfk.wxml-->
<!--返回图标-->
<view class="reback" bindtap="go2Reback"></view>
<view class="title">意见反馈</view>
<view class="fkt1">我们非常重视您的意见</view>
<view class="fkt2">如果有任何建议也欢迎向我们提出</view>
<view class="jyms">建议描述</view>
<view class="lxfs">联系方式</view>
<form bindsubmit="doExecYjfk">
<view class="jymsk"><t-textarea name="content" placeholder="请描述您遇到的问题或建议" /></view>
<view class="lxfsk" ><t-textarea name="contactWay" maxlength="11" value="{{yj.contactWay}}" placeholder="请输入您的联系方式" /></view>
<button class="submit" form-type="submit">提交</button>
</form>

@ -0,0 +1,125 @@
/* pages/home/me/yjfk/yjfk.wxss */
.reback{
position: absolute;
margin-left: 20rpx;
margin-top:108rpx;
width:48rpx;
height:48rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/reback.png);
}
.title{
position: absolute;
left: 278rpx;
top: 108rpx;
width: 196rpx;
height: 48rpx;
color: rgba(108, 108, 108, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-regular;
}
.hybt{
position: absolute;
left: 30rpx;
top: 1326rpx;
width: 690rpx;
height: 230rpx;
background-repeat: no-repeat;
background-size:100% 100%;
background-image: url(https://xzjl-1257436036.cos.ap-nanjing.myqcloud.com/me/hybt.png);
}
.fkt1{
position: absolute;
left: 46rpx;
top: 240rpx;
width: 552rpx;
height: 106rpx;
color: rgba(248, 99, 42, 1);
font-size: 32rpx;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.fkt2{
position: absolute;
left: 46rpx;
top: 290rpx;
width: 552rpx;
height: 106rpx;
color: rgba(248, 99, 42, 1);
font-size: 32rpx;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.jyms{
position: absolute;
left: 46rpx;
top: 418rpx;
width: 196rpx;
height: 52rpx;
color: rgba(108, 108, 108, 1);
font-size: 36rpx;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.submit{
z-index: 9999;
position: absolute;
left: 236rpx;
top: 1290rpx;
width: 280rpx;
height: 80rpx;
line-height: 80rpx;
border-radius: 20rpx;
background: linear-gradient(233.49deg, rgba(248,99,42,1) 10.48%,rgba(249,135,89,1) 89.2%);
text-align: center;
box-shadow: 0px 4rpx 12rpx 0px rgba(0, 0, 0, 0.4);
border: 6rpx solid rgba(255, 255, 255, 1);
color: rgba(255, 255, 255, 1);
font-size: 32rpx;
text-align: center;
font-family: SourceHanSansSC-medium;
}
.lxfs{
position: absolute;
left: 46rpx;
top: 980rpx;
width: 196rpx;
height: 52rpx;
color: rgba(108, 108, 108, 1);
font-size: 36rpx;
text-align: left;
font-family: SourceHanSansSC-regular;
}
.jymsk{
position: absolute;
left: 23px;
top: 251px;
width: 330px;
height: 207px;
line-height: 20px;
border-radius: 15px;
background-color: rgba(239, 239, 239, 1);
text-align: center;
}
.t-textarea {
background-color: transparent!important;
}
.lxfsk{
position: absolute;
left: 23px;
top: 532px;
width: 330px;
height: 56px;
line-height: 20px;
border-radius: 15px;
background-color: rgba(239, 239, 239, 1);
text-align: center;
}

@ -0,0 +1,66 @@
// pages/home/me/ysxy/ysxy.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "隐私协议",
"usingComponents": {}
}

@ -0,0 +1,4 @@
<!--pages/home/me/ysxy/ysxy.wxml 隐私协议页面-->
<!--<web-view src="https://xzjl-api.windymuse.cn/"></web-view>-->
<view>跳转页面,待完善</view>

@ -0,0 +1 @@
/* pages/home/me/ysxy/ysxy.wxss */

@ -0,0 +1,66 @@
// pages/home/xx/hy/hx/hx.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,2 @@
<!--pages/home/xx/hy/hx/hx.wxml-->
<text>pages/home/xx/hy/hx/hx.wxml</text>

@ -0,0 +1 @@
/* pages/home/xx/hy/hx/hx.wxss */

@ -0,0 +1,66 @@
// pages/home/xx/hy/index.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,5 @@
{
"usingComponents": {
"t-image": "tdesign-miniprogram/image/image"
}
}

@ -0,0 +1,2 @@
<!--pages/home/xx/hy/index.wxml-->
<text>pages/home/xx/hy/index.wxml</text>

@ -0,0 +1 @@
/* pages/home/xx/hy/index.wxss */

@ -0,0 +1,66 @@
// pages/home/xx/hy/xz/zt.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,2 @@
<!--pages/home/xx/hy/xz/zt.wxml-->
<text>pages/home/xx/hy/xz/zt.wxml</text>

@ -0,0 +1 @@
/* pages/home/xx/hy/xz/zt.wxss */

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save