Initial import: H5 front-end and houtai backend (exclude secrets and uploads).
Made-with: Cursor
6
.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
.DS_Store
|
||||
**/.DS_Store
|
||||
.user.ini
|
||||
**/.user.ini
|
||||
houtai/runtime/
|
||||
houtai/public/upload/
|
||||
34
docs/change-hapr191.md
Executable file
@@ -0,0 +1,34 @@
|
||||
新项目需要修改项:
|
||||
1.新项目公司名称,eg:鹏然商贸,
|
||||
2.需要用公司名称的HTML十进制数字实体编码,修改wa_options表中name=system_config中的value值里的title信息,
|
||||
3.相关配置项:
|
||||
A. **寄卖商城API地址**:eg:https://admin.hapengran.com/api
|
||||
B. **寄卖商城后台地址**:eg:https://admin.hapengran.com
|
||||
C. **H5地址**:eg:https://hapengran.com/
|
||||
D. **积分商城地址**:eg:https://jf.hapengran.com
|
||||
E. **云服务器积分商城目录**:eg:/www/wwwroot/jf.hapengran.com
|
||||
F. **云服务器寄卖商城H5目录**:eg:/www/wwwroot/hapengran.com
|
||||
G. **云服务器寄卖商城后台目录**:eg:/www/wwwroot/admin.hapengran.com
|
||||
|
||||
4. 需要修改文件
|
||||
|
||||
**寄卖商城H5**
|
||||
|
||||
A. **static/configs.js**
|
||||
|
||||
TITLE: '鹏然商贸',
|
||||
BASE_URL: 'https://admin.hapengran.com/api',
|
||||
IMG_URL: 'https://admin.hapengran.com',
|
||||
H5_URL: 'https://hapengran.com/',
|
||||
**sn_id**、**appStr**必须修改
|
||||
|
||||
B. **static/js/pages-personal-index.6f5415f9.js**
|
||||
第270行:https://jf.hapengran.com/pages/integral/points?username=
|
||||
|
||||
C. **static/js/pages-sub-pages-webview-index.1042489b.js**
|
||||
第15行:https://jf.hapengran.com/?sn_id
|
||||
第43行:https://jf.hapengran.com/?user_id=
|
||||
|
||||
|
||||
|
||||
|
||||
61
docs/change-list.md
Executable file
@@ -0,0 +1,61 @@
|
||||
新项目需要修改项:
|
||||
1.新项目公司名称,eg:聚伽源商贸,
|
||||
2.需要用公司名称的HTML十进制数字实体编码,修改wa_options表中name=system_config中的value值里的title信息,
|
||||
3.相关配置项:
|
||||
A. **寄卖商城API地址**:eg:https://jjyadmin.fwxgpt.com/api
|
||||
B. **寄卖商城后台地址**:eg:https://jjyadmin.fwxgpt.com
|
||||
C. **H5地址**:eg:https://jjy.fwxgpt.com/
|
||||
D. **积分商城地址**:eg:https://jjy-jf.fwxgpt.com
|
||||
E. **云服务器积分商城目录**:eg:/www/wwwroot/jjy-jf.fwxgpt.com
|
||||
F. **云服务器寄卖商城H5目录**:eg:/www/wwwroot/jjy.fwxgpt.com
|
||||
G. **云服务器寄卖商城后台目录**:eg:/www/wwwroot/jjyadmin.fwxgpt.com
|
||||
4. 需要修改文件
|
||||
**寄卖商城H5**
|
||||
A. **static/configs.js**
|
||||
TITLE: '博森元',
|
||||
BASE_URL: 'https://shopadmin.bosenyuan.com/api',
|
||||
IMG_URL: 'https://shopadmin.bosenyuan.com',
|
||||
H5_URL: 'https://shop.bosenyuan.com/',
|
||||
**sn_id**、**appStr**必须修改
|
||||
B. **static/js/pages-personal-index.6f5415f9.js**
|
||||
第270行:https://jf.bosenyuan.com/pages/integral/points?username=
|
||||
C. **static/js/pages-sub-pages-webview-index.1042489b.js**
|
||||
第15行:https://jf.bosenyuan.com/?sn_id
|
||||
第43行:https://jf.bosenyuan.com/?user_id=
|
||||
|
||||
|
||||
upstream qianggou2026 {
|
||||
server 127.0.0.1:8785;
|
||||
keepalive 10240;
|
||||
}
|
||||
|
||||
#后端api
|
||||
location ^~ / {
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "";
|
||||
if (!-f $request_filename){
|
||||
proxy_pass http://qianggou2026;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# 伪静态
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# 后端API
|
||||
location /api/admin {
|
||||
proxy_pass http://127.0.0.1:30032/api/admin;
|
||||
}
|
||||
|
||||
# 前端API
|
||||
location /api/front {
|
||||
proxy_pass http://127.0.0.1:30031/api/front;
|
||||
}
|
||||
|
||||
|
||||
27
docs/company-info.md
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
## 公司名称:淮安鹏然商贸
|
||||
|
||||
host ip: 114.55.232.191
|
||||
|
||||
### crmeb-front模块变更
|
||||
|
||||
- 1. profile: hapr191
|
||||
- 2. profile file: application-hapr191.yml
|
||||
- 3. PDF合同模板文件路径:pdf/sign_contract_pengran.pdf
|
||||
- 4. 用户合同url地址前缀/落库域名:https://hapengran.com/
|
||||
- 5. imagePath: /www/wwwroot/hapengran.com/
|
||||
|
||||
### uniapp前端配置变更
|
||||
|
||||
- 1. 积分商城domain:https://jf.hapengran.com
|
||||
- 2. 抢购页面跳转地址:https://hapengran.com
|
||||
- 2. /static/sign_contract_pengran.pdf
|
||||
|
||||
### 修改任务
|
||||
|
||||
- 新建hapr191分支,合并shjjy153分支的最新代码到该分支,并根据上述信息修改相关需要变更项,使符合该新公司项目环境
|
||||
|
||||
## 相关文件
|
||||
|
||||
- change-list.md
|
||||
|
||||
BIN
docs/sign_contract_jjy.docx
Executable file
BIN
docs/sign_contract_pengran.docx
Executable file
BIN
docs/sign_contract_pengran.pdf
Normal file
1
h5/.htaccess
Executable file
@@ -0,0 +1 @@
|
||||
|
||||
24
h5/change-list.md
Executable file
@@ -0,0 +1,24 @@
|
||||
新项目需要修改项:
|
||||
1.新项目公司名称,eg:聚伽源商贸,
|
||||
2.需要用公司名称的HTML 数字实体编码,修改wa_options表中name=system_config中的value值里的title信息,
|
||||
3.相关配置项:
|
||||
A. **寄卖商城API地址**:eg:https://jjyadmin.fwxgpt.com/api
|
||||
B. **寄卖商城后台地址**:eg:https://jjyadmin.fwxgpt.com
|
||||
C. **H5地址**:eg:https://jjy.fwxgpt.com/
|
||||
D. **积分商城地址**:eg:https://jjy-jf.fwxgpt.com
|
||||
E. **云服务器积分商城目录**:eg:/www/wwwroot/jjy-jf.fwxgpt.com
|
||||
F. **云服务器寄卖商城H5目录**:eg:/www/wwwroot/jjy.fwxgpt.com
|
||||
G. **云服务器寄卖商城后台目录**:eg:/www/wwwroot/jjyadmin.fwxgpt.com
|
||||
4. 需要修改文件
|
||||
**寄卖商城H5**
|
||||
A. **static/configs.js**
|
||||
TITLE: '博森元',
|
||||
BASE_URL: 'https://shopadmin.bosenyuan.com/api',
|
||||
IMG_URL: 'https://shopadmin.bosenyuan.com',
|
||||
H5_URL: 'https://shop.bosenyuan.com/',
|
||||
B. **static/js/pages-personal-index.6f5415f9.js**
|
||||
第270行:https://jf.bosenyuan.com/pages/integral/points?username=
|
||||
C. **static/js/pages-sub-pages-webview-index.1042489b.js**
|
||||
第15行:https://jf.bosenyuan.com/?sn_id
|
||||
第43行:https://jf.bosenyuan.com/?user_id=
|
||||
|
||||
2
h5/index.html
Executable file
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
|
||||
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><script src=./static/configs.js></script><link rel=stylesheet href=/static/index.2da1efab.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.4d47960d.js></script><script src=/static/js/index.6d11616b.js></script></body></html>
|
||||
11
h5/static/configs.js
Executable file
@@ -0,0 +1,11 @@
|
||||
"use strict"
|
||||
const configs = {
|
||||
TITLE: '博森元',
|
||||
BASE_URL: 'https://shopadmin.bosenyuan.com/api',
|
||||
IMG_URL: 'https://shopadmin.bosenyuan.com',
|
||||
H5_URL: 'https://shop.bosenyuan.com/',
|
||||
contractPage: 10012,
|
||||
sn_id: 1753363479,
|
||||
appStr: 'ZFyTNQTWEkCBczKzyUDJWE9Ecxtjjzwg',
|
||||
// appKey: ,
|
||||
}
|
||||
BIN
h5/static/images/404.png
Executable file
|
After Width: | Height: | Size: 18 KiB |
BIN
h5/static/images/app-ico.png
Executable file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
h5/static/images/bg1.png
Executable file
|
After Width: | Height: | Size: 374 KiB |
BIN
h5/static/images/coupon-ico.png
Executable file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
h5/static/images/cover1.png
Executable file
|
After Width: | Height: | Size: 47 KiB |
BIN
h5/static/images/empty.png
Executable file
|
After Width: | Height: | Size: 20 KiB |
BIN
h5/static/images/empty1.png
Executable file
|
After Width: | Height: | Size: 919 B |
BIN
h5/static/images/exchange-ico.png
Executable file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
h5/static/images/invite-bg.png
Executable file
|
After Width: | Height: | Size: 493 KiB |
BIN
h5/static/images/kong1.png
Executable file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
h5/static/images/kong2.png
Executable file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
h5/static/images/kong3.png
Executable file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
h5/static/images/kong4.png
Executable file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
h5/static/images/kong5.png
Executable file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
h5/static/images/kong6.png
Executable file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
h5/static/images/kong7.png
Executable file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
h5/static/images/kong8.png
Executable file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
h5/static/images/kong9.png
Executable file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
h5/static/images/login-ico1.png
Executable file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
h5/static/images/new-ico1.png
Executable file
|
After Width: | Height: | Size: 999 B |
BIN
h5/static/images/new-ico2.png
Executable file
|
After Width: | Height: | Size: 825 B |
BIN
h5/static/images/new-ico3.png
Executable file
|
After Width: | Height: | Size: 492 B |
BIN
h5/static/images/new-ico4.png
Executable file
|
After Width: | Height: | Size: 506 B |
BIN
h5/static/images/notice-ico.png
Executable file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
h5/static/images/order-bg.png
Executable file
|
After Width: | Height: | Size: 37 KiB |
BIN
h5/static/images/pay-ico1.png
Executable file
|
After Width: | Height: | Size: 526 B |
BIN
h5/static/images/pay-ico2.png
Executable file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
h5/static/images/pay-ico3.png
Executable file
|
After Width: | Height: | Size: 14 KiB |
BIN
h5/static/images/pay-ico4.png
Executable file
|
After Width: | Height: | Size: 24 KiB |
BIN
h5/static/images/pay-result.png
Executable file
|
After Width: | Height: | Size: 40 KiB |
BIN
h5/static/images/s-ico1.png
Executable file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
h5/static/images/s-ico2.png
Executable file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
h5/static/images/tip1.png
Executable file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
h5/static/images/tool-ico1.png
Executable file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
h5/static/images/tool-ico2.png
Executable file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
h5/static/images/tool-ico3.png
Executable file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
h5/static/images/tool-ico4.png
Executable file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
h5/static/images/tool-ico5.png
Executable file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
h5/static/images/tool-ico6.png
Executable file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
h5/static/images/tool-ico7.png
Executable file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
h5/static/images/tool-ico8.png
Executable file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
h5/static/images/up-ico1.png
Executable file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
h5/static/images/user-bg.png
Executable file
|
After Width: | Height: | Size: 62 KiB |
BIN
h5/static/images/zfb-cover.png
Executable file
|
After Width: | Height: | Size: 125 KiB |
1
h5/static/index.2da1efab.css
Executable file
713
h5/static/js/chunk-vendors.4d47960d.ANALYSIS.md
Executable file
@@ -0,0 +1,713 @@
|
||||
# chunk-vendors.4d47960d.js 详细分析
|
||||
|
||||
## 文件信息
|
||||
- **文件名**: chunk-vendors.4d47960d.js
|
||||
- **大小**: 1.18MB (1,181,721 bytes)
|
||||
- **类型**: Webpack第三方依赖打包文件
|
||||
- **压缩**: 高度压缩,约26行
|
||||
- **模块数**: 约200+个模块
|
||||
|
||||
## 文件用途
|
||||
|
||||
这是Webpack打包的第三方依赖库文件,包含应用所需的所有外部库和polyfills。主要包括:
|
||||
- uni-simple-router(完整路由库)
|
||||
- 加密库(HMAC, SHA, MD5等)
|
||||
- Buffer实现
|
||||
- 各种Polyfills
|
||||
|
||||
---
|
||||
|
||||
## 主要库分类
|
||||
|
||||
### 1. uni-simple-router 路由库
|
||||
|
||||
这是核心依赖,占据了大部分代码量。
|
||||
|
||||
#### 核心模块
|
||||
|
||||
| 模块ID | 名称 | 功能 |
|
||||
|--------|------|------|
|
||||
| **607** | 主入口 | 导出createRouter, RouterMount等 |
|
||||
| **366** | 常量定义 | hookToggle, navtypeToggle等 |
|
||||
| **309** | 类型定义 | TypeScript类型声明 |
|
||||
| **169** | 钩子调用 | loopCallHook, transitionTo等 |
|
||||
| **890** | 导航跳转 | navjump, lockNavjump, createRoute |
|
||||
| **845** | 页面钩子 | proxyPageHook, createFullPath |
|
||||
| **99** | 查询参数 | queryPageToMap, parseQuery |
|
||||
| **314** | 方法重写 | rewriteMethod |
|
||||
| **963** | 路由创建 | createRouter, RouterMount |
|
||||
| **809** | 原生跳转 | uniOriginJump |
|
||||
| **662** | 钩子注册 | registerEachHooks |
|
||||
| **460** | Mixins | initMixins, getMixins |
|
||||
| **789** | 工具函数 | deepClone, getDataType等 |
|
||||
| **883** | 日志工具 | err, warn, log |
|
||||
| **282** | 配置常量 | baseConfig, proxyHookName |
|
||||
| **801** | 路由映射 | createRouteMap |
|
||||
| **814** | 加载页面 | registerLoddingPage |
|
||||
| **334** | 路径获取 | getEnterPath |
|
||||
| **779** | 路径匹配 | pathToRegexp |
|
||||
|
||||
#### 功能详解
|
||||
|
||||
##### 路由创建 (模块 963)
|
||||
|
||||
```javascript
|
||||
function createRouter(options) {
|
||||
return {
|
||||
// 配置
|
||||
options,
|
||||
mount: [],
|
||||
Vue: null,
|
||||
routesMap: {},
|
||||
|
||||
// 导航方法
|
||||
push(location) { ... },
|
||||
replace(location) { ... },
|
||||
replaceAll(location) { ... },
|
||||
pushTab(location) { ... },
|
||||
back(delta, options) { ... },
|
||||
|
||||
// 守卫
|
||||
beforeEach(fn) { ... },
|
||||
afterEach(fn) { ... },
|
||||
|
||||
// 安装
|
||||
install(Vue) { ... }
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
##### 导航跳转 (模块 890)
|
||||
|
||||
```javascript
|
||||
// 核心导航函数
|
||||
function navjump(rule, router, NAVTYPE, forceNav, uniActualData, callback, passthrough) {
|
||||
// 1. 处理back类型
|
||||
if (NAVTYPE === "back") {
|
||||
// 构建返回参数
|
||||
}
|
||||
|
||||
// 2. 解析路由
|
||||
var query = queryPageToMap(rule, router).rule;
|
||||
query.type = navtypeToggle[NAVTYPE];
|
||||
|
||||
// 3. 处理params到query
|
||||
var finalRule = paramsToQuery(router, query);
|
||||
var resolvedRule = resolveQuery(finalRule, router);
|
||||
|
||||
// 4. H5平台特殊处理
|
||||
if (router.options.platform === "h5") {
|
||||
if (NAVTYPE !== "push") NAVTYPE = "replace";
|
||||
|
||||
if (forceNav != null) {
|
||||
forceNav.next({ replace: NAVTYPE !== "push", ...resolvedRule });
|
||||
} else {
|
||||
router.$route[NAVTYPE](resolvedRule);
|
||||
}
|
||||
}
|
||||
// 5. 小程序/App平台
|
||||
else {
|
||||
// 创建to和from
|
||||
var to = createToFrom(resolvedRule, router);
|
||||
var from = getCurrentRoute(router);
|
||||
|
||||
createFullPath(resolvedRule, from);
|
||||
|
||||
if (!passthrough) {
|
||||
return resolvedRule;
|
||||
}
|
||||
|
||||
// 触发守卫
|
||||
transitionTo(router, resolvedRule, from, NAVTYPE, HOOKLIST, function(next) {
|
||||
uni[navtypeToggle[NAVTYPE]](resolvedRule, true, next, callback);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 带锁的导航
|
||||
function lockNavjump(rule, router, NAVTYPE, forceNav, uniActualData) {
|
||||
lockDetectWarn(router, rule, NAVTYPE, function() {
|
||||
// H5不锁定
|
||||
if (router.options.platform !== "h5") {
|
||||
router.$lockStatus = true;
|
||||
}
|
||||
navjump(rule, router, NAVTYPE, void 0, forceNav, uniActualData);
|
||||
}, uniActualData);
|
||||
}
|
||||
```
|
||||
|
||||
##### 路由守卫 (模块 169)
|
||||
|
||||
```javascript
|
||||
// 守卫钩子列表
|
||||
var HOOKLIST = [
|
||||
// 1. 全局前置守卫
|
||||
function(router, to, from, route, next) {
|
||||
callHook(router.lifeCycle.routerBeforeHooks[0], to, from, router, next);
|
||||
},
|
||||
|
||||
// 2. 组件beforeRouteLeave
|
||||
function(router, to, from, route, next) {
|
||||
callBeforeRouteLeave(router, to, from, next);
|
||||
},
|
||||
|
||||
// 3. 路由beforeHooks
|
||||
function(router, to, from, route, next) {
|
||||
callHook(router.lifeCycle.beforeHooks[0], to, from, router, next);
|
||||
},
|
||||
|
||||
// 4. 路由独享守卫beforeEnter
|
||||
function(router, to, from, route, next) {
|
||||
callHook(route.beforeEnter, to, from, router, next);
|
||||
},
|
||||
|
||||
// 5. 路由afterHooks
|
||||
function(router, to, from, route, next) {
|
||||
router.$lockStatus = false;
|
||||
|
||||
if (router.options.platform === "h5") {
|
||||
proxyH5Mount(router);
|
||||
}
|
||||
|
||||
callHook(router.lifeCycle.afterHooks[0], to, from, router, next, false);
|
||||
},
|
||||
|
||||
// 6. 全局后置守卫
|
||||
function(router, to, from, route, next) {
|
||||
router.$lockStatus = false;
|
||||
|
||||
if (router.options.platform === "h5") {
|
||||
proxyH5Mount(router);
|
||||
}
|
||||
|
||||
callHook(router.lifeCycle.routerAfterHooks[0], to, from, router, next, false);
|
||||
}
|
||||
];
|
||||
|
||||
// 循环调用钩子
|
||||
function loopCallHook(hooks, index, next, router, to, from, NAVTYPE) {
|
||||
// 如果所有钩子都执行完了
|
||||
if (hooks.length - 1 < index) {
|
||||
return next();
|
||||
}
|
||||
|
||||
var hook = hooks[index];
|
||||
var errorHook = ERRORHOOK[0];
|
||||
|
||||
// 调用钩子
|
||||
hook(router, to, from, route, function(nextRule) {
|
||||
// App平台tab切换特殊处理
|
||||
if (router.options.platform === "app-plus") {
|
||||
if (nextRule !== false &&
|
||||
typeof nextRule !== "string" &&
|
||||
typeof nextRule !== "object") {
|
||||
tabIndexSelect(to, from);
|
||||
}
|
||||
}
|
||||
|
||||
// 1. next(false) - 终止导航
|
||||
if (nextRule === false) {
|
||||
if (router.options.platform === "h5") {
|
||||
next(false);
|
||||
}
|
||||
errorHook({
|
||||
type: 0,
|
||||
msg: "管道函数传递 false 导航被终止!",
|
||||
matTo: to,
|
||||
matFrom: from,
|
||||
nextTo: nextRule
|
||||
}, router);
|
||||
}
|
||||
// 2. next(string|object) - 重定向
|
||||
else if (typeof nextRule === "string" || typeof nextRule === "object") {
|
||||
var redirectNAVTYPE = NAVTYPE;
|
||||
var redirectRule = nextRule;
|
||||
|
||||
if (typeof nextRule === "object") {
|
||||
var NAVTYPE_OVERRIDE = nextRule.NAVTYPE;
|
||||
redirectRule = objectWithoutProperties(nextRule, ["NAVTYPE"]);
|
||||
|
||||
if (NAVTYPE_OVERRIDE != null) {
|
||||
redirectNAVTYPE = NAVTYPE_OVERRIDE;
|
||||
}
|
||||
}
|
||||
|
||||
navjump(redirectRule, router, redirectNAVTYPE, { from, next });
|
||||
}
|
||||
// 3. next() - 继续
|
||||
else if (nextRule == null) {
|
||||
index++;
|
||||
loopCallHook(hooks, index, next, router, to, from, NAVTYPE);
|
||||
}
|
||||
// 4. 其他 - 错误
|
||||
else {
|
||||
errorHook({
|
||||
type: 1,
|
||||
msg: "管道函数传递未知类型,无法被识别。导航被终止!",
|
||||
matTo: to,
|
||||
matFrom: from,
|
||||
nextTo: nextRule
|
||||
}, router);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 转换导航
|
||||
function transitionTo(router, to, from, NAVTYPE, hooks, finalCallback) {
|
||||
var formattedRoutes = forMatNextToFrom(router, to, from);
|
||||
var matTo = formattedRoutes.matTo;
|
||||
var matFrom = formattedRoutes.matFrom;
|
||||
|
||||
// H5平台
|
||||
if (router.options.platform === "h5") {
|
||||
loopCallHook(hooks, 0, finalCallback, router, matTo, matFrom, NAVTYPE);
|
||||
}
|
||||
// 小程序/App平台
|
||||
else {
|
||||
// 分两步执行钩子
|
||||
// 第一步:前4个钩子
|
||||
loopCallHook(hooks.slice(0, 4), 0, function() {
|
||||
// 第二步:后2个钩子(在导航完成后)
|
||||
finalCallback(function() {
|
||||
loopCallHook(hooks.slice(4), 0, voidFun, router, matTo, matFrom, NAVTYPE);
|
||||
});
|
||||
}, router, matTo, matFrom, NAVTYPE);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
##### 页面钩子代理 (模块 845)
|
||||
|
||||
```javascript
|
||||
// 代理页面生命周期钩子
|
||||
function proxyPageHook(vueInstance, router, mpType) {
|
||||
var proxyHookDeps = router.proxyHookDeps;
|
||||
var options = vueInstance.$options;
|
||||
|
||||
var proxyHookNames = [
|
||||
"onLoad", "onShow", "onReady", "onHide",
|
||||
"onUnload", "onPullDownRefresh", "onReachBottom"
|
||||
];
|
||||
|
||||
for (var i = 0; i < proxyHookNames.length; i++) {
|
||||
var hookName = proxyHookNames[i];
|
||||
var hooks = options[hookName];
|
||||
|
||||
if (hooks) {
|
||||
for (var j = 0; j < hooks.length; j++) {
|
||||
// 跳过已代理的钩子
|
||||
if (hooks[j].toString().includes("UNI-SIMPLE-ROUTER")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var hookId = Object.keys(proxyHookDeps.hooks).length + 1;
|
||||
|
||||
// 创建代理函数
|
||||
var proxyHook = function() {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
proxyHookDeps.resetIndex.push(hookId);
|
||||
proxyHookDeps.options[hookId] = args;
|
||||
};
|
||||
|
||||
// 保存原始钩子
|
||||
var originalHook = hooks.splice(j, 1, proxyHook)[0];
|
||||
|
||||
// 保存钩子信息
|
||||
proxyHookDeps.hooks[hookId] = {
|
||||
proxyHook: proxyHook,
|
||||
callHook: function(path) {
|
||||
// 只在匹配路径时调用
|
||||
if (router.enterPath.replace(/^\//, "") === path.replace(/^\//, "") ||
|
||||
mpType === "app") {
|
||||
var args = proxyHookDeps.options[hookId];
|
||||
originalHook.apply(vueInstance, args);
|
||||
}
|
||||
},
|
||||
resetHook: function() {
|
||||
hooks.splice(j, 1, originalHook);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 重置并调用页面钩子
|
||||
function resetAndCallPageHook(router, path, reset) {
|
||||
if (reset === void 0) reset = true;
|
||||
|
||||
// 解析路径
|
||||
var match = path.trim().match(/^(\/?[^\?\s]+)(\?[\s\S]*$)?$/);
|
||||
if (match == null) {
|
||||
throw new Error("还原hook失败。请检查 【" + path + "】 路径是否正确。");
|
||||
}
|
||||
path = match[1];
|
||||
|
||||
var proxyHookDeps = router.proxyHookDeps;
|
||||
var resetIndex = proxyHookDeps.resetIndex;
|
||||
|
||||
// 调用所有钩子
|
||||
for (var i = 0; i < resetIndex.length; i++) {
|
||||
var hookId = resetIndex[i];
|
||||
proxyHookDeps.hooks[hookId].callHook(path);
|
||||
}
|
||||
|
||||
// 重置钩子
|
||||
if (reset) {
|
||||
resetPageHook(router);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. 加密库
|
||||
|
||||
#### HMAC (模块 0116)
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* HMAC - Hash-based Message Authentication Code
|
||||
*
|
||||
* 算法:
|
||||
* HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))
|
||||
*
|
||||
* 其中:
|
||||
* - K: 密钥
|
||||
* - m: 消息
|
||||
* - H: 哈希函数
|
||||
* - ⊕: XOR运算
|
||||
* - ||: 连接
|
||||
* - ipad: 0x36重复blocksize次
|
||||
* - opad: 0x5C重复blocksize次
|
||||
*/
|
||||
|
||||
function Hmac(alg, key) {
|
||||
// 1. 如果key是字符串,转为Buffer
|
||||
if (typeof key === "string") {
|
||||
key = Buffer.from(key);
|
||||
}
|
||||
|
||||
// 2. 确定blocksize
|
||||
var blocksize = (alg === "sha512" || alg === "sha384") ? 128 : 64;
|
||||
|
||||
// 3. 处理key长度
|
||||
if (key.length > blocksize) {
|
||||
// key太长,先hash
|
||||
var hash = (alg === "rmd160") ? new rmd160() : sha(alg);
|
||||
key = hash.update(key).digest();
|
||||
} else if (key.length < blocksize) {
|
||||
// key太短,填充0
|
||||
key = Buffer.concat([key, zeroBuffer], blocksize);
|
||||
}
|
||||
|
||||
// 4. 计算ipad和opad
|
||||
var ipad = Buffer.allocUnsafe(blocksize);
|
||||
var opad = Buffer.allocUnsafe(blocksize);
|
||||
|
||||
for (var i = 0; i < blocksize; i++) {
|
||||
ipad[i] = key[i] ^ 0x36;
|
||||
opad[i] = key[i] ^ 0x5C;
|
||||
}
|
||||
|
||||
// 5. 初始化内部hash
|
||||
this._hash = (alg === "rmd160") ? new rmd160() : sha(alg);
|
||||
this._hash.update(ipad);
|
||||
}
|
||||
|
||||
Hmac.prototype._final = function() {
|
||||
// 1. 计算内部hash
|
||||
var innerHash = this._hash.digest();
|
||||
|
||||
// 2. 计算外部hash
|
||||
var hash = (this._alg === "rmd160") ? new rmd160() : sha(this._alg);
|
||||
return hash.update(this._opad).update(innerHash).digest();
|
||||
};
|
||||
```
|
||||
|
||||
支持的算法:
|
||||
- MD5
|
||||
- SHA1, SHA256, SHA384, SHA512
|
||||
- RIPEMD160
|
||||
|
||||
#### Cipher (模块 0168)
|
||||
|
||||
加密/解密基类,提供:
|
||||
- 缓冲区管理
|
||||
- 分块处理
|
||||
- 填充处理
|
||||
|
||||
#### Buffer (模块 5f79)
|
||||
|
||||
Node.js Buffer在浏览器环境的实现。
|
||||
|
||||
---
|
||||
|
||||
### 3. 核心Polyfills
|
||||
|
||||
#### Object方法
|
||||
|
||||
| 模块ID | 方法 | 说明 |
|
||||
|--------|------|------|
|
||||
| **00ca** | getOwnPropertyNames | 获取对象自身属性名 |
|
||||
| **036b** | indexOf | 数组indexOf |
|
||||
| **338c** | hasOwnProperty | 检查自身属性 |
|
||||
| **f660** | toIndexedObject | 转为索引对象 |
|
||||
|
||||
#### Array方法
|
||||
|
||||
| 模块ID | 方法 | 说明 |
|
||||
|--------|------|------|
|
||||
| **bb80** | push | 数组push |
|
||||
| **00c2** | keys | 对象键名 |
|
||||
|
||||
#### 工具函数
|
||||
|
||||
| 模块ID | 功能 | 说明 |
|
||||
|--------|------|------|
|
||||
| **2c2e** | inherits | 继承工具 |
|
||||
| **cfef** | Transform | 流转换 |
|
||||
| **d3c2** | assert | 断言 |
|
||||
|
||||
---
|
||||
|
||||
### 4. uni-simple-router 详细功能
|
||||
|
||||
#### 路由配置选项
|
||||
|
||||
```javascript
|
||||
{
|
||||
// 平台类型
|
||||
platform: "h5" | "app-plus" | "mp-weixin" | "mp-alipay" | ...,
|
||||
|
||||
// 路由表
|
||||
routes: [
|
||||
{
|
||||
path: "/pages/index/index",
|
||||
name: "index",
|
||||
aliasPath: "/",
|
||||
meta: {},
|
||||
beforeEnter: function(to, from, next) {}
|
||||
}
|
||||
],
|
||||
|
||||
// H5配置
|
||||
h5: {
|
||||
vueRouterDev: false,
|
||||
vueNext: false,
|
||||
paramsToQuery: false
|
||||
},
|
||||
|
||||
// 小程序配置
|
||||
applet: {
|
||||
animationDuration: 300
|
||||
},
|
||||
|
||||
// App配置
|
||||
APP: {
|
||||
animation: {
|
||||
animationType: "pop-in",
|
||||
animationDuration: 300
|
||||
},
|
||||
launchedHook: function() {}
|
||||
},
|
||||
|
||||
// 调试
|
||||
debugger: false | true | { err: true, warn: true, log: false },
|
||||
|
||||
// 守卫
|
||||
routerBeforeEach: function(to, from, next) {},
|
||||
routerAfterEach: function(to, from) {},
|
||||
routerErrorEach: function(error, router) {},
|
||||
|
||||
// 查询处理
|
||||
resolveQuery: function(query) { return query; },
|
||||
parseQuery: function(query) { return query; },
|
||||
|
||||
// 检测锁
|
||||
detectBeforeLock: function(router, to, navType) {}
|
||||
}
|
||||
```
|
||||
|
||||
#### 路由对象结构
|
||||
|
||||
```javascript
|
||||
{
|
||||
name: "index", // 路由名称
|
||||
path: "/pages/index/index", // 路径
|
||||
fullPath: "/pages/index/index?id=1", // 完整路径
|
||||
query: { id: "1" }, // 查询参数
|
||||
params: {}, // 路由参数
|
||||
meta: {}, // 元信息
|
||||
NAVTYPE: "push", // 导航类型
|
||||
BACKTYPE: "" // 返回类型
|
||||
}
|
||||
```
|
||||
|
||||
#### API方法
|
||||
|
||||
```javascript
|
||||
// 导航方法
|
||||
router.push(location)
|
||||
router.replace(location)
|
||||
router.replaceAll(location)
|
||||
router.pushTab(location)
|
||||
router.back(delta, options)
|
||||
|
||||
// 守卫方法
|
||||
router.beforeEach(fn)
|
||||
router.afterEach(fn)
|
||||
|
||||
// 强制触发
|
||||
router.forceGuardEach(NAVTYPE, passthrough)
|
||||
|
||||
// Vue实例访问
|
||||
this.$Router // 路由器实例
|
||||
this.$Route // 当前路由
|
||||
this.$AppReady // App准备完成Promise
|
||||
```
|
||||
|
||||
#### 原生方法重写
|
||||
|
||||
```javascript
|
||||
// 重写uni原生导航方法
|
||||
uni.navigateTo(options) → router.push()
|
||||
uni.redirectTo(options) → router.replace()
|
||||
uni.reLaunch(options) → router.replaceAll()
|
||||
uni.switchTab(options) → router.pushTab()
|
||||
uni.navigateBack(options) → router.back()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 模块依赖关系
|
||||
|
||||
```
|
||||
607 (主入口)
|
||||
├── 366 (常量)
|
||||
├── 309 (类型)
|
||||
├── 814 (加载页面)
|
||||
└── 963 (创建路由)
|
||||
├── 282 (配置)
|
||||
├── 789 (工具)
|
||||
├── 662 (钩子注册)
|
||||
├── 460 (Mixins)
|
||||
│ ├── 801 (路由映射)
|
||||
│ ├── 844 (Vue路由)
|
||||
│ ├── 147 (代理)
|
||||
│ └── 814 (加载页面)
|
||||
├── 890 (导航)
|
||||
│ ├── 366 (常量)
|
||||
│ ├── 99 (查询)
|
||||
│ ├── 789 (工具)
|
||||
│ ├── 169 (钩子调用)
|
||||
│ └── 845 (页面钩子)
|
||||
└── 314 (方法重写)
|
||||
└── 809 (原生跳转)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 性能优化
|
||||
|
||||
### 1. 代码分割
|
||||
- 将第三方库独立打包
|
||||
- 减少主bundle大小
|
||||
- 利用浏览器缓存
|
||||
|
||||
### 2. 懒加载
|
||||
- 页面组件按需加载
|
||||
- 减少首屏加载时间
|
||||
|
||||
### 3. 压缩
|
||||
- UglifyJS压缩
|
||||
- 变量名混淆
|
||||
- 移除注释和空格
|
||||
|
||||
---
|
||||
|
||||
## 建议
|
||||
|
||||
### 1. 优化建议
|
||||
- ✅ 使用CDN加载常用库
|
||||
- ✅ 启用Gzip/Brotli压缩
|
||||
- ✅ 考虑按需引入uni-simple-router功能
|
||||
- ✅ 分析是否所有加密库都需要
|
||||
|
||||
### 2. 调试建议
|
||||
- 使用Source Map调试
|
||||
- 启用路由debugger选项
|
||||
- 查看原始源代码
|
||||
|
||||
### 3. 升级建议
|
||||
- 检查依赖库版本
|
||||
- 及时更新安全补丁
|
||||
- 关注性能优化
|
||||
|
||||
---
|
||||
|
||||
## 总结
|
||||
|
||||
`chunk-vendors.4d47960d.js` 是一个包含所有第三方依赖的大型文件:
|
||||
|
||||
**主要内容**:
|
||||
1. ✅ uni-simple-router (约70%代码量)
|
||||
2. ✅ 加密库 (HMAC, SHA, MD5等)
|
||||
3. ✅ Buffer实现
|
||||
4. ✅ Polyfills (Object, Array方法)
|
||||
5. ✅ 工具函数
|
||||
|
||||
**特点**:
|
||||
- 📦 高度压缩(1.18MB → 约26行)
|
||||
- 🔒 变量混淆
|
||||
- ⚡ 模块化设计
|
||||
- 🎯 独立打包
|
||||
|
||||
**用途**:
|
||||
- 提供路由功能
|
||||
- 提供加密功能
|
||||
- 兼容性支持
|
||||
- 工具函数库
|
||||
|
||||
由于文件过大且高度压缩,完整反编译需要原始源代码和构建配置。建议查看:
|
||||
- uni-simple-router GitHub仓库
|
||||
- 项目的package.json
|
||||
- Webpack配置文件
|
||||
|
||||
---
|
||||
|
||||
## 附录:模块ID速查表
|
||||
|
||||
### uni-simple-router核心模块
|
||||
- 607: 主入口
|
||||
- 366: 常量定义
|
||||
- 963: 创建路由器
|
||||
- 890: 导航跳转
|
||||
- 169: 钩子调用
|
||||
- 845: 页面钩子
|
||||
- 789: 工具函数
|
||||
- 99: 查询参数
|
||||
- 314: 方法重写
|
||||
- 662: 钩子注册
|
||||
- 460: Mixins
|
||||
- 282: 配置常量
|
||||
|
||||
### 加密相关
|
||||
- 0116: HMAC
|
||||
- 0168: Cipher
|
||||
- 5f79: Buffer
|
||||
- 1177: MD5
|
||||
- 2d81: RMD160
|
||||
- 25a4: SHA
|
||||
|
||||
### Polyfills
|
||||
- 00c2: indexOf
|
||||
- 00ca: getOwnPropertyNames
|
||||
- bb80: array push
|
||||
- 338c: hasOwnProperty
|
||||
- f660: toIndexedObject
|
||||
|
||||
完整模块列表约200+个,这里仅列出主要模块。
|
||||
|
||||
|
||||
|
||||
27
h5/static/js/chunk-vendors.4d47960d.js
Executable file
622
h5/static/js/chunk-vendors.4d47960d.readable.js
Executable file
@@ -0,0 +1,622 @@
|
||||
// ============================================
|
||||
// 反编译后的可读版本
|
||||
// 原文件: chunk-vendors.4d47960d.js
|
||||
// 文件: Webpack第三方库打包文件
|
||||
// 大小: 1.18MB (1,181,721 bytes)
|
||||
// 说明: 包含所有第三方依赖库
|
||||
// ============================================
|
||||
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([
|
||||
["chunk-vendors"],
|
||||
{
|
||||
// ==================== 核心工具模块 ====================
|
||||
|
||||
/**
|
||||
* 模块 00c2: Array indexOf实现
|
||||
* 用于不支持原生indexOf的环境
|
||||
*/
|
||||
"00c2": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
var arrayPush = require("bb80"); // 数组push方法
|
||||
var hasOwnProperty = require("338c"); // hasOwnProperty检查
|
||||
var toIndexedObject = require("f660"); // 转索引对象
|
||||
var indexOf = require("036b").indexOf; // indexOf方法
|
||||
var hiddenKeys = require("11bf"); // 隐藏键
|
||||
var push = arrayPush([].push);
|
||||
|
||||
module.exports = function(object, names) {
|
||||
var key;
|
||||
var result = toIndexedObject(object);
|
||||
var index = 0;
|
||||
var keys = [];
|
||||
|
||||
// 遍历对象
|
||||
for (key in result) {
|
||||
if (!hasOwnProperty(hiddenKeys, key) &&
|
||||
hasOwnProperty(result, key)) {
|
||||
push(keys, key);
|
||||
}
|
||||
}
|
||||
|
||||
// 遍历传入的names
|
||||
while (names.length > index) {
|
||||
if (hasOwnProperty(result, key = names[index++])) {
|
||||
if (~indexOf(keys, key)) {
|
||||
push(keys, key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return keys;
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* 模块 00ca: Object.getOwnPropertyNames polyfill
|
||||
* 获取对象自身的所有属性名
|
||||
*/
|
||||
"00ca": function(module, exports, require) {
|
||||
var internalObjectKeys = require("56c8");
|
||||
var enumBugKeys = require("da1d");
|
||||
var hiddenKeys = enumBugKeys.concat("length", "prototype");
|
||||
|
||||
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||||
return internalObjectKeys(O, hiddenKeys);
|
||||
};
|
||||
},
|
||||
|
||||
// ==================== 加密相关模块 ====================
|
||||
|
||||
/**
|
||||
* 模块 0116: HMAC实现
|
||||
* Hash-based Message Authentication Code
|
||||
*/
|
||||
"0116": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
var inherits = require("2c2e");
|
||||
var Legacy = require("610c");
|
||||
var Transform = require("cfef");
|
||||
var Buffer = require("5f79").Buffer;
|
||||
var md5 = require("1177");
|
||||
var rmd160 = require("2d81");
|
||||
var sha = require("25a4");
|
||||
|
||||
var zeroBuffer = Buffer.alloc(128);
|
||||
|
||||
/**
|
||||
* HMAC构造函数
|
||||
* @param {string} alg - 算法名称
|
||||
* @param {Buffer} key - 密钥
|
||||
*/
|
||||
function Hmac(alg, key) {
|
||||
Transform.call(this, "digest");
|
||||
|
||||
if (typeof key === "string") {
|
||||
key = Buffer.from(key);
|
||||
}
|
||||
|
||||
var blocksize = (alg === "sha512" || alg === "sha384") ? 128 : 64;
|
||||
|
||||
this._alg = alg;
|
||||
this._key = key;
|
||||
|
||||
// 如果key长度大于blocksize,先hash
|
||||
if (key.length > blocksize) {
|
||||
var hash = (alg === "rmd160") ? new rmd160() : sha(alg);
|
||||
key = hash.update(key).digest();
|
||||
} else if (key.length < blocksize) {
|
||||
// 如果key长度小于blocksize,填充0
|
||||
key = Buffer.concat([key, zeroBuffer], blocksize);
|
||||
}
|
||||
|
||||
// 创建ipad和opad
|
||||
var ipad = this._ipad = Buffer.allocUnsafe(blocksize);
|
||||
var opad = this._opad = Buffer.allocUnsafe(blocksize);
|
||||
|
||||
for (var i = 0; i < blocksize; i++) {
|
||||
ipad[i] = key[i] ^ 0x36; // XOR with 0x36
|
||||
opad[i] = key[i] ^ 0x5C; // XOR with 0x5C
|
||||
}
|
||||
|
||||
this._hash = (alg === "rmd160") ? new rmd160() : sha(alg);
|
||||
this._hash.update(ipad);
|
||||
}
|
||||
|
||||
inherits(Hmac, Transform);
|
||||
|
||||
Hmac.prototype._update = function(data) {
|
||||
this._hash.update(data);
|
||||
};
|
||||
|
||||
Hmac.prototype._final = function() {
|
||||
var innerHash = this._hash.digest();
|
||||
var hash = (this._alg === "rmd160") ? new rmd160() : sha(this._alg);
|
||||
return hash.update(this._opad).update(innerHash).digest();
|
||||
};
|
||||
|
||||
module.exports = function createHmac(alg, key) {
|
||||
alg = alg.toLowerCase();
|
||||
|
||||
if (alg === "rmd160" || alg === "ripemd160") {
|
||||
return new Hmac("rmd160", key);
|
||||
}
|
||||
if (alg === "md5") {
|
||||
return new Legacy(md5, key);
|
||||
}
|
||||
return new Hmac(alg, key);
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* 模块 0168: Cipher基类
|
||||
* 加密/解密的基础类
|
||||
*/
|
||||
"0168": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
var assert = require("d3c2");
|
||||
|
||||
/**
|
||||
* Cipher构造函数
|
||||
* @param {Object} options - 配置选项
|
||||
*/
|
||||
function Cipher(options) {
|
||||
this.options = options;
|
||||
this.type = this.options.type;
|
||||
this.blockSize = 8;
|
||||
this._init();
|
||||
|
||||
this.buffer = new Array(this.blockSize);
|
||||
this.bufferOff = 0;
|
||||
}
|
||||
|
||||
module.exports = Cipher;
|
||||
|
||||
Cipher.prototype._init = function() {
|
||||
// 子类实现
|
||||
};
|
||||
|
||||
/**
|
||||
* 更新数据
|
||||
* @param {Array} data - 输入数据
|
||||
*/
|
||||
Cipher.prototype.update = function(data) {
|
||||
if (data.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (this.type === "decrypt") {
|
||||
return this._updateDecrypt(data);
|
||||
} else {
|
||||
return this._updateEncrypt(data);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 缓冲数据
|
||||
*/
|
||||
Cipher.prototype._buffer = function(data, off) {
|
||||
var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);
|
||||
|
||||
for (var i = 0; i < min; i++) {
|
||||
this.buffer[this.bufferOff + i] = data[off + i];
|
||||
}
|
||||
|
||||
this.bufferOff += min;
|
||||
return min;
|
||||
};
|
||||
|
||||
/**
|
||||
* 刷新缓冲区
|
||||
*/
|
||||
Cipher.prototype._flushBuffer = function(out, off) {
|
||||
this._update(this.buffer, 0, out, off);
|
||||
this.bufferOff = 0;
|
||||
return this.blockSize;
|
||||
};
|
||||
},
|
||||
|
||||
// ==================== uni-simple-router 路由库 ====================
|
||||
|
||||
/**
|
||||
* 模块 607: uni-simple-router 主入口
|
||||
* 完整的路由库实现
|
||||
*/
|
||||
"607": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
var __createBinding = (Object.create ? function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
Object.defineProperty(o, k2, {
|
||||
enumerable: true,
|
||||
get: function() { return m[k]; }
|
||||
});
|
||||
} : function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
});
|
||||
|
||||
var __exportStar = function(m, exports) {
|
||||
for (var p in m) {
|
||||
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) {
|
||||
__createBinding(exports, m, p);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
|
||||
// 导出所有模块
|
||||
exports.createRouter = void 0;
|
||||
exports.RouterMount = void 0;
|
||||
exports.runtimeQuit = void 0;
|
||||
|
||||
__exportStar(require("366"), exports); // 常量定义
|
||||
__exportStar(require("309"), exports); // 类型定义
|
||||
|
||||
var registerLoddingPage = require("814");
|
||||
Object.defineProperty(exports, "runtimeQuit", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return registerLoddingPage.runtimeQuit;
|
||||
}
|
||||
});
|
||||
|
||||
var createRouter_1 = require("963");
|
||||
Object.defineProperty(exports, "RouterMount", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return createRouter_1.RouterMount;
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(exports, "createRouter", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return createRouter_1.createRouter;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 模块 366: 路由常量定义
|
||||
*/
|
||||
"366": function(module, exports) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
|
||||
exports.hookToggle = void 0;
|
||||
exports.navtypeToggle = void 0;
|
||||
exports.rewriteMethodToggle = void 0;
|
||||
|
||||
// 钩子类型切换
|
||||
var hookToggle;
|
||||
(function(hookToggle) {
|
||||
hookToggle["beforeHooks"] = "beforeEach";
|
||||
hookToggle["afterHooks"] = "afterEach";
|
||||
hookToggle["enterHooks"] = "beforeEnter";
|
||||
})(hookToggle = exports.hookToggle || (exports.hookToggle = {}));
|
||||
|
||||
// 导航类型切换
|
||||
var navtypeToggle;
|
||||
(function(navtypeToggle) {
|
||||
navtypeToggle["push"] = "navigateTo";
|
||||
navtypeToggle["replace"] = "redirectTo";
|
||||
navtypeToggle["replaceAll"] = "reLaunch";
|
||||
navtypeToggle["pushTab"] = "switchTab";
|
||||
navtypeToggle["back"] = "navigateBack";
|
||||
})(navtypeToggle = exports.navtypeToggle || (exports.navtypeToggle = {}));
|
||||
|
||||
// 方法重写映射
|
||||
var rewriteMethodToggle;
|
||||
(function(rewriteMethodToggle) {
|
||||
rewriteMethodToggle["navigateTo"] = "push";
|
||||
rewriteMethodToggle["navigate"] = "push";
|
||||
rewriteMethodToggle["redirectTo"] = "replace";
|
||||
rewriteMethodToggle["reLaunch"] = "replaceAll";
|
||||
rewriteMethodToggle["switchTab"] = "pushTab";
|
||||
rewriteMethodToggle["navigateBack"] = "back";
|
||||
})(rewriteMethodToggle = exports.rewriteMethodToggle || (exports.rewriteMethodToggle = {}));
|
||||
},
|
||||
|
||||
/**
|
||||
* 模块 963: 创建路由器
|
||||
*/
|
||||
"963": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
var __assign = (Object.assign || function(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
return target;
|
||||
});
|
||||
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
|
||||
exports.createRouter = void 0;
|
||||
exports.RouterMount = void 0;
|
||||
|
||||
var baseConfig = require("282");
|
||||
var utils = require("789");
|
||||
var registerHooks = require("662");
|
||||
var mixins = require("460");
|
||||
var navjump = require("890");
|
||||
var rewriteMethod = require("314");
|
||||
|
||||
/**
|
||||
* 创建路由器实例
|
||||
* @param {Object} options - 路由配置
|
||||
*/
|
||||
function createRouter(options) {
|
||||
var config = utils.assertNewOptions(options);
|
||||
|
||||
var router = {
|
||||
// 配置选项
|
||||
options: config,
|
||||
|
||||
// 挂载队列
|
||||
mount: [],
|
||||
|
||||
// Vue实例
|
||||
Vue: null,
|
||||
|
||||
// 代理钩子依赖
|
||||
proxyHookDeps: baseConfig.proxyHookDeps,
|
||||
|
||||
// App主实例
|
||||
appMain: {},
|
||||
|
||||
// 进入路径
|
||||
enterPath: "",
|
||||
|
||||
// 当前路由
|
||||
$route: null,
|
||||
|
||||
// 锁定状态
|
||||
$lockStatus: false,
|
||||
|
||||
// 路由映射
|
||||
routesMap: {},
|
||||
|
||||
// 生命周期
|
||||
lifeCycle: registerHooks.registerRouterHooks(
|
||||
baseConfig.lifeCycle,
|
||||
config
|
||||
),
|
||||
|
||||
// ========== 导航方法 ==========
|
||||
|
||||
/**
|
||||
* Push导航
|
||||
* @param {Object|string} location - 目标位置
|
||||
*/
|
||||
push: function(location) {
|
||||
navjump.lockNavjump(location, router, "push");
|
||||
},
|
||||
|
||||
/**
|
||||
* Replace导航
|
||||
* @param {Object|string} location - 目标位置
|
||||
*/
|
||||
replace: function(location) {
|
||||
navjump.lockNavjump(location, router, "replace");
|
||||
},
|
||||
|
||||
/**
|
||||
* ReplaceAll导航
|
||||
* @param {Object|string} location - 目标位置
|
||||
*/
|
||||
replaceAll: function(location) {
|
||||
navjump.lockNavjump(location, router, "replaceAll");
|
||||
},
|
||||
|
||||
/**
|
||||
* PushTab导航
|
||||
* @param {Object|string} location - 目标位置
|
||||
*/
|
||||
pushTab: function(location) {
|
||||
navjump.lockNavjump(location, router, "pushTab");
|
||||
},
|
||||
|
||||
/**
|
||||
* 返回导航
|
||||
* @param {number} delta - 返回层数
|
||||
* @param {Object} options - 选项
|
||||
*/
|
||||
back: function(delta, options) {
|
||||
if (delta === void 0) delta = 1;
|
||||
|
||||
if (utils.getDataType(options) !== "[object Object]") {
|
||||
options = { from: "navigateBack" };
|
||||
} else if (!Reflect.has(options, "from")) {
|
||||
options = __assign(__assign({}, options), { from: "navigateBack" });
|
||||
}
|
||||
|
||||
navjump.lockNavjump(delta + "", router, "back", void 0, options);
|
||||
},
|
||||
|
||||
/**
|
||||
* 强制触发守卫
|
||||
* @param {string} NAVTYPE - 导航类型
|
||||
* @param {boolean} passthrough - 是否穿透
|
||||
*/
|
||||
forceGuardEach: function(NAVTYPE, passthrough) {
|
||||
navjump.forceGuardEach(router, NAVTYPE, passthrough);
|
||||
},
|
||||
|
||||
// ========== 路由守卫 ==========
|
||||
|
||||
/**
|
||||
* 前置守卫
|
||||
* @param {Function} fn - 守卫函数
|
||||
*/
|
||||
beforeEach: function(fn) {
|
||||
registerHooks.registerEachHooks(router, "beforeHooks", fn);
|
||||
},
|
||||
|
||||
/**
|
||||
* 后置守卫
|
||||
* @param {Function} fn - 守卫函数
|
||||
*/
|
||||
afterEach: function(fn) {
|
||||
registerHooks.registerEachHooks(router, "afterHooks", fn);
|
||||
},
|
||||
|
||||
/**
|
||||
* 安装到Vue
|
||||
* @param {Vue} Vue - Vue构造函数
|
||||
*/
|
||||
install: function(Vue) {
|
||||
router.Vue = Vue;
|
||||
|
||||
// 重写uni方法
|
||||
rewriteMethod.rewriteMethod(router);
|
||||
|
||||
// 初始化mixins
|
||||
mixins.initMixins(Vue, router);
|
||||
|
||||
// 定义$Router属性
|
||||
Object.defineProperty(Vue.prototype, "$Router", {
|
||||
get: function() {
|
||||
var routerInstance = router;
|
||||
|
||||
Object.defineProperty(this, "$Router", {
|
||||
value: routerInstance,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
enumerable: false
|
||||
});
|
||||
|
||||
Object.seal(routerInstance);
|
||||
return routerInstance;
|
||||
}
|
||||
});
|
||||
|
||||
// 定义$Route属性
|
||||
Object.defineProperty(Vue.prototype, "$Route", {
|
||||
get: function() {
|
||||
return navjump.createRoute(router);
|
||||
}
|
||||
});
|
||||
|
||||
// 定义$AppReady属性
|
||||
Object.defineProperty(Vue.prototype, "$AppReady", {
|
||||
get: function() {
|
||||
if (router.options.platform === "h5") {
|
||||
return Promise.resolve();
|
||||
}
|
||||
return appReadyPromise;
|
||||
},
|
||||
set: function(val) {
|
||||
if (val === true) {
|
||||
resolveAppReady();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// 定义currentRoute只读属性
|
||||
utils.def(router, "currentRoute", function() {
|
||||
return navjump.createRoute(router);
|
||||
});
|
||||
|
||||
// 注册默认守卫
|
||||
router.beforeEach(function(to, from, next) {
|
||||
return next();
|
||||
});
|
||||
|
||||
router.afterEach(function() {});
|
||||
|
||||
return router;
|
||||
}
|
||||
|
||||
exports.createRouter = createRouter;
|
||||
|
||||
/**
|
||||
* 挂载路由到Vue实例
|
||||
* @param {Vue} app - Vue实例
|
||||
* @param {Router} router - 路由器实例
|
||||
* @param {string} el - 挂载元素
|
||||
*/
|
||||
function RouterMount(app, router, el) {
|
||||
if (el === void 0) el = "#app";
|
||||
|
||||
if (utils.getDataType(router.mount) !== "[object Array]") {
|
||||
throw new Error("挂载路由失败,router.app 应该为数组类型。当前类型:" +
|
||||
typeof router.mount);
|
||||
}
|
||||
|
||||
router.mount.push({
|
||||
app: app,
|
||||
el: el
|
||||
});
|
||||
|
||||
// H5平台特殊处理
|
||||
if (router.options.platform === "h5") {
|
||||
var vueRouter = router.$route;
|
||||
vueRouter.replace({
|
||||
path: vueRouter.currentRoute.fullPath
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
exports.RouterMount = RouterMount;
|
||||
|
||||
var appReadyPromise = new Promise(function(resolve) {
|
||||
resolveAppReady = resolve;
|
||||
});
|
||||
|
||||
var resolveAppReady;
|
||||
},
|
||||
|
||||
// ==================== 更多模块... ====================
|
||||
// 由于文件过大,以下省略其他模块
|
||||
// 完整模块列表见 chunk-vendors.4d47960d.ANALYSIS.md
|
||||
|
||||
}
|
||||
]);
|
||||
|
||||
// ==================== 说明 ====================
|
||||
/**
|
||||
* 此文件包含以下主要库:
|
||||
*
|
||||
* 1. uni-simple-router (路由库)
|
||||
* - 模块 607, 366, 963, 890, 845, 169, 789, etc.
|
||||
* - 完整的路由管理功能
|
||||
* - 页面导航、守卫、生命周期
|
||||
*
|
||||
* 2. 加密库
|
||||
* - 模块 0116 (HMAC)
|
||||
* - 模块 0168 (Cipher)
|
||||
* - 模块 5f79 (Buffer)
|
||||
* - 模块 1177 (MD5)
|
||||
* - 模块 2d81 (RMD160)
|
||||
* - 模块 25a4 (SHA)
|
||||
*
|
||||
* 3. 核心Polyfills
|
||||
* - 模块 00c2 (indexOf)
|
||||
* - 模块 00ca (getOwnPropertyNames)
|
||||
* - 其他Object/Array方法
|
||||
*
|
||||
* 4. 工具函数
|
||||
* - 对象操作
|
||||
* - 数组操作
|
||||
* - 类型判断
|
||||
* - 继承工具
|
||||
*
|
||||
* 总共包含约200+个模块
|
||||
* 完整列表和详细说明见分析文档
|
||||
*/
|
||||
|
||||
|
||||
|
||||
1
h5/static/js/index.6d11616b.js
Executable file
1
h5/static/js/index.8bc32d98.js
Executable file
350
h5/static/js/index.8bc32d98.readable.js
Executable file
@@ -0,0 +1,350 @@
|
||||
// ============================================
|
||||
// 反编译后的可读版本
|
||||
// 原文件: index.8bc32d98.js
|
||||
// 文件: Webpack H5应用主入口
|
||||
// 大小: 281KB
|
||||
// ============================================
|
||||
|
||||
// ==================== Webpack Bootstrap ====================
|
||||
(function(modules) {
|
||||
|
||||
/**
|
||||
* Webpack模块加载器
|
||||
* @param {Array} chunkData - [chunkIds, moreModules, executeModules]
|
||||
*/
|
||||
function webpackJsonpCallback(chunkData) {
|
||||
var chunkIds = chunkData[0];
|
||||
var moreModules = chunkData[1];
|
||||
var executeModules = chunkData[2];
|
||||
|
||||
var moduleId, chunkId, resolves = [];
|
||||
|
||||
// 标记所有chunk为已加载
|
||||
for (var i = 0; i < chunkIds.length; i++) {
|
||||
chunkId = chunkIds[i];
|
||||
if (Object.prototype.hasOwnProperty.call(installedChunks, chunkId) &&
|
||||
installedChunks[chunkId]) {
|
||||
resolves.push(installedChunks[chunkId][0]);
|
||||
}
|
||||
installedChunks[chunkId] = 0;
|
||||
}
|
||||
|
||||
// 添加新模块到modules对象
|
||||
for (moduleId in moreModules) {
|
||||
if (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
|
||||
modules[moduleId] = moreModules[moduleId];
|
||||
}
|
||||
}
|
||||
|
||||
// 执行父chunk回调
|
||||
if (parentJsonpFunction) {
|
||||
parentJsonpFunction(chunkData);
|
||||
}
|
||||
|
||||
// 解析所有promise
|
||||
while (resolves.length) {
|
||||
resolves.shift()();
|
||||
}
|
||||
|
||||
// 添加入口模块到延迟列表
|
||||
return deferredModules.push.apply(deferredModules, executeModules || []),
|
||||
checkDeferredModules();
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查延迟模块
|
||||
*/
|
||||
function checkDeferredModules() {
|
||||
var result;
|
||||
for (var i = 0; i < deferredModules.length; i++) {
|
||||
var deferredModule = deferredModules[i];
|
||||
var fulfilled = true;
|
||||
|
||||
for (var j = 1; j < deferredModule.length; j++) {
|
||||
var depId = deferredModule[j];
|
||||
if (0 !== installedChunks[depId]) {
|
||||
fulfilled = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (fulfilled) {
|
||||
deferredModules.splice(i--, 1);
|
||||
result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// 模块缓存
|
||||
var installedModules = {};
|
||||
|
||||
// Chunk加载状态
|
||||
// 0 = 已加载, Promise = 加载中, undefined = 未加载
|
||||
var installedChunks = {
|
||||
index: 0
|
||||
};
|
||||
|
||||
// 延迟模块
|
||||
var deferredModules = [];
|
||||
|
||||
/**
|
||||
* Webpack require函数
|
||||
* @param {string} moduleId - 模块ID
|
||||
*/
|
||||
function __webpack_require__(moduleId) {
|
||||
// 检查缓存
|
||||
if (installedModules[moduleId]) {
|
||||
return installedModules[moduleId].exports;
|
||||
}
|
||||
|
||||
// 创建新模块并放入缓存
|
||||
var module = installedModules[moduleId] = {
|
||||
i: moduleId,
|
||||
l: false,
|
||||
exports: {}
|
||||
};
|
||||
|
||||
// 执行模块函数
|
||||
modules[moduleId].call(
|
||||
module.exports,
|
||||
module,
|
||||
module.exports,
|
||||
__webpack_require__
|
||||
);
|
||||
|
||||
// 标记模块为已加载
|
||||
module.l = true;
|
||||
|
||||
// 返回模块导出
|
||||
return module.exports;
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步加载chunk
|
||||
* @param {string} chunkId - Chunk ID
|
||||
*/
|
||||
__webpack_require__.e = function requireEnsure(chunkId) {
|
||||
var promises = [];
|
||||
var installedChunkData = installedChunks[chunkId];
|
||||
|
||||
if (0 !== installedChunkData) {
|
||||
if (installedChunkData) {
|
||||
promises.push(installedChunkData[2]);
|
||||
} else {
|
||||
// 创建Promise
|
||||
var promise = new Promise(function(resolve, reject) {
|
||||
installedChunkData = installedChunks[chunkId] = [resolve, reject];
|
||||
});
|
||||
promises.push(installedChunkData[2] = promise);
|
||||
|
||||
// 开始加载chunk
|
||||
var script = document.createElement('script');
|
||||
var onScriptComplete;
|
||||
|
||||
script.charset = 'utf-8';
|
||||
script.timeout = 120;
|
||||
|
||||
if (__webpack_require__.nc) {
|
||||
script.setAttribute("nonce", __webpack_require__.nc);
|
||||
}
|
||||
|
||||
script.src = jsonpScriptSrc(chunkId);
|
||||
|
||||
// 创建错误处理
|
||||
var error = new Error();
|
||||
onScriptComplete = function(event) {
|
||||
// 避免内存泄漏
|
||||
script.onerror = script.onload = null;
|
||||
clearTimeout(timeout);
|
||||
|
||||
var chunk = installedChunks[chunkId];
|
||||
if (0 !== chunk) {
|
||||
if (chunk) {
|
||||
var errorType = event && (event.type === 'load' ? 'missing' : event.type);
|
||||
var realSrc = event && event.target && event.target.src;
|
||||
error.message = 'Loading chunk ' + chunkId + ' failed.\n(' +
|
||||
errorType + ': ' + realSrc + ')';
|
||||
error.name = 'ChunkLoadError';
|
||||
error.type = errorType;
|
||||
error.request = realSrc;
|
||||
chunk[1](error);
|
||||
}
|
||||
installedChunks[chunkId] = undefined;
|
||||
}
|
||||
};
|
||||
|
||||
var timeout = setTimeout(function() {
|
||||
onScriptComplete({ type: 'timeout', target: script });
|
||||
}, 120000);
|
||||
|
||||
script.onerror = script.onload = onScriptComplete;
|
||||
document.head.appendChild(script);
|
||||
}
|
||||
}
|
||||
|
||||
return Promise.all(promises);
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取chunk的script src
|
||||
*/
|
||||
function jsonpScriptSrc(chunkId) {
|
||||
// Chunk名称映射
|
||||
var chunkMap = {
|
||||
"pages-index-index~pages-personal-index~pages-rushing-detail~pages-rushing-index~pages-sub-pages-addr~7968e06c":
|
||||
"pages-index-index~pages-personal-index~pages-rushing-detail~pages-rushing-index~pages-sub-pages-addr~7968e06c",
|
||||
"pages-index-index~pages-sub-pages-search-index":
|
||||
"pages-index-index~pages-sub-pages-search-index",
|
||||
"pages-index-index": "pages-index-index",
|
||||
"pages-sub-pages-search-index": "pages-sub-pages-search-index",
|
||||
"pages-personal-index": "pages-personal-index",
|
||||
"pages-rushing-detail~pages-rushing-index": "pages-rushing-detail~pages-rushing-index",
|
||||
"pages-rushing-index": "pages-rushing-index",
|
||||
"pages-rushing-detail~pages-sub-pages-balance-index~pages-sub-pages-coupon-index~pages-sub-pages-my-f~58831170":
|
||||
"pages-rushing-detail~pages-sub-pages-balance-index~pages-sub-pages-coupon-index~pages-sub-pages-my-f~58831170",
|
||||
"pages-rushing-detail~pages-sub-pages-balance-index~pages-sub-pages-coupon-index~pages-sub-pages-priz~0d2429df":
|
||||
"pages-rushing-detail~pages-sub-pages-balance-index~pages-sub-pages-coupon-index~pages-sub-pages-priz~0d2429df",
|
||||
"pages-rushing-detail": "pages-rushing-detail",
|
||||
"pages-sub-pages-rushing-order-detail~pages-sub-pages-rushing-order-index":
|
||||
"pages-sub-pages-rushing-order-detail~pages-sub-pages-rushing-order-index",
|
||||
"pages-sub-pages-rushing-order-index": "pages-sub-pages-rushing-order-index",
|
||||
"pages-sub-pages-my-fans-index": "pages-sub-pages-my-fans-index",
|
||||
"pages-sub-pages-shop-order-index": "pages-sub-pages-shop-order-index",
|
||||
"pages-sub-pages-address-detail~pages-sub-pages-login-change-pwd~pages-sub-pages-login-index~pages-su~3512e57f":
|
||||
"pages-sub-pages-address-detail~pages-sub-pages-login-change-pwd~pages-sub-pages-login-index~pages-su~3512e57f",
|
||||
"pages-sub-pages-address-detail": "pages-sub-pages-address-detail",
|
||||
"pages-sub-pages-login-change-pwd~pages-sub-pages-login-register~pages-sub-pages-login-reset-account":
|
||||
"pages-sub-pages-login-change-pwd~pages-sub-pages-login-register~pages-sub-pages-login-reset-account",
|
||||
"pages-sub-pages-login-change-pwd": "pages-sub-pages-login-change-pwd",
|
||||
"pages-sub-pages-login-register": "pages-sub-pages-login-register",
|
||||
"pages-sub-pages-login-reset-account": "pages-sub-pages-login-reset-account",
|
||||
"pages-sub-pages-login-index": "pages-sub-pages-login-index",
|
||||
"pages-sub-pages-my-payee-yl-detail": "pages-sub-pages-my-payee-yl-detail",
|
||||
"pages-sub-pages-my-payee-zfb-detail": "pages-sub-pages-my-payee-zfb-detail",
|
||||
"pages-sub-pages-address-index": "pages-sub-pages-address-index",
|
||||
"pages-sub-pages-rushing-order-detail": "pages-sub-pages-rushing-order-detail",
|
||||
"pages-sub-pages-setting-index": "pages-sub-pages-setting-index",
|
||||
"pages-sub-pages-user-info-index": "pages-sub-pages-user-info-index",
|
||||
"pages-sub-pages-balance-index": "pages-sub-pages-balance-index",
|
||||
"pages-sub-pages-coupon-index": "pages-sub-pages-coupon-index",
|
||||
"pages-sub-pages-prize-index": "pages-sub-pages-prize-index",
|
||||
"pages-sub-pages-promote-prize-index": "pages-sub-pages-promote-prize-index",
|
||||
"pages-sub-pages-withdraw-list": "pages-sub-pages-withdraw-list",
|
||||
"pages-sub-pages-withdraw-index": "pages-sub-pages-withdraw-index",
|
||||
"pages-sub-pages-agreement-contract~pages-sub-pages-agreement-contract1~pages-sub-pages-agreement-index":
|
||||
"pages-sub-pages-agreement-contract~pages-sub-pages-agreement-contract1~pages-sub-pages-agreement-index",
|
||||
"pages-sub-pages-agreement-contract": "pages-sub-pages-agreement-contract",
|
||||
"pages-sub-pages-agreement-contract1": "pages-sub-pages-agreement-contract1",
|
||||
"pages-sub-pages-agreement-index": "pages-sub-pages-agreement-index",
|
||||
"pages-sub-pages-agreement-my-contract": "pages-sub-pages-agreement-my-contract",
|
||||
"pages-sub-pages-good-good-detail": "pages-sub-pages-good-good-detail",
|
||||
"pages-sub-pages-invite-index": "pages-sub-pages-invite-index",
|
||||
"pages-sub-pages-my-payee-index": "pages-sub-pages-my-payee-index",
|
||||
"pages-sub-pages-setting-404": "pages-sub-pages-setting-404",
|
||||
"pages-sub-pages-webview-index": "pages-sub-pages-webview-index",
|
||||
"pages-sub-pages-webview-sign": "pages-sub-pages-webview-sign",
|
||||
"pages-sub-pages-webview-sign-preview": "pages-sub-pages-webview-sign-preview"
|
||||
};
|
||||
|
||||
// Hash映射(实际从构建中生成)
|
||||
var hashMap = {
|
||||
// 这里是各chunk对应的hash值
|
||||
// 实际内容从原文件中提取
|
||||
};
|
||||
|
||||
return __webpack_require__.p + "static/js/" +
|
||||
(chunkMap[chunkId] || chunkId) + "." +
|
||||
(hashMap[chunkId] || "未知") + ".js";
|
||||
}
|
||||
|
||||
// 公共路径
|
||||
__webpack_require__.p = "/";
|
||||
|
||||
// 错误处理函数
|
||||
__webpack_require__.oe = function(err) {
|
||||
console.error(err);
|
||||
throw err;
|
||||
};
|
||||
|
||||
// jsonp数组
|
||||
var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
|
||||
var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
|
||||
jsonpArray.push = webpackJsonpCallback;
|
||||
jsonpArray = jsonpArray.slice();
|
||||
for (var i = 0; i < jsonpArray.length; i++) {
|
||||
webpackJsonpCallback(jsonpArray[i]);
|
||||
}
|
||||
var parentJsonpFunction = oldJsonpFunction;
|
||||
|
||||
// 运行延迟模块
|
||||
checkDeferredModules();
|
||||
|
||||
})({
|
||||
// ==================== 应用模块 ====================
|
||||
// 以下是实际的应用模块代码
|
||||
// 由于篇幅限制,仅列出主要模块结构
|
||||
|
||||
// ... 模块定义在这里 ...
|
||||
// 详见 CORE-FILES-ANALYSIS.md
|
||||
});
|
||||
|
||||
|
||||
// ==================== 主要模块说明 ====================
|
||||
|
||||
/**
|
||||
* 模块 9cc7: 应用主入口
|
||||
* - 初始化Vue应用
|
||||
* - 挂载路由
|
||||
* - 注册全局插件
|
||||
* - 启动应用
|
||||
*/
|
||||
|
||||
/**
|
||||
* 模块 ec29: 路由配置
|
||||
* - 创建路由实例
|
||||
* - 定义所有页面路由(34个)
|
||||
* - 配置路由守卫
|
||||
* - 错误处理
|
||||
*/
|
||||
|
||||
/**
|
||||
* 模块 cf50: API管理
|
||||
* - 所有后端接口定义
|
||||
* - 请求拦截器
|
||||
* - 响应处理
|
||||
*/
|
||||
|
||||
/**
|
||||
* 模块 b454: Vuex Store
|
||||
* - 状态管理
|
||||
* - Actions/Mutations/Getters
|
||||
* - 持久化存储
|
||||
*/
|
||||
|
||||
/**
|
||||
* 模块 b2e4: 全局插件
|
||||
* - 工具函数注册
|
||||
* - Mixins注册
|
||||
* - 过滤器注册
|
||||
*/
|
||||
|
||||
/**
|
||||
* 模块 8118: 工具函数
|
||||
* - 图片处理
|
||||
* - 扫码
|
||||
* - 电话/复制
|
||||
* - 数值计算
|
||||
*/
|
||||
|
||||
/**
|
||||
* 模块 b8d2: uni-app配置
|
||||
* - 应用信息
|
||||
* - TabBar配置
|
||||
* - 页面配置
|
||||
* - 全局样式
|
||||
*/
|
||||
|
||||
// ==================== 结束 ====================
|
||||
|
||||
|
||||
|
||||
1
h5/static/js/pages-index-index.116e63f5.js
Executable file
1
h5/static/js/pages-index-index~pages-sub-pages-search-index.5679d08c.js
Executable file
929
h5/static/js/pages-personal-index.6f5415f9.js
Executable file
@@ -0,0 +1,929 @@
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([
|
||||
["pages-personal-index"], {
|
||||
"0e2b": function(t, e, n) {
|
||||
"use strict";
|
||||
n.d(e, "b", (function() {
|
||||
return A
|
||||
})), n.d(e, "c", (function() {
|
||||
return a
|
||||
})), n.d(e, "a", (function() {
|
||||
return i
|
||||
}));
|
||||
var i = {
|
||||
uIcon: n("8ed3").default
|
||||
},
|
||||
A = function() {
|
||||
var t = this,
|
||||
e = t.$createElement,
|
||||
n = t._self._c || e;
|
||||
return n("v-uni-view", {}, [n("v-uni-view", {
|
||||
staticClass: "u-navbar",
|
||||
class: {
|
||||
"u-navbar-fixed": t.isFixed,
|
||||
"u-border-bottom": t.borderBottom
|
||||
},
|
||||
style: [t.navbarStyle]
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "u-status-bar",
|
||||
style: {
|
||||
height: t.statusBarHeight + "px"
|
||||
}
|
||||
}), n("v-uni-view", {
|
||||
staticClass: "u-navbar-inner",
|
||||
style: [t.navbarInnerStyle]
|
||||
}, [t.isBack ? n("v-uni-view", {
|
||||
staticClass: "u-back-wrap",
|
||||
on: {
|
||||
click: function(e) {
|
||||
arguments[0] = e = t.$handleEvent(e), t
|
||||
.goBack.apply(void 0, arguments)
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "u-icon-wrap"
|
||||
}, [n("u-icon", {
|
||||
attrs: {
|
||||
name: t.backIconName,
|
||||
color: t.backIconColor,
|
||||
size: t.backIconSize
|
||||
}
|
||||
})], 1), t.backText ? n("v-uni-view", {
|
||||
staticClass: "u-icon-wrap u-back-text u-line-1",
|
||||
style: [t.backTextStyle]
|
||||
}, [t._v(t._s(t.backText))]) : t._e()], 1) : t._e(), t
|
||||
.title ? n("v-uni-view", {
|
||||
staticClass: "u-navbar-content-title",
|
||||
style: [t.titleStyle]
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "u-title u-line-1",
|
||||
style: {
|
||||
color: t.titleColor,
|
||||
fontSize: t.titleSize + "rpx",
|
||||
fontWeight: t.titleBold ? "bold" :
|
||||
"normal"
|
||||
}
|
||||
}, [t._v(t._s(t.title))])], 1) : t._e(), n("v-uni-view", {
|
||||
staticClass: "u-slot-content"
|
||||
}, [t._t("default")], 2), n("v-uni-view", {
|
||||
staticClass: "u-slot-right"
|
||||
}, [t._t("right")], 2)
|
||||
], 1)], 1), t.isFixed && !t.immersive ? n("v-uni-view", {
|
||||
staticClass: "u-navbar-placeholder",
|
||||
style: {
|
||||
width: "100%",
|
||||
height: Number(t.navbarHeight) + t.statusBarHeight + "px"
|
||||
}
|
||||
}) : t._e()], 1)
|
||||
},
|
||||
a = []
|
||||
},
|
||||
"1c09": function(t, e, n) {
|
||||
var i = n("fc1c");
|
||||
i.__esModule && (i = i.default), "string" === typeof i && (i = [
|
||||
[t.i, i, ""]
|
||||
]), i.locals && (t.exports = i.locals);
|
||||
var A = n("967d").default;
|
||||
A("b42e9256", i, !0, {
|
||||
sourceMap: !1,
|
||||
shadowMode: !1
|
||||
})
|
||||
},
|
||||
2828: function(t, e, n) {
|
||||
var i = n("5f48");
|
||||
i.__esModule && (i = i.default), "string" === typeof i && (i = [
|
||||
[t.i, i, ""]
|
||||
]), i.locals && (t.exports = i.locals);
|
||||
var A = n("967d").default;
|
||||
A("17cc7236", i, !0, {
|
||||
sourceMap: !1,
|
||||
shadowMode: !1
|
||||
})
|
||||
},
|
||||
2979: function(t, e, n) {
|
||||
"use strict";
|
||||
n.d(e, "b", (function() {
|
||||
return A
|
||||
})), n.d(e, "c", (function() {
|
||||
return a
|
||||
})), n.d(e, "a", (function() {
|
||||
return i
|
||||
}));
|
||||
var i = {
|
||||
uNavbar: n("9ea9").default,
|
||||
uAvatar: n("5c7a").default
|
||||
},
|
||||
A = function() {
|
||||
var t = this,
|
||||
e = t.$createElement,
|
||||
n = t._self._c || e;
|
||||
return n("v-uni-view", {
|
||||
staticClass: "content"
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "user-bg u-p-b-20 u-m-b-30"
|
||||
}, [n("u-navbar", {
|
||||
attrs: {
|
||||
"is-back": !1,
|
||||
"border-bottom": !1,
|
||||
background: {
|
||||
background: "transparent"
|
||||
}
|
||||
}
|
||||
}), n("v-uni-view", {
|
||||
staticClass: "b-flex-x b-flex-space u-p-lr-30 u-m-b-40 b-text-white"
|
||||
}, [t.userInfo.nickname ? n("v-uni-view", {
|
||||
staticClass: "b-text-white"
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "b-text-36 b-text-B nickname u-m-b-50"
|
||||
}, [t._v(t._s(t.userInfo.nickname))]), n(
|
||||
"v-uni-view", {}, [n("v-uni-text", [t._v(
|
||||
"邀请码:" + t._s(t.userInfo.invite)
|
||||
)]), n("v-uni-text", {
|
||||
staticClass: "b-icon icon-file-copy u-m-l-10",
|
||||
on: {
|
||||
click: function(e) {
|
||||
arguments[0] = e = t
|
||||
.$handleEvent(e), t
|
||||
.$tools.clipboard(t
|
||||
.userInfo.invite
|
||||
)
|
||||
}
|
||||
}
|
||||
})], 1)], 1) : n("v-uni-view", {
|
||||
staticClass: "b-text-white"
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "b-text-36 b-text-B nickname",
|
||||
on: {
|
||||
click: function(e) {
|
||||
arguments[0] = e = t
|
||||
.$handleEvent(e), t.toPage(
|
||||
"/pages/sub-pages/login/index"
|
||||
)
|
||||
}
|
||||
}
|
||||
}, [t._v("注册/登录")])], 1), n("u-avatar", {
|
||||
staticClass: "mr-30",
|
||||
attrs: {
|
||||
src: t._f("imgFormat")(t.userInfo.avatar),
|
||||
size: "140"
|
||||
}
|
||||
})], 1), n("v-uni-view", {
|
||||
staticClass: "b-bg-white b-radius-16 u-m-lr-20 "
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "u-p-30"
|
||||
}, [t._v("买方")]), n("v-uni-view", {
|
||||
staticClass: "b-flex-x b-flex-4 u-p-b-30"
|
||||
}, t._l(t.buyTool, (function(e, i) {
|
||||
return n("v-uni-button", {
|
||||
key: i,
|
||||
staticClass: "ptb-30 b-flex-col",
|
||||
attrs: {
|
||||
"open-type": e.opentype
|
||||
},
|
||||
on: {
|
||||
click: function(n) {
|
||||
arguments[0] = n = t
|
||||
.$handleEvent(
|
||||
n), t.clickTool(
|
||||
e)
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-image", {
|
||||
staticClass: "mr-20",
|
||||
staticStyle: {
|
||||
width: "84rpx"
|
||||
},
|
||||
attrs: {
|
||||
src: e.icon,
|
||||
mode: "widthFix"
|
||||
}
|
||||
}), n("v-uni-view", {
|
||||
staticClass: "b-text-30"
|
||||
}, [t._v(t._s(e.name))])], 1)
|
||||
})), 1)], 1)], 1), n("v-uni-view", {
|
||||
staticClass: "b-bg-white b-radius-16 u-m-lr-20 u-m-b-20"
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "u-p-30"
|
||||
}, [t._v("卖方")]), n("v-uni-view", {
|
||||
staticClass: "b-flex-x b-flex-4 u-p-b-30"
|
||||
}, t._l(t.saleTool, (function(e, i) {
|
||||
return n("v-uni-button", {
|
||||
key: i,
|
||||
staticClass: "ptb-30 b-flex-col",
|
||||
attrs: {
|
||||
"open-type": e.opentype
|
||||
},
|
||||
on: {
|
||||
click: function(n) {
|
||||
arguments[0] = n = t
|
||||
.$handleEvent(n), t
|
||||
.clickTool(e)
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-image", {
|
||||
staticClass: "mr-20",
|
||||
staticStyle: {
|
||||
width: "84rpx"
|
||||
},
|
||||
attrs: {
|
||||
src: e.icon,
|
||||
mode: "widthFix"
|
||||
}
|
||||
}), n("v-uni-view", {
|
||||
staticClass: "b-text-30"
|
||||
}, [t._v(t._s(e.name))])], 1)
|
||||
})), 1)], 1), n("v-uni-view", {
|
||||
staticClass: "b-bg-white b-radius-16 u-p-t-30 u-m-lr-20 u-m-b-20"
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "b-flex-x b-flex-2 b-flex-wrap u-p-l-30"
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "b-flex-col b-flex-x b-flex-space u-p-b-30 u-p-r-20",
|
||||
on: {
|
||||
click: function(e) {
|
||||
arguments[0] = e = t.$handleEvent(e), t
|
||||
.toPage(
|
||||
"/pages/sub-pages/balance/index"
|
||||
)
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-text", [t._v("余额:" + t._s(t.userInfo
|
||||
.money))]), n("v-uni-text", {
|
||||
staticClass: "b-icon icon-right "
|
||||
})], 1), n("v-uni-view", {
|
||||
staticClass: "b-flex-col b-flex-x b-flex-space u-p-b-30 u-p-r-20",
|
||||
on: {
|
||||
click: function(e) {
|
||||
arguments[0] = e = t.$handleEvent(e), t
|
||||
.toPage(
|
||||
"/pages/sub-pages/coupon/index")
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-text", [t._v("优惠券:" + t._s(t.userInfo
|
||||
.coupon))]), n("v-uni-text", {
|
||||
staticClass: "b-icon icon-right "
|
||||
})], 1), n("v-uni-view", {
|
||||
staticClass: "b-flex-col b-flex-x b-flex-space u-p-b-30 u-p-r-20",
|
||||
on: {
|
||||
click: function(e) {
|
||||
// http://jf.suzhouyuqi.com/pages/integral/points?username=
|
||||
arguments[0] = e = t.$handleEvent(e),
|
||||
window.location.href =
|
||||
"https://jf.bosenyuan.com/pages/integral/points?username=" +
|
||||
t.userInfo.mobile + "#/pages/integral/points"
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-text", [t._v("我的奖金:" + t._s(t.userInfo
|
||||
.self_bonus))]), n("v-uni-text", {
|
||||
staticClass: "b-icon icon-right "
|
||||
})], 1), n("v-uni-view", {
|
||||
staticClass: "b-flex-col b-flex-x b-flex-space u-p-b-30 u-p-r-20",
|
||||
on: {
|
||||
click: function(e) {
|
||||
arguments[0] = e = t.$handleEvent(e), t
|
||||
.toPage(
|
||||
"/pages/sub-pages/promote-prize/index"
|
||||
)
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-text", [t._v("推广奖金:" + t._s(t.userInfo
|
||||
.share_bonus))]), n("v-uni-text", {
|
||||
staticClass: "b-icon icon-right "
|
||||
})], 1)], 1)], 1), n("v-uni-view", {
|
||||
staticClass: "u-p-lr-20 b-bg-white b-radius-16 u-m-lr-20 u-m-b-20"
|
||||
}, t._l(t.myTool, (function(e, i) {
|
||||
return n("v-uni-button", {
|
||||
key: i,
|
||||
staticClass: "u-p-tb-20 b-flex-x b-flex-space",
|
||||
attrs: {
|
||||
"open-type": e.opentype
|
||||
},
|
||||
on: {
|
||||
click: function(n) {
|
||||
arguments[0] = n = t.$handleEvent(
|
||||
n), t.clickTool(e)
|
||||
}
|
||||
}
|
||||
}, [n("v-uni-view", {
|
||||
staticClass: "b-flex-x"
|
||||
}, [n("v-uni-image", {
|
||||
staticClass: "u-m-r-10",
|
||||
staticStyle: {
|
||||
width: "48rpx",
|
||||
height: "48rpx"
|
||||
},
|
||||
attrs: {
|
||||
src: e.icon,
|
||||
mode: "aspectFit"
|
||||
}
|
||||
}), n("v-uni-text", {
|
||||
staticClass: "b-text-30"
|
||||
}, [t._v(t._s(e.name))])], 1), n("v-uni-text", {
|
||||
staticClass: "b-icon icon-right "
|
||||
})], 1)
|
||||
})), 1)], 1)
|
||||
},
|
||||
a = []
|
||||
},
|
||||
"3a5b": function(t, e, n) {
|
||||
"use strict";
|
||||
n.r(e);
|
||||
var i = n("54ca"),
|
||||
A = n.n(i);
|
||||
for (var a in i)["default"].indexOf(a) < 0 && function(t) {
|
||||
n.d(e, t, (function() {
|
||||
return i[t]
|
||||
}))
|
||||
}(a);
|
||||
e["default"] = A.a
|
||||
},
|
||||
"4fe0": function(t, e, n) {
|
||||
"use strict";
|
||||
n.r(e);
|
||||
var i = n("77ce"),
|
||||
A = n.n(i);
|
||||
for (var a in i)["default"].indexOf(a) < 0 && function(t) {
|
||||
n.d(e, t, (function() {
|
||||
return i[t]
|
||||
}))
|
||||
}(a);
|
||||
e["default"] = A.a
|
||||
},
|
||||
5259: function(t, e, n) {
|
||||
"use strict";
|
||||
var i = n("7ae0"),
|
||||
A = n.n(i);
|
||||
A.a
|
||||
},
|
||||
"526b": function(t, e, n) {
|
||||
"use strict";
|
||||
var i = n("1c09"),
|
||||
A = n.n(i);
|
||||
A.a
|
||||
},
|
||||
"54ca": function(t, e, n) {
|
||||
"use strict";
|
||||
n("6a54"), Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
}), e.default = void 0, n("64aa");
|
||||
var i =
|
||||
"data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjREMEQwRkY0RjgwNDExRUE5OTY2RDgxODY3NkJFODMxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjREMEQwRkY1RjgwNDExRUE5OTY2RDgxODY3NkJFODMxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEQwRDBGRjJGODA0MTFFQTk5NjZEODE4Njc2QkU4MzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEQwRDBGRjNGODA0MTFFQTk5NjZEODE4Njc2QkU4MzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCADIAMgDAREAAhEBAxEB/8QAcQABAQEAAwEBAAAAAAAAAAAAAAUEAQMGAgcBAQAAAAAAAAAAAAAAAAAAAAAQAAIBAwICBgkDBQAAAAAAAAABAhEDBCEFMVFBYXGREiKBscHRMkJSEyOh4XLxYjNDFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A/fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHbHFyZ/Dam+yLA+Z2L0Pjtyj2poD4AAAAAAAAAAAAAAAAAAAAAAAAKWFs9y6lcvvwQeqj8z9wFaziY1n/HbUX9XF97A7QAGXI23EvJ1goyfzR0YEfN269jeZ+a03pNe0DIAAAAAAAAAAAAAAAAAAAACvtO3RcVkXlWutuL9YFYAAAAAOJRjKLjJVi9GmB5/csH/mu1h/in8PU+QGMAAAAAAAAAAAAAAAAAAaMDG/6MmMH8C80+xAelSSVFolwQAAAAAAAHVlWI37ErUulaPk+hgeYnCUJuElSUXRrrQHAAAAAAAAAAAAAAAAABa2Oz4bM7r4zdF2ICmAAAAAAAAAg7zZ8GX41wuJP0rRgYAAAAAAAAAAAAAAAAAD0m2R8ODaXU33tsDSAAAAAAAAAlb9HyWZcnJd9PcBHAAAAAAAAAAAAAAAAAPS7e64Vn+KA0AAAAAAAAAJm+v8Ftf3ewCKAAAAAAAAAAAAAAAAAX9muqeGo9NttP06+0DcAAAAAAAAAjb7dTu2ra+VOT9P8AQCWAAAAAAAAAAAAAAAAAUNmyPt5Ltv4bui/kuAF0AAAAAAADiUlGLlJ0SVW+oDzOXfd/Ind6JPRdS0QHSAAAAAAAAAAAAAAAAAE2nVaNcGB6Lbs6OTao9LsF51z60BrAAAAAABJ3jOVHjW3r/sa9QEgAAAAAAAAAAAAAAAAAAAPu1duWriuW34ZR4MC9hbnZyEoy8l36XwfYBsAAADaSq9EuLAlZ+7xSdrGdW9Hc5dgEdtt1erfFgAAAAAAAAAAAAAAAAADVjbblX6NR8MH80tEBRs7HYivyzlN8lovaBPzduvY0m6eK10TXtAyAarO55lpJK54orolr+4GqO/Xaea1FvqbXvA+Z77kNeW3GPbV+4DJfzcm/pcm3H6Vou5AdAFLC2ed2Pjv1txa8sV8T6wOL+yZEKu1JXFy4MDBOE4ScZxcZLinoB8gAAAAAAAAAAAB242LeyJ+C3GvN9C7QLmJtePYpKS+5c+p8F2IDYAANJqj1T4oCfk7Nj3G5Wn9qXJax7gJ93Z82D8sVNc4v30A6Xg5i42Z+iLfqARwcyT0sz9MWvWBps7LlTf5Grce9/oBTxdtxseklHxT+uWr9AGoAB138ezfj4bsFJdD6V2MCPm7RdtJzs1uW1xXzL3gTgAAAAAAAAADRhYc8q74I6RWs5ckB6GxYtWLat21SK731sDsAAAAAAAAAAAAAAAASt021NO/YjrxuQXT1oCOAAAAAAABzGLlJRSq26JAelwsWONYjbXxcZvmwO8AAAAAAAAAAAAAAAAAAef3TEWPkVivx3NY9T6UBiAAAAAABo2+VmGXblddIJ8eivRUD0oAAAAAAAAAAAAAAAAAAAYt4tKeFKVNYNSXfRgefAAAAAAAAr7VuSSWPedKaW5v1MCsAAAAAAAAAAAAAAAAAAIe6bj96Ts2n+JPzSXzP3ATgAAAAAAAAFbbt1UUrOQ9FpC4/UwK6aaqtU+DAAAAAAAAAAAAAAA4lKMIuUmoxWrb4ARNx3R3q2rLpa4Sl0y/YCcAAAAAAAAAAANmFud7G8r89r6X0dgFvGzLGRGtuWvTF6NAdwAAAAAAAAAAAy5W442PVN+K59EePp5ARMvOv5MvO6QXCC4AZwAAAAAAAAAAAAAcxlKLUotprg1owN+PvORborq+7Hnwl3gUbO74VzRydt8pKn68ANcJwmqwkpLmnUDkAAAAfNy9atqtyagut0AxXt5xIV8Fbj6lRd7Am5G65V6qUvtwfyx94GMAAAAAAAAAAAAAAAAAAAOU2nVOj5gdsc3LiqRvTpyqwOxbnnrhdfpSfrQB7pnv/AGvuS9gHXPMy5/Fem1yq0v0A6W29XqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf//Z",
|
||||
A = {
|
||||
name: "u-avatar",
|
||||
props: {
|
||||
bgColor: {
|
||||
type: String,
|
||||
default: "transparent"
|
||||
},
|
||||
src: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
size: {
|
||||
type: [String, Number],
|
||||
default: "default"
|
||||
},
|
||||
mode: {
|
||||
type: String,
|
||||
default: "circle"
|
||||
},
|
||||
text: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
imgMode: {
|
||||
type: String,
|
||||
default: "aspectFill"
|
||||
},
|
||||
index: {
|
||||
type: [String, Number],
|
||||
default: ""
|
||||
},
|
||||
sexIcon: {
|
||||
type: String,
|
||||
default: "man"
|
||||
},
|
||||
levelIcon: {
|
||||
type: String,
|
||||
default: "level"
|
||||
},
|
||||
levelBgColor: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
sexBgColor: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
showSex: {
|
||||
type: Boolean,
|
||||
default: !1
|
||||
},
|
||||
showLevel: {
|
||||
type: Boolean,
|
||||
default: !1
|
||||
}
|
||||
},
|
||||
data: function() {
|
||||
return {
|
||||
error: !1,
|
||||
avatar: this.src ? this.src : i
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
src: function(t) {
|
||||
t ? (this.avatar = t, this.error = !1) : (this.avatar = i, this.error = !0)
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
wrapStyle: function() {
|
||||
var t = {};
|
||||
return t.height = "large" == this.size ? "120rpx" : "default" == this.size ?
|
||||
"90rpx" : "mini" == this.size ? "70rpx" : this.size + "rpx", t.width = t
|
||||
.height, t.flex = "0 0 ".concat(t.height), t.backgroundColor = this
|
||||
.bgColor, t.borderRadius = "circle" == this.mode ? "500px" : "5px", this
|
||||
.text && (t.padding = "0 6rpx"), t
|
||||
},
|
||||
imgStyle: function() {
|
||||
var t = {};
|
||||
return t.borderRadius = "circle" == this.mode ? "500px" : "5px", t
|
||||
},
|
||||
uText: function() {
|
||||
return String(this.text)[0]
|
||||
},
|
||||
uSexStyle: function() {
|
||||
var t = {};
|
||||
return this.sexBgColor && (t.backgroundColor = this.sexBgColor), t
|
||||
},
|
||||
uLevelStyle: function() {
|
||||
var t = {};
|
||||
return this.levelBgColor && (t.backgroundColor = this.levelBgColor), t
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadError: function() {
|
||||
this.error = !0, this.avatar = i
|
||||
},
|
||||
click: function() {
|
||||
this.$emit("click", this.index)
|
||||
}
|
||||
}
|
||||
};
|
||||
e.default = A
|
||||
},
|
||||
5518: function(t, e, n) {
|
||||
"use strict";
|
||||
n("6a54");
|
||||
var i = n("f5bd").default;
|
||||
Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
}), e.default = void 0;
|
||||
var A = i(n("2634")),
|
||||
a = i(n("2fdc")),
|
||||
r = {
|
||||
data: function() {
|
||||
var t = this;
|
||||
return {
|
||||
userInfo: {
|
||||
id: "",
|
||||
avatar_url: "",
|
||||
nickname: "",
|
||||
invite: ""
|
||||
},
|
||||
buyTool: [{
|
||||
id: 1,
|
||||
name: "买方仓库",
|
||||
icon: "/static/images/tool-ico1.png",
|
||||
url: "/pages/sub-pages/rushing-order/index"
|
||||
}, {
|
||||
id: 2,
|
||||
name: "交易中",
|
||||
icon: "/static/images/tool-ico2.png",
|
||||
url: "/pages/sub-pages/rushing-order/index",
|
||||
urlquery: {
|
||||
current: 1
|
||||
}
|
||||
}, {
|
||||
id: 2,
|
||||
name: "已完成",
|
||||
icon: "/static/images/tool-ico3.png",
|
||||
url: "/pages/sub-pages/rushing-order/index",
|
||||
urlquery: {
|
||||
current: 2
|
||||
}
|
||||
}],
|
||||
saleTool: [{
|
||||
id: 1,
|
||||
name: "卖方仓库",
|
||||
icon: "/static/images/tool-ico1.png",
|
||||
url: "/pages/sub-pages/rushing-order/index",
|
||||
urlquery: {
|
||||
cate: 2
|
||||
}
|
||||
}, {
|
||||
id: 2,
|
||||
name: "交易中",
|
||||
icon: "/static/images/tool-ico2.png",
|
||||
url: "/pages/sub-pages/rushing-order/index",
|
||||
urlquery: {
|
||||
cate: 2,
|
||||
current: 1
|
||||
}
|
||||
}, {
|
||||
id: 2,
|
||||
name: "已完成",
|
||||
icon: "/static/images/tool-ico3.png",
|
||||
url: "/pages/sub-pages/rushing-order/index",
|
||||
urlquery: {
|
||||
cate: 2,
|
||||
current: 2
|
||||
}
|
||||
}],
|
||||
myTool: [{
|
||||
id: 2,
|
||||
name: "邀请好友",
|
||||
icon: "/static/images/tool-ico5.png",
|
||||
opentype: "",
|
||||
url: "/pages/sub-pages/invite/index"
|
||||
}, {
|
||||
id: 3,
|
||||
name: "我的粉丝",
|
||||
icon: "/static/images/tool-ico6.png",
|
||||
opentype: "",
|
||||
url: "/pages/sub-pages/my-fans/index"
|
||||
}, {
|
||||
id: 4,
|
||||
name: "收款方式",
|
||||
icon: "/static/images/tool-ico7.png",
|
||||
opentype: "",
|
||||
url: "/pages/sub-pages/my-payee/index"
|
||||
}, {
|
||||
id: 5,
|
||||
name: "我的合同",
|
||||
icon: "/static/images/tool-ico8.png",
|
||||
opentype: "",
|
||||
custom: function() {
|
||||
var e;
|
||||
return t.toPage(
|
||||
"/pages/sub-pages/webview/sign-preview", {
|
||||
passback: null === (e = t.userInfo) ||
|
||||
void 0 === e ? void 0 : e.id
|
||||
})
|
||||
}
|
||||
}, {
|
||||
id: 6,
|
||||
name: "设置",
|
||||
icon: "/static/images/tool-ico8.png",
|
||||
opentype: "",
|
||||
url: "/pages/sub-pages/setting/index"
|
||||
}]
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.getUser()
|
||||
},
|
||||
methods: {
|
||||
getUser: function() {
|
||||
var t = this;
|
||||
return (0, a.default)((0, A.default)().mark((function e() {
|
||||
var n, i, a, r;
|
||||
return (0, A.default)().wrap((function(e) {
|
||||
while (1) switch (e.prev = e.next) {
|
||||
case 0:
|
||||
return e.next = 2, t.$api
|
||||
.user();
|
||||
case 2:
|
||||
n = e.sent, 0 == n.code && (
|
||||
t.userInfo = n.data,
|
||||
(null === (i = n
|
||||
.data) ||
|
||||
void 0 === i ?
|
||||
void 0 : i.level
|
||||
) != t.level &&
|
||||
t.setLevel(null ===
|
||||
(a = n.data) ||
|
||||
void 0 === a ?
|
||||
void 0 : a.level
|
||||
), t.$store
|
||||
.dispatch(
|
||||
"setSignature",
|
||||
null === (r = n
|
||||
.data) ||
|
||||
void 0 === r ?
|
||||
void 0 : r
|
||||
.contract), t
|
||||
.$store.state
|
||||
.token && !t.$store
|
||||
.state.signature &&
|
||||
t.$tools.showModal(
|
||||
"请签署平台用户合同", !0,
|
||||
(function() {
|
||||
t.toPage(
|
||||
"/pages/sub-pages/webview/index", {
|
||||
title: "平台用户合同"
|
||||
}
|
||||
)
|
||||
})));
|
||||
case 4:
|
||||
case "end":
|
||||
return e.stop()
|
||||
}
|
||||
}), e)
|
||||
})))()
|
||||
},
|
||||
toUser: function() {
|
||||
this.toPage("/pages/sub-pages/user-info/index")
|
||||
}
|
||||
}
|
||||
};
|
||||
e.default = r
|
||||
},
|
||||
5883: function(t, e, n) {
|
||||
"use strict";
|
||||
n.d(e, "b", (function() {
|
||||
return A
|
||||
})), n.d(e, "c", (function() {
|
||||
return a
|
||||
})), n.d(e, "a", (function() {
|
||||
return i
|
||||
}));
|
||||
var i = {
|
||||
uIcon: n("8ed3").default
|
||||
},
|
||||
A = function() {
|
||||
var t = this,
|
||||
e = t.$createElement,
|
||||
n = t._self._c || e;
|
||||
return n("v-uni-view", {
|
||||
staticClass: "u-avatar",
|
||||
style: [t.wrapStyle],
|
||||
on: {
|
||||
click: function(e) {
|
||||
arguments[0] = e = t.$handleEvent(e), t.click.apply(void 0,
|
||||
arguments)
|
||||
}
|
||||
}
|
||||
}, [!t.uText && t.avatar ? n("v-uni-image", {
|
||||
staticClass: "u-avatar__img",
|
||||
style: [t.imgStyle],
|
||||
attrs: {
|
||||
src: t.avatar,
|
||||
mode: t.imgMode
|
||||
},
|
||||
on: {
|
||||
error: function(e) {
|
||||
arguments[0] = e = t.$handleEvent(e), t.loadError.apply(
|
||||
void 0, arguments)
|
||||
}
|
||||
}
|
||||
}) : t.uText ? n("v-uni-text", {
|
||||
staticClass: "u-line-1",
|
||||
style: {
|
||||
fontSize: "38rpx"
|
||||
}
|
||||
}, [t._v(t._s(t.uText))]) : t._t("default"), t.showSex ? n("v-uni-view", {
|
||||
staticClass: "u-avatar__sex",
|
||||
class: ["u-avatar__sex--" + t.sexIcon],
|
||||
style: [t.uSexStyle]
|
||||
}, [n("u-icon", {
|
||||
attrs: {
|
||||
name: t.sexIcon,
|
||||
size: "20"
|
||||
}
|
||||
})], 1) : t._e(), t.showLevel ? n("v-uni-view", {
|
||||
staticClass: "u-avatar__level",
|
||||
style: [t.uLevelStyle]
|
||||
}, [n("u-icon", {
|
||||
attrs: {
|
||||
name: t.levelIcon,
|
||||
size: "20"
|
||||
}
|
||||
})], 1) : t._e()], 2)
|
||||
},
|
||||
a = []
|
||||
},
|
||||
"5c7a": function(t, e, n) {
|
||||
"use strict";
|
||||
n.r(e);
|
||||
var i = n("5883"),
|
||||
A = n("3a5b");
|
||||
for (var a in A)["default"].indexOf(a) < 0 && function(t) {
|
||||
n.d(e, t, (function() {
|
||||
return A[t]
|
||||
}))
|
||||
}(a);
|
||||
n("526b");
|
||||
var r = n("828b"),
|
||||
s = Object(r["a"])(A["default"], i["b"], i["c"], !1, null, "760fcdf2", null, !1, i["a"],
|
||||
void 0);
|
||||
e["default"] = s.exports
|
||||
},
|
||||
"5f48": function(t, e, n) {
|
||||
var i = n("c86c");
|
||||
e = i(!1), e.push([t.i,
|
||||
'@charset "UTF-8";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */.user-bg[data-v-737de0a1]{position:relative;width:100%;background:#ea6254}',
|
||||
""
|
||||
]), t.exports = e
|
||||
},
|
||||
"76fa": function(t, e, n) {
|
||||
"use strict";
|
||||
n.r(e);
|
||||
var i = n("2979"),
|
||||
A = n("7946");
|
||||
for (var a in A)["default"].indexOf(a) < 0 && function(t) {
|
||||
n.d(e, t, (function() {
|
||||
return A[t]
|
||||
}))
|
||||
}(a);
|
||||
n("ff6d");
|
||||
var r = n("828b"),
|
||||
s = Object(r["a"])(A["default"], i["b"], i["c"], !1, null, "737de0a1", null, !1, i["a"],
|
||||
void 0);
|
||||
e["default"] = s.exports
|
||||
},
|
||||
"77ce": function(t, e, n) {
|
||||
"use strict";
|
||||
n("6a54"), Object.defineProperty(e, "__esModule", {
|
||||
value: !0
|
||||
}), e.default = void 0, n("64aa");
|
||||
var i = uni.getSystemInfoSync(),
|
||||
A = {},
|
||||
a = {
|
||||
name: "u-navbar",
|
||||
props: {
|
||||
height: {
|
||||
type: [String, Number],
|
||||
default: ""
|
||||
},
|
||||
backIconColor: {
|
||||
type: String,
|
||||
default: "#606266"
|
||||
},
|
||||
backIconName: {
|
||||
type: String,
|
||||
default: "nav-back"
|
||||
},
|
||||
backIconSize: {
|
||||
type: [String, Number],
|
||||
default: "44"
|
||||
},
|
||||
backText: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
backTextStyle: {
|
||||
type: Object,
|
||||
default: function() {
|
||||
return {
|
||||
color: "#606266"
|
||||
}
|
||||
}
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
titleWidth: {
|
||||
type: [String, Number],
|
||||
default: "250"
|
||||
},
|
||||
titleColor: {
|
||||
type: String,
|
||||
default: "#606266"
|
||||
},
|
||||
titleBold: {
|
||||
type: Boolean,
|
||||
default: !1
|
||||
},
|
||||
titleSize: {
|
||||
type: [String, Number],
|
||||
default: 32
|
||||
},
|
||||
isBack: {
|
||||
type: [Boolean, String],
|
||||
default: !0
|
||||
},
|
||||
background: {
|
||||
type: Object,
|
||||
default: function() {
|
||||
return {
|
||||
background: "#ffffff"
|
||||
}
|
||||
}
|
||||
},
|
||||
isFixed: {
|
||||
type: Boolean,
|
||||
default: !0
|
||||
},
|
||||
immersive: {
|
||||
type: Boolean,
|
||||
default: !1
|
||||
},
|
||||
borderBottom: {
|
||||
type: Boolean,
|
||||
default: !0
|
||||
},
|
||||
zIndex: {
|
||||
type: [String, Number],
|
||||
default: ""
|
||||
},
|
||||
customBack: {
|
||||
type: Function,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data: function() {
|
||||
return {
|
||||
menuButtonInfo: A,
|
||||
statusBarHeight: i.statusBarHeight
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
navbarInnerStyle: function() {
|
||||
var t = {};
|
||||
return t.height = this.navbarHeight + "px", t
|
||||
},
|
||||
navbarStyle: function() {
|
||||
var t = {};
|
||||
return t.zIndex = this.zIndex ? this.zIndex : this.$u.zIndex.navbar, Object
|
||||
.assign(t, this.background), t
|
||||
},
|
||||
titleStyle: function() {
|
||||
var t = {};
|
||||
return t.left = (i.windowWidth - uni.upx2px(this.titleWidth)) / 2 + "px", t
|
||||
.right = (i.windowWidth - uni.upx2px(this.titleWidth)) / 2 + "px", t
|
||||
.width = uni.upx2px(this.titleWidth) + "px", t
|
||||
},
|
||||
navbarHeight: function() {
|
||||
return this.height ? this.height : 44
|
||||
}
|
||||
},
|
||||
created: function() {},
|
||||
methods: {
|
||||
goBack: function() {
|
||||
"function" === typeof this.customBack ? this.customBack.bind(this.$u.$parent
|
||||
.call(this))() : uni.navigateBack()
|
||||
}
|
||||
}
|
||||
};
|
||||
e.default = a
|
||||
},
|
||||
7946: function(t, e, n) {
|
||||
"use strict";
|
||||
n.r(e);
|
||||
var i = n("5518"),
|
||||
A = n.n(i);
|
||||
for (var a in i)["default"].indexOf(a) < 0 && function(t) {
|
||||
n.d(e, t, (function() {
|
||||
return i[t]
|
||||
}))
|
||||
}(a);
|
||||
e["default"] = A.a
|
||||
},
|
||||
"7ae0": function(t, e, n) {
|
||||
var i = n("8198");
|
||||
i.__esModule && (i = i.default), "string" === typeof i && (i = [
|
||||
[t.i, i, ""]
|
||||
]), i.locals && (t.exports = i.locals);
|
||||
var A = n("967d").default;
|
||||
A("0a0b5e36", i, !0, {
|
||||
sourceMap: !1,
|
||||
shadowMode: !1
|
||||
})
|
||||
},
|
||||
8198: function(t, e, n) {
|
||||
var i = n("c86c");
|
||||
e = i(!1), e.push([t.i,
|
||||
'@charset "UTF-8";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */.u-navbar[data-v-2920cc37]{width:100%}.u-navbar-fixed[data-v-2920cc37]{position:fixed;left:0;right:0;top:0;z-index:991}.u-status-bar[data-v-2920cc37]{width:100%}.u-navbar-inner[data-v-2920cc37]{display:flex;flex-direction:row;justify-content:space-between;position:relative;align-items:center}.u-back-wrap[data-v-2920cc37]{display:flex;flex-direction:row;align-items:center;flex:1;flex-grow:0;padding:%?14?% %?14?% %?14?% %?24?%}.u-back-text[data-v-2920cc37]{padding-left:%?4?%;font-size:%?30?%}.u-navbar-content-title[data-v-2920cc37]{display:flex;flex-direction:row;align-items:center;justify-content:center;flex:1;position:absolute;left:0;right:0;height:%?60?%;text-align:center;flex-shrink:0}.u-navbar-centent-slot[data-v-2920cc37]{flex:1}.u-title[data-v-2920cc37]{line-height:%?60?%;font-size:%?32?%;flex:1}.u-navbar-right[data-v-2920cc37]{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-end}.u-slot-content[data-v-2920cc37]{flex:1;display:flex;flex-direction:row;align-items:center}',
|
||||
""
|
||||
]), t.exports = e
|
||||
},
|
||||
"9ea9": function(t, e, n) {
|
||||
"use strict";
|
||||
n.r(e);
|
||||
var i = n("0e2b"),
|
||||
A = n("4fe0");
|
||||
for (var a in A)["default"].indexOf(a) < 0 && function(t) {
|
||||
n.d(e, t, (function() {
|
||||
return A[t]
|
||||
}))
|
||||
}(a);
|
||||
n("5259");
|
||||
var r = n("828b"),
|
||||
s = Object(r["a"])(A["default"], i["b"], i["c"], !1, null, "2920cc37", null, !1, i["a"],
|
||||
void 0);
|
||||
e["default"] = s.exports
|
||||
},
|
||||
fc1c: function(t, e, n) {
|
||||
var i = n("c86c");
|
||||
e = i(!1), e.push([t.i,
|
||||
'@charset "UTF-8";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */.u-avatar[data-v-760fcdf2]{display:inline-flex;align-items:center;justify-content:center;font-size:%?28?%;color:#606266;border-radius:10px;position:relative}.u-avatar__img[data-v-760fcdf2]{width:100%;height:100%}.u-avatar__sex[data-v-760fcdf2]{position:absolute;width:%?32?%;color:#fff;height:%?32?%;display:flex;flex-direction:row;justify-content:center;align-items:center;border-radius:%?100?%;top:5%;z-index:1;right:-7%;border:1px #fff solid}.u-avatar__sex--man[data-v-760fcdf2]{background-color:#2979ff}.u-avatar__sex--woman[data-v-760fcdf2]{background-color:#fa3534}.u-avatar__sex--none[data-v-760fcdf2]{background-color:#f90}.u-avatar__level[data-v-760fcdf2]{position:absolute;width:%?32?%;color:#fff;height:%?32?%;display:flex;flex-direction:row;justify-content:center;align-items:center;border-radius:%?100?%;bottom:5%;z-index:1;right:-7%;border:1px #fff solid;background-color:#f90}',
|
||||
""
|
||||
]), t.exports = e
|
||||
},
|
||||
ff6d: function(t, e, n) {
|
||||
"use strict";
|
||||
var i = n("2828"),
|
||||
A = n.n(i);
|
||||
A.a
|
||||
}
|
||||
}
|
||||
]);
|
||||
1
h5/static/js/pages-rushing-detail.cee18a9d.js
Executable file
1
h5/static/js/pages-rushing-detail~pages-rushing-index.4a3094d6.js
Executable file
1
h5/static/js/pages-rushing-index.adefcf9a.js
Executable file
1
h5/static/js/pages-rushing-index.b68c1e3c.js
Executable file
1
h5/static/js/pages-sub-pages-address-detail.23252d60.js
Executable file
1
h5/static/js/pages-sub-pages-address-index.c1c668d6.js
Executable file
1
h5/static/js/pages-sub-pages-agreement-contract.9e663c22.js
Executable file
1
h5/static/js/pages-sub-pages-agreement-contract1.203c29f5.js
Executable file
1
h5/static/js/pages-sub-pages-agreement-index.8810033d.js
Executable file
1
h5/static/js/pages-sub-pages-agreement-my-contract.c001c026.js
Executable file
@@ -0,0 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-sub-pages-agreement-my-contract"],{2973:function(t,n,e){"use strict";e.r(n);var a=e("dc46"),u=e("c201");for(var r in u)["default"].indexOf(r)<0&&function(t){e.d(n,t,(function(){return u[t]}))}(r);var i=e("828b"),c=Object(i["a"])(u["default"],a["b"],a["c"],!1,null,"9ae4f964",null,!1,a["a"],void 0);n["default"]=c.exports},"56cf":function(t,n,e){"use strict";e("6a54");var a=e("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var u=a(e("2634")),r=a(e("2fdc")),i={data:function(){var t;return{parseContent:"",IMG_URL:uni.$IMG_URL,contractPage:null!==(t=uni.$contractPage)&&void 0!==t?t:13,uid:0}},onLoad:function(){this.getUser()},methods:{getUser:function(){var t=this;return(0,r.default)((0,u.default)().mark((function n(){var e,a,r;return(0,u.default)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,t.$api.user();case 2:e=n.sent,0==e.code&&(t.uid=null===(a=e.data)||void 0===a||null===(r=a.userinfo)||void 0===r?void 0:r.id);case 4:case"end":return n.stop()}}),n)})))()}}};n.default=i},c201:function(t,n,e){"use strict";e.r(n);var a=e("56cf"),u=e.n(a);for(var r in a)["default"].indexOf(r)<0&&function(t){e.d(n,t,(function(){return a[t]}))}(r);n["default"]=u.a},dc46:function(t,n,e){"use strict";e.d(n,"b",(function(){return a})),e.d(n,"c",(function(){return u})),e.d(n,"a",(function(){}));var a=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-uni-view",{staticClass:"content page-bg white-bg"},[e("v-uni-view",{},t._l(t.contractPage,(function(n,a){return e("v-uni-image",{key:a,attrs:{src:t.IMG_URL+"/uploads/pdfimages/"+t.uid+"_page"+(a+1)+".png",mode:"widthFix"}})})),1)],1)},u=[]}}]);
|
||||
1
h5/static/js/pages-sub-pages-balance-index.af701be0.js
Executable file
@@ -0,0 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-sub-pages-balance-index"],{"72e5":function(t,e,n){var a=n("c86c");e=a(!1),e.push([t.i,'@charset "UTF-8";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */.logout-btn[data-v-ed31e75e]{background:#ff5733;color:#fff}',""]),t.exports=e},"86d1":function(t,e,n){"use strict";n("6a54");var a=n("f5bd").default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=a(n("2634")),i=a(n("2fdc")),s={data:function(){return{current:0,cateList:[{id:1,name:"收入明细"},{id:2,name:"支出明细"}],dataList:[],userinfo:{money:0}}},onShow:function(){this.getUser()},onLoad:function(){},methods:{getUser:function(){var t=this;return(0,i.default)((0,r.default)().mark((function e(){var n;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.$api.user();case 2:n=e.sent,0==n.code&&(t.userinfo=n.data);case 4:case"end":return e.stop()}}),e)})))()},getMoneyLog:function(t,e){var n=this;return(0,i.default)((0,r.default)().mark((function a(){var i,s,u,c;return(0,r.default)().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return s={cate:1,type:null===(i=n.cateList[n.current])||void 0===i?void 0:i.id,page:t,limit:e,loading:!0},a.next=3,n.$api.moneyLog(s);case 3:u=a.sent,0==u.code&&n.$refs.paging.complete(null===(c=u.data)||void 0===c?void 0:c.list);case 5:case"end":return a.stop()}}),a)})))()},changeTab:function(t){this.current=t,this.$refs.paging.reload()}}};e.default=s},"9b6d":function(t,e,n){"use strict";n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return a}));var a={zPaging:n("a943").default,uTabs:n("2a38").default},r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("z-paging",{ref:"paging",attrs:{"auto-scroll-to-top-when-reload":!1,"auto-clean-list-when-reload":!1},on:{query:function(e){arguments[0]=e=t.$handleEvent(e),t.getMoneyLog.apply(void 0,arguments)}},scopedSlots:t._u([{key:"top",fn:function(){return[n("v-uni-view",{staticClass:"b-bg-white "},[n("v-uni-view",{staticClass:"b-text-42 b-text-c u-p-tb-50 b-text-B-d"},[t._v("全部余额:"+t._s(t.userinfo.money))]),n("v-uni-view",{staticClass:"b-bg-white"},[n("u-tabs",{attrs:{list:t.cateList,"is-scroll":!1,current:t.current,"active-color":"#333333","inactive-color":"#666666","bg-color":"transparent","bar-style":{background:"#ea6254"},"bar-width":"80"},on:{change:function(e){arguments[0]=e=t.$handleEvent(e),t.changeTab.apply(void 0,arguments)}}})],1)],1)]},proxy:!0}]),model:{value:t.dataList,callback:function(e){t.dataList=e},expression:"dataList"}},[n("v-uni-view",{staticClass:"u-p-lr-10 u-p-t-20"},t._l(t.dataList,(function(e,a){return n("v-uni-view",{key:a,staticClass:"b-flex-x b-flex-space u-p-20 b-line-d card-box u-m-b-20"},[n("v-uni-view",{staticClass:"b-flex-x"},[n("v-uni-view",{},[n("v-uni-view",{staticClass:"u-m-b-10 b-text-32"},[t._v(t._s(e.memo))]),n("v-uni-text",{staticClass:"b-text-black-dd"},[t._v(t._s(e.created_at))])],1)],1),n("v-uni-text",{class:[{"b-text-green":0==t.current},{"b-text-red":1==t.current}]},[t._v(t._s(0==t.current?"+"+e.money:e.money))])],1)})),1)],1)},i=[]},a238:function(t,e,n){"use strict";n.r(e);var a=n("9b6d"),r=n("b076");for(var i in r)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return r[t]}))}(i);n("e1a6");var s=n("828b"),u=Object(s["a"])(r["default"],a["b"],a["c"],!1,null,"ed31e75e",null,!1,a["a"],void 0);e["default"]=u.exports},b076:function(t,e,n){"use strict";n.r(e);var a=n("86d1"),r=n.n(a);for(var i in a)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(i);e["default"]=r.a},c8d9:function(t,e,n){var a=n("72e5");a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var r=n("967d").default;r("bbcc310c",a,!0,{sourceMap:!1,shadowMode:!1})},e1a6:function(t,e,n){"use strict";var a=n("c8d9"),r=n.n(a);r.a}}]);
|
||||
1
h5/static/js/pages-sub-pages-coupon-index.9fd36b20.js
Executable file
1
h5/static/js/pages-sub-pages-good-good-detail.a842e7a3.js
Executable file
1
h5/static/js/pages-sub-pages-invite-index.86b6c14d.js
Executable file
1
h5/static/js/pages-sub-pages-login-change-pwd.ee81f1aa.js
Executable file
1
h5/static/js/pages-sub-pages-login-index.a9a3e737.js
Executable file
613
h5/static/js/pages-sub-pages-login-index.a9a3e737.readable.js
Executable file
@@ -0,0 +1,613 @@
|
||||
// ============================================
|
||||
// 反编译后的可读版本
|
||||
// 原文件: pages-sub-pages-login-index.a9a3e737.js
|
||||
// 页面: 登录页面
|
||||
// ============================================
|
||||
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([
|
||||
["pages-sub-pages-login-index"],
|
||||
{
|
||||
// ==================== 模块 fa57: 页面逻辑 ====================
|
||||
"fa57": function(module, exports, require) {
|
||||
"use strict";
|
||||
require("6a54");
|
||||
|
||||
var asyncToGenerator = require("f5bd").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var objectWithoutProperties = asyncToGenerator(require("a823"));
|
||||
var regeneratorRuntime = asyncToGenerator(require("2634"));
|
||||
var objectSpread = asyncToGenerator(require("9b1b"));
|
||||
var _asyncToGenerator = asyncToGenerator(require("2fdc"));
|
||||
|
||||
require("5c47");
|
||||
require("0506");
|
||||
require("4682"); // 第三方登录相关
|
||||
|
||||
var excludedFields = ["is_reg", "openid"];
|
||||
|
||||
// 表单验证规则
|
||||
var formRules = {
|
||||
account: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入账号",
|
||||
trigger: ["blur", "change"]
|
||||
},
|
||||
{
|
||||
validator: function(rule, value, callback) {
|
||||
return uni.$u.test.mobile(value);
|
||||
},
|
||||
message: "手机号码不正确",
|
||||
trigger: ["change", "blur"]
|
||||
}
|
||||
],
|
||||
password: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入密码",
|
||||
trigger: ["blur", "change"]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
// Vue组件配置
|
||||
var component = {
|
||||
// 数据
|
||||
data: function() {
|
||||
return {
|
||||
formRules: formRules,
|
||||
form: {
|
||||
account: "", // 账号(手机号)
|
||||
password: "" // 密码
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
// 页面准备完成
|
||||
onReady: function() {
|
||||
// 设置表单验证规则
|
||||
this.$refs.uForm.setRules(this.formRules);
|
||||
},
|
||||
|
||||
// 页面加载
|
||||
onLoad: function() {
|
||||
// 空方法
|
||||
},
|
||||
|
||||
// 方法
|
||||
methods: {
|
||||
// 账号密码登录
|
||||
accountlogin: function() {
|
||||
var self = this;
|
||||
return (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc() {
|
||||
var params, response;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 构建请求参数
|
||||
params = (0, objectSpread.default)(
|
||||
(0, objectSpread.default)({}, self.form),
|
||||
{},
|
||||
{ loading: true }
|
||||
);
|
||||
|
||||
// 调用登录API
|
||||
return context.next = 3, self.$api.accountlogin(params);
|
||||
|
||||
case 3:
|
||||
response = context.sent;
|
||||
// 登录成功
|
||||
if (0 == response.code) {
|
||||
self.$u.toast(response.msg, (function() {
|
||||
return self.setLogin(response.data);
|
||||
}));
|
||||
}
|
||||
|
||||
case 5:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
)();
|
||||
},
|
||||
|
||||
// 微信登录
|
||||
wechatLogin: function(code) {
|
||||
var self = this;
|
||||
return (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc() {
|
||||
var params, response, data, isReg, openid, userInfo;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 构建请求参数
|
||||
params = {
|
||||
code: code,
|
||||
loading: true
|
||||
};
|
||||
|
||||
// 调用微信登录API
|
||||
return context.next = 3, self.$api.wechatLogin(params);
|
||||
|
||||
case 3:
|
||||
response = context.sent;
|
||||
|
||||
// 登录失败
|
||||
if (0 != response.code) {
|
||||
context.next = 11;
|
||||
break;
|
||||
}
|
||||
|
||||
data = response.data;
|
||||
isReg = data.is_reg; // 是否已注册
|
||||
openid = data.openid; // 微信openid
|
||||
|
||||
// 排除 is_reg 和 openid 字段,获取用户信息
|
||||
userInfo = (0, objectWithoutProperties.default)(data, excludedFields);
|
||||
|
||||
// 未注册,跳转到绑定手机号页面
|
||||
if (!isReg) {
|
||||
context.next = 9;
|
||||
break;
|
||||
}
|
||||
self.toBindPhone(openid);
|
||||
return context.abrupt("return");
|
||||
|
||||
case 9:
|
||||
// 已注册,登录成功
|
||||
self.$u.toast(response.msg);
|
||||
setTimeout((function() {
|
||||
return self.setLogin(userInfo);
|
||||
}), 1000);
|
||||
|
||||
case 11:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
)();
|
||||
},
|
||||
|
||||
// 设置登录信息
|
||||
setLogin: function(data) {
|
||||
var userinfo, token, contract, userId;
|
||||
|
||||
// 获取token
|
||||
token = null === data || void 0 === data ||
|
||||
null === (userinfo = data.userinfo) || void 0 === userinfo ?
|
||||
void 0 : userinfo.token;
|
||||
|
||||
// 获取合同签署状态
|
||||
contract = null === data || void 0 === data ||
|
||||
null === (userinfo = data.userinfo) || void 0 === userinfo ?
|
||||
void 0 : userinfo.contract;
|
||||
|
||||
// 获取用户ID
|
||||
userId = null === data || void 0 === data ||
|
||||
null === (userinfo = data.userinfo) || void 0 === userinfo ?
|
||||
void 0 : userinfo.id;
|
||||
|
||||
// 保存token到store
|
||||
this.$store.dispatch("setToken", token);
|
||||
|
||||
// 保存用户信息到store
|
||||
this.$store.dispatch("setUser", null === data || void 0 === data ? void 0 : data.userinfo);
|
||||
|
||||
// 保存签字状态到store
|
||||
this.$store.dispatch("setSignature", contract);
|
||||
|
||||
// 生成并保存黑名单用户标识
|
||||
var randomNum = this.$u.random(100, 999);
|
||||
var blackUserId = "".concat("" + randomNum + userId + Date.now());
|
||||
this.$store.dispatch("setBlackUser", blackUserId);
|
||||
|
||||
// 跳转到首页
|
||||
this.toPageTab("/pages/index/index");
|
||||
},
|
||||
|
||||
// 处理登录按钮点击
|
||||
handleLogin: function() {
|
||||
var self = this;
|
||||
// 表单验证
|
||||
this.$refs.uForm.validate((function(valid) {
|
||||
if (valid) {
|
||||
console.log("验证通过");
|
||||
self.accountlogin();
|
||||
} else {
|
||||
console.log("验证失败");
|
||||
}
|
||||
}));
|
||||
},
|
||||
|
||||
// 跳转到绑定手机号页面
|
||||
toBindPhone: function(openid) {
|
||||
this.toPage("/pages/sub-pages/login/bind-phone", {
|
||||
openid: openid
|
||||
});
|
||||
},
|
||||
|
||||
// 跳转到注册页面
|
||||
toRegisterPage: function() {
|
||||
this.toPageRedirect("/pages/sub-pages/login/register");
|
||||
},
|
||||
|
||||
// 跳转到重置密码页面
|
||||
toResetPage: function() {
|
||||
this.toPage("/pages/sub-pages/login/reset-account");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
exports.default = component;
|
||||
},
|
||||
|
||||
// ==================== 模块 4682: 第三方登录工具 ====================
|
||||
"4682": function(module, exports, require) {
|
||||
"use strict";
|
||||
require("6a54");
|
||||
|
||||
var asyncToGenerator = require("f5bd").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
exports.authLogin = void 0;
|
||||
exports.getProvider = getProvider;
|
||||
exports.invokePayment = void 0;
|
||||
|
||||
var objectSpread = asyncToGenerator(require("9b1b"));
|
||||
var regeneratorRuntime = asyncToGenerator(require("2634"));
|
||||
var _asyncToGenerator = asyncToGenerator(require("2fdc"));
|
||||
|
||||
require("bf0f");
|
||||
require("4626");
|
||||
require("5ac7");
|
||||
require("d4b5");
|
||||
|
||||
// 获取服务提供商
|
||||
function getProvider(service, provider) {
|
||||
return new Promise((function(resolve, reject) {
|
||||
uni.getProvider({
|
||||
service: service,
|
||||
success: function(result) {
|
||||
console.log(result, provider, 111);
|
||||
var providerList = result.provider;
|
||||
|
||||
// 检查指定的提供商是否存在
|
||||
if (!providerList.includes(provider)) {
|
||||
uni.showToast({
|
||||
title: "服务商不存在",
|
||||
icon: "none"
|
||||
});
|
||||
resolve(false);
|
||||
return;
|
||||
}
|
||||
|
||||
resolve(true);
|
||||
}
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
// 授权登录
|
||||
var authLogin = function() {
|
||||
var func = (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc(provider) {
|
||||
var hasProvider;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 检查服务提供商
|
||||
return context.next = 2, getProvider("oauth", provider);
|
||||
|
||||
case 2:
|
||||
hasProvider = context.sent;
|
||||
|
||||
if (hasProvider) {
|
||||
context.next = 5;
|
||||
break;
|
||||
}
|
||||
return context.abrupt("return");
|
||||
|
||||
case 5:
|
||||
// 执行登录
|
||||
return context.abrupt("return", new Promise((function(resolve, reject) {
|
||||
uni.login({
|
||||
provider: provider,
|
||||
onlyAuthorize: "weixin" == provider, // 微信只授权
|
||||
success: function(result) {
|
||||
// Apple登录特殊处理
|
||||
if ("apple" == provider) {
|
||||
var appleInfo = result.appleInfo;
|
||||
result.code = null === appleInfo || void 0 === appleInfo ?
|
||||
void 0 : appleInfo.user;
|
||||
}
|
||||
resolve(result);
|
||||
},
|
||||
fail: function(error) {
|
||||
console.log(error, 2);
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
})));
|
||||
|
||||
case 6:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
);
|
||||
|
||||
return function(provider) {
|
||||
return func.apply(this, arguments);
|
||||
};
|
||||
}();
|
||||
|
||||
exports.authLogin = authLogin;
|
||||
|
||||
// 发起支付
|
||||
var invokePayment = function() {
|
||||
var func = (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc(provider, paymentData) {
|
||||
var hasProvider;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 检查支付服务提供商
|
||||
return context.next = 2, getProvider("payment", provider);
|
||||
|
||||
case 2:
|
||||
hasProvider = context.sent;
|
||||
|
||||
if (hasProvider) {
|
||||
context.next = 5;
|
||||
break;
|
||||
}
|
||||
return context.abrupt("return");
|
||||
|
||||
case 5:
|
||||
// 发起支付
|
||||
return context.abrupt("return", new Promise((function(resolve, reject) {
|
||||
uni.requestPayment(
|
||||
(0, objectSpread.default)(
|
||||
(0, objectSpread.default)({
|
||||
provider: provider
|
||||
}, paymentData),
|
||||
{},
|
||||
{
|
||||
success: function(result) {
|
||||
console.log(result, "支付成功");
|
||||
resolve({
|
||||
code: 1,
|
||||
errMsg: result.errMsg
|
||||
});
|
||||
},
|
||||
fail: function(error) {
|
||||
console.log(error, "支付失败");
|
||||
|
||||
// 用户取消支付
|
||||
if ("requestPayment:fail cancel" == error.errMsg) {
|
||||
uni.showToast({
|
||||
title: "您已取消支付",
|
||||
icon: "none"
|
||||
});
|
||||
resolve({
|
||||
code: 0,
|
||||
errMsg: error.errMsg
|
||||
});
|
||||
} else {
|
||||
reject(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
})));
|
||||
|
||||
case 6:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
);
|
||||
|
||||
return function(provider, paymentData) {
|
||||
return func.apply(this, arguments);
|
||||
};
|
||||
}();
|
||||
|
||||
exports.invokePayment = invokePayment;
|
||||
},
|
||||
|
||||
// ==================== 模块 8461: 渲染函数 ====================
|
||||
"8461": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
require.d(exports, "b", (function() {
|
||||
return render;
|
||||
}));
|
||||
|
||||
require.d(exports, "c", (function() {
|
||||
return staticRenderFns;
|
||||
}));
|
||||
|
||||
require.d(exports, "a", (function() {
|
||||
return components;
|
||||
}));
|
||||
|
||||
// 组件依赖
|
||||
var components = {
|
||||
uForm: require("e8a2").default,
|
||||
uFormItem: require("dd75").default
|
||||
};
|
||||
|
||||
// 渲染函数
|
||||
var render = function() {
|
||||
var vm = this;
|
||||
var createElement = vm.$createElement;
|
||||
var createVNode = vm._self._c || createElement;
|
||||
|
||||
return createVNode("v-uni-view", {
|
||||
staticClass: "page-bg white-bg content"
|
||||
}, [
|
||||
// 头部区域
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "head"
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-text-42 u-p-b-30 b-text-B-d"
|
||||
}, [vm._v("现在登录")]),
|
||||
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "b-text-black-dd"
|
||||
}, [vm._v("欢迎回来,有好多小伙伴在思念你!")])
|
||||
], 1),
|
||||
|
||||
// 主体区域
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "main relative"
|
||||
}, [
|
||||
// 表单
|
||||
createVNode("u-form", {
|
||||
ref: "uForm",
|
||||
staticClass: "u-m-b-30 u-form",
|
||||
attrs: {
|
||||
model: vm.form,
|
||||
"error-type": ["toast", "border-bottom"]
|
||||
}
|
||||
}, [
|
||||
// 账号输入框
|
||||
createVNode("u-form-item", {
|
||||
staticClass: "u-m-b-30",
|
||||
attrs: {
|
||||
prop: "account",
|
||||
"border-bottom": false
|
||||
}
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "flex-column w-full"
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-text-48 b-text-B-d u-m-b-20"
|
||||
}, [vm._v("账号")]),
|
||||
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-bg-gray-dd u-p-20 b-radius-12"
|
||||
}, [
|
||||
createVNode("v-uni-input", {
|
||||
staticClass: "b-form-input",
|
||||
attrs: {
|
||||
placeholder: "请输入手机号"
|
||||
},
|
||||
model: {
|
||||
value: vm.form.account,
|
||||
callback: function(value) {
|
||||
vm.$set(vm.form, "account", value);
|
||||
},
|
||||
expression: "form.account"
|
||||
}
|
||||
})
|
||||
], 1)
|
||||
], 1)
|
||||
], 1),
|
||||
|
||||
// 密码输入框
|
||||
createVNode("u-form-item", {
|
||||
staticClass: "u-m-b-30",
|
||||
attrs: {
|
||||
prop: "password",
|
||||
"border-bottom": false
|
||||
}
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "flex-column w-full"
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-text-48 b-text-B-d u-m-b-20"
|
||||
}, [vm._v("密码")]),
|
||||
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-bg-gray-dd u-p-20 b-radius-12 b-flex-x b-flex-space"
|
||||
}, [
|
||||
createVNode("v-uni-input", {
|
||||
staticClass: "b-form-input",
|
||||
attrs: {
|
||||
type: "password",
|
||||
placeholder: "请输入密码"
|
||||
},
|
||||
model: {
|
||||
value: vm.form.password,
|
||||
callback: function(value) {
|
||||
vm.$set(vm.form, "password", value);
|
||||
},
|
||||
expression: "form.password"
|
||||
}
|
||||
}),
|
||||
|
||||
// 忘记密码链接
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "b-flex-shrink b-text-theme-d",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.toPage("/pages/sub-pages/login/reset-account");
|
||||
}
|
||||
}
|
||||
}, [vm._v("忘记")])
|
||||
], 1)
|
||||
], 1)
|
||||
], 1)
|
||||
], 1),
|
||||
|
||||
// 登录按钮
|
||||
createVNode("v-uni-button", {
|
||||
staticClass: "b-btn b-btn-block b-btn-round disable_btn activeBtn u-m-t-10 u-m-b-30",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.handleLogin.apply(void 0, arguments);
|
||||
}
|
||||
}
|
||||
}, [vm._v("登录")]),
|
||||
|
||||
// 注册链接
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-text-c b-text-theme-d b-text-24",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.toPage("/pages/sub-pages/login/register");
|
||||
}
|
||||
}
|
||||
}, [vm._v("还没有账号?注册")])
|
||||
], 1)
|
||||
], 1);
|
||||
};
|
||||
|
||||
var staticRenderFns = [];
|
||||
},
|
||||
|
||||
// ==================== 其他模块(样式等)====================
|
||||
// ... 省略样式相关模块
|
||||
}
|
||||
]);
|
||||
|
||||
|
||||
|
||||
1
h5/static/js/pages-sub-pages-login-register.90ee3c46.js
Executable file
559
h5/static/js/pages-sub-pages-login-register.90ee3c46.readable.js
Executable file
@@ -0,0 +1,559 @@
|
||||
// ============================================
|
||||
// 反编译后的可读版本
|
||||
// 原文件: pages-sub-pages-login-register.90ee3c46.js
|
||||
// 页面: 注册页面
|
||||
// ============================================
|
||||
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([
|
||||
["pages-sub-pages-login-register"],
|
||||
{
|
||||
// ==================== 模块 5b14: 页面逻辑 ====================
|
||||
"5b14": function(module, exports, require) {
|
||||
"use strict";
|
||||
require("6a54");
|
||||
|
||||
var asyncToGenerator = require("f5bd").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var objectSpread = asyncToGenerator(require("9b1b"));
|
||||
var regeneratorRuntime = asyncToGenerator(require("2634"));
|
||||
var _asyncToGenerator = asyncToGenerator(require("2fdc"));
|
||||
|
||||
require("5c47");
|
||||
require("0506");
|
||||
|
||||
// 表单初始值
|
||||
var formInitialData = {
|
||||
mobile: "", // 手机号
|
||||
code: "", // 验证码
|
||||
invite: "", // 邀请码
|
||||
password: "" // 密码
|
||||
};
|
||||
|
||||
// 表单验证规则
|
||||
var formRules = {
|
||||
mobile: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入手机号",
|
||||
trigger: ["blur", "change"]
|
||||
},
|
||||
{
|
||||
validator: function(rule, value, callback) {
|
||||
return uni.$u.test.mobile(value);
|
||||
},
|
||||
message: "手机号码不正确",
|
||||
trigger: ["change", "blur"]
|
||||
}
|
||||
],
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入验证码",
|
||||
trigger: ["blur", "change"]
|
||||
}
|
||||
],
|
||||
invite: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入邀请码",
|
||||
trigger: ["blur", "change"]
|
||||
}
|
||||
],
|
||||
password: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入密码",
|
||||
trigger: ["blur", "change"]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
// Vue组件配置
|
||||
var component = {
|
||||
// 数据
|
||||
data: function() {
|
||||
return {
|
||||
formRules: formRules,
|
||||
form: formInitialData,
|
||||
isAgree: true, // 是否同意协议
|
||||
codeText: "", // 验证码按钮文字
|
||||
seconds: 60 // 倒计时秒数
|
||||
};
|
||||
},
|
||||
|
||||
// 页面准备完成
|
||||
onReady: function() {
|
||||
// 设置表单验证规则
|
||||
this.$refs.uForm.setRules(this.formRules);
|
||||
},
|
||||
|
||||
// 页面加载
|
||||
onLoad: function() {
|
||||
var queryInvite, routeQuery;
|
||||
|
||||
// 从路由参数中获取邀请码
|
||||
routeQuery = this.$Route.query;
|
||||
queryInvite = null !== (routeQuery = null === routeQuery || void 0 === routeQuery ?
|
||||
void 0 : routeQuery.invite) && void 0 !== routeQuery ?
|
||||
routeQuery : "";
|
||||
|
||||
this.form.invite = queryInvite;
|
||||
},
|
||||
|
||||
// 方法
|
||||
methods: {
|
||||
// 验证码变化回调
|
||||
codeChange: function(text) {
|
||||
this.codeText = text;
|
||||
},
|
||||
|
||||
// 获取验证码
|
||||
getCode: function() {
|
||||
var self = this;
|
||||
return (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc() {
|
||||
var mobile;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
mobile = self.form.mobile;
|
||||
|
||||
// 验证手机号
|
||||
if (mobile) {
|
||||
context.next = 4;
|
||||
break;
|
||||
}
|
||||
self.$u.toast("手机号不能为空");
|
||||
return context.abrupt("return");
|
||||
|
||||
case 4:
|
||||
// 检查是否可以发送验证码
|
||||
if (self.$refs.uCode.canGetCode) {
|
||||
self.$u.toast("验证码已发送");
|
||||
self.sendSms();
|
||||
} else {
|
||||
self.$u.toast("倒计时结束后再发送");
|
||||
}
|
||||
|
||||
case 5:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
)();
|
||||
},
|
||||
|
||||
// 发送短信验证码
|
||||
sendSms: function() {
|
||||
var self = this;
|
||||
return (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc() {
|
||||
var params, response;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 构建请求参数
|
||||
params = {
|
||||
mobile: self.form.mobile,
|
||||
event: "register" // 注册事件
|
||||
};
|
||||
|
||||
// 调用发送短信API
|
||||
return context.next = 3, self.$api.smsSend(params);
|
||||
|
||||
case 3:
|
||||
response = context.sent;
|
||||
|
||||
// 发送成功
|
||||
if (0 == response.code) {
|
||||
uni.hideLoading();
|
||||
self.$u.toast(response.msg);
|
||||
// 开始倒计时
|
||||
self.$refs.uCode.start();
|
||||
}
|
||||
|
||||
case 5:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
)();
|
||||
},
|
||||
|
||||
// 点击注册按钮
|
||||
clickRegister: function() {
|
||||
var self = this;
|
||||
|
||||
// 检查是否同意协议
|
||||
if (this.isAgree) {
|
||||
// 表单验证
|
||||
this.$refs.uForm.validate((function(valid) {
|
||||
if (valid) {
|
||||
console.log("验证通过");
|
||||
// 使用节流函数防止重复提交
|
||||
self.$u.throttle(self.register, 1000);
|
||||
} else {
|
||||
console.log("验证失败");
|
||||
}
|
||||
}));
|
||||
} else {
|
||||
this.$u.toast("请勾选用户协议和购买委托代卖协议");
|
||||
}
|
||||
},
|
||||
|
||||
// 执行注册
|
||||
register: function() {
|
||||
var self = this;
|
||||
return (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc() {
|
||||
var params, response;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 构建请求参数
|
||||
params = (0, objectSpread.default)(
|
||||
(0, objectSpread.default)({}, self.form),
|
||||
{},
|
||||
{ loading: true }
|
||||
);
|
||||
|
||||
// 调用注册API
|
||||
return context.next = 3, self.$api.register(params);
|
||||
|
||||
case 3:
|
||||
response = context.sent;
|
||||
|
||||
// 注册成功
|
||||
if (0 == response.code) {
|
||||
// 重置表单
|
||||
self.$refs.uForm.resetFields();
|
||||
// 显示成功提示并跳转
|
||||
self.$u.toast(response.msg, (function() {
|
||||
return self.toPageTabAll("/pages/index/index");
|
||||
}));
|
||||
}
|
||||
|
||||
case 5:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
)();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
exports.default = component;
|
||||
},
|
||||
|
||||
// ==================== 模块 6ad2: 渲染函数 ====================
|
||||
"6ad2": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
require.d(exports, "b", (function() {
|
||||
return render;
|
||||
}));
|
||||
|
||||
require.d(exports, "c", (function() {
|
||||
return staticRenderFns;
|
||||
}));
|
||||
|
||||
require.d(exports, "a", (function() {
|
||||
return components;
|
||||
}));
|
||||
|
||||
// 组件依赖
|
||||
var components = {
|
||||
uForm: require("e8a2").default,
|
||||
uFormItem: require("dd75").default,
|
||||
uInput: require("106a").default,
|
||||
uVerificationCode: require("1142").default
|
||||
};
|
||||
|
||||
// 渲染函数
|
||||
var render = function() {
|
||||
var vm = this;
|
||||
var createElement = vm.$createElement;
|
||||
var createVNode = vm._self._c || createElement;
|
||||
|
||||
return createVNode("v-uni-view", {
|
||||
staticClass: "content page-bg white-bg"
|
||||
}, [
|
||||
// 头部区域
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "head"
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-text-42 pb-30 b-text-B-d"
|
||||
}, [vm._v("创建您的账号")])
|
||||
], 1),
|
||||
|
||||
// 主体区域
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "main"
|
||||
}, [
|
||||
// 表单
|
||||
createVNode("u-form", {
|
||||
ref: "uForm",
|
||||
staticClass: "u-form u-m-b-30",
|
||||
attrs: {
|
||||
model: vm.form,
|
||||
"error-type": ["toast", "border-bottom"]
|
||||
}
|
||||
}, [
|
||||
// 手机号输入框
|
||||
createVNode("u-form-item", {
|
||||
staticClass: "flex-column u-m-b-20",
|
||||
attrs: {
|
||||
prop: "mobile"
|
||||
}
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "line-default"
|
||||
}, [
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "b-icon icon-phone"
|
||||
}),
|
||||
createVNode("v-uni-text", {}, [vm._v("手机号")])
|
||||
], 1),
|
||||
|
||||
createVNode("u-input", {
|
||||
staticClass: "w-full",
|
||||
attrs: {
|
||||
type: "number",
|
||||
clearable: false,
|
||||
placeholder: "请输入您的手机号"
|
||||
},
|
||||
model: {
|
||||
value: vm.form.mobile,
|
||||
callback: function(value) {
|
||||
vm.$set(vm.form, "mobile", value);
|
||||
},
|
||||
expression: "form.mobile"
|
||||
}
|
||||
})
|
||||
], 1),
|
||||
|
||||
// 验证码输入框
|
||||
createVNode("u-form-item", {
|
||||
staticClass: "flex-column u-m-b-20",
|
||||
attrs: {
|
||||
prop: "code"
|
||||
}
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "line-default"
|
||||
}, [
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "b-icon icon-safetycertificate"
|
||||
}),
|
||||
createVNode("v-uni-text", {}, [vm._v("验证码")])
|
||||
], 1),
|
||||
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-flex-x b-flex-space w-full"
|
||||
}, [
|
||||
createVNode("u-input", {
|
||||
staticClass: "w-full",
|
||||
attrs: {
|
||||
clearable: false,
|
||||
placeholder: "请输入验证码"
|
||||
},
|
||||
model: {
|
||||
value: vm.form.code,
|
||||
callback: function(value) {
|
||||
vm.$set(vm.form, "code", value);
|
||||
},
|
||||
expression: "form.code"
|
||||
}
|
||||
}),
|
||||
|
||||
// 获取验证码按钮
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-flex-shrink b-text-theme-d",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.getCode.apply(void 0, arguments);
|
||||
}
|
||||
}
|
||||
}, [vm._v(vm._s(vm.codeText))])
|
||||
], 1)
|
||||
], 1),
|
||||
|
||||
// 邀请码输入框
|
||||
createVNode("u-form-item", {
|
||||
staticClass: "flex-column u-m-b-20",
|
||||
attrs: {
|
||||
prop: "invite"
|
||||
}
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "line-default"
|
||||
}, [
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "b-icon icon-qrcode"
|
||||
}),
|
||||
createVNode("v-uni-text", {}, [vm._v("邀请码")])
|
||||
], 1),
|
||||
|
||||
createVNode("u-input", {
|
||||
staticClass: "w-full",
|
||||
attrs: {
|
||||
clearable: false,
|
||||
placeholder: "请输入邀请码 (必填)"
|
||||
},
|
||||
model: {
|
||||
value: vm.form.invite,
|
||||
callback: function(value) {
|
||||
vm.$set(vm.form, "invite", value);
|
||||
},
|
||||
expression: "form.invite"
|
||||
}
|
||||
})
|
||||
], 1),
|
||||
|
||||
// 密码输入框
|
||||
createVNode("u-form-item", {
|
||||
staticClass: "flex-column u-m-b-20",
|
||||
attrs: {
|
||||
prop: "password"
|
||||
}
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "line-default"
|
||||
}, [
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "b-icon icon-lock"
|
||||
}),
|
||||
createVNode("v-uni-text", {}, [vm._v("登录密码")])
|
||||
], 1),
|
||||
|
||||
createVNode("u-input", {
|
||||
staticClass: "w-full",
|
||||
attrs: {
|
||||
clearable: false,
|
||||
type: "password",
|
||||
placeholder: "请输入登录密码"
|
||||
},
|
||||
model: {
|
||||
value: vm.form.password,
|
||||
callback: function(value) {
|
||||
vm.$set(vm.form, "password", value);
|
||||
},
|
||||
expression: "form.password"
|
||||
}
|
||||
})
|
||||
], 1)
|
||||
], 1),
|
||||
|
||||
// 协议勾选
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-flex-x u-m-b-40"
|
||||
}, [
|
||||
// 复选框
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "check-box shape u-m-r-10",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.isAgree = !vm.isAgree;
|
||||
}
|
||||
}
|
||||
}, [
|
||||
createVNode("v-uni-text", {
|
||||
directives: [{
|
||||
name: "show",
|
||||
rawName: "v-show",
|
||||
value: vm.isAgree,
|
||||
expression: "isAgree"
|
||||
}],
|
||||
staticClass: "b-icon icon-check-circle-fill theme-text"
|
||||
})
|
||||
], 1),
|
||||
|
||||
// 协议文字
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-text-black-dd b-text-24"
|
||||
}, [
|
||||
vm._v("同意"),
|
||||
|
||||
// 用户协议链接
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "link-text",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.toAgreement("用户协议");
|
||||
}
|
||||
}
|
||||
}, [vm._v("《用户协议》")]),
|
||||
|
||||
vm._v("和"),
|
||||
|
||||
// 购买委托代卖协议链接
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "link-text",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.toAgreement("购买委托代卖协议");
|
||||
}
|
||||
}
|
||||
}, [vm._v("《购买委托代卖协议》")]),
|
||||
|
||||
vm._v("登录平台")
|
||||
], 1)
|
||||
], 1),
|
||||
|
||||
// 注册按钮
|
||||
createVNode("v-uni-button", {
|
||||
staticClass: "b-btn b-btn-block b-btn-round disable_btn mt-10 mb-50",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.clickRegister.apply(void 0, arguments);
|
||||
}
|
||||
}
|
||||
}, [vm._v("注册")])
|
||||
], 1),
|
||||
|
||||
// 验证码组件
|
||||
createVNode("u-verification-code", {
|
||||
ref: "uCode",
|
||||
attrs: {
|
||||
seconds: vm.seconds
|
||||
},
|
||||
on: {
|
||||
change: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.codeChange.apply(void 0, arguments);
|
||||
}
|
||||
}
|
||||
})
|
||||
], 1);
|
||||
};
|
||||
|
||||
var staticRenderFns = [];
|
||||
},
|
||||
|
||||
// ==================== 其他模块(样式等)====================
|
||||
// ... 省略样式相关模块
|
||||
}
|
||||
]);
|
||||
|
||||
|
||||
|
||||
1
h5/static/js/pages-sub-pages-login-reset-account.98a38bc1.js
Executable file
1
h5/static/js/pages-sub-pages-my-fans-index.030b9f6a.js
Executable file
1
h5/static/js/pages-sub-pages-my-payee-index.003c7ba7.js
Executable file
1
h5/static/js/pages-sub-pages-my-payee-yl-detail.1631426a.js
Executable file
1
h5/static/js/pages-sub-pages-my-payee-zfb-detail.1d2283db.js
Executable file
1
h5/static/js/pages-sub-pages-prize-index.8e8f86b4.js
Executable file
@@ -0,0 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-sub-pages-prize-index"],{6679:function(t,e,n){var a=n("f18b");a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var r=n("967d").default;r("3bce4a01",a,!0,{sourceMap:!1,shadowMode:!1})},8617:function(t,e,n){"use strict";n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return a}));var a={zPaging:n("a943").default,uTabs:n("2a38").default},r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("z-paging",{ref:"paging",attrs:{auto:!1,"auto-scroll-to-top-when-reload":!1,"auto-clean-list-when-reload":!1},on:{query:function(e){arguments[0]=e=t.$handleEvent(e),t.getMoneyLog.apply(void 0,arguments)}},scopedSlots:t._u([{key:"top",fn:function(){return[n("v-uni-view",{staticClass:"b-bg-white "},[n("v-uni-view",{staticClass:"b-text-42 b-text-c u-p-tb-50 b-text-B-d"},[t._v("我的全部奖金:"+t._s(t.userinfo.self_bonus))]),n("v-uni-view",{staticClass:"b-bg-white"},[n("u-tabs",{attrs:{list:t.cateList,"is-scroll":!1,current:t.current,"active-color":"#333333","inactive-color":"#666666","bg-color":"transparent","bar-style":{background:"#ea6254"},"bar-width":"80"},on:{change:function(e){arguments[0]=e=t.$handleEvent(e),t.changeTab.apply(void 0,arguments)}}})],1)],1)]},proxy:!0}]),model:{value:t.dataList,callback:function(e){t.dataList=e},expression:"dataList"}},[n("v-uni-view",{staticClass:"u-p-lr-10 u-p-t-20"},t._l(t.dataList,(function(e,a){return n("v-uni-view",{key:a,staticClass:"b-flex-x b-flex-space u-p-20 card-box u-m-b-20"},[n("v-uni-view",{staticClass:"b-flex-x"},[n("v-uni-view",{},[n("v-uni-view",{staticClass:"u-m-b-10 b-text-32"},[t._v(t._s(e.memo))]),n("v-uni-text",{staticClass:"b-text-black-dd"},[t._v(t._s(e.created_at))])],1)],1),n("v-uni-text",{class:[{"b-text-green":0==t.current},{"b-text-red":1==t.current}]},[t._v(t._s(0==t.current?"+"+e.money:e.money))])],1)})),1)],1)},i=[]},d194:function(t,e,n){"use strict";n("6a54");var a=n("f5bd").default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=a(n("2634")),i=a(n("2fdc")),s={data:function(){return{current:0,cateList:[{id:1,name:"收入明细"},{id:2,name:"支出明细"}],dataList:[],userinfo:{self_bonus:0}}},onShow:function(){var t=this;this.getUser(),this.$nextTick((function(){return t.$refs.paging.reload()}))},onLoad:function(){},methods:{getUser:function(){var t=this;return(0,i.default)((0,r.default)().mark((function e(){var n;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.$api.user();case 2:n=e.sent,0==n.code&&(t.userinfo=n.data);case 4:case"end":return e.stop()}}),e)})))()},getMoneyLog:function(t,e){var n=this;return(0,i.default)((0,r.default)().mark((function a(){var i,s,u,o;return(0,r.default)().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return s={cate:3,type:null===(i=n.cateList[n.current])||void 0===i?void 0:i.id,page:t,limit:e,loading:!0},a.next=3,n.$api.moneyLog(s);case 3:u=a.sent,0==u.code&&n.$refs.paging.complete(null===(o=u.data)||void 0===o?void 0:o.list);case 5:case"end":return a.stop()}}),a)})))()},changeTab:function(t){this.current=t,this.$refs.paging.reload()}}};e.default=s},da2a:function(t,e,n){"use strict";n.r(e);var a=n("8617"),r=n("fdae");for(var i in r)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return r[t]}))}(i);n("ff26");var s=n("828b"),u=Object(s["a"])(r["default"],a["b"],a["c"],!1,null,"7cbd4f7e",null,!1,a["a"],void 0);e["default"]=u.exports},f18b:function(t,e,n){var a=n("c86c");e=a(!1),e.push([t.i,'@charset "UTF-8";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */.logout-btn[data-v-7cbd4f7e]{background:#ef5a25;color:#fff}',""]),t.exports=e},fdae:function(t,e,n){"use strict";n.r(e);var a=n("d194"),r=n.n(a);for(var i in a)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(i);e["default"]=r.a},ff26:function(t,e,n){"use strict";var a=n("6679"),r=n.n(a);r.a}}]);
|
||||
1
h5/static/js/pages-sub-pages-promote-prize-index.710193f9.js
Executable file
411
h5/static/js/pages-sub-pages-promote-prize-index.710193f9.readable.js
Executable file
@@ -0,0 +1,411 @@
|
||||
// ============================================
|
||||
// 反编译后的可读版本
|
||||
// 原文件: pages-sub-pages-promote-prize-index.710193f9.js
|
||||
// 页面: 推广奖金明细页
|
||||
// ============================================
|
||||
|
||||
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([
|
||||
["pages-sub-pages-promote-prize-index"],
|
||||
{
|
||||
// ==================== 模块 04d0: 页面逻辑 ====================
|
||||
"04d0": function(module, exports, require) {
|
||||
"use strict";
|
||||
require("6a54");
|
||||
var asyncToGenerator = require("f5bd").default;
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var regeneratorRuntime = asyncToGenerator(require("2634"));
|
||||
var _asyncToGenerator = asyncToGenerator(require("2fdc"));
|
||||
|
||||
// Vue组件配置对象
|
||||
var component = {
|
||||
// 数据
|
||||
data: function() {
|
||||
return {
|
||||
current: 0, // 当前选中的标签索引
|
||||
cateList: [
|
||||
{ id: 1, name: "收入明细" },
|
||||
{ id: 2, name: "支出明细" }
|
||||
],
|
||||
dataList: [], // 数据列表
|
||||
userinfo: {
|
||||
share_bonus: 0, // 推广奖金
|
||||
today_share: 0 // 今日推广奖金
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// 页面显示时触发
|
||||
onShow: function() {
|
||||
var self = this;
|
||||
this.getUser();
|
||||
this.$nextTick((function() {
|
||||
return self.$refs.paging.reload();
|
||||
}))
|
||||
},
|
||||
|
||||
// 页面加载时触发
|
||||
onLoad: function() {
|
||||
// 空方法
|
||||
},
|
||||
|
||||
// 方法
|
||||
methods: {
|
||||
// 获取用户信息
|
||||
getUser: function() {
|
||||
var self = this;
|
||||
return (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc() {
|
||||
var response;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 调用API获取用户信息
|
||||
return context.next = 2, self.$api.user();
|
||||
|
||||
case 2:
|
||||
response = context.sent;
|
||||
// 如果返回成功,更新用户信息
|
||||
if (0 == response.code) {
|
||||
self.userinfo = response.data;
|
||||
}
|
||||
|
||||
case 4:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
)();
|
||||
},
|
||||
|
||||
// 获取资金记录
|
||||
getMoneyLog: function(page, limit) {
|
||||
var self = this;
|
||||
return (0, _asyncToGenerator.default)(
|
||||
(0, regeneratorRuntime.default)().mark((function asyncFunc() {
|
||||
var currentCate, params, response, responseData;
|
||||
return (0, regeneratorRuntime.default)().wrap((function(context) {
|
||||
while (1) {
|
||||
switch (context.prev = context.next) {
|
||||
case 0:
|
||||
// 构建请求参数
|
||||
params = {
|
||||
cate: 4, // 推广奖金类型
|
||||
type: null === (currentCate = self.cateList[self.current]) ||
|
||||
void 0 === currentCate ? void 0 : currentCate.id,
|
||||
page: page,
|
||||
limit: limit,
|
||||
loading: true
|
||||
};
|
||||
|
||||
// 调用API
|
||||
return context.next = 3, self.$api.moneyLog(params);
|
||||
|
||||
case 3:
|
||||
response = context.sent;
|
||||
// 如果成功,完成分页加载
|
||||
if (0 == response.code) {
|
||||
self.$refs.paging.complete(
|
||||
null === (responseData = response.data) ||
|
||||
void 0 === responseData ? void 0 : responseData.list
|
||||
);
|
||||
}
|
||||
|
||||
case 5:
|
||||
case "end":
|
||||
return context.stop();
|
||||
}
|
||||
}
|
||||
}), asyncFunc);
|
||||
}))
|
||||
)();
|
||||
},
|
||||
|
||||
// 切换标签
|
||||
changeTab: function(index) {
|
||||
this.current = index;
|
||||
this.$refs.paging.reload();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
exports.default = component;
|
||||
},
|
||||
|
||||
// ==================== 模块 1b9a: 主导出 ====================
|
||||
"1b9a": function(module, exports, require) {
|
||||
"use strict";
|
||||
require.r(exports);
|
||||
|
||||
var render = require("568c");
|
||||
var script = require("3e7e");
|
||||
|
||||
// 合并模块
|
||||
for (var key in script) {
|
||||
if (["default"].indexOf(key) < 0) {
|
||||
(function(k) {
|
||||
require.d(exports, k, (function() {
|
||||
return script[k];
|
||||
}));
|
||||
})(key);
|
||||
}
|
||||
}
|
||||
|
||||
require("c153"); // 样式
|
||||
|
||||
var componentNormalizer = require("828b");
|
||||
var component = Object(componentNormalizer["a"])(
|
||||
script["default"],
|
||||
render["b"],
|
||||
render["c"],
|
||||
false,
|
||||
null,
|
||||
"6dabb4ce",
|
||||
null,
|
||||
false,
|
||||
render["a"],
|
||||
void 0
|
||||
);
|
||||
|
||||
exports["default"] = component.exports;
|
||||
},
|
||||
|
||||
// ==================== 模块 3e7e: 脚本导出 ====================
|
||||
"3e7e": function(module, exports, require) {
|
||||
"use strict";
|
||||
require.r(exports);
|
||||
|
||||
var component = require("04d0");
|
||||
var componentDefault = require.n(component);
|
||||
|
||||
for (var key in component) {
|
||||
if (["default"].indexOf(key) < 0) {
|
||||
(function(k) {
|
||||
require.d(exports, k, (function() {
|
||||
return component[k];
|
||||
}));
|
||||
})(key);
|
||||
}
|
||||
}
|
||||
|
||||
exports["default"] = componentDefault.a;
|
||||
},
|
||||
|
||||
// ==================== 模块 568c: 渲染函数 ====================
|
||||
"568c": function(module, exports, require) {
|
||||
"use strict";
|
||||
|
||||
// 导出渲染函数
|
||||
require.d(exports, "b", (function() {
|
||||
return render;
|
||||
}));
|
||||
|
||||
require.d(exports, "c", (function() {
|
||||
return staticRenderFns;
|
||||
}));
|
||||
|
||||
require.d(exports, "a", (function() {
|
||||
return components;
|
||||
}));
|
||||
|
||||
// 组件依赖
|
||||
var components = {
|
||||
zPaging: require("a943").default,
|
||||
uTabs: require("2a38").default
|
||||
};
|
||||
|
||||
// 主渲染函数
|
||||
var render = function() {
|
||||
var vm = this;
|
||||
var createElement = vm.$createElement;
|
||||
var createVNode = vm._self._c || createElement;
|
||||
|
||||
return createVNode("z-paging", {
|
||||
ref: "paging",
|
||||
attrs: {
|
||||
auto: false,
|
||||
"auto-scroll-to-top-when-reload": false,
|
||||
"auto-clean-list-when-reload": false
|
||||
},
|
||||
on: {
|
||||
query: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.getMoneyLog.apply(void 0, arguments);
|
||||
}
|
||||
},
|
||||
scopedSlots: vm._u([{
|
||||
key: "top",
|
||||
fn: function() {
|
||||
return [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-bg-white "
|
||||
}, [
|
||||
// 显示推广奖金总额
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-text-48 b-text-c u-p-tb-30 b-text-B-d"
|
||||
}, [vm._v(vm._s(vm.userinfo.share_bonus))]),
|
||||
|
||||
// 今日推广和提现按钮区域
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "u-p-b-50 u-p-lr-20 b-flex-x b-flex-wrap b-flex-space b-text-30"
|
||||
}, [
|
||||
createVNode("v-uni-view", {}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "u-p-b-10"
|
||||
}, [vm._v("当天推广奖金:" + vm._s(vm.userinfo.today_share))]),
|
||||
|
||||
createVNode("v-uni-view", {}, [
|
||||
vm._v("全部推广奖金:" + vm._s(vm.userinfo.total_share))
|
||||
])
|
||||
], 1),
|
||||
|
||||
// 提现按钮
|
||||
createVNode("v-uni-button", {
|
||||
staticClass: "b-btn b-btn-round withdraw-btn ",
|
||||
on: {
|
||||
click: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.toPage("/pages/sub-pages/withdraw/index", {
|
||||
cate: 4
|
||||
});
|
||||
}
|
||||
}
|
||||
}, [vm._v("提现")])
|
||||
], 1),
|
||||
|
||||
// 标签切换
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-bg-white"
|
||||
}, [
|
||||
createVNode("u-tabs", {
|
||||
attrs: {
|
||||
list: vm.cateList,
|
||||
"is-scroll": false,
|
||||
current: vm.current,
|
||||
"active-color": "#333333",
|
||||
"inactive-color": "#666666",
|
||||
"bg-color": "transparent",
|
||||
"bar-style": {
|
||||
background: "#ea6254"
|
||||
},
|
||||
"bar-width": "80"
|
||||
},
|
||||
on: {
|
||||
change: function(event) {
|
||||
arguments[0] = event = vm.$handleEvent(event);
|
||||
vm.changeTab.apply(void 0, arguments);
|
||||
}
|
||||
}
|
||||
})
|
||||
], 1)
|
||||
], 1)
|
||||
];
|
||||
},
|
||||
proxy: true
|
||||
}]),
|
||||
model: {
|
||||
value: vm.dataList,
|
||||
callback: function(value) {
|
||||
vm.dataList = value;
|
||||
},
|
||||
expression: "dataList"
|
||||
}
|
||||
}, [
|
||||
// 列表内容
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "u-p-lr-10 u-p-t-20"
|
||||
}, vm._l(vm.dataList, (function(item, index) {
|
||||
return createVNode("v-uni-view", {
|
||||
key: index,
|
||||
staticClass: "b-flex-x b-flex-space u-p-20 card-box u-m-b-20"
|
||||
}, [
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "b-flex-x"
|
||||
}, [
|
||||
createVNode("v-uni-view", {}, [
|
||||
// 备注
|
||||
createVNode("v-uni-view", {
|
||||
staticClass: "u-m-b-10 b-text-32"
|
||||
}, [vm._v(vm._s(item.memo))]),
|
||||
|
||||
// 时间
|
||||
createVNode("v-uni-text", {
|
||||
staticClass: "b-text-black-dd"
|
||||
}, [vm._v(vm._s(item.created_at))])
|
||||
], 1)
|
||||
], 1),
|
||||
|
||||
// 金额(根据类型显示不同颜色)
|
||||
createVNode("v-uni-text", {
|
||||
class: [{
|
||||
"b-text-green": 0 == vm.current
|
||||
}, {
|
||||
"b-text-red": 1 == vm.current
|
||||
}]
|
||||
}, [
|
||||
vm._v(vm._s(0 == vm.current ? "+" + item.money : item.money))
|
||||
])
|
||||
], 1);
|
||||
})), 1)
|
||||
], 1);
|
||||
};
|
||||
|
||||
// 静态渲染函数
|
||||
var staticRenderFns = [];
|
||||
},
|
||||
|
||||
// ==================== 模块 c153: 样式导入 ====================
|
||||
"c153": function(module, exports, require) {
|
||||
"use strict";
|
||||
var style = require("d893");
|
||||
var styleDefault = require.n(style);
|
||||
styleDefault.a;
|
||||
},
|
||||
|
||||
// ==================== 模块 d893: 样式加载器 ====================
|
||||
"d893": function(module, exports, require) {
|
||||
var cssLoader = require("e156");
|
||||
cssLoader.__esModule && (cssLoader = cssLoader.default);
|
||||
|
||||
if ("string" === typeof cssLoader) {
|
||||
cssLoader = [[module.i, cssLoader, ""]];
|
||||
}
|
||||
|
||||
cssLoader.locals && (module.exports = cssLoader.locals);
|
||||
|
||||
var addStylesClient = require("967d").default;
|
||||
addStylesClient("197d05df", cssLoader, true, {
|
||||
sourceMap: false,
|
||||
shadowMode: false
|
||||
});
|
||||
},
|
||||
|
||||
// ==================== 模块 e156: CSS内容 ====================
|
||||
"e156": function(module, exports, require) {
|
||||
var api = require("c86c");
|
||||
exports = api(false);
|
||||
|
||||
exports.push([
|
||||
module.i,
|
||||
'@charset "UTF-8";' +
|
||||
'/* 提现按钮样式 */' +
|
||||
'.withdraw-btn[data-v-6dabb4ce]{' +
|
||||
'background:#ea6254;' +
|
||||
'color:#fff;' +
|
||||
'min-width:%?160?%;' +
|
||||
'height:%?60?%' +
|
||||
'}',
|
||||
""
|
||||
]);
|
||||
|
||||
module.exports = exports;
|
||||
}
|
||||
}
|
||||
]);
|
||||