first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
.DS_Store
shop_backend/node_modules/
shop_fontend/node_modules/
shop_fontend/dist
ApiTest/ApiTest/node_modules
ApiTest/ApiTest-Mac/node_modules
shop_fontend/*.iml
shop_fontend/.gradle
shop_fontend/local.properties
shop_fontend/.idea/libraries
shop_fontend/.idea/modules.xml
shop_fontend/.idea/workspace.xml
shop_fontend/.DS_Store
shop_fontend/build
shop_fontend/captures
shop_fontend/.externalNativeBuild
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
/.idea/
/shop_android/app/src/main/assets/

View File

@@ -0,0 +1,6 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>夜色社区Api调试工具</title><style>textarea,
input,
button,
.el-popover--plain{
-webkit-app-region: no-drag;
}</style><link href=./static/css/app.926d2c721d951ea0fd744c2204f0d754.css rel=stylesheet></head><body style="-webkit-app-region: drag"><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.9171202457a637e0497a.js></script><script type=text/javascript src=./static/js/app.d188f0af736e0d308107.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
!function(r){var n=window.webpackJsonp;window.webpackJsonp=function(e,u,c){for(var f,i,p,a=0,l=[];a<e.length;a++)i=e[a],o[i]&&l.push(o[i][0]),o[i]=0;for(f in u)Object.prototype.hasOwnProperty.call(u,f)&&(r[f]=u[f]);for(n&&n(e,u,c);l.length;)l.shift()();if(c)for(a=0;a<c.length;a++)p=t(t.s=c[a]);return p};var e={},o={2:0};function t(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return r[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=r,t.c=e,t.d=function(r,n,e){t.o(r,n)||Object.defineProperty(r,n,{configurable:!1,enumerable:!0,get:e})},t.n=function(r){var n=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(n,"a",n),n},t.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},t.p="./",t.oe=function(r){throw console.error(r),r}}([]);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,53 @@
const { app, BrowserWindow } = require('electron')
// 保持对window对象的全局引用如果不这么做的话当JavaScript对象被
// 垃圾回收的时候window对象将会自动的关闭
let win
function createWindow () {
// 创建浏览器窗口。
win = new BrowserWindow({
title: 'YeSeApiTest',
width: 955,
height: 620,
resizable: false,
titleBarStyle: 'hidden',
allowRunningInsecureContent: true
})
// 然后加载应用的 index.html。
win.loadFile('dist/index.html')
// 当 window 被关闭,这个事件会被触发。
win.on('closed', () => {
// 取消引用 window 对象,如果你的应用支持多窗口的话,
// 通常会把多个 window 对象存放在一个数组里面,
// 与此同时,你应该删除相应的元素。
win = null
})
}
require('./menu');
// Electron 会在初始化后并准备
// 创建浏览器窗口时,调用这个函数。
// 部分 API 在 ready 事件触发后才能使用。
app.on('ready', createWindow)
// 当全部窗口关闭时退出。
app.on('window-all-closed', () => {
// 在 macOS 上,除非用户用 Cmd + Q 确定地退出,
// 否则绝大部分应用及其菜单栏会保持激活。
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
// 在macOS上当单击dock图标并且没有其他窗口打开时
// 通常在应用程序中重新创建一个窗口。
if (win === null) {
createWindow()
}
})

View File

@@ -0,0 +1,88 @@
const { app, Menu } = require('electron')
const template = [
{
label: '编辑',
submenu: [
{ role: 'undo' },
{ role: 'redo' },
{ type: 'separator' },
{ role: 'cut' },
{ role: 'copy' },
{ role: 'paste' },
{ role: 'delete' },
{ role: 'selectall' }
]
},
{
label: '视图',
submenu: [
{ role: 'reload' },
{ role: 'forcereload' },
{ type: 'separator' },
{ type: 'separator' },
{ role: 'togglefullscreen' }
]
},
{
label: '窗口',
submenu: [
{ role: 'minimize' },
{ role: 'close' }
]
},
{
label: '帮助',
submenu: [
{
label: '接口文档',
click () { require('electron').shell.openExternal('https://geekhelp.cn/docs/index.html') }
},
{
label: 'Github',
click () { require('electron').shell.openExternal('https://github.com/helpcode') }
}
]
}
]
if (process.platform === 'darwin') {
template.unshift({
label: app.getName(),
submenu: [
{ role: 'about' },
{ type: 'separator' },
{ role: 'services' },
{ type: 'separator' },
{ role: 'hide' },
{ role: 'hideothers' },
{ role: 'unhide' },
{ type: 'separator' },
{ role: 'quit' }
]
})
// Edit menu
template[1].submenu.push(
{ type: 'separator' },
{
label: 'Speech',
submenu: [
{ role: 'startspeaking' },
{ role: 'stopspeaking' }
]
}
)
// Window menu
template[3].submenu = [
{ role: 'close' },
{ role: 'minimize' },
{ role: 'zoom' },
{ type: 'separator' },
{ role: 'front' }
]
}
const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)

View File

@@ -0,0 +1,17 @@
{
"name": "ApiTest-Mac",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "electron .",
"win": "electron-packager ./ 'YeSeApiTest' --platform=win32 --arch=x64 --electron-version=7.1.3 --icon=logo.icns --out=./build --asar --overwrite",
"build": "electron-packager . 'YeSeApiTest' --electronVersion=7.1.3 --platform=darwin --arch=x64 --icon=logo.icns --out=./build --asar --app-version=1.2.1 --ignore='(src|docs|.gitignore|LICENSE|README.md|webpack.config*|node_modules)' --overwrite"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"electron-packager": "^13.0.1"
}
}

View File

@@ -0,0 +1,12 @@
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-vue-jsx", "transform-runtime"]
}

View File

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

View File

@@ -0,0 +1,14 @@
.DS_Store
node_modules/
/dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln

View File

@@ -0,0 +1,10 @@
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
// to edit target browsers: use "browserslist" field in package.json
"autoprefixer": {}
}
}

View File

@@ -0,0 +1,21 @@
# apitest
> A Vue.js project
## Build Setup
``` bash
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
```
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).

View File

@@ -0,0 +1,41 @@
'use strict'
require('./check-versions')()
process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
const spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
chunks: false,
chunkModules: false
}) + '\n\n')
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})

View File

@@ -0,0 +1,54 @@
'use strict'
const chalk = require('chalk')
const semver = require('semver')
const packageConfig = require('../package.json')
const shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
const versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
versionRequirement: packageConfig.engines.node
}
]
if (shell.which('npm')) {
versionRequirements.push({
name: 'npm',
currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm
})
}
module.exports = function () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -0,0 +1,102 @@
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const packageConfig = require('../package.json')
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
publicPath: '../../'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
const output = []
const loaders = exports.cssLoaders(options)
for (const extension in loaders) {
const loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
exports.createNotifierCallback = () => {
const notifier = require('node-notifier')
return (severity, errors) => {
if (severity !== 'error') return
const error = errors[0]
const filename = error.file && error.file.split('!').pop()
notifier.notify({
title: packageConfig.name,
message: severity + ': ' + error.name,
subtitle: filename || '',
icon: path.join(__dirname, 'logo.png')
})
}
}

View File

@@ -0,0 +1,22 @@
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}

View File

@@ -0,0 +1,82 @@
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('media/[name].[hash:7].[ext]')
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}
]
},
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).
setImmediate: false,
// prevent webpack from injecting mocks to Node native modules
// that does not make sense for the client
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty'
}
}

View File

@@ -0,0 +1,95 @@
'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
// these devServer options should be customized in /config/index.js
devServer: {
clientLogLevel: 'warning',
historyApiFallback: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
},
hot: true,
contentBase: false, // since we use CopyWebpackPlugin.
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable,
quiet: true, // necessary for FriendlyErrorsPlugin
watchOptions: {
poll: config.dev.poll,
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
reject(err)
} else {
// publish the new Port, necessary for e2e tests
process.env.PORT = port
// add port to devServer config
devWebpackConfig.devServer.port = port
// Add FriendlyErrorsPlugin
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
}))
resolve(devWebpackConfig)
}
})
})

View File

@@ -0,0 +1,145 @@
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true,
usePostCSS: true
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: config.build.index,
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// keep module.id stable when vendor modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
const CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
if (config.build.bundleAnalyzerReport) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig

View File

@@ -0,0 +1,7 @@
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"'
})

View File

@@ -0,0 +1,69 @@
'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},
// Various Dev Server settings
host: 'localhost', // can be overwritten by process.env.HOST
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: 'cheap-module-eval-source-map',
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
cssSourceMap: true
},
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
/**
* Source Maps
*/
productionSourceMap: false,
// https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map',
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: true,
productionGzipExtensions: ['js', 'css'],
// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
}
}

View File

@@ -0,0 +1,4 @@
'use strict'
module.exports = {
NODE_ENV: '"production"'
}

View File

@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>夜色社区Api调试工具</title>
<style>
textarea,
input,
button,
.el-popover--plain{
-webkit-app-region: no-drag;
}
</style>
</head>
<body style="-webkit-app-region: drag">
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

View File

@@ -0,0 +1,66 @@
{
"name": "apitest",
"version": "1.0.0",
"description": "A Vue.js project",
"author": "bmy <2271608011@qq.com>",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js"
},
"dependencies": {
"axios": "^0.18.0",
"element-ui": "^2.5.4",
"node-rsa": "^1.0.3",
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"chalk": "^2.0.1",
"compression-webpack-plugin": "^1.1.12",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"node-notifier": "^5.1.2",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1",
"rimraf": "^2.6.0",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}

View File

@@ -0,0 +1,17 @@
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>
<style>
.el-popover--plain {
word-break: break-all;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -0,0 +1,132 @@
<template>
<div class="index" v-loading.fullscreen.lock="getLoading">
<div class="header-center">
电商App接口调试工具
</div>
<el-form ref="form" label-width="80px">
<el-form-item label="接口地址">
<el-input v-model="url" placeholder="接口地址,例如:/utils/updateVersion.ys" clearable>
<template slot="prepend">http://144.48.7.203:9090</template>
</el-input>
</el-form-item>
<el-form-item label="接口参数">
<el-popover
ref="popover"
placement="bottom"
title="RSA公钥加密后"
width="500"
trigger="focus"
:content="popover">
</el-popover>
<el-input type="textarea"
v-popover:popover
v-model="params"
placeholder='接口参数,例如:{"version": "1.5.6"}'
@input="EncryptionParams()"
autosize></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit" :loading="getLoading">发送请求</el-button>
</el-form-item>
</el-form>
<el-form ref="form" label-width="80px">
<el-form-item label="返回数据">
<el-input type="textarea" autosize v-model="httpData" placeholder="后端返回的未解密数据">
</el-input>
</el-form-item>
<el-form-item label="解密数据">
<el-input type="textarea" autosize v-model="DecryptData" placeholder="解密result后的真实数据">
</el-input>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data () {
return {
url: '/user/login',
params: '{"name": "lb", "pwd":"1234567890"}',
httpData: null,
DecryptData: null,
getLoading: false,
popover: null
}
},
created() {
this.EncryptionParams()
},
methods: {
EncryptionParams() {
this.popover = this.$utils.PublicKeyEncryption(JSON.parse(this.params))
},
onSubmit() {
this.getLoading = true
if(this.url == null || this.params == null || this.url == "" || this.params == "") {
this.$notify.error({
title: '参数缺失',
message: '接口地址 & 接口参数不能为空'
});
this.getLoading = false
}else {
try {
let params = JSON.parse(this.params)
this.$http({
method: 'post',
url: this.url,
headers: {
'data': this.$utils.PublicKeyEncryption(params),
'token': localStorage.getItem("token")
}
}).then(success => {
this.httpData = JSON.stringify(success.data)
this.DecryptData = this.$utils.PublicKeyDecrypt(success.data.result)
// 如果有token本地保存token方便请求接口时候使用
var datas = JSON.parse(this.DecryptData)
if(datas.hasOwnProperty("token")) {
this.$notify.success({
title: 'Token 提示',
message: 'Token已经缓存到本地可以直接调用其他接口'
});
localStorage.setItem("token", datas.token)
}
this.getLoading = false
}).catch(error => {
this.$notify.error({
title: '网络请求错误',
message: 'Ajax 请求失败,请检查参数是否正确!'
});
this.getLoading = false
})
} catch (e) {
this.$notify.error({
title: '接口参数错误',
message: '接口参数格式不正确,请仔细检查!'
});
this.getLoading = false
}
}
}
}
}
</script>
<style scoped>
.header-center {
padding: 40px 10px;
text-align: center;
font-size: 24px;
letter-spacing: 2px;
}
.index {
width: 800px;
margin: 0 auto;
}
</style>

View File

@@ -0,0 +1,27 @@
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import { Lib } from './utils/index.js'
import axios from 'axios'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
axios.defaults.baseURL = 'http://144.48.7.203:9090';
Vue.prototype.$http = axios
Vue.prototype.$utils = new Lib()
Vue.use(ElementUI);
Vue.config.productionTip = false
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})

View File

@@ -0,0 +1,15 @@
import Vue from 'vue'
import Router from 'vue-router'
import Index from '@/components/index'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Index',
component: Index
}
]
})

View File

@@ -0,0 +1,58 @@
import NodeRSA from 'node-rsa'
import querystring from "querystring";
let publicKey = `-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9eo8WIbWS5Yql06imlhrW0ZXh
faivPavdULvYLIxIKyUaOwMPFrPuHqqBNGnYOpiPHAKL+zxk2j4u+6jhB6VK1SOD
ccSLxIRxd0HmSDS+hBzYRf4vKc8BLlhMrYhnLmcxCc+PJIIa4DfCZnu8FfQlu/5L
ljjpYN9kHOpHAT+xpQIDAQAB
-----END PUBLIC KEY-----`;
export class Lib {
constructor() {
this.publicKey = publicKey
}
/**
* 前端: 使用RSA的公钥进行加密 publicKey
* @param {*string} text 需要加密的字符串
*/
PublicKeyEncryption (NeedEncryptionMessage) {
return (new NodeRSA(this.publicKey)).encrypt(JSON.stringify(NeedEncryptionMessage), 'base64')
}
/**
* 前端 公钥解密数据
* @param NeedDecryptMessage
* @constructor
*/
PublicKeyDecrypt (NeedDecryptMessage) {
return (new NodeRSA(this.publicKey)).decryptPublic(NeedDecryptMessage, 'utf8')
}
/**
* 获取本地数据
* @param {*string} name 名称
*/
GetLocalstorage(name) {
try {
const value = uni.getStorageSync(name);
if (value) {
return value;
}
} catch (e) {
console.log(e.message);
}
}
/**
* 写入本地数据
* @param {*string} name 名称
*/
SetLocalstorage(name, key) {
uni.setStorage({
key: name,
data: key,
success: function () {
console.log(`${name} save success`);
}
});
}
}

View File

@@ -0,0 +1,187 @@
/*
Navicat Premium Data Transfer
Source Server : 本地数据库
Source Server Type : MySQL
Source Server Version : 80018
Source Host : localhost:3306
Source Schema : shop
Target Server Type : MySQL
Target Server Version : 80018
File Encoding : 65001
Date: 11/12/2019 16:22:35
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for car
-- ----------------------------
DROP TABLE IF EXISTS `car`;
CREATE TABLE `car` (
`car_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL COMMENT '用户id',
`wares_id` int(11) DEFAULT NULL COMMENT '商品id',
`car_num` int(11) DEFAULT NULL COMMENT '商品购买数量',
PRIMARY KEY (`car_id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of car
-- ----------------------------
BEGIN;
INSERT INTO `car` VALUES (18, 13, 173, 3);
COMMIT;
-- ----------------------------
-- Table structure for collection
-- ----------------------------
DROP TABLE IF EXISTS `collection`;
CREATE TABLE `collection` (
`like_id` int(11) NOT NULL AUTO_INCREMENT,
`wares_id` int(11) NOT NULL COMMENT '关联商品表wares 的wares_id',
`user_id` int(11) NOT NULL COMMENT '关联User表的user_id',
PRIMARY KEY (`like_id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of collection
-- ----------------------------
BEGIN;
INSERT INTO `collection` VALUES (3, 114, 13);
INSERT INTO `collection` VALUES (4, 113, 13);
INSERT INTO `collection` VALUES (5, 113, 12);
INSERT INTO `collection` VALUES (6, 115, 13);
COMMIT;
-- ----------------------------
-- Table structure for goods
-- ----------------------------
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods` (
`goods_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT '用户id',
`wares_id` int(11) DEFAULT NULL COMMENT '商品id',
`goods_num` int(11) DEFAULT NULL COMMENT '订单的商品数量',
`goods_price` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '订单的商品单价',
`goods_totalprice` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '订单的商品总价',
`goods_status` int(11) DEFAULT '0' COMMENT '订单的状态0待付款1待发货2待收货3退款/售后',
PRIMARY KEY (`goods_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of goods
-- ----------------------------
BEGIN;
INSERT INTO `goods` VALUES (5, 13, 113, 2, '1000', '2000', 1);
INSERT INTO `goods` VALUES (6, 13, 114, 1, '1100', '1100', 1);
COMMIT;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`user_pwd` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`user_time` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户注册时间',
`user_money` double(255,0) NOT NULL DEFAULT '99999999',
`user_pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户头像',
`user_address` varchar(255) DEFAULT NULL COMMENT '用户地址',
`user_phone` varchar(12) DEFAULT NULL COMMENT '手机号',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
BEGIN;
INSERT INTO `user` VALUES (1, 'bmy', '1234567890', '2019-12-05', 99999999, 'https://s1.mi-img.com/mfsv2/avatar/fdsc3/p0150oOutJBA/7hMzk9F1340hoX.jpg', '安徽省,合肥市,蜀山区,信旺华府骏苑', '15155145354');
INSERT INTO `user` VALUES (13, 'lb', 'e807f1fcf82d132f9bb018ca6738a19f', '2019年12月9日 13:58', 99984499, NULL, NULL, '15155145354');
COMMIT;
-- ----------------------------
-- Table structure for wares
-- ----------------------------
DROP TABLE IF EXISTS `wares`;
CREATE TABLE `wares` (
`wares_id` int(11) NOT NULL AUTO_INCREMENT,
`wares_title` varchar(255) DEFAULT NULL COMMENT '商品标题',
`wares_oldprice` varchar(9) DEFAULT NULL COMMENT '手机原价(贵)',
`wares_nowprice` varchar(9) DEFAULT NULL COMMENT '手机现价(便宜)',
`wares_info` varchar(255) DEFAULT NULL COMMENT '手机的介绍信息',
`wares_conf` varchar(255) DEFAULT NULL COMMENT '手机的配置',
`wares_stock` varchar(255) DEFAULT NULL COMMENT '库存',
`wares_masterimg` varchar(3000) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品主要轮播图',
`wares_infoimg` varchar(3000) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品详情图',
`wares_type` varchar(255) DEFAULT NULL COMMENT '商品的分类',
`wares_activity` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '商品的活动类型。1限时白嫖2新品推荐3低价高配4超值特卖5 banner图',
PRIMARY KEY (`wares_id`)
) ENGINE=InnoDB AUTO_INCREMENT=175 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of wares
-- ----------------------------
BEGIN;
INSERT INTO `wares` VALUES (113, '小米9 Pro 5G', '3799', '3799', '5G双卡全网通超高速网络 / 骁龙855Plus旗舰处理器 / 40W有线闪充+30W无线闪充+10W无线反充4000mAh长续航 / 4800万全焦段三摄 / 超振感横向线性马达 / VC液冷散热 / 高色准三星AMOLED屏幕 / 多功能NFC', '[\"小米9 Pro 5G 12GB+256GB 钛银黑\", \"小米9 Pro 5G 12GB+256GB 梦之白\"]', '4099', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/e7db5e8516f394a1a85c27b109b93d1c.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/3d1778ca120089a8784ed00f7468e2da.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/505cf729a843aaa491755a05f00ad205.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/ef2fd5080c95893ec12cff1ee4d463ba.jpg?f=webp&w=1080&h=1920&bg=E8F3F7\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/53d7c13d5b550948607491719f42d8d1.jpg?f=webp&w=1080&h=1500&bg=FFFFFF\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/1c1bfe3f89b44b53385337a9653a51f9.jpg?f=webp&w=1080&h=2241&bg=FFFFFF\",\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/707a8e5dc25792098ed64344aa64d586.jpg?f=webp&w=1080&h=2153&bg=FFFFFF\"]', '小米', '1');
INSERT INTO `wares` VALUES (114, '小米MIX Alpha', '19999', '19999', '创新环绕屏,极具未来感的智能交互体验 / 1亿像素超高清相机超大感光元件 / 5G双卡全网通超高速网络 / 骁龙855Plus旗舰处理器 / 纳米硅基锂离子4050mAh电池40W超级快充 / 钛合金+精密陶瓷+蓝宝石镜片前沿工艺', '[\"小米MIX Alpha 黑色 512GB\"]', '599', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/e353179a4e5b9fd11345a995e1bfe4fb.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/074249e1dcfe22922667c2fb3e4684eb.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/706b536444b85ddc6eb54b29ae91c731.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2a8845451fc0f0588fcc7c386ea66a1a.jpg?f=webp&w=1080&h=1055&bg=202A34\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/4221fdb887597277e7221e64fcd28e59.jpg?f=webp&w=1080&h=921&bg=111E41\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/6e4b72843b5d1b915d5e9809683b8525.jpg?f=webp&w=1080&h=1026&bg=181822\",\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/52768d2f9b3f8ce89bd1d4cd0d17bd8c.jpg?f=webp&w=1080&h=796&bg=A1A6B9\"]', '小米', '1');
INSERT INTO `wares` VALUES (115, '小米CC9 Pro', '3499', '3499', '1亿像素主摄 / 全场景五摄像头 / 四闪光灯 / 3200万自拍 / 10 倍混合光学变焦50倍数字变焦 / 5260mAh ⼤电量 / 标配 30W疾速快充 / ⼩米⾸款超薄屏下指纹 / 德国莱茵低蓝光认证 / 多功能NFC / 红外万能遥控 / 1216超线性扬声器', '[\"小米CC9 Pro 8GB+256GB 冰雪极光\",\"小米CC9 Pro 8GB+256GB 暗夜魅影\"]', '458', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/69c1a7e31800b840d35f7379dd1b2674.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/ef345f2dac0b639d2519cdbaf691fc4f.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/5382bf23e48d2552fad2fef22584834a.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2913a25096cdb5ef68d5bb861756e563.jpeg?f=webp&w=1242&h=196&bg=0\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/ce07b93044e955f4d395b1af4f7f873f.jpg?f=webp&w=1080&h=2479&bg=20307\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/cb0eaeabc5030ac1c9282cf9b3c8effa.jpg?f=webp&w=1080&h=2195&bg=151515\",\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/384da100cbc0058265582b0851c4f2c5.jpg?f=webp&w=1080&h=2419&bg=10101\"]', '小米', '1');
INSERT INTO `wares` VALUES (116, '小米CC9 6GB+128GB', '3499', '3499', '前置3200万自拍 / 索尼4800万超广角三摄 / 多色炫彩轻薄机身 / 6.39英寸三星 AMOLED水滴屏 /4030mAh大电量 / 骁龙710处理器 / 屏幕指纹 / NFC功能 / 红外遥控功能 / Game Turbo2.0游戏加速', '[\"小米CC9 6GB+128GB 暗夜王子\",\"小米CC9 6GB+128GB 白色恋人\"]', '4958', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/6a7b58bb7f08303bf61e36c0ca5528a9.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/84b810561a16eddc32e244c9fc7f8f04.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/79fdfe982d58b1fc5eca9edca81c658a.jpg\"]', '[\"https://i8.mifile.cn/v1/a1/5b898b24-4dbc-b14e-cb85-3a547f748c00.webp?w=1080&h=962&bg=C8D5DD\", \"https://i8.mifile.cn/v1/a1/214bcd98-c263-b0f0-6740-22a1fb5e5c78.webp?w=1080&h=962&bg=CCD6DE\", \"https://i8.mifile.cn/v1/a1/d9d1c226-5dec-b29c-c585-139e30872378.webp?w=1080&h=1890&bg=0D1E58\",\"https://i8.mifile.cn/v1/a1/f4bbf2bb-85cf-ac41-ac78-f1686b727803.webp?w=1080&h=1890&bg=CBD8DF\"]', '小米', '1');
INSERT INTO `wares` VALUES (117, 'Redmi K20 Pro 尊享版', '2499', '2499', '高通骁龙855 Plus处理器 / 最高可选12GB+512GB大内存 / 索尼4800万超广角三摄 / 前置2000万升降式相机 / 6.39\"AMOLED极界全面屏 / 3D四曲面玻璃机身 / 4000mAh超长续航 / 标配27W充电器 / 8层石墨立体散热 / 第七代屏下指纹解锁 / 多功能NFC / 双频GPS导航', '[\"Redmi K20 Pro 尊享版 8GB+512GB 冰川蓝\",\"Redmi K20 Pro 尊享版 8GB+512GB 水之蜜语\"]', '123', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/0337032429cc0085ab911ecc823624a0.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/23920653ce71e984d71994c9c7680fce.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/ff7c037f8d77f9c7afe9a76fbbc76e05.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/ef9525786adff8ce9c30836f534cf9e4.jpg?f=webp&w=1080&h=560&bg=0D\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/b82330a0ffba549be9e7a8a1fd8478d2.jpg?f=webp&w=1080&h=713&bg=20106\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9faf04ace09668f9254e5c23740296b2.jpg?f=webp&w=1080&h=651&bg=120715\",\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/b8c01c268787955b404a91f098f50b62.jpg?f=webp&w=1080&h=900&bg=10103\"]', '小米', '2');
INSERT INTO `wares` VALUES (118, '黑鲨手机2 Pro', '3299', '3499', '骁龙855 Plus旗舰处理器 / UFS 3.0 高速闪存 / 全系标配12GB大运存 / 液冷3.0+,全域液冷升级 / 电竞级屏幕压感,操作快人一步 / 独显DC调光2.0 护眼全新升级', '[\"黑鲨游戏手机2 Pro 12GB+256GB 电鸣黑\",\"黑鲨游戏手机2 Pro 12GB+512GB 电鸣黑\"]', '956', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/56e26d8a4d08ee4710dbd7b892420c85.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2cc38dd9ea850f6ebc034eab38ae5536.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/c3009bfc669f90a767244a239c6b3ee8.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/e958a149634cc0cf9827b2427fa8f90d.jpg?f=webp&w=1080&h=664&bg=15212F\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/aadc95db9b1d09b2530b2192b4eb5609.jpg?f=webp&w=1080&h=514&bg=2C2132\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/da15d182963515b714f9c32986950bb1.jpg?f=webp&w=1080&h=650&bg=371E31\",\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/6dcf50b1d8c269776e9bd276169fe3b7.jpg?f=webp&w=1080&h=888&bg=60606\"]', '小米', '3');
INSERT INTO `wares` VALUES (119, 'Redmi 7 ', '999', '899', '4000mAh大电量 / 骁龙632八核处理器 / 6.26\"水滴全面屏,德国莱茵 TÜV 认证护眼屏 / 18个月超长质保康宁第五代大猩猩玻璃盖板 / 支持大字体、大音量模式,收音机、红外遥控功能 / 1200万AI双摄1.25μm大像素相机', '[\"Redmi 7 4GB+64GB 梦幻蓝 \",\"Redmi 7 4GB+64GB 亮黑色 \"]', '9956', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44ba58637ffa753ce7c2d77329711fa4.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/4885bbbf8ebb98d855205e27951a5980.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/890a5374ecd5503c4405780689f889d3.jpg\"]', '[\"https://i8.mifile.cn/v1/a1/f4102566-3561-1488-f116-e303bbc6e757.webp?w=1080&h=760&bg=F6F5F7\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/019e93007332ceb9707d30934060661b.jpg?w=1080&h=1281&bg=8C82A4\", \"https://i8.mifile.cn/v1/a1/652f7e3e-ee3b-6518-655b-81275642fc45.webp?w=1080&h=971&bg=F8F3FA\",\"https://i8.mifile.cn/v1/a1/4a2c2c74-ed48-25da-4537-aaffdf7f70c3.webp?w=1080&h=197&bg=F8F0F6\"]', '小米', '3');
INSERT INTO `wares` VALUES (120, 'Redmi Note 7 Pro', '1599', '899', '索尼4800万超清拍照 / 6GB+128GB大存储 / 骁龙675处理器 / 4000mAh大电量 / 18个月超长质保 / 6.3\"水滴屏 / P2i整机防泼溅处理 / 标配18W充电器 / 德国莱茵 TÜV 认证护眼屏', '[\"Redmi Note 7 Pro 6GB+128GB 镜花水月 \",\"Redmi Note 7 Pro 6GB+128GB 亮黑色 \"]', '956', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/aff8484b51c99014f5f34e2cfa3b6678.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/be5075cbc0b0a0a99f4bf794e048e75f.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/c9a2e4e554fe946569fa5858cddea6c2.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/4e13fbc23e9aecab77a872cca04fb978.jpg?f=webp&w=1080&h=2031&bg=C1A9FD\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/061850c2e5216d647c0c2a7b40726f20.jpg?f=webp&w=1080&h=2031&bg=FFFFFF\", \"https://i8.mifile.cn/v1/a1/bbb95485-a458-2c51-abfa-0613db263c8c.webp?w=1080&h=742&bg=F9EEEB\",\"https://i8.mifile.cn/v1/a1/93953fcf-e36a-93c8-f343-913cabca1244.webp?w=1080&h=450&bg=F2EEF0\"]', '小米', '2');
INSERT INTO `wares` VALUES (121, 'Redmi Note 8', '1399', '1299', '4800万全场景四摄 / 前置1300万美颜相机 / 骁龙665处理器 / 4000mAh超长续航 / 标配18W快充 / 超线性扬声器 / 90%高屏占比 / 康宁大猩猩保护玻璃 / 6.3英寸水滴全面屏', '[\"Redmi Note 8 6GB+128GB 梦幻蓝 \",\"Redmi Note 8 6GB+128GB 曜石黑 \"]', '96', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/65e3e2dcce852b09bd0e35d2425b2e9c.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/b17192d299e875fc2402badb7e4acf17.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/e2d10fb82dcd525351085444dd21effe.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9302525a5da336ab35edc70401036633.jpg?f=webp&w=1080&h=2131&bg=4C59DC\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/c6957583e0c7ae8e284579984068daf3.jpg?f=webp&w=1080&h=1753&bg=FFFFFF\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/acc23d295406a8cc59f09d34e9f02ce3.jpg?f=webp&w=1080&h=640&bg=F9D6FF\",\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/217bee881b418ab76a6247fd4d3ec3e6.jpg?f=webp&w=1080&h=1445&bg=48A7EB\"]', '小米', '2');
INSERT INTO `wares` VALUES (122, 'Redmi 8A', '699', '1399', '5000mAh大电量 / 最高可选4GB+64GB版本 / 支持18W快充 / Type-C充电接口 / 6.22\"水滴全面屏 / AI人脸解锁 / 骁龙八核处理器 / 超大音量 / 支持无线FM收音机', '[\"Redmi 8A 4GB+64GB 珊瑚橙 64GB \",\"Redmi 8A 4GB+64GB 深海蓝 64GB \"]', '96', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/99f8c779830eeef7c113c0eb62b6f2b8.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/42964b470d44248d25e051113e22919c.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/1b3ff99472ba2ce828826e2b2740afdf.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/fd46d599dbfb82b68c4f180bd00dc7f6.jpg?f=webp&w=1080&h=1819&bg=FFFFFF\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/3ccf44df5df59c464c9cae260f46f336.jpg?f=webp&w=1080&h=832&bg=FFFFFF\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/37c42cbc2c5b9bb55a64c15611358f82.jpg?f=webp&w=1080&h=859&bg=FFFFFF\",\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/3848b3c62fce1ebafd47a7bb1a962f5f.jpg?f=webp&w=1080&h=490&bg=FFFFFF\"]', '小米', '1');
INSERT INTO `wares` VALUES (123, '坚果R3', '2444', '1999', '测试链接【送电源/手柄】SMARTISAN/锤子 坚果手机3全网通坚果r1 pro2s 坚果Pro3', '[\"坚果R3 4GB+64GB 黑色\", \"坚果R3 6GB+128GB 贝母白\"]', '844', '[\"https://img.alicdn.com/imgextra/i2/1898764315/TB11dcdaNYaK1RjSZFnXXa80pXa_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1898764315/O1CN01sLZ8I31hkJVdSqilS_!!1898764315.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1898764315/TB2.PGjkASWBuNjSszdXXbeSpXa_!!1898764315.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/1898764315/O1CN011hkJU34MZ8KrGTK_!!1898764315.jpg\",\"https://img.alicdn.com/imgextra/i1/1898764315/O1CN01YK0IFi1hkJV7vwJSM_!!1898764315.jpg\",\"https://img.alicdn.com/imgextra/i2/1898764315/O1CN011hkJUkjkehWOvX8_!!1898764315.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/1898764315/TB2spk2k1OSBuNjy0FdXXbDnVXa_!!1898764315.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1898764315/TB2CL4QlnlYBeNjSszcXXbwhFXa_!!1898764315.jpg_760x760Q90s50.jpg_.webp\"]', '锤子', '1');
INSERT INTO `wares` VALUES (124, '锤子坚果Pro3', '2599', '2300', '【至高减300元】SMARTISAN/锤子坚果Pro3手机 新品高通骁龙855Plus大电池四摄智能手机官方旗舰店', '[\"锤子坚果Pro3 8GB+128GB 贝母白\", \"锤子坚果Pro3 6GB+128GB 贝母白\"]', '899', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9977e24825a323e9a67311ab93436fe1.jpg\",\"https://img.alicdn.com/imgextra/i4/2201137262907/O1CN01DjtpGx1XLRvmssCAg_!!2201137262907.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/2201137262907/O1CN01d1wAU31XLRvpFfh8S_!!2201137262907.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/2616970884/O1CN01Nep77O1IOuhEztIe1_!!2616970884.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/2616970884/O1CN01P9BChz1IOuhGrxAzv_!!2616970884.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/2616970884/O1CN012wb7L31IOuhCeSvXk_!!2616970884.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/2616970884/O1CN01cyrLXD1IOuhDQYujq_!!2616970884.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01V4CPyg1IOuhAzMFJJ_!!2616970884.jpg_760x760Q90s50.jpg_.webp\"]', '锤子', '4');
INSERT INTO `wares` VALUES (125, '坚果R1', '2455', '1869', '现货速发【送移动电源+原装耳机】SMARTISAN/锤子 坚果手机 全网通坚果R1 Pro2s 坚果Pro3', '[\"锤子坚果R1 4GB+64GB 黑色\", \"锤子坚果R1 6GB+128GB 黑色\"]', '1234', '[\"https://img.alicdn.com/imgextra/i3/1898764315/O1CN01eZIBc21hkJas3t4M3_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1898764315/O1CN01TMgSap1hkJXNLp8MU_!!1898764315.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1898764315/TB2AMlUvv5TBuNjSspcXXbnGFXa_!!1898764315.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/1898764315/O1CN013PBGOv1hkJayFhbk6_!!1898764315.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1898764315/O1CN01HkdfQb1hkJZrMbrDA_!!1898764315.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1898764315/TB2M3IAa3ZC2uNjSZFnXXaxZpXa_!!1898764315.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1898764315/TB2U1Y2rQCWBuNjy0FaXXXUlXXa_!!1898764315.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1898764315/TB2CTcDfYZnBKNjSZFrXXaRLFXa_!!1898764315.jpg_760x760Q90s50.jpg_.webp\"]', '锤子', '4');
INSERT INTO `wares` VALUES (126, 'Apple/苹果 iPhone 8 Plus', '4999', '4499', 'Apple/苹果 iPhone 8 Plus', '[\"深空灰色 128GB\", \"银色 128GB\"]', '999', '[\"https://img.alicdn.com/imgextra/i2/1917047079/O1CN01qJGNHW22AEKLYyDSu_!!0-item_pic.jpg_2200x2200Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1917047079/O1CN01KptmbC22AEKGqaHhd_!!1917047079.jpg_2200x2200Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1917047079/TB1tl19XAvoK1RjSZFDXXXY3pXa_!!0-item_pic.jpg_2200x2200Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i1/1917047079/O1CN01NJJJKi22AEK1yEIBI_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01WA9D9V22AEJ9YkiN4_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01s4QQgX22AEIfWsN6B_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\"]', 'iphone', '2');
INSERT INTO `wares` VALUES (127, 'Apple/苹果 iPhone 11', '4999', '4499', 'Apple/苹果 iPhone 11', '[\"深空灰色 128GB\", \"银色 128GB\"]', '999', '[\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01DoEZ5122AEKHdxtCH_!!0item_pic.jpg_2200x2200Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/1917047079/O1CN01fGRFpW22AEKL9C0lD_!!1917047079.jpg_2200x2200Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1917047079/O1CN014v7P7f22AEJ80sYzJ_!!2-item_pic.png_2200x2200Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i1/1917047079/O1CN01NJJJKi22AEK1yEIBI_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01WA9D9V22AEJ9YkiN4_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01s4QQgX22AEIfWsN6B_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\"]', 'iphone', '2');
INSERT INTO `wares` VALUES (128, 'Apple/苹果 iPhone XR', '5299', '4799', 'Apple/苹果 iPhone XR', '[\"黑色 128GB\", \"蓝色 128GB\"]', '888', '[\"https://img.alicdn.com/imgextra/i1/1917047079/O1CN01OIWhJk22AEKH7nJr9_!!0-item_pic.jpg_2200x2200Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1917047079/O1CN01zmi8VT22AEKHLPKFI_!!1917047079.jpg_2200x2200Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN0122AEDUUxEBuOzH3_!!1917047079.jpg_2200x2200Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i1/1917047079/O1CN01NJJJKi22AEK1yEIBI_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01WA9D9V22AEJ9YkiN4_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01s4QQgX22AEIfWsN6B_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\"]', 'iphone', '4');
INSERT INTO `wares` VALUES (129, 'Apple/苹果 Apple Watch Series 5', '3499', '3199', '深空灰色铝金属表壳;黑色运动型表带 - S/M 和 M/L', '[\"GPS\",\"GPS + 蜂窝网络\"]', '11', '[\"https://img.alicdn.com/imgextra/i2/1917047079/O1CN01SsumGE22AEJ5VIPDB_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01dGRkgc22AEJDGeUCc_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1917047079/O1CN01DhkKgK22AEJCZRwit_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i1/1917047079/O1CN01NJJJKi22AEK1yEIBI_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01WA9D9V22AEJ9YkiN4_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1917047079/O1CN01s4QQgX22AEIfWsN6B_!!1917047079.jpg_2200x2200Q90s50.jpg_.webp\"]', 'iphone', '4');
INSERT INTO `wares` VALUES (136, 'Redmi Note 8 Pro', '1599', '1399', '6400万旗舰级全场景四摄 / 前置2000万 AI美颜相机 / G90T专业游戏芯片液冷散热 / 6.53英寸水滴全面屏 / 4500mAh大电量 / 标配18W快充 / 康宁大猩猩保护玻璃 / 多功能NFC / 红外遥控功能 / Game Turbo2.0游戏加速', '[\"Redmi Note 8 Pro 8GB+128GB 贝母白\", \"Redmi Note 8 Pro 6GB+128GB 贝母白\"]', '899', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9977e24825a323e9a67311ab93436fe1.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9977e24825a323e9a67311ab93436fe1.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/b1a7d9b4add24bafbafd965038ac565b.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/61a776c7464886c584117d7c0f96f12b.jpg?f=webp&w=1080&h=1800&bg=16110E\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/4cd94034e8ef54ed1ea62ab0ad43ec9b.gif\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2dca7dc907e035469709e2da5184d0fb.jpg?f=webp&w=1080&h=1800&bg=0\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2dca7dc907e035469709e2da5184d0fb.jpg?f=webp&w=1080&h=1800&bg=0\"]', '小米', '3');
INSERT INTO `wares` VALUES (138, 'Samsung/三星Galaxy Note10', '7999', '7699', 'SM-N9760 5G 骁龙855 S Pen智能拍照手机', '[\"三星Galaxy Note10 8G+256G 麦伦黑\"]', '888', '[\"https://img.alicdn.com/imgextra/i1/370627083/O1CN01gHCZbM22C3uVpQwS8_!!0-item_pic.jpg_60x60q90.jpg\", \"https://img.alicdn.com/imgextra/i4/370627083/O1CN01bWvsqa22C3uMwQq9R_!!370627083.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/370627083/O1CN0180F6nc22C3uUjbclY_!!370627083.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/370627083/O1CN01mCA0XZ22C3tyhCLS4_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i1/370627083/O1CN01gHCZbM22C3uVpQwS8_!!0-item_pic.jpg_60x60q90.jpg\", \"https://img.alicdn.com/imgextra/i4/370627083/O1CN01bWvsqa22C3uMwQq9R_!!370627083.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/370627083/O1CN0180F6nc22C3uUjbclY_!!370627083.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/370627083/O1CN01mCA0XZ22C3tyhCLS4_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i2/370627083/O1CN01Mn7yWT22C3tYC5TYd_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\"]', '三星', '3');
INSERT INTO `wares` VALUES (139, 'Samsung/三星 Galaxy A80 ', '3299', '2799', 'Galaxy A80 SM-GA8050 4800万像素+800万像素+HQVGA ', '[\"三星 Galaxy A80 12G+512G 精英蓝\"]', '1024', '[\"https://img.alicdn.com/imgextra/i4/2616970884/O1CN01UjAb991IOuhKaKFmx_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/2616970884/O1CN01VsaKJm1IOugh0MBM9_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01mB86jC1IOuh8zbwej_!!2616970884.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2616970884/O1CN01jes3A81IOuh8zawH9_!!2616970884.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/2616970884/O1CN01UjAb991IOuhKaKFmx_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/2616970884/O1CN01VsaKJm1IOugh0MBM9_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01mB86jC1IOuh8zbwej_!!2616970884.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2616970884/O1CN01jes3A81IOuh8zawH9_!!2616970884.jpg_760x760Q50s50.jpg_.webp\"]', '三星', '1');
INSERT INTO `wares` VALUES (140, 'Samsung/三星 GALAXY Note9 ', '4378', '3999', '八核|2.8GHz,1.7GHzWIFI上网,GPS导航,双卡双待', '[\"Samsung/三星 GALAXY Note9 12G+256G 星空蓝\"]', '2048', '[\"https://img.alicdn.com/imgextra/i2/832146906/O1CN013nA9IE20szn1K2kMj_!!832146906.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/832146906/O1CN01aGhLTn20sznM7QKdG_!!832146906.jpg_640x0q80_.webp\", \"https://img.alicdn.com/imgextra/i1/832146906/O1CN01TJlmZ420szn2F1pvj_!!832146906.jpg_640x0q80_.webp\", \"https://img.alicdn.com/imgextra/i2/832146906/O1CN01oA4neS20szmzLG1pm_!!832146906.jpg_640x0q80_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/832146906/O1CN013nA9IE20szn1K2kMj_!!832146906.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/832146906/O1CN01aGhLTn20sznM7QKdG_!!832146906.jpg_640x0q80_.webp\", \"https://img.alicdn.com/imgextra/i1/832146906/O1CN01TJlmZ420szn2F1pvj_!!832146906.jpg_640x0q80_.webp\", \"https://img.alicdn.com/imgextra/i2/832146906/O1CN01oA4neS20szmzLG1pm_!!832146906.jpg_640x0q80_.webp\"]', '三星', '1');
INSERT INTO `wares` VALUES (141, 'Samsung/三星 GALAXY S9 S9Plus', '4378', '3378', '后置摄像头: 1200万\r\n\r\n摄像头类型: 双摄像头(前后)', '[\"Galaxy S9 8G+256G 曜石黑\"]', '1328', '[\"https://gd1.alicdn.com/imgextra/i2/3845591176/O1CN01NWCOfE1KYeKKg7xia_!!3845591176.jpg\", \"https://gd4.alicdn.com/imgextra/i4/3845591176/O1CN01cClCUQ1KYeKFA9F7O_!!3845591176.jpg\", \"https://gd1.alicdn.com/imgextra/i1/3845591176/O1CN01PiVZtD1KYeKMlI5og_!!3845591176.jpg\", \"https://gd2.alicdn.com/imgextra/i2/3845591176/O1CN01XN5MMW1KYeKMsn59o_!!3845591176.jpg\"]', '[\"https://gd1.alicdn.com/imgextra/i2/3845591176/O1CN01NWCOfE1KYeKKg7xia_!!3845591176.jpg\", \"https://gd4.alicdn.com/imgextra/i4/3845591176/O1CN01cClCUQ1KYeKFA9F7O_!!3845591176.jpg\", \"https://gd1.alicdn.com/imgextra/i1/3845591176/O1CN01PiVZtD1KYeKMlI5og_!!3845591176.jpg\", \"https://gd2.alicdn.com/imgextra/i2/3845591176/O1CN01XN5MMW1KYeKMsn59o_!!3845591176.jpg\"]', '三星', '1');
INSERT INTO `wares` VALUES (142, 'Samsung/三星 Galaxy M30s ', '1699', '1499', '4800万+800万+500万后置三摄', '[\"Samsung/三星 Galaxy M30s 8G+256G 梦想蓝\"]', '888', '[\"https://img.alicdn.com/imgextra/i3/2616970884/O1CN01QFRO2y1IOuhJZ8Kkr_!!2616970884.jpg_430x430q90.jpg\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01A8SzRr1IOugm1nvVk_!!2616970884.jpg_430x430q90.jpg\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01iaqobA1IOuh8hJZfX_!!2616970884.jpg_430x430q90.jpg\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01qJ6xec1IOugjku3Er_!!2616970884.jpg_430x430q90.jpg\"]', '[\"https://img.alicdn.com/imgextra/i3/2616970884/O1CN01QFRO2y1IOuhJZ8Kkr_!!2616970884.jpg_430x430q90.jpg\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01A8SzRr1IOugm1nvVk_!!2616970884.jpg_430x430q90.jpg\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01iaqobA1IOuh8hJZfX_!!2616970884.jpg_430x430q90.jpg\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01qJ6xec1IOugjku3Er_!!2616970884.jpg_430x430q90.jpg\"]', '三星', '2');
INSERT INTO `wares` VALUES (143, 'Samsung三星 Galaxy Note10+', '7999', '7699', '1600万像素超广角摄像头+1200万像素广角摄像头+1200万像素长焦摄像头', '[\"Samsung三星 Galaxy Note10+ 8G+256G 原谅绿\"]', '888', '[\"https://img.alicdn.com/imgextra/i4/268451883/O1CN01LrfXdf1PmSMpqDBYA_!!268451883.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/268451883/O1CN012LawEm1PmSLWqdUBN_!!268451883.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/268451883/O1CN017dd2TI1PmSLUboI8e_!!268451883.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/268451883/O1CN01UALoj21PmSLW760si_!!268451883.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/268451883/O1CN01LrfXdf1PmSMpqDBYA_!!268451883.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/268451883/O1CN012LawEm1PmSLWqdUBN_!!268451883.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/268451883/O1CN017dd2TI1PmSLUboI8e_!!268451883.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/268451883/O1CN01UALoj21PmSLW760si_!!268451883.jpg_760x760Q50s50.jpg_.webp\"]', '三星', '2');
INSERT INTO `wares` VALUES (144, '三星 Galaxy A70s', '2699', '2499', ' 6400万像素+800万像素+500万像素', '[\"三星 Galaxy A70s 8G256G 激情白\"]', '858', '[\"https://img.alicdn.com/imgextra/i3/263726286/O1CN01i4XB8g1wJ2ExZRkzs_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/263726286/O1CN01HnKatP1wJ2F2wCHFu_!!263726286.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/263726286/O1CN019NF3zi1wJ2Exojpen_!!263726286.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/263726286/O1CN01cKS9Gx1wJ2EzBeaXG_!!263726286.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i3/263726286/O1CN01i4XB8g1wJ2ExZRkzs_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/263726286/O1CN01HnKatP1wJ2F2wCHFu_!!263726286.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/263726286/O1CN019NF3zi1wJ2Exojpen_!!263726286.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/263726286/O1CN01cKS9Gx1wJ2EzBeaXG_!!263726286.jpg_760x760Q50s50.jpg_.webp\"]', '三星', '3');
INSERT INTO `wares` VALUES (145, '三星 Galaxy Fold SM-F9000', '16690', '16690', '电容屏,多点触控 6400万像素+800万像素+500万像素', '[\"三星 Galaxy Fold SM-F9000 12G+512G 星空银\"]', '999', '[\"https://img.alicdn.com/imgextra/i4/70311134/O1CN01hQ75471KFPhrwwuPp_!!70311134.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i2/70311134/O1CN01rthnIc1KFPhkvuBrV_!!70311134.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i2/70311134/O1CN018dHug91KFPhoiiuvA_!!70311134.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/70311134/O1CN01nVaOCw1KFPhoFxUKa_!!70311134.jpg_640x640q80_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/70311134/O1CN01hQ75471KFPhrwwuPp_!!70311134.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i2/70311134/O1CN01rthnIc1KFPhkvuBrV_!!70311134.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i2/70311134/O1CN018dHug91KFPhoiiuvA_!!70311134.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/70311134/O1CN01nVaOCw1KFPhoFxUKa_!!70311134.jpg_640x640q80_.webp\"]', '三星', '4');
INSERT INTO `wares` VALUES (146, '三星 GALAXY S8+plus', '2060', '1999', '美版s8全网通4G曲面屏智能手机', '[\"三星 GALAXY S8+plus 8G+128G 电光蓝\"]', '899', '[\"https://img.alicdn.com/imgextra/i4/1083731246/O1CN010iut151L4i3fcm3ni_!!1083731246.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/1083731246/O1CN01HAzGmH1L4hz4Y0CZf_!!1083731246.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i3/1083731246/O1CN01ERfXOB1L4hz3Rfw0l_!!1083731246.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/1083731246/O1CN01q2MHk11L4hz5Yrpek_!!1083731246.jpg_640x640q80_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/1083731246/O1CN010iut151L4i3fcm3ni_!!1083731246.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/1083731246/O1CN01HAzGmH1L4hz4Y0CZf_!!1083731246.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i3/1083731246/O1CN01ERfXOB1L4hz3Rfw0l_!!1083731246.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/1083731246/O1CN01q2MHk11L4hz5Yrpek_!!1083731246.jpg_640x640q80_.webp\"]', '三星', '2');
INSERT INTO `wares` VALUES (147, '魅族16T', '2299', '2299', '【赠解码耳机/碎屏险】/meizu/魅族16T全网通4G大屏骁龙855官网官方旗舰店正品魅族16t新款16spro plus', '[\"魅族16T 8GB+128GB 鲸跃蓝\", \"魅族16T 6GB+256GB 日光橙\", \"魅族16T 6GB+128GB 湖光绿\"]', '899', '[\"https://img.alicdn.com/imgextra/i4/4108177074/O1CN01RnupcB227wKxxxXah_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i2/4108177074/O1CN01uopQUK227wL1Xg0sy_!!4108177074.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/4108177074/O1CN01xwSwCT227wKxPHUqm_!!4108177074.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/4108177074/O1CN01DlXJOv227wLKnKYMw_!!4108177074.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/4108177074/O1CN01aEV4Db227wLLqZ143_!!4108177074.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/4108177074/O1CN01ColfP2227wLKnLDxq_!!4108177074.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i2/4108177074/O1CN01FE53Ow227wLNvx7S1_!!4108177074.jpg_760x760Q90s50.jpg_.webp\"]', '魅族', '2');
INSERT INTO `wares` VALUES (148, '魅族 X8', '1498', '848', '【加购收藏赢POP2】Meizu/魅族 X8准旗舰游戏拍照骁龙710游戏智能颜值手机学生机商务机官网官方旗舰店正品', '[\"魅族 X8 4GB+64GB 玉白\", \"魅族 X8 6GB+128GB 亮黑\", \"魅族 X8 6GB+128GB 幻蓝\"]', '899', '[\"https://img.alicdn.com/imgextra/i2/1695308781/O1CN01dNxCdn2EjkQG0CPRz_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/1695308781/O1CN01800J3v2EjkQIomSXd_!!1695308781.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/1695308781/O1CN010qwcQb2EjkQHCaDkb_!!1695308781.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/1695308781/O1CN01cvlqgA2EjkN62tpyi_!!1695308781.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/1695308781/O1CN01nSHKgY2EjkN6f5CjU_!!1695308781.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/1695308781/O1CN01NJXrJl2EjkN62tR42_!!1695308781.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/1695308781/O1CN01Pkf6OC2EjkN48XHvP_!!1695308781.jpg_760x760Q90s50.jpg_.webp\"]', '魅族', '1');
INSERT INTO `wares` VALUES (149, '魅族16sPro', '2699', '2689', '【6+128白色预售5天内发货】Meizu/魅族16sPro骁龙855Plus4800W光学防抖三摄屏下指纹全面屏高端正品手机', '[\"魅族16sPro 8GB+128GB 黑之谧镜\", \"魅族16sPro 6GB+128GB 暮光森林\", \"魅族16sPro 8GB+256GB 梦幻独角兽\"]', '900', '[\"https://img.alicdn.com/imgextra/i4/1695308781/O1CN01cIaaDh2EjkQRswlVh_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/1695308781/O1CN01WNm55k2EjkPYJuG2Y_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/1695308781/O1CN018gOJIP2EjkPP0olkm_!!1695308781.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/1695308781/O1CN01AJePkX2EjkQd9Jeo6_!!1695308781.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/1695308781/O1CN01N1xvT22EjkPSOsRpB_!!1695308781.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/1695308781/O1CN01w66tXT2EjkQdwEKJg_!!1695308781.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/1695308781/O1CN01Si67IM2EjkQfpdJXA_!!1695308781.jpg_760x760Q90s50.jpg_.webp\"]', '魅族', '3');
INSERT INTO `wares` VALUES (150, '魅族16X', '1298', '1298', '魅族16X 1212价格提前享【送充电宝/蓝牙手环再送699元豪礼】Meizu官方准旗舰手机专卖店X8骁龙71016x手机', '[\"魅族16X 6GB+64GB 云山蓝\", \"魅族16X 6GB+128GB 砚墨黑\", \"魅族16X 6GB+128GB 汝窑白\"]', '900', '[\"https://img.alicdn.com/imgextra/i1/2133951112/O1CN01uwBTOD1K5KzrCUkvp_!!2133951112.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/2133951112/O1CN01uwBTOD1K5KzrCUkvp_!!2133951112.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/2133951112/O1CN01Ex64Ax1K5Kzq9DWv7_!!2133951112.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i3/2133951112/O1CN01fZkQ501K5KwMdog1W_!!2133951112.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2133951112/O1CN01ge8Q771K5KwLoa8xy_!!2133951112.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/2133951112/O1CN01U8pMqv1K5KwKLUVti_!!2133951112.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i2/2133951112/O1CN01zI9qtS1K5KwMn5Ltk_!!2133951112.jpg_760x760Q90s50.jpg_.webp\"]', '魅族', '3');
INSERT INTO `wares` VALUES (151, '魅族 PRO7', '1528', '1528', '顺丰包邮【原封】Meizu/魅族 PRO7 双摄全网通4G智能画屏手机 双屏魅族官方旗舰店官网正品魅族pro7 plus 16x', '[\"魅族 PRO7 6GB+64GB 曜影黑\", \"魅族 PRO7 6GB+128GB 香槟金\", \"魅族 PRO7 6GB+128GB 静谧黑\"]', '900', '[\"https://img.alicdn.com/imgextra/i3/507957984/O1CN01EkGZVe28qihoNFKq5_!!0-item_pic.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/507957984/O1CN01VjkTkz28qihmXoeyR_!!507957984.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i2/507957984/O1CN01XUK0LT28qihoMqE9n_!!507957984.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/1124960044/TB2J64bcjgy_uJjSZKPXXaGlFXa_!!1124960044.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/1124960044/TB2ba_lh3vD8KJjSsplXXaIEFXa_!!1124960044.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/1124960044/TB2lh_th46I8KJjSszfXXaZVXXa_!!1124960044.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/507957984/O1CN0191k8zm28qikrLOtng_!!507957984.jpg_760x760Q90s50.jpg_.webp\"]', '魅族', '4');
INSERT INTO `wares` VALUES (152, '魅族 15 PLUS', '1750', '1699', '现货顺丰速发Meizu/魅族 魅族 15 PLUS全网通4G智能手机15Plus 官方旗舰店官网正品 16THPLUS thplus', '[\"魅族 15 PLUS 6GB+64GB 砚墨\", \"魅族 15 PLUS 6GB+128GB 玄武灰\", \"魅族 15 PLUS 6GB+128GB 雅金\"]', '900', '[\"https://img.alicdn.com/imgextra/i3/361925594/O1CN01D64EfE1rC65JXtNaN_!!361925594.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/361925594/TB28H9neOMnBKNjSZFzXXc_qVXa_!!361925594.jpg_760x760Q50s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/361925594/TB2D7VwX8gXBuNjt_hNXXaEiFXa_!!361925594.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/361925594/O1CN01OB0qKK1rC66sBeUlu_!!361925594.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/361925594/O1CN015LKBQS1rC66pqZsMd_!!361925594.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/361925594/O1CN01DwlKi41rC66pqaHJm_!!361925594.jpg_760x760Q90s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/361925594/O1CN01Bi5vto1rC66pSEcZF_!!361925594.jpg_760x760Q90s50.jpg_.webp\"]', '魅族', '3');
INSERT INTO `wares` VALUES (153, '魅族 魅蓝note5 note3', '579', '579', 'Meizu/魅族 魅蓝note5 note3全网通双卡4G八核5.5屏指纹智能手机', '[\"魅蓝note5全网通4G指纹解锁 6GB+64GB 银色\", \"魅蓝note5全网通4G指纹解锁 6GB+128GB 金色\", \"魅蓝5全网通4G指纹解锁 6GB+128GB 白色\"]', '900', '[\"https://img.alicdn.com/imgextra/i3/3328568129/O1CN01PRjfeH29v8BwYvZH6_!!3328568129.jpg_640x640q80_.webp\",\"https://img.alicdn.com/imgextra/i3/3328568129/O1CN01PRjfeH29v8BwYvZH6_!!3328568129.jpg_640x640q80_.webp\", \"https://img.alicdn.com/imgextra/i1/3328568129/O1CN01zWa8zl29v8Btxy4ru_!!3328568129.jpg_640x640q80_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/3328568129/O1CN01Vs5xJq29v8BvnQRkN_!!3328568129.jpg_640x0q80_.webp\",\"https://img.alicdn.com/imgextra/i3/3328568129/O1CN01dcblNp29v8Btxysq7_!!3328568129.jpg_640x0q80_.webp\",\"https://img.alicdn.com/imgextra/i4/3328568129/O1CN01fDIGac29v8BvdpA5f_!!3328568129.jpg_640x0q80_.webp\",\"https://img.alicdn.com/imgextra/i2/3328568129/O1CN015r6iX929v8BwYyWN7_!!3328568129.png_640x0q80_.webp\"]', '魅族', '3');
INSERT INTO `wares` VALUES (154, '魅族 note8', '1149', '1149', 'Meizu/魅族 note8 全面屏6英寸4G全网通 智能拍照手机', '[\"魅族 note8 4+64G 蓝色\", \"魅族 note8 4+64G 黑色\", \"魅族 note8 4+64G 红色\"]', '900', '[\"https://img.alicdn.com/imgextra/i4/685835129/O1CN015Zo6ZQ1nl7wgIaXck_!!685835129.jpg_640x640q80_.webp\",\"https://img.alicdn.com/imgextra/i3/685835129/O1CN01RrDidY1nl7wYE1pLO_!!685835129.jpg_640x640q80_.webp\",\"https://img.alicdn.com/imgextra/i4/685835129/O1CN01SLUub51nl7wiNcEBu_!!685835129.jpg_640x640q80_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/685835129/O1CN01chdCKV1nl7wh52kYJ_!!685835129.jpg_640x0q80_.webp\",\"https://img.alicdn.com/imgextra/i4/685835129/O1CN01rHI9ZS1nl7wf8YDCz_!!685835129.jpg_640x0q80_.webp\",\"https://img.alicdn.com/imgextra/i1/685835129/O1CN01rQELil1nl7wh52Pma_!!685835129.jpg_640x0q80_.webp\",\"https://img.alicdn.com/imgextra/i4/685835129/O1CN01hhWt3r1nl7wiNyJai_!!685835129.jpg_640x0q80_.webp\"]', '魅族', '2');
INSERT INTO `wares` VALUES (155, '魅族 PRO6plus', '1528', '1528', '顺丰速发128G版 MeiZu/魅族 PRO6plus手机 公开版 移动联通4G手机 魅族官方旗舰店官网正品pro7 pro6s手机', '[\"魅族 PRO6plus 4+64G 香槟金\"]', '900', '[\"https://img.alicdn.com/imgextra/i4/507957984/O1CN01XLAdb928qijpAh26q_!!507957984.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/507957984/O1CN01TiPbyA28qijm75qQ3_!!507957984.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/507957984/O1CN01Kc8Dbz28qijqKPkzF_!!507957984.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i1/507957984/O1CN01dkswNo28qijnId9Kn_!!507957984.png_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/507957984/O1CN01k1lIut28qijp3EnX7_!!507957984.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/507957984/O1CN01VNeRnk28qijqKUiyT_!!507957984.jpg_2200x2200Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/507957984/O1CN01ktptF428qijp3EC80_!!507957984.jpg_2200x2200Q90s50.jpg_.webp\"]', '魅族', '2');
INSERT INTO `wares` VALUES (156, '魅蓝5S', '629', '629', '现货当天发【送壳膜指环扣多重壕礼】Meizu/魅族 魅蓝5S全网通4G学生智能手机魅蓝6t 魅族官方旗舰店官网正品', '[\"魅蓝5S 4+64G 香槟金\", \"魅蓝5S 4+64G 月光银\"]', '900', '[\"https://img.alicdn.com/imgextra/i3/507957984/O1CN01Gm4jlZ28qih0FSMRM_!!507957984.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/507957984/O1CN01hwdJ0U28qigsaOabt_!!507957984.jpg_760x760Q50s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/507957984/O1CN01NCtKtG28qigxkwFas_!!507957984.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i3/507957984/O1CN01CPrZqz28qilQsrQZ7_!!507957984.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1124960044/TB2MImGX3Aq0eJjSZFtXXc.qVXa_!!1124960044.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1124960044/TB2.iM6a3r5ZeJjSZFqXXbfvVXa_!!1124960044.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/1124960044/TB2WCC2d2NNTKJjSspkXXaeWFXa_!!1124960044.jpg_760x760Q90s50.jpg_.webp\"]', '魅族', '1');
INSERT INTO `wares` VALUES (157, '诺基亚 NOKIA 8110', '349.00', '399.00', '商品产地:越南 / CPU型号其他 / 运行内存2GB以下 / 机身存储8GB以下 / 电池容量mAh1500/ 后摄主摄像素200万像素 / 操作系统:功能机 / 多功能NFC / 4G LTE网络特性其他', '[\"诺基亚 NOKIA 8 Sirocco 6G+128G 全网通 移动联通电信4G\", \"诺基亚 NOKIA 8 Sirocco 6G+128G 全网通 移动联通电信4G\"]', '423', '[\"http://img10.360buyimg.com/n1/s450x450_jfs/t23524/8/857854412/134171/f75a7737/5b45e3f8Ncbbfc7f2.jpg\", \"http://img10.360buyimg.com/n1/s450x450_jfs/t22018/53/2084925402/77911/6f4dd/5b45e3efN09bb5117.jpg\", \"http://img10.360buyimg.com/n1/s450x450_jfs/t24382/256/846922479/79906/9a4c6a34/5b45e409N1ee55713.jpg\"]', '[\"http://img10.360buyimg.com/n1/s450x450_jfs/t24382/256/846922479/79906/9a4c6a34/5b45e409N1ee55713.jpg\"]', '诺基亚', '2');
INSERT INTO `wares` VALUES (158, '诺基亚 NOKIA 9 PureView', '3799', '4899', '商品产地:中国大陆 / CPU型号骁龙845 / 后摄主摄像素2000万像素 / 前摄主摄像素2000万像素 / 4500mAh大电量 / 充电器9V/2A / 热点:人脸识别,无线充电 / 老人机配置:智能机(老龄模式) / 4G LTE网络特性VOLTE 4G通话 / 4G LTE网络特性VOLTE 4G通话', '[\"诺基亚 NOKIA 9 PureView 6GB+128GB 宇宙蓝 蔡司认证 后置5摄 全网通 4G双卡双待\", \"诺基亚 NOKIA 9 PureView 6GB+128GB 宇宙蓝 蔡司认证 后置5摄 全网通 4G双卡双待\"]', '655', '[\"http://img12.360buyimg.com/n1/s450x450_jfs/t1/11469/8/8642/135615/5c6f6794Edaba6de6/f0b2e12379b249e4.jpg\", \"http://img12.360buyimg.com/n1/s450x450_jfs/t1/29848/36/7735/79609/5c6f6787E7a2abe2e/93ef84ca61d796c4.jpg\", \"http://img12.360buyimg.com/n1/s450x450_jfs/t1/28899/15/7787/156326/5c6f678cE67a4935c/b322ccf19bae1b51.jpg\"]', '[\"//img12.360buyimg.com/n1/s450x450_jfs/t1/9361/14/15398/207313/5c6f6780Ea1cb0bde/75da0ed4988f27b2.jpg\"]', '诺基亚', '3');
INSERT INTO `wares` VALUES (159, '诺基亚NOKIA106', '149', '168', '商品名称诺基亚NOKIA/诺基亚106商品编号40294783703/商品毛重170.00g/机身存储8GB以下/存储卡:不支持存储卡/后摄主摄像素:无后置摄像头/前摄主摄像素:无前置摄像头屏幕/前摄组合:其他/电池容量mAh800/充电器:其他/机身颜色:深灰色', '[\"诺基亚 NOKIA 9 PureView 6GB+128GB 宇宙蓝 蔡司认证 后置5摄 全网通 4G双卡双待\", \"诺基亚 NOKIA 9 PureView 6GB+128GB 宇宙蓝 蔡司认证 后置5摄 全网通 4G双卡双待\"]', '900', '[\"//img13.360buyimg.com/n1/s450x450_jfs/t1/55582/40/12107/108432/5d8f1143E43b940eb/691e0202cbeaf987.jpg\", \"http://img13.360buyimg.com/n1/s450x450_jfs/t1/27192/13/3769/94762/5c2b1122E4b031ca3/f7c07773b39c463f.jpg\", \"http://img13.360buyimg.com/n1/s450x450_jfs/t1/62450/21/11585/137911/5d8f1143Ed720ddf8/6837dc87471e9439.jpg\"]', '[\"http://img13.360buyimg.com/n1/s450x450_jfs/t1/62629/10/11583/140298/5d8f1143E9dd56b2f/62904854462a7209.jpg\"]', '诺基亚', '4');
INSERT INTO `wares` VALUES (160, '诺基亚 NOKIA X6', '1059', '1299', '商品毛重340.00g/CPU型号其他/运行内存6GB/机身存储64GB/存储卡:其它存储卡/摄像头数量:后置单摄后摄/主摄像素1600万像素/前摄主摄像素500万像素/主屏幕尺寸英寸5.8英寸/电池容量mAh3060', '[\"诺基亚 NOKIA X6 6GB+64GB网通 双卡双待 移动联通电信4G手机 暗夜蓝 6GB+64GB\", \"诺基亚 NOKIA X6 6GB+64GB网通 双卡双待 移动联通电信4G手机 暗夜蓝 6GB+64GB\"]', '788', '[\"http://img14.360buyimg.com/n1/s450x450_jfs/t1/42476/1/6555/244846/5d01fe6cEaa5fa69e/3d3cb8cf97e5d14e.jpg\", \"https://img14.360buyimg.com/n1/s546x546_jfs/t1/71963/18/1801/203775/5d01fe6eE30c766be/e8060583cb71b6e5.jpg\", \"https://img14.360buyimg.com/n0/jfs/t1/69220/34/1832/151535/5d01fe71E61ed7ddc/c211e96e505ce66e.jpg\"]', '[\"http://img14.360buyimg.com/n1/s450x450_jfs/t1/50735/27/2293/84662/5d01fe72Ef508ecef/d8083262b01ac38b.jpg\"]', '诺基亚', '4');
INSERT INTO `wares` VALUES (161, '诺基亚 7 Plus (Nokia 7 Plus)', '3799', '4899', 'CPU型号骁龙845 / 后摄主摄像素2000万像素 / 前摄主摄像素2000万像素 / 4500mAh大电量 / 充电器9V/2A / 热点:人脸识别,无线充电 / 4G LTE网络特性VOLTE 4G通话 / 4G LTE网络特性VOLTE 4G通话', '[\"诺基亚 7 Plus (Nokia 7 Plus) 6G+64GB 全网通双卡双待\", \"诺基亚 7 Plus (Nokia 7 Plus) 6G+64GB 全网通双卡双待\"]', '344', '[\"http://img12.360buyimg.com/n1/s450x450_jfs/t1/11469/8/8642/135615/5c6f6794Edaba6de6/f0b2e12379b249e4.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9977e24825a323e9a67311ab93436fe1.jpg\", \"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/b1a7d9b4add24bafbafd965038ac565b.jpg\"]', '[\"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/61a776c7464886c584117d7c0f96f12b.jpg?f=webp&w=1080&h=1800&bg=16110E\"]', '诺基亚', '1');
INSERT INTO `wares` VALUES (162, '诺基亚 7 Plus', '2099', '2199', 'CPU型号麒麟845 / 后摄主摄像素2000万像素 / 前摄主摄像素2000万像素 / 4500mAh大电量 / 充电器9V/2A / 热点:人脸识别,无线充电/ 4G LTE网络特性VOLTE 4G通话 / 4G LTE网络特性VOLTE 4G通话', '[\"诺基亚 7 Plus 4G+64GB 全网通 双卡双待\", \"诺基亚 7 Plus 4G+64GB 全网通 双卡双待\"]', '877', '[\"https://mercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0E/02/ChMkJ1sU4NiIPCztAAFlbR-pyaYAAoy9gFw8AwAAWWF889.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/07/04/ChMkJlqjTJCIXMNoAAHPPP1F63UAAlXvAGJ2QYAAc9U818.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/07/04/ChMkJlqjTJaIRh0qAAEh2iToOJwAAlXvAJ_LSoAASHy896.jpg\"]', '[\"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/07/04/ChMkJ1qjTKyIbrsDAAEL0aqKtjUAAlXvQKJCZoAAQvp452.jpg\"]', '诺基亚', '1');
INSERT INTO `wares` VALUES (163, '诺基亚 NOKIA X5', '1219', '1319', 'CPU型号骁龙845 / 后摄主摄像素2000万像素 / 前摄主摄像素2000万像素 / 4500mAh大电量 / 充电器9V/2A / 热点:人脸识别,无线充电 / 4G LTE网络特性VOLTE 4G通话', '[\"诺基亚 NOKIA X5 4GB+64GB 全网通 移动联通电信4G手机\", \"诺基亚 NOKIA X5 4GB+64GB 全网通 移动联通电信4G手机\"]', '766', '[\"https://mercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/00/0B/ChMkJ1tVaRGIQhTPAAFa772MpVUAAp9UwO1SS0AAVsH853.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0E/0B/ChMkJ1tP_4CIEKnHAAFDfjYGmXYAAp1WQC5q4IAAUOW340.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0E/0B/ChMkJ1tP_4WILbptAAEYUX2-6TkAAp1WQDNFUoAARhp598.jpg\"]', '[\"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0E/0B/ChMkJltP_4uIKAriAABPMHMpbikAAp1WQDc78cAAE9I393.jpg\"]', '诺基亚', '2');
INSERT INTO `wares` VALUES (164, '诺基亚 6(Nokia6)', '3799', '4899', 'CPU型号骁龙845 / 后摄主摄像素2000万像素 / 前摄主摄像素2000万像素 / 4500mAh大电量 / 充电器9V/2A / 热点:人脸识别,无线充电 / 老人机配置:智能机(老龄模式) / 4G LTE网络特性VOLTE 4G通话 / 4G LTE网络特性VOLTE 4G通话', '[\"诺基亚 6(Nokia6) 全网通手机 4GB运行\", \"诺基亚 6(Nokia6) 全网通手机 4GB运行\"]', '339', '[\"https://mercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0B/08/ChMkJljwe6SIdN6TAAEviOIuyucAAbqLQI7jioAAS-g412.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/05/0B/ChMkJ1jgqtmIIEYdAADTUkE3lyMAAbS-gJ6qnEAANNq667.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/02/09/ChMkJ1itFr6ILn-6AACltV1rHPEAAaGjwDYsQQAAKXN732.jpg\"]', '[\"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/02/09/ChMkJ1itFsuILlFwAABYHwQCQAAAAaGjwDnqA8AAFg3495.jpg\"]', '诺基亚', '3');
INSERT INTO `wares` VALUES (165, '诺基亚 NOKIA X6', '3799', '4899', 'CPU型号骁龙845 / 后摄主摄像素2000万像素 / 前摄主摄像素2000万像素 / 4500mAh大电量 / 充电器9V/2A / 热点:人脸识别,无线充电 / 老人机配置:智能机(老龄模式) / 4G LTE网络特性VOLTE 4G通话 / 4G LTE网络特性VOLTE 4G通话', '[\"诺基亚 NOKIA X6 6G+64G 双卡双待 移动联通电信4G手机\", \"诺基亚 NOKIA X6 6G+64G 双卡双待 移动联通电信4G手机\"]', '258', '[\"https://mercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/09/09/ChMkJ1s_EHKIIdfvAAEEsZEuVB0AApguQPAa5oAAQTJ079.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0A/0D/ChMkJlsHeqWITsryAAFjXFaSkGcAAolrgNar5kAAWN0290.jpg\", \"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0A/07/ChMkJ1sGV0OINW1hAAEFXr7O8zQAAokPwCyL3cAAQV2196.jpg\"]', '[\"https://ercrt-fd.zol-img.com.cn/t_s400x400/g5/M00/0A/07/ChMkJ1sGVzuIF33tAAAt2PF9WfgAAokPwCkrlUAAC3w472.jpg\"]', '诺基亚', '3');
INSERT INTO `wares` VALUES (166, '华为荣耀20', '2000', '3000', '荣耀20 李现同款 4800万超广角AI四摄 3200W美颜自拍 麒麟Kirin980全网通版8GB+128GB 幻影蓝 全面屏手机', '[\"华为荣耀 20 8GB+128GB 幻影蓝\", \"华为荣耀 20 6GB+128GB 蓝水翡翠\"]', '899', '[\"https://img10.360buyimg.com/n1/s450x450_jfs/t1/106523/18/4870/280822/5de8fc85E07ca3577/d57fd550720cccda.jpg\", \"https://img10.360buyimg.com/n1/s450x450_jfs/t11266/172/3136897597/311385/898550cb/5ce41430N7bb10f75.jpg\", \"https://img10.360buyimg.com/n1/s450x450_jfs/t30838/143/1644160973/243014/161c5d38/5ce41458N6be67131.jpg\"]', '[\"https://img30.360buyimg.com/sku/jfs/t1/60127/2/2140/282793/5d0884e4E3c9984c1/7d763804ee1d2d22.jpg\", \"https://img30.360buyimg.com/sku/jfs/t1/45037/4/2709/282125/5d0884e4E2eda96e9/0fc85800e575fa82.jpg\",\"https://img30.360buyimg.com/sku/jfs/t1/63196/17/2291/295143/5d0884e4Ee9a84621/ffeb2f82579174b3.jpg\"]', '华为', '1');
INSERT INTO `wares` VALUES (167, '华为Mate 30 Pro', '4000', '6000', 'Huawei/华为Mate 30 Pro 5G麒麟990徕卡四摄5G芯片智能手机mate30pro5g官方旗舰店', '[\"华为Mate 30 Pro 8GB+256GB 幻影蓝\", \"华为Mate 30 Pro 6GB+128GB 翡翠蓝\"]', '1000', '[\"https://img.alicdn.com/imgextra/i1/2838892713/O1CN01waq2hb1Vub5zMArfX_!!2838892713.png_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/2838892713/O1CN01wARuRn1Vub5y7N0wt_!!2838892713.png_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/2838892713/O1CN01G7PZEN1Vub6119Q7g_!!2838892713.png_2200x2200Q100s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01abUNoR1Vub5yosnsC_!!2838892713.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/2838892713/O1CN019h5iKQ1Vub64RUFju_!!2838892713.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '2');
INSERT INTO `wares` VALUES (168, '华为nova6', '5000', '5400', 'Huawei/华为nova6 5G/4G全网通麒麟990芯片官方旗舰店正品40w快充手机nova5、nova4', '[\"华为nova6 8GB+256GB 幻影蓝\", \"华为nova6 6GB+128GB 普罗旺斯\"]', '1200', '[\"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01CyaLTr1IOuhIAw2VY_!!2616970884.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2616970884/O1CN01od8HAA1IOuhIR4D8c_!!2616970884.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/2616970884/O1CN01wk80Q31IOuhKdlsEI_!!2616970884.jpg_2200x2200Q100s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/2616970884/O1CN01WHlkfn1IOuhM47Ru1_!!2616970884.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/2616970884/O1CN01mCIV7N1IOuhM45q2t_!!2616970884.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '1');
INSERT INTO `wares` VALUES (169, '华为 Mate 20 Pro', '4000', '5500', 'Huawei/华为 Mate 20 Pro 曲面屏后置徕卡三摄980芯片智能手机mate20pro华为官方旗舰店', '[\"华为 Mate 20 Pro 8GB+256GB 馥蕾红UD版\", \"华为 Mate 20 Pro 6GB+128GB 极光色UD版\"]', '1111', '[\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN011VuazeKxZIjozDb_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2616970884/O1CN01od8HAA1IOuhIR4D8c_!!2616970884.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/2838892713/O1CN011VuazdHXcPo1CK3_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/2838892713/O1CN01KTE7nN1Vub2JRGh7G_!!2838892713.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i1/2838892713/O1CN01NbnKYa1Vub2H65taM_!!2838892713.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '4');
INSERT INTO `wares` VALUES (170, '华为畅享10 Plus', '5500', '6000', 'Huawei/华为畅享10 Plus超清全视屏4800万三摄智能手机华为官方旗舰店畅享10plus', '[\"华为畅享10 Plus 8GB+256GB 翡冷翠\", \"华为畅享10 Plus 6GB+128GB 天空之境\"]', '2222', '[\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01N6h81B1Vub58pYZ16_!!0-item_pic.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01x1QDgh1Vub59WkhZ8_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/2838892713/O1CN01zo2b311Vub51oLYwg_!!2838892713.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/2838892713/O1CN01YCIQov1Vub5CNhask_!!2838892713.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01dfwAc81Vub64HVLQo_!!2838892713.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '3');
INSERT INTO `wares` VALUES (171, '华为麦芒 8', '3000', '3500', 'Huawei/华为麦芒 8全面屏AI三摄超级夜景智能手机华为正品官方手机华为官方旗舰店', '[\"华为麦芒 8 8GB+256GB 翡冷翠\", \"华为麦芒 8 6GB+128GB 幻夜黑\"]', '2222', '[\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01N6h81B1Vub58pYZ16_!!0-item_pic.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01x1QDgh1Vub59WkhZ8_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i4/2838892713/O1CN01yCghAq1Vub3lFSia0_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i2/2838892713/O1CN01MPmKoy1Vub67nnjME_!!2838892713.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01fFoK0e1Vub66OhQzT_!!2838892713.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01EEigyR1Vub66OiZgF_!!2838892713.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '1');
INSERT INTO `wares` VALUES (172, '华为 畅享9 PLUS', '3522', '4000', '华为 畅享9 PLUS中移动手机正品官方旗舰店 9S 9e 畅想MAX plus 9X 10', '[\"华为 畅享9 PLUS 8GB+256GB 翡冷翠\", \"华为 畅享9 PLUS 6GB+128GB 幻夜黑\"]', '3333', '[\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01N6h81B1Vub58pYZ16_!!0-item_pic.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01x1QDgh1Vub59WkhZ8_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i1/1776456424/O1CN01QkQ8hG1xKEputfFqQ_!!1776456424.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i3/1776456424/O1CN011xKEnQ636OHzZw9_!!1776456424.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1776456424/O1CN01eLGDhZ1xKEu77uiqN_!!1776456424.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '4');
INSERT INTO `wares` VALUES (173, '华为 Nova 4', '2500', '3000', 'Huawei/华为 Nova 4中移动手机正品官方旗舰店新款青春版3i 2s 3e 3 4e 5 Pro 6 5i 5z', '[\"华为 Nova 4 8GB+256GB 蜜语红\", \"华为 Nova 4 6GB+128GB 幻夜黑\"]', '3533', '[\"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01N6h81B1Vub58pYZ16_!!0-item_pic.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01x1QDgh1Vub59WkhZ8_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i2/1776456424/O1CN01Q7Xsg51xKEoTGZFIM_!!1776456424.jpg_760x760Q50s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/1776456424/O1CN01wUt8Nt1xKEoUQrrSJ_!!1776456424.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i4/1776456424/O1CN01wBpRae1xKEu5Be1mw_!!1776456424.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '2');
INSERT INTO `wares` VALUES (174, '华为 nova 青春版', '1500', '2000', 'Huawei/华为 nova 青春版 全网通4G美颜3e双卡手机', '[\"华为 nova 青春版 4GB+64GB 蜜语红\", \"华为 nova 青春版 4GB+64GB 珍珠白\"]', '1000', '[\"https://img.alicdn.com/imgextra/i3/1639805004/TB2C7yLpOOYBuNjSsD4XXbSkFXa_!!1639805004.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/2838892713/O1CN01x1QDgh1Vub59WkhZ8_!!2838892713.jpg_2200x2200Q100s50.jpg_.webp\", \"https://img.alicdn.com/imgextra/i3/1639805004/TB28QuopIuYBuNkSmRyXXcA3pXa_!!1639805004.jpg_2200x2200Q100s50.jpg_.webp\"]', '[\"https://img.alicdn.com/imgextra/i4/1639805004/TB2S03yx9BYBeNjy0FeXXbnmFXa_!!1639805004.jpg_760x760Q90s50.jpg_.webp\",\"https://img.alicdn.com/imgextra/i2/1639805004/TB21lfZx4SYBuNjSspjXXX73VXa_!!1639805004.jpg_760x760Q90s50.jpg_.webp\"]', '华为', '3');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -0,0 +1,2 @@
#Thu Dec 05 22:26:40 CST 2019
gradle.version=4.8.1

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>caipu</name>
<comment>Project caipu created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,2 @@
connection.project.dir=
eclipse.preferences.version=1

View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":app" />
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.1.0" />
<option name="LAST_KNOWN_AGP_VERSION" value="3.1.0" />
</configuration>
</facet>
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
<task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/rs/debug;file://$MODULE_DIR$/build/generated/res/resValues/debug" />
<option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/build" />
</content>
<orderEntry type="jdk" jdkName="Android API 26 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core:3.0.2@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:runner:1.0.2@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor:1.0.2@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-idling-resource:3.0.2@aar" level="project" />
<orderEntry type="library" name="Gradle: __local_aars__:/Applications/DeskTop/授课内容/17届课程/myshop_app/shop_android/app/libs/tbs_sdk_thirdapp_v3.6.0.1310_43612_sharewithdownload_withoutGame_obfs_20180706_163319.jar:unspecified@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-annotations:27.1.1@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.3@jar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.core:common:1.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout:1.1.3@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-v4:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-media-compat:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-fragment:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-core-ui:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.android.support:support-compat:26.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime:1.0.0@aar" level="project" />
</component>
</module>

View File

@@ -0,0 +1,36 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.cp.bmy.cp"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
ndk{
abiFilters "armeabi","armeabi-v7a","x86","mips"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -0,0 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

View File

@@ -0,0 +1,26 @@
package com.caipu.bmy.cp;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("com.cp.bmy.cp", appContext.getPackageName());
}
}

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.caipu.bmy.cp">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 硬件加速对X5视频播放非常重要建议开启 -->
<uses-permission android:name="android.permission.GET_TASKS" />
<application
android:name="com.caipu.bmy.cp.AppAplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:hardwareAccelerated="true"
android:theme="@style/AppTheme">
<activity
android:name="com.caipu.bmy.cp.MainActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,31 @@
package com.caipu.bmy.cp;
import android.app.Application;
import android.util.Log;
import com.tencent.smtt.sdk.QbSdk;
public class AppAplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
//搜集本地tbs内核信息并上报服务器服务器返回结果决定使用哪个内核。
QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
@Override
public void onViewInitFinished(boolean arg0) {
// TODO Auto-generated method stub
//x5內核初始化完成的回调为true表示x5内核加载成功否则表示x5内核加载失败会自动切换到系统内核。
Log.d("app", " onViewInitFinished is " + arg0);
}
@Override
public void onCoreInitFinished() {
// TODO Auto-generated method stub
}
};
//x5内核初始化接口
QbSdk.initX5Environment(getApplicationContext(), cb);
}
}

View File

@@ -0,0 +1,89 @@
package com.caipu.bmy.cp;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import com.tencent.smtt.export.external.interfaces.SslError;
import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
import com.tencent.smtt.sdk.WebSettings;
import android.widget.Toast;
import com.caipu.bmy.cp.utils.X5WebView;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
public class MainActivity extends Activity {
private X5WebView webView;
private long mExitTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (X5WebView) findViewById(R.id.web_filechooser);
webView.loadUrl("file:///android_asset/index.html");
// App刚打开的时候阻塞不让显示图片优先加载页面布局之后页面加载完成后显示图片
// 进而提高App显示速度
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
webView.getSettings().setBlockNetworkImage(false);
}
//加载https时候接受所有证书
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// 当用户在首页按下返回键提示用户再次按下退出app其他页面按下返回键
// 直接进行返回上一页
String Urls = webView.getUrl().toString();
Log.d("这是测试的信息-----", Urls);
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
if(Urls.indexOf("index.html") > -1) {
exit();
} else {
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.goBack();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
public void exit() {
String Urls = webView.getUrl().toString();
//if(Urls.indexOf("#/index") > -1) {
if ((System.currentTimeMillis() - mExitTime) > 2000) {
Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_SHORT).show();
mExitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
// } else {
// webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
// webView.goBack();
// }
}
/**
* 确保注销配置能够被释放
*/
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
if (this.webView != null) {
webView.destroy();
}
super.onDestroy();
}
}

View File

@@ -0,0 +1,60 @@
package com.caipu.bmy.cp.utils;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
public class X5WebView extends WebView {
TextView title;
private WebViewClient client = new WebViewClient() {
/**
* 防止加载网页时调起系统浏览器
*/
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
};
@SuppressLint("SetJavaScriptEnabled")
public X5WebView(Context arg0, AttributeSet arg1) {
super(arg0, arg1);
this.setWebViewClient(client);
// this.setWebChromeClient(chromeClient);
// WebStorage webStorage = WebStorage.getInstance();
initWebViewSettings();
this.getView().setClickable(true);
}
private void initWebViewSettings() {
WebSettings webSetting = this.getSettings();
webSetting.setJavaScriptEnabled(true);
webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
webSetting.setAllowFileAccess(true);
webSetting.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
webSetting.setSupportZoom(false);
webSetting.setBuiltInZoomControls(false);
webSetting.setUseWideViewPort(true);
webSetting.setSupportMultipleWindows(true);
webSetting.setLoadWithOverviewMode(true);
webSetting.setAppCacheEnabled(true);
webSetting.setDomStorageEnabled(true);
webSetting.setGeolocationEnabled(true);
webSetting.setAppCacheMaxSize(Long.MAX_VALUE);
webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);
webSetting.setRenderPriority(WebSettings.RenderPriority.HIGH);
webSetting.setCacheMode(WebSettings.LOAD_DEFAULT);
webSetting.setBlockNetworkImage(true);
}
public X5WebView(Context arg0) {
super(arg0);
setBackgroundColor(85621);
}
}

View File

@@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeColor="#00000000"
android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0"/>
<item
android:color="#00000000"
android:offset="1.0"/>
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeColor="#00000000"
android:strokeWidth="1"/>
</vector>

View File

@@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="1366dp"
android:height="1024dp"
android:viewportWidth="1366"
android:viewportHeight="1024">
<path
android:fillColor="#CF8F33"
android:pathData="M253.61,722.896 C234.942,757.446,260.525,813.924,293.921,845.31
C366.961,913.989,462.813,848.978,677.057,849.834
C893.814,850.704,989.884,918.038,1062.91,849.834
C1097.8,817.227,1122.53,758.329,1102.83,722.857
C1068.86,661.719,930.895,721.049,677.97,721.214
C425.698,721.391,286.235,662.549,253.612,722.899 Z" />
<path
android:fillColor="#000000"
android:pathData="M978.321,907.508 C948.757,907.508,916.001,902.264,878.788,896.312
C825.992,887.861,760.275,877.292,676.949,877.019
C595.432,876.693,530.664,886.257,478.588,893.947
C392.029,906.745,329.436,915.997,275.308,865.104
C233.122,825.432,204.523,756.563,229.712,709.974
C248.163,675.845,284.574,670.14,310.361,668.821
C341.611,667.219,381.214,671.714,431.28,677.408
C496.726,684.854,578.176,694.079,677.927,694.051
S858.789,684.622,924.017,677.109
C974.218,671.321,1013.86,666.742,1045.32,668.373
C1071.13,669.731,1107.56,675.438,1126.58,709.661
C1139.5,732.921,1140.36,763.707,1129.01,796.355
C1115.1,834.921,1090.15,866.692,1058,888.733
C1050.76,898.375,1017.33,907.491,978.321,907.505 Z M672.777,822.661
L677.138,822.661 C764.661,823.014,832.689,833.897,887.332,842.633
C972.261,856.219,1011.2,860.921,1044.34,829.97
C1073.24,803.015,1090.44,756.495,1079.01,736.033
C1077.04,732.487,1072.42,724.173,1042.45,722.61
C1015.54,721.252,977.874,725.557,930.198,731.061
C863.624,738.737,780.748,748.302,677.926,748.37 L676.853,748.37
C574.507,748.37,491.712,738.955,425.139,731.387
C348.702,722.718,288.284,715.857,277.523,735.817
C267.061,755.164,284.085,798.763,312.534,825.487
C346.08,857.036,385.276,852.782,470.706,840.147
C523.611,832.362,589.246,822.661,672.777,822.661 Z" />
<path
android:fillColor="#9A2700"
android:pathData="M257.946,580.483 C178.752,626.433,139.228,734.212,163.684,759.008
C185.98,781.602,248.382,719.037,371.759,690.343
C495.395,661.581,503.682,707.911,701.241,705.574
C913.256,703.075,944.234,649.232,1070.21,688.033
C1113.43,701.347,1163.67,724.295,1186.37,702.299
C1207.77,681.566,1200.92,624.721,1176.18,590.211
C1095.38,477.445,863.897,659.189,505.012,586.258
C413.507,567.686,333.593,536.601,257.944,580.484 Z" />
<path
android:fillColor="#731D00"
android:pathData="M207.199,695.275 C227.321,716.646,292.725,659.95,401.171,631.664
C508.707,603.594,524.807,638.321,696.539,636.487
C915.279,634.163,957.791,577.088,1086.47,618.825
C1132.45,633.77,1170.95,655.278,1198.79,670.97
C1201.06,645.523,1192.53,612.97,1176.18,590.173
C1175.47,589.195,1174.82,588.243,1174.03,587.306
Q1169.06,583.231,1163.91,579.439 C1138.04,559.991,1106.94,546.017,1073.12,539.86
C1016.2,530.148,805.234,647.221,504.975,586.232
C494.568,584.154,484.229,581.858,473.972,579.439
C395.266,561.463,324.93,541.56,257.949,580.404
C213.304,613.636,190.371,677.452,207.205,695.277 Z" />
<path
android:fillColor="#FFFFFF"
android:pathData="M379.963,493.885 C376.146,514.985,417.325,522.512,472.35,593.065
C542.619,683.156,547.293,762.894,574.249,761.536
C609.152,759.729,619.586,625.129,657.127,624.313
C680.36,623.811,687.628,675.126,712.831,675.942
C748.223,677.083,751.837,576.409,825.597,518.339
C888.094,469.129,960.183,482.606,960.102,474.863
C959.871,453.139,393.958,416.441,379.964,493.883 Z" />
<path
android:fillColor="#E4EEFB"
android:pathData="M768.874,590.09 C761.026,571.297,749.874,555.327,736.006,542.192
C756.025,598.757,747.008,626.232,732.545,650.034
C722.252,668.725,702.348,689.907,678.404,705.364
C735.681,676.389,745.313,635.073,768.873,590.089 Z M601.422,701.077
C591.137,725.533,588.407,742.95,575.989,746.849
C568.435,749.227,560.038,745.721,552.457,740.49
C559.359,754.198,565.676,761.984,574.195,761.549
C600.186,760.191,612.603,685.248,632.752,646.703
C608.775,678.327,591.734,716.517,584.625,758.095 Z" />
<path
android:fillColor="#6BE166"
android:pathData="M238.761,569.847 C177.962,621.557,153.058,706.037,171.44,722.693
C193.178,742.352,264.452,657.601,395.615,618.077
C501.997,586.027,511.208,620.984,684.243,614.802
C914.368,606.65,982.192,527.578,1119.01,581.393
C1157.42,596.502,1201,622.057,1210.04,610.726
C1219.48,598.838,1187.39,543.977,1139.39,514.153
C1063.75,467.118,989.94,507.985,808.018,520.742
C791.714,521.883,807.705,520.47,631.843,522.1
C338.662,524.79,287.034,528.784,238.762,569.842 Z" />
<path
android:fillColor="#5BBF57"
android:pathData="M556.872,522.891 C409.623,524.793,338.132,528.326,294.098,540.553
C294.514,553.018,298.715,564.426,305.576,573.753
C335.603,615.578,419.582,578.065,570.933,567.129
C706.471,557.374,717.734,581.817,880.988,575.05
C893.732,574.52,913.976,573.527,940.198,574.004
C1001.42,560.512,1051.96,554.984,1119.09,581.34
C1157.5,596.449,1201.08,622.004,1210.12,610.673
C1219.56,598.785,1187.47,543.924,1139.47,514.1
C1063.83,467.065,990.02,507.932,808.098,520.689
C714.27,533.297,629.41,530.132,556.872,522.89 Z" />
<path
android:fillColor="#F2A83C"
android:pathData="M289.641,541.6 C315.454,575.471,377.124,543.136,549.67,530.54
C692.178,520.133,831.002,528.964,871.897,531.898
C1027.38,543.148,1076.96,564.111,1105.49,531.218
C1143.53,487.402,1113.71,382.786,1061.35,317.165
C924.589,145.977,557.54,145.311,382.032,317.383
C311.383,386.674,256.887,498.531,289.645,541.599 Z" />
<path
android:fillColor="#CF8F33"
android:pathData="M286.924,536.166 C287.997,543.476,377.232,537.524,546.953,525.106
C689.46,514.699,828.286,523.531,869.18,526.464
C1038.58,538.692,1079.62,554.723,1102.77,525.784
C1160.87,453.219,997.49,219.751,971.39,230.783
C953.836,238.186,1021.48,346.349,973.686,415.082
C928.267,480.405,824.848,443.614,600.06,466.711
C428.111,484.387,285.563,526.804,286.922,536.165 Z" />
<path
android:fillColor="#000000"
android:pathData="M401.784,246.925 C401.777,246.925,401.768,246.925,401.761,246.925
C386.753,246.925,374.588,234.759,374.588,219.752
C374.588,210.241,379.474,201.872,386.872,197.017 L388.334,196.097
C392.487,193.39,397.569,191.782,403.027,191.782
C418.035,191.782,430.201,203.949,430.201,218.956
C430.201,228.505,425.275,236.905,417.825,241.751 L416.566,242.562
C412.409,245.297,407.314,246.923,401.837,246.923
C401.817,246.923,401.8,246.923,401.781,246.923 Z" />
<path
android:fillColor="#000000"
android:pathData="M1054.97,570.525 C1036.16,570.525,1013.2,567.931,983.171,564.533
C948.173,560.58,904.628,555.647,847.09,552.305
C698.102,543.663,555.934,551.653,509.21,554.276
C456.128,557.251,414.622,561.069,381.267,564.235
C340.304,568.053,313.24,570.581,291.474,569.099
C272.752,567.835,248.963,563.447,230.919,540.567
C206.206,509.237,204.846,458.479,227.143,397.733
C246.163,345.834,279.654,292.819,319.122,252.36
C324.064,247.29,330.96,244.144,338.591,244.144
C353.6,244.144,365.767,256.312,365.767,271.32
C365.767,278.697,362.827,285.389,358.054,290.285
C283.347,366.81,248.608,475.243,273.593,506.954
C282.519,518.271,306.933,516.613,376.211,510.147
C410.013,506.995,452.063,503.069,506.151,500.039
C553.704,497.321,698.154,489.251,850.226,498.068
C909.245,501.492,953.619,506.505,989.269,510.541
C1048.48,517.239,1072.85,519.521,1081.66,508.666
C1093.89,493.571,1092.53,458.723,1077.98,417.731
C1062.02,372.747,1032.24,324.95,998.309,289.87
C884.184,171.858,657.562,136.019,482.352,208.257
C479.29,209.555,475.73,210.307,471.993,210.307
C456.979,210.307,444.807,198.135,444.807,183.121
C444.807,171.843,451.673,162.17,461.454,158.053
C554.156,119.863,662.861,107.459,767.747,123.057
C876.86,139.293,972.616,185.106,1037.38,252.128
C1077.03,293.118,1110.49,346.879,1129.2,399.594
C1150.94,461.004,1149.09,511.925,1123.85,542.985
C1105.56,565.47,1081.41,569.343,1064.82,570.293 Q1060.09,570.538,1054.98,570.525
Z" />
<path
android:fillColor="#000000"
android:pathData="Z" />
<path
android:fillColor="#000000"
android:pathData="M739.478,376.618 C739.479,376.62,739.48,376.623,739.481,376.625
C746.366,392.907,762.306,401.727,775.083,396.324
C787.862,390.92,792.64,373.34,785.755,357.058
C785.754,357.055,785.753,357.053,785.752,357.051
C785.751,357.049,785.75,357.046,785.749,357.044
C778.864,340.762,762.924,331.942,750.146,337.345
C737.367,342.749,732.589,360.328,739.473,376.611
C739.474,376.614,739.475,376.616,739.476,376.618 Z" />
<path
android:fillColor="#000000"
android:pathData="M566.506,351.686 C566.507,351.687,566.507,351.688,566.508,351.689
C572.695,362.405,589.811,364.104,604.737,355.488
C619.664,346.87,626.749,331.197,620.563,320.481
C620.562,320.48,620.562,320.479,620.561,320.478
C620.561,320.477,620.56,320.476,620.559,320.475
C614.372,309.759,597.257,308.06,582.331,316.676
C567.404,325.294,560.319,340.967,566.505,351.683
S566.506,351.685,566.507,351.686 Z" />
<path
android:fillColor="#000000"
android:pathData="M835.993,353.969 C835.994,353.97,835.995,353.972,835.995,353.973
C840.624,361.992,853.228,363.383,864.144,357.08
C875.062,350.777,880.157,339.167,875.527,331.148
C875.526,331.147,875.525,331.145,875.525,331.144
C875.524,331.143,875.524,331.142,875.523,331.14
C870.894,323.121,858.29,321.73,847.374,328.033
C836.456,334.336,831.361,345.946,835.991,353.965
C835.992,353.966,835.993,353.968,835.993,353.969 Z" />
</vector>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<com.caipu.bmy.cp.utils.X5WebView
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:id="@+id/web_filechooser">
</com.caipu.bmy.cp.utils.X5WebView>
</RelativeLayout>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
</adaptive-icon>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#FFF</color>
<color name="colorPrimaryDark">#FFF</color>
<color name="colorAccent">#FFF</color>
</resources>

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