diff --git a/pages.json b/pages.json
index 0a7227a..aca20b4 100644
--- a/pages.json
+++ b/pages.json
@@ -70,6 +70,12 @@
"style": {
"navigationBarTitleText": "订单详情"
}
+ },
+ {
+ "path": "user/infoFilling",
+ "style": {
+ "navigationBarTitleText": ""
+ }
}
]
}],
diff --git a/static/js/mmmm-image-tools/index.js b/static/js/mmmm-image-tools/index.js
new file mode 100644
index 0000000..acf40bc
--- /dev/null
+++ b/static/js/mmmm-image-tools/index.js
@@ -0,0 +1,196 @@
+function getLocalFilePath(path) {
+ if (path.indexOf('_www') === 0 || path.indexOf('_doc') === 0 || path.indexOf('_documents') === 0 || path.indexOf('_downloads') === 0) {
+ return path
+ }
+ if (path.indexOf('file://') === 0) {
+ return path
+ }
+ if (path.indexOf('/storage/emulated/0/') === 0) {
+ return path
+ }
+ if (path.indexOf('/') === 0) {
+ var localFilePath = plus.io.convertAbsoluteFileSystem(path)
+ if (localFilePath !== path) {
+ return localFilePath
+ } else {
+ path = path.substr(1)
+ }
+ }
+ return '_www/' + path
+}
+
+function dataUrlToBase64(str) {
+ var array = str.split(',')
+ return array[array.length - 1]
+}
+
+var index = 0
+function getNewFileId() {
+ return Date.now() + String(index++)
+}
+
+function biggerThan(v1, v2) {
+ var v1Array = v1.split('.')
+ var v2Array = v2.split('.')
+ var update = false
+ for (var index = 0; index < v2Array.length; index++) {
+ var diff = v1Array[index] - v2Array[index]
+ if (diff !== 0) {
+ update = diff > 0
+ break
+ }
+ }
+ return update
+}
+
+export function pathToBase64(path) {
+ return new Promise(function(resolve, reject) {
+ if (typeof window === 'object' && 'document' in window) {
+ if (typeof FileReader === 'function') {
+ var xhr = new XMLHttpRequest()
+ xhr.open('GET', path, true)
+ xhr.responseType = 'blob'
+ xhr.onload = function() {
+ if (this.status === 200) {
+ let fileReader = new FileReader()
+ fileReader.onload = function(e) {
+ resolve(e.target.result)
+ }
+ fileReader.onerror = reject
+ fileReader.readAsDataURL(this.response)
+ }
+ }
+ xhr.onerror = reject
+ xhr.send()
+ return
+ }
+ var canvas = document.createElement('canvas')
+ var c2x = canvas.getContext('2d')
+ var img = new Image
+ img.onload = function() {
+ canvas.width = img.width
+ canvas.height = img.height
+ c2x.drawImage(img, 0, 0)
+ resolve(canvas.toDataURL())
+ canvas.height = canvas.width = 0
+ }
+ img.onerror = reject
+ img.src = path
+ return
+ }
+ if (typeof plus === 'object') {
+ plus.io.resolveLocalFileSystemURL(getLocalFilePath(path), function(entry) {
+ entry.file(function(file) {
+ var fileReader = new plus.io.FileReader()
+ fileReader.onload = function(data) {
+ resolve(data.target.result)
+ }
+ fileReader.onerror = function(error) {
+ reject(error)
+ }
+ fileReader.readAsDataURL(file)
+ }, function(error) {
+ reject(error)
+ })
+ }, function(error) {
+ reject(error)
+ })
+ return
+ }
+ if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) {
+ wx.getFileSystemManager().readFile({
+ filePath: path,
+ encoding: 'base64',
+ success: function(res) {
+ resolve('data:image/png;base64,' + res.data)
+ },
+ fail: function(error) {
+ reject(error)
+ }
+ })
+ return
+ }
+ reject(new Error('not support'))
+ })
+}
+
+export function base64ToPath(base64) {
+ return new Promise(function(resolve, reject) {
+ if (typeof window === 'object' && 'document' in window) {
+ base64 = base64.split(',')
+ var type = base64[0].match(/:(.*?);/)[1]
+ var str = atob(base64[1])
+ var n = str.length
+ var array = new Uint8Array(n)
+ while (n--) {
+ array[n] = str.charCodeAt(n)
+ }
+ return resolve((window.URL || window.webkitURL).createObjectURL(new Blob([array], { type: type })))
+ }
+ var extName = base64.split(',')[0].match(/data\:\S+\/(\S+);/)
+ if (extName) {
+ extName = extName[1]
+ } else {
+ reject(new Error('base64 error'))
+ }
+ var fileName = getNewFileId() + '.' + extName
+ if (typeof plus === 'object') {
+ var basePath = '_doc'
+ var dirPath = 'uniapp_temp'
+ var filePath = basePath + '/' + dirPath + '/' + fileName
+ if (!biggerThan(plus.os.name === 'Android' ? '1.9.9.80627' : '1.9.9.80472', plus.runtime.innerVersion)) {
+ plus.io.resolveLocalFileSystemURL(basePath, function(entry) {
+ entry.getDirectory(dirPath, {
+ create: true,
+ exclusive: false,
+ }, function(entry) {
+ entry.getFile(fileName, {
+ create: true,
+ exclusive: false,
+ }, function(entry) {
+ entry.createWriter(function(writer) {
+ writer.onwrite = function() {
+ resolve(filePath)
+ }
+ writer.onerror = reject
+ writer.seek(0)
+ writer.writeAsBinary(dataUrlToBase64(base64))
+ }, reject)
+ }, reject)
+ }, reject)
+ }, reject)
+ return
+ }
+ var bitmap = new plus.nativeObj.Bitmap(fileName)
+ bitmap.loadBase64Data(base64, function() {
+ bitmap.save(filePath, {}, function() {
+ bitmap.clear()
+ resolve(filePath)
+ }, function(error) {
+ bitmap.clear()
+ reject(error)
+ })
+ }, function(error) {
+ bitmap.clear()
+ reject(error)
+ })
+ return
+ }
+ if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) {
+ var filePath = wx.env.USER_DATA_PATH + '/' + fileName
+ wx.getFileSystemManager().writeFile({
+ filePath: filePath,
+ data: dataUrlToBase64(base64),
+ encoding: 'base64',
+ success: function() {
+ resolve(filePath)
+ },
+ fail: function(error) {
+ reject(error)
+ }
+ })
+ return
+ }
+ reject(new Error('not support'))
+ })
+}
\ No newline at end of file
diff --git a/static/js/mmmm-image-tools/package.json b/static/js/mmmm-image-tools/package.json
new file mode 100644
index 0000000..e8b9c0a
--- /dev/null
+++ b/static/js/mmmm-image-tools/package.json
@@ -0,0 +1,11 @@
+{
+ "id": "mmmm-image-tools",
+ "name": "image-tools",
+ "version": "1.4.0",
+ "description": "图像转换工具,可用于图像和base64的转换",
+ "keywords": [
+ "base64",
+ "保存",
+ "图像"
+ ]
+}
\ No newline at end of file
diff --git a/store/modules/user.js b/store/modules/user.js
index d15a45e..5fd7217 100644
--- a/store/modules/user.js
+++ b/store/modules/user.js
@@ -18,7 +18,10 @@ export default {
date: null, //使用日期信息
coupon: null, // 优惠券信息
people: null, //预定人信息
- } // 会议预定信息
+ }, // 会议预定信息
+
+ lingoIds: [],// 语言列表
+ scenicIds: [], // 景区列表
},
// 类似 vue 里的 mothods(同步方法)
mutations: {
@@ -64,6 +67,13 @@ export default {
//meetRoomReserve修改会议预定信息
changeMeetRoomReserve(state, data){
state.meetRoomReserve = data
- }
+ },
+
+ changeLingoIds(state, date) {
+ state.groupIds = data
+ },
+ changeScenicIds(state, date) {
+ state.groupIds = data
+ },
}
}
diff --git a/subPackages/user/infoFilling.vue b/subPackages/user/infoFilling.vue
new file mode 100644
index 0000000..b510575
--- /dev/null
+++ b/subPackages/user/infoFilling.vue
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+
+
+
+
+
+
diff --git a/subPackages/user/register.vue b/subPackages/user/register.vue
index 02409e3..4606dc0 100644
--- a/subPackages/user/register.vue
+++ b/subPackages/user/register.vue
@@ -1,8 +1,499 @@
+
+
+
+
+ ·基础信息
+
+
+ 姓名
+ {{info.nickname}}
+ 请填写
+
+
+ 性别
+ {{info.genderStr}}
+ 请选择
+
+
+ 手机号
+ {{info.mobile}}
+ 请填写
+
+
+ ·工作相关
+
+ 导游等级
+ {{info.group_idStr}}
+ 请选择
+
+
+ 导游证号
+ {{info.certificate_number}}
+ 请填写
+
+
+ 工作年限
+ {{info.duration}}
+ 请填写
+
+
+ 语言能力
+ {{info.lingo_idsStr}}
+ 请选择
+
+
+ 擅长景区
+ {{info.scenic_idsStr}}
+ 请选择
+
+
+ 个性签名
+ {{info.bio}}
+ 请填写
+
+
+ 核心亮点
+ {{info.bio}}
+ 请填写
+
+
+ ·讲解视频
+
+ 讲解视频
+ {{info.rankStr}}
+ 请选择
+
+
+ 我已填好
+
+
+
-
\ No newline at end of file
+