快速安装教程

一、导入商城到HbuilderX

以下导入项目方式,任选一种即可

  1. 从HbuilderX编辑器新建项目
  2. 从插件市场导入
    云上商城在新窗口打开点击“导入插件并试用”或者“导入源码授权”,同意付费插件试用协议,选择绑定的服务空间,跳过在线安装,继续导入到HbuilderX

二、运行安装向导


耐心等待上传公共模块、普通云函数、action、默认数据(db_init.json)以及database下的schema,
如果遇到提示覆盖公共模块,则选择“替换

如果遇到提示覆盖数据库,则选择“跳过

三、修改uni-id配置

微信小程序登录

  • 如果发布微信小程序才需要修改此配置,找到文件/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json,修改mp-weixin/oauth/weixin里面的appid和appsecret
    ⚠️mp-weixin表示微信小程序平台独有配置
    "mp-weixin": {
    		"oauth": {
    			"weixin": {
    				"appid": "修改为你的小程序appid",
    				"appsecret": "修改为你的小程序appsecret"
    			}
    		}
    	},
    
  • 微信小程序后台配置合法域名
    request合法域名
    https://apis.map.qq.com;https://cos.ap-shanghai.myqcloud.com;https://tcb-api.tencentcloudapi.com;https://at.alicdn.com;https://api.next.bspapp.com;  
    
    uploadFile合法域名,阿里云正式版填写“总览”里面的云存储上传域名;腾讯云需要在微信开发工具中,关闭“不校验域名”选项,再在页面上上传图片,提示系统xxx.ap-shanghai...com不在白名单内,这个域名就是你要添加的
    https://cos.ap-shanghai.myqcloud.com;https://file-unirlhsrdn-mp-75aexxx-xxx.oss-cn-zhangjiakou.aliyuncs.com;https://7463-tcb-xxx-xxx-xxx.cos.ap-shanghai.myqcloud.com  
    
    download合法域名,阿里云正式版还需要填写“总览”里面的云存储下载域名;腾讯云上传完成一张图后,查看图片的域名
    https://cos.ap-shanghai.myqcloud.com;https://mp-75aexxx-d2c1-4670-b6f6-377990c3f4d8.cdn.bspapp.com  
    
    关闭“不校验域名”选项后提示报跨域问题,就把报错的域名一并加上
  • 到微信后台申请小程序接口在新窗口打开,“wx.chooseLocation”,“wx.getFuzzyLocation”
  • 修改项目根目录下的manifest.json,找到“微信小程序配置”修改“微信小程序APPID”

APP手机号一键登录

如果发布app才需要修改此配置,配置之前需要在一键登录管理后台在新窗口打开申请权限,充值10元钱,添加当前应用到已开通应用列表,安全配置里面,选择自己的服务空间,再找到文件/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json修改service/univerify配置
⚠️必须遵循json格式

"service": {
		"univerify": {
			"appid": "your appid,例如:__UNI__D98D49B"
		}
	}

更多帮助请查看官方文档在新窗口打开

APP短信登录

如果您需要发布应用,那么您需要修改此配置。在用户未选择一键登录功能时,登录界面将默认采用手机号+验证码的方式进行登录。在进行配置之前,您需要首先访问短信管理后台在新窗口打开以申请相应的权限,并充值10元人民币。然后,您可以申请短信签名和短信模板。在安全配置部分,您需要选择自己的服务空间。 找到文件/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json,修改service/sms配置
⚠️必须遵循json格式

"service": {
		"sms": {
			"name": "柔然科技",
			"codeExpiresIn": 180
		}
	}

短信登录模板

如果发布app才需要修改此配置
添加模板
签名内容「选择申请的签名」
模板类型「验证类」
模板名称「登录验证码」
模板内容「验证码:${code},${expMinute}分钟内有效,请勿泄露并尽快验证。」
使用场景「注册登录app」 再修改短信登录模板ID,找到文件/uniCloud/cloudfunctions/common/configs/config.json,修改service/sms
⚠️必须遵循json格式

"service": {
		"sms": {
			"templateId": {
				"login": "10190"
			}
		}
	},

特别注意:
如果您的App还未上架应用市场,在这里是没办法申请成功的,可以选择先使用企业签名,然后在上架应用市场之后,再修改为应用签名,例如:

  1. 假如公司名称是“重庆某某某科技有限公司”,您可以用营业执照申请企业签名“某某某科技”,
  2. 然后在App上架之后,再修改为应用签名“某某某”
  3. 用新的签名再次申请模板
  4. 修改service.sms.templateId.login为您的新模板ID

更多帮助请查看官方文档在新窗口打开

四、修改uni-pay配置

微信小程序支付

⚠️仅发布微信小程序需要配置此项
找到文件配置文件/uniCloud/cloudfunctions/common/configs/config.json,修改mp-weixin/payment/weixin下配置,payment直接子项表示再微信小程序平台支持的支付方式,目前配置支持微信支付/余额付款/货到付款,可以根据实际需求删除任意一项

"mp-weixin": {
		"payment": {
			"wxpay": {
				"uniPay": "initWeixin",
				"name": "微信",
				"payName": "微信支付",
				"appId": "修改为小程序appid",
				"mchId": "修改为微信商户号ID",
				"sub_appid": false,
				"sub_mch_id": false,
				"v3Key":"修改为ApiV3的key",
				"appCertPath":"apiclient_cert.pem,实际文件放到cert目录下",
				"appPrivateKeyPath":"apiclient_key.pem,实际文件放到cert目录下",
				"key": "修改为ApiV2的key",
				"pfx": "application.p12,实际文件放到cert目录下"
			},
			"balance": {
				"uniPay": "initBalance",
				"name": "余额",
				"payName": "余额支付"
			},
			"delivery": {
				"uniPay": "initDelivery",
				"name": "货到付款"
			}
		}
	}

APP支付

⚠️仅发布移动APP才需要配置此项
找到文件配置文件/uniCloud/cloudfunctions/common/configs/config.json,修改app/payment/weixin下配置,payment直接子项表示在APP支持的支付方式,目前配置支持微信支付/余额付款/货到付款,可以根据实际需求删除任意一项

"app": {
		"payment": {
			"alipay": {
				"uniPay": "initAlipay",
				"name": "支付宝",
				"payName": "支付宝支付",
				"appId": "201916540934089",
				"mchId": "15295677371",
				"privateKey": "MIIEvgIBADANBgkqhki",
				"alipayPublicKey": "MIIBIjANBgkqhkiG"
			},
			"wxpay": {
				"uniPay": "initWeixin",
				"name": "微信",
				"payName": "微信支付",
				"appId": "修改为小程序appid",
				"mchId": "修改为微信商户号ID",
				"sub_appid": false,
				"sub_mch_id": false,
				"v3Key":"修改为ApiV3的key",
				"appCertPath":"apiclient_cert.pem,实际文件放到cert目录下",
				"appPrivateKeyPath":"apiclient_key.pem,实际文件放到cert目录下",
				"key": "修改为ApiV2的key",
				"pfx": "application.p12,实际文件放到cert目录下"
			},
			"balance": {
				"uniPay": "initBalance",
				"name": "余额",
				"payName": "余额支付"
			},
			"delivery": {
				"uniPay": "initDelivery",
				"name": "货到付款"
			}
		}
	},

修改支付回调域名

找到文件配置文件/uniCloud/cloudfunctions/common/configs/config.json,找到“domain”节点,设置为云函数URL化的域名部分,包含https前缀,结尾不包含斜杠,系统默认拼接空间云函数的访问域名,阿里云空间例如:https://fc-mp-871234b4-17df-48d2-938d-59c80567855.next.bspapp.com,如果手动绑定了访问域名,则必须修改此参数

五、修改云打印机配置

目前只支持飞蛾云和易联云

  1. 飞蛾云打印机
    找到文件配置文件/uniCloud/cloudfunctions/common/configs/config.json,设置printer/feieyun配置,需要在飞蛾云官网在新窗口打开申请开发者,获得clientId(对应:USER)和clientSecret(对应:UKEY),购买机型必须是支持远程打印方式
    "printer": {
    		"feieyun": {
    			"clientId": "wcj343169893@163.com",
    			"clientSecret": "wHpTVEJAaPjMDmXT"
    		}
    	}
    

参数说明

参数key名称说明示例
clientId飞蛾云clientId请参考飞蛾云官方文档
clientSecret飞蛾云clientSecret请参考飞蛾云官方文档
  1. 易联云打印机
    找到文件配置文件/uniCloud/cloudfunctions/common/configs/config.json,设置printer/yilianyun配置,需要在易联云官网在新窗口打开申请开发者,获得clientId和clientSecret,购买机型必须是支持远程打印方式
    "printer": {
    		"yilianyun": {
    			"clientId": "1053604898",
    			"clientSecret": "99817dd9d312345981ccedd2b214"
    		}
    	}
    

参数说明

参数key名称说明示例
clientId易联云clientId请参考易联云官方文档1053604898
clientSecret易联云clientSecret请参考易联云官方文档99817dd9d312345981ccedd2b214

六、修改快递查询

申请开通快递100在新窗口打开实时查询权限,获得授权key和customer,填写到/uniCloud/cloudfunctions/common/configs/config.json文件的express节点中 ,从企业信息页面在新窗口打开中,可以获得所有配置参数

"express": {
		"api": "kuai100",
		"key": "Npwhb1238996",
		"customer": "27076456710A847DD9D03B5FE27019C3",
		"secret": "8b264a40de876dfae0e1f34c11b646b",
		"userid": "33ef8693e23231b0b3e41eb7389a986d",
		"partnerId": "",
		"partnerKey": "",
		"tempid": "",
		"siid": "",
		"expires": 21600
	}

参数说明

参数key名称说明示例
api快递查询接口kuai100kuai100
key快递查询key请参考快递100官方文档Npwhb1238996
customer快递查询customer请参考快递100官方文档27076456710A847DD9D03B5FE27019C3
secret快递查询secret请参考快递100官方文档8b264a40de876dfae0e1f34c11b646b
userid快递查询userid请参考快递100官方文档33ef8693e23231b0b3e41eb7389a986d
partnerId快递查询partnerId请参考快递100官方文档
partnerKey快递查询partnerKey请参考快递100官方文档
tempid快递查询tempid请参考快递100官方文档
siid快递查询siid请参考快递100官方文档
expires快递查询expires请参考快递100官方文档21600

七、修改同城配置

目前支持第三方配送接口「餐厅宝」、微信同城配送在新窗口打开微信及时配送在新窗口打开
餐厅宝只能联系客服开通接口,如有需要请联系我们协助完成,微信同城配送和及时配送到小程序后台-->支付与交易-->物流服务在新窗口打开开通并按官方提示完成配置

"delivery": {
		"cantingbao": {
			"key": "84Qrm9NwS...ldcak9LJpX",
			"secret": "XYEUJBW...GV81832",
			"product": false
		},
		"jishi": {
			"product": false,
			"cargo_first_class": "日用百货",
			"cargo_second_class": "便利店",
			"UU": {
				"key": "cc166deb5f4...9890d94337fc7ce6a",
				"secret": "db4cf9f3...a9484f495b789c9bf1e",
				"shopNo": "3243...47393"
			},
			"SFTC": {
				"key": "166...525",
				"secret": "6585c25657...5b3f219ba0217",
				"shopNo": "3243...847393"
			}
		},
		"tongcheng": {
			"product": false,
			"encrypt": {
				"type": "AES256",
				"sn": "d886bab9c619909...0fb2839",
				"key": "ri0pWeDbnu2pY+B...OR9wvgsMVRO/9AXPzc="
			},
			"sign": {
				"type": "RSA",
				"sn": "78dce0f01c1800d...6ff0a0553",
				"key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAxNyHj3/R+E...H9gUS7vR8Kmosw2YW6J5L3NIfUXqAN0Ap\n-----END RSA PRIVATE KEY-----",
				"certificate": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgk...EQIDAQAB\n-----END PUBLIC KEY-----"
			},
			"verifySign": {
				"type": "RSA",
				"sn": "16f007dfff8e99...efe246eb710",
				"certificate": "-----BEGIN CERTIFICATE-----\nMIID9D...NWN/G0A=\n-----END CERTIFICATE-----"
			}
		}
	}

参数说明

参数key名称说明示例
cantingbao.key餐厅宝专用配置key联系我们协助申请84Qrm9NwS...ldcak9LJpX
cantingbao.secret餐厅宝专用配置secret联系我们协助申请XYEUJBW...GV81832
cantingbao.product餐厅宝是否为生产环境true/falsefalse
jishi.product及时配送是否为生产环境true/falsefalse
jishi.cargo_first_class及时配送商品一级分类请参考微信官方文档日用百货
jishi.cargo_second_class及时配送商品二级分类请参考微信官方文档便利店
jishi.UU.keyUU配送key请参考微信官方文档cc166deb5f4...9890d94337fc7ce6a
jishi.UU.secretUU配送secret请参考微信官方文档db4cf9f3...a9484f495b789c9bf1e
jishi.UU.shopNoUU配送商户号请参考微信官方文档3243...47393
jishi.SFTC.key顺丰同城key请参考微信官方文档166...525
jishi.SFTC.secret顺丰同城secret请参考微信官方文档6585c25657...5b3f219ba0217
jishi.SFTC.shopNo顺丰同城商户号请参考微信官方文档3243...847393
tongcheng.product微信同城配送是否为生产环境true/falsefalse
tongcheng.encrypt.type同城配送加密方式AES256AES256
tongcheng.encrypt.sn同城配送加密sn请参考微信官方文档d886bab9c619909...0fb2839
tongcheng.encrypt.key同城配送加密key请参考微信官方文档ri0pWeDbnu2pY+B...OR9wvgsMVRO/9AXPzc=
tongcheng.sign.type同城配送签名方式RSARSA
tongcheng.sign.sn同城配送签名sn请参考微信官方文档78dce0f01c1800d...6ff0a0553
tongcheng.sign.key同城配送签名key请参考微信官方文档-----BEGIN...END RSA PRIVATE KEY-----
tongcheng.sign.certificate同城配送签名certificate请参考微信官方文档-----BEGIN... END PUBLIC KEY-----
tongcheng.verifySign.type同城配送验签方式RSARSA
tongcheng.verifySign.sn同城配送验签sn请参考微信官方文档16f007dfff8e99...efe246eb710
tongcheng.verifySign.certificate同城配送验签certificate请参考微信官方文档-----BEGIN...END CERTIFICATE-----

八、修改app推送

店主如果需要接收新订单通知,必须打包app端,并获得管理员权限+店铺权限,开发配置修改如下,所需参数从unipush在新窗口打开中获得

"push": {
		"default": {
			"appId": "N5wQHWUK234POOTCnGtFU8",
			"appkey": "t318VmJI4584991gl61VY4",
			"appSecret": "wF9Sq78vk3ANRMoMtrbPm1",
			"mastersecret": "udzQ23231wLwWAQEeozJgYZ15",
			"packageName": "com.baidu.xxx"
		}
	}

九、导入后台项目

  1. 从插件市场下载云上商城后台管理系统在新窗口打开并导入HBuilderX
  2. 选择前端一致的云空间
  3. 选择需要上传的资源,开始部署系统
  4. 如果遇到提示覆盖uni-admin,则点击替换
  5. 如果遇到提示覆盖公共模块,则点击跳过
  6. 如果遇到提示覆盖数据库表,则直接点击覆盖选中的表并继续
  7. 本地运行后端系统
  8. 后台运行时,必须选择“连接云端云函数”,否则造成创建的admin无法中将来的正式版后台登录
  9. 在登录界面点击创建管理员,只有在本地调试的时候,才有创建会员的链接
  10. 在创建管理员界面,填写admin和密码,点击“创建”完成超级管理员账号,如果提示管理员已存在,则需要手动删除数据库中uni-id-users表中的admin账户
  11. 如果遇到“未找到集合[cloud_shops]对应的schema” 后端主要使用client-db直连数据库,需要schema来管理查询权限,所以需要上传操作表对应的schema文件,此文件中uniCloud/database目录下,cloud_shops是数据库表名,如果后端代码找不到cloud_shops.schema.json,则在前端系统中找一找,然后上传到云空间,也可以在database目录上,右键上传所有DB schema,这样能保证所有的依赖都能上传。

⚠️后端的云函数/schema/uni-clientDB-actions,要以前端为准,由于使用同一个云空间,需要共用这些文件,后端同名称文件不能替换前端的,否则出现配置错误问题,如果已经覆盖,则再次上传前端代码中的云函数/schema/uni-clientDB-actions

激活移动端管理员权限

后台系统管理--用户管理--选择需要开通管理权限的用户--点击修改--勾选角色列表和管理店铺--提交,即可赋予管理员权限,前端用户需要重新登录才能刷新权限(右上角三个点-->重新进入小程序)

常见问题及解决方案

  1. 文件查找失败:'vue-jsonp'
    报错原因:项目h5版本使用了jsonp跨域访问接口功能
    解决办法:
    • 办法一:项目根目录cmd执行npm install vue-jsonp,安装此扩展
    • 办法二:新建一个空文件夹,依次执行npm init -y npm install vue-jsonp,然后复制“node_modules”到项目根目录
    • 办法三:直接下载node_modules.zip压缩包,然后解压到项目根目录