From db3fdea847234226f6721fa347e667c267e16343 Mon Sep 17 00:00:00 2001
From: LAPTOP-RI7D261L\Mr Ke <545800322@qq.com>
Date: Mon, 03 Feb 2020 14:10:10 +0800
Subject: [PATCH] 小程序修改

---
 SunshineLnsMinApp/pages/zhgk/zhgk.wxml                         |   39 
 SunshineLnsMinApp/pages/fzpx/fzpx.wxss                         |   50 
 .command/package.json                                          |    6 
 SunshineLnsMinApp/images/userCenter/icon_wdtj.png              |    0 
 SunshineLnsMinApp/package.json                                 |    6 
 SunshineLnsMinApp/pages/fzpx/fzpx.json                         |    6 
 SunshineLnsMinApp/colorui/animation.wxss                       |  184 +
 SunshineLnsMinApp/colorui/main.wxss                            | 3842 ++++++++++++++++++++++++
 SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxml                 |   49 
 SunshineLnsMinApp/pages/verticalnav/verticalnav.js             |   79 
 .command/code/view/index.js                                    |   24 
 SunshineLnsMinApp/pages/zhdt/zhdt.wxml                         |   76 
 SunshineLnsMinApp/pages/weiwc/weiwc.wxss                       |   19 
 SunshineLnsMinApp/images/icon_success.png                      |    0 
 SunshineLnsMinApp/pages/lawInfo/lawInfo.wxml                   |   25 
 SunshineLnsMinApp/pages/fzpx/fzpx.js                           |   26 
 SunshineLnsMinApp/colorui/components/cu-custom.js              |   58 
 SunshineLnsMinApp/pages/zhgk/zhgk.wxss                         |    9 
 SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.js   |  179 +
 SunshineLnsMinApp/Component/teleAuth/teleAuth.wxml             |   18 
 SunshineLnsMinApp/pages/verticalnav/verticalnav.wxml           |  116 
 SunshineLnsMinApp/pages/zhgk/zhgk.json                         |    6 
 .command/code/index.js                                         |   17 
 SunshineLnsMinApp/pages/lawInfo/lawInfo.json                   |    3 
 SunshineLnsMinApp/colorui/icon.wxss                            | 1226 +++++++
 SunshineLnsMinApp/images/xiaoyu.png                            |    0 
 .command/webpack.dist.js                                       |   95 
 .command/webpack.test.js                                       |   74 
 SunshineLnsMinApp/images/home/icon_1xjl.svg                    |    1 
 SunshineLnsMinApp/pages/zhgh/zhgh.json                         |    6 
 SunshineLnsMinApp/Component/userAuth/userAuth.js               |   75 
 SunshineLnsMinApp/pages/junctionStation/junctionStation.js     |    2 
 SunshineLnsMinApp/images/userCenter/icon_grxx.png              |    0 
 SunshineLnsMinApp/pages/weiwc/weiwc.wxml                       |    5 
 SunshineLnsMinApp/pages/zhdt/zhdt.wxss                         |   30 
 .command/.conf/plugins.js                                      |   37 
 SunshineLnsMinApp/pages/zhdt/zhdt.json                         |    6 
 .command/webpack.js                                            |   58 
 SunshineLnsMinApp/pages/zhgh/zhgh.wxss                         |   41 
 SunshineLnsMinApp/images/wjgk.jpg                              |    0 
 SunshineLnsMinApp/pages/weiwc/weiwc.js                         |   66 
 SunshineLnsMinApp/pages/lawInfo/lawInfo.wxss                   |   19 
 SunshineLnsMinApp/Component/teleAuth/teleAuth.js               |   56 
 SunshineLnsMinApp/images/home/icon_2pdjh.svg                   |    1 
 SunshineLnsMinApp/Component/userAuth/userAuth.json             |    3 
 SunshineLnsMinApp/pages/zhwj/zhwj.wxss                         |   89 
 SunshineLnsMinApp/colorui/components/cu-custom.wxml            |   16 
 SunshineLnsMinApp/package-lock.json                            |   11 
 SunshineLnsMinApp/pages/verticalnav/verticalnav.json           |    3 
 SunshineLnsMinApp/pages/zhgh/zhgh.js                           |   47 
 .command/.conf/rules.js                                        |   22 
 .command/.conf/entry.js                                        |   83 
 SunshineLnsMinApp/pages/verticalnav/verticalnav.wxss           |   61 
 SunshineLnsMinApp/Component/teleAuth/teleAuth.json             |    3 
 SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.json |   11 
 SunshineLnsMinApp/pages/zhwj/zhwj.json                         |    6 
 SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.js                   |  128 
 .command/.conf/webpack.dist.js                                 |   67 
 SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml                 |   41 
 SunshineLnsMinApp/pages/index/index.js                         |   50 
 .command/.conf/config.js                                       |   35 
 SunshineLnsMinApp/images/home/icon_2ptyy.svg                   |    1 
 .command/test/index.js                                         |   45 
 .command/.conf/webpack.js                                      |   58 
 .command/.conf/index.js                                        |   45 
 SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml                 |   47 
 SunshineLnsMinApp/pages/zhgh/zhgh.wxml                         |  107 
 SunshineLnsMinApp/images/jtzs.png                              |    0 
 SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxss |  149 
 SunshineLnsMinApp/Component/teleAuth/teleAuth.wxss             |   31 
 SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js                   |   26 
 SunshineLnsMinApp/pages/index/index.wxss                       |   95 
 .command/code/page/index.js                                    |   59 
 SunshineLnsMinApp/pages/fzpx/fzpx.wxml                         |   46 
 .gitignore                                                     |    9 
 SunshineLnsMinApp/app.json                                     |   17 
 SunshineLnsMinApp/pages/zhwj/zhwj.wxml                         |   93 
 SunshineLnsMinApp/colorui/components/cu-custom.wxss            |    1 
 SunshineLnsMinApp/images/icon_file.png                         |    0 
 SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxml |  226 +
 .command/.gitignore                                            |    1 
 SunshineLnsMinApp/pages/zhwj/zhwj.js                           |   81 
 SunshineLnsMinApp/app.wxss                                     |    3 
 SunshineLnsMinApp/images/icon_fail.png                         |    0 
 SunshineLnsMinApp/pages/weiwc/weiwc.json                       |    6 
 .command/code/view/content.js                                  |   70 
 SunshineLnsMinApp/Component/userAuth/userAuth.wxml             |   18 
 SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxss                 |  112 
 SunshineLnsMinApp/pages/zhdt/zhdt.js                           |   48 
 SunshineLnsMinApp/project.config.json                          |   14 
 SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.json                 |    3 
 SunshineLnsMinApp/images/userCenter/icon_sfqr.png              |    0 
 SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxss                 |    9 
 SunshineLnsMinApp/Component/userAuth/userAuth.wxss             |   39 
 SunshineLnsMinApp/images/userCenter/icon_xxtz.png              |    0 
 .command/code/hicode.js                                        |   20 
 SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss                 |   82 
 SunshineLnsMinApp/images/wx_login.png                          |    0 
 SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js                   |   80 
 SunshineLnsMinApp/sitemap.json                                 |    7 
 SunshineLnsMinApp/colorui/components/cu-custom.json            |    4 
 .command/.conf/webpack.test.js                                 |   74 
 SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json                 |    6 
 SunshineLnsMinApp/pages/zhgk/zhgk.js                           |   66 
 SunshineLnsMinApp/pages/lawInfo/lawInfo.js                     |   42 
 SunshineLnsMinApp/pages/zhghInfo/zhghInfo.json                 |    6 
 SunshineLnsMinApp/pages/index/index.wxml                       |  317 +
 107 files changed, 9,375 insertions(+), 99 deletions(-)

diff --git a/.command/.conf/config.js b/.command/.conf/config.js
new file mode 100644
index 0000000..c843e4c
--- /dev/null
+++ b/.command/.conf/config.js
@@ -0,0 +1,35 @@
+const path = require('path');
+
+module.exports = function ({
+  target,
+  entry,
+  htmls,
+  basedir
+}) {
+  const resolve = {
+    extensions: [".js", ".jsx", ".ts", ".tsx"]
+  };
+  const output = {
+    path: path.join(basedir, target),
+    filename: '[name].js?[hash]'
+  };
+  const module = {
+    rules: require('./rules')
+  };
+  const plugins = require('./plugins')(target, basedir, htmls);
+  const config = {
+    entry,
+    output,
+    module,
+    resolve,
+    plugins
+  };
+  if (target === 'dist') {
+    config.mode = 'production';
+    config.devtool = 'none';
+  } else {
+    config.mode = 'development';
+    config.devtool = 'inline-source-map';
+  }
+  return config;
+};
\ No newline at end of file
diff --git a/.command/.conf/entry.js b/.command/.conf/entry.js
new file mode 100644
index 0000000..6421094
--- /dev/null
+++ b/.command/.conf/entry.js
@@ -0,0 +1,83 @@
+const chalk = require('chalk');
+const path = require('path');
+const fs = require('fs');
+
+
+function srcpath(basedir) {
+  const srcdir = path.join(basedir, 'src');
+  if (fs.existsSync(srcdir)) {
+    return {
+      basedir,
+      srcdir
+    };
+  }
+  const { base, dir } = path.parse(basedir);
+  if (!base) {
+    console.log(chalk.red('src directory not found.'));
+    process.exit();
+  }
+  return srcpath(dir);
+}
+
+const {
+  srcdir, basedir
+} = srcpath(process.env.INIT_CWD);
+
+
+const entries = fs.readdirSync(srcdir)
+  .map(file => path.join(srcdir, file))
+  .filter(file => {
+    if (fs.statSync(file).isDirectory()) {
+      return false;
+    }
+    const ext = path.extname(file);
+    return ext && '.js.jsx.ts.tsx'.includes(ext);
+  });
+
+const entry = {};
+const htmls = [];
+const includes = process.argv.slice(2);
+for (const entryfile of entries) {
+  const {
+    ext, name
+  } = path.parse(entryfile);
+  if (includes.length && !includes.includes(name)) {
+    continue;
+  }
+  const html = path.join(srcdir, 'conf', `${name}.html`);
+  if (fs.existsSync(html)) {
+    console.log(chalk.green(`Page ${name}:`));
+    console.log(chalk.green(`    ${html}`));
+    htmls.push({ name, html });
+    entry[name] = [
+      path.join(srcdir, 'conf', `${name}.reset.scss`),
+      path.join(srcdir, 'conf', `reset.scss`),
+      entryfile,
+      path.join(srcdir, 'conf', `${name}.cover.scss`),
+      path.join(srcdir, 'conf', `cover.scss`)
+    ].filter(file => {
+      if (fs.existsSync(file)) {
+        console.log(chalk.green(`    ${file}`));
+        return true;
+      } else {
+        console.log(chalk.yellow(`    ${file}`));
+        return false;
+      }
+    });
+
+  } else {
+    console.log(chalk.red(`Page ${name}:`));
+    console.log(chalk.red(`    ${html}`));
+  }
+}
+console.log('\n');
+if (htmls.length) {
+  module.exports = {
+    basedir,
+    entry,
+    htmls
+  };
+} else {
+  console.log(chalk.red('Entry file not found...'));
+  process.exit();
+}
diff --git a/.command/.conf/index.js b/.command/.conf/index.js
new file mode 100644
index 0000000..c3caf2c
--- /dev/null
+++ b/.command/.conf/index.js
@@ -0,0 +1,45 @@
+const path = require('path');
+const base = process.env.INIT_CWD;
+const chalk = require('chalk');
+const fs = require('fs');
+function multiply(paths, join = (one, two) => one + two) {
+  return paths.reduce((prevArr, nextArr) => prevArr.reduce((array, prevStr) =>
+    array.concat(nextArr.map(nextStr => join(prevStr, nextStr))), []));
+}
+
+function parents(base) {
+  const result = [];
+  while (true) {
+    const parsed = path.parse(base);
+    if (!parsed.base) return result;
+    result.push(base);
+    base = parsed.dir;
+  }
+  return result
+}
+
+module.exports = function (action) {
+  const files = multiply([
+    parents(base), ['', 'src', 'view'],
+    multiply([
+      ['index', 'home', 'test'],
+      ['.jsx', '.tsx', '.js', '.ts']
+    ])
+  ], path.join
+  );
+
+  if (!files.some(file => {
+    if (fs.existsSync(file)) {
+      console.log(chalk.green(`Entry: ${file}\n`));
+      require('./webpack')({
+        filename: path.basename(file).split('.')[0] + '.js',
+        basename: path.resolve(file, '../../'),
+        entry: file,
+        action
+      });
+      return true;
+    }
+  })) {
+    console.log(chalk.red('Entry file not found...'));
+  }
+}
diff --git a/.command/.conf/plugins.js b/.command/.conf/plugins.js
new file mode 100644
index 0000000..6450f9b
--- /dev/null
+++ b/.command/.conf/plugins.js
@@ -0,0 +1,37 @@
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const CleanWebpackPlugin = require('clean-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const webpack = require('webpack');
+const path = require('path');
+const fs = require('fs');
+module.exports = function (target, basepath, htmls) {
+
+  const plugins = htmls.map(({ name, html }) => new HtmlWebpackPlugin({
+    template: html,
+    chunks: [name],
+    filename: `${name}.html`,
+    minify: true
+  }))
+  plugins.push(new MiniCssExtractPlugin({
+    filename: "[name].css?[hash]"
+  }))
+  if (fs.existsSync(path.join(basepath, 'src', 'copy'))) {
+    plugins.push(new CopyWebpackPlugin([{
+      to: path.join(basepath, target),
+      from: path.join(basepath, 'src', 'copy'),
+      toType: 'dir'
+    }]));
+  }
+  if (target === 'dist') {
+    plugins.push(new CleanWebpackPlugin(['dist'], {
+      root: basepath
+    }));
+  } else {
+    plugins.push(new webpack.HotModuleReplacementPlugin());
+  }
+
+  return plugins;
+};
+
+
diff --git a/.command/.conf/rules.js b/.command/.conf/rules.js
new file mode 100644
index 0000000..8134934
--- /dev/null
+++ b/.command/.conf/rules.js
@@ -0,0 +1,22 @@
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+
+module.exports = [{
+  test: /\.(js|jsx)$/i,
+  loader: 'babel-loader'
+}, {
+  test: /\.css$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader']
+}, {
+  test: /\.s[ac]ss$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
+}, {
+  test: /\.less$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']
+}, {
+  test: /\.(svg|png|jpg|gif)$/i,
+  loader: 'file-loader',
+  options: {
+    name: '[name].[ext]?[hash]',
+    outputPath: 'static/'
+  }
+}];;
diff --git a/.command/.conf/webpack.dist.js b/.command/.conf/webpack.dist.js
new file mode 100644
index 0000000..8e028a0
--- /dev/null
+++ b/.command/.conf/webpack.dist.js
@@ -0,0 +1,67 @@
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const CleanWebpackPlugin = require('clean-webpack-plugin');
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const webpack = require('webpack');
+const path = require('path');
+const fs = require('fs');
+const rules = [{
+  test: /\.(js|jsx)$/i,
+  loader: 'babel-loader'
+}, {
+  test: /\.css$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader']
+}, {
+  test: /\.s[ac]ss$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
+}, {
+  test: /\.(svg|png|jpg|gif)$/i,
+  loader: 'file-loader',
+  options: {
+    name: '[name].[ext]?[hash]',
+    outputPath: 'static/'
+  }
+}];
+
+
+const plugins = [
+  new webpack.HotModuleReplacementPlugin(),
+  new HtmlWebpackPlugin({
+    template: './src/conf/index.html',
+    minify: true
+  }),
+  new CleanWebpackPlugin(['dist']),
+  new MiniCssExtractPlugin({
+    filename: "index.css?[hash]"
+  })
+];
+
+if (fs.existsSync(path.resolve(__dirname, './src/copy'))) {
+  plugins.push(new CopyWebpackPlugin([{
+    to: path.resolve(__dirname, './dist'),
+    from: './src/copy',
+    toType: 'dir'
+  }]));
+}
+
+
+module.exports = {
+  entry: [
+    './src/conf/reset.scss',
+    './src/index.jsx',
+    './src/conf/cover.scss'
+  ],
+  output: {
+    path: path.resolve(__dirname, './dist'),
+    filename: 'index.js?[hash]'
+  },
+  resolve: {
+    extensions: [".js", ".jsx", ".ts", ".tsx"]
+  },
+  module: {
+    rules
+  },
+  mode: 'production',
+  devtool: 'none',
+  plugins
+};
diff --git a/.command/.conf/webpack.js b/.command/.conf/webpack.js
new file mode 100644
index 0000000..c090d12
--- /dev/null
+++ b/.command/.conf/webpack.js
@@ -0,0 +1,58 @@
+const ProgressPlugin = require('webpack/lib/ProgressPlugin');
+const webpack = require('webpack');
+const chalk = require('chalk');
+const path = require('path');
+
+module.exports = function (config) {
+  const compiler = webpack(config);
+  compiler.apply(
+    new ProgressPlugin((percentage, msg, current, active, modulepath) => {
+      if (process.stdout.isTTY && percentage < 1) {
+        process.stdout.cursorTo(0);
+        modulepath = modulepath ? ' .../' + path.basename(modulepath) : '';
+        current = current ? ' ' + current : '';
+        active = active ? ' ' + active : '';
+        process.stdout.write(`${(percentage * 100).toFixed(0)}% ${msg + current + active + modulepath}`);
+        process.stdout.clearLine(1);
+      } else if (percentage === 1) {
+        process.stdout.clearLine(1);
+        process.stdout.write('\n\n');
+        console.log(chalk.yellow(`webpack: done @${new Date().toLocaleString()}`));
+        process.stdout.write('\n');
+      }
+    }));
+  const watching = compiler.watch({
+    ignored: /node_modules/,
+    aggregateTimeout: 0
+  }, (err, stats) => {
+    if (err) {
+      console.error(err.stack || err);
+      if (err.details) {
+        console.error(err.details);
+      }
+      return;
+    }
+
+    const info = stats.toJson();
+
+    if (stats.hasErrors()) {
+      console.error(info.errors);
+    }
+
+    // if (stats.hasWarnings()) {
+    //   console.warn(info.warnings);
+    // }
+
+    console.log(stats.toString({
+      children: false,
+      warnings: false,
+      version: false,
+      maxModules: 4,
+      cached: false,
+      assets: false,
+      chunks: false,
+      colors: true,
+    }));
+  });
+  return compiler;
+};
\ No newline at end of file
diff --git a/.command/.conf/webpack.test.js b/.command/.conf/webpack.test.js
new file mode 100644
index 0000000..556a463
--- /dev/null
+++ b/.command/.conf/webpack.test.js
@@ -0,0 +1,74 @@
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const webpack = require('webpack');
+const path = require('path');
+const fs = require('fs');
+
+const rules = [{
+  test: /\.(js|jsx)$/i,
+  loader: 'babel-loader'
+}, {
+  test: /\.css$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader']
+}, {
+  test: /\.s[ac]ss$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
+}, {
+  test: /\.less$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']
+}, {
+  test: /\.(svg|png|jpg|gif)$/i,
+  loader: 'file-loader',
+  options: {
+    name: '[name].[ext]?[hash]',
+    outputPath: 'static/'
+  }
+}];
+
+
+
+const plugins = [
+  new webpack.HotModuleReplacementPlugin(),
+  new HtmlWebpackPlugin({
+    template: './src/conf/index.html',
+    minify: true
+  }),
+  new MiniCssExtractPlugin({
+    filename: "index.css?[hash]"
+  })
+];
+
+if (fs.existsSync(path.resolve(__dirname, './src/copy'))) {
+  plugins.push(new CopyWebpackPlugin([{
+    to: path.resolve(__dirname, './dist-debug'),
+    from: './src/copy',
+    toType: 'dir'
+  }]));
+}
+
+
+module.exports = {
+  entry: [
+    './src/conf/reset.scss',
+    './src/index.jsx',
+    './src/conf/cover.scss'
+  ],
+  output: {
+    path: path.resolve(__dirname, './dist-debug'),
+    filename: 'index.js?[hash]'
+  },
+  resolve: {
+    extensions: [".js", ".jsx", ".ts", ".tsx"]
+  },
+  module: {
+    rules
+  },
+  devServer: {
+    contentBase: './dist-debug',
+    hot: true
+  },
+  mode: 'development',
+  devtool: 'inline-source-map',
+  plugins
+};
diff --git a/.command/.gitignore b/.command/.gitignore
new file mode 100644
index 0000000..4b3a501
--- /dev/null
+++ b/.command/.gitignore
@@ -0,0 +1 @@
+!.command/dist
diff --git a/.command/code/hicode.js b/.command/code/hicode.js
new file mode 100644
index 0000000..3595d3b
--- /dev/null
+++ b/.command/code/hicode.js
@@ -0,0 +1,20 @@
+const strftime = require('hife/strftime').default;
+module.exports = args => [
+  `/**\n`,
+  ` * ${strip(process.env.AUTHORINFO)}\n`,
+  ` * ${strftime(Date.now())}\n`,
+  `${args.length > 0 ? ' *\n' : ''}`,
+  `${args.map(arg => ` * ${arg}\n`)}`,
+  ` *\n`,
+  ` */\n\n`
+].join('');
+
+
+function strip(info) {
+  if (info) {
+    const short = /^[" `']*([^" `']+ ?<[-_.@:a-z0-9]+>)[" `']*$/i.exec(info);
+    if (short) return short[1];
+    return '姓名<example@email.com>'
+  }
+  return '请设置 AUTHORINFO 环境变量'
+}
\ No newline at end of file
diff --git a/.command/code/index.js b/.command/code/index.js
new file mode 100644
index 0000000..95cc337
--- /dev/null
+++ b/.command/code/index.js
@@ -0,0 +1,17 @@
+const chalk = require('chalk');
+const path = require('path');
+const fs = require('fs');
+
+const base = process.env.INIT_CWD;
+
+const program = process.argv.slice(2);
+
+
+if (['component', 'components', 'view', 'views'].includes(path.basename(base))) {
+  require('./view')(base, program[0], program.slice(1));
+} else if (path.basename(base) === 'page') {
+  require('./page')(base, program[0], program.slice(1));
+} else {
+  console.log(chalk.green('1. 在 view,新建组件'));
+  console.log(chalk.green('2. 在 page,新建页面'));
+}
\ No newline at end of file
diff --git a/.command/code/page/index.js b/.command/code/page/index.js
new file mode 100644
index 0000000..3131c07
--- /dev/null
+++ b/.command/code/page/index.js
@@ -0,0 +1,59 @@
+const chalk = require('chalk');
+const path = require('path');
+const fs = require('fs');
+const hicode = require('../hicode');
+module.exports = function (base, name, args) {
+  if (!/^([A-Z][a-z0-9]*)+$/.test(name)) {
+    console.log(chalk.red('Incorrect name convention...'));
+    process.exit();
+  }
+
+  const file = path.join(base, name + '.jsx');
+  if (fs.existsSync(file)) {
+    console.log(chalk.red(`${file} existed...`));
+    process.exit();
+  }
+
+  fs.createWriteStream(file).write(
+    [
+      hicode(args),
+      `import React from 'react';`,
+      `// import { Modal } from 'antd-mobile';`,
+      `// import { Icon } from 'antd';`,
+      ``,
+      `// import Component from '../../shared/view/Component';`,
+      `import Component from '../view/Component';`,
+      ``,
+      `import Fetch from '../fetch';`,
+      ``,
+      `export default class ${name} extends React.Component {`,
+      `  constructor(props) {`,
+      `    super(props);`,
+      `    this.state = {`,
+      `      data: null`,
+      `    };`,
+      `  }`,
+      ``,
+      `  componentDidMount() {`,
+      `    document.title = 'Title';`,
+      `    // const { id } = this.props.match.params;`,
+      `  }`,
+      ``,
+      `  render() {`,
+      `    return (`,
+      `      <div className="app-page">`,
+      `        ${name}`,
+      `      </div>`,
+      `    );`,
+      `  }`,
+      ``,
+      `}`,
+      ``
+    ].join('\n')
+  );
+
+  console.log(chalk.green('Created: ' + file));
+}
+
+
+
diff --git a/.command/code/view/content.js b/.command/code/view/content.js
new file mode 100644
index 0000000..a1cdc36
--- /dev/null
+++ b/.command/code/view/content.js
@@ -0,0 +1,70 @@
+const { kebabCase } = require('lodash');
+const hicode = require('../hicode');
+function indexJsx(view, args) {
+  return [
+    hicode(args),
+    `import React from 'react';`,
+    `// import { Link } from 'react-router-dom';`,
+    `// import { Modal } from 'antd-mobile';`,
+    `// import { Icon } from 'antd';`,
+    `// import chunk from 'lodash/chunk';`,
+    `// import tree from 'hife/tree';`,
+    ``,
+    `import './style.scss';`,
+    ``,
+    `export default function ${view}({ loading }) {`,
+    `  return (`,
+    `    <div className="${kebabCase(view)}-main">`,
+    `      ${view}`,
+    `    </div>`,
+    `  );`,
+    ``,
+    `}`,
+    ``,
+    `// export default class ${view} extends React.Component {`,
+    `//   constructor(props) {`,
+    `//     super(props);`,
+    `//     this.state = {`,
+    `//       value: ''`,
+    `//     };`,
+    `//   }`,
+    ``,
+    `//   render() {`,
+    `//     return (`,
+    `//       <div className="${kebabCase(view)}-main">`,
+    `//         ${view}`,
+    `//       </div>`,
+    `//     );`,
+    `//   }`,
+    ``,
+    `// }`,
+    ``
+  ].join('\n');
+
+}
+
+function indexSass(view, args) {
+  return [
+    hicode(args),
+    `@import '../../conf/vars';`,
+    ``,
+    `.${kebabCase(view)} {`,
+    `  &-main {`,
+    `    padding: 8px;`,
+    `  }`,
+    ``,
+    `}`,
+    ``
+  ].join('\n');
+}
+
+module.exports = function (file, view, args) {
+  switch (file) {
+    case 'index.jsx':
+      return indexJsx(view, args);
+    case 'style.scss':
+      return indexSass(view, args);
+    default:
+      throw new Error(`Unknown file: ${file}...`);
+  }
+}
\ No newline at end of file
diff --git a/.command/code/view/index.js b/.command/code/view/index.js
new file mode 100644
index 0000000..0a2fd21
--- /dev/null
+++ b/.command/code/view/index.js
@@ -0,0 +1,24 @@
+const content = require('./content');
+const chalk = require('chalk');
+const path = require('path');
+const fs = require('fs');
+module.exports = function (base, name, args) {
+  if (!/^([A-Z][a-z0-9]*){2,}$/.test(name)) {
+    console.log(chalk.red(`${name}: Incorrect name convention...`));
+    process.exit();
+  }
+  const files = ['index.jsx', 'style.scss'];
+  if (fs.existsSync(path.join(base, name))) {
+    console.log(chalk.red(`${path.join(base, name)} exists...`));
+    process.exit();
+  } else {
+    fs.mkdirSync(path.join(base, name));
+  }
+  files.forEach(file => {
+    fs.createWriteStream(path.join(base, name, file)).write(
+      content(file, name, args)
+    );
+    console.log(chalk.green('Created: ' + path.join(base, name, file)));
+  });
+
+}
\ No newline at end of file
diff --git a/.command/package.json b/.command/package.json
new file mode 100644
index 0000000..389de48
--- /dev/null
+++ b/.command/package.json
@@ -0,0 +1,6 @@
+{
+  "devDependencies": {
+    "@types/node": "^10.3.1",
+    "@types/webpack": "^4.4.0"
+  }
+}
diff --git a/.command/test/index.js b/.command/test/index.js
new file mode 100644
index 0000000..f063cad
--- /dev/null
+++ b/.command/test/index.js
@@ -0,0 +1,45 @@
+const {
+  basedir, entry, htmls
+} = require('../.conf/entry');
+
+
+const chalk = require('chalk');
+const webpackDevServer = require('webpack-dev-server');
+const webpack = require('webpack');
+const path = require('path');
+
+
+if (!process.env.IMEXT) {
+  console.log(chalk.red('Environment variable IMEXT not set\n\n'));
+}
+
+
+const config = require('../.conf/config')({
+  target: 'server',
+  entry,
+  basedir,
+  htmls
+});
+
+const options = {
+  contentBase: path.join(basedir, 'server'),
+  hotOnly: true,
+  host: '0.0.0.0',
+  port: 8080,
+  hot: true
+};
+
+
+webpackDevServer.addDevServerEntrypoints(config, options);
+const compiler = webpack(config);
+const server = new webpackDevServer(compiler, options);
+server.listen(8080, '0.0.0.0', () => {
+  console.log(chalk.yellow('\nDev server listening on port 8080\n'));
+  Object.keys(entry)
+    .map(name => `http://localhost:8080/${name}.html`)
+    .forEach(page => {
+      console.log(chalk.green(page))
+      require('opn')(page);
+    });
+  console.log();
+});
\ No newline at end of file
diff --git a/.command/webpack.dist.js b/.command/webpack.dist.js
new file mode 100644
index 0000000..e3446e9
--- /dev/null
+++ b/.command/webpack.dist.js
@@ -0,0 +1,95 @@
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const CleanWebpackPlugin = require('clean-webpack-plugin');
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const webpack = require('webpack');
+const path = require('path');
+const fs = require('fs');
+const rules = [{
+  test: /\.(js|jsx)$/i,
+  loader: 'babel-loader'
+}, {
+  test: /\.css$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader']
+}, {
+  test: /\.s[ac]ss$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
+}, {
+  test: /\.(svg|png|jpg|gif)$/i,
+  loader: 'file-loader',
+  options: {
+    name: '[name].[ext]?[hash]',
+    outputPath: 'static/'
+  }
+}];
+
+
+const plugins = [
+  new webpack.HotModuleReplacementPlugin(),
+  new HtmlWebpackPlugin({
+    template: path.resolve(__dirname, './Delivery/desktop/src/conf/home.html'),
+    filename: 'home.html',
+    chunks: ['home'],
+    minify: true
+  }),
+  new HtmlWebpackPlugin({
+    template: path.resolve(__dirname, './Delivery/desktop/src/conf/login.html'),
+    filename: 'login.html',
+    chunks: ['login'],
+    minify: true
+  }),
+  new HtmlWebpackPlugin({
+    template: path.resolve(__dirname, './Delivery/desktop/src/conf/ems.html'),
+    filename: 'ems.html',
+    chunks: ['ems'],
+    minify: true
+  }),
+  new CleanWebpackPlugin(['dist'], {
+    root: path.resolve(__dirname, './Delivery/desktop')
+  }),
+  new MiniCssExtractPlugin({
+    filename: "[name].css?[hash]"
+  })
+];
+
+if (fs.existsSync(path.resolve(__dirname, './Delivery/desktop/src/copy'))) {
+  plugins.push(new CopyWebpackPlugin([{
+    to: path.resolve(__dirname, './Delivery/desktop/dist'),
+    from: './Delivery/desktop/src/copy',
+    toType: 'dir'
+  }]));
+}
+
+
+module.exports = {
+  entry: {
+    home: [
+      './Delivery/desktop/src/conf/reset.scss',
+      './Delivery/desktop/src/home.jsx',
+      './Delivery/desktop/src/conf/cover.scss'
+    ],
+    login: [
+      './Delivery/desktop/src/conf/reset.scss',
+      './Delivery/desktop/src/login.jsx',
+      './Delivery/desktop/src/conf/cover.scss'
+    ],
+    ems: [
+      './Delivery/desktop/src/conf/reset.scss',
+      './Delivery/desktop/src/ems.jsx',
+      './Delivery/desktop/src/conf/cover.scss'
+    ]
+  },
+  output: {
+    path: path.resolve(__dirname, './Delivery/desktop/dist'),
+    filename: '[name].js?[hash]'
+  },
+  resolve: {
+    extensions: [".js", ".jsx", ".ts", ".tsx"]
+  },
+  module: {
+    rules
+  },
+  mode: 'production',
+  devtool: 'none',
+  plugins
+};
diff --git a/.command/webpack.js b/.command/webpack.js
new file mode 100644
index 0000000..c090d12
--- /dev/null
+++ b/.command/webpack.js
@@ -0,0 +1,58 @@
+const ProgressPlugin = require('webpack/lib/ProgressPlugin');
+const webpack = require('webpack');
+const chalk = require('chalk');
+const path = require('path');
+
+module.exports = function (config) {
+  const compiler = webpack(config);
+  compiler.apply(
+    new ProgressPlugin((percentage, msg, current, active, modulepath) => {
+      if (process.stdout.isTTY && percentage < 1) {
+        process.stdout.cursorTo(0);
+        modulepath = modulepath ? ' .../' + path.basename(modulepath) : '';
+        current = current ? ' ' + current : '';
+        active = active ? ' ' + active : '';
+        process.stdout.write(`${(percentage * 100).toFixed(0)}% ${msg + current + active + modulepath}`);
+        process.stdout.clearLine(1);
+      } else if (percentage === 1) {
+        process.stdout.clearLine(1);
+        process.stdout.write('\n\n');
+        console.log(chalk.yellow(`webpack: done @${new Date().toLocaleString()}`));
+        process.stdout.write('\n');
+      }
+    }));
+  const watching = compiler.watch({
+    ignored: /node_modules/,
+    aggregateTimeout: 0
+  }, (err, stats) => {
+    if (err) {
+      console.error(err.stack || err);
+      if (err.details) {
+        console.error(err.details);
+      }
+      return;
+    }
+
+    const info = stats.toJson();
+
+    if (stats.hasErrors()) {
+      console.error(info.errors);
+    }
+
+    // if (stats.hasWarnings()) {
+    //   console.warn(info.warnings);
+    // }
+
+    console.log(stats.toString({
+      children: false,
+      warnings: false,
+      version: false,
+      maxModules: 4,
+      cached: false,
+      assets: false,
+      chunks: false,
+      colors: true,
+    }));
+  });
+  return compiler;
+};
\ No newline at end of file
diff --git a/.command/webpack.test.js b/.command/webpack.test.js
new file mode 100644
index 0000000..556a463
--- /dev/null
+++ b/.command/webpack.test.js
@@ -0,0 +1,74 @@
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const webpack = require('webpack');
+const path = require('path');
+const fs = require('fs');
+
+const rules = [{
+  test: /\.(js|jsx)$/i,
+  loader: 'babel-loader'
+}, {
+  test: /\.css$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader']
+}, {
+  test: /\.s[ac]ss$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
+}, {
+  test: /\.less$/i,
+  use: [MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']
+}, {
+  test: /\.(svg|png|jpg|gif)$/i,
+  loader: 'file-loader',
+  options: {
+    name: '[name].[ext]?[hash]',
+    outputPath: 'static/'
+  }
+}];
+
+
+
+const plugins = [
+  new webpack.HotModuleReplacementPlugin(),
+  new HtmlWebpackPlugin({
+    template: './src/conf/index.html',
+    minify: true
+  }),
+  new MiniCssExtractPlugin({
+    filename: "index.css?[hash]"
+  })
+];
+
+if (fs.existsSync(path.resolve(__dirname, './src/copy'))) {
+  plugins.push(new CopyWebpackPlugin([{
+    to: path.resolve(__dirname, './dist-debug'),
+    from: './src/copy',
+    toType: 'dir'
+  }]));
+}
+
+
+module.exports = {
+  entry: [
+    './src/conf/reset.scss',
+    './src/index.jsx',
+    './src/conf/cover.scss'
+  ],
+  output: {
+    path: path.resolve(__dirname, './dist-debug'),
+    filename: 'index.js?[hash]'
+  },
+  resolve: {
+    extensions: [".js", ".jsx", ".ts", ".tsx"]
+  },
+  module: {
+    rules
+  },
+  devServer: {
+    contentBase: './dist-debug',
+    hot: true
+  },
+  mode: 'development',
+  devtool: 'inline-source-map',
+  plugins
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..18ba155
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+**/node_modules/
+**/.DS_Store
+**/dist-*/
+**/__*__/
+**/dist/
+**/.svn/
+**/*.rar
+**/*.zip
+**/*.7z
diff --git a/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.js b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.js
new file mode 100644
index 0000000..ea36c0b
--- /dev/null
+++ b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.js
@@ -0,0 +1,179 @@
+// Componet/Componet.js
+const app = getApp();
+Component({
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+
+    // 是否显示用户授权
+    item: {
+      type: Object
+    }
+  },
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    uploadUrl: app.globalData.url + '/api/v1/attachment/wechatMaterials?',
+    fileIcon: app.globalData.imgUrl + '/images/icon_file.png',
+  },
+
+  ready: function() {
+    
+  },
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+
+    // 直播调解跳转
+    linkLive(e) {
+      var roomid = e.currentTarget.dataset['roomid'];
+      console.log(roomid);
+      wx.navigateTo({
+        url: '../linkLive/linkLive?roomId=' + roomid
+      })
+
+    },
+    
+    // 附件处理
+    onChange(e) {
+      console.log('onChange', e);
+      const {
+        file
+      } = e.detail;
+      if (file.status === 'uploading') {
+        wx.showLoading()
+      } else if (file.status === 'done') { }
+    },
+    onSuccess(e) {
+      console.log('onSuccess', e)
+    },
+    onFail(e) {
+      console.log('onFail', e)
+    },
+    onComplete(e) {
+      let that = this;
+      console.log('onComplete', e);
+      var id = e.currentTarget.dataset['id'];
+      console.log('id', id);
+      let {
+        supplyAttachmentList
+      } = that.data.item;
+      if (e.detail.statusCode == 200) {
+        let data = JSON.parse(e.detail.data);
+        that.data.item.supplyAttachmentList = supplyAttachmentList.concat(data.data);
+        console.log(that.data.item);
+        that.setData({
+          item: that.data.item
+        });
+        wx.hideLoading();
+      } else {
+        wx.hideLoading({
+          title: '上传失败, 请重试...',
+          icon: 'none'
+        });
+      }
+    },
+    onProgress(e) {
+      console.log('onProgress', e)
+    },
+    onPreview(e) {
+      console.log('onPreview', e)
+      const {
+        file,
+        fileList
+      } = e.detail
+      wx.previewImage({
+        current: file.url,
+        urls: fileList.map((n) => n.url),
+      })
+    },
+    onRemove(e) {
+      const {
+        file,
+        fileList
+      } = e.detail;
+      let that = this;
+      var id = e.currentTarget.dataset['id'];
+      console.log(id);
+      let {
+        supplyAttachmentList
+      } = that.data.item;
+      wx.showModal({
+        content: '确定删除?',
+        success: (res) => {
+          if (res.confirm) {
+            wx.showLoading();
+            wx.request({
+              url: app.globalData.url + '/api/v1/attachment/deleteByOwnerAtt',
+              method: 'GET',
+              data: {
+                attId: file.id,
+                owenId: id
+              },
+              success: function (res) {
+                console.log('res', res);
+                that.data.item.supplyAttachmentList = supplyAttachmentList.filter((n) => n.uid !== file.uid)
+                that.setData({
+                  item: that.data.item
+                })
+                wx.hideLoading();
+              }
+            })
+          }
+        },
+      })
+    },
+
+    // 案件补录跳转
+    onCaseSupply(e) {
+      var id = e.currentTarget.dataset['id'];
+      console.log('id', id);
+      wx.navigateTo({
+        url: '../applyMediation/applyMediation?caseId=' + id
+      })
+    },
+
+    openFile(e) {
+      app.openFileByType(e);
+    },
+
+    // 签到调解
+    signIn(e) {
+      var meetingtype = e.currentTarget.dataset['meetingtype'];
+      var caseid = e.currentTarget.dataset['caseid'];
+      console.log(meetingtype, caseid);
+      var that = this;
+      wx.showLoading();
+      wx.request({
+        url: app.globalData.url + '/api/meetingPerson/wechatSignIn/' + wx.getStorageSync('#wxEmpowerInfo#').openId + '/' + caseid + '/' + meetingtype,
+        method: 'GET',
+        header: {
+          "Content-Type": "application/json"
+        },
+        success: function (res) {
+          console.log(res.data.data)
+          if (res.data.code == 0) {
+            wx.hideLoading();
+            wx.showToast({
+              title: '签到成功',
+              icon: 'success',
+              success() {
+                that.triggerEvent('onLoadRender', {});
+              }
+            })
+          } else {
+            wx.hideLoading();
+            wx.showToast({
+              title: '网络请求失败,请稍后再试!',
+              icon: 'none'
+            })
+          }
+        }
+      })
+    }
+   
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.json b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.json
new file mode 100644
index 0000000..8580faa
--- /dev/null
+++ b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.json
@@ -0,0 +1,11 @@
+{
+  "component": true,
+  "usingComponents": {
+    "wux-upload": "../../templeteDist/wuxDist/upload/index",
+    "wux-popup-select": "../../templeteDist/wuxDist/popup-select/index",
+    "wux-cell": "../../templeteDist/wuxDist/cell/index",
+    "wux-accordion-group": "../../templeteDist/wuxDist/accordion-group/index",
+    "wux-accordion": "../../templeteDist/wuxDist/accordion/index",
+    "wux-icon": "../../templeteDist/wuxDist/icon/index"
+  }
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxml b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxml
new file mode 100644
index 0000000..0ff966f
--- /dev/null
+++ b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxml
@@ -0,0 +1,226 @@
+<view style="background: #fff">
+  <view wx:if="{{ item.mediateStatus== '审核中'}}">
+    <view class='mediate-main-top'>
+      <view class='mediate-main-top-l'>{{item.caseReason||'暂无'}}</view>
+      <view class='mediate-main-top-r'>{{item.mediateStatus||'暂无'}}</view>
+    </view>
+    <view class='mediate-main-center'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.plaintiff||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>被申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.defendant||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请日期:</view>
+        <view class='mediate-main-center-row-r'>{{item.precaseCreateTime||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>云调号:</view>
+        <view class='mediate-main-center-row-r'>{{item.caseId||'暂无'}}</view>
+      </view>
+    </view>
+  </view>
+  <!-- 待调解 -->
+  <view wx:if="{{ item.mediateStatus== '待调解'}}">
+    <view class='mediate-main-top'>
+      <view class='mediate-main-top-l'>{{item.caseReason||'暂无'}}</view>
+      <view class='mediate-main-top-r'>{{item.mediateStatus||'暂无'}}</view>
+    </view>
+    <view class='mediate-main-center'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.plaintiff||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>被申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.defendant||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请日期:</view>
+        <view class='mediate-main-center-row-r'>{{item.precaseCreateTime||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>云调号:</view>
+        <view class='mediate-main-center-row-r'>{{item.caseId||'暂无'}}</view>
+      </view>
+    </view>
+    <view wx:if="{{ item.meetingWay == 'HY000002' }}">
+      <view class='mediate-main-bottom'>
+        <!-- <view class='mediate-main-center-row'>
+          <view class='mediate-main-center-row-l'>调解日期:</view>
+          <view class='mediate-main-center-row-r mediate-color'>{{item.auditCreateTime||'暂无'}}</view>
+        </view> -->
+        <view class='mediate-main-center-row'>
+          <view class='mediate-main-center-row-l'>友情提示:</view>
+          <view class='mediate-main-center-row-r mediate-color'>请提前10分钟签到,链接直播参与调解</view>
+        </view>
+      </view>
+      <view class="button-pd" wx:if="{{ item.signStatus == 1}}">
+        <button class='mediate-main-bottom-button' data-meetingtype="HY0000T1" data-caseid="{{item.caseId}}" bindtap="signIn">签到调解</button>
+      </view>
+      <view class="button-pd" wx:if="{{ item.signStatus == 2}}">
+        <button class='mediate-main-bottom-button' bindtap="linkLive" data-roomid="{{item.roomId}}">进入直播调解</button>
+      </view>
+    </view>
+  </view>
+  <!-- 调解中 -->
+  <view wx:if="{{ item.mediateStatus== '调解中'}}">
+    <view class='mediate-main-top'>
+      <view class='mediate-main-top-l'>{{item.caseReason||'暂无'}}</view>
+      <view class='mediate-main-top-r'>{{item.mediateStatus||'暂无'}}</view>
+    </view>
+    <view class='mediate-main-center'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.plaintiff||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>被申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.defendant||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请日期:</view>
+        <view class='mediate-main-center-row-r'>{{item.precaseCreateTime||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>云调号:</view>
+        <view class='mediate-main-center-row-r'>{{item.caseId||'暂无'}}</view>
+      </view>
+    </view>
+    <view class='mediate-main-bottom'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>补充材料:</view>
+      </view>
+      <wux-upload listType="picture-card" fileList="{{ item.supplyAttachmentList  }}" controlled url="{{uploadUrl}}entityId={{item.caseId}}&associateTypeId={{2004}}" data-id="{{item.caseId}}" bind:change="onChange" bind:success="onSuccess" bind:fail="onFail"
+        bind:complete="onComplete" bind:preview="onPreview" bind:remove="onRemove">
+        <!-- <text>上传</text> -->
+        <wux-icon type="ios-add-circle-outline" color="color:rgba(153,153,153,1);"/>
+      </wux-upload>
+    </view>
+    <view wx:if="{{ item.meetingWay == 'HY000002'}}">
+      <view class="button-pd" wx:if="{{ item.signStatus == 1}}">
+        <button class='mediate-main-bottom-button' data-meetingtype="HY0000T1" data-caseid="{{item.caseId}}" bindtap="signIn">签到调解</button>
+      </view>
+      <view class="button-pd" wx:if="{{ item.signStatus == 2}}">
+        <button class='mediate-main-bottom-button' bindtap="linkLive" data-roomid="{{item.roomId}}">进入直播调解</button>
+      </view>
+    </view>
+  </view>
+  <!-- 案件补录 -->
+  <view wx:if="{{ item.mediateStatus== '案件补录'}}">
+    <view class='mediate-main-top'>
+      <view class='mediate-main-top-l'>{{item.caseReason||'暂无'}}</view>
+      <view class='mediate-main-top-r'>{{item.mediateStatus||'暂无'}}</view>
+    </view>
+    <view class='mediate-main-center'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.plaintiff||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>被申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.defendant||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请日期:</view>
+        <view class='mediate-main-center-row-r'>{{item.precaseCreateTime||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>云调号:</view>
+        <view class='mediate-main-center-row-r'>{{item.caseId||'暂无'}}</view>
+      </view>
+    </view>
+    <view class='mediate-main-bottom'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l mediate-color mediate-weight'>审核结果:</view>
+        <view class='mediate-main-center-row-r mediate-color mediate-weight'>材料缺失</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>审核时间:</view>
+        <view class='mediate-main-center-row-r mediate-color'>{{item.auditCreateTime||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>审核意见:</view>
+        <view class='mediate-main-center-row-r mediate-color'>请补齐全材料,材料清单具体沟通</view>
+      </view>
+      <button class='mediate-main-bottom-button button-mt' bindtap="onCaseSupply" data-id="{{item.caseId}}">案件补录</button>
+    </view>
+  </view>
+  <view wx:if="{{ item.mediateStatus== '已完成'}}">
+    <view class='mediate-main-top'>
+      <view class='mediate-main-top-l'>{{item.caseReason||'暂无'}}</view>
+      <view class='mediate-main-top-r'>{{item.mediateStatus||'暂无'}}</view>
+    </view>
+    <view class='mediate-main-center'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.plaintiff||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>被申请人:</view>
+        <view class='mediate-main-center-row-r'>{{item.defendant||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>申请日期:</view>
+        <view class='mediate-main-center-row-r'>{{item.precaseCreateTime||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>云调号:</view>
+        <view class='mediate-main-center-row-r'>{{item.caseId||'暂无'}}</view>
+      </view>
+    </view>
+
+    <view class="mediate-main-attachmentList" wx:if="{{item.deduceAttachmentDtoList.length > 0}}">
+      <view class="mediate-main-attachment {{ index > 0 ? 'border-top':''}}" wx:for="{{item.deduceAttachmentDtoList}}" wx:for-item="attItem" wx:for-index="index" wx:key="{{index}}" data-url="{{attItem.url}}" bindtap="openFile" data-suffix="{{attItem.suffix}}">
+        <view class="mediate-main-attachment-left ">
+          <image class="mediate-main-attachment-left-img" src="{{fileIcon}}" mode="aspectFit"></image>
+        </view>
+        <view class="mediate-main-attachment-right">
+          {{attItem.name}}
+        </view>
+      </view>
+    </view>
+
+    <view class='mediate-main-center'>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>调解结果:</view>
+        <view class='mediate-main-center-row-r mediate-color'>{{item.mediateResult||'暂无'}}</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>调解备注:</view>
+        <view class='mediate-main-center-row-r mediate-color'>{{item.mediateRemarks||'暂无'}}</view>
+      </view>
+    </view>
+    <view class='mediate-main-bottom' wx:if="{{ false }}">
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l mediate-weight'>评价</view>
+      </view>
+      <view class='mediate-main-center-row' style="justify-content:space-between">
+        <view class='mediate-main-center-row-l'>给调解单位的评价</view>
+        <view class="star-pos" style="display:flex;flex-direction:row;">
+          <view class="stars" wx:for="{{specialtyStars}}" data-index="{{index}}" wx:key="index" bindtap="starTap">
+            <image class="mediate-main-bottom-img" src="{{item}}"></image>
+          </view>
+        </view>
+      </view>
+      <view class='mediate-main-center-row' style="justify-content:space-between">
+        <view class='mediate-main-center-row-l'>给平台的评价</view>
+        <view class="star-pos" style="display:flex;flex-direction:row;">
+          <view class="stars" wx:for="{{attitudeStars}}" data-index="{{index}}" wx:key="index" bindtap="starAttitudeStars">
+            <image class="mediate-main-bottom-img" src="{{item}}"></image>
+          </view>
+        </view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <view class='mediate-main-center-row-l'>留下您的评价意见</view>
+      </view>
+      <view class='mediate-main-center-row'>
+        <textarea class="mediate-textarea" bindinput="textareaAInput" placeholder="多行文本输入框"></textarea>
+      </view>
+      <button class='mediate-main-bottom-button'>提交评价</button>
+    </view>
+  </view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxss b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxss
new file mode 100644
index 0000000..6e8d076
--- /dev/null
+++ b/SunshineLnsMinApp/Component/mediateByStaus/mediateByStaus.wxss
@@ -0,0 +1,149 @@
+/* pages/mediate/mediate.wxss */
+
+.mediate-main {
+  margin: 24rpx 0;
+  background-color: #fff;
+}
+
+.mediate-main-top {
+  display: flex;
+  justify-content: space-between;
+  padding: 20rpx 30rpx;
+  border-bottom: 1px solid #eee;
+  color: #97383f;
+  align-items: center;
+}
+
+.mediate-main-top-l {
+  font-weight: 900;
+  color: #000;
+  font-size: 32rpx;
+}
+
+.mediate-main-top-r {
+  font-weight: 500;
+}
+
+.mediate-main-center {
+  padding: 24rpx;
+  font-weight: 500;
+  border-bottom: 1px solid #eee;
+}
+
+.mediate-main-center-row {
+  display: flex;
+  line-height: 56rpx;
+  color: rgba(61, 68, 77, 1);
+}
+
+.mediate-main-center-row-l {
+  min-width: calc(5em);
+  color: rgba(153, 153, 153, 1);
+}
+
+.mediate-main-center-row-r {
+  flex: 1;
+}
+
+.mediate-main-bottom {
+  padding: 24rpx;
+}
+
+.mediate-main-bottom-button {
+  background-color: #97383f;
+  color: #fff;
+  font-size: 32rpx;
+  border-radius: 4rpx;
+}
+
+.mediate-main-bottom-button1 {
+  background-color: #2b3446;
+  color: #fff;
+  font-size: 32rpx;
+  border-radius: 4rpx;
+}
+
+.mediate-color {
+  color: #a32043;
+}
+
+.mediate-weight {
+  font-weight: 900;
+}
+
+.comment1-description {
+  padding: 30rpx 0;
+  display: flex;
+  flex-direction: row;
+}
+
+.stars {
+  /* width: 50rpx;
+  height: 50rpx;
+  background-size: 50rpx 50rpx;
+  margin-left: 30rpx;
+  transition: 600ms; */
+}
+
+.on {
+  width: 50rpx;
+  height: 50rpx;
+  background-size: 50rpx 50rpx;
+  transition: 1s;
+  transform: scale(1, 1);
+}
+
+.mediate-textarea {
+  border: 1px solid #eee;
+  width: 100%;
+  margin: 0 0 24rpx 0;
+  height: 200rpx;
+  padding: 12rpx;
+}
+
+.mediate-main-bottom-img {
+  width: 50rpx;
+  height: 50rpx;
+  border-radius: 5rpx;
+  margin-bottom: 12rpx;
+  margin: 0 12rpx;
+  background-color: #fff;
+}
+
+.button-pd{
+  padding: 0 24rpx 24rpx 24rpx;
+}
+
+.button-mt{
+  margin-top: 10rpx;
+}
+
+.mediate-main-attachmentList{
+  border-bottom: 1px solid #eee;
+}
+
+.mediate-main-attachment{
+  display: flex;
+  /* justify-content: center; */
+  align-items: center;
+  padding: 16rpx 30rpx 16rpx 0;
+  margin-left: 30rpx;
+}
+
+.border-top{
+  border-top: 1px solid #eee;
+}
+
+.mediate-main-attachment-left-img{
+  width: 80rpx;
+  height: 80rpx;
+  /* background: #ccc; */
+  display: flex;
+  align-content: center;
+}
+
+.mediate-main-attachment-right{
+  flex: 1;
+  padding: 0 24rpx;
+  color:rgba(163,32,67,1);
+}
diff --git a/SunshineLnsMinApp/Component/teleAuth/teleAuth.js b/SunshineLnsMinApp/Component/teleAuth/teleAuth.js
new file mode 100644
index 0000000..ac9d7a8
--- /dev/null
+++ b/SunshineLnsMinApp/Component/teleAuth/teleAuth.js
@@ -0,0 +1,56 @@
+// Componet/Componet.js
+let app = getApp();
+Component({
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+
+    // 是否显示用户授权
+    showTele: {
+      type: Boolean
+    }
+  },
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    canIUse: wx.canIUse('button.open-type.getUserInfo'),
+    isShow: true,
+    wxIcon: app.globalData.imgUrl + '/images/wx_login.png'
+  },
+
+  ready: function() {
+    console.log('this.properties', this.properties);
+    this.setData({
+      isShow: this.properties.showTele || true
+    })
+  },
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+    bindGetPhoneNumber: function(e) {
+      let that = this;
+      console.log('手机相关信息', e);
+      if (e.detail.errMsg == 'getPhoneNumber:ok') {
+        that.triggerEvent('onSetData', { showTele: false });
+        wx.setStorageSync('#phoneAuthorization#', 'phone' + Date.now());
+      }else {
+        //用户按了拒绝按钮
+        wx.showModal({
+          title: '警告',
+          content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!',
+          showCancel: false,
+          confirmText: '返回授权',
+          success: function (res) {
+            // 用户没有授权成功,不需要改变 isHide 的值
+            if (res.confirm) {
+              console.log('用户点击了“返回授权”');
+            }
+          }
+        });
+      }
+    }
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/teleAuth/teleAuth.json b/SunshineLnsMinApp/Component/teleAuth/teleAuth.json
new file mode 100644
index 0000000..32640e0
--- /dev/null
+++ b/SunshineLnsMinApp/Component/teleAuth/teleAuth.json
@@ -0,0 +1,3 @@
+{
+  "component": true
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/teleAuth/teleAuth.wxml b/SunshineLnsMinApp/Component/teleAuth/teleAuth.wxml
new file mode 100644
index 0000000..2145817
--- /dev/null
+++ b/SunshineLnsMinApp/Component/teleAuth/teleAuth.wxml
@@ -0,0 +1,18 @@
+<view wx:if="{{isShow}}">
+  <view wx:if="{{canIUse}}">
+    <view class='header'>
+      <image src="{{wxIcon}}"></image>
+    </view>
+
+    <view class='content'>
+      <view>申请获取以下权限</view>
+      <text>获得你微信绑定的手机号</text>
+    </view>
+
+    <button class='bottom' type='primary' open-type='getPhoneNumber' bindgetphonenumber="bindGetPhoneNumber">
+      手机号获取
+    </button>
+
+  </view>
+  <view wx:else>请升级微信版本</view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/teleAuth/teleAuth.wxss b/SunshineLnsMinApp/Component/teleAuth/teleAuth.wxss
new file mode 100644
index 0000000..cc26c6c
--- /dev/null
+++ b/SunshineLnsMinApp/Component/teleAuth/teleAuth.wxss
@@ -0,0 +1,31 @@
+
+.header {
+    margin: 90rpx 0 90rpx 50rpx;
+    border-bottom: 1px solid #ccc;
+    text-align: center;
+    width: 650rpx;
+    height: 300rpx;
+    line-height: 450rpx;
+}
+
+.header image {
+    width: 200rpx;
+    height: 200rpx;
+}
+
+.content {
+    margin-left: 50rpx;
+    margin-bottom: 90rpx;
+}
+
+.content text {
+    display: block;
+    color: #9d9d9d;
+    margin-top: 40rpx;
+}
+
+.bottom {
+    border-radius: 80rpx;
+    margin: 70rpx 50rpx;
+    font-size: 35rpx;
+}
diff --git a/SunshineLnsMinApp/Component/userAuth/userAuth.js b/SunshineLnsMinApp/Component/userAuth/userAuth.js
new file mode 100644
index 0000000..415764b
--- /dev/null
+++ b/SunshineLnsMinApp/Component/userAuth/userAuth.js
@@ -0,0 +1,75 @@
+// Componet/Componet.js
+let app = getApp();
+Component({
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+
+    // 是否显示用户授权
+    showAuth: {
+      type: Boolean
+    }
+  },
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    canIUse: wx.canIUse('button.open-type.getUserInfo'),
+    isShow: false,
+    wxIcon: app.globalData.imgUrl + '/images/wx_login.png'
+
+  },
+
+  ready: function() {
+    this.setData({
+      isShow: this.properties.showAuth || false
+    })
+  },
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+    bindGetUserInfo: function(e) {
+      var that = this;
+      if (e.detail.userInfo) {
+        //用户按了允许授权按钮
+        // 获取到用户的信息了,打印到控制台上看下
+        console.log("用户的信息如下:");
+        console.log(e.detail.userInfo);
+        //授权成功后,通过改变 isHide 的值,让实现页面显示出来,把授权页面隐藏起来
+        that.setData({
+          isShow: false
+        });
+        // that.triggerEvent('onSetData', { showTele: true});
+        that.triggerEvent('onSetLoadingData', {
+          showAuth: false
+        });
+
+        wx.setStorageSync('#userAuthorization#', 'user' + Date.now());
+        wx.setStorageSync('#userInfo#', e.detail.userInfo);
+
+      } else {
+        console.log('点击取消');
+        that.triggerEvent('onSetData', {
+          showAuth: false
+        });
+        
+
+        //用户按了拒绝按钮
+        // wx.showModal({
+        //   title: '警告',
+        //   content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!',
+        //   showCancel: false,
+        //   confirmText: '返回授权',
+        //   success: function (res) {
+        //     // 用户没有授权成功,不需要改变 isHide 的值
+        //     if (res.confirm) {
+        //       console.log('用户点击了“返回授权”');
+        //     }
+        //   }
+        // });
+      }
+    }
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/userAuth/userAuth.json b/SunshineLnsMinApp/Component/userAuth/userAuth.json
new file mode 100644
index 0000000..32640e0
--- /dev/null
+++ b/SunshineLnsMinApp/Component/userAuth/userAuth.json
@@ -0,0 +1,3 @@
+{
+  "component": true
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/userAuth/userAuth.wxml b/SunshineLnsMinApp/Component/userAuth/userAuth.wxml
new file mode 100644
index 0000000..13011ce
--- /dev/null
+++ b/SunshineLnsMinApp/Component/userAuth/userAuth.wxml
@@ -0,0 +1,18 @@
+<view wx:if="{{isShow}}">
+  <view wx:if="{{canIUse}}">
+    <view class='header'>
+      <image src="{{wxIcon}}"></image>
+      <view class="header-word">智慧调解</view>
+    </view>
+
+    <view class='content'>
+      <view>小程序申请获取以下权限</view>
+      <text>获得你的公开信息(昵称,头像等)</text>
+    </view>
+
+    <button class='bottom' type='primary' open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="bindGetUserInfo">
+      授权登录
+    </button>
+  </view>
+  <view wx:else>请升级微信版本</view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/Component/userAuth/userAuth.wxss b/SunshineLnsMinApp/Component/userAuth/userAuth.wxss
new file mode 100644
index 0000000..da4b4ca
--- /dev/null
+++ b/SunshineLnsMinApp/Component/userAuth/userAuth.wxss
@@ -0,0 +1,39 @@
+
+.header {
+    margin: 90rpx 0 90rpx 50rpx;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    border-bottom: 1px solid #ccc;
+    text-align: center;
+    width: 650rpx;
+    /* height: 300rpx; */
+    /* line-height: 450rpx; */
+}
+
+.header-word{
+  margin: 30rpx;
+}
+
+.header image {
+    width: 200rpx;
+    height: 200rpx;
+}
+
+.content {
+    margin-left: 50rpx;
+    margin-bottom: 90rpx;
+}
+
+.content text {
+    display: block;
+    color: #9d9d9d;
+    margin-top: 40rpx;
+}
+
+.bottom {
+    border-radius: 80rpx;
+    margin: 70rpx 50rpx;
+    font-size: 35rpx;
+}
diff --git a/SunshineLnsMinApp/app.json b/SunshineLnsMinApp/app.json
index 131081a..148143a 100644
--- a/SunshineLnsMinApp/app.json
+++ b/SunshineLnsMinApp/app.json
@@ -1,6 +1,16 @@
 {
   "pages": [
     "pages/index/index",
+    "pages/lawInfo/lawInfo",
+    "pages/zhwj/zhwj",
+    "pages/fzpx/fzpx",
+    "pages/fzpxInfo/fzpxInfo",
+    "pages/weiwc/weiwc",
+    "pages/zhgh/zhgh",
+    "pages/zhghInfo/zhghInfo",
+    "pages/zhgk/zhgk",
+    "pages/zhdt/zhdt",
+    "pages/zhdtInfo/zhdtInfo",
     "pages/me/me",
     "pages/drafts/drafts",
     "pages/personInfo/personInfo",
@@ -59,7 +69,9 @@
     "pages/webrtcroom/roomlist/roomlist",
     "pages/dissDetail/dissDetail",
     "pages/guidelist/guidelist",
-    "pages/search/search"
+    "pages/search/search",
+    "pages/verticalnav/verticalnav"
+    
   ],
   "networkTimeout": {
     "request": 60000
@@ -72,5 +84,6 @@
   },
   "navigateToMiniProgramAppIdList": [
     "wxb49b1bd912ba9c08"
-  ]
+  ],
+  "sitemapLocation": "sitemap.json"
 }
\ No newline at end of file
diff --git a/SunshineLnsMinApp/app.wxss b/SunshineLnsMinApp/app.wxss
index 4ce7a75..59a9402 100644
--- a/SunshineLnsMinApp/app.wxss
+++ b/SunshineLnsMinApp/app.wxss
@@ -1,5 +1,8 @@
 /**app.wxss**/
 
+@import "colorui/main.wxss";
+@import "colorui/icon.wxss";
+
 .container {
   height: 100%;
   display: flex;
diff --git a/SunshineLnsMinApp/colorui/animation.wxss b/SunshineLnsMinApp/colorui/animation.wxss
new file mode 100644
index 0000000..931bb51
--- /dev/null
+++ b/SunshineLnsMinApp/colorui/animation.wxss
@@ -0,0 +1,184 @@
+/* 
+  Animation 微动画  
+  基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28
+ */
+
+/* css 滤镜 控制黑白底色gif的 */
+.gif-black{  
+  mix-blend-mode: screen;  
+}
+.gif-white{  
+  mix-blend-mode: multiply; 
+}
+
+
+/* Animation css */
+[class*=animation-] {
+    animation-duration: .5s;
+    animation-timing-function: ease-out;
+    animation-fill-mode: both
+}
+
+.animation-fade {
+    animation-name: fade;
+    animation-duration: .8s;
+    animation-timing-function: linear
+}
+
+.animation-scale-up {
+    animation-name: scale-up
+}
+
+.animation-scale-down {
+    animation-name: scale-down
+}
+
+.animation-slide-top {
+    animation-name: slide-top
+}
+
+.animation-slide-bottom {
+    animation-name: slide-bottom
+}
+
+.animation-slide-left {
+    animation-name: slide-left
+}
+
+.animation-slide-right {
+    animation-name: slide-right
+}
+
+.animation-shake {
+    animation-name: shake
+}
+
+.animation-reverse {
+    animation-direction: reverse
+}
+
+@keyframes fade {
+    0% {
+        opacity: 0
+    }
+
+    100% {
+        opacity: 1
+    }
+}
+
+@keyframes scale-up {
+    0% {
+        opacity: 0;
+        transform: scale(.2)
+    }
+
+    100% {
+        opacity: 1;
+        transform: scale(1)
+    }
+}
+
+@keyframes scale-down {
+    0% {
+        opacity: 0;
+        transform: scale(1.8)
+    }
+
+    100% {
+        opacity: 1;
+        transform: scale(1)
+    }
+}
+
+@keyframes slide-top {
+    0% {
+        opacity: 0;
+        transform: translateY(-100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateY(0)
+    }
+}
+
+@keyframes slide-bottom {
+    0% {
+        opacity: 0;
+        transform: translateY(100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateY(0)
+    }
+}
+
+@keyframes shake {
+
+    0%,
+    100% {
+        transform: translateX(0)
+    }
+
+    10% {
+        transform: translateX(-9px)
+    }
+
+    20% {
+        transform: translateX(8px)
+    }
+
+    30% {
+        transform: translateX(-7px)
+    }
+
+    40% {
+        transform: translateX(6px)
+    }
+
+    50% {
+        transform: translateX(-5px)
+    }
+
+    60% {
+        transform: translateX(4px)
+    }
+
+    70% {
+        transform: translateX(-3px)
+    }
+
+    80% {
+        transform: translateX(2px)
+    }
+
+    90% {
+        transform: translateX(-1px)
+    }
+}
+
+@keyframes slide-left {
+    0% {
+        opacity: 0;
+        transform: translateX(-100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateX(0)
+    }
+}
+
+@keyframes slide-right {
+    0% {
+        opacity: 0;
+        transform: translateX(100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateX(0)
+    }
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/colorui/components/cu-custom.js b/SunshineLnsMinApp/colorui/components/cu-custom.js
new file mode 100644
index 0000000..9171979
--- /dev/null
+++ b/SunshineLnsMinApp/colorui/components/cu-custom.js
@@ -0,0 +1,58 @@
+const app = getApp();
+Component({
+  /**
+   * 组件的一些选项
+   */
+  options: {
+    addGlobalClass: true,
+    multipleSlots: true
+  },
+  /**
+   * 组件的对外属性
+   */
+  properties: {
+    bgColor: {
+      type: String,
+      default: ''
+    }, 
+    isCustom: {
+      type: [Boolean, String],
+      default: false
+    },
+    isBack: {
+      type: [Boolean, String],
+      default: false
+    },
+    bgImage: {
+      type: String,
+      default: ''
+    },
+    color: {
+      type: String,
+      default: ''
+    }
+  },
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    StatusBar: app.globalData.StatusBar,
+    CustomBar: app.globalData.CustomBar,
+    Custom: app.globalData.Custom,
+  },
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+    BackPage() {
+      wx.navigateBack({
+        delta: 1
+      });
+    },
+    toHome(){
+      wx.reLaunch({
+        url: '/pages/index/index',
+      })
+    }
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/colorui/components/cu-custom.json b/SunshineLnsMinApp/colorui/components/cu-custom.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/SunshineLnsMinApp/colorui/components/cu-custom.json
@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/colorui/components/cu-custom.wxml b/SunshineLnsMinApp/colorui/components/cu-custom.wxml
new file mode 100644
index 0000000..60ffbaf
--- /dev/null
+++ b/SunshineLnsMinApp/colorui/components/cu-custom.wxml
@@ -0,0 +1,16 @@
+<view class="cu-custom" style="height:{{CustomBar}}px;">
+  <view class="cu-bar fixed {{bgImage!=''?'none-bg text-white bg-img':''}} {{bgColor}}" style="height:{{CustomBar}}px;padding-top:{{StatusBar}}px;{{bgImage?'background-image:url(' + bgImage+')':''}};color:{{color}}">
+    <view class="action" bindtap="BackPage" wx:if="{{isBack}}">
+      <text class="cuIcon-back"></text>
+      <slot name="backText"></slot>
+    </view>
+    <view class="action border-custom"  wx:if="{{isCustom}}" style="width:{{Custom.width}}px;height:{{Custom.height}}px;margin-left:calc(750rpx - {{Custom.right}}px)">
+      <text class="cuIcon-back" bindtap="BackPage"></text>
+      <text class="cuIcon-homefill" bindtap="toHome"></text>
+    </view>
+    <view class="content" style="top:{{StatusBar}}px">
+      <slot name="content"></slot>
+    </view>
+    <slot name="right"></slot>
+  </view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/colorui/components/cu-custom.wxss b/SunshineLnsMinApp/colorui/components/cu-custom.wxss
new file mode 100644
index 0000000..07675e2
--- /dev/null
+++ b/SunshineLnsMinApp/colorui/components/cu-custom.wxss
@@ -0,0 +1 @@
+/* colorui/components/cu-custom.wxss */
\ No newline at end of file
diff --git a/SunshineLnsMinApp/colorui/icon.wxss b/SunshineLnsMinApp/colorui/icon.wxss
new file mode 100644
index 0000000..e19a7bb
--- /dev/null
+++ b/SunshineLnsMinApp/colorui/icon.wxss
@@ -0,0 +1,1226 @@
+@keyframes cuIcon-spin {
+	0% {
+		-webkit-transform: rotate(0);
+		transform: rotate(0);
+	}
+
+	100% {
+		-webkit-transform: rotate(359deg);
+		transform: rotate(359deg);
+	}
+}
+
+.iconfont-spin {
+	-webkit-animation: cuIcon-spin 2s infinite linear;
+	animation: cuIcon-spin 2s infinite linear;
+	display: inline-block;
+}
+
+.iconfont-pulse {
+	-webkit-animation: cuIcon-spin 1s infinite steps(8);
+	animation: cuIcon-spin 1s infinite steps(8);
+	display: inline-block;
+}
+
+[class*="cuIcon-"] {
+	font-family: "cuIcon";
+	font-size: inherit;
+	font-style: normal;
+}
+
+@font-face {
+	font-family: "cuIcon";
+	src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831');
+	/* IE9*/
+	src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831#iefix') format('embedded-opentype'),
+		/* IE6-IE8 */
+		url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'),
+		url('//at.alicdn.com/t/font_533566_yfq2d9wdij.ttf?t=1545239985831') format('truetype'),
+		/* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+		url('//at.alicdn.com/t/font_533566_yfq2d9wdij.svg?t=1545239985831#iconfont') format('svg');
+	/* iOS 4.1- */
+}
+
+.cuIcon-appreciate:before {
+	content: "\e644";
+}
+
+.cuIcon-check:before {
+	content: "\e645";
+}
+
+.cuIcon-close:before {
+	content: "\e646";
+}
+
+.cuIcon-edit:before {
+	content: "\e649";
+}
+
+.cuIcon-emoji:before {
+	content: "\e64a";
+}
+
+.cuIcon-favorfill:before {
+	content: "\e64b";
+}
+
+.cuIcon-favor:before {
+	content: "\e64c";
+}
+
+.cuIcon-loading:before {
+	content: "\e64f";
+}
+
+.cuIcon-locationfill:before {
+	content: "\e650";
+}
+
+.cuIcon-location:before {
+	content: "\e651";
+}
+
+.cuIcon-phone:before {
+	content: "\e652";
+}
+
+.cuIcon-roundcheckfill:before {
+	content: "\e656";
+}
+
+.cuIcon-roundcheck:before {
+	content: "\e657";
+}
+
+.cuIcon-roundclosefill:before {
+	content: "\e658";
+}
+
+.cuIcon-roundclose:before {
+	content: "\e659";
+}
+
+.cuIcon-roundrightfill:before {
+	content: "\e65a";
+}
+
+.cuIcon-roundright:before {
+	content: "\e65b";
+}
+
+.cuIcon-search:before {
+	content: "\e65c";
+}
+
+.cuIcon-taxi:before {
+	content: "\e65d";
+}
+
+.cuIcon-timefill:before {
+	content: "\e65e";
+}
+
+.cuIcon-time:before {
+	content: "\e65f";
+}
+
+.cuIcon-unfold:before {
+	content: "\e661";
+}
+
+.cuIcon-warnfill:before {
+	content: "\e662";
+}
+
+.cuIcon-warn:before {
+	content: "\e663";
+}
+
+.cuIcon-camerafill:before {
+	content: "\e664";
+}
+
+.cuIcon-camera:before {
+	content: "\e665";
+}
+
+.cuIcon-commentfill:before {
+	content: "\e666";
+}
+
+.cuIcon-comment:before {
+	content: "\e667";
+}
+
+.cuIcon-likefill:before {
+	content: "\e668";
+}
+
+.cuIcon-like:before {
+	content: "\e669";
+}
+
+.cuIcon-notificationfill:before {
+	content: "\e66a";
+}
+
+.cuIcon-notification:before {
+	content: "\e66b";
+}
+
+.cuIcon-order:before {
+	content: "\e66c";
+}
+
+.cuIcon-samefill:before {
+	content: "\e66d";
+}
+
+.cuIcon-same:before {
+	content: "\e66e";
+}
+
+.cuIcon-deliver:before {
+	content: "\e671";
+}
+
+.cuIcon-evaluate:before {
+	content: "\e672";
+}
+
+.cuIcon-pay:before {
+	content: "\e673";
+}
+
+.cuIcon-send:before {
+	content: "\e675";
+}
+
+.cuIcon-shop:before {
+	content: "\e676";
+}
+
+.cuIcon-ticket:before {
+	content: "\e677";
+}
+
+.cuIcon-back:before {
+	content: "\e679";
+}
+
+.cuIcon-cascades:before {
+	content: "\e67c";
+}
+
+.cuIcon-discover:before {
+	content: "\e67e";
+}
+
+.cuIcon-list:before {
+	content: "\e682";
+}
+
+.cuIcon-more:before {
+	content: "\e684";
+}
+
+.cuIcon-scan:before {
+	content: "\e689";
+}
+
+.cuIcon-settings:before {
+	content: "\e68a";
+}
+
+.cuIcon-questionfill:before {
+	content: "\e690";
+}
+
+.cuIcon-question:before {
+	content: "\e691";
+}
+
+.cuIcon-shopfill:before {
+	content: "\e697";
+}
+
+.cuIcon-form:before {
+	content: "\e699";
+}
+
+.cuIcon-pic:before {
+	content: "\e69b";
+}
+
+.cuIcon-filter:before {
+	content: "\e69c";
+}
+
+.cuIcon-footprint:before {
+	content: "\e69d";
+}
+
+.cuIcon-top:before {
+	content: "\e69e";
+}
+
+.cuIcon-pulldown:before {
+	content: "\e69f";
+}
+
+.cuIcon-pullup:before {
+	content: "\e6a0";
+}
+
+.cuIcon-right:before {
+	content: "\e6a3";
+}
+
+.cuIcon-refresh:before {
+	content: "\e6a4";
+}
+
+.cuIcon-moreandroid:before {
+	content: "\e6a5";
+}
+
+.cuIcon-deletefill:before {
+	content: "\e6a6";
+}
+
+.cuIcon-refund:before {
+	content: "\e6ac";
+}
+
+.cuIcon-cart:before {
+	content: "\e6af";
+}
+
+.cuIcon-qrcode:before {
+	content: "\e6b0";
+}
+
+.cuIcon-remind:before {
+	content: "\e6b2";
+}
+
+.cuIcon-delete:before {
+	content: "\e6b4";
+}
+
+.cuIcon-profile:before {
+	content: "\e6b7";
+}
+
+.cuIcon-home:before {
+	content: "\e6b8";
+}
+
+.cuIcon-cartfill:before {
+	content: "\e6b9";
+}
+
+.cuIcon-discoverfill:before {
+	content: "\e6ba";
+}
+
+.cuIcon-homefill:before {
+	content: "\e6bb";
+}
+
+.cuIcon-message:before {
+	content: "\e6bc";
+}
+
+.cuIcon-addressbook:before {
+	content: "\e6bd";
+}
+
+.cuIcon-link:before {
+	content: "\e6bf";
+}
+
+.cuIcon-lock:before {
+	content: "\e6c0";
+}
+
+.cuIcon-unlock:before {
+	content: "\e6c2";
+}
+
+.cuIcon-vip:before {
+	content: "\e6c3";
+}
+
+.cuIcon-weibo:before {
+	content: "\e6c4";
+}
+
+.cuIcon-activity:before {
+	content: "\e6c5";
+}
+
+.cuIcon-friendaddfill:before {
+	content: "\e6c9";
+}
+
+.cuIcon-friendadd:before {
+	content: "\e6ca";
+}
+
+.cuIcon-friendfamous:before {
+	content: "\e6cb";
+}
+
+.cuIcon-friend:before {
+	content: "\e6cc";
+}
+
+.cuIcon-goods:before {
+	content: "\e6cd";
+}
+
+.cuIcon-selection:before {
+	content: "\e6ce";
+}
+
+.cuIcon-explore:before {
+	content: "\e6d2";
+}
+
+.cuIcon-present:before {
+	content: "\e6d3";
+}
+
+.cuIcon-squarecheckfill:before {
+	content: "\e6d4";
+}
+
+.cuIcon-square:before {
+	content: "\e6d5";
+}
+
+.cuIcon-squarecheck:before {
+	content: "\e6d6";
+}
+
+.cuIcon-round:before {
+	content: "\e6d7";
+}
+
+.cuIcon-roundaddfill:before {
+	content: "\e6d8";
+}
+
+.cuIcon-roundadd:before {
+	content: "\e6d9";
+}
+
+.cuIcon-add:before {
+	content: "\e6da";
+}
+
+.cuIcon-notificationforbidfill:before {
+	content: "\e6db";
+}
+
+.cuIcon-explorefill:before {
+	content: "\e6dd";
+}
+
+.cuIcon-fold:before {
+	content: "\e6de";
+}
+
+.cuIcon-game:before {
+	content: "\e6df";
+}
+
+.cuIcon-redpacket:before {
+	content: "\e6e0";
+}
+
+.cuIcon-selectionfill:before {
+	content: "\e6e1";
+}
+
+.cuIcon-similar:before {
+	content: "\e6e2";
+}
+
+.cuIcon-appreciatefill:before {
+	content: "\e6e3";
+}
+
+.cuIcon-infofill:before {
+	content: "\e6e4";
+}
+
+.cuIcon-info:before {
+	content: "\e6e5";
+}
+
+.cuIcon-forwardfill:before {
+	content: "\e6ea";
+}
+
+.cuIcon-forward:before {
+	content: "\e6eb";
+}
+
+.cuIcon-rechargefill:before {
+	content: "\e6ec";
+}
+
+.cuIcon-recharge:before {
+	content: "\e6ed";
+}
+
+.cuIcon-vipcard:before {
+	content: "\e6ee";
+}
+
+.cuIcon-voice:before {
+	content: "\e6ef";
+}
+
+.cuIcon-voicefill:before {
+	content: "\e6f0";
+}
+
+.cuIcon-friendfavor:before {
+	content: "\e6f1";
+}
+
+.cuIcon-wifi:before {
+	content: "\e6f2";
+}
+
+.cuIcon-share:before {
+	content: "\e6f3";
+}
+
+.cuIcon-wefill:before {
+	content: "\e6f4";
+}
+
+.cuIcon-we:before {
+	content: "\e6f5";
+}
+
+.cuIcon-lightauto:before {
+	content: "\e6f6";
+}
+
+.cuIcon-lightforbid:before {
+	content: "\e6f7";
+}
+
+.cuIcon-lightfill:before {
+	content: "\e6f8";
+}
+
+.cuIcon-camerarotate:before {
+	content: "\e6f9";
+}
+
+.cuIcon-light:before {
+	content: "\e6fa";
+}
+
+.cuIcon-barcode:before {
+	content: "\e6fb";
+}
+
+.cuIcon-flashlightclose:before {
+	content: "\e6fc";
+}
+
+.cuIcon-flashlightopen:before {
+	content: "\e6fd";
+}
+
+.cuIcon-searchlist:before {
+	content: "\e6fe";
+}
+
+.cuIcon-service:before {
+	content: "\e6ff";
+}
+
+.cuIcon-sort:before {
+	content: "\e700";
+}
+
+.cuIcon-down:before {
+	content: "\e703";
+}
+
+.cuIcon-mobile:before {
+	content: "\e704";
+}
+
+.cuIcon-mobilefill:before {
+	content: "\e705";
+}
+
+.cuIcon-copy:before {
+	content: "\e706";
+}
+
+.cuIcon-countdownfill:before {
+	content: "\e707";
+}
+
+.cuIcon-countdown:before {
+	content: "\e708";
+}
+
+.cuIcon-noticefill:before {
+	content: "\e709";
+}
+
+.cuIcon-notice:before {
+	content: "\e70a";
+}
+
+.cuIcon-upstagefill:before {
+	content: "\e70e";
+}
+
+.cuIcon-upstage:before {
+	content: "\e70f";
+}
+
+.cuIcon-babyfill:before {
+	content: "\e710";
+}
+
+.cuIcon-baby:before {
+	content: "\e711";
+}
+
+.cuIcon-brandfill:before {
+	content: "\e712";
+}
+
+.cuIcon-brand:before {
+	content: "\e713";
+}
+
+.cuIcon-choicenessfill:before {
+	content: "\e714";
+}
+
+.cuIcon-choiceness:before {
+	content: "\e715";
+}
+
+.cuIcon-clothesfill:before {
+	content: "\e716";
+}
+
+.cuIcon-clothes:before {
+	content: "\e717";
+}
+
+.cuIcon-creativefill:before {
+	content: "\e718";
+}
+
+.cuIcon-creative:before {
+	content: "\e719";
+}
+
+.cuIcon-female:before {
+	content: "\e71a";
+}
+
+.cuIcon-keyboard:before {
+	content: "\e71b";
+}
+
+.cuIcon-male:before {
+	content: "\e71c";
+}
+
+.cuIcon-newfill:before {
+	content: "\e71d";
+}
+
+.cuIcon-new:before {
+	content: "\e71e";
+}
+
+.cuIcon-pullleft:before {
+	content: "\e71f";
+}
+
+.cuIcon-pullright:before {
+	content: "\e720";
+}
+
+.cuIcon-rankfill:before {
+	content: "\e721";
+}
+
+.cuIcon-rank:before {
+	content: "\e722";
+}
+
+.cuIcon-bad:before {
+	content: "\e723";
+}
+
+.cuIcon-cameraadd:before {
+	content: "\e724";
+}
+
+.cuIcon-focus:before {
+	content: "\e725";
+}
+
+.cuIcon-friendfill:before {
+	content: "\e726";
+}
+
+.cuIcon-cameraaddfill:before {
+	content: "\e727";
+}
+
+.cuIcon-apps:before {
+	content: "\e729";
+}
+
+.cuIcon-paintfill:before {
+	content: "\e72a";
+}
+
+.cuIcon-paint:before {
+	content: "\e72b";
+}
+
+.cuIcon-picfill:before {
+	content: "\e72c";
+}
+
+.cuIcon-refresharrow:before {
+	content: "\e72d";
+}
+
+.cuIcon-colorlens:before {
+	content: "\e6e6";
+}
+
+.cuIcon-markfill:before {
+	content: "\e730";
+}
+
+.cuIcon-mark:before {
+	content: "\e731";
+}
+
+.cuIcon-presentfill:before {
+	content: "\e732";
+}
+
+.cuIcon-repeal:before {
+	content: "\e733";
+}
+
+.cuIcon-album:before {
+	content: "\e734";
+}
+
+.cuIcon-peoplefill:before {
+	content: "\e735";
+}
+
+.cuIcon-people:before {
+	content: "\e736";
+}
+
+.cuIcon-servicefill:before {
+	content: "\e737";
+}
+
+.cuIcon-repair:before {
+	content: "\e738";
+}
+
+.cuIcon-file:before {
+	content: "\e739";
+}
+
+.cuIcon-repairfill:before {
+	content: "\e73a";
+}
+
+.cuIcon-taoxiaopu:before {
+	content: "\e73b";
+}
+
+.cuIcon-weixin:before {
+	content: "\e612";
+}
+
+.cuIcon-attentionfill:before {
+	content: "\e73c";
+}
+
+.cuIcon-attention:before {
+	content: "\e73d";
+}
+
+.cuIcon-commandfill:before {
+	content: "\e73e";
+}
+
+.cuIcon-command:before {
+	content: "\e73f";
+}
+
+.cuIcon-communityfill:before {
+	content: "\e740";
+}
+
+.cuIcon-community:before {
+	content: "\e741";
+}
+
+.cuIcon-read:before {
+	content: "\e742";
+}
+
+.cuIcon-calendar:before {
+	content: "\e74a";
+}
+
+.cuIcon-cut:before {
+	content: "\e74b";
+}
+
+.cuIcon-magic:before {
+	content: "\e74c";
+}
+
+.cuIcon-backwardfill:before {
+	content: "\e74d";
+}
+
+.cuIcon-playfill:before {
+	content: "\e74f";
+}
+
+.cuIcon-stop:before {
+	content: "\e750";
+}
+
+.cuIcon-tagfill:before {
+	content: "\e751";
+}
+
+.cuIcon-tag:before {
+	content: "\e752";
+}
+
+.cuIcon-group:before {
+	content: "\e753";
+}
+
+.cuIcon-all:before {
+	content: "\e755";
+}
+
+.cuIcon-backdelete:before {
+	content: "\e756";
+}
+
+.cuIcon-hotfill:before {
+	content: "\e757";
+}
+
+.cuIcon-hot:before {
+	content: "\e758";
+}
+
+.cuIcon-post:before {
+	content: "\e759";
+}
+
+.cuIcon-radiobox:before {
+	content: "\e75b";
+}
+
+.cuIcon-rounddown:before {
+	content: "\e75c";
+}
+
+.cuIcon-upload:before {
+	content: "\e75d";
+}
+
+.cuIcon-writefill:before {
+	content: "\e760";
+}
+
+.cuIcon-write:before {
+	content: "\e761";
+}
+
+.cuIcon-radioboxfill:before {
+	content: "\e763";
+}
+
+.cuIcon-punch:before {
+	content: "\e764";
+}
+
+.cuIcon-shake:before {
+	content: "\e765";
+}
+
+.cuIcon-move:before {
+	content: "\e768";
+}
+
+.cuIcon-safe:before {
+	content: "\e769";
+}
+
+.cuIcon-activityfill:before {
+	content: "\e775";
+}
+
+.cuIcon-crownfill:before {
+	content: "\e776";
+}
+
+.cuIcon-crown:before {
+	content: "\e777";
+}
+
+.cuIcon-goodsfill:before {
+	content: "\e778";
+}
+
+.cuIcon-messagefill:before {
+	content: "\e779";
+}
+
+.cuIcon-profilefill:before {
+	content: "\e77a";
+}
+
+.cuIcon-sound:before {
+	content: "\e77b";
+}
+
+.cuIcon-sponsorfill:before {
+	content: "\e77c";
+}
+
+.cuIcon-sponsor:before {
+	content: "\e77d";
+}
+
+.cuIcon-upblock:before {
+	content: "\e77e";
+}
+
+.cuIcon-weblock:before {
+	content: "\e77f";
+}
+
+.cuIcon-weunblock:before {
+	content: "\e780";
+}
+
+.cuIcon-my:before {
+	content: "\e78b";
+}
+
+.cuIcon-myfill:before {
+	content: "\e78c";
+}
+
+.cuIcon-emojifill:before {
+	content: "\e78d";
+}
+
+.cuIcon-emojiflashfill:before {
+	content: "\e78e";
+}
+
+.cuIcon-flashbuyfill:before {
+	content: "\e78f";
+}
+
+.cuIcon-text:before {
+	content: "\e791";
+}
+
+.cuIcon-goodsfavor:before {
+	content: "\e794";
+}
+
+.cuIcon-musicfill:before {
+	content: "\e795";
+}
+
+.cuIcon-musicforbidfill:before {
+	content: "\e796";
+}
+
+.cuIcon-card:before {
+	content: "\e624";
+}
+
+.cuIcon-triangledownfill:before {
+	content: "\e79b";
+}
+
+.cuIcon-triangleupfill:before {
+	content: "\e79c";
+}
+
+.cuIcon-roundleftfill-copy:before {
+	content: "\e79e";
+}
+
+.cuIcon-font:before {
+	content: "\e76a";
+}
+
+.cuIcon-title:before {
+	content: "\e82f";
+}
+
+.cuIcon-recordfill:before {
+	content: "\e7a4";
+}
+
+.cuIcon-record:before {
+	content: "\e7a6";
+}
+
+.cuIcon-cardboardfill:before {
+	content: "\e7a9";
+}
+
+.cuIcon-cardboard:before {
+	content: "\e7aa";
+}
+
+.cuIcon-formfill:before {
+	content: "\e7ab";
+}
+
+.cuIcon-coin:before {
+	content: "\e7ac";
+}
+
+.cuIcon-cardboardforbid:before {
+	content: "\e7af";
+}
+
+.cuIcon-circlefill:before {
+	content: "\e7b0";
+}
+
+.cuIcon-circle:before {
+	content: "\e7b1";
+}
+
+.cuIcon-attentionforbid:before {
+	content: "\e7b2";
+}
+
+.cuIcon-attentionforbidfill:before {
+	content: "\e7b3";
+}
+
+.cuIcon-attentionfavorfill:before {
+	content: "\e7b4";
+}
+
+.cuIcon-attentionfavor:before {
+	content: "\e7b5";
+}
+
+.cuIcon-titles:before {
+	content: "\e701";
+}
+
+.cuIcon-icloading:before {
+	content: "\e67a";
+}
+
+.cuIcon-full:before {
+	content: "\e7bc";
+}
+
+.cuIcon-mail:before {
+	content: "\e7bd";
+}
+
+.cuIcon-peoplelist:before {
+	content: "\e7be";
+}
+
+.cuIcon-goodsnewfill:before {
+	content: "\e7bf";
+}
+
+.cuIcon-goodsnew:before {
+	content: "\e7c0";
+}
+
+.cuIcon-medalfill:before {
+	content: "\e7c1";
+}
+
+.cuIcon-medal:before {
+	content: "\e7c2";
+}
+
+.cuIcon-newsfill:before {
+	content: "\e7c3";
+}
+
+.cuIcon-newshotfill:before {
+	content: "\e7c4";
+}
+
+.cuIcon-newshot:before {
+	content: "\e7c5";
+}
+
+.cuIcon-news:before {
+	content: "\e7c6";
+}
+
+.cuIcon-videofill:before {
+	content: "\e7c7";
+}
+
+.cuIcon-video:before {
+	content: "\e7c8";
+}
+
+.cuIcon-exit:before {
+	content: "\e7cb";
+}
+
+.cuIcon-skinfill:before {
+	content: "\e7cc";
+}
+
+.cuIcon-skin:before {
+	content: "\e7cd";
+}
+
+.cuIcon-moneybagfill:before {
+	content: "\e7ce";
+}
+
+.cuIcon-usefullfill:before {
+	content: "\e7cf";
+}
+
+.cuIcon-usefull:before {
+	content: "\e7d0";
+}
+
+.cuIcon-moneybag:before {
+	content: "\e7d1";
+}
+
+.cuIcon-redpacket_fill:before {
+	content: "\e7d3";
+}
+
+.cuIcon-subscription:before {
+	content: "\e7d4";
+}
+
+.cuIcon-loading1:before {
+	content: "\e633";
+}
+
+.cuIcon-github:before {
+	content: "\e692";
+}
+
+.cuIcon-global:before {
+	content: "\e7eb";
+}
+
+.cuIcon-settingsfill:before {
+	content: "\e6ab";
+}
+
+.cuIcon-back_android:before {
+	content: "\e7ed";
+}
+
+.cuIcon-expressman:before {
+	content: "\e7ef";
+}
+
+.cuIcon-evaluate_fill:before {
+	content: "\e7f0";
+}
+
+.cuIcon-group_fill:before {
+	content: "\e7f5";
+}
+
+.cuIcon-play_forward_fill:before {
+	content: "\e7f6";
+}
+
+.cuIcon-deliver_fill:before {
+	content: "\e7f7";
+}
+
+.cuIcon-notice_forbid_fill:before {
+	content: "\e7f8";
+}
+
+.cuIcon-fork:before {
+	content: "\e60c";
+}
+
+.cuIcon-pick:before {
+	content: "\e7fa";
+}
+
+.cuIcon-wenzi:before {
+	content: "\e6a7";
+}
+
+.cuIcon-ellipse:before {
+	content: "\e600";
+}
+
+.cuIcon-qr_code:before {
+	content: "\e61b";
+}
+
+.cuIcon-dianhua:before {
+	content: "\e64d";
+}
+
+.cuIcon-icon:before {
+	content: "\e602";
+}
+
+.cuIcon-loading2:before {
+	content: "\e7f1";
+}
+
+.cuIcon-btn:before {
+	content: "\e601";
+}
diff --git a/SunshineLnsMinApp/colorui/main.wxss b/SunshineLnsMinApp/colorui/main.wxss
new file mode 100644
index 0000000..66ca892
--- /dev/null
+++ b/SunshineLnsMinApp/colorui/main.wxss
@@ -0,0 +1,3842 @@
+/*
+  ColorUi for MP-weixin  v2.1.4 | by 文晓港 2019年4月25日19:15:42
+  仅供学习交流,如作它用所承受的法律责任一概与作者无关
+  使用ColorUi开发扩展与插件时,请注明基于ColorUi开发
+  
+  (QQ交流群:240787041)
+*/
+
+/* ==================
+        初始化
+ ==================== */
+
+page {
+  /* Color 可以自定义相关配色 *//* var属性兼容性 --> https://www.caniuse.com/#feat=css-variables *//* 标准色 */
+  --red: #e54d42;
+  --orange: #f37b1d;
+  --yellow: #fbbd08;
+  --olive: #8dc63f;
+  --green: #39b54a;
+  --cyan: #1cbbb4;
+  --blue: #0081ff;
+  --purple: #6739b6;
+  --mauve: #9c26b0;
+  --pink: #e03997;
+  --brown: #a5673f;
+  --grey: #8799a3;
+  --black: #333;
+  --darkGray: #666;
+  --gray: #aaa;
+  --ghostWhite: #f1f1f1;
+  --white: #fff;
+  --nsblue:#3282E9;
+  /* 浅色 */
+  --redLight: #fadbd9;
+  --orangeLight: #fde6d2;
+  --yellowLight: #fef2ce;
+  --oliveLight: #e8f4d9;
+  --greenLight: #d7f0db;
+  --cyanLight: #d2f1f0;
+  --blueLight: #cce6ff;
+  --purpleLight: #e1d7f0;
+  --mauveLight: #ebd4ef;
+  --pinkLight: #f9d7ea;
+  --brownLight: #ede1d9;
+  --greyLight: #e7ebed;
+  /* 渐变色 */
+  --gradualRed: linear-gradient(45deg, #f43f3b, #ec008c);
+  --gradualOrange: linear-gradient(45deg, #ff9700, #ed1c24);
+  --gradualGreen: linear-gradient(45deg, #39b54a, #8dc63f);
+  --gradualPurple: linear-gradient(45deg, #9000ff, #5e00ff);
+  --gradualPink: linear-gradient(45deg, #ec008c, #6739b6);
+  --gradualBlue: linear-gradient(45deg, #0081ff, #1cbbb4);
+  --gradualzt: linear-gradient(#B81E40, #A51F40);
+  /* 阴影透明色 */
+  --ShadowSize: 6rpx 6rpx 8rpx;
+  --redShadow: rgba(204, 69, 59, 0.2);
+  --orangeShadow: rgba(217, 109, 26, 0.2);
+  --yellowShadow: rgba(224, 170, 7, 0.2);
+  --oliveShadow: rgba(124, 173, 55, 0.2);
+  --greenShadow: rgba(48, 156, 63, 0.2);
+  --cyanShadow: rgba(28, 187, 180, 0.2);
+  --blueShadow: rgba(0, 102, 204, 0.2);
+  --purpleShadow: rgba(88, 48, 156, 0.2);
+  --mauveShadow: rgba(133, 33, 150, 0.2);
+  --pinkShadow: rgba(199, 50, 134, 0.2);
+  --brownShadow: rgba(140, 88, 53, 0.2);
+  --greyShadow: rgba(114, 130, 138, 0.2);
+  --grayShadow: rgba(114, 130, 138, 0.2);
+  --blackShadow: rgba(26, 26, 26, 0.2);
+  background-color: #fff;
+  font-size: 28rpx;
+  color: var(--black);
+  font-family: Helvetica Neue, Helvetica, sans-serif;
+}
+
+view, scroll-view, swiper, button, input, textarea, label, navigator, image {
+  box-sizing: border-box;
+}
+
+.round {
+  border-radius: 5000rpx;
+}
+
+.radius {
+  border-radius: 6rpx;
+}
+
+/* ==================
+          图片
+ ==================== */
+
+image {
+  max-width: 100%;
+  display: inline-block;
+  position: relative;
+  z-index: 0;
+}
+
+image.loading::before {
+  content: "";
+  background-color: #f5f5f5;
+  display: block;
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  z-index: -2;
+}
+
+image.loading::after {
+  content: "\e7f1";
+  font-family: "cuIcon";
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 32rpx;
+  height: 32rpx;
+  line-height: 32rpx;
+  right: 0;
+  bottom: 0;
+  z-index: -1;
+  font-size: 32rpx;
+  margin: auto;
+  color: #ccc;
+  -webkit-animation: cuIcon-spin 2s infinite linear;
+  animation: cuIcon-spin 2s infinite linear;
+  display: block;
+}
+
+.response {
+  width: 100%;
+}
+
+/* ==================
+         开关
+ ==================== */
+
+switch, checkbox, radio {
+  position: relative;
+}
+
+switch::after, switch::before {
+  font-family: "cuIcon";
+  content: "\e645";
+  position: absolute;
+  color: var(--white) !important;
+  top: 0%;
+  left: 0rpx;
+  font-size: 26rpx;
+  line-height: 26px;
+  width: 50%;
+  text-align: center;
+  pointer-events: none;
+  transform: scale(0, 0);
+  transition: all 0.3s ease-in-out 0s;
+  z-index: 9;
+  bottom: 0;
+  height: 26px;
+  margin: auto;
+}
+
+switch::before {
+  content: "\e646";
+  right: 0;
+  transform: scale(1, 1);
+  left: auto;
+}
+
+switch[checked]::after, switch.checked::after {
+  transform: scale(1, 1);
+}
+
+switch[checked]::before, switch.checked::before {
+  transform: scale(0, 0);
+}
+
+switch[checked]::before {
+  transform: scale(0, 0);
+}
+
+radio::before, checkbox::before {
+  font-family: "cuIcon";
+  content: "\e645";
+  position: absolute;
+  color: var(--white) !important;
+  top: 50%;
+  margin-top: -8px;
+  right: 5px;
+  font-size: 32rpx;
+  line-height: 16px;
+  pointer-events: none;
+  transform: scale(1, 1);
+  transition: all 0.3s ease-in-out 0s;
+  z-index: 9;
+}
+
+radio .wx-radio-input, checkbox .wx-checkbox-input {
+  margin: 0;
+  width: 24px;
+  height: 24px;
+}
+
+checkbox.round .wx-checkbox-input {
+  border-radius: 100rpx;
+}
+
+switch .wx-switch-input {
+  border: none;
+  padding: 0 24px;
+  width: 48px;
+  height: 26px;
+  margin: 0;
+  border-radius: 100rpx;
+}
+
+switch .wx-switch-input:not([class*="bg-"]) {
+  background: var(--grey) !important;
+}
+
+switch .wx-switch-input::after {
+  margin: auto;
+  width: 26px;
+  height: 26px;
+  border-radius: 100rpx;
+  left: 0rpx;
+  top: 0rpx;
+  bottom: 0rpx;
+  position: absolute;
+  transform: scale(0.9, 0.9);
+  transition: all 0.1s ease-in-out 0s;
+}
+
+switch .wx-switch-input.wx-switch-input-checked::after {
+  margin: auto;
+  left: 22px;
+  box-shadow: none;
+  transform: scale(0.9, 0.9);
+}
+
+radio-group {
+  display: inline-block;
+}
+
+switch.radius .wx-switch-input::after, switch.radius .wx-switch-input,
+switch.radius .wx-switch-input::before {
+  border-radius: 10rpx;
+}
+
+switch .wx-switch-input::before, radio.radio::before,
+checkbox .wx-checkbox-input::before, radio .wx-radio-input::before,
+radio.radio::before {
+  display: none;
+}
+
+radio.radio[checked]::after {
+  content: "";
+  background-color: transparent;
+  display: block;
+  position: absolute;
+  width: 8px;
+  height: 8px;
+  z-index: 999;
+  top: 0rpx;
+  left: 0rpx;
+  right: 0;
+  bottom: 0;
+  margin: auto;
+  border-radius: 200rpx;
+  border: 8px solid var(--white) !important;
+}
+
+.switch-sex::after {
+  content: "\e71c";
+}
+
+.switch-sex::before {
+  content: "\e71a";
+}
+
+.switch-sex .wx-switch-input {
+  background: var(--red) !important;
+  border-color: var(--red) !important;
+}
+
+.switch-sex[checked] .wx-switch-input {
+  background: var(--blue) !important;
+  border-color: var(--blue) !important;
+}
+
+switch.red[checked] .wx-switch-input, checkbox.red[checked] .wx-checkbox-input,
+radio.red[checked] .wx-radio-input {
+  border-color: var(--red) !important;
+}
+
+switch.orange[checked] .wx-switch-input,
+checkbox.orange[checked] .wx-checkbox-input,
+radio.orange[checked] .wx-radio-input {
+  border-color: var(--orange) !important;
+}
+
+switch.yellow[checked] .wx-switch-input,
+checkbox.yellow[checked] .wx-checkbox-input,
+radio.yellow[checked] .wx-radio-input {
+  border-color: var(--yellow) !important;
+}
+
+switch.olive[checked] .wx-switch-input,
+checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input {
+  border-color: var(--olive) !important;
+}
+
+switch.green[checked] .wx-switch-input,
+checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input,
+radio.green[checked] .wx-radio-input {
+  border-color: var(--green) !important;
+}
+
+switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input,
+radio.cyan[checked] .wx-radio-input {
+  border-color: var(--cyan) !important;
+}
+
+switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input,
+radio.blue[checked] .wx-radio-input {
+  border-color: var(--blue) !important;
+}
+
+switch.purple[checked] .wx-switch-input,
+checkbox.purple[checked] .wx-checkbox-input,
+radio.purple[checked] .wx-radio-input {
+  border-color: var(--purple) !important;
+}
+
+switch.mauve[checked] .wx-switch-input,
+checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input {
+  border-color: var(--mauve) !important;
+}
+
+switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input,
+radio.pink[checked] .wx-radio-input {
+  border-color: var(--pink) !important;
+}
+
+switch.brown[checked] .wx-switch-input,
+checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input {
+  border-color: var(--brown) !important;
+}
+
+switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input,
+radio.grey[checked] .wx-radio-input {
+  border-color: var(--grey) !important;
+}
+
+switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input,
+radio.gray[checked] .wx-radio-input {
+  border-color: var(--grey) !important;
+}
+
+switch.black[checked] .wx-switch-input,
+checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input {
+  border-color: var(--black) !important;
+}
+
+switch.white[checked] .wx-switch-input,
+checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input {
+  border-color: var(--white) !important;
+}
+
+switch.red[checked] .wx-switch-input.wx-switch-input-checked,
+checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input {
+  background-color: var(--red) !important;
+  color: var(--white) !important;
+}
+
+switch.orange[checked] .wx-switch-input,
+checkbox.orange[checked] .wx-checkbox-input,
+radio.orange[checked] .wx-radio-input {
+  background-color: var(--orange) !important;
+  color: var(--white) !important;
+}
+
+switch.yellow[checked] .wx-switch-input,
+checkbox.yellow[checked] .wx-checkbox-input,
+radio.yellow[checked] .wx-radio-input {
+  background-color: var(--yellow) !important;
+  color: var(--black) !important;
+}
+
+switch.olive[checked] .wx-switch-input,
+checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input {
+  background-color: var(--olive) !important;
+  color: var(--white) !important;
+}
+
+switch.green[checked] .wx-switch-input, switch[checked] .wx-switch-input,
+checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input,
+radio.green[checked] .wx-radio-input, radio[checked] .wx-radio-input {
+  background-color: var(--green) !important;
+  color: var(--white) !important;
+}
+
+switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input,
+radio.cyan[checked] .wx-radio-input {
+  background-color: var(--cyan) !important;
+  color: var(--white) !important;
+}
+
+switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input,
+radio.blue[checked] .wx-radio-input {
+  background-color: var(--blue) !important;
+  color: var(--white) !important;
+}
+
+switch.purple[checked] .wx-switch-input,
+checkbox.purple[checked] .wx-checkbox-input,
+radio.purple[checked] .wx-radio-input {
+  background-color: var(--purple) !important;
+  color: var(--white) !important;
+}
+
+switch.mauve[checked] .wx-switch-input,
+checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input {
+  background-color: var(--mauve) !important;
+  color: var(--white) !important;
+}
+
+switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input,
+radio.pink[checked] .wx-radio-input {
+  background-color: var(--pink) !important;
+  color: var(--white) !important;
+}
+
+switch.brown[checked] .wx-switch-input,
+checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input {
+  background-color: var(--brown) !important;
+  color: var(--white) !important;
+}
+
+switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input,
+radio.grey[checked] .wx-radio-input {
+  background-color: var(--grey) !important;
+  color: var(--white) !important;
+}
+
+switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input,
+radio.gray[checked] .wx-radio-input {
+  background-color: #f0f0f0 !important;
+  color: var(--black) !important;
+}
+
+switch.black[checked] .wx-switch-input,
+checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input {
+  background-color: var(--black) !important;
+  color: var(--white) !important;
+}
+
+switch.white[checked] .wx-switch-input,
+checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input {
+  background-color: var(--white) !important;
+  color: var(--black) !important;
+}
+
+/* ==================
+          边框
+ ==================== */
+
+/* -- 实线 -- */
+
+.solid, .solid-top, .solid-right, .solid-bottom, .solid-left, .solids,
+.solids-top, .solids-right, .solids-bottom, .solids-left, .dashed, .dashed-top,
+.dashed-right, .dashed-bottom, .dashed-left {
+  position: relative;
+}
+
+.solid::after, .solid-top::after, .solid-right::after, .solid-bottom::after,
+.solid-left::after, .solids::after, .solids-top::after, .solids-right::after,
+.solids-bottom::after, .solids-left::after, .dashed::after, .dashed-top::after,
+.dashed-right::after, .dashed-bottom::after, .dashed-left::after {
+  content: " ";
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  border-radius: inherit;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+  box-sizing: border-box;
+}
+
+.solid::after {
+  border: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-top::after {
+  border-top: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-right::after {
+  border-right: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-bottom::after {
+  border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-left::after {
+  border-left: 1rpx solid rgba(0, 0, 0, 0.1);
+}
+
+.solids::after {
+  border: 8rpx solid #eee;
+}
+
+.solids-top::after {
+  border-top: 8rpx solid #eee;
+}
+
+.solids-right::after {
+  border-right: 8rpx solid #eee;
+}
+
+.solids-bottom::after {
+  border-bottom: 8rpx solid #eee;
+}
+
+.solids-left::after {
+  border-left: 8rpx solid #eee;
+}
+
+/* -- 虚线 -- */
+
+.dashed::after {
+  border: 1rpx dashed #ddd;
+}
+
+.dashed-top::after {
+  border-top: 1rpx dashed #ddd;
+}
+
+.dashed-right::after {
+  border-right: 1rpx dashed #ddd;
+}
+
+.dashed-bottom::after {
+  border-bottom: 1rpx dashed #ddd;
+}
+
+.dashed-left::after {
+  border-left: 1rpx dashed #ddd;
+}
+
+/* -- 阴影 -- */
+
+.shadow[class*='white'] {
+  --ShadowSize: 0 1rpx 6rpx;
+}
+
+.shadow-lg {
+  --ShadowSize: 0rpx 40rpx 100rpx 0rpx;
+}
+
+.shadow-warp {
+  position: relative;
+  box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
+}
+
+.shadow-warp:before, .shadow-warp:after {
+  position: absolute;
+  content: "";
+  top: 20rpx;
+  bottom: 30rpx;
+  left: 20rpx;
+  width: 50%;
+  box-shadow: 0 30rpx 20rpx rgba(0, 0, 0, 0.2);
+  transform: rotate(-3deg);
+  z-index: -1;
+}
+
+.shadow-warp:after {
+  right: 20rpx;
+  left: auto;
+  transform: rotate(3deg);
+}
+
+.shadow-blur {
+  position: relative;
+}
+
+.shadow-blur::before {
+  content: "";
+  display: block;
+  background: inherit;
+  filter: blur(10rpx);
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  top: 10rpx;
+  left: 10rpx;
+  z-index: -1;
+  opacity: 0.4;
+  transform-origin: 0 0;
+  border-radius: inherit;
+  transform: scale(1, 1);
+}
+
+/* ==================
+          按钮
+ ==================== */
+
+.cu-btn {
+  position: relative;
+  border: 0rpx;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  box-sizing: border-box;
+  padding: 0 30rpx;
+  font-size: 28rpx;
+  height: 64rpx;
+  line-height: 1;
+  text-align: center;
+  text-decoration: none;
+  overflow: visible;
+  margin-left: initial;
+  transform: translate(0rpx, 0rpx);
+  margin-right: initial;
+}
+
+.cu-btn::after {
+  display: none;
+}
+
+.cu-btn:not([class*="bg-"]) {
+  background-color: #f0f0f0;
+}
+
+.cu-btn[class*="line"] {
+  background-color: transparent;
+}
+
+.cu-btn[class*="line"]::after {
+  content: " ";
+  display: block;
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  border: 1rpx solid currentColor;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  box-sizing: border-box;
+  border-radius: 12rpx;
+  z-index: 1;
+  pointer-events: none;
+}
+
+.cu-btn.round[class*="line"]::after {
+  border-radius: 1000rpx;
+}
+
+.cu-btn[class*="lines"]::after {
+  border: 6rpx solid currentColor;
+}
+
+.cu-btn[class*="bg-"]::after {
+  display: none;
+}
+
+.cu-btn.sm {
+  padding: 0 20rpx;
+  font-size: 20rpx;
+  height: 48rpx;
+}
+
+.cu-btn.lg {
+  padding: 0 40rpx;
+  font-size: 32rpx;
+  height: 80rpx;
+}
+
+.cu-btn.icon.sm {
+  width: 48rpx;
+  height: 48rpx;
+}
+
+.cu-btn.icon {
+  width: 64rpx;
+  height: 64rpx;
+  border-radius: 500rpx;
+  padding: 0;
+}
+
+button.icon.lg {
+  width: 80rpx;
+  height: 80rpx;
+}
+
+.cu-btn.shadow-blur::before {
+  top: 4rpx;
+  left: 4rpx;
+  filter: blur(6rpx);
+  opacity: 0.6;
+}
+
+.cu-btn.button-hover {
+  transform: translate(1rpx, 1rpx);
+}
+
+.block {
+  display: block;
+}
+
+.cu-btn.block {
+  display: flex;
+}
+
+.cu-btn[disabled] {
+  opacity: 0.6;
+  color: var(--white);
+}
+
+/* ==================
+          徽章
+ ==================== */
+
+.cu-tag {
+  font-size: 24rpx;
+  vertical-align: middle;
+  position: relative;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  box-sizing: border-box;
+  padding: 0rpx 16rpx;
+  height: 48rpx;
+  font-family: Helvetica Neue, Helvetica, sans-serif;
+  white-space: nowrap;
+}
+
+.cu-tag:not([class*="bg"]):not([class*="line"]) {
+  background-color: var(--ghostWhite);
+}
+
+.cu-tag[class*="line-"]::after {
+  content: " ";
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  border: 1rpx solid currentColor;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  box-sizing: border-box;
+  border-radius: inherit;
+  z-index: 1;
+  pointer-events: none;
+}
+
+.cu-tag.radius[class*="line"]::after {
+  border-radius: 12rpx;
+}
+
+.cu-tag.round[class*="line"]::after {
+  border-radius: 1000rpx;
+}
+
+.cu-tag[class*="line-"]::after {
+  border-radius: 0;
+}
+
+.cu-tag+.cu-tag {
+  margin-left: 10rpx;
+}
+
+.cu-tag.sm {
+  font-size: 20rpx;
+  padding: 0rpx 12rpx;
+  height: 32rpx;
+}
+
+.cu-capsule {
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+.cu-capsule+.cu-capsule {
+  margin-left: 10rpx;
+}
+
+.cu-capsule .cu-tag {
+  margin: 0;
+}
+
+.cu-capsule .cu-tag[class*="line-"]:last-child::after {
+  border-left: 0rpx solid transparent;
+}
+
+.cu-capsule .cu-tag[class*="line-"]:first-child::after {
+  border-right: 0rpx solid transparent;
+}
+
+.cu-capsule.radius .cu-tag:first-child {
+  border-top-left-radius: 6rpx;
+  border-bottom-left-radius: 6rpx;
+}
+
+.cu-capsule.radius .cu-tag:last-child::after,
+.cu-capsule.radius .cu-tag[class*="line-"] {
+  border-top-right-radius: 12rpx;
+  border-bottom-right-radius: 12rpx;
+}
+
+.cu-capsule.round .cu-tag:first-child {
+  border-top-left-radius: 200rpx;
+  border-bottom-left-radius: 200rpx;
+  text-indent: 4rpx;
+}
+
+.cu-capsule.round .cu-tag:last-child::after,
+.cu-capsule.round .cu-tag:last-child {
+  border-top-right-radius: 200rpx;
+  border-bottom-right-radius: 200rpx;
+  text-indent: -4rpx;
+}
+
+.cu-tag.badge {
+  border-radius: 200rpx;
+  position: absolute;
+  top: -10rpx;
+  right: -10rpx;
+  font-size: 20rpx;
+  padding: 0rpx 10rpx;
+  height: 28rpx;
+  color: var(--white);
+}
+
+.cu-tag.badge:not([class*="bg-"]) {
+  background-color: #dd514c;
+}
+
+.cu-tag:empty:not([class*="cuIcon-"]) {
+  padding: 0rpx;
+  width: 16rpx;
+  height: 16rpx;
+  top: -4rpx;
+  right: -4rpx;
+}
+
+.cu-tag[class*="cuIcon-"] {
+  width: 32rpx;
+  height: 32rpx;
+  top: -4rpx;
+  right: -4rpx;
+}
+
+/* ==================
+          头像
+ ==================== */
+
+.cu-avatar {
+  font-variant: small-caps;
+  margin: 0;
+  padding: 0;
+  display: inline-flex;
+  text-align: center;
+  justify-content: center;
+  align-items: center;
+  background-color: #ccc;
+  color: var(--white);
+  white-space: nowrap;
+  position: relative;
+  width: 64rpx;
+  height: 64rpx;
+  background-size: cover;
+  background-position: center;
+  vertical-align: middle;
+  font-size: 1.5em;
+}
+
+.cu-avatar.sm {
+  width: 48rpx;
+  height: 48rpx;
+  font-size: 1em;
+}
+
+.cu-avatar.lg {
+  width: 96rpx;
+  height: 96rpx;
+  font-size: 2em;
+}
+
+.cu-avatar.xl {
+  width: 128rpx;
+  height: 128rpx;
+  font-size: 2.5em;
+}
+
+.cu-avatar .avatar-text {
+  font-size: 0.4em;
+}
+
+.cu-avatar-group {
+  direction: rtl;
+  unicode-bidi: bidi-override;
+  padding: 0 10rpx 0 40rpx;
+  display: inline-block;
+}
+
+.cu-avatar-group .cu-avatar {
+  margin-left: -30rpx;
+  border: 4rpx solid var(--ghostWhite);
+  vertical-align: middle;
+}
+
+.cu-avatar-group .cu-avatar.sm {
+  margin-left: -20rpx;
+  border: 1rpx solid var(--ghostWhite);
+}
+
+/* ==================
+         进度条
+ ==================== */
+
+.cu-progress {
+  overflow: hidden;
+  height: 28rpx;
+  background-color: #ebeef5;
+  display: inline-flex;
+  align-items: center;
+  width: 100%;
+}
+
+.cu-progress+view, .cu-progress+text {
+  line-height: 1;
+}
+
+.cu-progress.xs {
+  height: 10rpx;
+}
+
+.cu-progress.sm {
+  height: 20rpx;
+}
+
+.cu-progress view {
+  width: 0;
+  height: 100%;
+  align-items: center;
+  display: flex;
+  justify-items: flex-end;
+  justify-content: space-around;
+  font-size: 20rpx;
+  color: var(--white);
+  transition: width 0.6s ease;
+}
+
+.cu-progress text {
+  align-items: center;
+  display: flex;
+  font-size: 20rpx;
+  color: var(--black);
+  text-indent: 10rpx;
+}
+
+.cu-progress.text-progress {
+  padding-right: 60rpx;
+}
+
+.cu-progress.striped view {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-size: 72rpx 72rpx;
+}
+
+.cu-progress.active view {
+  animation: progress-stripes 2s linear infinite;
+}
+
+@keyframes progress-stripes {
+  from {
+    background-position: 72rpx 0;
+  }
+
+  to {
+    background-position: 0 0;
+  }
+}
+
+/* ==================
+          加载
+ ==================== */
+
+.cu-load {
+  display: block;
+  line-height: 3em;
+  text-align: center;
+}
+
+.cu-load::before {
+  font-family: "cuIcon";
+  display: inline-block;
+  margin-right: 6rpx;
+}
+
+.cu-load.loading::before {
+  content: "\e67a";
+  animation: cuIcon-spin 2s infinite linear;
+}
+
+.cu-load.loading::after {
+  content: "加载中...";
+}
+
+.cu-load.over::before {
+  content: "\e64a";
+}
+
+.cu-load.over::after {
+  content: "没有更多了";
+}
+
+.cu-load.erro::before {
+  content: "\e658";
+}
+
+.cu-load.erro::after {
+  content: "加载失败";
+}
+
+.cu-load.load-icon::before {
+  font-size: 32rpx;
+}
+
+.cu-load.load-icon::after {
+  display: none;
+}
+
+.cu-load.load-icon.over {
+  display: none;
+}
+
+.cu-load.load-modal {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 140rpx;
+  left: 0;
+  margin: auto;
+  width: 260rpx;
+  height: 260rpx;
+  background-color: var(--white);
+  border-radius: 10rpx;
+  box-shadow: 0 0 0rpx 2000rpx rgba(0, 0, 0, 0.5);
+  display: flex;
+  align-items: center;
+  flex-direction: column;
+  justify-content: center;
+  font-size: 28rpx;
+  z-index: 9999;
+  line-height: 2.4em;
+}
+
+.cu-load.load-modal [class*="cuIcon-"] {
+  font-size: 60rpx;
+}
+
+.cu-load.load-modal image {
+  width: 70rpx;
+  height: 70rpx;
+}
+
+.cu-load.load-modal::after {
+  content: "";
+  position: absolute;
+  background-color: var(--white);
+  border-radius: 50%;
+  width: 200rpx;
+  height: 200rpx;
+  font-size: 10px;
+  border-top: 6rpx solid rgba(0, 0, 0, 0.05);
+  border-right: 6rpx solid rgba(0, 0, 0, 0.05);
+  border-bottom: 6rpx solid rgba(0, 0, 0, 0.05);
+  border-left: 6rpx solid var(--orange);
+  animation: cuIcon-spin 1s infinite linear;
+  z-index: -1;
+}
+
+.cu-load.load-modal.ztLoading::after {
+  content: "";
+  position: absolute;
+  background-color: var(--white);
+  border-radius: 50%;
+  width: 200rpx;
+  height: 200rpx;
+  font-size: 10px;
+  border-top: 6rpx solid rgba(0, 0, 0, 0.05);
+  border-right: 6rpx solid rgba(0, 0, 0, 0.05);
+  border-bottom: 6rpx solid rgba(0, 0, 0, 0.05);
+  border-left: 6rpx solid #991d3b;
+  animation: cuIcon-spin 1s infinite linear;
+  z-index: -1;
+}
+
+.load-progress {
+  pointer-events: none;
+  top: 0;
+  position: fixed;
+  width: 100%;
+  left: 0;
+  z-index: 2000;
+}
+
+.load-progress.hide {
+  display: none;
+}
+
+.load-progress .load-progress-bar {
+  position: relative;
+  width: 100%;
+  height: 4rpx;
+  overflow: hidden;
+  transition: all 200ms ease 0s;
+}
+
+.load-progress .load-progress-spinner {
+  position: absolute;
+  top: 10rpx;
+  right: 10rpx;
+  z-index: 2000;
+  display: block;
+}
+
+.load-progress .load-progress-spinner::after {
+  content: "";
+  display: block;
+  width: 24rpx;
+  height: 24rpx;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  border: solid 4rpx transparent;
+  border-top-color: inherit;
+  border-left-color: inherit;
+  border-radius: 50%;
+  -webkit-animation: load-progress-spinner 0.4s linear infinite;
+  animation: load-progress-spinner 0.4s linear infinite;
+}
+
+@-webkit-keyframes load-progress-spinner {
+  0% {
+    -webkit-transform: rotate(0);
+    transform: rotate(0);
+  }
+
+  100% {
+    -webkit-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+
+@keyframes load-progress-spinner {
+  0% {
+    -webkit-transform: rotate(0);
+    transform: rotate(0);
+  }
+
+  100% {
+    -webkit-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+
+/* ==================
+          列表
+ ==================== */
+
+.grayscale {
+  filter: grayscale(1);
+}
+
+.cu-list+.cu-list {
+  margin-top: 30rpx;
+}
+
+.cu-list>.cu-item {
+  transition: all 0.6s ease-in-out 0s;
+  transform: translateX(0rpx);
+}
+
+.cu-list>.cu-item.move-cur {
+  transform: translateX(-260rpx);
+}
+
+.cu-list>.cu-item .move {
+  position: absolute;
+  right: 0;
+  display: flex;
+  width: 260rpx;
+  height: 100%;
+  transform: translateX(100%);
+}
+
+.cu-list>.cu-item .move view {
+  display: flex;
+  flex: 1;
+  justify-content: center;
+  align-items: center;
+}
+
+.cu-list.menu-avatar {
+  overflow: hidden;
+}
+
+.cu-list.menu-avatar>.cu-item {
+  position: relative;
+  display: flex;
+  padding-right: 10rpx;
+  height: 140rpx;
+  background-color: var(--white);
+  justify-content: flex-end;
+  align-items: center;
+}
+
+.cu-list.menu-avatar>.cu-item>.cu-avatar {
+  position: absolute;
+  left: 30rpx;
+}
+
+.cu-list.menu-avatar>.cu-item .flex .text-cut {
+  max-width: 510rpx;
+}
+
+.cu-list.menu-avatar>.cu-item .content {
+  position: absolute;
+  left: 146rpx;
+  width: calc(100% - 96rpx - 60rpx - 120rpx - 20rpx);
+  line-height: 1.6em;
+}
+
+.cu-list.menu-avatar>.cu-item .content.flex-sub {
+  width: calc(100% - 96rpx - 60rpx - 20rpx);
+}
+
+.cu-list.menu-avatar>.cu-item .content>view:first-child {
+  font-size: 30rpx;
+  display: flex;
+  align-items: center;
+}
+
+.cu-list.menu-avatar>.cu-item .content .cu-tag.sm {
+  display: inline-block;
+  margin-left: 10rpx;
+  height: 28rpx;
+  font-size: 16rpx;
+  line-height: 32rpx;
+}
+
+.cu-list.menu-avatar>.cu-item .action {
+  width: 100rpx;
+  text-align: center;
+}
+
+.cu-list.menu-avatar>.cu-item .action view+view {
+  margin-top: 10rpx;
+}
+
+.cu-list.menu-avatar.comment>.cu-item .content {
+  position: relative;
+  left: 0;
+  width: auto;
+  flex: 1;
+}
+
+.cu-list.menu-avatar.comment>.cu-item {
+  padding: 30rpx 30rpx 30rpx 120rpx;
+  height: auto;
+}
+
+.cu-list.menu-avatar.comment .cu-avatar {
+  align-self: flex-start;
+}
+
+.cu-list.menu>.cu-item {
+  position: relative;
+  display: flex;
+  padding: 0 30rpx;
+  min-height: 100rpx;
+  background-color: var(--white);
+  justify-content: space-between;
+  align-items: center;
+}
+
+.cu-list.menu>.cu-item:last-child:after {
+  border: none;
+}
+
+.cu-list.menu>.cu-item:after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  box-sizing: border-box;
+  width: 200%;
+  height: 200%;
+  border-bottom: 1rpx solid #ddd;
+  border-radius: inherit;
+  content: " ";
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+}
+
+.cu-list.menu>.cu-item.grayscale {
+  background-color: #f5f5f5;
+}
+
+.cu-list.menu>.cu-item.cur {
+  background-color: #fcf7e9;
+}
+
+.cu-list.menu>.cu-item.arrow {
+  padding-right: 90rpx;
+}
+
+.cu-list.menu>.cu-item.arrow:before {
+  position: absolute;
+  top: 0;
+  right: 30rpx;
+  bottom: 0;
+  display: block;
+  margin: auto;
+  width: 30rpx;
+  height: 30rpx;
+  color: var(--grey);
+  content: "\e6a3";
+  text-align: center;
+  font-size: 34rpx;
+  font-family: "cuIcon";
+  line-height: 30rpx;
+}
+
+.cu-list.menu>.cu-item button.content {
+  padding: 0;
+  background-color: transparent;
+  justify-content: flex-start;
+}
+
+.cu-list.menu>.cu-item button.content:after {
+  display: none;
+}
+
+.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar {
+  border-color: var(--white);
+}
+
+.cu-list.menu>.cu-item .content>view:first-child {
+  display: flex;
+  align-items: center;
+}
+
+.cu-list.menu>.cu-item .content>text[class*=cuIcon] {
+  display: inline-block;
+  margin-right: 10rpx;
+  width: 1.6em;
+  text-align: center;
+}
+
+.cu-list.menu>.cu-item .content>image {
+  display: inline-block;
+  margin-right: 10rpx;
+  width: 1.6em;
+  height: 1.6em;
+  vertical-align: middle;
+}
+
+.cu-list.menu>.cu-item .content {
+  font-size: 30rpx;
+  line-height: 1.6em;
+  flex: 1;
+}
+
+.cu-list.menu>.cu-item .content .cu-tag.sm {
+  display: inline-block;
+  margin-left: 10rpx;
+  height: 28rpx;
+  font-size: 16rpx;
+  line-height: 32rpx;
+}
+
+.cu-list.menu>.cu-item .action .cu-tag:empty {
+  right: 10rpx;
+}
+
+.cu-list.menu {
+  display: block;
+  overflow: hidden;
+}
+
+.cu-list.menu.sm-border>.cu-item:after {
+  left: 30rpx;
+  width: calc(200% - 120rpx);
+}
+
+.cu-list.grid>.cu-item {
+  position: relative;
+  display: flex;
+  padding: 20rpx 0 30rpx;
+  transition-duration: 0s;
+  flex-direction: column;
+}
+
+.cu-list.grid>.cu-item:after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  box-sizing: border-box;
+  width: 200%;
+  height: 200%;
+  border-right: 1px solid rgba(0, 0, 0, 0.1);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+  border-radius: inherit;
+  content: " ";
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+}
+
+.cu-list.grid>.cu-item text {
+  display: block;
+  margin-top: 10rpx;
+  color: #888;
+  font-size: 26rpx;
+  line-height: 40rpx;
+}
+
+.cu-list.grid>.cu-item [class*=cuIcon] {
+  position: relative;
+  display: block;
+  margin-top: 20rpx;
+  width: 100%;
+  font-size: 48rpx;
+}
+
+.cu-list.grid>.cu-item .cu-tag {
+  right: auto;
+  left: 50%;
+  margin-left: 20rpx;
+}
+
+.cu-list.grid {
+  background-color: var(--white);
+  text-align: center;
+}
+
+.cu-list.grid.no-border>.cu-item {
+  padding-top: 10rpx;
+  padding-bottom: 20rpx;
+}
+
+.cu-list.grid.no-border>.cu-item:after {
+  border: none;
+}
+
+.cu-list.grid.no-border {
+  padding: 20rpx 10rpx;
+}
+
+.cu-list.grid.col-3>.cu-item:nth-child(3n):after,
+.cu-list.grid.col-4>.cu-item:nth-child(4n):after,
+.cu-list.grid.col-5>.cu-item:nth-child(5n):after {
+  border-right-width: 0;
+}
+
+.cu-list.card-menu {
+  overflow: hidden;
+  margin-right: 30rpx;
+  margin-left: 30rpx;
+  border-radius: 20rpx;
+}
+
+/* ==================
+          操作条
+ ==================== */
+
+.cu-bar {
+  display: flex;
+  position: relative;
+  align-items: center;
+  min-height: 100rpx;
+  justify-content: space-between;
+}
+
+.cu-bar .action {
+  display: flex;
+  align-items: center;
+  height: 100%;
+  justify-content: center;
+  max-width: 100%;
+}
+
+.cu-bar .action.border-title {
+  position: relative;
+  top: -10rpx;
+}
+
+.cu-bar .action.border-title text[class*="bg-"]:last-child {
+  position: absolute;
+  bottom: -0.5rem;
+  min-width: 2rem;
+  height: 6rpx;
+  left: 0;
+}
+
+.cu-bar .action.sub-title {
+  position: relative;
+  top: -0.2rem;
+}
+
+.cu-bar .action.sub-title text {
+  position: relative;
+  z-index: 1;
+}
+
+.cu-bar .action.sub-title text[class*="bg-"]:last-child {
+  position: absolute;
+  display: inline-block;
+  bottom: -0.2rem;
+  border-radius: 6rpx;
+  width: 100%;
+  height: 0.6rem;
+  left: 0.6rem;
+  opacity: 0.3;
+  z-index: 0;
+}
+
+.cu-bar .action.sub-title text[class*="text-"]:last-child {
+  position: absolute;
+  display: inline-block;
+  bottom: -0.7rem;
+  left: 0.5rem;
+  opacity: 0.2;
+  z-index: 0;
+  text-align: right;
+  font-weight: 900;
+  font-size: 36rpx;
+}
+
+.cu-bar.justify-center .action.border-title text:last-child,
+.cu-bar.justify-center .action.sub-title text:last-child {
+  left: 0;
+  right: 0;
+  margin: auto;
+  text-align: center;
+}
+
+.cu-bar .action:first-child {
+  margin-left: 30rpx;
+  font-size: 30rpx;
+}
+
+.cu-bar .action text.text-cut {
+  text-align: left;
+  width: 100%;
+}
+
+.cu-bar .cu-avatar:first-child {
+  margin-left: 20rpx;
+}
+
+.cu-bar .action:first-child>text[class*="cuIcon-"] {
+  margin-left: -0.3em;
+  margin-right: 0.3em;
+}
+
+.cu-bar .action:last-child {
+  margin-right: 30rpx;
+}
+
+.cu-bar .action>text[class*="cuIcon-"], .cu-bar .action>view[class*="cuIcon-"] {
+  font-size: 36rpx;
+}
+
+.cu-bar .action>text[class*="cuIcon-"]+text[class*="cuIcon-"] {
+  margin-left: 0.5em;
+}
+
+.cu-bar .content {
+  position: absolute;
+  text-align: center;
+  width: calc(100% - 340rpx);
+  left: 0;
+  right: 0;
+  bottom: 0;
+  top: 0;
+  margin: auto;
+  height: 60rpx;
+  font-size: 32rpx;
+  line-height: 60rpx;
+  cursor: none;
+  pointer-events: none;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+.cu-bar.ios .content {
+  bottom: 7px;
+  height: 30px;
+  font-size: 32rpx;
+  line-height: 30px;
+}
+
+.cu-bar.btn-group {
+  justify-content: space-around;
+}
+
+.cu-bar.btn-group button {
+  padding: 20rpx 32rpx;
+}
+
+.cu-bar.btn-group button {
+  flex: 1;
+  margin: 0 20rpx;
+  max-width: 50%;
+}
+
+.cu-bar .search-form {
+  background-color: #f5f5f5;
+  line-height: 64rpx;
+  height: 64rpx;
+  font-size: 24rpx;
+  color: var(--black);
+  flex: 1;
+  display: flex;
+  align-items: center;
+  margin: 0 30rpx;
+}
+
+.cu-bar .search-form+.action {
+  margin-right: 30rpx;
+}
+
+.cu-bar .search-form input {
+  flex: 1;
+  padding-right: 30rpx;
+  height: 64rpx;
+  line-height: 64rpx;
+  font-size: 26rpx;
+  background-color: transparent;
+}
+
+.cu-bar .search-form [class*="cuIcon-"] {
+  margin: 0 0.5em 0 0.8em;
+}
+
+.cu-bar .search-form [class*="cuIcon-"]::before {
+  top: 0rpx;
+}
+
+.cu-bar.fixed, .nav.fixed {
+  position: fixed;
+  width: 100%;
+  top: 0;
+  z-index: 1024;
+  box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1);
+}
+
+.cu-bar.foot {
+  position: fixed;
+  width: 100%;
+  bottom: 0;
+  z-index: 1024;
+  box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1);
+}
+
+.cu-bar.tabbar {
+  padding: 0;
+  height: calc(100rpx + env(safe-area-inset-bottom) / 2);
+  padding-bottom: calc(env(safe-area-inset-bottom) / 2);
+}
+
+.cu-tabbar-height {
+  min-height: 100rpx;
+  height: calc(100rpx + env(safe-area-inset-bottom) / 2);
+}
+
+.cu-bar.tabbar.shadow {
+  box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1);
+}
+
+.cu-bar.tabbar .action {
+  font-size: 22rpx;
+  position: relative;
+  flex: 1;
+  text-align: center;
+  padding: 0;
+  display: block;
+  height: auto;
+  line-height: 1;
+  margin: 0;
+  overflow: initial;
+}
+
+.cu-bar.tabbar.shop .action {
+  width: 140rpx;
+  flex: initial;
+}
+
+.cu-bar.tabbar .action.add-action {
+  position: relative;
+  z-index: 2;
+  padding-top: 50rpx;
+  background-color: inherit;
+}
+
+.cu-bar.tabbar .action.add-action [class*="cuIcon-"] {
+  position: absolute;
+  width: 70rpx;
+  z-index: 2;
+  height: 70rpx;
+  border-radius: 50%;
+  line-height: 70rpx;
+  font-size: 50rpx;
+  top: -35rpx;
+  left: 0;
+  right: 0;
+  margin: auto;
+  padding: 0;
+}
+
+.cu-bar.tabbar .action.add-action::after {
+  content: "";
+  position: absolute;
+  width: 100rpx;
+  height: 100rpx;
+  top: -50rpx;
+  left: 0;
+  right: 0;
+  margin: auto;
+  box-shadow: 0 -3rpx 8rpx rgba(0, 0, 0, 0.08);
+  border-radius: 50rpx;
+  background-color: inherit;
+  z-index: 0;
+}
+
+.cu-bar.tabbar .action.add-action::before {
+  content: "";
+  position: absolute;
+  width: 100rpx;
+  height: 30rpx;
+  bottom: 30rpx;
+  left: 0;
+  right: 0;
+  margin: auto;
+  background-color: inherit;
+  z-index: 1;
+}
+
+.cu-bar.tabbar .btn-group {
+  flex: 1;
+  display: flex;
+  justify-content: space-around;
+  align-items: center;
+  padding: 0 10rpx;
+}
+
+.cu-bar.tabbar button.action::after {
+  border: 0;
+}
+
+.cu-bar.tabbar .action [class*="cuIcon-"] {
+  width: 100rpx;
+  position: relative;
+  display: block;
+  height: auto;
+  margin: 0 auto 10rpx;
+  text-align: center;
+  font-size: 40rpx;
+}
+
+.cu-bar.tabbar .action .cuIcon-cu-image {
+  margin: 0 auto;
+}
+
+.cu-bar.tabbar .action .cuIcon-cu-image image {
+  width: 50rpx;
+  height: 50rpx;
+  display: inline-block;
+}
+
+.cu-bar.tabbar .submit {
+  align-items: center;
+  display: flex;
+  justify-content: center;
+  text-align: center;
+  position: relative;
+  flex: 2;
+  align-self: stretch;
+}
+
+.cu-bar.tabbar .submit:last-child {
+  flex: 2.6;
+}
+
+.cu-bar.tabbar .submit+.submit {
+  flex: 2;
+}
+
+.cu-bar.tabbar.border .action::before {
+  content: " ";
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  border-right: 1rpx solid rgba(0, 0, 0, 0.1);
+  z-index: 3;
+}
+
+.cu-bar.tabbar.border .action:last-child:before {
+  display: none;
+}
+
+.cu-bar.input {
+  padding-right: 20rpx;
+  background-color: var(--white);
+}
+
+.cu-bar.input input {
+  overflow: initial;
+  line-height: 64rpx;
+  height: 64rpx;
+  min-height: 64rpx;
+  flex: 1;
+  font-size: 30rpx;
+  margin: 0 20rpx;
+}
+
+.cu-bar.input .action {
+  margin-left: 20rpx;
+}
+
+.cu-bar.input .action [class*="cuIcon-"] {
+  font-size: 48rpx;
+}
+
+.cu-bar.input input+.action {
+  margin-right: 20rpx;
+  margin-left: 0rpx;
+}
+
+.cu-bar.input .action:first-child [class*="cuIcon-"] {
+  margin-left: 0rpx;
+}
+
+.cu-custom {
+  display: block;
+  position: relative;
+}
+
+.cu-custom .cu-bar .content {
+  width: calc(100% - 440rpx);
+}
+
+.cu-custom .cu-bar .content image {
+  height: 60rpx;
+  width: 240rpx;
+}
+
+.cu-custom .cu-bar {
+  min-height: 0px;
+  padding-right: 220rpx;
+  box-shadow: 0rpx 0rpx 0rpx;
+  z-index: 9999;
+}
+
+.cu-custom .cu-bar .border-custom {
+  position: relative;
+  background: rgba(0, 0, 0, 0.15);
+  border-radius: 1000rpx;
+  height: 30px;
+}
+
+.cu-custom .cu-bar .border-custom::after {
+  content: " ";
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  border-radius: inherit;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+  box-sizing: border-box;
+  border: 1rpx solid var(--white);
+  opacity: 0.5;
+}
+
+.cu-custom .cu-bar .border-custom::before {
+  content: " ";
+  width: 1rpx;
+  height: 110%;
+  position: absolute;
+  top: 22.5%;
+  left: 0;
+  right: 0;
+  margin: auto;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+  box-sizing: border-box;
+  opacity: 0.6;
+  background-color: var(--white);
+}
+
+.cu-custom .cu-bar .border-custom text {
+  display: block;
+  flex: 1;
+  margin: auto !important;
+  text-align: center;
+  font-size: 34rpx;
+}
+
+/* ==================
+         导航栏
+ ==================== */
+
+.nav {
+  white-space: nowrap;
+}
+
+::-webkit-scrollbar {
+  display: none;
+}
+
+.nav .cu-item {
+  height: 90rpx;
+  display: inline-block;
+  line-height: 90rpx;
+  margin: 0 10rpx;
+  padding: 0 20rpx;
+}
+
+.nav .cu-item.cur {
+  border-bottom: 4rpx solid;
+}
+
+/* ==================
+         时间轴
+ ==================== */
+
+.cu-timeline {
+  display: block;
+  background-color: var(--white);
+}
+
+.cu-timeline .cu-time {
+  width: 120rpx;
+  text-align: center;
+  padding: 20rpx 0;
+  font-size: 26rpx;
+  color: #888;
+  display: block;
+}
+
+.cu-timeline>.cu-item {
+  padding: 30rpx 30rpx 30rpx 120rpx;
+  position: relative;
+  display: block;
+  z-index: 0;
+}
+
+.cu-timeline>.cu-item:not([class*="text-"]) {
+  color: #ccc;
+}
+
+.cu-timeline>.cu-item::after {
+  content: "";
+  display: block;
+  position: absolute;
+  width: 1rpx;
+  background-color: #ddd;
+  left: 60rpx;
+  height: 100%;
+  top: 0;
+  z-index: 8;
+}
+
+.cu-timeline>.cu-item::before {
+  font-family: "cuIcon";
+  display: block;
+  position: absolute;
+  top: 36rpx;
+  z-index: 9;
+  background-color: var(--white);
+  width: 50rpx;
+  height: 50rpx;
+  text-align: center;
+  border: none;
+  line-height: 50rpx;
+  left: 36rpx;
+}
+
+.cu-timeline>.cu-item:not([class*="cuIcon-"])::before {
+  content: "\e763";
+}
+
+.cu-timeline>.cu-item[class*="cuIcon-"]::before {
+  background-color: var(--white);
+  width: 50rpx;
+  height: 50rpx;
+  text-align: center;
+  border: none;
+  line-height: 50rpx;
+  left: 36rpx;
+}
+
+.cu-timeline>.cu-item>.content {
+  padding: 30rpx;
+  border-radius: 6rpx;
+  display: block;
+  line-height: 1.6;
+}
+
+.cu-timeline>.cu-item>.content:not([class*="bg-"]) {
+  background-color: var(--ghostWhite);
+  color: var(--black);
+}
+
+.cu-timeline>.cu-item>.content+.content {
+  margin-top: 20rpx;
+}
+
+/* ==================
+         聊天
+ ==================== */
+
+.cu-chat {
+  display: flex;
+  flex-direction: column;
+}
+
+.cu-chat .cu-item {
+  display: flex;
+  padding: 30rpx 30rpx 70rpx;
+  position: relative;
+}
+
+.cu-chat .cu-item>.cu-avatar {
+  width: 80rpx;
+  height: 80rpx;
+}
+
+.cu-chat .cu-item>.main {
+  max-width: calc(100% - 260rpx);
+  margin: 0 40rpx;
+  display: flex;
+  align-items: center;
+}
+
+.cu-chat .cu-item>image {
+  height: 320rpx;
+}
+
+.cu-chat .cu-item>.main .content {
+  padding: 20rpx;
+  border-radius: 6rpx;
+  display: inline-flex;
+  max-width: 100%;
+  align-items: center;
+  font-size: 30rpx;
+  position: relative;
+  min-height: 80rpx;
+  line-height: 40rpx;
+  text-align: left;
+}
+
+.cu-chat .cu-item>.main .content:not([class*="bg-"]) {
+  background-color: var(--white);
+  color: var(--black);
+}
+
+.cu-chat .cu-item .date {
+  position: absolute;
+  font-size: 24rpx;
+  color: var(--grey);
+  width: calc(100% - 320rpx);
+  bottom: 20rpx;
+  left: 160rpx;
+}
+
+.cu-chat .cu-item .action {
+  padding: 0 30rpx;
+  display: flex;
+  align-items: center;
+}
+
+.cu-chat .cu-item>.main .content::after {
+  content: "";
+  top: 27rpx;
+  transform: rotate(45deg);
+  position: absolute;
+  z-index: 100;
+  display: inline-block;
+  overflow: hidden;
+  width: 24rpx;
+  height: 24rpx;
+  left: -12rpx;
+  right: initial;
+  background-color: inherit;
+}
+
+.cu-chat .cu-item.self>.main .content::after {
+  left: auto;
+  right: -12rpx;
+}
+
+.cu-chat .cu-item>.main .content::before {
+  content: "";
+  top: 30rpx;
+  transform: rotate(45deg);
+  position: absolute;
+  z-index: -1;
+  display: inline-block;
+  overflow: hidden;
+  width: 24rpx;
+  height: 24rpx;
+  left: -12rpx;
+  right: initial;
+  background-color: inherit;
+  filter: blur(5rpx);
+  opacity: 0.3;
+}
+
+.cu-chat .cu-item>.main .content:not([class*="bg-"])::before {
+  background-color: var(--black);
+  opacity: 0.1;
+}
+
+.cu-chat .cu-item.self>.main .content::before {
+  left: auto;
+  right: -12rpx;
+}
+
+.cu-chat .cu-item.self {
+  justify-content: flex-end;
+  text-align: right;
+}
+
+.cu-chat .cu-info {
+  display: inline-block;
+  margin: 20rpx auto;
+  font-size: 24rpx;
+  padding: 8rpx 12rpx;
+  background-color: rgba(0, 0, 0, 0.2);
+  border-radius: 6rpx;
+  color: var(--white);
+  max-width: 400rpx;
+  line-height: 1.4;
+}
+
+/* ==================
+         卡片
+ ==================== */
+
+.cu-card {
+  display: block;
+  overflow: hidden;
+}
+
+.cu-card>.cu-item {
+  display: block;
+  background-color: var(--white);
+  overflow: hidden;
+  border-radius: 10rpx;
+  margin: 30rpx;
+}
+
+.cu-card>.cu-item.shadow-blur {
+  overflow: initial;
+}
+
+.cu-card.no-card>.cu-item {
+  margin: 0rpx;
+  border-radius: 0rpx;
+}
+
+.cu-card .grid.grid-square {
+  margin-bottom: -20rpx;
+}
+
+.cu-card.case .image {
+  position: relative;
+}
+
+.cu-card.case .image image {
+  width: 100%;
+}
+
+.cu-card.case .image .cu-tag {
+  position: absolute;
+  right: 0;
+  top: 0;
+}
+
+.cu-card.case .image .cu-bar {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  background-color: transparent;
+  padding: 0rpx 30rpx;
+}
+
+.cu-card.case.no-card .image {
+  margin: 30rpx 30rpx 0;
+  overflow: hidden;
+  border-radius: 10rpx;
+}
+
+.cu-card.dynamic {
+  display: block;
+}
+
+.cu-card.dynamic>.cu-item {
+  display: block;
+  background-color: var(--white);
+  overflow: hidden;
+}
+
+.cu-card.dynamic>.cu-item>.text-content {
+  padding: 0 30rpx 0;
+  max-height: 6.4em;
+  overflow: hidden;
+  font-size: 30rpx;
+  margin-bottom: 20rpx;
+}
+
+.cu-card.dynamic>.cu-item .square-img {
+  width: 100%;
+  height: 200rpx;
+  border-radius: 6rpx;
+}
+
+.cu-card.dynamic>.cu-item .only-img {
+  width: 100%;
+  height: 320rpx;
+  border-radius: 6rpx;
+}
+
+.cu-card.article {
+  display: block;
+}
+
+.cu-card.article>.cu-item {
+  padding-bottom: 30rpx;
+}
+
+.cu-card.article>.cu-item .title {
+  font-size: 30rpx;
+  font-weight: 900;
+  color: var(--black);
+  line-height: 100rpx;
+  padding: 0 30rpx;
+}
+
+.cu-card.article>.cu-item .content {
+  display: flex;
+  padding: 0 30rpx;
+}
+
+.cu-card.article>.cu-item .content>image {
+  width: 240rpx;
+  height: 6.4em;
+  margin-right: 20rpx;
+  border-radius: 6rpx;
+}
+
+.cu-card.article>.cu-item .content .desc {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+}
+
+.cu-card.article>.cu-item .content .text-content {
+  font-size: 28rpx;
+  color: #888;
+  height: 4.8em;
+  overflow: hidden;
+}
+
+/* ==================
+         表单
+ ==================== */
+
+.cu-form-group {
+  background-color: var(--white);
+  padding: 1rpx 30rpx;
+  display: flex;
+  align-items: center;
+  min-height: 100rpx;
+  justify-content: space-between;
+}
+
+.cu-form-group+.cu-form-group {
+  border-top: 1rpx solid #eee;
+}
+
+.cu-form-group .title {
+  text-align: justify;
+  padding-right: 30rpx;
+  font-size: 30rpx;
+  position: relative;
+  height: 60rpx;
+  line-height: 60rpx;
+}
+
+.cu-form-group input {
+  flex: 1;
+  font-size: 30rpx;
+  color: #555;
+  padding-right: 20rpx;
+}
+
+.cu-form-group>text[class*="cuIcon-"] {
+  font-size: 36rpx;
+  padding: 0;
+  box-sizing: border-box;
+}
+
+.cu-form-group textarea {
+  margin: 32rpx 0 30rpx;
+  height: 4.6em;
+  width: 100%;
+  line-height: 1.2em;
+  flex: 1;
+  font-size: 28rpx;
+  padding: 0;
+}
+
+.cu-form-group.align-start .title {
+  height: 1em;
+  margin-top: 32rpx;
+  line-height: 1em;
+}
+
+.cu-form-group picker {
+  flex: 1;
+  padding-right: 40rpx;
+  overflow: hidden;
+  position: relative;
+}
+
+.cu-form-group picker .picker {
+  line-height: 100rpx;
+  font-size: 28rpx;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+  width: 100%;
+  text-align: right;
+}
+
+.cu-form-group picker::after {
+  font-family: "cuIcon";
+  display: block;
+  content: "\e6a3";
+  position: absolute;
+  font-size: 34rpx;
+  color: var(--grey);
+  line-height: 100rpx;
+  width: 60rpx;
+  text-align: center;
+  top: 0;
+  bottom: 0;
+  right: -20rpx;
+  margin: auto;
+}
+
+.cu-form-group textarea[disabled],
+.cu-form-group textarea[disabled] .placeholder {
+  color: transparent;
+}
+
+/* ==================
+         模态窗口
+ ==================== */
+
+.cu-modal {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1110;
+  opacity: 0;
+  outline: 0;
+  text-align: center;
+  -ms-transform: scale(1.185);
+  transform: scale(1.185);
+  backface-visibility: hidden;
+  perspective: 2000rpx;
+  background: rgba(0, 0, 0, 0.6);
+  transition: all 0.3s ease-in-out 0s;
+  pointer-events: none;
+}
+
+.cu-modal::before {
+  content: "\200B";
+  display: inline-block;
+  height: 100%;
+  vertical-align: middle;
+}
+
+.cu-modal.show {
+  opacity: 1;
+  transition-duration: 0.3s;
+  -ms-transform: scale(1);
+  transform: scale(1);
+  overflow-x: hidden;
+  overflow-y: auto;
+  pointer-events: auto;
+}
+
+.cu-dialog {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  margin-left: auto;
+  margin-right: auto;
+  width: 680rpx;
+  max-width: 100%;
+  background-color: #f8f8f8;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+
+.cu-modal.bottom-modal::before {
+  vertical-align: bottom;
+}
+
+.cu-modal.bottom-modal .cu-dialog {
+  width: 100%;
+  border-radius: 0;
+}
+
+.cu-modal.bottom-modal {
+  margin-bottom: -1000rpx;
+}
+
+.cu-modal.bottom-modal.show {
+  margin-bottom: 0;
+}
+
+.cu-modal.drawer-modal {
+  transform: scale(1);
+  display: flex;
+}
+
+.cu-modal.drawer-modal .cu-dialog {
+  height: 100%;
+  min-width: 200rpx;
+  border-radius: 0;
+  margin: initial;
+  transition-duration: 0.3s;
+}
+
+.cu-modal.drawer-modal.justify-start .cu-dialog {
+  transform: translateX(-100%);
+}
+
+.cu-modal.drawer-modal.justify-end .cu-dialog {
+  transform: translateX(100%);
+}
+
+.cu-modal.drawer-modal.show .cu-dialog {
+  transform: translateX(0%);
+}
+
+.cu-modal .cu-dialog>.cu-bar:first-child .action {
+  min-width: 100rpx;
+  margin-right: 0;
+  min-height: 100rpx;
+}
+
+/* ==================
+         轮播
+ ==================== */
+
+swiper .a-swiper-dot {
+  display: inline-block;
+  width: 16rpx;
+  height: 16rpx;
+  background: rgba(0, 0, 0, 0.3);
+  border-radius: 50%;
+  vertical-align: middle;
+}
+
+swiper[class*="-dot"] .wx-swiper-dots {
+  display: flex;
+  align-items: center;
+  width: 100%;
+  justify-content: center;
+}
+
+swiper.square-dot .wx-swiper-dot {
+  background-color: var(--white);
+  opacity: 0.4;
+  width: 10rpx;
+  height: 10rpx;
+  border-radius: 20rpx;
+  margin: 0 8rpx !important;
+}
+
+swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active {
+  opacity: 1;
+  width: 30rpx;
+}
+
+swiper.round-dot .wx-swiper-dot {
+  width: 10rpx;
+  height: 10rpx;
+  position: relative;
+  margin: 4rpx 8rpx !important;
+}
+
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after {
+  content: "";
+  position: absolute;
+  width: 10rpx;
+  height: 10rpx;
+  top: 0rpx;
+  left: 0rpx;
+  right: 0;
+  bottom: 0;
+  margin: auto;
+  background-color: var(--white);
+  border-radius: 20rpx;
+}
+
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active {
+  width: 18rpx;
+  height: 18rpx;
+}
+
+.screen-swiper {
+  min-height: 375rpx;
+}
+
+.screen-swiper image, .screen-swiper video, .swiper-item image,
+.swiper-item video {
+  width: 100%;
+  display: block;
+  height: 100%;
+  margin: 0;
+  pointer-events: none;
+}
+
+.card-swiper {
+  height: 420rpx !important;
+}
+
+.card-swiper swiper-item {
+  width: 610rpx !important;
+  left: 70rpx;
+  box-sizing: border-box;
+  padding: 40rpx 0rpx 70rpx;
+  overflow: initial;
+}
+
+.card-swiper swiper-item .swiper-item {
+  width: 100%;
+  display: block;
+  height: 100%;
+  border-radius: 10rpx;
+  transform: scale(0.9);
+  transition: all 0.2s ease-in 0s;
+  overflow: hidden;
+}
+
+.card-swiper swiper-item.cur .swiper-item {
+  transform: none;
+  transition: all 0.2s ease-in 0s;
+}
+
+.tower-swiper {
+  height: 420rpx;
+  position: relative;
+  max-width: 750rpx;
+  overflow: hidden;
+}
+
+.tower-swiper .tower-item {
+  position: absolute;
+  width: 300rpx;
+  height: 380rpx;
+  top: 0;
+  bottom: 0;
+  left: 50%;
+  margin: auto;
+  transition: all 0.2s ease-in 0s;
+  opacity: 1;
+}
+
+.tower-swiper .tower-item.none {
+  opacity: 0;
+}
+
+.tower-swiper .tower-item .swiper-item {
+  width: 100%;
+  height: 100%;
+  border-radius: 6rpx;
+  overflow: hidden;
+}
+
+/* ==================
+          步骤条
+ ==================== */
+
+.cu-steps {
+  display: flex;
+}
+
+scroll-view.cu-steps {
+  display: block;
+  white-space: nowrap;
+}
+
+scroll-view.cu-steps .cu-item {
+  display: inline-block;
+}
+
+.cu-steps .cu-item {
+  flex: 1;
+  text-align: center;
+  position: relative;
+  min-width: 100rpx;
+}
+
+.cu-steps .cu-item:not([class*="text-"]) {
+  color: var(--grey);
+}
+
+.cu-steps .cu-item [class*="cuIcon-"], .cu-steps .cu-item .num {
+  display: block;
+  font-size: 40rpx;
+  line-height: 80rpx;
+}
+
+.cu-steps .cu-item::before, .cu-steps .cu-item::after,
+.cu-steps.steps-arrow .cu-item::before, .cu-steps.steps-arrow .cu-item::after {
+  content: "";
+  display: block;
+  position: absolute;
+  height: 0px;
+  width: calc(100% - 80rpx);
+  border-bottom: 1px solid #ccc;
+  left: calc(0px - (100% - 80rpx) / 2);
+  top: 40rpx;
+  z-index: 0;
+}
+
+.cu-steps.steps-arrow .cu-item::before, .cu-steps.steps-arrow .cu-item::after {
+  content: "\e6a3";
+  font-family: "cuIcon";
+  height: 30rpx;
+  border-bottom-width: 0px;
+  line-height: 30rpx;
+  top: 0;
+  bottom: 0;
+  margin: auto;
+  color: #ccc;
+}
+
+.cu-steps.steps-bottom .cu-item::before, .cu-steps.steps-bottom .cu-item::after {
+  bottom: 40rpx;
+  top: initial;
+}
+
+.cu-steps .cu-item::after {
+  border-bottom: 1px solid currentColor;
+  width: 0px;
+  transition: all 0.3s ease-in-out 0s;
+}
+
+.cu-steps .cu-item[class*="text-"]::after {
+  width: calc(100% - 80rpx);
+  color: currentColor;
+}
+
+.cu-steps .cu-item:first-child::before, .cu-steps .cu-item:first-child::after {
+  display: none;
+}
+
+.cu-steps .cu-item .num {
+  width: 40rpx;
+  height: 40rpx;
+  border-radius: 50%;
+  line-height: 40rpx;
+  margin: 20rpx auto;
+  font-size: 24rpx;
+  border: 1px solid currentColor;
+  position: relative;
+  overflow: hidden;
+}
+
+.cu-steps .cu-item[class*="text-"] .num {
+  background-color: currentColor;
+}
+
+.cu-steps .cu-item .num::before, .cu-steps .cu-item .num::after {
+  content: attr(data-index);
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  margin: auto;
+  transition: all 0.3s ease-in-out 0s;
+  transform: translateY(0rpx);
+}
+
+.cu-steps .cu-item[class*="text-"] .num::before {
+  transform: translateY(-40rpx);
+  color: var(--white);
+}
+
+.cu-steps .cu-item .num::after {
+  transform: translateY(40rpx);
+  color: var(--white);
+  transition: all 0.3s ease-in-out 0s;
+}
+
+.cu-steps .cu-item[class*="text-"] .num::after {
+  content: "\e645";
+  font-family: "cuIcon";
+  color: var(--white);
+  transform: translateY(0rpx);
+}
+
+.cu-steps .cu-item[class*="text-"] .num.err::after {
+  content: "\e646";
+}
+
+/* ==================
+          布局
+ ==================== */
+
+/*  -- flex弹性布局 -- */
+
+.flex {
+  display: flex;
+}
+
+.basis-xs {
+  flex-basis: 20%;
+}
+
+.basis-sm {
+  flex-basis: 40%;
+}
+
+.basis-df {
+  flex-basis: 50%;
+}
+
+.basis-lg {
+  flex-basis: 60%;
+}
+
+.basis-xl {
+  flex-basis: 80%;
+}
+
+.flex-sub {
+  flex: 1;
+}
+
+.flex-twice {
+  flex: 2;
+}
+
+.flex-treble {
+  flex: 3;
+}
+
+.flex-direction {
+  flex-direction: column;
+}
+
+.flex-wrap {
+  flex-wrap: wrap;
+}
+
+.align-start {
+  align-items: flex-start;
+}
+
+.align-end {
+  align-items: flex-end;
+}
+
+.align-center {
+  align-items: center;
+}
+
+.align-stretch {
+  align-items: stretch;
+}
+
+.self-start {
+  align-self: flex-start;
+}
+
+.self-center {
+  align-self: flex-center;
+}
+
+.self-end {
+  align-self: flex-end;
+}
+
+.self-stretch {
+  align-self: stretch;
+}
+
+.align-stretch {
+  align-items: stretch;
+}
+
+.justify-start {
+  justify-content: flex-start;
+}
+
+.justify-end {
+  justify-content: flex-end;
+}
+
+.justify-center {
+  justify-content: center;
+}
+
+.justify-between {
+  justify-content: space-between;
+}
+
+.justify-around {
+  justify-content: space-around;
+}
+
+/* grid布局 */
+
+.grid {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.grid.grid-square {
+  overflow: hidden;
+}
+
+.grid.grid-square .cu-tag {
+  position: absolute;
+  right: 0;
+  top: 0;
+  border-bottom-left-radius: 6rpx;
+  padding: 6rpx 12rpx;
+  height: auto;
+  background-color: rgba(0, 0, 0, 0.5);
+}
+
+.grid.grid-square>view>text[class*="cuIcon-"] {
+  font-size: 52rpx;
+  position: absolute;
+  color: var(--grey);
+  margin: auto;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  flex-direction: column;
+}
+
+.grid.grid-square>view {
+  margin-right: 20rpx;
+  margin-bottom: 20rpx;
+  border-radius: 6rpx;
+  position: relative;
+  overflow: hidden;
+}
+
+.grid.grid-square>view.bg-img image {
+  width: 100%;
+  height: 100%;
+  position: absolute;
+}
+
+.grid.col-1.grid-square>view {
+  padding-bottom: 100%;
+  height: 0;
+  margin-right: 0;
+}
+
+.grid.col-2.grid-square>view {
+  padding-bottom: calc((100% - 20rpx)/2);
+  height: 0;
+  width: calc((100% - 20rpx)/2);
+}
+
+.grid.col-3.grid-square>view {
+  padding-bottom: calc((100% - 40rpx)/3);
+  height: 0;
+  width: calc((100% - 40rpx)/3);
+}
+
+.grid.col-4.grid-square>view {
+  padding-bottom: calc((100% - 60rpx)/4);
+  height: 0;
+  width: calc((100% - 60rpx)/4);
+}
+
+.grid.col-5.grid-square>view {
+  padding-bottom: calc((100% - 80rpx)/5);
+  height: 0;
+  width: calc((100% - 80rpx)/5);
+}
+
+.grid.col-2.grid-square>view:nth-child(2n),
+.grid.col-3.grid-square>view:nth-child(3n),
+.grid.col-4.grid-square>view:nth-child(4n),
+.grid.col-5.grid-square>view:nth-child(5n) {
+  margin-right: 0;
+}
+
+.grid.col-1>view {
+  width: 100%;
+}
+
+.grid.col-2>view {
+  width: 50%;
+}
+
+.grid.col-3>view {
+  width: 33.33%;
+}
+
+.grid.col-4>view {
+  width: 25%;
+}
+
+.grid.col-5>view {
+  width: 20%;
+}
+
+/*  -- 内外边距 -- */
+
+.margin-0 {
+  margin: 0;
+}
+
+.margin-xs {
+  margin: 10rpx;
+}
+
+.margin-sm {
+  margin: 20rpx;
+}
+
+.margin {
+  margin: 30rpx;
+}
+
+.margin-lg {
+  margin: 40rpx;
+}
+
+.margin-xl {
+  margin: 50rpx;
+}
+
+.margin-top-xs {
+  margin-top: 10rpx;
+}
+
+.margin-top-sm {
+  margin-top: 20rpx;
+}
+
+.margin-top {
+  margin-top: 30rpx;
+}
+
+.margin-top-lg {
+  margin-top: 40rpx;
+}
+
+.margin-top-xl {
+  margin-top: 50rpx;
+}
+
+.margin-right-xs {
+  margin-right: 10rpx;
+}
+
+.margin-right-sm {
+  margin-right: 20rpx;
+}
+
+.margin-right {
+  margin-right: 30rpx;
+}
+
+.margin-right-lg {
+  margin-right: 40rpx;
+}
+
+.margin-right-xl {
+  margin-right: 50rpx;
+}
+
+.margin-bottom-xs {
+  margin-bottom: 10rpx;
+}
+
+.margin-bottom-sm {
+  margin-bottom: 20rpx;
+}
+
+.margin-bottom {
+  margin-bottom: 30rpx;
+}
+
+.margin-bottom-lg {
+  margin-bottom: 40rpx;
+}
+
+.margin-bottom-xl {
+  margin-bottom: 50rpx;
+}
+
+.margin-left-xs {
+  margin-left: 10rpx;
+}
+
+.margin-left-sm {
+  margin-left: 20rpx;
+}
+
+.margin-left {
+  margin-left: 30rpx;
+}
+
+.margin-left-lg {
+  margin-left: 40rpx;
+}
+
+.margin-left-xl {
+  margin-left: 50rpx;
+}
+
+.margin-lr-xs {
+  margin-left: 10rpx;
+  margin-right: 10rpx;
+}
+
+.margin-lr-sm {
+  margin-left: 20rpx;
+  margin-right: 20rpx;
+}
+
+.margin-lr {
+  margin-left: 30rpx;
+  margin-right: 30rpx;
+}
+
+.margin-lr-lg {
+  margin-left: 40rpx;
+  margin-right: 40rpx;
+}
+
+.margin-lr-xl {
+  margin-left: 50rpx;
+  margin-right: 50rpx;
+}
+
+.margin-tb-xs {
+  margin-top: 10rpx;
+  margin-bottom: 10rpx;
+}
+
+.margin-tb-sm {
+  margin-top: 20rpx;
+  margin-bottom: 20rpx;
+}
+
+.margin-tb {
+  margin-top: 30rpx;
+  margin-bottom: 30rpx;
+}
+
+.margin-tb-lg {
+  margin-top: 40rpx;
+  margin-bottom: 40rpx;
+}
+
+.margin-tb-xl {
+  margin-top: 50rpx;
+  margin-bottom: 50rpx;
+}
+
+.padding-0 {
+  padding: 0;
+}
+
+.padding-xs {
+  padding: 10rpx;
+}
+
+.padding-sm {
+  padding: 20rpx;
+}
+
+.padding {
+  padding: 30rpx;
+}
+
+.padding-lg {
+  padding: 40rpx;
+}
+
+.padding-xl {
+  padding: 50rpx;
+}
+
+.padding-top-xs {
+  padding-top: 10rpx;
+}
+
+.padding-top-sm {
+  padding-top: 20rpx;
+}
+
+.padding-top {
+  padding-top: 30rpx;
+}
+
+.padding-top-lg {
+  padding-top: 40rpx;
+}
+
+.padding-top-xl {
+  padding-top: 50rpx;
+}
+
+.padding-right-xs {
+  padding-right: 10rpx;
+}
+
+.padding-right-sm {
+  padding-right: 20rpx;
+}
+
+.padding-right {
+  padding-right: 30rpx;
+}
+
+.padding-right-lg {
+  padding-right: 40rpx;
+}
+
+.padding-right-xl {
+  padding-right: 50rpx;
+}
+
+.padding-bottom-xs {
+  padding-bottom: 10rpx;
+}
+
+.padding-bottom-sm {
+  padding-bottom: 20rpx;
+}
+
+.padding-bottom {
+  padding-bottom: 30rpx;
+}
+
+.padding-bottom-lg {
+  padding-bottom: 40rpx;
+}
+
+.padding-bottom-xl {
+  padding-bottom: 50rpx;
+}
+
+.padding-left-xs {
+  padding-left: 10rpx;
+}
+
+.padding-left-sm {
+  padding-left: 20rpx;
+}
+
+.padding-left {
+  padding-left: 30rpx;
+}
+
+.padding-left-lg {
+  padding-left: 40rpx;
+}
+
+.padding-left-xl {
+  padding-left: 50rpx;
+}
+
+.padding-lr-xs {
+  padding-left: 10rpx;
+  padding-right: 10rpx;
+}
+
+.padding-lr-sm {
+  padding-left: 20rpx;
+  padding-right: 20rpx;
+}
+
+.padding-lr {
+  padding-left: 30rpx;
+  padding-right: 30rpx;
+}
+
+.padding-lr-lg {
+  padding-left: 40rpx;
+  padding-right: 40rpx;
+}
+
+.padding-lr-xl {
+  padding-left: 50rpx;
+  padding-right: 50rpx;
+}
+
+.padding-tb-xs {
+  padding-top: 10rpx;
+  padding-bottom: 10rpx;
+}
+
+.padding-tb-sm {
+  padding-top: 20rpx;
+  padding-bottom: 20rpx;
+}
+
+.padding-tb {
+  padding-top: 30rpx;
+  padding-bottom: 30rpx;
+}
+
+.padding-tb-lg {
+  padding-top: 40rpx;
+  padding-bottom: 40rpx;
+}
+
+.padding-tb-xl {
+  padding-top: 50rpx;
+  padding-bottom: 50rpx;
+}
+
+/* -- 浮动 --  */
+
+.cf::after, .cf::before {
+  content: " ";
+  display: table;
+}
+
+.cf::after {
+  clear: both;
+}
+
+.fl {
+  float: left;
+}
+
+.fr {
+  float: right;
+}
+
+/* ==================
+          背景
+ ==================== */
+
+.line-red::after, .lines-red::after {
+  border-color: var(--red);
+}
+
+.line-orange::after, .lines-orange::after {
+  border-color: var(--orange);
+}
+
+.line-yellow::after, .lines-yellow::after {
+  border-color: var(--yellow);
+}
+
+.line-olive::after, .lines-olive::after {
+  border-color: var(--olive);
+}
+
+.line-green::after, .lines-green::after {
+  border-color: var(--green);
+}
+
+.line-cyan::after, .lines-cyan::after {
+  border-color: var(--cyan);
+}
+
+.line-blue::after, .lines-blue::after {
+  border-color: var(--blue);
+}
+
+.line-purple::after, .lines-purple::after {
+  border-color: var(--purple);
+}
+
+.line-mauve::after, .lines-mauve::after {
+  border-color: var(--mauve);
+}
+
+.line-pink::after, .lines-pink::after {
+  border-color: var(--pink);
+}
+
+.line-brown::after, .lines-brown::after {
+  border-color: var(--brown);
+}
+
+.line-grey::after, .lines-grey::after {
+  border-color: var(--grey);
+}
+
+.line-gray::after, .lines-gray::after {
+  border-color: var(--gray);
+}
+
+.line-black::after, .lines-black::after {
+  border-color: var(--black);
+}
+
+.line-white::after, .lines-white::after {
+  border-color: var(--white);
+}
+
+.bg-red {
+  background-color: var(--red);
+  color: var(--white);
+}
+
+.bg-orange {
+  background-color: var(--orange);
+  color: var(--white);
+}
+
+.bg-yellow {
+  background-color: var(--yellow);
+  color: var(--black);
+}
+
+.bg-olive {
+  background-color: var(--olive);
+  color: var(--white);
+}
+
+.bg-green {
+  background-color: var(--green);
+  color: var(--white);
+}
+
+.bg-cyan {
+  background-color: var(--cyan);
+  color: var(--white);
+}
+
+.bg-blue {
+  background-color: var(--blue);
+  color: var(--white);
+}
+
+.bg-purple {
+  background-color: var(--purple);
+  color: var(--white);
+}
+
+.bg-mauve {
+  background-color: var(--mauve);
+  color: var(--white);
+}
+
+.bg-pink {
+  background-color: var(--pink);
+  color: var(--white);
+}
+
+.bg-brown {
+  background-color: var(--brown);
+  color: var(--white);
+}
+
+.bg-grey {
+  background-color: var(--grey);
+  color: var(--white);
+}
+
+.bg-gray {
+  background-color: #f0f0f0;
+  color: var(--black);
+}
+
+.bg-black {
+  background-color: var(--black);
+  color: var(--white);
+}
+
+.bg-white {
+  background-color: var(--white);
+  color: var(--darkGray);
+}
+
+.bg-shadeTop {
+  background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01));
+  color: var(--white);
+}
+
+.bg-shadeBottom {
+  background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1));
+  color: var(--white);
+}
+
+.bg-red.light {
+  color: var(--red);
+  background-color: var(--redLight);
+}
+
+.bg-orange.light {
+  color: var(--orange);
+  background-color: var(--orangeLight);
+}
+
+.bg-yellow.light {
+  color: var(--yellow);
+  background-color: var(--yellowLight);
+}
+
+.bg-olive.light {
+  color: var(--olive);
+  background-color: var(--oliveLight);
+}
+
+.bg-green.light {
+  color: var(--green);
+  background-color: var(--greenLight);
+}
+
+.bg-cyan.light {
+  color: var(--cyan);
+  background-color: var(--cyanLight);
+}
+
+.bg-blue.light {
+  color: var(--blue);
+  background-color: var(--blueLight);
+}
+
+.bg-purple.light {
+  color: var(--purple);
+  background-color: var(--purpleLight);
+}
+
+.bg-mauve.light {
+  color: var(--mauve);
+  background-color: var(--mauveLight);
+}
+
+.bg-pink.light {
+  color: var(--pink);
+  background-color: var(--pinkLight);
+}
+
+.bg-brown.light {
+  color: var(--brown);
+  background-color: var(--brownLight);
+}
+
+.bg-grey.light {
+  color: var(--grey);
+  background-color: var(--greyLight);
+}
+
+.bg-gradual-red {
+  background-image: var(--gradualRed);
+  color: var(--white);
+}
+
+.bg-gradual-orange {
+  background-image: var(--gradualOrange);
+  color: var(--white);
+}
+
+.bg-gradual-green {
+  background-image: var(--gradualGreen);
+  color: var(--white);
+}
+
+.bg-gradual-purple {
+  background-image: var(--gradualPurple);
+  color: var(--white);
+}
+
+.bg-gradual-pink {
+  background-image: var(--gradualPink);
+  color: var(--white);
+}
+
+.bg-gradual-blue {
+  background-image: var(--gradualBlue);
+  color: var(--white);
+}
+
+.bg-zt-personalCenter {
+  background-image: var(--gradualzt);
+  color: var(--white);
+}
+
+.shadow[class*="-red"] {
+  box-shadow: var(--ShadowSize) var(--redShadow);
+}
+
+.shadow[class*="-orange"] {
+  box-shadow: var(--ShadowSize) var(--orangeShadow);
+}
+
+.shadow[class*="-yellow"] {
+  box-shadow: var(--ShadowSize) var(--yellowShadow);
+}
+
+.shadow[class*="-olive"] {
+  box-shadow: var(--ShadowSize) var(--oliveShadow);
+}
+
+.shadow[class*="-green"] {
+  box-shadow: var(--ShadowSize) var(--greenShadow);
+}
+
+.shadow[class*="-cyan"] {
+  box-shadow: var(--ShadowSize) var(--cyanShadow);
+}
+
+.shadow[class*="-blue"] {
+  box-shadow: var(--ShadowSize) var(--blueShadow);
+}
+
+.shadow[class*="-purple"] {
+  box-shadow: var(--ShadowSize) var(--purpleShadow);
+}
+
+.shadow[class*="-mauve"] {
+  box-shadow: var(--ShadowSize) var(--mauveShadow);
+}
+
+.shadow[class*="-pink"] {
+  box-shadow: var(--ShadowSize) var(--pinkShadow);
+}
+
+.shadow[class*="-brown"] {
+  box-shadow: var(--ShadowSize) var(--brownShadow);
+}
+
+.shadow[class*="-grey"] {
+  box-shadow: var(--ShadowSize) var(--greyShadow);
+}
+
+.shadow[class*="-gray"] {
+  box-shadow: var(--ShadowSize) var(--grayShadow);
+}
+
+.shadow[class*="-black"] {
+  box-shadow: var(--ShadowSize) var(--blackShadow);
+}
+
+.shadow[class*="-white"] {
+  box-shadow: var(--ShadowSize) var(--blackShadow);
+}
+
+.text-shadow[class*="-red"] {
+  text-shadow: var(--ShadowSize) var(--redShadow);
+}
+
+.text-shadow[class*="-orange"] {
+  text-shadow: var(--ShadowSize) var(--orangeShadow);
+}
+
+.text-shadow[class*="-yellow"] {
+  text-shadow: var(--ShadowSize) var(--yellowShadow);
+}
+
+.text-shadow[class*="-olive"] {
+  text-shadow: var(--ShadowSize) var(--oliveShadow);
+}
+
+.text-shadow[class*="-green"] {
+  text-shadow: var(--ShadowSize) var(--greenShadow);
+}
+
+.text-shadow[class*="-cyan"] {
+  text-shadow: var(--ShadowSize) var(--cyanShadow);
+}
+
+.text-shadow[class*="-blue"] {
+  text-shadow: var(--ShadowSize) var(--blueShadow);
+}
+
+.text-shadow[class*="-purple"] {
+  text-shadow: var(--ShadowSize) var(--purpleShadow);
+}
+
+.text-shadow[class*="-mauve"] {
+  text-shadow: var(--ShadowSize) var(--mauveShadow);
+}
+
+.text-shadow[class*="-pink"] {
+  text-shadow: var(--ShadowSize) var(--pinkShadow);
+}
+
+.text-shadow[class*="-brown"] {
+  text-shadow: var(--ShadowSize) var(--brownShadow);
+}
+
+.text-shadow[class*="-grey"] {
+  text-shadow: var(--ShadowSize) var(--greyShadow);
+}
+
+.text-shadow[class*="-gray"] {
+  text-shadow: var(--ShadowSize) var(--grayShadow);
+}
+
+.text-shadow[class*="-black"] {
+  text-shadow: var(--ShadowSize) var(--blackShadow);
+}
+
+.bg-img {
+  background-size: cover;
+  background-position: center;
+  background-repeat: no-repeat;
+}
+
+.bg-mask {
+  background-color: var(--black);
+  position: relative;
+}
+
+.bg-mask::after {
+  content: "";
+  border-radius: inherit;
+  width: 100%;
+  height: 100%;
+  display: block;
+  background-color: rgba(0, 0, 0, 0.4);
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  top: 0;
+}
+
+.bg-mask view, .bg-mask cover-view {
+  z-index: 5;
+  position: relative;
+}
+
+.bg-video {
+  position: relative;
+}
+
+.bg-video video {
+  display: block;
+  height: 100%;
+  width: 100%;
+  -o-object-fit: cover;
+  object-fit: cover;
+  position: absolute;
+  top: 0;
+  z-index: 0;
+  pointer-events: none;
+}
+
+/* ==================
+          文本
+ ==================== */
+
+.text-xs {
+  font-size: 20rpx;
+}
+
+.text-sm {
+  font-size: 24rpx;
+}
+
+.text-df {
+  font-size: 28rpx;
+}
+
+.text-lg {
+  font-size: 32rpx;
+}
+
+.text-xl {
+  font-size: 36rpx;
+}
+
+.text-xxl {
+  font-size: 44rpx;
+}
+
+.text-sl {
+  font-size: 80rpx;
+}
+
+.text-xsl {
+  font-size: 120rpx;
+}
+
+.text-Abc {
+  text-transform: Capitalize;
+}
+
+.text-ABC {
+  text-transform: Uppercase;
+}
+
+.text-abc {
+  text-transform: Lowercase;
+}
+
+.text-price::before {
+  content: "¥";
+  font-size: 80%;
+  margin-right: 4rpx;
+}
+
+.text-cut {
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+.text-bold {
+  font-weight: bold;
+}
+
+.text-center {
+  text-align: center;
+}
+
+.text-content {
+  line-height: 1.6;
+}
+
+.text-left {
+  text-align: left;
+}
+
+.text-right {
+  text-align: right;
+}
+
+.text-red, .line-red, .lines-red {
+  color: var(--red);
+}
+
+.text-orange, .line-orange, .lines-orange {
+  color: var(--orange);
+}
+
+.text-zhitiao {
+  color: #991d3b;
+}
+
+.text-yellow, .line-yellow, .lines-yellow {
+  color: var(--yellow);
+}
+
+.text-olive, .line-olive, .lines-olive {
+  color: var(--olive);
+}
+
+.text-nsblue, .line-nsblue, .lines-nsblue {
+  color: var(--nsblue);
+}
+
+.text-green, .line-green, .lines-green {
+  color: var(--green);
+}
+
+.text-cyan, .line-cyan, .lines-cyan {
+  color: var(--cyan);
+}
+
+.text-blue, .line-blue, .lines-blue {
+  color: var(--blue);
+}
+
+.text-purple, .line-purple, .lines-purple {
+  color: var(--purple);
+}
+
+.text-mauve, .line-mauve, .lines-mauve {
+  color: var(--mauve);
+}
+
+.text-pink, .line-pink, .lines-pink {
+  color: var(--pink);
+}
+
+.text-brown, .line-brown, .lines-brown {
+  color: var(--brown);
+}
+
+.text-grey, .line-grey, .lines-grey {
+  color: var(--grey);
+}
+
+.text-gray, .line-gray, .lines-gray {
+  color: var(--gray);
+}
+
+.text-black, .line-black, .lines-black {
+  color: var(--black);
+}
+
+.text-white, .line-white, .lines-white {
+  color: var(--white);
+}
diff --git a/SunshineLnsMinApp/images/home/icon_1xjl.svg b/SunshineLnsMinApp/images/home/icon_1xjl.svg
new file mode 100644
index 0000000..439c5db
--- /dev/null
+++ b/SunshineLnsMinApp/images/home/icon_1xjl.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120"><defs><style>.cls-1,.cls-2{fill:#fff4f0;}.cls-1,.cls-4,.cls-5,.cls-6{fill-rule:evenodd;}.cls-3{fill:#2c2c2c;}.cls-4{fill:#ee6e33;}.cls-5{fill:#fff;}.cls-6{fill:#fcfcfc;}</style></defs><title>icon_1xjl</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M60,0A60,60,0,1,1,0,60,60,60,0,0,1,60,0Z"/><ellipse class="cls-2" cx="89.45" cy="36.87" rx="11.72" ry="11.72"/><path class="cls-3" d="M89.45,50.59a13.72,13.72,0,1,1,13.72-13.72A13.73,13.73,0,0,1,89.45,50.59Zm0-23.44a9.72,9.72,0,1,0,9.72,9.72A9.73,9.73,0,0,0,89.45,27.15Z"/><circle class="cls-2" cx="30.55" cy="36.87" r="11.72"/><path class="cls-3" d="M30.55,50.59A13.72,13.72,0,1,1,44.27,36.87,13.73,13.73,0,0,1,30.55,50.59Zm0-23.44a9.72,9.72,0,1,0,9.72,9.72A9.73,9.73,0,0,0,30.55,27.15Z"/><path class="cls-1" d="M99.77,62.85a32,32,0,0,0-32-32H52.22a32,32,0,0,0-32,32h0a32,32,0,0,0,32,32H67.78a32,32,0,0,0,32-32Z"/><path class="cls-3" d="M67.78,96.85H52.22a34,34,0,0,1,0-68H67.78a34,34,0,0,1,0,68Zm-15.55-64a30,30,0,0,0,0,60H67.78a30,30,0,0,0,0-60Z"/><path class="cls-4" d="M88.76,56a13,13,0,0,0-13-13H44.29a13,13,0,0,0-13,13h0a13,13,0,0,0,13,13H75.71a13,13,0,0,0,13-13Z"/><path class="cls-3" d="M75.71,71.09H44.29a14.93,14.93,0,0,1-10.64-4.41A15.12,15.12,0,0,1,29.24,56a15,15,0,0,1,15-15H75.71a15,15,0,0,1,15,15h0a15.12,15.12,0,0,1-4.41,10.64A14.93,14.93,0,0,1,75.71,71.09ZM44.29,45a11,11,0,0,0-11,11,11.1,11.1,0,0,0,3.23,7.81,11,11,0,0,0,7.81,3.24H75.71a11,11,0,0,0,7.81-3.23A11.1,11.1,0,0,0,86.76,56h0a11,11,0,0,0-11-11Z"/><path class="cls-5" d="M49.08,51.9A4.15,4.15,0,1,1,44.93,56,4.15,4.15,0,0,1,49.08,51.9Z"/><path class="cls-3" d="M49.08,62.19A6.15,6.15,0,1,1,55.23,56,6.15,6.15,0,0,1,49.08,62.19Zm0-8.29A2.15,2.15,0,1,0,51.23,56,2.15,2.15,0,0,0,49.08,53.9Z"/><path class="cls-5" d="M70.57,51.55a4.15,4.15,0,1,1-4.14,4.14A4.15,4.15,0,0,1,70.57,51.55Z"/><path class="cls-3" d="M70.57,61.84a6.15,6.15,0,1,1,6.14-6.15A6.15,6.15,0,0,1,70.57,61.84Zm0-8.29a2.15,2.15,0,1,0,2.14,2.14A2.14,2.14,0,0,0,70.57,53.55Z"/><path class="cls-6" d="M69.21,82a35,35,0,0,1-18.42,0"/><path class="cls-3" d="M59.81,85.23a35.46,35.46,0,0,1-9.56-1.3,2,2,0,1,1,1.07-3.85,32.79,32.79,0,0,0,17.38,0,2,2,0,0,1,1,3.88A39.75,39.75,0,0,1,59.81,85.23Z"/></g></g></svg>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/images/home/icon_2pdjh.svg b/SunshineLnsMinApp/images/home/icon_2pdjh.svg
new file mode 100644
index 0000000..ea4fb67
--- /dev/null
+++ b/SunshineLnsMinApp/images/home/icon_2pdjh.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120"><defs><style>.cls-1{fill:#f0f9ff;}.cls-1,.cls-3{fill-rule:evenodd;}.cls-2{fill:#2c2c2c;}.cls-3,.cls-4{fill:#3ae;}</style></defs><title>icon_2pdjh</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M60,0A60,60,0,1,1,0,60,60,60,0,0,1,60,0Z"/><path class="cls-2" d="M86.21,30.15H36.08a4.81,4.81,0,1,1,0-9.62H86.21a4.81,4.81,0,1,1,0,9.62ZM36.08,24.53a.79.79,0,0,0-.56.22.82.82,0,0,0-.26.59.81.81,0,0,0,.24.58.8.8,0,0,0,.58.23H86.21a.81.81,0,1,0,0-1.62Z"/><path class="cls-2" d="M86,104.16H36.33a5.07,5.07,0,0,1,0-10.14H86a5.07,5.07,0,0,1,0,10.14ZM36.33,98a1.07,1.07,0,0,0,0,2.14H86A1.07,1.07,0,0,0,86,98Z"/><path class="cls-2" d="M38.07,96.78a2,2,0,0,1-2-2V28.27a2,2,0,1,1,4,0V94.78A2,2,0,0,1,38.07,96.78Z"/><path class="cls-2" d="M84.54,96.78a2,2,0,0,1-2-2V28.27a2,2,0,0,1,4,0V94.78A2,2,0,0,1,84.54,96.78Z"/><path class="cls-2" d="M84.54,96.78H38.07a2,2,0,0,1-1.66-3.12L50.73,72.38a20.25,20.25,0,0,0-.38-23.08c-14.61-20.21-14.61-20.21-14.61-21a2,2,0,0,1,.59-1.42c.75-.74.75-.75,24.91-.68,11.67,0,23.31.1,23.31.1a2,2,0,0,1,1.61,3.17L72.71,48a22.24,22.24,0,0,0-.31,25.65l13.79,20a2,2,0,0,1-1.65,3.13Zm-42.71-4H80.73L69.1,75.89a26.25,26.25,0,0,1,.37-30.27L80.63,30.25c-14-.07-31.67-.13-39.12-.07C43.41,32.83,47,37.8,53.59,47A24.27,24.27,0,0,1,54,74.62Z"/><path class="cls-3" d="M80.28,92.67l-38.08.05a32.44,32.44,0,0,1,38-.12Z"/><path class="cls-2" d="M61.1,53.21h0a2,2,0,0,1-1.5-.69L51,42.62a2,2,0,0,1,3-2.61l7.05,8.18,6.69-7.48a2,2,0,1,1,3,2.67l-8.21,9.18A2,2,0,0,1,61.1,53.21Z"/><path class="cls-4" d="M68.42,83.37a2,2,0,0,1-2-2V79.55a2,2,0,0,1,4,0v1.82A2,2,0,0,1,68.42,83.37Z"/><path class="cls-4" d="M56.77,78.11a2,2,0,0,1-2-2V74.29a2,2,0,0,1,4,0v1.82A2,2,0,0,1,56.77,78.11Z"/><path class="cls-4" d="M61.5,65.42a2,2,0,0,1-2-2V61.6a2,2,0,0,1,4,0v1.82A2,2,0,0,1,61.5,65.42Z"/><path class="cls-4" d="M60.73,90.19a2,2,0,0,1-2-2V86.37a2,2,0,0,1,4,0v1.82A2,2,0,0,1,60.73,90.19Z"/><path class="cls-4" d="M63.43,73.38a2,2,0,0,1-2-2V69.56a2,2,0,1,1,4,0v1.82A2,2,0,0,1,63.43,73.38Z"/></g></g></svg>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/images/home/icon_2ptyy.svg b/SunshineLnsMinApp/images/home/icon_2ptyy.svg
new file mode 100644
index 0000000..2d31a90
--- /dev/null
+++ b/SunshineLnsMinApp/images/home/icon_2ptyy.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120"><defs><style>.cls-1{fill:#f0f9ff;fill-rule:evenodd;}.cls-2{fill:#2c2c2c;}.cls-3{fill:#3ae;}</style></defs><title>icon_2ptyy</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M60,0A60,60,0,1,1,0,60,60,60,0,0,1,60,0Z"/><path class="cls-2" d="M50.06,94.12H25.94a7.78,7.78,0,0,1-7.79-7.78V33.66a7.78,7.78,0,0,1,7.79-7.78H83.55a7.85,7.85,0,0,1,5.5,2.27,7.75,7.75,0,0,1,2.28,5.51V44.35a2,2,0,0,1-4,0V33.66A3.78,3.78,0,0,0,86.22,31a3.82,3.82,0,0,0-2.67-1.1H25.94A3.83,3.83,0,0,0,23.26,31a3.77,3.77,0,0,0-1.11,2.67V86.34A3.77,3.77,0,0,0,23.26,89a3.82,3.82,0,0,0,2.67,1.1H50.06a2,2,0,1,1,0,4Z"/><path class="cls-3" d="M58.89,44H30.54a2,2,0,0,1,0-4H58.89a2,2,0,0,1,0,4Z"/><path class="cls-3" d="M58.89,60H30.54a2,2,0,0,1,0-4H58.89a2,2,0,0,1,0,4Z"/><path class="cls-2" d="M79.37,73.64A13.48,13.48,0,1,1,92.85,60.17,13.49,13.49,0,0,1,79.37,73.64Zm0-23a9.48,9.48,0,1,0,9.48,9.48A9.49,9.49,0,0,0,79.37,50.69Z"/><path class="cls-2" d="M99.85,94.12a2,2,0,0,1-2-2,18.48,18.48,0,0,0-37,0,2,2,0,0,1-4,0,22.48,22.48,0,0,1,45,0A2,2,0,0,1,99.85,94.12Z"/></g></g></svg>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/images/icon_fail.png b/SunshineLnsMinApp/images/icon_fail.png
new file mode 100644
index 0000000..dc8c9e3
--- /dev/null
+++ b/SunshineLnsMinApp/images/icon_fail.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/icon_file.png b/SunshineLnsMinApp/images/icon_file.png
new file mode 100644
index 0000000..d8b785a
--- /dev/null
+++ b/SunshineLnsMinApp/images/icon_file.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/icon_success.png b/SunshineLnsMinApp/images/icon_success.png
new file mode 100644
index 0000000..986f637
--- /dev/null
+++ b/SunshineLnsMinApp/images/icon_success.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/jtzs.png b/SunshineLnsMinApp/images/jtzs.png
new file mode 100644
index 0000000..358e140
--- /dev/null
+++ b/SunshineLnsMinApp/images/jtzs.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/userCenter/icon_grxx.png b/SunshineLnsMinApp/images/userCenter/icon_grxx.png
new file mode 100644
index 0000000..d9b1295
--- /dev/null
+++ b/SunshineLnsMinApp/images/userCenter/icon_grxx.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/userCenter/icon_sfqr.png b/SunshineLnsMinApp/images/userCenter/icon_sfqr.png
new file mode 100644
index 0000000..92e6401
--- /dev/null
+++ b/SunshineLnsMinApp/images/userCenter/icon_sfqr.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/userCenter/icon_wdtj.png b/SunshineLnsMinApp/images/userCenter/icon_wdtj.png
new file mode 100644
index 0000000..17187a9
--- /dev/null
+++ b/SunshineLnsMinApp/images/userCenter/icon_wdtj.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/userCenter/icon_xxtz.png b/SunshineLnsMinApp/images/userCenter/icon_xxtz.png
new file mode 100644
index 0000000..d3bcf9b
--- /dev/null
+++ b/SunshineLnsMinApp/images/userCenter/icon_xxtz.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/wjgk.jpg b/SunshineLnsMinApp/images/wjgk.jpg
new file mode 100644
index 0000000..ba93537
--- /dev/null
+++ b/SunshineLnsMinApp/images/wjgk.jpg
Binary files differ
diff --git a/SunshineLnsMinApp/images/wx_login.png b/SunshineLnsMinApp/images/wx_login.png
new file mode 100644
index 0000000..fb8deeb
--- /dev/null
+++ b/SunshineLnsMinApp/images/wx_login.png
Binary files differ
diff --git a/SunshineLnsMinApp/images/xiaoyu.png b/SunshineLnsMinApp/images/xiaoyu.png
new file mode 100644
index 0000000..b1808af
--- /dev/null
+++ b/SunshineLnsMinApp/images/xiaoyu.png
Binary files differ
diff --git a/SunshineLnsMinApp/package-lock.json b/SunshineLnsMinApp/package-lock.json
new file mode 100644
index 0000000..6d40b90
--- /dev/null
+++ b/SunshineLnsMinApp/package-lock.json
@@ -0,0 +1,11 @@
+{
+  "requires": true,
+  "lockfileVersion": 1,
+  "dependencies": {
+    "vant-weapp": {
+      "version": "1.0.0-beta.0",
+      "resolved": "https://registry.npmjs.org/vant-weapp/-/vant-weapp-1.0.0-beta.0.tgz",
+      "integrity": "sha512-5lFcQfibygU1WTLe/54vICmOfuOPgdfh8M4rUJXUBT8v7gqrql3QNIjv2T9/cJn0Oh8xK4LRZckHmAr50HWr6g=="
+    }
+  }
+}
diff --git a/SunshineLnsMinApp/package.json b/SunshineLnsMinApp/package.json
new file mode 100644
index 0000000..f410dca
--- /dev/null
+++ b/SunshineLnsMinApp/package.json
@@ -0,0 +1,6 @@
+{
+  "dependencies": {
+    "vant-weapp": "^1.0.0-beta.0",
+    "wux-weapp": "^3.8.2"
+  }
+}
diff --git a/SunshineLnsMinApp/pages/fzpx/fzpx.js b/SunshineLnsMinApp/pages/fzpx/fzpx.js
new file mode 100644
index 0000000..f19e43b
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpx/fzpx.js
@@ -0,0 +1,26 @@
+// pages/fzpx/fzpx.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+  // 跳转
+  linkFunction: function(event) {
+    var str = event.currentTarget.dataset['str'];
+    var id = event.currentTarget.dataset['id'];
+    console.log(id)
+    wx.navigateTo({
+      url: '../' + str + '/' + str +'?id='+id
+    })
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/fzpx/fzpx.json b/SunshineLnsMinApp/pages/fzpx/fzpx.json
new file mode 100644
index 0000000..0654462
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpx/fzpx.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "法制培训",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/fzpx/fzpx.wxml b/SunshineLnsMinApp/pages/fzpx/fzpx.wxml
new file mode 100644
index 0000000..bedc483
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpx/fzpx.wxml
@@ -0,0 +1,46 @@
+<!--pages/fzpx/fzpx.wxml-->
+
+<view class="fzpx">
+  <view class="fzpx-list">
+    <view class="fzpx-list-img">
+      <image mode='widthFix' src="./../../images/home/peixun3.jpg"></image>
+    </view>
+    <view class="fzpx-list-b">
+      <view class="fzpx-list-b-left">
+        <view class="fzpx-list-b-left-div font-lg">“沙鸥”宣讲团开展法治巡讲活动</view>
+        <view class="fzpx-list-b-left-div">2019.11.01 00:00
+          <span></span> 60/60人报名</view>
+      </view>
+      <view class="fzpx-list-b-right" data-str="fzpxInfo" data-id="3" bindtap='linkFunction'>我要报名</view>
+    </view>
+  </view>
+  <!-- <div class="index-gray "></div>
+  <view class="fzpx-list">
+    <view class="fzpx-list-img">
+      <image mode='widthFix' src="./../../images/home/peixun1.png"></image>
+    </view>
+    <view class="fzpx-list-b">
+      <view class="fzpx-list-b-left">
+        <view class="fzpx-list-b-left-div font-lg">法治培训知识</view>
+        <view class="fzpx-list-b-left-div">2019.02.24 15:00
+          <span></span> 12/40人报名</view>
+      </view>
+      <view class="fzpx-list-b-right" data-str="fzpxInfo" data-id="1" bindtap='linkFunction'>我要报名</view>
+    </view>
+  </view>
+  <div class="index-gray "></div>
+  <view class="fzpx-list">
+    <view class="fzpx-list-img">
+      <image mode='widthFix' src="./../../images/home/peixun2.png"></image>
+    </view>
+    <view class="fzpx-list-b">
+      <view class="fzpx-list-b-left">
+        <view class="fzpx-list-b-left-div font-lg">法治科普课堂</view>
+        <view class="fzpx-list-b-left-div">2019.08.12 12:00
+          <span></span> 20/60人报名</view>
+      </view>
+      <view class="fzpx-list-b-right" data-str="fzpxInfo" data-id="2" bindtap='linkFunction'>我要报名</view>
+    </view>
+  </view> -->
+
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/fzpx/fzpx.wxss b/SunshineLnsMinApp/pages/fzpx/fzpx.wxss
new file mode 100644
index 0000000..b9b0113
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpx/fzpx.wxss
@@ -0,0 +1,50 @@
+/* pages/fzpx/fzpx.wxss */
+
+.fzpx {
+  height: 100vh;
+  background: rgba(80, 119, 170, 0.06);
+}
+
+.fzpx-list {
+  background: #fff;
+  /* margin: 10PX;
+  border-radius: 6PX; */
+}
+
+.fzpx-list-img {
+}
+
+.fzpx-list-img image {
+  width: 100%;
+}
+
+.fzpx-list-b {
+  display: flex;
+  justify-content: space-between;
+  padding: 8PX 24PX;
+  align-items: center;
+  font-size: 14PX;
+}
+
+.fzpx-list-b-left {
+}
+
+.fzpx-list-b-right {
+  background: #249eff;
+  color: #fff;
+  padding: 8PX;
+  border-radius: 4PX;
+}
+
+.fzpx-list-b-left-div {
+  line-height: 26PX;
+}
+
+.fzpx-list-b-left-div span {
+  margin-left: 12PX;
+}
+
+.font-lg {
+  font-size: 16PX;
+  font-weight: 600;
+}
diff --git a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js
new file mode 100644
index 0000000..363690b
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.js
@@ -0,0 +1,80 @@
+// pages/fzpxInfo/fzpxInfo.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    id: '',
+    swiperList: [],
+    title: '',
+    num: '',
+    yuan: '',
+    duixiang: '',
+    neirong1: '',
+    neirong2: '',
+    neirong3: ''
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    console.log(options)
+    if (options.id == '1') {
+      this.setData({
+        swiperList: [{
+          id: 0,
+          type: 'image',
+          url: './../../images/home/peixun1.png'
+        }],
+        title: '法治培训知识',
+        num: '22/60',
+        yuan: '检察院',
+        duixiang: '南沙周边企业',
+        neirong1: '1.参观基地周边工作环境,学习工作态度',
+        neirong2: '2.学习课程科普知识,参与活动回答测试',
+        neirong3: '3.与领导沟通交流未检学习'
+      })
+    } else if (options.id == '2') {
+      this.setData({
+        swiperList: [{
+          id: 0,
+          type: 'image',
+          url: './../../images/home/peixun2.png'
+        }],
+        title: '法治科普课堂',
+        num: '22/40',
+        yuan: '检察院',
+        duixiang: '南沙周边企业',
+        neirong1: '1.参观基地周边工作环境,学习工作态度',
+        neirong2: '2.学习课程科普知识,参与活动回答测试',
+        neirong3: '3.与领导沟通交流未检学习'
+      })
+    } else {
+      this.setData({
+        swiperList: [{
+          id: 0,
+          type: 'image',
+          url: './../../images/home/peixun3.jpg'
+        }],
+        title: `“沙鸥”宣讲团开展法治巡讲活动`,
+        num: '60/60',
+        yuan: '南沙区人民检察院',
+        duixiang: '辖区各中小学生',
+        neirong1: '1.生活情境与法律知识结合,注意课程的日常性、实用性,与法律有关的知识为课程的重点',
+        neirong2: '2.根据中小学生对知识的接受程度和心理特征设计课程',
+        neirong3: '3.通过体验式教学让学生更容易掌握本次课程的法律知识点'
+      })
+    }
+  },
+
+  // 跳转
+  linkFunction: function() {
+    wx.showToast({
+      title: '抱歉,报名人数已满',
+      icon: 'none',
+      duration: 2000
+    })
+  },
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.json b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml
new file mode 100644
index 0000000..9c7cc8a
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxml
@@ -0,0 +1,47 @@
+<!--pages/fzpxInfo/fzpxInfo.wxml-->
+<view class="fzpxInfo-bg">
+  <swiper class="screen-swiper square-dot" indicator-dots="true" circular="true" autoplay="true" interval="5000" duration="500">
+    <swiper-item wx:for="{{swiperList}}" wx:key>
+      <image src="{{item.url}}" mode="aspectFill" wx:if="{{item.type=='image'}}"></image>
+      <video src="{{item.url}}" autoplay loop muted show-play-btn="{{false}}" controls="{{false}}" objectFit="cover" wx:if="{{item.type=='video'}}"></video>
+    </swiper-item>
+  </swiper>
+
+
+  <view class="fzpxInfo-main">
+    <view class="fzpxInfo-main-t">{{title}}</view>
+    <view class="fzpxInfo-main-group">
+      <view class="fzpxInfo-main-group-title">培训时间</view>
+      <view class="fzpxInfo-main-group-around">2019/11/01 00:00</view>
+    </view>
+    <view class="fzpxInfo-main-group">
+      <view class="fzpxInfo-main-group-title">报名人数</view>
+      <view class="fzpxInfo-main-group-around">{{num}}</view>
+    </view>
+    <view class="fzpxInfo-main-group">
+      <view class="fzpxInfo-main-group-title">组织方</view>
+      <view>
+        <view class="fzpxInfo-main-group-around">{{yuan}}</view>
+      </view>
+    </view>
+    <view class="fzpxInfo-main-group">
+      <view class="fzpxInfo-main-group-title">培训对象</view>
+      <view class="fzpxInfo-main-group-around">{{duixiang}}</view>
+    </view>
+    <view class="fzpxInfo-main-group" style="display:block">
+      <view class="fzpxInfo-main-group-title">培训内容</view>
+      <view>
+        <view class="fzpxInfo-main-group-around">{{neirong1}}</view>
+        <view class="fzpxInfo-main-group-around">{{neirong2}}</view>
+        <view class="fzpxInfo-main-group-around">{{neirong3}}</view>
+      </view>
+    </view>
+  </view>
+
+  <view class="fzpxInfo-foot margin-top">
+    <!-- <view class="fzpxInfo-foot-title">报名须知</view>
+    <view class="fzpxInfo-foot-txt">请确认所有参赛人员的排列顺序。相关信息会在参赛证件、参赛证明、获取证书等重要比赛文件中提现。</view>
+    <view class="fzpxInfo-foot-txt">由于参赛队信息填报原因产生的任何错误,在相关文件完成制作后一律不予修改;</view> -->
+    <view class="fzpxInfo-foot-button" bindtap='linkFunction'>我要报名</view>
+  </view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss
new file mode 100644
index 0000000..e727b4a
--- /dev/null
+++ b/SunshineLnsMinApp/pages/fzpxInfo/fzpxInfo.wxss
@@ -0,0 +1,82 @@
+/* pages/fzpxInfo/fzpxInfo.wxss */
+
+.fzpxInfo-bg {
+  background-color: #f1f1f1;
+  height: 100%;
+}
+
+.fzpxInfo-main {
+  background: #fff;
+}
+
+.fzpxInfo-main-t {
+  font-size: 16PX;
+  font-weight: 600;
+  border-bottom: 1rpx solid #eee;
+  background-color: var(--white);
+  padding: 1rpx 30rpx;
+  display: flex;
+  align-items: center;
+  min-height: 100rpx;
+  justify-content: space-between;
+  border-top: 1rpx solid #eee;
+}
+
+.fzpxInfo-main-group {
+  background-color: var(--white);
+  padding: 1rpx 30rpx;
+  display: flex;
+  align-items: center;
+  min-height: 100rpx;
+  justify-content: space-between;
+  border-top: 1rpx solid #eee;
+}
+
+.fzpxInfo-main-group-title {
+  text-align: justify;
+  padding-right: 30rpx;
+  font-size: 30rpx;
+  position: relative;
+  height: 60rpx;
+  line-height: 60rpx;
+  min-width: calc(4em + 30rpx);
+  font-weight: 600;
+}
+
+.fzpxInfo-main-group-around {
+  line-height: 24PX;
+}
+
+.fzpxInfo-foot {
+  background: #fff;
+  padding: 1px 30rpx;
+}
+
+.fzpxInfo-foot-title {
+  text-align: justify;
+  padding-right: 30rpx;
+  font-size: 30rpx;
+  position: relative;
+  height: 60rpx;
+  line-height: 60rpx;
+  min-width: calc(4em + 30rpx);
+  font-weight: 600;
+}
+
+.fzpxInfo-foot-txt {
+  margin: 6px 6px 24px;
+  line-height: 22PX;
+}
+
+.fzpxInfo-foot-button {
+  padding: 12PX;
+  background: #249eff;
+  color: #fff;
+  height: 50PX;
+  border-radius: 2PX;
+  text-align: center;
+  line-height: 26PX;
+  font-size: 16PX;
+  margin-top: 12PX;
+  margin-bottom: 12PX;
+}
diff --git a/SunshineLnsMinApp/pages/index/index.js b/SunshineLnsMinApp/pages/index/index.js
index d77abf8..f345ef8 100644
--- a/SunshineLnsMinApp/pages/index/index.js
+++ b/SunshineLnsMinApp/pages/index/index.js
@@ -18,8 +18,30 @@
     userCenter: app.globalData.imgUrl + '/image/icon_geren.svg',
     llz: app.globalData.imgUrl + '/image/icon_lianluo.svg',
     flxc: app.globalData.imgUrl + '/image/icon_flxc.svg',
+    ywbl1: './../images/home/1.png',
     showModel: false,
-    code: ''
+    code: '',
+    moduleDiv: 0,
+    TabCur: 0,
+    list: [{
+      name: '业务办理'
+    }, {
+      name: '办事指南'
+    }, {
+      name: '智慧未检'
+    }, {
+      name: '企业服务'
+    }, {
+      name: '智能问答'
+    }, {
+      name: '南检活动'
+    }, {
+      name: '检务公开'
+    }, {
+      name: '法治培训'
+    }, {
+      name: '知识产权'
+    }],
   },
   //事件处理函数
 
@@ -123,6 +145,32 @@
     })
   },
 
+
+  tabSelect(e) {
+    console.log(e.currentTarget.dataset.id)
+    this.setData({
+      moduleDiv: e.currentTarget.dataset.id,
+      TabCur: e.currentTarget.dataset.id,
+    })
+  },
+
+
+  linkFunction: function(event) {
+    var str = event.currentTarget.dataset['str'];
+    wx.navigateTo({
+      url: '../' + str + '/' + str
+    })
+  },
+
+  clinkFunction: function(event) {
+    var str = event.currentTarget.dataset['str'];
+    var id = event.currentTarget.dataset['id'];
+    console.log(id)
+    wx.navigateTo({
+      url: '../' + str + '/' + str + '?id=' + id
+    })
+  },
+
   onLoad: function() {
     var that = this;
     // 登录
diff --git a/SunshineLnsMinApp/pages/index/index.wxml b/SunshineLnsMinApp/pages/index/index.wxml
index f5dccf0..c13b782 100644
--- a/SunshineLnsMinApp/pages/index/index.wxml
+++ b/SunshineLnsMinApp/pages/index/index.wxml
@@ -35,15 +35,15 @@
         <image class="eight-pane-icon " src="{{bszn}} " />
         <div class="eight-pane-title ">办事指南</div>
       </div>
-      <div class="eight-pane-bottom-item "  bindtap="complain">
+      <div class="eight-pane-bottom-item " bindtap="complain">
         <image class="eight-pane-icon " src="{{sjxf}} " />
         <div class="eight-pane-title ">在线申诉</div>
       </div>
       <div class="eight-pane-bottom-item " data-url='../lawPublicity/lawPublicity' bindtap="login">
-        <image class="eight-pane-icon " src="{{flxc}} "/>
+        <image class="eight-pane-icon " src="{{flxc}} " />
         <div class="eight-pane-title ">法律宣传</div>
       </div>
-      <div class="eight-pane-bottom-item "  bindtap="progressQuery">
+      <div class="eight-pane-bottom-item " bindtap="progressQuery">
         <image class="eight-pane-icon " src="{{njhd}} " />
         <div class="eight-pane-title ">案件进度查询</div>
       </div>
@@ -53,101 +53,248 @@
         <image class="eight-pane-icon " src="{{tsjy}} " />
         <div class="eight-pane-title ">信息公开</div>
       </div>
-      <div class="eight-pane-bottom-item "  bindtap="junctionStation">
+      <div class="eight-pane-bottom-item " bindtap="junctionStation">
         <image class="eight-pane-icon " src="{{llz}} " />
         <div class="eight-pane-title ">人大联络站</div>
       </div>
-      <div class="eight-pane-bottom-item "  bindtap="dissDetail">
+      <div class="eight-pane-bottom-item " bindtap="dissDetail">
         <image class="eight-pane-icon " src="{{gyssp}} " />
         <div class="eight-pane-title ">公益诉讼随手拍</div>
       </div>
       <div class="eight-pane-bottom-item " bindtap="scanEvildoingInfo">
-        <image class="eight-pane-icon " src="{{shce}} "/>
+        <image class="eight-pane-icon " src="{{shce}} " />
         <div class="eight-pane-title ">扫黑除恶</div>
       </div>
     </div>
   </div>
   <div class="index-gray "></div>
-  <!-- 业务办理 -->
-  <div class="index-pane ">
-    <div class="index-pane-nav " bindtap='businessHandling'>
-      <span></span>
-      <span>业务办理</span>
-      <span>
-        <image class="index-pane-icon " src="{{user}} " />
-      </span>
-    </div>
-    <div class="index-pane-main ">
-      <div class="index-pane-row ">
-        <div class="index-pane-item" bindtap='complain'>在线申诉</div>
-        <div class="border-gray "></div>
-        <div class="index-pane-item" bindtap='compensation'>国家赔偿</div>
-      </div>
-      <div class="index-pane-row ">
-        <div class="index-pane-item " bindtap='petitionLetters'>信访预约</div>
-        <div class="border-gray "></div>
-        <div class="index-pane-item " bindtap='judicial'>司法救助</div>
-      </div>
-    </div>
-  </div>
-  <div class="index-gray "></div>
-  <!-- 办事指南 -->
-  <div class="index-pane ">
-    <div class="index-pane-nav ">
-      <span></span>
-      <span>办事指南</span>
-    </div>
-    <div class="index-pane-main ">
-      <div class="index-pane-row " >
-        <div class="index-pane-item " bindtap="artificial">在线答疑</div>
-        <div class="border-gray "></div>
-        <div class="index-pane-item " bindtap="guide">业务指引</div>
-      </div>
-      <div class="index-pane-row ">
-        <div class="index-pane-item " bindtap="artificial1">自助咨询</div>
-      </div>
-    </div>
-  </div>
-  <div class="index-gray "></div>
-  <!-- 南检活动 -->
-  <div class="index-pane ">
-    <div class="index-pane-nav ">
-      <span></span>
-      <span>南检活动</span>
-    </div>
-    <div class="index-pane-main ">
-      <div class="index-pane-row ">
-        <div class="index-pane-item " bindtap="activity">活动一览</div>
-      </div>
-    </div>
-  </div>
-  <div class="index-gray "></div>
-  <!-- 检务信息公开 -->
-  <div class="index-pane ">
-    <div class="index-pane-nav ">
-      <span></span>
-      <span>检务公开</span>
-    </div>
-    <div class="index-pane-main ">
-      <div class="index-pane-row ">
-        <div class="index-pane-item " bindtap="infoPublication" data-flag="xinxi">信息公开</div>
-        <div class="border-gray "></div>
-        <div class="index-pane-item " bindtap="infoPublication" data-flag="wenjian">文件公开</div>
-      </div>
-      <div class="index-pane-row ">
-        <div class="index-pane-item " bindtap='infoPublication' data-flag="yujuesuan">预决算公开</div>
-        <div class="border-gray "></div>
-        <div class="index-pane-item " bindtap="infoPublication" data-flag="gsgg">公示公告</div>
-      </div>
-      <div class="index-pane-row ">
-        <div class="index-pane-item " bindtap="developIng">重要案件信息公开</div>
-        <div class="border-gray "></div>
-        <div class="index-pane-item " bindtap="developIng">法律文书公开</div>
-      </div>
-    </div>
-  </div>
-  <div class="index-gray "></div>
+  <view class="VerticalBox">
+    <scroll-view class="VerticalNav nav" scroll-y scroll-with-animation scroll-top="{{VerticalNavTop}}" style="height:calc(100vh - 375rpx)">
+      <view class="cu-item {{index==TabCur?'text-nsblue cur':''}}" wx:for="{{list}}" wx:key bindtap='tabSelect' data-id="{{index}}">
+        {{item.name}}
+      </view>
+    </scroll-view>
+
+    <!-- 业务办理 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==0}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap='complain' style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/bianji.png');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            在线申诉
+          </view>
+        </view>
+        <view class="bg-img" bindtap='compensation' style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/bianji2.png');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            国家赔偿
+          </view>
+        </view>
+      </view>
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap='petitionLetters' style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/bianji3.png');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            信访预约
+          </view>
+        </view>
+        <view class="bg-img" bindtap='judicial' style="background-image: url('http://big5.wallcoo.com/animal/fly_and_freedom/images/0Vol_096_DY164.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            司法救助
+          </view>
+        </view>
+      </view>
+    </view>
+
+    <!-- 办事指南 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==1}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap='artificial' style="background-image: url('https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3467519497,3375000936&fm=26&gp=0.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            在线答疑
+          </view>
+        </view>
+        <view class="bg-img" bindtap='guide' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577322415&di=febcbb44162754f73bf55d4f844dfd27&imgtype=jpg&er=1&src=http%3A%2F%2Fwww.hscbw.com%2Fupfile%2F2018%2F0713%2F1531468832894544.jpeg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            业务指引
+          </view>
+        </view>
+      </view>
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap='artificial1' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576727764256&di=64169fb237014be57848a4059cd11f4a&imgtype=0&src=http%3A%2F%2Fwww.cbdio.com%2Fimage%2Fattachement%2Fjpg%2Fsite2%2F20151223%2F8c89a5f7ad3117e49d853a.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            自助咨询
+          </view>
+        </view>
+        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+        </view>
+      </view>
+    </view>
+
+    <!-- 智慧未检 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==2}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="zhwj" bindtap='linkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576726946235&di=15fdcf9948c40f8735441b0804091966&imgtype=0&src=http%3A%2F%2Flongtengnanyang.com%2FPicture%2F20160708%2F6360356422872253285423195.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            智慧未检
+          </view>
+        </view>
+        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+        </view>
+      </view>
+    </view>
+
+    <!-- 营商环境企业服务 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==3}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="weiwc" bindtap='linkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576727354981&di=56a2d7e671ad06e8afcd30f52f17f9a6&imgtype=0&src=http%3A%2F%2Fpic4.zhimg.com%2Fv2-ea6a66baa63645a810559de96c015dd9_1200x500.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            自贸区法律服务
+          </view>
+        </view>
+        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+        </view>
+      </view>
+    </view>
+
+    <!-- 智能法律咨询 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==4}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="lawInfo" data-id="1" bindtap='clinkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577694038&di=b29651c5f93bad8cd9639022789809a6&imgtype=jpg&er=1&src=http%3A%2F%2Fwww.zgfznews.com%2Fhynews%2FH5neqd%2Fm%2Fxxfl%2Fhk91%2Fcustomer%2F23349%2FZtHlZBMnoW3bvXYVVdE8EZIQCJqDXgOuJGh03fWT.jpeg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            交通肇事
+          </view>
+        </view>
+        <view class="bg-img" data-str="lawInfo" data-id="2" bindtap='clinkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577754645&di=a516a600eb90ba7d70b90ba2321c66ef&imgtype=jpg&er=1&src=http%3A%2F%2Fa1.huanqiu.cn%2Fimages%2F5ebca8f10f354c05cf8aa82e3c78043d.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            故意伤害
+          </view>
+        </view>
+      </view>
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="lawInfo" data-id="3" bindtap='clinkFunction' style="background-image: url('https://dpic.tiankong.com/7i/pz/QJ6779489612.jpg?x-oss-process=style/794ws');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            盗窃
+          </view>
+        </view>
+        <view class="bg-img" data-str="lawInfo" data-id="4" bindtap='clinkFunction' style="background-image: url('https://dpic.tiankong.com/p9/mr/QJ6583660179.jpg?x-oss-process=style/794ws');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            危险驾驶
+          </view>
+        </view>
+      </view>
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="lawInfo" data-id="5" bindtap='clinkFunction' style="background-image: url('https://dpic.tiankong.com/0p/pg/QJ9123647088.jpg?x-oss-process=style/794ws');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            敲诈勒索
+          </view>
+        </view>
+        <view class="bg-img" data-str="lawInfo" data-id="6" bindtap='clinkFunction' style="background-image: url('https://dpic.tiankong.com/gf/9z/QJ9109426335.jpg?x-oss-process=style/794ws');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            抢劫
+          </view>
+        </view>
+      </view>
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="lawInfo" data-id="7" bindtap='clinkFunction' style="background-image: url('https://dpic.tiankong.com/6n/ha/QJ6103836131.jpg?x-oss-process=style/794ws');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            非法拘禁
+          </view>
+        </view>
+        <view class="bg-img" data-str="lawInfo" data-id="8" bindtap='clinkFunction' style="background-image: url('https://dpic.tiankong.com/mk/ew/QJ6522038827.jpg?x-oss-process=style/794ws');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            抢夺
+          </view>
+        </view>
+      </view>
+    </view>
+
+    <!-- 南检活动 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==5}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap='activity' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576727840095&di=c57a0f0d43a2b175981b679f8e328428&imgtype=0&src=http%3A%2F%2Fwx2.sinaimg.cn%2Fcrop.0.0.738.415.1000%2F006ba4mely1fmndnl221jj30m50bjq5i.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            活动一览
+          </view>
+        </view>
+        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+        </view>
+      </view>
+
+
+    </view>
+
+    <!-- 检务信息公开 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==6}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap="infoPublication" data-flag="xinxi" style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576728261768&di=750bafb6daf69115a49fa3f643493a50&imgtype=0&src=http%3A%2F%2Fb.hiphotos.baidu.com%2Fexp%2Fw%3D500%2Fsign%3D5bb88fbc0ad162d985ee621c21dea950%2F8644ebf81a4c510f804923626059252dd42aa53d.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            信息公开
+          </view>
+        </view>
+        <view class="bg-img" bindtap="infoPublication" data-flag="wenjian" style="background-image: url('https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=46062777,1121802742&fm=26&gp=0.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            文件公开
+          </view>
+        </view>
+      </view>
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap='infoPublication' data-flag="yujuesuan" style="background-image: url('https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2736119777,3047650455&fm=26&gp=0.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            预决算公开
+          </view>
+        </view>
+        <view class="bg-img" bindtap="infoPublication" data-flag="gsgg" style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576728478957&di=92cf3e9b32826d6c0ec68b6306dbcdde&imgtype=0&src=http%3A%2F%2Ffile02.16sucai.com%2Fd%2Ffile%2F2014%2F0929%2F3955d4164aff7094561456a5f429d0b3.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            公示公告
+          </view>
+        </view>
+      </view>
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" bindtap="developIng" style="background-image: url('https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3963951738,2508118699&fm=26&gp=0.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            重要案件信息公开
+          </view>
+        </view>
+        <view class="bg-img" bindtap="developIng" style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576728662050&di=930e146d11613d111458d6f4c79d793e&imgtype=0&src=http%3A%2F%2Fwww.texindex.com.cn%2FUpload%2F201311%2F05%2F201311584310595.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            法律文书公开
+          </view>
+        </view>
+      </view>
+    </view>
+
+    <!-- 法治培训服务 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==7}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="fzpx" bindtap='linkFunction' style="background-image: url('https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1291150546,1510144282&fm=26&gp=0.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            法治培训
+          </view>
+        </view>
+        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+        </view>
+        <!-- <view class='VerticalNav-flex-div'></view> -->
+      </view>
+      <!-- <view class='VerticalNav-flex-t'>
+        <view class='VerticalNav-flex-div'>信访预约</view>
+        <view class='VerticalNav-flex-div'>监督联络站</view>
+      </view> -->
+    </view>
+
+    <!-- 知识产权 -->
+    <view class='VerticalNav-flex' wx:if="{{moduleDiv==8}}">
+      <view class='VerticalNav-flex-t'>
+        <view class="bg-img" data-str="lawInfo" data-id="9" bindtap='clinkFunction' style="background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577104674828&di=1ad5819ce06281fb5090a4038980917e&imgtype=0&src=http%3A%2F%2Fimage.sike.news.cn%2Fuploads%2F2019%2F05%2F2019-05-2451.jpg');margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+          <view class="bg-shadeTop">
+            知识产权
+          </view>
+        </view>
+        <view class="bg-img" style="margin: 6px;height: 78px;flex: 1; line-height: 78px;">
+        </view>
+      </view>
+    </view>
+
+  </view>
 </div>
+
 <div wx:if="{{showModel}}" class="13">
   <div class="popLayer "></div>
   <div class="popup ">
diff --git a/SunshineLnsMinApp/pages/index/index.wxss b/SunshineLnsMinApp/pages/index/index.wxss
index 084db44..8350f7c 100644
--- a/SunshineLnsMinApp/pages/index/index.wxss
+++ b/SunshineLnsMinApp/pages/index/index.wxss
@@ -31,12 +31,12 @@
   z-index: 1;
 }
 
-.userinfo-avatar{
-  overflow:hidden;  
-  display: block;  
-  width: 10vh;  
-  height: 10vh;  
-  border-radius: 50%;  
+.userinfo-avatar {
+  overflow: hidden;
+  display: block;
+  width: 10vh;
+  height: 10vh;
+  border-radius: 50%;
 }
 
 .index-item-icon {
@@ -76,7 +76,8 @@
   height: 14vh;
   width: 100%;
   display: flex;
-  margin: 5vh 0 0;
+  padding: 5vh 0 0;
+  background-color: #fff;
 }
 
 .index-mycontent-left {
@@ -157,7 +158,7 @@
   justify-content: center;
   align-items: center;
   height: 4vh;
-  text-align:center;
+  text-align: center;
 }
 
 .index-pane {
@@ -256,9 +257,85 @@
 }
 
 .popup-button {
-  width:14vh;
+  width: 14vh;
   font-size: 16px;
   color: #1dab1d;
   border: 1px solid #1dab1d;
   background-color: #fff;
 }
+
+/* pages/component/nav/nav.wxss */
+
+.VerticalNav.nav {
+  width: 280rpx;
+  white-space: initial;
+}
+
+.VerticalNav.nav .cu-item {
+  width: 100%;
+  text-align: center;
+  background-color: #fff;
+  margin: 0;
+  border: none;
+  height: 50px;
+  position: relative;
+}
+
+.VerticalNav.nav .cu-item.cur {
+  background-color: #f1f1f1;
+}
+
+.VerticalNav.nav .cu-item.cur::after {
+  content: "";
+  width: 8rpx;
+  height: 30rpx;
+  border-radius: 10rpx 0 0 10rpx;
+  position: absolute;
+  background-color: currentColor;
+  top: 0;
+  right: 0rpx;
+  bottom: 0;
+  margin: auto;
+}
+
+.VerticalBox {
+  display: flex;
+}
+
+.VerticalMain {
+  background-color: #f1f1f1;
+}
+
+.VerticalNav-flex {
+  width: 100%;
+  background: #f1f1f1;
+}
+
+.VerticalNav-flex-t {
+  display: flex;
+  text-align: center;
+  line-height: 48px;
+}
+
+.VerticalNav-flex-div {
+  flex: 1;
+  height: 78px;
+  color: #fff;
+  margin: 6px;
+  text-align: center;
+  line-height: 78px;
+  /* background-color: #000;
+  opacity: 0.2; */
+  background-repeat: no-repeat;
+  background-size: 100% 100%;
+}
+
+.VerticalNav-flex-div1 {
+  flex: 1;
+  height: 78px;
+  color: #fff;
+  margin: 6px;
+  text-align: center;
+  line-height: 78px;
+  opacity: 0.2;
+}
diff --git a/SunshineLnsMinApp/pages/junctionStation/junctionStation.js b/SunshineLnsMinApp/pages/junctionStation/junctionStation.js
index bee370f..260c6ba 100644
--- a/SunshineLnsMinApp/pages/junctionStation/junctionStation.js
+++ b/SunshineLnsMinApp/pages/junctionStation/junctionStation.js
@@ -54,7 +54,7 @@
         break;
       case 'renmin':
         titleName = '人民监督员联络站';
-        nameLabel = '人民检查员编号';
+        nameLabel = '人民检察员编号';
         businessType = 1;
         break;
       case 'zhengxie':
diff --git a/SunshineLnsMinApp/pages/lawInfo/lawInfo.js b/SunshineLnsMinApp/pages/lawInfo/lawInfo.js
new file mode 100644
index 0000000..3088068
--- /dev/null
+++ b/SunshineLnsMinApp/pages/lawInfo/lawInfo.js
@@ -0,0 +1,42 @@
+// pages/lawInfo/lawInfo.js
+//获取应用实例
+const app = getApp()
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    jtzs: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=51',
+    // jtzs: './../../images/jtzs.png',
+    gysr: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=164',
+    dq: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=201',
+    wxjs: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=4169',
+    qzls: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=209',
+    qj: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=200',
+    ffjj: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=170',
+    qd: 'https://h5-common2.aegis-info.com/html/penalty.html?causeid=203',
+    zscq: 'https://h5-common2.aegis-info.com/html/qavoice.html?id=6333&qamode=ipl&homestamp=1577070387000',
+    id: ''
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    this.setData({
+      id: options.id
+    })
+  },
+
+  previewImage: function(e) {
+    var current = e.target.dataset.src; //这里获取到的是一张本地的图片
+    console.log(current);
+    var array = [];
+    array.push(current);
+    wx.previewImage({
+      current: '',
+      urls: array //当前显示图片的链接
+    })
+  },
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/lawInfo/lawInfo.json b/SunshineLnsMinApp/pages/lawInfo/lawInfo.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/SunshineLnsMinApp/pages/lawInfo/lawInfo.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/lawInfo/lawInfo.wxml b/SunshineLnsMinApp/pages/lawInfo/lawInfo.wxml
new file mode 100644
index 0000000..db036ef
--- /dev/null
+++ b/SunshineLnsMinApp/pages/lawInfo/lawInfo.wxml
@@ -0,0 +1,25 @@
+<!--pages/lawInfo/lawInfo.wxml-->
+<!-- <view class="lawInfo">
+
+  <image wx:if="{{id==1}}" mode='widthFix' class="lawInfo-img" src="{{jtzs}}" data-src='{{jtzs}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==2}}" mode='widthFix' class="lawInfo-img" src="{{gysr}}" data-src='{{gysr}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==3}}" mode='widthFix' class="lawInfo-img" src="{{dq}}" data-src='{{dq}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==4}}" mode='widthFix' class="lawInfo-img" src="{{wxjs}}" data-src='{{wxjs}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==5}}" mode='widthFix' class="lawInfo-img" src="{{qzls}}" data-src='{{qzls}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==6}}" mode='widthFix' class="lawInfo-img" src="{{qj}}" data-src='{{qj}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==7}}" mode='widthFix' class="lawInfo-img" src="{{ffjj}}" data-src='{{ffjj}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==8}}" mode='widthFix' class="lawInfo-img" src="{{qd}}" data-src='{{qd}}' bindtap='previewImage'></image>
+  <image wx:if="{{id==9}}" mode='widthFix' class="lawInfo-img" src="{{zscq}}" data-src='{{zscq}}' bindtap='previewImage'></image>
+  <view class="lawInfo-size">识别二维码,可以查看具体内容</view>
+</view> -->
+
+
+<web-view wx:if="{{id==1}}" src="{{jtzs}}"></web-view>
+<web-view wx:if="{{id==2}}" src="{{gysr}}"></web-view>
+<web-view wx:if="{{id==3}}" src="{{dq}}"></web-view>
+<web-view wx:if="{{id==4}}" src="{{wxjs}}"></web-view>
+<web-view wx:if="{{id==5}}" src="{{qzls}}"></web-view>
+<web-view wx:if="{{id==6}}" src="{{qj}}"></web-view>
+<web-view wx:if="{{id==7}}" src="{{ffjj}}"></web-view>
+<web-view wx:if="{{id==8}}" src="{{qd}}"></web-view>
+<web-view wx:if="{{id==9}}" src="{{zscq}}"></web-view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/lawInfo/lawInfo.wxss b/SunshineLnsMinApp/pages/lawInfo/lawInfo.wxss
new file mode 100644
index 0000000..b2f36cf
--- /dev/null
+++ b/SunshineLnsMinApp/pages/lawInfo/lawInfo.wxss
@@ -0,0 +1,19 @@
+/* pages/lawInfo/lawInfo.wxss */
+
+.lawInfo {
+  width: 100%;
+  height: 100vh;
+  text-align: center;
+  padding-top: 20vh;
+}
+
+.lawInfo-img {
+  width: 220px;
+  height: 220PX;
+}
+
+.lawInfo-size {
+  color: #666;
+  font-size: 14px;
+  margin: 12PX;
+}
diff --git a/SunshineLnsMinApp/pages/verticalnav/verticalnav.js b/SunshineLnsMinApp/pages/verticalnav/verticalnav.js
new file mode 100644
index 0000000..3089395
--- /dev/null
+++ b/SunshineLnsMinApp/pages/verticalnav/verticalnav.js
@@ -0,0 +1,79 @@
+const app = getApp()
+Page({
+  data: {
+    StatusBar: app.globalData.StatusBar,
+    CustomBar: app.globalData.CustomBar,
+    Custom: app.globalData.Custom,
+    TabCur: 0,
+    MainCur: 0,
+    VerticalNavTop: 0,
+    moduleDiv:0,
+    list: [{
+      name: '业务办理'
+    }, {
+      name: '办事指南'
+    }, {
+      name: '智慧未检'
+    }, {
+      name: '南检活动'
+    }, {
+      name: '检务信息公开'
+    }, {
+      name: '法治培训服务'
+    }, {
+      name: '控告与申诉'
+    }, {
+      name: '营商环境'
+    }, {
+      name: '知识产权'
+    }],
+    load: true
+  },
+  onLoad() {
+    wx.showLoading({
+      title: '加载中...',
+      mask: true
+    });
+  },
+  onReady() {
+    wx.hideLoading()
+  },
+  tabSelect(e) {
+    console.log(e.currentTarget.dataset.id)
+    this.setData({
+      moduleDiv: e.currentTarget.dataset.id,
+      TabCur: e.currentTarget.dataset.id,
+    })
+  },
+  VerticalMain(e) {
+    let that = this;
+    let list = this.data.list;
+    let tabHeight = 0;
+    if (this.data.load) {
+      for (let i = 0; i < list.length; i++) {
+        let view = wx.createSelectorQuery().select("#main-" + list[i].id);
+        view.fields({
+          size: true
+        }, data => {
+          list[i].top = tabHeight;
+          tabHeight = tabHeight + data.height;
+          list[i].bottom = tabHeight;
+        }).exec();
+      }
+      that.setData({
+        load: false,
+        list: list
+      })
+    }
+    let scrollTop = e.detail.scrollTop + 20;
+    for (let i = 0; i < list.length; i++) {
+      if (scrollTop > list[i].top && scrollTop < list[i].bottom) {
+        that.setData({
+          VerticalNavTop: (list[i].id - 1) * 50,
+          TabCur: list[i].id
+        })
+        return false
+      }
+    }
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/verticalnav/verticalnav.json b/SunshineLnsMinApp/pages/verticalnav/verticalnav.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/SunshineLnsMinApp/pages/verticalnav/verticalnav.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/verticalnav/verticalnav.wxml b/SunshineLnsMinApp/pages/verticalnav/verticalnav.wxml
new file mode 100644
index 0000000..afae6d4
--- /dev/null
+++ b/SunshineLnsMinApp/pages/verticalnav/verticalnav.wxml
@@ -0,0 +1,116 @@
+<view class="VerticalBox">
+  <scroll-view class="VerticalNav nav" scroll-y scroll-with-animation scroll-top="{{VerticalNavTop}}" style="height:calc(100vh - 375rpx)">
+    <view class="cu-item {{index==TabCur?'text-nsblue cur':''}}" wx:for="{{list}}" wx:key bindtap='tabSelect' data-id="{{index}}">
+      {{item.name}}
+    </view>
+  </scroll-view>
+
+  <!-- 业务办理 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==0}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 办事指南 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==1}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 智慧未检 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==2}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 南检活动 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==3}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 检务信息公开 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==4}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 法治培训服务 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==5}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 控告与申诉 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==6}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 营商环境 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==7}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+  <!-- 知识产权 -->
+  <view class='VerticalNav-flex' wx:if="{{moduleDiv==8}}">
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>涉检信访</view>
+      <view class='VerticalNav-flex-div'>自贸区 \n 法律服务</view>
+    </view>
+    <view class='VerticalNav-flex-t'>
+      <view class='VerticalNav-flex-div'>信访预约</view>
+      <view class='VerticalNav-flex-div'>监督联络站</view>
+    </view>
+  </view>
+
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/verticalnav/verticalnav.wxss b/SunshineLnsMinApp/pages/verticalnav/verticalnav.wxss
new file mode 100644
index 0000000..f5a7498
--- /dev/null
+++ b/SunshineLnsMinApp/pages/verticalnav/verticalnav.wxss
@@ -0,0 +1,61 @@
+/* pages/component/nav/nav.wxss */
+
+.VerticalNav.nav {
+  width: 280rpx;
+  white-space: initial;
+}
+
+.VerticalNav.nav .cu-item {
+  width: 100%;
+  text-align: center;
+  background-color: #fff;
+  margin: 0;
+  border: none;
+  height: 50px;
+  position: relative;
+}
+
+.VerticalNav.nav .cu-item.cur {
+  background-color: #f1f1f1;
+}
+
+.VerticalNav.nav .cu-item.cur::after {
+  content: "";
+  width: 8rpx;
+  height: 30rpx;
+  border-radius: 10rpx 0 0 10rpx;
+  position: absolute;
+  background-color: currentColor;
+  top: 0;
+  right: 0rpx;
+  bottom: 0;
+  margin: auto;
+}
+
+.VerticalBox {
+  display: flex;
+}
+
+.VerticalMain {
+  background-color: #f1f1f1;
+}
+
+.VerticalNav-flex {
+  width: 100%;
+}
+
+.VerticalNav-flex-t {
+  display: flex;
+}
+
+.VerticalNav-flex-div {
+  flex: 1;
+  height: 78px;
+  color: #fff;
+  margin: 6px;
+  text-align: center;
+  line-height: 78px;
+
+  background-color: #000;
+  opacity: 0.2
+}
diff --git a/SunshineLnsMinApp/pages/weiwc/weiwc.js b/SunshineLnsMinApp/pages/weiwc/weiwc.js
new file mode 100644
index 0000000..3078c10
--- /dev/null
+++ b/SunshineLnsMinApp/pages/weiwc/weiwc.js
@@ -0,0 +1,66 @@
+// pages/weiwc/weiwc.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/weiwc/weiwc.json b/SunshineLnsMinApp/pages/weiwc/weiwc.json
new file mode 100644
index 0000000..7a03f59
--- /dev/null
+++ b/SunshineLnsMinApp/pages/weiwc/weiwc.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "功能升级中...",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/weiwc/weiwc.wxml b/SunshineLnsMinApp/pages/weiwc/weiwc.wxml
new file mode 100644
index 0000000..569ab89
--- /dev/null
+++ b/SunshineLnsMinApp/pages/weiwc/weiwc.wxml
@@ -0,0 +1,5 @@
+<!--pages/weiwc/weiwc.wxml-->
+<view class="weiwc">
+  <image mode='widthFix' src="https://xnwj.gznsjc.gov.cn/nsjc-charge/image/weiwc.png"></image>
+  <view>功能升级中</view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/weiwc/weiwc.wxss b/SunshineLnsMinApp/pages/weiwc/weiwc.wxss
new file mode 100644
index 0000000..7a46a84
--- /dev/null
+++ b/SunshineLnsMinApp/pages/weiwc/weiwc.wxss
@@ -0,0 +1,19 @@
+/* pages/weiwc/weiwc.wxss */
+
+.weiwc {
+  background: #fff;
+  height: 100vh;
+  padding: 24px;
+  text-align: center;
+}
+
+.weiwc image {
+  margin-top: 24%;
+}
+
+.weiwc view {
+  color: #249eff;
+  font-size: 22px;
+  padding: 24px;
+  font-weight: 600;
+}
diff --git a/SunshineLnsMinApp/pages/zhdt/zhdt.js b/SunshineLnsMinApp/pages/zhdt/zhdt.js
new file mode 100644
index 0000000..a8fcc04
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdt/zhdt.js
@@ -0,0 +1,48 @@
+// pages/zhdt/zhdt.js
+var app = getApp();
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    dongtai1_1: app.globalData.imgUrl + '/image/dongtai1-1.jpg',
+    dongtai2_1: app.globalData.imgUrl + '/image/dongtai2-1.jpg',
+    dongtai3_1: app.globalData.imgUrl + '/image/dongtai3-1.jpg',
+    inputShowed: false,
+    inputVal: "",
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+  linkFunction: function (event) {
+    var str = event.currentTarget.dataset['str'];
+    var id = event.currentTarget.dataset['id'];
+    wx.navigateTo({
+      url: '../' + str + '/' + str + '?id=' + id
+    })
+  },
+
+  showInput: function() {
+    this.setData({
+      inputShowed: true
+    });
+  },
+
+  hideInput: function() {
+    this.setData({
+      inputVal: "",
+      inputShowed: false
+    });
+  },
+  clearInput: function() {
+    this.setData({
+      inputVal: ""
+    }, () => {});
+  },
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhdt/zhdt.json b/SunshineLnsMinApp/pages/zhdt/zhdt.json
new file mode 100644
index 0000000..00af57d
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdt/zhdt.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "未检动态",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhdt/zhdt.wxml b/SunshineLnsMinApp/pages/zhdt/zhdt.wxml
new file mode 100644
index 0000000..02bf02d
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdt/zhdt.wxml
@@ -0,0 +1,76 @@
+<!--pages/zhdt/zhdt.wxml-->
+<!-- 搜索 -->
+  <view class="lawsList-search">
+    <view class="page">
+      <view class="page__bd">
+        <view class="weui-search-bar">
+          <view class="weui-search-bar__form">
+            <view class="weui-search-bar__box">
+              <icon class="weui-icon-search_in-box" type="search" size="14"></icon>
+              <input type="text" class="weui-search-bar__input" placeholder="搜索" value="{{inputVal}}" focus="{{inputShowed}}" bindinput="inputTyping" bindconfirm='confirmTap' />
+              <view class="weui-icon-clear" wx:if="{{inputVal.length > 0}}" bindtap="clearInput">
+                <icon type="clear" size="14"></icon>
+              </view>
+            </view>
+            <label class="weui-search-bar__label" hidden="{{inputShowed}}" bindtap="showInput">
+              <icon class="weui-icon-search" type="search" size="14"></icon>
+              <view class="weui-search-bar__text">搜索</view>
+            </label>
+          </view>
+          <view class="weui-search-bar__cancel-btn" hidden="{{!inputShowed}}" bindtap="hideInput">取消</view>
+        </view>
+      </view>
+    </view>
+  </view>
+<!-- <view class="index-gray "></view> -->
+<view class="zhwj-b">
+  <view class="zhwj-b-main" data-str="zhdtInfo" data-id="1" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">南沙区院召开2019“沙鸥”法治宣讲团年度总结暨课件评选会</view>
+      <view class="text-grey">检察宣传部 60阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image mode='widthFix' src="{{dongtai1_1}}"></image>
+    </view>
+  </view>
+
+  <view class="zhwj-b-main" data-str="zhdtInfo" data-id="2" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">“沙鸥”法治宣讲团进校园开展假前安全教育</view>
+      <view class="text-grey">检察宣传部 225阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image mode='widthFix' src="{{dongtai2_1}}"></image>
+    </view>
+  </view>
+
+  <view class="zhwj-b-main" data-str="zhdtInfo" data-id="3" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">我院与华尔心理咨询中心开展反家暴普法宣传</view>
+      <view class="text-grey">检察宣传部 361阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image mode='widthFix' src="{{dongtai3_1}}"></image>
+    </view>
+  </view>
+
+  <!-- <view class="zhwj-b-main" data-str="zhdtInfo" data-id="4" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">用心用情用力推进未检工作蒸蒸日上</view>
+      <view class="text-grey">检察宣传部 124阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image mode='widthFix' src="https://xnwj.gznsjc.gov.cn/nsjc-charge/image/dongtai4.png"></image>
+    </view>
+  </view>
+
+  <view class="zhwj-b-main" data-str="zhdtInfo" data-id="5" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">强化未检工作一体化机制建设</view>
+      <view class="text-grey">检察宣传部 124阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image mode='widthFix' src="https://xnwj.gznsjc.gov.cn/nsjc-charge/image/dongtai5.png"></image>
+    </view>
+  </view> -->
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhdt/zhdt.wxss b/SunshineLnsMinApp/pages/zhdt/zhdt.wxss
new file mode 100644
index 0000000..78ed655
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdt/zhdt.wxss
@@ -0,0 +1,30 @@
+/* pages/zhdt/zhdt.wxss */
+@import '../../weui.wxss';
+
+
+.zhwj-b-main {
+  display: flex;
+  border-bottom: 1px solid #ebf2fa;
+}
+
+.zhwj-b-head-l {
+  margin: 6px;
+  padding: 6px;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 100%;
+}
+
+.zhwj-b-head-r {
+  margin: 6px;
+}
+
+.zhwj-b-head-r image {
+  width: 108px;
+  height: 80px;
+}
+
+.zhwj-b {
+  background-color: #fff;
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.js b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.js
new file mode 100644
index 0000000..30ea5b2
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.js
@@ -0,0 +1,128 @@
+// pages/zhdtInfo/zhdtInfo.js
+var app = getApp();
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    id: '',
+    swiperList: [],
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    console.log(options.id)
+    this.setData({
+      id: options.id,
+    })
+    if (options.id == '1') {
+      this.setData({
+        swiperList: [{
+          id: 0,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai1-1.jpg',
+        }, {
+          id: 1,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai1-2.jpg',
+        }, {
+          id: 2,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai1-3.jpg',
+        }],
+      })
+    } else if (options.id == '2') {
+      this.setData({
+        swiperList: [{
+          id: 0,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai2-1.jpg',
+        }, {
+          id: 1,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai2-2.jpg',
+        }, {
+          id: 4,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai2-5.jpg',
+        }, {
+          id: 5,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai2-6.jpg',
+        }, {
+          id: 6,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai2-7.jpg',
+        }],
+      })
+    }else{
+      this.setData({
+        swiperList: [{
+          id: 0,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai3-1.jpg',
+        }, {
+          id: 1,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai3-2.jpg',
+        }, {
+          id: 2,
+          type: 'image',
+          url: app.globalData.imgUrl + '/image/dongtai3-3.jpg',
+        }],
+      })
+    }
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json
new file mode 100644
index 0000000..ccb2696
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "未检详情",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxml b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxml
new file mode 100644
index 0000000..1579c7c
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxml
@@ -0,0 +1,49 @@
+<!--pages/zhdtInfo/zhdtInfo.wxml-->
+
+<swiper class="screen-swiper square-dot" indicator-dots="true" circular="true" autoplay="true" interval="5000" duration="500">
+  <swiper-item wx:for="{{swiperList}}" wx:key>
+    <image src="{{item.url}}" mode="aspectFill"></image>
+    <!-- <video src="{{item.url}}" autoplay loop muted show-play-btn="{{false}}" controls="{{false}}" objectFit="cover" wx:if="{{item.type=='video'}}"></video> -->
+  </swiper-item>
+</swiper>
+
+<view class="zhgk-Info-main">
+  <view class=" text-lg" style="padding:30rpx 30rpx 0;">
+    <text class="zhgk-Info-main-title text-black">总体介绍</text>
+  </view>
+  <view class=' text-df padding' wx:if="{{id=='1'}}"> 2020年1月14日,我院召开2019“沙鸥”法治宣讲团年度总结暨课件评选会。广东省人民检察院第九检察部主任王霞、广州市人民检察院第七检察部主任王银梅、团市委权益与社会工作部副科长陈鹏君、团区委副书记徐千秋、区法宣办、区教育局等部门负责人应邀出席会议并对9个普法课件进行评选。会上,我院以视频花絮与大家回顾了“沙鸥”宣讲团2019年的工作点滴。9名宣讲员以饱满的热情、清晰的脉络分别介绍了自己的课件特色。省检第九检察部主任王霞、市检第七检察部主任王银梅分别对9个课件进行精彩点评。最后,我院党组成员、副检察长李东蓊从“全、新、精”三个方面总结2019年“沙鸥”宣讲团工作,并提出2020年的工作展望。经过评选,吴美玉、吴堃、姜玥、颜淑娜等四名干警荣获年度普法课件优胜奖。
+  </view>
+  <view class=' text-df padding' wx:if="{{id=='2'}}"> 2020年1月15日至17日,我院“沙鸥”法治宣讲团先后来到华南师范大学附属南沙中学、广州外国语学校附属学校、黄阁小学、麒麟中学开展假前安全教育,受众师生3000余人。宣讲员围绕交通安全、防性侵、网络安全等主题,通过生动活泼、喜闻乐见的方式开展精准化法治教育。
+  </view>
+  <view class=' text-df padding' wx:if="{{id=='3'}}"> 家庭暴力无小事。近日,我院应南沙区妇联、广州市华尔心理健康咨询中心的邀请,到广东岭东技工职业学校开展以“一起向家庭暴力说不”为主题的反家暴法律知识讲座。检察官结合新闻热点、司法判例,解读《中华人民共和国反家暴法》,重点讲解《反家暴法》中的强制报告制度、公安告诫书、人身安全保护令等,讲授如何应对家暴保护自己和家人的合法权益。
+  </view>
+</view>
+
+<view class="zhgk-Info-main">
+  <view class=" text-lg" style="padding:30rpx 30rpx 0;">
+    <text class="zhgk-Info-main-title text-black">指导文件</text>
+  </view>
+  <view class="padding">
+    <view class=' text-df'>最高人民检察院《中华人民共和国最高人民检察院检察建议书》</view>
+    <view class=' text-df'>最高人民检察院《2018-2022年检察改革工作规划》</view>
+    <view class=' text-df'>最高人民检察院《最高人民检察院关于全面加强未成年人国家司法救助工作的意见》</view>
+  </view>
+</view>
+
+<view class="zhgk-Info-main">
+  <view class=" text-lg" style="padding:30rpx 30rpx 0;">
+    <text class="zhgk-Info-main-title text-black">未检职能</text>
+  </view>
+  <view class="padding">
+    <view class=' text-df'> 广州市南沙区人民检察院是国家法律监督机关,负责辖区各项检察工作,接受广州市人民检察院的领导,对区人民代表大会及其常委会负责并报告工作,接受其监督,执行其决议。主要职责是:</view>
+    <view class=' text-df'>1.制定辖区检察工作计划,落实检察工作任务。</view>
+    <view class=' text-df'>2.依法对公安机关和检察机关直接受理的犯罪案件进行审查批准逮捕、决定逮捕、提起公诉、出庭支持公诉。</view>
+    <view class=' text-df'>4.依法对执行机关执行刑罚的活动以及监狱、看守所的活动是否合法实行监督。</view>
+    <view class=' text-df'>5.对同级人民法院已经发生法律效力,确有错误的判决和裁定,依法提请上一级人民检察院向同级人民法院提出抗诉。</view>
+    <view class=' text-df'> 6.受理单位和个人的报案、控告、申诉、举报以及犯罪嫌疑人的自首。</view>
+    <view class=' text-df'>7.开展检察环节的综合治理工作。</view>
+    <view class=' text-df'> 8.负责本院队伍建设和思想政治工作,协助上级检察机关和区有关主管部门管理本院的机构编制,实施相关人员的管理办法;协助区委有关部门对本院的领导班子成员的管理和考核;提请区人大常委会对本院检察员、检察委员会委员、副检察长的任免;负责管理本院直属机构;管理本院的教育培训工作。</view>
+    <view class=' text-df'> 9.组织领导本院的纪检监察和宣传工作。</view>
+    <view class=' text-df'>10.承办其他应由本院负责的事项。</view>
+  </view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxss b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxss
new file mode 100644
index 0000000..41958e3
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhdtInfo/zhdtInfo.wxss
@@ -0,0 +1,9 @@
+/* pages/zhdtInfo/zhdtInfo.wxss */
+
+.zhgk-Info-main {
+  background-color: #fff;
+}
+
+.zhgk-Info-main-title {
+  color: #249eff;
+}
diff --git a/SunshineLnsMinApp/pages/zhgh/zhgh.js b/SunshineLnsMinApp/pages/zhgh/zhgh.js
new file mode 100644
index 0000000..dc3cb2e
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgh/zhgh.js
@@ -0,0 +1,47 @@
+// pages/zhgh/zhgh.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    TabCur: 0,
+    list: ['合适成年人', '跟踪帮教', '社会调查', '疏导干预'],
+    infoList: [{
+      img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576749884261&di=4aea8bc541cc566e82c98bbab89c3a50&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20180329%2Fd244aac01ed543d5a9ddbfdde6796e67.jpeg',
+      name: '农村老人关护',
+      status: '待完成'
+    }, {
+        img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576749926263&di=25f2103c52b624a5333b195cafa1feb4&imgtype=0&src=http%3A%2F%2Fphotocdn.sohu.com%2F20131023%2FImg388741073.jpg',
+      name: '老人院陪护聊天',
+      status: '已完成'
+    }, {
+        img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576749996179&di=3285ac9bfc16e70040ab17572ddc9adb&imgtype=0&src=http%3A%2F%2Finews.gtimg.com%2Fnewsapp_match%2F0%2F10906442862%2F0.jpg',
+      name: '广场卫生执勤辅助',
+      status: '已完成'
+    }, ]
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+
+  tabSelect(e) {
+    this.setData({
+      TabCur: e.currentTarget.dataset.id,
+      scrollLeft: (e.currentTarget.dataset.id - 1) * 60
+    })
+  },
+
+  // 跳转
+  linkFunction: function(event) {
+    var str = event.currentTarget.dataset['str'];
+    wx.navigateTo({
+      url: '../' + str + '/' + str
+    })
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhgh/zhgh.json b/SunshineLnsMinApp/pages/zhgh/zhgh.json
new file mode 100644
index 0000000..88f9dd8
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgh/zhgh.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "社会关护任务",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhgh/zhgh.wxml b/SunshineLnsMinApp/pages/zhgh/zhgh.wxml
new file mode 100644
index 0000000..af5d68b
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgh/zhgh.wxml
@@ -0,0 +1,107 @@
+<!--pages/zhgh/zhgh.wxml-->
+<view class='zhgh-bg'>
+  <scroll-view scroll-x class="bg-white nav">
+    <view class="flex text-center">
+      <view class="cu-item flex-sub {{index==TabCur?'text-blue cur':''}}" wx:for="{{4}}" wx:key bindtap="tabSelect" data-id="{{index}}">
+        {{list[index]}}
+      </view>
+    </view>
+  </scroll-view>
+
+  <view class="zhgh-list" wx:if='{{TabCur==0}}' wx:for="{{infoList}}" wx:key>
+    <view class="zhgh-list" data-str="zhghInfo" bindtap='linkFunction'>
+      <view class="zhgh-list-img">
+        <image src="{{item.img}}"></image>
+      </view>
+      <view class="zhgh-list-b">
+        <view class="zhgh-list-b-left">
+          <view class="zhgh-list-b-left-div font-lg">{{item.name}}</view>
+          <view class="zhgh-list-b-left-div">2019.12.12 20:00</view>
+        </view>
+        <view class="zhgh-list-b-right">{{item.status}}</view>
+      </view>
+    </view>
+  </view>
+
+  <view wx:if='{{TabCur==1}}'>
+    <view class="zhgh-list" data-str="zhghInfo" bindtap='linkFunction'>
+      <view class="zhgh-list-img">
+        <image src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577344816&di=7e4576e47e6cbbce2e4e4c80ce501c85&imgtype=jpg&er=1&src=http%3A%2F%2Fhz.wenming.cn%2Fwm_jy%2Ffocus%2F201809%2FW020180917332975135768.jpg"></image>
+      </view>
+      <view class="zhgh-list-b">
+        <view class="zhgh-list-b-left">
+          <view class="zhgh-list-b-left-div font-lg">帮教未成年人</view>
+          <view class="zhgh-list-b-left-div">2019.11.23 12:00</view>
+        </view>
+        <view class="zhgh-list-b-right">待完成</view>
+      </view>
+    </view>
+    <view class="zhgh-list" data-str="zhghInfo" bindtap='linkFunction'>
+      <view class="zhgh-list-img">
+        <image src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3881324343,2281839731&fm=15&gp=0.jpg"></image>
+      </view>
+      <view class="zhgh-list-b">
+        <view class="zhgh-list-b-left">
+          <view class="zhgh-list-b-left-div font-lg">学习辅导</view>
+          <view class="zhgh-list-b-left-div">2019.12.12 20:00</view>
+        </view>
+        <view class="zhgh-list-b-right">待完成</view>
+      </view>
+    </view>
+  </view>
+
+
+  <view wx:if='{{TabCur==2}}'>
+    <view class="zhgh-list" data-str="zhghInfo" bindtap='linkFunction'>
+      <view class="zhgh-list-img">
+        <image src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576750458167&di=f36e82a737b6ffe14a638c3e9a1afd6c&imgtype=0&src=http%3A%2F%2Fimg.cjyun.org%2Fa%2F10064%2F201701%2Fd5fd012d0f7be1c0ee68738178595a4c.jpeg"></image>
+      </view>
+      <view class="zhgh-list-b">
+        <view class="zhgh-list-b-left">
+          <view class="zhgh-list-b-left-div font-lg">社会环境调查</view>
+          <view class="zhgh-list-b-left-div">2019.12.12 20:00</view>
+        </view>
+        <view class="zhgh-list-b-right">待完成</view>
+      </view>
+    </view>
+    <view class="zhgh-list" data-str="zhghInfo" bindtap='linkFunction'>
+      <view class="zhgh-list-img">
+        <image src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576750537170&di=d7533f2546f856da44eb44d5acb33f90&imgtype=0&src=http%3A%2F%2Fimage.codes51.com%2FArticle%2Fimage%2F20160530%2F20160530024642_5901.jpg"></image>
+      </view>
+      <view class="zhgh-list-b">
+        <view class="zhgh-list-b-left">
+          <view class="zhgh-list-b-left-div font-lg">环境数据调查</view>
+          <view class="zhgh-list-b-left-div">2019.12.12 20:00</view>
+        </view>
+        <view class="zhgh-list-b-right">待完成</view>
+      </view>
+    </view>
+  </view>
+
+  <view wx:if='{{TabCur==3}}'>
+    <view class="zhgh-list" data-str="zhghInfo" bindtap='linkFunction'>
+      <view class="zhgh-list-img">
+        <image src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577345685&di=556a32729fa812cc81c060243816111d&imgtype=jpg&er=1&src=http%3A%2F%2Fwww.zhanjiang.gov.cn%2Ffileserver%2FNews%2Fb8bfdf37-7242-4d16-bbc0-1244d78aeca4.jpg"></image>
+      </view>
+      <view class="zhgh-list-b">
+        <view class="zhgh-list-b-left">
+          <view class="zhgh-list-b-left-div font-lg">未成年人心理辅导</view>
+          <view class="zhgh-list-b-left-div">2019.12.12 20:00</view>
+        </view>
+        <view class="zhgh-list-b-right">待完成</view>
+      </view>
+    </view>
+    <view class="zhgh-list" data-str="zhghInfo" bindtap='linkFunction'>
+      <view class="zhgh-list-img">
+        <image src="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1146387832,2824320615&fm=15&gp=0.jpg"></image>
+      </view>
+      <view class="zhgh-list-b">
+        <view class="zhgh-list-b-left">
+          <view class="zhgh-list-b-left-div font-lg">教育疏导</view>
+          <view class="zhgh-list-b-left-div">2019.12.12 20:00</view>
+        </view>
+        <view class="zhgh-list-b-right">待完成</view>
+      </view>
+    </view>
+  </view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhgh/zhgh.wxss b/SunshineLnsMinApp/pages/zhgh/zhgh.wxss
new file mode 100644
index 0000000..abf152b
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgh/zhgh.wxss
@@ -0,0 +1,41 @@
+/* pages/zhgh/zhgh.wxss */
+
+.zhgh-bg {
+  background-color: #f1f1f1;
+}
+
+.zhgh-list {
+  background: #fff;
+  margin: 10PX;
+  border-radius: 6PX;
+}
+
+.zhgh-list-img {
+}
+
+.zhgh-list-img image {
+  width: 100%;
+}
+
+.zhgh-list-b {
+  display: flex;
+  justify-content: space-between;
+  padding: 8PX 24PX;
+  align-items: center;
+  font-size: 14PX;
+}
+
+.zhgh-list-b-left {
+}
+
+.zhgh-list-b-right {
+}
+
+.font-lg {
+  font-size: 16PX;
+  font-weight: 600;
+}
+
+.zhgh-list-b-left-div {
+  line-height: 26PX;
+}
diff --git a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js
new file mode 100644
index 0000000..76bde32
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.js
@@ -0,0 +1,26 @@
+// pages/zhghInfo/zhghInfo.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+
+  },
+
+  // 跳转
+  linkFunction: function () {
+    wx.showToast({
+      title: '提交成功',
+      icon: 'success',
+      duration: 2000
+    })
+  },
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.json b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.json
new file mode 100644
index 0000000..88f9dd8
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "社会关护任务",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml
new file mode 100644
index 0000000..bdcdeb2
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxml
@@ -0,0 +1,41 @@
+<!--pages/zhghInfo/zhghInfo.wxml-->
+
+<view class="zhghInfo-bg">
+  <view class="zhghInfo-main">
+    <view class="zhghInfo-main-img">
+      <image src="http://www.gzns.gov.cn/nsjcy/njxw/201911/W020191101471253416700.jpg"></image>
+    </view>
+    <view class="zhghInfo-main-b">
+      <view class="zhghInfo-main-b-left">
+        <view class="zhghInfo-main-b-left-div font-lg">街镇老人关护任务</view>
+        <view class="zhghInfo-main-b-left-div">2019.12.12 20:00</view>
+      </view>
+      <view class="zhghInfo-main-b-right">待完成</view>
+    </view>
+  </view>
+
+  <view class="zhghInfo-center">
+    <view class="zhghInfo-center-title">任务分派时间:
+      <text>2019/11/11</text>
+    </view>
+    <view class="zhghInfo-center-title">任务描述</view>
+    <view class="zhghInfo-center-txt">老人们读书讲故事 陪护聊天 积极有耐心</view>
+    <view class="zhghInfo-center-txt">处理好老人周边环境,打扫卫生,制造良好环境</view>
+  </view>
+
+  <view class="zhghInfo-accessory">
+    <view class="zhghInfo-center-title">附件</view>
+    <view class="zhghInfo-center-img">
+      <image mode='widthFix' src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576751446711&di=9a51ccd14d7d6223f49cf72979e74ca0&imgtype=0&src=http%3A%2F%2F08imgmini.eastday.com%2Fmobile%2F20191208%2F20191208110046_ce457572d1c4ffd2702fb562caa4180e_1.jpeg"></image>
+      <image mode='widthFix' src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1576751446712&di=e0b0e646cc1dd468fafbc791182aeac6&imgtype=0&src=http%3A%2F%2Fcsgy.rmzxb.com.cn%2Fupload%2Fresources%2Fimage%2F2016%2F10%2F17%2F1180737_500x500.jpg"></image>
+    </view>
+  </view>
+
+  <view class="zhghInfo-text">
+    <view class="zhghInfo-center-title">任务汇报</view>
+    <view class="zhghInfo-center-textarea">
+      <textarea placeholder="学会与老人沟通,耐心积极,心态良好" placeholder-style="color:#9B9B9B;"></textarea>
+    </view>
+    <view class="button-submit" bindtap='linkFunction'>提交</view>
+  </view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxss b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxss
new file mode 100644
index 0000000..cdf9ca3
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhghInfo/zhghInfo.wxss
@@ -0,0 +1,112 @@
+/* pages/zhghInfo/zhghInfo.wxss */
+
+.zhghInfo-bg {
+  background-color: #f1f1f1;
+  height: 100%;
+}
+
+.zhghInfo-main {
+  background: #fff;
+  /* margin: 10PX;
+  border-radius: 6PX; */
+}
+
+.zhghInfo-main-img {
+}
+
+.zhghInfo-main-img image {
+  width: 100%;
+}
+
+.zhghInfo-main-b {
+  display: flex;
+  justify-content: space-between;
+  padding: 8PX 24PX;
+  align-items: center;
+  font-size: 14PX;
+}
+
+.zhghInfo-main-b-left {
+}
+
+.zhghInfo-main-b-right {
+}
+
+.font-lg {
+  font-size: 16PX;
+  font-weight: 600;
+}
+
+.zhghInfo-main-b-left-div {
+  line-height: 26PX;
+}
+
+.zhghInfo-center {
+  background: #fff;
+  margin-top: 24PX;
+  padding: 12PX;
+}
+
+.zhghInfo-center-title {
+  font-size: 16PX;
+  font-weight: 600;
+  margin: 10PX;
+}
+
+.zhghInfo-center-title text {
+  font-size: 14px;
+  font-weight: 300;
+}
+
+.zhghInfo-center-txt {
+  line-height: 24PX;
+  margin-left: 12PX;
+}
+
+.zhghInfo-accessory {
+  background: #fff;
+  margin-top: 12PX;
+  padding: 12PX;
+}
+
+.zhghInfo-center-img {
+  display: flex;
+  margin-left: 12PX;
+}
+
+.zhghInfo-center-img image {
+  width: 60PX;
+  height: 60PX;
+  margin-right: 8PX;
+}
+
+.zhghInfo-text {
+  background: #fff;
+  margin-top: 12PX;
+  padding: 12PX;
+}
+
+.zhghInfo-center-textarea {
+  border: 1PX solid #e0e0e0;
+}
+
+.zhghInfo-center-textarea textarea {
+  width: 100%;
+  height: 100px;
+  display: block;
+  position: relative;
+  padding: 2vh;
+  font-size: 14px;
+}
+
+.button-submit {
+  padding: 12PX;
+  background: #249eff;
+  color: #fff;
+  height: 50PX;
+  border-radius: 2PX;
+  text-align: center;
+  line-height: 26PX;
+  font-size: 16PX;
+  margin-top: 12PX;
+}
diff --git a/SunshineLnsMinApp/pages/zhgk/zhgk.js b/SunshineLnsMinApp/pages/zhgk/zhgk.js
new file mode 100644
index 0000000..6ca6509
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgk/zhgk.js
@@ -0,0 +1,66 @@
+// pages/zhgk/zhgk.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    wjgk: './../../images/wjgk.jpg',
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  }
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhgk/zhgk.json b/SunshineLnsMinApp/pages/zhgk/zhgk.json
new file mode 100644
index 0000000..046283a
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgk/zhgk.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "未检概况",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhgk/zhgk.wxml b/SunshineLnsMinApp/pages/zhgk/zhgk.wxml
new file mode 100644
index 0000000..9174d80
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgk/zhgk.wxml
@@ -0,0 +1,39 @@
+<!--pages/zhgk/zhgk.wxml-->
+<view class="bg-img padding-tb-xl" style="background-image: url({{wjgk}});background-size:100% auto;height:200px"></view>
+
+<view class="zhgk-main">
+  <view class=" text-lg" style="padding:30rpx 30rpx 0;">
+    <text class="zhgk-main-title text-black">总体介绍</text>
+  </view>
+  <view class=' text-df padding'> 2016年4月,南沙检察成立了未成年人检察工作办公室。2019年1月,我院成立“许淑妍命名检察官办公室”,适用“捕诉监防助”一体化工作模式,负责办理未成年人犯罪和侵害未成年人犯罪案件,开展未成年人司法保护和预防未成年人犯罪等工作。南沙检察以专业化办案为依托,以规范化建设为抓手,认真贯彻“教育、感化、挽救”方针,坚持“教育为主、惩罚为辅”原则,全面落实未成年人指定辩护、社会调查、心理评估、合适成年人等特别程序,不断打造未检新品牌。以社会化服务为路径,以多元化平台为支点,组建心理咨询师团队和社工团队,通过法治宣传大平台、两微一端、“沙鸥”法治宣讲团开展普法宣传,构建多维度的未成年人维权、犯罪预防网络。近年来,南沙检察先后获评全国青少年维权岗、全国检察机关未成年人检察工作联系点。队伍中涌现出全国检察机关未成年人检察业务竞赛能手和全市检察机关未成年人检察业务标兵。</view>
+</view>
+
+<view class="zhgk-main">
+  <view class=" text-lg" style="padding:30rpx 30rpx 0;">
+    <text class="zhgk-main-title text-black">指导文件</text>
+  </view>
+  <view class="padding">
+    <view class=' text-df'>最高人民检察院《中华人民共和国最高人民检察院检察建议书》</view>
+    <view class=' text-df'>最高人民检察院《2018-2022年检察改革工作规划》</view>
+    <view class=' text-df'>最高人民检察院《最高人民检察院关于全面加强未成年人国家司法救助工作的意见》</view>
+  </view>
+</view>
+
+<view class="zhgk-main">
+  <view class=" text-lg" style="padding:30rpx 30rpx 0;">
+    <text class="zhgk-main-title text-black">未检职能</text>
+  </view>
+  <view class="padding">
+  <view class=' text-df'> 负责未成年人犯罪和侵害未成年人犯罪案件的审查批捕、审查起诉、出庭公诉、诉讼监督、犯罪预防、教育挽救工作,实现专人审查、全程办理,“一竿子捅到底”,为涉罪未成年人提供全面高效、协调一致的检察保护。</view>
+    <!-- <view class=' text-df'> 广州市南沙区人民检察院是国家法律监督机关,负责辖区各项检察工作,接受广州市人民检察院的领导,对区人民代表大会及其常委会负责并报告工作,接受其监督,执行其决议。主要职责是:</view>
+    <view class=' text-df'>1.制定辖区检察工作计划,落实检察工作任务。</view>
+    <view class=' text-df'>2.依法对公安机关和检察机关直接受理的犯罪案件进行审查批准逮捕、决定逮捕、提起公诉、出庭支持公诉。</view>
+    <view class=' text-df'>4.依法对执行机关执行刑罚的活动以及监狱、看守所的活动是否合法实行监督。</view>
+    <view class=' text-df'>5.对同级人民法院已经发生法律效力,确有错误的判决和裁定,依法提请上一级人民检察院向同级人民法院提出抗诉。</view>
+    <view class=' text-df'> 6.受理单位和个人的报案、控告、申诉、举报以及犯罪嫌疑人的自首。</view>
+    <view class=' text-df'>7.开展检察环节的综合治理工作。</view>
+    <view class=' text-df'> 8.负责本院队伍建设和思想政治工作,协助上级检察机关和区有关主管部门管理本院的机构编制,实施相关人员的管理办法;协助区委有关部门对本院的领导班子成员的管理和考核;提请区人大常委会对本院检察员、检察委员会委员、副检察长的任免;负责管理本院直属机构;管理本院的教育培训工作。</view>
+    <view class=' text-df'> 9.组织领导本院的纪检监察和宣传工作。</view>
+    <view class=' text-df'>10.承办其他应由本院负责的事项。</view> -->
+  </view>
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhgk/zhgk.wxss b/SunshineLnsMinApp/pages/zhgk/zhgk.wxss
new file mode 100644
index 0000000..0e23419
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhgk/zhgk.wxss
@@ -0,0 +1,9 @@
+/* pages/zhgk/zhgk.wxss */
+
+.zhgk-main {
+  background-color: #fff;
+}
+
+.zhgk-main-title {
+  color: #249eff;
+}
diff --git a/SunshineLnsMinApp/pages/zhwj/zhwj.js b/SunshineLnsMinApp/pages/zhwj/zhwj.js
new file mode 100644
index 0000000..e6889cc
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhwj/zhwj.js
@@ -0,0 +1,81 @@
+// pages/zhwj/zhwj.js
+var app = getApp();
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    wjgk:'./../../images/wjgk.jpg',
+    dongtai1_1: app.globalData.imgUrl + '/image/dongtai1-1.jpg',
+    dongtai2_1: app.globalData.imgUrl + '/image/dongtai2-1.jpg',
+    dongtai3_1: app.globalData.imgUrl + '/image/dongtai3-1.jpg',
+    iconList: [{
+      icon: 'cardboardfill',
+      color: 'red',
+      badge: 120,
+      name: 'VR'
+    }, {
+      icon: 'recordfill',
+      color: 'orange',
+      badge: 1,
+      name: '录像'
+    }, {
+      icon: 'picfill',
+      color: 'yellow',
+      badge: 0,
+      name: '图像'
+    }, {
+      icon: 'noticefill',
+      color: 'olive',
+      badge: 22,
+      name: '通知'
+    }, {
+      icon: 'upstagefill',
+      color: 'cyan',
+      badge: 0,
+      name: '排行榜'
+    }, {
+      icon: 'clothesfill',
+      color: 'blue',
+      badge: 0,
+      name: '皮肤'
+    }, {
+      icon: 'discoverfill',
+      color: 'purple',
+      badge: 0,
+      name: '发现'
+    }, {
+      icon: 'questionfill',
+      color: 'mauve',
+      badge: 0,
+      name: '帮助'
+    }, {
+      icon: 'commandfill',
+      color: 'purple',
+      badge: 0,
+      name: '问答'
+    }, {
+      icon: 'brandfill',
+      color: 'mauve',
+      badge: 0,
+      name: '版权'
+    }],
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+  // 跳转
+  linkFunction: function(event) {
+    var str = event.currentTarget.dataset['str'];
+    var id = event.currentTarget.dataset['id'];
+    wx.navigateTo({
+      url: '../' + str + '/' + str + '?id=' + id
+    })
+  },
+})
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhwj/zhwj.json b/SunshineLnsMinApp/pages/zhwj/zhwj.json
new file mode 100644
index 0000000..ffc7490
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhwj/zhwj.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "智慧未检",
+  "backgroundTextStyle": "light",
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black"
+}
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhwj/zhwj.wxml b/SunshineLnsMinApp/pages/zhwj/zhwj.wxml
new file mode 100644
index 0000000..d7fa4c7
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhwj/zhwj.wxml
@@ -0,0 +1,93 @@
+<!--pages/zhwj/zhwj.wxml-->
+
+<view class="bg-img padding-tb-xl" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/juxing.png');height: 414rpx;">
+</view>
+
+<view class="zhwj-list">
+  <view class="zhwj-list-flex">
+    <view class="zhwj-list-flex-l" data-str="zhgk" bindtap='linkFunction'>
+      <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj1.png');"></view>
+      <view class="zhwj-list-flex-l-text">
+        <view class="text-black text-bold text-lg">未检概况</view>
+        <view class="text-gray">未检简介</view>
+      </view>
+    </view>
+    <view class="zhwj-list-flex-r" data-str="zhdt" bindtap='linkFunction'>
+      <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj2.png');"></view>
+      <view class="zhwj-list-flex-l-text">
+        <view class="text-black text-bold text-lg">未检动态</view>
+        <view class="text-gray">最美未检剪影</view>
+      </view>
+    </view>
+  </view>
+  <view class="zhwj-list-flex">
+    <view class="zhwj-list-flex-l" data-str="zhgh" bindtap='linkFunction'>
+      <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj3.png');"></view>
+      <view class="zhwj-list-flex-l-text">
+        <view class="text-black text-bold text-lg">社会关护</view>
+        <view class="text-gray">社会支持与配合</view>
+      </view>
+    </view>
+    <view class="zhwj-list-flex-r" data-str="weiwc" bindtap='linkFunction'>
+      <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj4.png');"></view>
+      <view class="zhwj-list-flex-l-text">
+        <view class="text-black text-bold text-lg">举报平台</view>
+        <view class="text-gray">未成年人举报</view>
+      </view>
+    </view>
+  </view>
+  <view class="zhwj-list-flex">
+    <view class="zhwj-list-flex-l" data-str="weiwc" bindtap='linkFunction'>
+      <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj5.png');"></view>
+      <view class="zhwj-list-flex-l-text">
+        <view class="text-black text-bold text-lg">入职查询</view>
+        <view class="text-gray">未检职工入职查询</view>
+      </view>
+    </view>
+    <view class="zhwj-list-flex-r" data-str="weiwc" bindtap='linkFunction'>
+      <view class="cu-avatar round margin-left zhwj-list-flex-l-img" style="background-image: url('https://xnwj.gznsjc.gov.cn/nsjc-charge/image/zuj6.png');"></view>
+      <view class="zhwj-list-flex-l-text">
+        <view class="text-black text-bold text-lg">普法预约</view>
+        <view class="text-gray">预约参观法治基地</view>
+      </view>
+    </view>
+  </view>
+</view>
+
+<view class="index-gray "></view>
+
+<view class="zhwj-b">
+  <view class="zhwj-b-head">
+    <span></span>
+    <view class="zhwj-b-head-title text-black">未检动态</view>
+  </view>
+
+  <view class="zhwj-b-main" data-str="zhdtInfo" data-id="1" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">南沙区院召开2019“沙鸥”法治宣讲团年度总结暨课件评选会</view>
+      <view class="text-grey">检察宣传部 60阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image mode='widthFix' src="{{dongtai1_1}}"></image>
+    </view>
+  </view>
+  <view class="zhwj-b-main" data-str="zhdtInfo" data-id="2" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">“沙鸥”法治宣讲团进校园开展假前安全教育</view>
+      <view class="text-grey">检察宣传部 56阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image src="{{dongtai2_1}}" mode='widthFix'></image>
+    </view>
+  </view>
+  <view class="zhwj-b-main" data-str="zhdtInfo" data-id="3" bindtap='linkFunction'>
+    <view class="zhwj-b-head-l">
+      <view class="zhwj-b-head-l-title text-black">我院与华尔心理咨询中心开展反家暴普法宣传</view>
+      <view class="text-grey">检察宣传部 245阅读</view>
+    </view>
+    <view class="zhwj-b-head-r">
+      <image src="{{dongtai3_1}}" mode='widthFix'></image>
+    </view>
+  </view>
+
+</view>
\ No newline at end of file
diff --git a/SunshineLnsMinApp/pages/zhwj/zhwj.wxss b/SunshineLnsMinApp/pages/zhwj/zhwj.wxss
new file mode 100644
index 0000000..5cbb182
--- /dev/null
+++ b/SunshineLnsMinApp/pages/zhwj/zhwj.wxss
@@ -0,0 +1,89 @@
+/* pages/zhwj/zhwj.wxss */
+.zhwj-list {
+  background-color: #fff;
+}
+
+.zhwj-list-flex {
+  display: flex;
+  border-bottom: 1px solid #ebf2fa;
+}
+
+.zhwj-list-flex-l {
+  flex: 1;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 12px 6px;
+  border-right: 1px solid #ebf2fa;
+}
+
+.zhwj-list-flex-r {
+  flex: 1;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.zhwj-list-flex-l-img {
+  width: 56px;
+  height: 56px;
+  margin-right: 20px;
+}
+
+.zhwj-list-flex-l-text {
+  width: 90px;
+}
+
+.zhwj-list-flex-l-text-t {
+}
+
+.zhwj-list-flex-l-text-b {
+}
+
+.zhwj-b-head span {
+  border-left: 3px solid #2195ff;
+}
+
+.zhwj-b {
+  background-color: #fff;
+}
+
+.zhwj-b-head {
+  display: flex;
+  height: 30px;
+  line-height: 30px;
+}
+
+.zhwj-b-head-title {
+  margin-left: 8px;
+  font-weight: 600
+}
+
+.zhwj-b-main {
+  display: flex;
+  border-bottom: 1px solid #ebf2fa;
+}
+
+.zhwj-b-head-l {
+  margin: 6px;
+  padding: 6px;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 100%;
+}
+
+.zhwj-b-head-l-title {
+}
+
+.zhwj-b-head-l-title-t {
+}
+
+.zhwj-b-head-r {
+  margin: 6px;
+}
+
+.zhwj-b-head-r image {
+  width: 108px;
+  height: 80px;
+}
diff --git a/SunshineLnsMinApp/project.config.json b/SunshineLnsMinApp/project.config.json
index 1ff0786..a763abc 100644
--- a/SunshineLnsMinApp/project.config.json
+++ b/SunshineLnsMinApp/project.config.json
@@ -5,13 +5,25 @@
 		"es6": true,
 		"postcss": true,
 		"minified": true,
-		"newFeature": true
+		"newFeature": true,
+		"coverView": true,
+		"autoAudits": false,
+		"checkInvalidKey": true,
+		"checkSiteMap": true,
+		"uploadWithSourceMap": true,
+		"babelSetting": {
+			"ignore": [],
+			"disablePlugins": [],
+			"outputPath": ""
+		}
 	},
 	"compileType": "miniprogram",
 	"libVersion": "1.9.94",
 	"appid": "wx50bea0a98be5935d",
 	"projectname": "nsjc02",
 	"isGameTourist": false,
+	"simulatorType": "wechat",
+	"simulatorPluginLibVersion": {},
 	"condition": {
 		"search": {
 			"current": -1,
diff --git a/SunshineLnsMinApp/sitemap.json b/SunshineLnsMinApp/sitemap.json
new file mode 100644
index 0000000..ca02add
--- /dev/null
+++ b/SunshineLnsMinApp/sitemap.json
@@ -0,0 +1,7 @@
+{
+  "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
+  "rules": [{
+  "action": "allow",
+  "page": "*"
+  }]
+}
\ No newline at end of file

--
Gitblit v1.8.0